IyEvdXNyL2Jpbi9lbnYgcGVybAojCiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIyBXcml0dGVuIGJ5IEFuZHkgUG9seWFrb3YgPGFwcHJvQG9wZW5zc2wub3JnPiBmb3IgdGhlIE9wZW5TU0wKIyBwcm9qZWN0LiBUaGUgbW9kdWxlIGlzLCBob3dldmVyLCBkdWFsIGxpY2Vuc2VkIHVuZGVyIE9wZW5TU0wgYW5kCiMgQ1JZUFRPR0FNUyBsaWNlbnNlcyBkZXBlbmRpbmcgb24gd2hlcmUgeW91IG9idGFpbiBpdC4gRm9yIGZ1cnRoZXIKIyBkZXRhaWxzIHNlZSBodHRwOi8vd3d3Lm9wZW5zc2wub3JnL35hcHByby9jcnlwdG9nYW1zLy4KIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQojCiMgU0hBNTEyIGJsb2NrIHRyYW5zZm9ybSBmb3IgeDg2LiBTZXB0ZW1iZXIgMjAwNy4KIwojIE1heSAyMDEzLgojCiMgQWRkIFNTU0UzIGNvZGUgcGF0aCwgMjAtMjUlIGltcHJvdmVtZW50IFtvdmVyIG9yaWdpbmFsIFNTRTIgY29kZV0uCiMKIyBQZXJmb3JtYW5jZSBpbiBjbG9jayBjeWNsZXMgcGVyIHByb2Nlc3NlZCBieXRlIChsZXNzIGlzIGJldHRlcik6CiMKIwkJZ2NjCWljYwl4ODYgYXNtCVNJTUQoKikJeDg2XzY0KCoqKQojIFBlbnRpdW0JMTAwCTk3CTYxCS0JLQojIFBJSUkJCTc1CTc3CTU2CS0JLQojIFA0CQkxMTYJOTUJODIJMzQuNgkzMC44CiMgQU1EIEs4CTU0CTU1CTM2CTIwLjcJOS41NwojIENvcmUyCQk2Ngk1Nwk0MAkxNS45CTkuOTcKIyBXZXN0bWVyZQk3MAktCTM4CTEyLjIJOS41OAojIFNhbmR5IEJyaWRnZQk1OAktCTM1CTExLjkJMTEuMgojIEl2eSBCcmlkZ2UJNTAJLQkzMwkxMS41CTguMTcKIyBIYXN3ZWxsCTQ2CS0JMjkJMTEuMwk3LjY2CiMgQnVsbGRvemVyCTEyMQktCTUwCTE0LjAJMTMuNQojIFZJQSBOYW5vCTkxCS0JNTIJMzMJMTQuNwojIEF0b20JCTEyNgktCTY4CTQ4KCoqKikJMTQuNwojCiMgKCopCXdoaWNoZXZlciBiZXN0IGFwcGxpY2FibGUuCiMgKCoqKQl4ODZfNjQgYXNzZW1ibGVyIHBlcmZvcm1hbmNlIGlzIHByZXNlbnRlZCBmb3IgcmVmZXJlbmNlCiMJcHVycG9zZXMsIHRoZSByZXN1bHRzIGFyZSBmb3IgaW50ZWdlci1vbmx5IGNvZGUuCiMgKCoqKikJcGFkZHEgaXMgaW5jcmVhZGlibHkgc2xvdyBvbiBBdG9tLgojCiMgSUFMVSBjb2RlLXBhdGggaXMgb3B0aW1pemVkIGZvciBlbGRlciBQZW50aXVtcy4gT24gdmFuaWxsYSBQZW50aXVtCiMgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb3ZlciBjb21waWxlciBnZW5lcmF0ZWQgY29kZSByZWFjaGVzIH42MCUsCiMgd2hpbGUgb24gUElJSSAtIH4zNSUuIE9uIG5ld2VyILUtYXJjaHMgaW1wcm92ZW1lbnQgdmFyaWVzIGZyb20gMTUlCiMgdG8gNTAlLCBidXQgaXQncyBsZXNzIGltcG9ydGFudCBhcyB0aGV5IGFyZSBleHBlY3RlZCB0byBleGVjdXRlIFNTRTIKIyBjb2RlLXBhdGgsIHdoaWNoIGlzIGNvbW1vbmx5IH4yLTN4IGZhc3RlciBbdGhhbiBjb21waWxlciBnZW5lcmF0ZWQKIyBjb2RlXS4gU1NFMiBjb2RlLXBhdGggaXMgYXMgZmFzdCBhcyBvcmlnaW5hbCBzaGE1MTItc3NlMi5wbCwgZXZlbgojIHRob3VnaCBpdCBkb2VzIG5vdCB1c2UgMTI4LWJpdCBvcGVyYXRpb25zLiBUaGUgbGF0dGVyIG1lYW5zIHRoYXQKIyBTU0UyLWF3YXJlIGtlcm5lbCBpcyBubyBsb25nZXIgcmVxdWlyZWQgdG8gZXhlY3V0ZSB0aGUgY29kZS4gQW5vdGhlcgojIGRpZmZlcmVuY2UgaXMgdGhhdCBuZXcgY29kZSBvcHRpbWl6ZXMgYW1vdW50IG9mIHdyaXRlcywgYnV0IGF0IHRoZQojIGNvc3Qgb2YgaW5jcmVhc2VkIGRhdGEgY2FjaGUgImZvb3RwcmludCIgYnkgMS8yS0IuCgokMCA9fiBtLyguKltcL1xcXSlbXlwvXFxdKyQvOyAkZGlyPSQxOwpwdXNoKEBJTkMsIiR7ZGlyfSIsIiR7ZGlyfS4uLy4uL3Blcmxhc20iKTsKcmVxdWlyZSAieDg2YXNtLnBsIjsKCiZhc21faW5pdCgkQVJHVlswXSwic2hhNTEyLTU4Ni5wbCIsJEFSR1ZbJCNBUkdWXSBlcSAiMzg2Iik7Cgokc3NlMj0wOwpmb3IgKEBBUkdWKSB7ICRzc2UyPTEgaWYgKC8tRE9QRU5TU0xfSUEzMl9TU0UyLyk7IH0KCiZleHRlcm5hbF9sYWJlbCgiT1BFTlNTTF9pYTMyY2FwX1AiKSBpZiAoJHNzZTIpOwoKJFRsbz0mRFdQKDAsImVzcCIpOwkkVGhpPSZEV1AoNCwiZXNwIik7CiRBbG89JkRXUCg4LCJlc3AiKTsJJEFoaT0mRFdQKDgrNCwiZXNwIik7CiRCbG89JkRXUCgxNiwiZXNwIik7CSRCaGk9JkRXUCgxNis0LCJlc3AiKTsKJENsbz0mRFdQKDI0LCJlc3AiKTsJJENoaT0mRFdQKDI0KzQsImVzcCIpOwokRGxvPSZEV1AoMzIsImVzcCIpOwkkRGhpPSZEV1AoMzIrNCwiZXNwIik7CiRFbG89JkRXUCg0MCwiZXNwIik7CSRFaGk9JkRXUCg0MCs0LCJlc3AiKTsKJEZsbz0mRFdQKDQ4LCJlc3AiKTsJJEZoaT0mRFdQKDQ4KzQsImVzcCIpOwokR2xvPSZEV1AoNTYsImVzcCIpOwkkR2hpPSZEV1AoNTYrNCwiZXNwIik7CiRIbG89JkRXUCg2NCwiZXNwIik7CSRIaGk9JkRXUCg2NCs0LCJlc3AiKTsKJEs1MTI9ImVicCI7CgokQXNzZTI9JlFXUCgwLCJlc3AiKTsKJEJzc2UyPSZRV1AoOCwiZXNwIik7CiRDc3NlMj0mUVdQKDE2LCJlc3AiKTsKJERzc2UyPSZRV1AoMjQsImVzcCIpOwokRXNzZTI9JlFXUCgzMiwiZXNwIik7CiRGc3NlMj0mUVdQKDQwLCJlc3AiKTsKJEdzc2UyPSZRV1AoNDgsImVzcCIpOwokSHNzZTI9JlFXUCg1NiwiZXNwIik7CgokQT0ibW0wIjsJIyBCLUQgYW5kCiRFPSJtbTQiOwkjIEYtSCBhcmUgY29tbW9ubHkgbG9hZGVkIHRvIHJlc3BlY3RpdmVseSBtbTEtbW0zIGFuZAoJCSMgbW01LW1tNywgYnV0IGl0J3MgZG9uZSBvbiBvbi1kZW1hbmQgYmFzaXMuLi4KJEJ4Qz0ibW0yIjsJIyAuLi4gZXhjZXB0IGZvciBCXkMKCnN1YiBCT0RZXzAwXzE1X3NzZTIgewogICAgbXkgJHBoYXNlPXNoaWZ0OwoKCSMmbW92cQkoIm1tNSIsJEZzc2UyKTsJCQkjIGxvYWQgZgoJIyZtb3ZxCSgibW02IiwkR3NzZTIpOwkJCSMgbG9hZCBnCgoJJm1vdnEJKCJtbTEiLCRFKTsJCQkjICVtbTEgaXMgc2xpZGluZyByaWdodAoJICZweG9yCSgibW01IiwibW02Iik7CQkJIyBmXj1nCgkmcHNybHEJKCJtbTEiLDE0KTsKCSAmbW92cQkoJEVzc2UyLCRFKTsJCQkjIG1vZHVsby1zY2hlZHVsZWQgc2F2ZSBlCgkgJnBhbmQJKCJtbTUiLCRFKTsJCQkjIGYmPWUKCSZwc2xscQkoJEUsMjMpOwkJCSMgJEUgaXMgc2xpZGluZyBsZWZ0CgkgJm1vdnEJKCRBLCJtbTMiKQkJCWlmICgkcGhhc2U8Mik7CgkgJm1vdnEJKCZRV1AoOCo5LCJlc3AiKSwibW03IikJCSMgc2F2ZSBYW2ldCgkmbW92cQkoIm1tMyIsIm1tMSIpOwkJCSMgJW1tMyBpcyBUMQoJICZwc3JscQkoIm1tMSIsNCk7CgkgJnB4b3IJKCJtbTUiLCJtbTYiKTsJCQkjIENoKGUsZixnKQoJJnB4b3IJKCJtbTMiLCRFKTsKCSAmcHNsbHEJKCRFLDIzKTsKCSZweG9yCSgibW0zIiwibW0xIik7CgkgJm1vdnEJKCRBc3NlMiwkQSk7CQkJIyBtb2R1bG8tc2NoZWR1bGVkIHNhdmUgYQoJICZwYWRkcQkoIm1tNyIsIm1tNSIpOwkJCSMgWFtpXSs9Q2goZSxmLGcpCgkmcHhvcgkoIm1tMyIsJEUpOwoJICZwc3JscQkoIm1tMSIsMjMpOwoJICZwYWRkcQkoIm1tNyIsJEhzc2UyKTsJCQkjIFhbaV0rPWgKCSZweG9yCSgibW0zIiwibW0xIik7CgkgJnBzbGxxCSgkRSw0KTsKCSAmcGFkZHEJKCJtbTciLFFXUCgwLCRLNTEyKSk7CQkjIFhbaV0rPUs1MTJbaV0KCSZweG9yCSgibW0zIiwkRSk7CQkJIyBUMT1TaWdtYTFfNTEyKGUpCgoJICZtb3ZxCSgkRSwkRHNzZTIpOwkJCSMgZSA9IGxvYWQgZCwgZSBpbiBuZXh0IHJvdW5kCgkmcGFkZHEJKCJtbTMiLCJtbTciKTsJCQkjIFQxKz1YW2ldCgkgJm1vdnEJKCJtbTUiLCRBKTsJCQkjICVtbTUgaXMgc2xpZGluZyByaWdodAoJICZwc3JscQkoIm1tNSIsMjgpOwoJJnBhZGRxCSgkRSwibW0zIik7CQkJIyBkICs9IFQxCgkgJm1vdnEJKCJtbTYiLCRBKTsJCQkjICVtbTYgaXMgc2xpZGluZyBsZWZ0CgkgJm1vdnEJKCJtbTciLCJtbTUiKTsKCSAmcHNsbHEJKCJtbTYiLDI1KTsKCSZtb3ZxCSgibW0xIiwkQnNzZTIpOwkJCSMgbG9hZCBiCgkgJnBzcmxxCSgibW01Iiw2KTsKCSAmcHhvcgkoIm1tNyIsIm1tNiIpOwoJJnN1YgkoImVzcCIsOCk7CgkgJnBzbGxxCSgibW02Iiw1KTsKCSAmcHhvcgkoIm1tNyIsIm1tNSIpOwoJJnB4b3IJKCRBLCJtbTEiKTsJCQkjIGFeYiwgYl5jIGluIG5leHQgcm91bmQKCSAmcHNybHEJKCJtbTUiLDUpOwoJICZweG9yCSgibW03IiwibW02Iik7CgkmcGFuZAkoJEJ4QywkQSk7CQkJIyAoYl5jKSYoYV5iKQoJICZwc2xscQkoIm1tNiIsNik7CgkgJnB4b3IJKCJtbTciLCJtbTUiKTsKCSZweG9yCSgkQnhDLCJtbTEiKTsJCQkjIFtoPV1NYWooYSxiLGMpCgkgJnB4b3IJKCJtbTYiLCJtbTciKTsJCQkjIFNpZ21hMF81MTIoYSkKCSAmbW92cQkoIm1tNyIsJlFXUCg4Kig5KzE2LTEpLCJlc3AiKSkJaWYgKCRwaGFzZSE9MCk7CSMgcHJlLWZldGNoCgkgJm1vdnEJKCJtbTUiLCRGc3NlMikJCQlpZiAoJHBoYXNlPT0wKTsJIyBsb2FkIGYKCiAgICBpZiAoJHBoYXNlPjEpIHsKCSZwYWRkcQkoJEJ4QywibW02Iik7CQkJIyBoKz1TaWdtYTAoYSkKCSAmYWRkCSgkSzUxMiw4KTsKCSMmcGFkZHEJKCRCeEMsIm1tMyIpOwkJCSMgaCs9VDEKCgkoJEEsJEJ4QykgPSAoJEJ4QywkQSk7CQkJIyByb3RhdGUgcmVnaXN0ZXJzCiAgICB9IGVsc2UgewoJJnBhZGRxCSgibW0zIiwkQnhDKTsJCQkjIFQxKz1NYWooYSxiLGMpCgkgJm1vdnEJKCRCeEMsJEEpOwoJICZhZGQJKCRLNTEyLDgpOwoJJnBhZGRxCSgibW0zIiwibW02Iik7CQkJIyBUMSs9U2lnbWEwKGEpCgkgJm1vdnEJKCJtbTYiLCRHc3NlMikJCQlpZiAoJHBoYXNlPT0wKTsJIyBsb2FkIGcKCSMmbW92cQkoJEEsIm1tMyIpOwkJCSMgaD1UMQogICAgfQp9CgpzdWIgQk9EWV8wMF8xNV94ODYgewoJI2RlZmluZSBTaWdtYTEoeCkJKFJPVFIoKHgpLDE0KSBeIFJPVFIoKHgpLDE4KSAgXiBST1RSKCh4KSw0MSkpCgkjCUxPCQlsbz4+MTReaGk8PDE4IF4gbG8+PjE4XmhpPDwxNCBeIGhpPj45XmxvPDwyMwoJIwlISQkJaGk+PjE0XmxvPDwxOCBeIGhpPj4xOF5sbzw8MTQgXiBsbz4+OV5oaTw8MjMKCSZtb3YJKCJlY3giLCRFbG8pOwoJJm1vdgkoImVkeCIsJEVoaSk7CgkmbW92CSgiZXNpIiwiZWN4Iik7CgoJJnNocgkoImVjeCIsOSk7CSMgbG8+PjkKCSZtb3YJKCJlZGkiLCJlZHgiKTsKCSZzaHIJKCJlZHgiLDkpOwkjIGhpPj45CgkmbW92CSgiZWJ4IiwiZWN4Iik7Cgkmc2hsCSgiZXNpIiwxNCk7CSMgbG88PDE0CgkmbW92CSgiZWF4IiwiZWR4Iik7Cgkmc2hsCSgiZWRpIiwxNCk7CSMgaGk8PDE0CgkmeG9yCSgiZWJ4IiwiZXNpIik7CgoJJnNocgkoImVjeCIsMTQtOSk7CSMgbG8+PjE0CgkmeG9yCSgiZWF4IiwiZWRpIik7Cgkmc2hyCSgiZWR4IiwxNC05KTsJIyBoaT4+MTQKCSZ4b3IJKCJlYXgiLCJlY3giKTsKCSZzaGwJKCJlc2kiLDE4LTE0KTsJIyBsbzw8MTgKCSZ4b3IJKCJlYngiLCJlZHgiKTsKCSZzaGwJKCJlZGkiLDE4LTE0KTsJIyBoaTw8MTgKCSZ4b3IJKCJlYngiLCJlc2kiKTsKCgkmc2hyCSgiZWN4IiwxOC0xNCk7CSMgbG8+PjE4CgkmeG9yCSgiZWF4IiwiZWRpIik7Cgkmc2hyCSgiZWR4IiwxOC0xNCk7CSMgaGk+PjE4CgkmeG9yCSgiZWF4IiwiZWN4Iik7Cgkmc2hsCSgiZXNpIiwyMy0xOCk7CSMgbG88PDIzCgkmeG9yCSgiZWJ4IiwiZWR4Iik7Cgkmc2hsCSgiZWRpIiwyMy0xOCk7CSMgaGk8PDIzCgkmeG9yCSgiZWF4IiwiZXNpIik7CgkmeG9yCSgiZWJ4IiwiZWRpIik7CQkJIyBUMSA9IFNpZ21hMShlKQoKCSZtb3YJKCJlY3giLCRGbG8pOwoJJm1vdgkoImVkeCIsJEZoaSk7CgkmbW92CSgiZXNpIiwkR2xvKTsKCSZtb3YJKCJlZGkiLCRHaGkpOwoJICZhZGQJKCJlYXgiLCRIbG8pOwoJICZhZGMJKCJlYngiLCRIaGkpOwkJCSMgVDEgKz0gaAoJJnhvcgkoImVjeCIsImVzaSIpOwoJJnhvcgkoImVkeCIsImVkaSIpOwoJJmFuZAkoImVjeCIsJEVsbyk7CgkmYW5kCSgiZWR4IiwkRWhpKTsKCSAmYWRkCSgiZWF4IiwmRFdQKDgqKDkrMTUpKzAsImVzcCIpKTsKCSAmYWRjCSgiZWJ4IiwmRFdQKDgqKDkrMTUpKzQsImVzcCIpKTsJIyBUMSArPSBYWzBdCgkmeG9yCSgiZWN4IiwiZXNpIik7CgkmeG9yCSgiZWR4IiwiZWRpIik7CQkJIyBDaChlLGYsZykgPSAoZl5nKSZlKV5nCgoJJm1vdgkoImVzaSIsJkRXUCgwLCRLNTEyKSk7CgkmbW92CSgiZWRpIiwmRFdQKDQsJEs1MTIpKTsJCSMgS1tpXQoJJmFkZAkoImVheCIsImVjeCIpOwoJJmFkYwkoImVieCIsImVkeCIpOwkJCSMgVDEgKz0gQ2goZSxmLGcpCgkmbW92CSgiZWN4IiwkRGxvKTsKCSZtb3YJKCJlZHgiLCREaGkpOwoJJmFkZAkoImVheCIsImVzaSIpOwoJJmFkYwkoImVieCIsImVkaSIpOwkJCSMgVDEgKz0gS1tpXQoJJm1vdgkoJFRsbywiZWF4Iik7CgkmbW92CSgkVGhpLCJlYngiKTsJCQkjIHB1dCBUMSBhd2F5CgkmYWRkCSgiZWF4IiwiZWN4Iik7CgkmYWRjCSgiZWJ4IiwiZWR4Iik7CQkJIyBkICs9IFQxCgoJI2RlZmluZSBTaWdtYTAoeCkJKFJPVFIoKHgpLDI4KSBeIFJPVFIoKHgpLDM0KSBeIFJPVFIoKHgpLDM5KSkKCSMJTE8JCWxvPj4yOF5oaTw8NCAgXiBoaT4+Ml5sbzw8MzAgXiBoaT4+N15sbzw8MjUKCSMJSEkJCWhpPj4yOF5sbzw8NCAgXiBsbz4+Ml5oaTw8MzAgXiBsbz4+N15oaTw8MjUKCSZtb3YJKCJlY3giLCRBbG8pOwoJJm1vdgkoImVkeCIsJEFoaSk7CgkmbW92CSgkRGxvLCJlYXgiKTsKCSZtb3YJKCREaGksImVieCIpOwoJJm1vdgkoImVzaSIsImVjeCIpOwoKCSZzaHIJKCJlY3giLDIpOwkjIGxvPj4yCgkmbW92CSgiZWRpIiwiZWR4Iik7Cgkmc2hyCSgiZWR4IiwyKTsJIyBoaT4+MgoJJm1vdgkoImVieCIsImVjeCIpOwoJJnNobAkoImVzaSIsNCk7CSMgbG88PDQKCSZtb3YJKCJlYXgiLCJlZHgiKTsKCSZzaGwJKCJlZGkiLDQpOwkjIGhpPDw0CgkmeG9yCSgiZWJ4IiwiZXNpIik7CgoJJnNocgkoImVjeCIsNy0yKTsJIyBsbz4+NwoJJnhvcgkoImVheCIsImVkaSIpOwoJJnNocgkoImVkeCIsNy0yKTsJIyBoaT4+NwoJJnhvcgkoImVieCIsImVjeCIpOwoJJnNobAkoImVzaSIsMjUtNCk7CSMgbG88PDI1CgkmeG9yCSgiZWF4IiwiZWR4Iik7Cgkmc2hsCSgiZWRpIiwyNS00KTsJIyBoaTw8MjUKCSZ4b3IJKCJlYXgiLCJlc2kiKTsKCgkmc2hyCSgiZWN4IiwyOC03KTsJIyBsbz4+MjgKCSZ4b3IJKCJlYngiLCJlZGkiKTsKCSZzaHIJKCJlZHgiLDI4LTcpOwkjIGhpPj4yOAoJJnhvcgkoImVheCIsImVjeCIpOwoJJnNobAkoImVzaSIsMzAtMjUpOwkjIGxvPDwzMAoJJnhvcgkoImVieCIsImVkeCIpOwoJJnNobAkoImVkaSIsMzAtMjUpOwkjIGhpPDwzMAoJJnhvcgkoImVheCIsImVzaSIpOwoJJnhvcgkoImVieCIsImVkaSIpOwkJCSMgU2lnbWEwKGEpCgoJJm1vdgkoImVjeCIsJEFsbyk7CgkmbW92CSgiZWR4IiwkQWhpKTsKCSZtb3YJKCJlc2kiLCRCbG8pOwoJJm1vdgkoImVkaSIsJEJoaSk7CgkmYWRkCSgiZWF4IiwkVGxvKTsKCSZhZGMJKCJlYngiLCRUaGkpOwkJCSMgVDEgPSBTaWdtYTAoYSkrVDEKCSZvcgkoImVjeCIsImVzaSIpOwoJJm9yCSgiZWR4IiwiZWRpIik7CgkmYW5kCSgiZWN4IiwkQ2xvKTsKCSZhbmQJKCJlZHgiLCRDaGkpOwoJJmFuZAkoImVzaSIsJEFsbyk7CgkmYW5kCSgiZWRpIiwkQWhpKTsKCSZvcgkoImVjeCIsImVzaSIpOwoJJm9yCSgiZWR4IiwiZWRpIik7CQkJIyBNYWooYSxiLGMpID0gKChhfGIpJmMpfChhJmIpCgoJJmFkZAkoImVheCIsImVjeCIpOwoJJmFkYwkoImVieCIsImVkeCIpOwkJCSMgVDEgKz0gTWFqKGEsYixjKQoJJm1vdgkoJFRsbywiZWF4Iik7CgkmbW92CSgkVGhpLCJlYngiKTsKCgkmbW92CSgmTEIoImVkeCIpLCZCUCgwLCRLNTEyKSk7CSMgcHJlLWZldGNoIExTQiBvZiAqSwoJJnN1YgkoImVzcCIsOCk7CgkmbGVhCSgkSzUxMiwmRFdQKDgsJEs1MTIpKTsJCSMgSysrCn0KCgomZnVuY3Rpb25fYmVnaW4oInNoYTUxMl9ibG9ja19kYXRhX29yZGVyIik7CgkmbW92CSgiZXNpIix3cGFyYW0oMCkpOwkjIGN0eAoJJm1vdgkoImVkaSIsd3BhcmFtKDEpKTsJIyBpbnAKCSZtb3YJKCJlYXgiLHdwYXJhbSgyKSk7CSMgbnVtCgkmbW92CSgiZWJ4IiwiZXNwIik7CQkjIHNhdmVkIHNwCgoJJmNhbGwJKCZsYWJlbCgicGljX3BvaW50IikpOwkjIG1ha2UgaXQgUElDIQomc2V0X2xhYmVsKCJwaWNfcG9pbnQiKTsKCSZibGluZHBvcCgkSzUxMik7CgkmbGVhCSgkSzUxMiwmRFdQKCZsYWJlbCgiSzUxMiIpLiItIi4mbGFiZWwoInBpY19wb2ludCIpLCRLNTEyKSk7CgoJJnN1YgkoImVzcCIsMTYpOwoJJmFuZAkoImVzcCIsLTY0KTsKCgkmc2hsCSgiZWF4Iiw3KTsKCSZhZGQJKCJlYXgiLCJlZGkiKTsKCSZtb3YJKCZEV1AoMCwiZXNwIiksImVzaSIpOwkjIGN0eAoJJm1vdgkoJkRXUCg0LCJlc3AiKSwiZWRpIik7CSMgaW5wCgkmbW92CSgmRFdQKDgsImVzcCIpLCJlYXgiKTsJIyBpbnArbnVtKjEyOAoJJm1vdgkoJkRXUCgxMiwiZXNwIiksImVieCIpOwkjIHNhdmVkIHNwCgppZiAoJHNzZTIpIHsKCSZwaWNtZXVwKCJlZHgiLCJPUEVOU1NMX2lhMzJjYXBfUCIsJEs1MTIsJmxhYmVsKCJLNTEyIikpOwoJJm1vdgkoImVjeCIsJkRXUCgwLCJlZHgiKSk7CgkmdGVzdAkoImVjeCIsMTw8MjYpOwoJJmp6CSgmbGFiZWwoImxvb3BfeDg2IikpOwoKCSZtb3YJKCJlZHgiLCZEV1AoNCwiZWR4IikpOwoKCSMgbG9hZCBjdHgtPmhbMC03XQoJJm1vdnEJKCRBLCZRV1AoMCwiZXNpIikpOwoJICZhbmQJKCJlY3giLDE8PDI0KTsJCSMgWE1NIHJlZ2lzdGVycyBhdmFpbGFiaWxpdHkKCSZtb3ZxCSgibW0xIiwmUVdQKDgsImVzaSIpKTsKCSAmYW5kCSgiZWR4IiwxPDw5KTsJCSMgU1NTRTMgYml0CgkmbW92cQkoJEJ4QywmUVdQKDE2LCJlc2kiKSk7CgkgJm9yCSgiZWN4IiwiZWR4Iik7CgkmbW92cQkoIm1tMyIsJlFXUCgyNCwiZXNpIikpOwoJJm1vdnEJKCRFLCZRV1AoMzIsImVzaSIpKTsKCSZtb3ZxCSgibW01IiwmUVdQKDQwLCJlc2kiKSk7CgkmbW92cQkoIm1tNiIsJlFXUCg0OCwiZXNpIikpOwoJJm1vdnEJKCJtbTciLCZRV1AoNTYsImVzaSIpKTsKCSZjbXAJKCJlY3giLDE8PDI0fDE8PDkpOwoJJmplCSgmbGFiZWwoIlNTU0UzIikpOwoJJnN1YgkoImVzcCIsOCoxMCk7Cgkmam1wCSgmbGFiZWwoImxvb3Bfc3NlMiIpKTsKCiZzZXRfbGFiZWwoImxvb3Bfc3NlMiIsMTYpOwoJIyZtb3ZxCSgkQXNzZTIsJEEpOwoJJm1vdnEJKCRCc3NlMiwibW0xIik7CgkmbW92cQkoJENzc2UyLCRCeEMpOwoJJm1vdnEJKCREc3NlMiwibW0zIik7CgkjJm1vdnEJKCRFc3NlMiwkRSk7CgkmbW92cQkoJEZzc2UyLCJtbTUiKTsKCSZtb3ZxCSgkR3NzZTIsIm1tNiIpOwoJJnB4b3IJKCRCeEMsIm1tMSIpOwkJCSMgbWFnaWMKCSZtb3ZxCSgkSHNzZTIsIm1tNyIpOwoJJm1vdnEJKCJtbTMiLCRBKTsJCQkjIG1hZ2ljCgoJJm1vdgkoImVheCIsJkRXUCgwLCJlZGkiKSk7CgkmbW92CSgiZWJ4IiwmRFdQKDQsImVkaSIpKTsKCSZhZGQJKCJlZGkiLDgpOwoJJm1vdgkoImVkeCIsMTUpOwkJCSMgY291bnRlcgoJJmJzd2FwCSgiZWF4Iik7CgkmYnN3YXAJKCJlYngiKTsKCSZqbXAJKCZsYWJlbCgiMDBfMTRfc3NlMiIpKTsKCiZzZXRfbGFiZWwoIjAwXzE0X3NzZTIiLDE2KTsKCSZtb3ZkCSgibW0xIiwiZWF4Iik7CgkmbW92CSgiZWF4IiwmRFdQKDAsImVkaSIpKTsKCSZtb3ZkCSgibW03IiwiZWJ4Iik7CgkmbW92CSgiZWJ4IiwmRFdQKDQsImVkaSIpKTsKCSZhZGQJKCJlZGkiLDgpOwoJJmJzd2FwCSgiZWF4Iik7CgkmYnN3YXAJKCJlYngiKTsKCSZwdW5wY2tsZHEoIm1tNyIsIm1tMSIpOwoKCSZCT0RZXzAwXzE1X3NzZTIoKTsKCgkmZGVjCSgiZWR4Iik7Cgkmam56CSgmbGFiZWwoIjAwXzE0X3NzZTIiKSk7CgoJJm1vdmQJKCJtbTEiLCJlYXgiKTsKCSZtb3ZkCSgibW03IiwiZWJ4Iik7CgkmcHVucGNrbGRxKCJtbTciLCJtbTEiKTsKCgkmQk9EWV8wMF8xNV9zc2UyKDEpOwoKCSZweG9yCSgkQSwkQSk7CQkJIyBBIGlzIGluICVtbTMKCSZtb3YJKCJlZHgiLDMyKTsJCQkjIGNvdW50ZXIKCSZqbXAJKCZsYWJlbCgiMTZfNzlfc3NlMiIpKTsKCiZzZXRfbGFiZWwoIjE2Xzc5X3NzZTIiLDE2KTsKICAgIGZvciAoJGo9MDskajwyOyRqKyspIHsJCQkjIDJ4IHVucm9sbAoJIyZtb3ZxCSgibW03IiwmUVdQKDgqKDkrMTYtMSksImVzcCIpKTsJIyBwcmVmZXRjaGVkIGluIEJPRFlfMDBfMTUgCgkmbW92cQkoIm1tNSIsJlFXUCg4Kig5KzE2LTE0KSwiZXNwIikpOwoJJm1vdnEJKCJtbTEiLCJtbTciKTsKCSZwc3JscQkoIm1tNyIsMSk7CgkgJm1vdnEJKCJtbTYiLCJtbTUiKTsKCSAmcHNybHEJKCJtbTUiLDYpOwoJJnBzbGxxCSgibW0xIiw1Nik7CgkgJnBhZGRxCSgkQSwibW0zIik7CQkJIyBmcm9tIEJPRFlfMDBfMTUKCSAmbW92cQkoIm1tMyIsIm1tNyIpOwoJJnBzcmxxCSgibW03Iiw3LTEpOwoJICZweG9yCSgibW0zIiwibW0xIik7CgkgJnBzbGxxCSgibW0xIiw2My01Nik7CgkmcHhvcgkoIm1tMyIsIm1tNyIpOwoJICZwc3JscQkoIm1tNyIsOC03KTsKCSZweG9yCSgibW0zIiwibW0xIik7CgkgJm1vdnEJKCJtbTEiLCJtbTUiKTsKCSAmcHNybHEJKCJtbTUiLDE5LTYpOwoJJnB4b3IJKCJtbTciLCJtbTMiKTsJCQkjIHNpZ21hMAoKCSAmcHNsbHEJKCJtbTYiLDMpOwoJICZweG9yCSgibW0xIiwibW01Iik7CgkmcGFkZHEJKCJtbTciLCZRV1AoOCooOSsxNiksImVzcCIpKTsKCSAmcHhvcgkoIm1tMSIsIm1tNiIpOwoJICZwc3JscQkoIm1tNSIsNjEtMTkpOwoJJnBhZGRxCSgibW03IiwmUVdQKDgqKDkrMTYtOSksImVzcCIpKTsKCSAmcHhvcgkoIm1tMSIsIm1tNSIpOwoJICZwc2xscQkoIm1tNiIsNDUtMyk7CgkmbW92cQkoIm1tNSIsJEZzc2UyKTsJCQkjIGxvYWQgZgoJICZweG9yCSgibW0xIiwibW02Iik7CQkJIyBzaWdtYTEKCSZtb3ZxCSgibW02IiwkR3NzZTIpOwkJCSMgbG9hZCBnCgoJJnBhZGRxCSgibW03IiwibW0xIik7CQkJIyBYW2ldCgkjJm1vdnEJKCZRV1AoOCo5LCJlc3AiKSwibW03Iik7CSMgbW92ZWQgdG8gQk9EWV8wMF8xNQoKCSZCT0RZXzAwXzE1X3NzZTIoMik7CiAgICB9CgkmZGVjCSgiZWR4Iik7Cgkmam56CSgmbGFiZWwoIjE2Xzc5X3NzZTIiKSk7CgoJIyZtb3ZxCSgkQSwkQXNzZTIpOwoJJnBhZGRxCSgkQSwibW0zIik7CQkJIyBmcm9tIEJPRFlfMDBfMTUKCSZtb3ZxCSgibW0xIiwkQnNzZTIpOwoJIyZtb3ZxCSgkQnhDLCRDc3NlMik7CgkmbW92cQkoIm1tMyIsJERzc2UyKTsKCSMmbW92cQkoJEUsJEVzc2UyKTsKCSZtb3ZxCSgibW01IiwkRnNzZTIpOwoJJm1vdnEJKCJtbTYiLCRHc3NlMik7CgkmbW92cQkoIm1tNyIsJEhzc2UyKTsKCgkmcHhvcgkoJEJ4QywibW0xIik7CQkJIyBkZS1tYWdpYwoJJnBhZGRxCSgkQSwmUVdQKDAsImVzaSIpKTsKCSZwYWRkcQkoIm1tMSIsJlFXUCg4LCJlc2kiKSk7CgkmcGFkZHEJKCRCeEMsJlFXUCgxNiwiZXNpIikpOwoJJnBhZGRxCSgibW0zIiwmUVdQKDI0LCJlc2kiKSk7CgkmcGFkZHEJKCRFLCZRV1AoMzIsImVzaSIpKTsKCSZwYWRkcQkoIm1tNSIsJlFXUCg0MCwiZXNpIikpOwoJJnBhZGRxCSgibW02IiwmUVdQKDQ4LCJlc2kiKSk7CgkmcGFkZHEJKCJtbTciLCZRV1AoNTYsImVzaSIpKTsKCgkmbW92CSgiZWF4Iiw4KjgwKTsKCSZtb3ZxCSgmUVdQKDAsImVzaSIpLCRBKTsKCSZtb3ZxCSgmUVdQKDgsImVzaSIpLCJtbTEiKTsKCSZtb3ZxCSgmUVdQKDE2LCJlc2kiKSwkQnhDKTsKCSZtb3ZxCSgmUVdQKDI0LCJlc2kiKSwibW0zIik7CgkmbW92cQkoJlFXUCgzMiwiZXNpIiksJEUpOwoJJm1vdnEJKCZRV1AoNDAsImVzaSIpLCJtbTUiKTsKCSZtb3ZxCSgmUVdQKDQ4LCJlc2kiKSwibW02Iik7CgkmbW92cQkoJlFXUCg1NiwiZXNpIiksIm1tNyIpOwoKCSZsZWEJKCJlc3AiLCZEV1AoMCwiZXNwIiwiZWF4IikpOwkjIGRlc3Ryb3kgZnJhbWUKCSZzdWIJKCRLNTEyLCJlYXgiKTsJCQkjIHJld2luZCBLCgoJJmNtcAkoImVkaSIsJkRXUCg4KjEwKzgsImVzcCIpKTsJIyBhcmUgd2UgZG9uZSB5ZXQ/CgkmamIJKCZsYWJlbCgibG9vcF9zc2UyIikpOwoKCSZtb3YJKCJlc3AiLCZEV1AoOCoxMCsxMiwiZXNwIikpOwkjIHJlc3RvcmUgc3AKCSZlbW1zCSgpOwomZnVuY3Rpb25fZW5kX0EoKTsKCiZzZXRfbGFiZWwoIlNTU0UzIiwzMik7CnsgbXkgKCRjbnQsJGZyYW1lKT0oImVjeCIsImVkeCIpOwogIG15IEBYPW1hcCgieG1tJF8iLCgwLi43KSk7CiAgbXkgJGo7CiAgbXkgJGk9MDsKCgkmbGVhCSgkZnJhbWUsJkRXUCgtNjQsImVzcCIpKTsKCSZzdWIJKCJlc3AiLDI1Nik7CgoJIyBmaXhlZCBzdGFjayBmcmFtZSBsYXlvdXQKCSMKCSMgKzAJQSBCIEMgRCBFIEYgRyBICQkjIGJhY2tpbmcgc3RvcmUKCSMgKzY0CVhbMF0rS1tpXSAuLiBYWzE1XStLW2ldCSMgWE1NLT5NTSB4ZmVyIGFyZWEKCSMgKzE5MgkJCQkjIFhNTSBvZmYtbG9hZCByaW5nIGJ1ZmZlcgoJIyArMjU2CQkJCSMgc2F2ZWQgcGFyYW1ldGVycwoKCSZtb3ZkcWEJCShAWFsxXSwmUVdQKDgwKjgsJEs1MTIpKTsJCSMgYnl0ZSBzd2FwIG1hc2sKCSZtb3ZkcXUJCShAWFswXSwmUVdQKDAsImVkaSIpKTsKCSZwc2h1ZmIJCShAWFswXSxAWFsxXSk7CiAgICBmb3IgKCRqPTA7JGo8ODskaisrKSB7CgkmbW92ZHFhCQkoJlFXUCgxNiooKCRqLTEpJTQpLCRmcmFtZSksQFhbM10pCWlmICgkaj40KTsgIyBvZmYtbG9hZAoJJm1vdmRxYQkJKEBYWzNdLCZRV1AoMTYqKCRqJTgpLCRLNTEyKSk7CgkmbW92ZHFhCQkoQFhbMl0sQFhbMV0pCQkJCWlmICgkajw3KTsgIyBwZXJwZXR1YXRlIGJ5dGUgc3dhcCBtYXNrCgkmbW92ZHF1CQkoQFhbMV0sJlFXUCgxNiooJGorMSksImVkaSIpKQkJaWYgKCRqPDcpOyAjIG5leHQgaW5wdXQKCSZtb3ZkcWEJCShAWFsxXSwmUVdQKDE2KigoJGorMSklNCksJGZyYW1lKSkJaWYgKCRqPT03KTsjIHJlc3RvcmUgQFhbMF0KCSZwYWRkcQkJKEBYWzNdLEBYWzBdKTsKCSZwc2h1ZmIJCShAWFsxXSxAWFsyXSkJCQkJaWYgKCRqPDcpOwoJJm1vdmRxYQkJKCZRV1AoMTYqKCRqJTgpLTEyOCwkZnJhbWUpLEBYWzNdKTsJIyB4ZmVyIFhbaV0rS1tpXQoKCXB1c2goQFgsc2hpZnQoQFgpKTsJCQkJCSMgcm90YXRlKEBYKQogICAgfQoJIyZqbXAJCSgmbGFiZWwoImxvb3Bfc3NzZTMiKSk7Cgkmbm9wCQkoKTsKCiZzZXRfbGFiZWwoImxvb3Bfc3NzZTMiLDMyKTsKCSZtb3ZkcWEJCShAWFsyXSwmUVdQKDE2KigoJGorMSklNCksJGZyYW1lKSk7CSMgcHJlLXJlc3RvcmUgQFhbMV0KCSZtb3ZkcWEJCSgmUVdQKDE2KigoJGotMSklNCksJGZyYW1lKSxAWFszXSk7CSMgb2ZmLWxvYWQgQFhbM10KCSZsZWEJCSgkSzUxMiwmRFdQKDE2KjgsJEs1MTIpKTsKCgkjJm1vdnEJKCRBc3NlMiwkQSk7CQkJIyBvZmYtbG9hZCBBLUgKCSZtb3ZxCSgkQnNzZTIsIm1tMSIpOwoJICZtb3YJKCJlYngiLCJlZGkiKTsKCSZtb3ZxCSgkQ3NzZTIsJEJ4Qyk7CgkgJmxlYQkoImVkaSIsJkRXUCgxMjgsImVkaSIpKTsJIyBhZHZhbmNlIGlucHV0CgkmbW92cQkoJERzc2UyLCJtbTMiKTsKCSAmY21wCSgiZWRpIiwiZWF4Iik7CgkjJm1vdnEJKCRFc3NlMiwkRSk7CgkmbW92cQkoJEZzc2UyLCJtbTUiKTsKCSAmY21vdmIJKCJlYngiLCJlZGkiKTsKCSZtb3ZxCSgkR3NzZTIsIm1tNiIpOwoJICZtb3YJKCJlY3giLDQpOwkJCSMgbG9vcCBjb3VudGVyCgkmcHhvcgkoJEJ4QywibW0xIik7CQkJIyBtYWdpYwoJJm1vdnEJKCRIc3NlMiwibW03Iik7CgkmcHhvcgkoIm1tMyIsIm1tMyIpOwkJCSMgbWFnaWMKCgkmam1wCQkoJmxhYmVsKCIwMF80N19zc3NlMyIpKTsKCnN1YiBCT0RZXzAwXzE1X3Nzc2UzIHsJCSMgInBoYXNlLWxlc3MiIGNvcHkgb2YgQk9EWV8wMF8xNV9zc2UyCgkoCgknJm1vdnEJKCJtbTEiLCRFKScsCQkJCSMgJW1tMSBpcyBzbGlkaW5nIHJpZ2h0CgknJm1vdnEJKCJtbTciLCZRV1AoKCgtOCokaSklMTI4KS0xMjgsJGZyYW1lKSknLCMgWFtpXStLW2ldCgkgJyZweG9yCSgibW01IiwibW02IiknLAkJCQkjIGZePWcKCScmcHNybHEJKCJtbTEiLDE0KScsCgkgJyZtb3ZxCSgmUVdQKDgqKCRpKzQpJTY0LCJlc3AiKSwkRSknLAkJIyBtb2R1bG8tc2NoZWR1bGVkIHNhdmUgZQoJICcmcGFuZAkoIm1tNSIsJEUpJywJCQkJIyBmJj1lCgknJnBzbGxxCSgkRSwyMyknLAkJCQkjICRFIGlzIHNsaWRpbmcgbGVmdAoJJyZwYWRkcQkoJEEsIm1tMyIpJywJCQkJIyBbaCs9TWFqKGEsYixjKV0KCScmbW92cQkoIm1tMyIsIm1tMSIpJywJCQkJIyAlbW0zIGlzIFQxCgkgJyZwc3JscSgibW0xIiw0KScsCgkgJyZweG9yCSgibW01IiwibW02IiknLAkJCQkjIENoKGUsZixnKQoJJyZweG9yCSgibW0zIiwkRSknLAoJICcmcHNsbHEoJEUsMjMpJywKCScmcHhvcgkoIm1tMyIsIm1tMSIpJywKCSAnJm1vdnEJKCZRV1AoOCokaSU2NCwiZXNwIiksJEEpJywJCSMgbW9kdWxvLXNjaGVkdWxlZCBzYXZlIGEKCSAnJnBhZGRxKCJtbTciLCJtbTUiKScsCQkJCSMgWFtpXSs9Q2goZSxmLGcpCgknJnB4b3IJKCJtbTMiLCRFKScsCgkgJyZwc3JscSgibW0xIiwyMyknLAoJICcmcGFkZHEoIm1tNyIsJlFXUCg4KigkaSs3KSU2NCwiZXNwIikpJywJIyBYW2ldKz1oCgknJnB4b3IJKCJtbTMiLCJtbTEiKScsCgkgJyZwc2xscSgkRSw0KScsCgknJnB4b3IJKCJtbTMiLCRFKScsCQkJCSMgVDE9U2lnbWExXzUxMihlKQoKCSAnJm1vdnEJKCRFLCZRV1AoOCooJGkrMyklNjQsImVzcCIpKScsCQkjIGUgPSBsb2FkIGQsIGUgaW4gbmV4dCByb3VuZAoJJyZwYWRkcQkoIm1tMyIsIm1tNyIpJywJCQkJIyBUMSs9WFtpXQoJICcmbW92cQkoIm1tNSIsJEEpJywJCQkJIyAlbW01IGlzIHNsaWRpbmcgcmlnaHQKCSAnJnBzcmxxKCJtbTUiLDI4KScsCgknJnBhZGRxCSgkRSwibW0zIiknLAkJCQkjIGQgKz0gVDEKCSAnJm1vdnEJKCJtbTYiLCRBKScsCQkJCSMgJW1tNiBpcyBzbGlkaW5nIGxlZnQKCSAnJm1vdnEJKCJtbTciLCJtbTUiKScsCgkgJyZwc2xscSgibW02IiwyNSknLAoJJyZtb3ZxCSgibW0xIiwmUVdQKDgqKCRpKzEpJTY0LCJlc3AiKSknLAkjIGxvYWQgYgoJICcmcHNybHEoIm1tNSIsNiknLAoJICcmcHhvcgkoIm1tNyIsIm1tNiIpJywKCSAnJnBzbGxxKCJtbTYiLDUpJywKCSAnJnB4b3IJKCJtbTciLCJtbTUiKScsCgknJnB4b3IJKCRBLCJtbTEiKScsCQkJCSMgYV5iLCBiXmMgaW4gbmV4dCByb3VuZAoJICcmcHNybHEoIm1tNSIsNSknLAoJICcmcHhvcgkoIm1tNyIsIm1tNiIpJywKCScmcGFuZAkoJEJ4QywkQSknLAkJCQkjIChiXmMpJihhXmIpCgkgJyZwc2xscSgibW02Iiw2KScsCgkgJyZweG9yCSgibW03IiwibW01IiknLAoJJyZweG9yCSgkQnhDLCJtbTEiKScsCQkJCSMgW2g9XU1haihhLGIsYykKCSAnJnB4b3IJKCJtbTYiLCJtbTciKScsCQkJCSMgU2lnbWEwXzUxMihhKQoJICcmbW92cQkoIm1tNSIsJlFXUCg4KigkaSs1LTEpJTY0LCJlc3AiKSknLAkjIHByZS1sb2FkIGYKCScmcGFkZHEJKCRCeEMsIm1tNiIpJywJCQkJIyBoKz1TaWdtYTAoYSkKCSAnJm1vdnEJKCJtbTYiLCZRV1AoOCooJGkrNi0xKSU2NCwiZXNwIikpJywJIyBwcmUtbG9hZCBnCgoJJygkQSwkQnhDKSA9ICgkQnhDLCRBKTsgJGktLTsnCgkpOwp9Cgomc2V0X2xhYmVsKCIwMF80N19zc3NlMyIsMzIpOwoKICAgIGZvcig7JGo8MTY7JGorKykgewoJbXkgKCR0MCwkdDIsJHQxKT1AWFsyLi40XTsKCW15IEBpbnNucyA9ICgmQk9EWV8wMF8xNV9zc3NlMygpLCZCT0RZXzAwXzE1X3Nzc2UzKCkpOwoKCSZtb3ZkcWEJCSgkdDIsQFhbNV0pOwoJJm1vdmRxYQkJKEBYWzFdLCR0MCk7CQkJIyByZXN0b3JlIEBYWzFdCgkmcGFsaWducgkoJHQwLEBYWzBdLDgpOwkJCSMgWFsxLi4yXQoJJm1vdmRxYQkJKCZRV1AoMTYqKCRqJTQpLCRmcmFtZSksQFhbNF0pOwkjIG9mZi1sb2FkIEBYWzRdCgkgJnBhbGlnbnIJKCR0MixAWFs0XSw4KTsJCQkjIFhbOS4uMTBdCgoJJm1vdmRxYQkJKCR0MSwkdDApOwoJJnBzcmxxCQkoJHQwLDcpOwoJICZwYWRkcQkJKEBYWzBdLCR0Mik7CQkJIyBYWzAuLjFdICs9IFhbOS4uMTBdCgkmbW92ZHFhCQkoJHQyLCR0MSk7CgkmcHNybHEJCSgkdDEsMSk7CgkmcHNsbHEJCSgkdDIsNjQtOCk7CgkmcHhvcgkJKCR0MCwkdDEpOwoJJnBzcmxxCQkoJHQxLDgtMSk7CgkmcHhvcgkJKCR0MCwkdDIpOwoJJnBzbGxxCQkoJHQyLDgtMSk7CgkmcHhvcgkJKCR0MCwkdDEpOwoJICZtb3ZkcWEJKCR0MSxAWFs3XSk7CgkmcHhvcgkJKCR0MCwkdDIpOwkJCSMgc2lnbWEwKFhbMS4uMl0pCgkgJm1vdmRxYQkoJHQyLEBYWzddKTsKCSAmcHNybHEJCSgkdDEsNik7CgkmcGFkZHEJCShAWFswXSwkdDApOwkJCSMgWFswLi4xXSArPSBzaWdtYTAoWFsxLi4yXSkKCgkmbW92ZHFhCQkoJHQwLEBYWzddKTsKCSZwc3JscQkJKCR0MiwxOSk7CgkmcHNsbHEJCSgkdDAsNjQtNjEpOwoJJnB4b3IJCSgkdDEsJHQyKTsKCSZwc3JscQkJKCR0Miw2MS0xOSk7CgkmcHhvcgkJKCR0MSwkdDApOwoJJnBzbGxxCQkoJHQwLDYxLTE5KTsKCSZweG9yCQkoJHQxLCR0Mik7CgkmbW92ZHFhCQkoJHQyLCZRV1AoMTYqKCgkaisyKSU0KSwkZnJhbWUpKTsjIHByZS1yZXN0b3JlIEBYWzFdCgkmcHhvcgkJKCR0MSwkdDApOwkJCSMgc2lnbWEwKFhbMS4uMl0pCgkmbW92ZHFhCQkoJHQwLCZRV1AoMTYqKCRqJTgpLCRLNTEyKSk7CgkgZXZhbChzaGlmdChAaW5zbnMpKTsKCSZwYWRkcQkJKEBYWzBdLCR0MSk7CQkJIyBYWzAuLjFdICs9IHNpZ21hMChYWzE0Li4xNV0pCgkgZXZhbChzaGlmdChAaW5zbnMpKTsKCSBldmFsKHNoaWZ0KEBpbnNucykpOwoJIGV2YWwoc2hpZnQoQGluc25zKSk7CgkgZXZhbChzaGlmdChAaW5zbnMpKTsKCSZwYWRkcQkJKCR0MCxAWFswXSk7CgkgZm9yZWFjaChAaW5zbnMpIHsgZXZhbDsgfQoJJm1vdmRxYQkJKCZRV1AoMTYqKCRqJTgpLTEyOCwkZnJhbWUpLCR0MCk7IyB4ZmVyIFhbaV0rS1tpXQoKCXB1c2goQFgsc2hpZnQoQFgpKTsJCQkJIyByb3RhdGUoQFgpCiAgICB9CgkmbGVhCQkoJEs1MTIsJkRXUCgxNio4LCRLNTEyKSk7CgkmZGVjCQkoImVjeCIpOwoJJmpuegkJKCZsYWJlbCgiMDBfNDdfc3NzZTMiKSk7CgoJJm1vdmRxYQkJKEBYWzFdLCZRV1AoMCwkSzUxMikpOwkJIyBieXRlIHN3YXAgbWFzawoJJmxlYQkJKCRLNTEyLCZEV1AoLTgwKjgsJEs1MTIpKTsJIyByZXdpbmQKCSZtb3ZkcXUJCShAWFswXSwmUVdQKDAsImVieCIpKTsKCSZwc2h1ZmIJCShAWFswXSxAWFsxXSk7CgogICAgZm9yICgkaj0wOyRqPDg7JGorKykgewkjIGxvYWQgbmV4dCBvciBzYW1lIGJsb2NrCglteSBAaW5zbnMgPSAoJkJPRFlfMDBfMTVfc3NzZTMoKSwmQk9EWV8wMF8xNV9zc3NlMygpKTsKCgkmbW92ZHFhCQkoJlFXUCgxNiooKCRqLTEpJTQpLCRmcmFtZSksQFhbM10pCWlmICgkaj40KTsgIyBvZmYtbG9hZAoJJm1vdmRxYQkJKEBYWzNdLCZRV1AoMTYqKCRqJTgpLCRLNTEyKSk7CgkmbW92ZHFhCQkoQFhbMl0sQFhbMV0pCQkJCWlmICgkajw3KTsgIyBwZXJwZXR1YXRlIGJ5dGUgc3dhcCBtYXNrCgkmbW92ZHF1CQkoQFhbMV0sJlFXUCgxNiooJGorMSksImVieCIpKQkJaWYgKCRqPDcpOyAjIG5leHQgaW5wdXQKCSZtb3ZkcWEJCShAWFsxXSwmUVdQKDE2KigoJGorMSklNCksJGZyYW1lKSkJaWYgKCRqPT03KTsjIHJlc3RvcmUgQFhbMF0KCSZwYWRkcQkJKEBYWzNdLEBYWzBdKTsKCSZwc2h1ZmIJCShAWFsxXSxAWFsyXSkJCQkJaWYgKCRqPDcpOwoJIGZvcmVhY2goQGluc25zKSB7IGV2YWw7IH0KCSZtb3ZkcWEJCSgmUVdQKDE2KigkaiU4KS0xMjgsJGZyYW1lKSxAWFszXSk7IyB4ZmVyIFhbaV0rS1tpXQoKCXB1c2goQFgsc2hpZnQoQFgpKTsJCQkJIyByb3RhdGUoQFgpCiAgICB9CgoJIyZtb3ZxCSgkQSwkQXNzZTIpOwkJCSMgbG9hZCBBLUgKCSZtb3ZxCSgibW0xIiwkQnNzZTIpOwoJJnBhZGRxCSgkQSwibW0zIik7CQkJIyBmcm9tIEJPRFlfMDBfMTUKCSMmbW92cQkoJEJ4QywkQ3NzZTIpOwoJJm1vdnEJKCJtbTMiLCREc3NlMik7CgkjJm1vdnEJKCRFLCRFc3NlMik7CgkjJm1vdnEJKCJtbTUiLCRGc3NlMik7CgkjJm1vdnEJKCJtbTYiLCRHc3NlMik7CgkmbW92cQkoIm1tNyIsJEhzc2UyKTsKCgkmcHhvcgkoJEJ4QywibW0xIik7CQkJIyBkZS1tYWdpYwoJJnBhZGRxCSgkQSwmUVdQKDAsImVzaSIpKTsKCSZwYWRkcQkoIm1tMSIsJlFXUCg4LCJlc2kiKSk7CgkmcGFkZHEJKCRCeEMsJlFXUCgxNiwiZXNpIikpOwoJJnBhZGRxCSgibW0zIiwmUVdQKDI0LCJlc2kiKSk7CgkmcGFkZHEJKCRFLCZRV1AoMzIsImVzaSIpKTsKCSZwYWRkcQkoIm1tNSIsJlFXUCg0MCwiZXNpIikpOwoJJnBhZGRxCSgibW02IiwmUVdQKDQ4LCJlc2kiKSk7CgkmcGFkZHEJKCJtbTciLCZRV1AoNTYsImVzaSIpKTsKCgkmbW92cQkoJlFXUCgwLCJlc2kiKSwkQSk7CgkmbW92cQkoJlFXUCg4LCJlc2kiKSwibW0xIik7CgkmbW92cQkoJlFXUCgxNiwiZXNpIiksJEJ4Qyk7CgkmbW92cQkoJlFXUCgyNCwiZXNpIiksIm1tMyIpOwoJJm1vdnEJKCZRV1AoMzIsImVzaSIpLCRFKTsKCSZtb3ZxCSgmUVdQKDQwLCJlc2kiKSwibW01Iik7CgkmbW92cQkoJlFXUCg0OCwiZXNpIiksIm1tNiIpOwoJJm1vdnEJKCZRV1AoNTYsImVzaSIpLCJtbTciKTsKCiAgICAJJmNtcAkoImVkaSIsImVheCIpCQkJIyBhcmUgd2UgZG9uZSB5ZXQ/CgkmamIJKCZsYWJlbCgibG9vcF9zc3NlMyIpKTsKCgkmbW92CSgiZXNwIiwmRFdQKDY0KzEyLCRmcmFtZSkpOwkjIHJlc3RvcmUgc3AKCSZlbW1zCSgpOwp9CiZmdW5jdGlvbl9lbmRfQSgpOwp9CiZzZXRfbGFiZWwoImxvb3BfeDg2IiwxNik7CiAgICAjIGNvcHkgaW5wdXQgYmxvY2sgdG8gc3RhY2sgcmV2ZXJzaW5nIGJ5dGUgYW5kIHF3b3JkIG9yZGVyCiAgICBmb3IgKCRpPTA7JGk8ODskaSsrKSB7CgkmbW92CSgiZWF4IiwmRFdQKCRpKjE2KzAsImVkaSIpKTsKCSZtb3YJKCJlYngiLCZEV1AoJGkqMTYrNCwiZWRpIikpOwoJJm1vdgkoImVjeCIsJkRXUCgkaSoxNis4LCJlZGkiKSk7CgkmbW92CSgiZWR4IiwmRFdQKCRpKjE2KzEyLCJlZGkiKSk7CgkmYnN3YXAJKCJlYXgiKTsKCSZic3dhcAkoImVieCIpOwoJJmJzd2FwCSgiZWN4Iik7CgkmYnN3YXAJKCJlZHgiKTsKCSZwdXNoCSgiZWF4Iik7CgkmcHVzaAkoImVieCIpOwoJJnB1c2gJKCJlY3giKTsKCSZwdXNoCSgiZWR4Iik7CiAgICB9CgkmYWRkCSgiZWRpIiwxMjgpOwoJJnN1YgkoImVzcCIsOSo4KTsJCSMgcGxhY2UgZm9yIFQsQSxCLEMsRCxFLEYsRyxICgkmbW92CSgmRFdQKDgqKDkrMTYpKzQsImVzcCIpLCJlZGkiKTsKCgkjIGNvcHkgY3R4LT5oWzAtN10gdG8gQSxCLEMsRCxFLEYsRyxIIG9uIHN0YWNrCgkmbGVhCSgiZWRpIiwmRFdQKDgsImVzcCIpKTsKCSZtb3YJKCJlY3giLDE2KTsKCSZkYXRhX3dvcmQoMHhBNUYzRjY4OSk7CQkjIHJlcCBtb3ZzZAoKJnNldF9sYWJlbCgiMDBfMTVfeDg2IiwxNik7CgkmQk9EWV8wMF8xNV94ODYoKTsKCgkmY21wCSgmTEIoImVkeCIpLDB4OTQpOwoJJmpuZQkoJmxhYmVsKCIwMF8xNV94ODYiKSk7Cgomc2V0X2xhYmVsKCIxNl83OV94ODYiLDE2KTsKCSNkZWZpbmUgc2lnbWEwKHgpCShST1RSKCh4KSwxKSAgXiBST1RSKCh4KSw4KSAgXiAoKHgpPj43KSkKCSMJTE8JCWxvPj4xXmhpPDwzMSAgXiBsbz4+OF5oaTw8MjQgXiBsbz4+N15oaTw8MjUKCSMJSEkJCWhpPj4xXmxvPDwzMSAgXiBoaT4+OF5sbzw8MjQgXiBoaT4+NwoJJm1vdgkoImVjeCIsJkRXUCg4Kig5KzE1KzE2LTEpKzAsImVzcCIpKTsKCSZtb3YJKCJlZHgiLCZEV1AoOCooOSsxNSsxNi0xKSs0LCJlc3AiKSk7CgkmbW92CSgiZXNpIiwiZWN4Iik7CgoJJnNocgkoImVjeCIsMSk7CSMgbG8+PjEKCSZtb3YJKCJlZGkiLCJlZHgiKTsKCSZzaHIJKCJlZHgiLDEpOwkjIGhpPj4xCgkmbW92CSgiZWF4IiwiZWN4Iik7Cgkmc2hsCSgiZXNpIiwyNCk7CSMgbG88PDI0CgkmbW92CSgiZWJ4IiwiZWR4Iik7Cgkmc2hsCSgiZWRpIiwyNCk7CSMgaGk8PDI0CgkmeG9yCSgiZWJ4IiwiZXNpIik7CgoJJnNocgkoImVjeCIsNy0xKTsJIyBsbz4+NwoJJnhvcgkoImVheCIsImVkaSIpOwoJJnNocgkoImVkeCIsNy0xKTsJIyBoaT4+NwoJJnhvcgkoImVheCIsImVjeCIpOwoJJnNobAkoImVzaSIsMzEtMjQpOwkjIGxvPDwzMQoJJnhvcgkoImVieCIsImVkeCIpOwoJJnNobAkoImVkaSIsMjUtMjQpOwkjIGhpPDwyNQoJJnhvcgkoImVieCIsImVzaSIpOwoKCSZzaHIJKCJlY3giLDgtNyk7CSMgbG8+PjgKCSZ4b3IJKCJlYXgiLCJlZGkiKTsKCSZzaHIJKCJlZHgiLDgtNyk7CSMgaGk+PjgKCSZ4b3IJKCJlYXgiLCJlY3giKTsKCSZzaGwJKCJlZGkiLDMxLTI1KTsJIyBoaTw8MzEKCSZ4b3IJKCJlYngiLCJlZHgiKTsKCSZ4b3IJKCJlYXgiLCJlZGkiKTsJCQkjIFQxID0gc2lnbWEwKFhbLTE1XSkKCgkmbW92CSgmRFdQKDAsImVzcCIpLCJlYXgiKTsKCSZtb3YJKCZEV1AoNCwiZXNwIiksImVieCIpOwkJIyBwdXQgVDEgYXdheQoKCSNkZWZpbmUgc2lnbWExKHgpCShST1RSKCh4KSwxOSkgXiBST1RSKCh4KSw2MSkgXiAoKHgpPj42KSkKCSMJTE8JCWxvPj4xOV5oaTw8MTMgXiBoaT4+MjlebG88PDMgXiBsbz4+Nl5oaTw8MjYKCSMJSEkJCWhpPj4xOV5sbzw8MTMgXiBsbz4+MjleaGk8PDMgXiBoaT4+NgoJJm1vdgkoImVjeCIsJkRXUCg4Kig5KzE1KzE2LTE0KSswLCJlc3AiKSk7CgkmbW92CSgiZWR4IiwmRFdQKDgqKDkrMTUrMTYtMTQpKzQsImVzcCIpKTsKCSZtb3YJKCJlc2kiLCJlY3giKTsKCgkmc2hyCSgiZWN4Iiw2KTsJIyBsbz4+NgoJJm1vdgkoImVkaSIsImVkeCIpOwoJJnNocgkoImVkeCIsNik7CSMgaGk+PjYKCSZtb3YJKCJlYXgiLCJlY3giKTsKCSZzaGwJKCJlc2kiLDMpOwkjIGxvPDwzCgkmbW92CSgiZWJ4IiwiZWR4Iik7Cgkmc2hsCSgiZWRpIiwzKTsJIyBoaTw8MwoJJnhvcgkoImVheCIsImVzaSIpOwoKCSZzaHIJKCJlY3giLDE5LTYpOwkjIGxvPj4xOQoJJnhvcgkoImVieCIsImVkaSIpOwoJJnNocgkoImVkeCIsMTktNik7CSMgaGk+PjE5CgkmeG9yCSgiZWF4IiwiZWN4Iik7Cgkmc2hsCSgiZXNpIiwxMy0zKTsJIyBsbzw8MTMKCSZ4b3IJKCJlYngiLCJlZHgiKTsKCSZzaGwJKCJlZGkiLDEzLTMpOwkjIGhpPDwxMwoJJnhvcgkoImVieCIsImVzaSIpOwoKCSZzaHIJKCJlY3giLDI5LTE5KTsJIyBsbz4+MjkKCSZ4b3IJKCJlYXgiLCJlZGkiKTsKCSZzaHIJKCJlZHgiLDI5LTE5KTsJIyBoaT4+MjkKCSZ4b3IJKCJlYngiLCJlY3giKTsKCSZzaGwJKCJlZGkiLDI2LTEzKTsJIyBoaTw8MjYKCSZ4b3IJKCJlYXgiLCJlZHgiKTsKCSZ4b3IJKCJlYXgiLCJlZGkiKTsJCQkjIHNpZ21hMShYWy0yXSkKCgkmbW92CSgiZWN4IiwmRFdQKDgqKDkrMTUrMTYpKzAsImVzcCIpKTsKCSZtb3YJKCJlZHgiLCZEV1AoOCooOSsxNSsxNikrNCwiZXNwIikpOwoJJmFkZAkoImVheCIsJkRXUCgwLCJlc3AiKSk7CgkmYWRjCSgiZWJ4IiwmRFdQKDQsImVzcCIpKTsJCSMgVDEgPSBzaWdtYTEoWFstMl0pK1QxCgkmbW92CSgiZXNpIiwmRFdQKDgqKDkrMTUrMTYtOSkrMCwiZXNwIikpOwoJJm1vdgkoImVkaSIsJkRXUCg4Kig5KzE1KzE2LTkpKzQsImVzcCIpKTsKCSZhZGQJKCJlYXgiLCJlY3giKTsKCSZhZGMJKCJlYngiLCJlZHgiKTsJCQkjIFQxICs9IFhbLTE2XQoJJmFkZAkoImVheCIsImVzaSIpOwoJJmFkYwkoImVieCIsImVkaSIpOwkJCSMgVDEgKz0gWFstN10KCSZtb3YJKCZEV1AoOCooOSsxNSkrMCwiZXNwIiksImVheCIpOwoJJm1vdgkoJkRXUCg4Kig5KzE1KSs0LCJlc3AiKSwiZWJ4Iik7CSMgc2F2ZSBYWzBdCgoJJkJPRFlfMDBfMTVfeDg2KCk7CgoJJmNtcAkoJkxCKCJlZHgiKSwweDE3KTsKCSZqbmUJKCZsYWJlbCgiMTZfNzlfeDg2IikpOwoKCSZtb3YJKCJlc2kiLCZEV1AoOCooOSsxNis4MCkrMCwiZXNwIikpOyMgY3R4CgkmbW92CSgiZWRpIiwmRFdQKDgqKDkrMTYrODApKzQsImVzcCIpKTsjIGlucAogICAgZm9yKCRpPTA7JGk8NDskaSsrKSB7CgkmbW92CSgiZWF4IiwmRFdQKCRpKjE2KzAsImVzaSIpKTsKCSZtb3YJKCJlYngiLCZEV1AoJGkqMTYrNCwiZXNpIikpOwoJJm1vdgkoImVjeCIsJkRXUCgkaSoxNis4LCJlc2kiKSk7CgkmbW92CSgiZWR4IiwmRFdQKCRpKjE2KzEyLCJlc2kiKSk7CgkmYWRkCSgiZWF4IiwmRFdQKDgrKCRpKjE2KSswLCJlc3AiKSk7CgkmYWRjCSgiZWJ4IiwmRFdQKDgrKCRpKjE2KSs0LCJlc3AiKSk7CgkmbW92CSgmRFdQKCRpKjE2KzAsImVzaSIpLCJlYXgiKTsKCSZtb3YJKCZEV1AoJGkqMTYrNCwiZXNpIiksImVieCIpOwoJJmFkZAkoImVjeCIsJkRXUCg4KygkaSoxNikrOCwiZXNwIikpOwoJJmFkYwkoImVkeCIsJkRXUCg4KygkaSoxNikrMTIsImVzcCIpKTsKCSZtb3YJKCZEV1AoJGkqMTYrOCwiZXNpIiksImVjeCIpOwoJJm1vdgkoJkRXUCgkaSoxNisxMiwiZXNpIiksImVkeCIpOwogICAgfQoJJmFkZAkoImVzcCIsOCooOSsxNis4MCkpOwkJIyBkZXN0cm95IGZyYW1lCgkmc3ViCSgkSzUxMiw4KjgwKTsJCQkjIHJld2luZCBLCgoJJmNtcAkoImVkaSIsJkRXUCg4LCJlc3AiKSk7CQkjIGFyZSB3ZSBkb25lIHlldD8KCSZqYgkoJmxhYmVsKCJsb29wX3g4NiIpKTsKCgkmbW92CSgiZXNwIiwmRFdQKDEyLCJlc3AiKSk7CQkjIHJlc3RvcmUgc3AKJmZ1bmN0aW9uX2VuZF9BKCk7Cgomc2V0X2xhYmVsKCJLNTEyIiw2NCk7CSMgWWVzISBJIGtlZXAgaXQgaW4gdGhlIGNvZGUgc2VnbWVudCEKCSZkYXRhX3dvcmQoMHhkNzI4YWUyMiwweDQyOGEyZjk4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyM2VmNjVjZCwweDcxMzc0NDkxKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlYzRkM2IyZiwweGI1YzBmYmNmKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg4MTg5ZGJiYywweGU5YjVkYmE1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhmMzQ4YjUzOCwweDM5NTZjMjViKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiNjA1ZDAxOSwweDU5ZjExMWYxKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhhZjE5NGY5YiwweDkyM2Y4MmE0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkYTZkODExOCwweGFiMWM1ZWQ1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhhMzAzMDI0MiwweGQ4MDdhYTk4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0NTcwNmZiZSwweDEyODM1YjAxKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0ZWU0YjI4YywweDI0MzE4NWJlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkNWZmYjRlMiwweDU1MGM3ZGMzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhmMjdiODk2ZiwweDcyYmU1ZDc0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzYjE2OTZiMSwweDgwZGViMWZlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyNWM3MTIzNSwweDliZGMwNmE3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhjZjY5MjY5NCwweGMxOWJmMTc0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg5ZWYxNGFkMiwweGU0OWI2OWMxKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzODRmMjVlMywweGVmYmU0Nzg2KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg4YjhjZDViNSwweDBmYzE5ZGM2KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg3N2FjOWM2NSwweDI0MGNhMWNjKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1OTJiMDI3NSwweDJkZTkyYzZmKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg2ZWE2ZTQ4MywweDRhNzQ4NGFhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiZDQxZmJkNCwweDVjYjBhOWRjKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg4MzExNTNiNSwweDc2Zjk4OGRhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlZTY2ZGZhYiwweDk4M2U1MTUyKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyZGI0MzIxMCwweGE4MzFjNjZkKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg5OGZiMjEzZiwweGIwMDMyN2M4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiZWVmMGVlNCwweGJmNTk3ZmM3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzZGE4OGZjMiwweGM2ZTAwYmYzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg5MzBhYTcyNSwweGQ1YTc5MTQ3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlMDAzODI2ZiwweDA2Y2E2MzUxKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgwYTBlNmU3MCwweDE0MjkyOTY3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0NmQyMmZmYywweDI3YjcwYTg1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1YzI2YzkyNiwweDJlMWIyMTM4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1YWM0MmFlZCwweDRkMmM2ZGZjKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg5ZDk1YjNkZiwweDUzMzgwZDEzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg4YmFmNjNkZSwweDY1MGE3MzU0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzYzc3YjJhOCwweDc2NmEwYWJiKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0N2VkYWVlNiwweDgxYzJjOTJlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgxNDgyMzUzYiwweDkyNzIyYzg1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0Y2YxMDM2NCwweGEyYmZlOGExKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiYzQyMzAwMSwweGE4MWE2NjRiKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkMGY4OTc5MSwweGMyNGI4YjcwKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgwNjU0YmUzMCwweGM3NmM1MWEzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkNmVmNTIxOCwweGQxOTJlODE5KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1NTY1YTkxMCwweGQ2OTkwNjI0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1NzcxMjAyYSwweGY0MGUzNTg1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzMmJiZDFiOCwweDEwNmFhMDcwKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiOGQyZDBjOCwweDE5YTRjMTE2KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1MTQxYWI1MywweDFlMzc2YzA4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkZjhlZWI5OSwweDI3NDg3NzRjKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlMTliNDhhOCwweDM0YjBiY2I1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhjNWM5NWE2MywweDM5MWMwY2IzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlMzQxOGFjYiwweDRlZDhhYTRhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg3NzYzZTM3MywweDViOWNjYTRmKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkNmIyYjhhMywweDY4MmU2ZmYzKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg1ZGVmYjJmYywweDc0OGY4MmVlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0MzE3MmY2MCwweDc4YTU2MzZmKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhhMWYwYWI3MiwweDg0Yzg3ODE0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgxYTY0MzllYywweDhjYzcwMjA4KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyMzYzMWUyOCwweDkwYmVmZmZhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhkZTgyYmRlOSwweGE0NTA2Y2ViKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiMmM2NzkxNSwweGJlZjlhM2Y3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlMzcyNTMyYiwweGM2NzE3OGYyKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlYTI2NjE5YywweGNhMjczZWNlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyMWMwYzIwNywweGQxODZiOGM3KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhjZGUwZWIxZSwweGVhZGE3ZGQ2KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhlZTZlZDE3OCwweGY1N2Q0ZjdmKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg3MjE3NmZiYSwweDA2ZjA2N2FhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhhMmM4OThhNiwweDBhNjM3ZGM1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhiZWY5MGRhZSwweDExM2Y5ODA0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgxMzFjNDcxYiwweDFiNzEwYjM1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgyMzA0N2Q4NCwweDI4ZGI3N2Y1KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0MGM3MjQ5MywweDMyY2FhYjdiKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgxNWM5YmViYywweDNjOWViZTBhKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg5YzEwMGQ0YywweDQzMWQ2N2M0KTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhjYjNlNDJiNiwweDRjYzVkNGJlKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHhmYzY1N2UyYSwweDU5N2YyOTljKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHgzYWQ2ZmFlYywweDVmY2I2ZmFiKTsJIyB1NjQKCSZkYXRhX3dvcmQoMHg0YTQ3NTgxNywweDZjNDQxOThjKTsJIyB1NjQKCgkmZGF0YV93b3JkKDB4MDQwNTA2MDcsMHgwMDAxMDIwMyk7CSMgYnl0ZSBzd2FwCgkmZGF0YV93b3JkKDB4MGMwZDBlMGYsMHgwODA5MGEwYik7CSMgbWFzawomZnVuY3Rpb25fZW5kX0IoInNoYTUxMl9ibG9ja19kYXRhX29yZGVyIik7CiZhc2NpeigiU0hBNTEyIGJsb2NrIHRyYW5zZm9ybSBmb3IgeDg2LCBDUllQVE9HQU1TIGJ5IDxhcHByb1xAb3BlbnNzbC5vcmc+Iik7CgomYXNtX2ZpbmlzaCgpOwo=