ZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzLzc1MjBWM19ERFJfMUdiXzMxMi5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My83NTIwVjNfRERSXzFHYl8zMTIuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjM2MxNDEKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My83NTIwVjNfRERSXzFHYl8zMTIuY21tCkBAIC0wLDAgKzEsMzQgQEAKK2FyZWEucmVzZXQNCitzeXMuY3B1IENvcnRleE0wDQorc3lzLmJkbWNsb2NrIDMuME1IegkJCTtjb3J0ZXgtbTANCitzeXMubyBlbnJlc2V0IE9GRg0KK3N5cy51cA0KKw0KK3dhaXQgMC4ycyANCitkbyAuL3N5cy9jbGtfaW5pdC5jbW0NCitkbyAuL3N5cy9kZHJfaW5pdF8zMTJtLmNtbQ0KKw0KKw0KK3dhaXQgMC4ycyANCisvL00wIGFkZHJlc3MgcmVtYXAgYml0MjMNCitkYXRhLnNldCAweDAwMTQwMDAwICVsb25nIDB4MDA4NzEwMDANCisgDQorLy9jbGVhciBpcmFtMA0KK2RhdGEuc2V0IDB4ODIwMDAwMDAtLTB4ODIwMWZmZmYgMHgwDQord2FpdCAwLjFzDQorLy9zZXQgaGVyZSB0aGUgcHMtY3B1IHRvIDMyYml0IG1vZGUsdGhpcyBtdXN0IGJlIHNldCBiZWZvcmUgcmVzZXQgcHMtY3B1IA0KKztkYXRhLnNldCAweDAwMTQwMUUwICVsb25nIDB4MjAJCS8vYXANCis7ZGF0YS5zZXQgMHgwMDE0MDFFQyAlbG9uZyAweDIwCQkvL3BzCQ0KKw0KKw0KKy8vIFJlbGVhc2UgUjcvQTkgcmVzZXQgc2lnbmFsDQorO2RhdGEuc2V0IDB4MDEzYjEzOCAlbG9uZyAweDAwMDAwMDAxIC8vIFBTDQorZGF0YS5zZXQgMHgwMDEzYjEzNCAlbG9uZyAweDAwMDAwMDAxIC8vIEFQDQorDQorLy9qdGFnMCB0byBwcw0KKztkbyAuL3N5cy9qdGFnX3N3aXRjaF9zY3JpcHQuY21tIDAgMQ0KKw0KKy8vanRhZzAgdG8gYXANCitkbyAuL3N5cy9qdGFnX3N3aXRjaF9zY3JpcHQuY21tIDAgMw0KKw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2F0YWctbGlzdC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9hdGFnLWxpc3QuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzMWU5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9hdGFnLWxpc3QuY21tCkBAIC0wLDAgKzEsNjYgQEAKKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKzsgU2V0dXAgcGFyYW1ldGVyIHRhZ3MgZm9yIDI5NzUyMHYyZnBnYSBMaW51eCBib290DQorOyBjcmVhdGVkIGJ5IFpURS1UU1AgYXQgMjAxNS4wOC4wNw0KKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KKyZ0YWdBZGRyPTB4MjIzMDAxMDANCisNCis7IEFUQUdfQ09SRQ0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDUNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHg1NDQxMDAwMQ0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDENCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgxMDAwDQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4MA0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KKw0KKzsgQVRBR19NRU0NCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHg0DQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4NTQ0MTAwMDINCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgzMDAwMDAwICAvLyBzaXplIDQ4TUINCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgyMjMwMDAwMCAgLy8gc3RhcnQNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCisNCis7IEFUQUdfSU5JVFJEMg0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDQNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHg1NDQyMDAwNQ0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDIyRDAwMDAwIC8vIHN0YXJ0DQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorJmluaXRyZF9zaXplPW9zLmZpbGUuc2l6ZSgmSU5JVFJEX1BBVEgpDQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFICZpbml0cmRfc2l6ZSAvLyBmaWxlIHNpemUgaW4gYnl0ZXMNCismdGFnQWRkcj0mdGFnQWRkcisweDQNCisNCis7IEFUQUdfQ01ETElORQ0KKzsmY21kbGluZT0iY29uc29sZT10dHlTMCwxMTUyMDAiDQorOyZjbWRsaW5lPSJjb25zb2xlPXR0eVMwLDExNTIwMCByb290PS9kZXYvcmFtMCBydyByZGluaXQ9L2xpbnV4cmMgbXRkcGFydHM9ZGVuYWxpLW5hbmQ6MW1AMHgwKHpsb2FkZXIpLDJtQDB4MTAwMDAwKHVib290KSwxbUAweDMwMDAwMChjcHVtMCksMm1AMHg0MDAwMDAobnZybyksOG1AMHg2MDAwMDAobnZydyksMm1AMHhlMDAwMDAobnZmYWMpLDFtQDB4MTAwMDAwMChmb3RhZmxhZyksN21AMHgxMTAwMDAwKGNwdXpzcCksMW1AMHgxODAwMDAwKHNtcyksMTVtQDB4MTkwMDAwMChjcHVyNyksMTBtQDB4MjgwMDAwMChjcHVhcCksNG1AMHgzMjAwMDAwKGNwZnMpLDhtQDB4MzYwMDAwMChyYW1kaXNrKSw3bUAweDNlMDAwMDAocmVjb3ZlcnkpLDZtQDB4NDUwMDAwMChyZWNvdmVyeS1rZXJuZWwpLDE2bUAweDRiMDAwMDAoY2Ryb20pLDgwbUAweDViMDAwMDAodXNlcmRhdGEpLDYwbUAweGFiMDAwMDAoZm90YXVwZGF0ZSksN21AMHhmNTAwMDAwKGNwdXpzcGFtdCksMm1AMHhmYzAwMDAwKHNlY3VyZWZzKSINCis7JmNtZGxpbmU9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIG5vX2NvbnNvbGVfc3VzcGVuZCBtdGRwYXJ0cz1kZW5hbGktbmFuZDoxbUAweDAoemxvYWRlciksMm1AMHgxMDAwMDAodWJvb3QpLDFtQDB4MzAwMDAwKGNwdW0wKSwybUAweDQwMDAwMChudnJvKSw4bUAweDYwMDAwMChudnJ3KSwybUAweGUwMDAwMChudmZhYyksMW1AMHgxMDAwMDAwKGZvdGFmbGFnKSw3bUAweDExMDAwMDAoY3B1cGh5KSwxbUAweDE4MDAwMDAoc21zKSwxNW1AMHgxOTAwMDAwKGNwdXByb3h5KSwxMG1AMHgyODAwMDAwKGNwdWFwKSw0bUAweDMyMDAwMDAoY3BmcyksOG1AMHgzNjAwMDAwKHJhbWRpc2spLDdtQDB4M2UwMDAwMChyZWNvdmVyeSksNm1AMHg0NTAwMDAwKHJlY292ZXJ5LWtlcm5lbCksMTZtQDB4NGIwMDAwMChjZHJvbSksODBtQDB4NWIwMDAwMCh1c2VyZGF0YSksNjBtQDB4YWIwMDAwMChmb3RhdXBkYXRlKSwybUAweGZjMDAwMDAoc2VjdXJlZnMpLDQxOTQzMDNrQDB4MChkZHIpIHJvb3Q9L2Rldi9tdGRibG9jazE2IHJ3IHJvb3Rmc3R5cGU9amZmczIgYm9vdF9yZWFzb249MCINCis7JmNtZGxpbmU9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIHJvb3Q9L2Rldi9yYW0wIHJ3IHJkaW5pdD0vbGludXhyYyBtdGRwYXJ0cz1kZW5hbGktbmFuZDoxbUAweDAoemxvYWRlciksMm1AMHgxMDAwMDAodWJvb3QpLDFtQDB4MzAwMDAwKGNwdW0wKSwxbUAweDQwMDAwMChudnJvKSw4bUAweDUwMDAwMChudnJ3KSwxbUAweGQwMDAwMChmb3RhZmxhZyksOW1AMHhlMDAwMDAoY3B1enNwKSwxbUAweDE3MDAwMDAoc21zKSwxNW1AMHgxODAwMDAwKGNwdXI3KSwxMG1AMHgyNzAwMDAwKGE5KSwxbUAweDMxMDAwMDAoZm90YWJhY2t1cCksNjRtQDB4MzIwMDAwMChmb3RhdXBkYXRlKSwxNm1AMHg3MjAwMDAwKGNkcm9tKSwzMm1AMHg4MjAwMDAwKHVzZXJkYXRhKSw4MG1AMHhhMjAwMDAwKGpmZnMyKSIgDQorOyZjbWRsaW5lPSJjb25zb2xlPXR0eVMwLDExNTIwMCBub19jb25zb2xlX3N1c3BlbmQgbXRkcGFydHM9ZGVuYWxpLW5hbmQ6MW1AMHgwKHpsb2FkZXIpLDJtQDB4MTAwMDAwKHVib290KSwxbUAweDMwMDAwMChjcHVtMCksMW1AMHg0MDAwMDAobnZybyksOG1AMHg1MDAwMDAobnZydyksMW1AMHhkMDAwMDAoZm90YWZsYWcpLDltQDB4ZTAwMDAwKGNwdXpzcCksMW1AMHgxNzAwMDAwKHNtcyksMTVtQDB4MTgwMDAwMChjcHVyNyksMTBtQDB4MjcwMDAwMChhOSksMW1AMHgzMTAwMDAwKGZvdGFiYWNrdXApLDY0bUAweDMyMDAwMDAoZm90YXVwZGF0ZSksMTZtQDB4NzIwMDAwMChjZHJvbSksMzJtQDB4ODIwMDAwMCh1c2VyZGF0YSksODBtQDB4YTIwMDAwMChqZmZzMikgcm9vdD0vZGV2L210ZGJsb2NrMTMgcncgcm9vdGZzdHlwZT1qZmZzMiINCis7JmNtZGxpbmU9ImNvbnNvbGU9dHR5UzAsMTE1MjAwIG5vX2NvbnNvbGVfc3VzcGVuZCBtdGRwYXJ0cz1kZW5hbGktbmFuZDoxbUAweDAoemxvYWRlciksMm1AMHgxMDAwMDAodWJvb3QpLDFtQDB4MzAwMDAwKGNwdW0wKSwxbUAweDQwMDAwMChudnJvKSw4bUAweDUwMDAwMChudnJ3KSwybUAweGQwMDAwMChudmZhYyksMW1AMHhmMDAwMDAoZm90YWZsYWcpLDdtQDB4MTAwMDAwMChjcHV6c3ApLDFtQDB4MTcwMDAwMChzbXMpLDE1bUAweDE4MDAwMDAoY3B1cjcpLDEwbUAweDI3MDAwMDAoY3B1YXApLDRtQDB4MzEwMDAwMChjcGZzKSw4bUAweDM1MDAwMDAocmFtZGlzayksN21AMHgzZDAwMDAwKHJlY292ZXJ5KSw2bUAweDQ0MDAwMDAocmVjb3Zlcnkta2VybmVsKSw4MG1AMHg0YTAwMDAwKGNkcm9tKSw0MG1AMHg5YTAwMDAwKHVzZXJkYXRhKSwzMG1AMHhjMjAwMDAwKGZvdGF1cGRhdGUpIHJvb3Q9L2Rldi9tdGRibG9jazE2IHJ3IHJvb3Rmc3R5cGU9amZmczIiDQorJmNtZGxpbmU9ImNvbnNvbGU9dHR5UzEsMTE1MjAwIHJvb3Q9L2Rldi9yYW0wIHJ3IHJkaW5pdD0vbGludXhyYyIgDQorJmNtZHNpemU9KHN0cmluZy5sZW4oIiZjbWRsaW5lIikrMTYpJn4weDMNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgJmNtZHNpemUvNA0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KK2RhdGEuc2V0ICZ0YWdBZGRyICVMT05HICVMRSAweDU0NDEwMDA5DQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgIiZjbWRsaW5lIiAwDQorJnRhZ0FkZHI9JnRhZ0FkZHIrKCZjbWRzaXplLTgpDQorDQorOyBBVEFHX05PTkUNCitkYXRhLnNldCAmdGFnQWRkciAlTE9ORyAlTEUgMHgwDQorJnRhZ0FkZHI9JnRhZ0FkZHIrMHg0DQorZGF0YS5zZXQgJnRhZ0FkZHIgJUxPTkcgJUxFIDB4MA0KKyZ0YWdBZGRyPSZ0YWdBZGRyKzB4NA0KKw0KKw0KK2VuZGRvDQorDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvYm9vdF9hdHRhY2hfQ29ydGV4QTUzX2FwLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2Jvb3RfYXR0YWNoX0NvcnRleEE1M19hcC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjk5MTcwZgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2Jvb3RfYXR0YWNoX0NvcnRleEE1M19hcC5jbW0KQEAgLTAsMCArMSwxNCBAQAorYXJlYS5yZXNldA0KK3N5cy5jcHUgQ29ydGV4TTANCitzeXMuYmRtY2xvY2sgMy4wTUh6DQorc3lzLm8gZW5yZXNldCBPRkYNCitzeXMuYXR0YWNoDQorYnJlYWsNCitXYWl0IDAuMnMNCisNCisvL3N0b3AgbTAgd2R0DQorZGF0YS5zZXQgMHgwMDE0ODAxQyAlbG9uZyAweDEyMzQwMDAwICAvL20wDQorDQorLy9qdGFnMCB0byBhcA0KK2RvIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMCAxDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvY29uc29sZV9ldmIuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvY29uc29sZV9ldmIuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmViOWI3NDMKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jb25zb2xlX2V2Yi5jbW0KQEAgLTAsMCArMSw3MiBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOyBJbml0aWFsaXplIFNFUklBTCAwIGFzIGNvbnNvbGUgZm9yIHp4Mjk3NTIwdjNfZnBnYSBsaW51eDogMTE1MjAwIDgvTi8xDQorOyBjcmVhdGVkIGJ5IHh1emhpZ3VvIC8gWlRFLVRTUCBhdCAwMy4xOC4yMDEzDQorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorJlVBUlRfQkFTRV9TWVM9MHgxNDA4MDAwCQkJCQkvLyBVQVJUMSBCYXNlIEFkZHJlc3MNCismREJHVV9EUj0mVUFSVF9CQVNFX1NZUysweDQgICAgICAgICAgICAgLy8gZGF0YSBSZWdpc3Rlcg0KKyZEQkdVX1NDPSZVQVJUX0JBU0VfU1lTKzB4OCAgICAgICAgICAgICAvLyBzcGVjaWFsIGNoYXJhY3RlciBSZWdpc3Rlcg0KKyZEQkdVX0ZSPSZVQVJUX0JBU0VfU1lTKzB4MTQgICAgICAgICAgICAvLyBmbGFnIFJlZ2lzdGVyDQorJkRCR1VfSUJSRD0mVUFSVF9CQVNFX1NZUysweDI0ICAgICAgICAgIC8vIGludGVnZXIgQmF1ZCBSYXRlIEdlbmVyYXRvciBSZWdpc3RlciANCismREJHVV9GQlJEPSZVQVJUX0JBU0VfU1lTKzB4MjggICAgICAgICAgLy8gZnJhY3Rpb25hbCBCYXVkIFJhdGUgR2VuZXJhdG9yIFJlZ2lzdGVyICANCismREJHVV9MQ1JfSD0mVUFSVF9CQVNFX1NZUysweDMwICAgICAgICAgLy8gTGluZSBDb250cm9sIFJlZ2lzdGVyDQorJkRCR1VfQ1I9JlVBUlRfQkFTRV9TWVMrMHgzNCAgICAgICAgICAgIC8vIENvbnRyb2wgUmVnaXN0ZXINCismREJHVV9JTVNDPSZVQVJUX0JBU0VfU1lTKzB4NDAgICAgICAgICAgLy8gSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXINCisNCismVE9QX0ZVTkNfU0VMX0JBU0U9MHgwMDEzQzAwMAkJLy8gMC1BT04gRlVOQyAgDQorJkFPTl9GVU5DX1NFTF9CQVNFPTB4MDAxM0MwMDAgICAgICAgICAgIC8vIDAtcnhkIG9yIHR4ZCBmdW5jDQorJlVBUlQwX1RPUF9GVU5DPSZUT1BfRlVOQ19TRUxfQkFTRSsweDEwDQorJlVBUlQwX0FPTl9GVU5DPSZBT05fRlVOQ19TRUxfQkFTRSswDQorDQorLy8gc2V0IGdwaW8gZnVuY3Rpb24gdG8gVUFSVDAgVFggYW5kIFJYDQorOyZ0bXA9ZGF0YS5sb25nKEQ6JlVBUlQwX1RPUF9GVU5DKQ0KKzsmdG1wPSZ0bXAmMHhGRkU3RkZGRgkJCS8vIEFPTiBmdW5jDQorOyZ0bXA9ZGF0YS5sb25nKEQ6JlVBUlQwX0FPTl9GVU5DKQ0KKzsmdG1wPSZ0bXAmMHhGRkZGMEZGRgkJCS8vIFVBUlQgRlVOQw0KKw0KKy8vc2V0IHVhcnQxIHdvcmtzIGNsb2NrIGRpdmlzb24gdG8gMQ0KKzsgaXQgaXMgZG9uZSBpbiBldmIyOTc1MTAuY21tDQorZGF0YS5zZXQgMHgxNDAwMDI4ICVsb25nIDB4ZmZmZmYNCisNCisvL2Rpc2FibGUgdWFydA0KK2RhdGEuc2V0ICZEQkdVX0NSICVMT05HIDB4MA0KKy8vIG1hc2sgYWxsIGludGVycnVwdA0KK2RhdGEuc2V0ICZEQkdVX0lNU0MgJUxPTkcgMHgwDQorDQorLy8gU2V0IGJhdWQgcmF0ZSAxMTUyMDANCitkYXRhLnNldCAmREJHVV9JQlJEICVMT05HIDB4MzggICAgIC8vb24gRVZCIHBsYXRmb3JtLCB1YXJ0IHdvcmsgY2xvY2sgaXMgMTA0TUh6DQorZGF0YS5zZXQgJkRCR1VfRkJSRCAlTE9ORyAweDFCDQorDQorLy8gc2V0IHRoZSBwb3J0IHRvIG5vIHBhcml0eSwgbm8gbG9vcGJhY2ssIDgvTi8xLCBlbmFibGUgRklGTw0KK2RhdGEuc2V0ICZEQkdVX0xDUl9IICVMT05HIDB4NzANCisNCisNCisNCisvLyBFbmFibGUNCitkYXRhLnNldCAmREJHVV9DUiAlTE9ORyAweDMwMQ0KKw0KK3ByaW50ICJwcmludGluZyAnVUFSVCBPSycgb24gY29uc29sZSINCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBhICAvL25leHQgbGluZQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDBkICAvL2VudGVyDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NTUgIC8vVQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDQxICAvL0ENCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg1MiAgLy9SDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NTQgIC8vVA0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDIwICAvL3NwYWNlDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NGYgIC8vTw0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDRiICAvL0sNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwYSAgLy9uZXh0IGxpbmUNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwZCAgLy9lbnRlcg0KK3dhaXQgMTAubXMNCisNCitlbmRkbw0KKw0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NvbnNvbGVfZnBnYS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jb25zb2xlX2ZwZ2EuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjBhNDA1YjkKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jb25zb2xlX2ZwZ2EuY21tCkBAIC0wLDAgKzEsNzEgQEAKKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKzsgSW5pdGlhbGl6ZSBTRVJJQUwgMCBhcyBjb25zb2xlIGZvciB6eDI5NzUyMHYzX2ZwZ2EgbGludXg6IDExNTIwMCA4L04vMQ0KKzsgY3JlYXRlZCBieSB4dXpoaWd1byAvIFpURS1UU1AgYXQgMDMuMTguMjAxMw0KKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKyZVQVJUX0JBU0VfU1lTPTB4MTQwODAwMAkJCQkJLy8gVUFSVDEgQmFzZSBBZGRyZXNzDQorDQorJkRCR1VfRFI9JlVBUlRfQkFTRV9TWVMrMHg0ICAgICAgICAgICAgIC8vIGRhdGEgUmVnaXN0ZXINCismREJHVV9TQz0mVUFSVF9CQVNFX1NZUysweDggICAgICAgICAgICAgLy8gc3BlY2lhbCBjaGFyYWN0ZXIgUmVnaXN0ZXINCismREJHVV9GUj0mVUFSVF9CQVNFX1NZUysweDE0ICAgICAgICAgICAgLy8gZmxhZyBSZWdpc3Rlcg0KKyZEQkdVX0lCUkQ9JlVBUlRfQkFTRV9TWVMrMHgyNCAgICAgICAgICAvLyBpbnRlZ2VyIEJhdWQgUmF0ZSBHZW5lcmF0b3IgUmVnaXN0ZXIgDQorJkRCR1VfRkJSRD0mVUFSVF9CQVNFX1NZUysweDI4ICAgICAgICAgIC8vIGZyYWN0aW9uYWwgQmF1ZCBSYXRlIEdlbmVyYXRvciBSZWdpc3RlciAgDQorJkRCR1VfTENSX0g9JlVBUlRfQkFTRV9TWVMrMHgzMCAgICAgICAgIC8vIExpbmUgQ29udHJvbCBSZWdpc3Rlcg0KKyZEQkdVX0NSPSZVQVJUX0JBU0VfU1lTKzB4MzQgICAgICAgICAgICAvLyBDb250cm9sIFJlZ2lzdGVyDQorJkRCR1VfSU1TQz0mVUFSVF9CQVNFX1NZUysweDQwICAgICAgICAgIC8vIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyDQorDQorJlRPUF9GVU5DX1NFTF9CQVNFPTB4MDAxM0MwMDAJCS8vIDAtQU9OIEZVTkMgIA0KKyZBT05fRlVOQ19TRUxfQkFTRT0weDAwMTNDMDAwICAgICAgICAgICAvLyAwLXJ4ZCBvciB0eGQgZnVuYw0KKyZVQVJUMF9UT1BfRlVOQz0mVE9QX0ZVTkNfU0VMX0JBU0UrMHgxMA0KKyZVQVJUMF9BT05fRlVOQz0mQU9OX0ZVTkNfU0VMX0JBU0UrMA0KKw0KKy8vIHNldCBncGlvIGZ1bmN0aW9uIHRvIFVBUlQwIFRYIGFuZCBSWA0KKzsmdG1wPWRhdGEubG9uZyhEOiZVQVJUMF9UT1BfRlVOQykNCis7JnRtcD0mdG1wJjB4RkZFN0ZGRkYJCQkvLyBBT04gZnVuYw0KKzsmdG1wPWRhdGEubG9uZyhEOiZVQVJUMF9BT05fRlVOQykNCis7JnRtcD0mdG1wJjB4RkZGRjBGRkYJCQkvLyBVQVJUIEZVTkMNCisNCisvL3NldCB1YXJ0MSB3b3JrcyBjbG9jayBkaXZpc29uIHRvIDENCis7IGl0IGlzIGRvbmUgaW4gZXZiMjk3NTEwLmNtbQ0KKw0KKy8vZGlzYWJsZSB1YXJ0DQorZGF0YS5zZXQgJkRCR1VfQ1IgJUxPTkcgMHgwDQorDQorLy8gbWFzayBhbGwgaW50ZXJydXB0DQorZGF0YS5zZXQgJkRCR1VfSU1TQyAlTE9ORyAweDANCisNCisvLyBTZXQgYmF1ZCByYXRlIDExNTIwMA0KK2RhdGEuc2V0ICZEQkdVX0lCUkQgJUxPTkcgMHhEICAgICAvL29uIEZQR0EgcGxhdGZvcm0sIHVhcnQgd29yayBjbG9jayBpcyAyNU1Ieg0KK2RhdGEuc2V0ICZEQkdVX0ZCUkQgJUxPTkcgMHgyNA0KKw0KKy8vIHNldCB0aGUgcG9ydCB0byBubyBwYXJpdHksIG5vIGxvb3BiYWNrLCA4L04vMSwgZW5hYmxlIEZJRk8NCitkYXRhLnNldCAmREJHVV9MQ1JfSCAlTE9ORyAweDcwDQorDQorLy8gRW5hYmxlDQorZGF0YS5zZXQgJkRCR1VfQ1IgJUxPTkcgMHgzMDENCisNCitwcmludCAicHJpbnRpbmcgJ1VBUlQgT0snIG9uIGNvbnNvbGUiDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwYSAgLy9uZXh0IGxpbmUNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgwZCAgLy9lbnRlcg0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDU1ICAvL1UNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg0MSAgLy9BDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4NTIgIC8vUg0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDU0ICAvL1QNCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHgyMCAgLy9zcGFjZQ0KK3dhaXQgMTAubXMNCitkYXRhLnNldCAmREJHVV9EUiAlQllURSAweDRmICAvL08NCit3YWl0IDEwLm1zDQorZGF0YS5zZXQgJkRCR1VfRFIgJUJZVEUgMHg0YiAgLy9LDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4MGEgIC8vbmV4dCBsaW5lDQord2FpdCAxMC5tcw0KK2RhdGEuc2V0ICZEQkdVX0RSICVCWVRFIDB4MGQgIC8vZW50ZXINCit3YWl0IDEwLm1zDQorDQorZW5kZG8NCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jcGlvX3JhbWRpc2suZ3ogYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9jcGlvX3JhbWRpc2suZ3oKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTA0NzM3NAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2NwaW9fcmFtZGlzay5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eC5tZW4gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eC5tZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDAyYjlkYgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4Lm1lbgpAQCAtMCwwICsxLDkwMSBAQAorOyBMaW51eCBzcGVjaWZpYyBtZW51DQorDQorYWRkDQorbWVudQ0KKygNCisgIHBvcHVwICImTGludXgiDQorICAoDQorICAgIGRlZmF1bHQNCisgICAgbWVudWl0ZW0gIkRpc3BsYXkgJlByb2Nlc3NlcyIgIlRBU0suUHJvY2VzcyINCisgICAgbWVudWl0ZW0gIkRpc3BsYXkgJnBzLWxpa2UiICAgIlRBU0suUFMiDQorICAgIG1lbnVpdGVtICJEaXNwbGF5ICZUYXNrcyIgICAgICJUQVNLLkRUYXNrIg0KKyAgICBtZW51aXRlbSAiRGlzcGxheSAmTW9kdWxlcyIgICAiVEFTSy5NT0R1bGUiDQorICAgIHBvcHVwICJEaXNwbGF5ICZGaWxlIFN5c3RlbSINCisgICAgKA0KKyAgICAgICAgbWVudWl0ZW0gIkRpc3BsYXkgRlMgVHlwZXMiICAgICAgICAgIlRBU0suRlMuVHlwZXMiDQorICAgICAgICBtZW51aXRlbSAiRGlzcGxheSBNb3VudCBQb2ludHMiICAgICAiVEFTSy5GUy5Nb3VudCINCisgICAgICAgIG1lbnVpdGVtICJEaXNwbGF5IE1vdW50ZWQgRGV2aWNlcyIgICJUQVNLLkZTLk1vdW50RGV2cyINCisgICAgICAgIG1lbnVpdGVtICJEaXNwbGF5IC9wcm9jIiAgICAgICAgICAgICJUQVNLLkZTLlBST0MiDQorICAgICAgICBtZW51aXRlbSAiRGlzcGxheSAvc3lzIiAgICAgICAgICAgICAiVEFTSy5GUy5TWVMiDQorICAgICkNCisgICAgc2VwYXJhdG9yDQorICAgIHBvcHVwICImUHJvY2VzcyBEZWJ1Z2dpbmciDQorICAgICgNCisgICAgICBtZW51aXRlbSAiJkxvYWQgU3ltYm9scy4uLiINCisgICAgICAoDQorICAgICAgICBkaWFsb2cNCisgICAgICAgICgNCisgICAgICAgICAgaGVhZGVyICJUQVNLLnNZbWJvbC5MT0FEIg0KKyAgICAgICAgICBwb3MgMC4gMC4gMzAuIDMuDQorICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gMS4gMjAuIDEuDQorcHJvY2w6ICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDIyLiAxLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGRpYWxvZy5maWxlICIqIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBwcm9jbCAiJmZpbGUiDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDYuIDMuIDcuIDEuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICBsb2NhbCAmcHJvY2wgJmN3ZA0KKyAgICAgICAgICAgICZwcm9jbD1kaWFsb2cuc3RyaW5nKHByb2NsKQ0KKyAgICAgICAgICAgIFRBU0suc1ltYm9sLkxPQUQgIiZwcm9jbCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiAzLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiJkRlbGV0ZSBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkRFTGV0ZSINCisgICAgICAgICAgcG9zIDAuIDAuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgcG9zIDEuIDEuIDIwLiAxLg0KK3Byb2NkOiAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgIHBvcyAyMi4gMS4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJCcm93c2UuLi4iDQorICAgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cuZmlsZSAiKiINCisgICAgICAgICAgICBlbnRyeSAlbGluZSAmZmlsZQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgcHJvY2QgIiZmaWxlIg0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyA2LiAzLiA3LiAxLg0KKyAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgbG9jYWwgJnByb2NkDQorICAgICAgICAgICAgJnByb2NkPWRpYWxvZy5zdHJpbmcocHJvY2QpDQorICAgICAgICAgICAgVEFTSy5zWW1ib2wuREVMZXRlICImcHJvY2QiDQorICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxNy4gMy4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICkNCisgICAgICApDQorICAgICAgbWVudWl0ZW0gIkRlYnVnIFByb2Nlc3Mgb24gbWFpbi4uLiINCisgICAgICAoDQorDQorICAgICAgICAmY3B1ZmFtaWx5PXN0cmluZy5sd3IoY3B1ZmFtaWx5KCkpDQorICAgICAgICBkbyB+fi9kZW1vLyZjcHVmYW1pbHkva2VybmVsL2xpbnV4L2FwcF9kZWJ1ZyAvZGlhbG9nDQorDQorICAgICAgKQ0KKyAgICAgIGFkZGhlcmUNCisgICAgICBwb3B1cCAiJldhdGNoIFByb2Nlc3NlcyINCisgICAgICAoDQorICAgICAgICBtZW51aXRlbSAiJkFkZC4uLiINCisgICAgICAgICgNCisgICAgICAgICAgZGlhbG9nDQorICAgICAgICAgICgNCisgICAgICAgICAgICBoZWFkZXIgIlRBU0suV2F0Y2guQWRkIg0KKyAgICAgICAgICAgIHBvcyAwLiAwLiAyNC4gMy4NCisgICAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgICBwb3MgMS4gMS4gMjIuIDEuDQord3Byb2NhOiAgICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICAgIHBvcyAyLiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgbG9jYWwgJndwcm9jYQ0KKyAgICAgICAgICAgICAgJndwcm9jYT1kaWFsb2cuc3RyaW5nKHdwcm9jYSkNCisgICAgICAgICAgICAgIFRBU0suV2F0Y2guVmlldyAiJndwcm9jYSINCisgICAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgICApDQorICAgICAgICAgICAgcG9zIDE1LiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICAgICkNCisgICAgICAgICkNCisgICAgICAgIG1lbnVpdGVtICImUmVtb3ZlLi4uIg0KKyAgICAgICAgKA0KKyAgICAgICAgICBkaWFsb2cNCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGhlYWRlciAiVEFTSy5XYXRjaC5ERUxldGUiDQorICAgICAgICAgICAgcG9zIDAuIDAuIDI0LiAzLg0KKyAgICAgICAgICAgIGJveCAiUHJvY2VzcyBuYW1lIg0KKyAgICAgICAgICAgIHBvcyAxLiAxLiAyMi4gMS4NCit3cHJvY2Q6ICAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgICAgcG9zIDIuIDMuIDcuIDEuDQorICAgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgICAoDQorICAgICAgICAgICAgICBsb2NhbCAmd3Byb2NkDQorICAgICAgICAgICAgICAmd3Byb2NkPWRpYWxvZy5zdHJpbmcod3Byb2NkKQ0KKyAgICAgICAgICAgICAgVEFTSy5XYXRjaC5ERUxldGUgIiZ3cHJvY2QiDQorICAgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgIHBvcyAxNS4gMy4gNy4gMS4NCisgICAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgICApDQorICAgICAgICApDQorICAgICAgKQ0KKyAgICAgIHNlcGFyYXRvcg0KKyAgICAgIG1lbnVpdGVtICJTY2FuIFByb2Nlc3MgTU1VIFBhZ2VzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICAgIGhlYWRlciAiTU1VLlNDQU4gVGFza1BhZ2VUYWJsZSINCisgICAgICAgICAgICBwb3MgMC4gMC4gMjQuIDMuDQorICAgICAgICAgICAgYm94ICJQcm9jZXNzIG5hbWUiDQorICAgICAgICAgICAgcG9zIDEuIDEuIDIyLiAxLg0KK3dwcm9jYTogICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgICBwb3MgMi4gMy4gNy4gMS4NCisgICAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAgICgNCisgICAgICAgICAgICAgIGxvY2FsICZ3cHJvY2ENCisgICAgICAgICAgICAgICZ3cHJvY2E9ZGlhbG9nLnN0cmluZyh3cHJvY2EpDQorICAgICAgICAgICAgICBNTVUuU0NBTiBUYXNrUGFnZVRhYmxlICImd3Byb2NhIg0KKyAgICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICAgICkNCisgICAgICAgICAgICBwb3MgMTUuIDMuIDcuIDEuDQorICAgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICkNCisgICAgICApDQorICAgICAgbWVudWl0ZW0gIlNjYW4gQWxsIE1NVSBUYWJsZXMiICJNTVUuU0NBTi5BTEwiDQorICAgICAgO3NlcGFyYXRvcg0KKyAgICAgIDttZW51aXRlbSAiSGVscCBQcm9jZXNzIERlYnVnZ2luZyIgIkhFTFAgX19SVE9TX0xJTlVYX19TX1VzZXJfUHJvY2Vzc2VzIg0KKyAgICApDQorICAgIHBvcHVwICImTW9kdWxlIERlYnVnZ2luZyINCisgICAgKA0KKyAgICAgIG1lbnVpdGVtICImTG9hZCBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkxPQURNb2QiDQorICAgICAgICAgIHBvcyAwLiAwLiAzMC4gMy4NCisgICAgICAgICAgYm94ICJNb2R1bGUgbmFtZSINCisgICAgICAgICAgcG9zIDEuIDEuIDIwLiAxLg0KK21vZGw6ICAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgIHBvcyAyMi4gMS4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJCcm93c2UuLi4iDQorICAgICAgICAgICgNCisgICAgICAgICAgICBkaWFsb2cuZmlsZSAiKi5rbyINCisgICAgICAgICAgICBlbnRyeSAlbGluZSAmZmlsZQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgbW9kbCAiJmZpbGUiDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDYuIDMuIDcuIDEuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICBsb2NhbCAmbW9kbA0KKyAgICAgICAgICAgICZtb2RsPWRpYWxvZy5zdHJpbmcobW9kbCkNCisgICAgICAgICAgICBUQVNLLnNZbWJvbC5MT0FETW9kICImbW9kbCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiAzLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiJkRlbGV0ZSBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkRFTGV0ZU1vZCINCisgICAgICAgICAgcG9zIDAuIDAuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIk1vZHVsZSBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gMS4gMjAuIDEuDQorbW9kZDogICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDIyLiAxLiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGRpYWxvZy5maWxlICIqLmtvIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBtb2RkICImZmlsZSINCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgNi4gMy4gNy4gMS4NCisgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGxvY2FsICZtb2RkDQorICAgICAgICAgICAgJm1vZGQ9ZGlhbG9nLnN0cmluZyhtb2RkKQ0KKyAgICAgICAgICAgIFRBU0suc1ltYm9sLkRFTGV0ZU1vZCAiJm1vZGQiDQorICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxNy4gMy4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICkNCisgICAgICApDQorICAgICAgbWVudWl0ZW0gIkRlYnVnIE1vZHVsZSBvbiBpbml0Li4uIg0KKyAgICAgICgNCisNCisgICAgICAgICZjcHVmYW1pbHk9c3RyaW5nLmx3cihjcHVmYW1pbHkoKSkNCisgICAgICAgIGRvIH5+L2RlbW8vJmNwdWZhbWlseS9rZXJuZWwvbGludXgvbW9kX2RlYnVnIC9kaWFsb2cNCisNCisgICAgICApDQorICAgICAgc2VwYXJhdG9yDQorICAgICAgbWVudWl0ZW0gIlNjYW4gQWxsIE1NVSBUYWJsZXMiICJNTVUuU0NBTi5BTEwiDQorICAgICkNCisgICAgcG9wdXAgIiZMaWJyYXJ5IERlYnVnZ2luZyINCisgICAgKA0KKyAgICAgIG1lbnVpdGVtICImTG9hZCBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkxPQURMaWIiDQorICAgICAgICAgIHBvcyAwLiAwLiAzMC4gMy4NCisgICAgICAgICAgYm94ICJQcm9jZXNzIG5hbWUiDQorICAgICAgICAgIHBvcyAxLiAxLiAyOC4gMS4NCitsaWJwbDogICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICBwb3MgMC4gMy4gMzAuIDMuDQorICAgICAgICAgIGJveCAiTGlicmFyeSBuYW1lIg0KKyAgICAgICAgICBwb3MgMS4gNC4gMjAuIDEuDQorbGlibGw6ICAgIGRlZmVkaXQgIiIgIiINCisgICAgICAgICAgcG9zIDIyLiA0LiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIGRpYWxvZy5maWxlICIqLnNvKiINCisgICAgICAgICAgICBlbnRyeSAlbGluZSAmZmlsZQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgbGlibGwgIiZmaWxlIg0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyA2LiA2LiA3LiAxLg0KKyAgICAgICAgICBkZWZidXR0b24gIk9rIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgbG9jYWwgJmxpYnBsICZsaWJsbA0KKyAgICAgICAgICAgICZsaWJwbD1kaWFsb2cuc3RyaW5nKGxpYnBsKQ0KKyAgICAgICAgICAgICZsaWJsbD1kaWFsb2cuc3RyaW5nKGxpYmxsKQ0KKyAgICAgICAgICAgIFRBU0suc1ltYm9sLkxPQURMaWIgIiZsaWJwbCIgIiZsaWJsbCINCisgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDE3LiA2LiA3LiAxLg0KKyAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiJkRlbGV0ZSBTeW1ib2xzLi4uIg0KKyAgICAgICgNCisgICAgICAgIGRpYWxvZw0KKyAgICAgICAgKA0KKyAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLkRFTGV0ZUxpYiINCisgICAgICAgICAgcG9zIDAuIDAuIDMwLiAzLg0KKyAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgcG9zIDEuIDEuIDI4LiAxLg0KK2xpYnBkOiAgICBkZWZlZGl0ICIiICIiDQorICAgICAgICAgIHBvcyAwLiAzLiAzMC4gMy4NCisgICAgICAgICAgYm94ICJMaWJyYXJ5IG5hbWUiDQorICAgICAgICAgIHBvcyAxLiA0LiAyMC4gMS4NCitsaWJsZDogICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICBwb3MgMjIuIDQuIDcuIDEuDQorICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nLmZpbGUgIiouc28qIg0KKyAgICAgICAgICAgIGVudHJ5ICVsaW5lICZmaWxlDQorICAgICAgICAgICAgZGlhbG9nLnNldCBsaWJsZCAiJmZpbGUiDQorICAgICAgICAgICkNCisgICAgICAgICAgcG9zIDYuIDYuIDcuIDEuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICBsb2NhbCAmbGlicGQgJmxpYmxkDQorICAgICAgICAgICAgJmxpYnBkPWRpYWxvZy5zdHJpbmcobGlicGQpDQorICAgICAgICAgICAgJmxpYmxkPWRpYWxvZy5zdHJpbmcobGlibGQpDQorICAgICAgICAgICAgVEFTSy5zWW1ib2wuREVMZXRlTGliICImbGlicGQiICImbGlibGQiDQorICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxNy4gNi4gNy4gMS4NCisgICAgICAgICAgYnV0dG9uICJDYW5jZWwiICAiZGlhbG9nLmVuZCINCisgICAgICAgICkNCisgICAgICApDQorICAgICAgc2VwYXJhdG9yDQorICAgICAgbWVudWl0ZW0gIlNjYW4gUHJvY2VzcyBNTVUgUGFnZXMuLi4iDQorICAgICAgKA0KKyAgICAgICAgZGlhbG9nDQorICAgICAgICAoDQorICAgICAgICAgICAgaGVhZGVyICJNTVUuU0NBTiBUYXNrUGFnZVRhYmxlIg0KKyAgICAgICAgICAgIHBvcyAwLiAwLiAyNC4gMy4NCisgICAgICAgICAgICBib3ggIlByb2Nlc3MgbmFtZSINCisgICAgICAgICAgICBwb3MgMS4gMS4gMjIuIDEuDQord3Byb2NhOiAgICAgZGVmZWRpdCAiIiAiIg0KKyAgICAgICAgICAgIHBvcyAyLiAzLiA3LiAxLg0KKyAgICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgbG9jYWwgJndwcm9jYQ0KKyAgICAgICAgICAgICAgJndwcm9jYT1kaWFsb2cuc3RyaW5nKHdwcm9jYSkNCisgICAgICAgICAgICAgIE1NVS5TQ0FOIFRhc2tQYWdlVGFibGUgIiZ3cHJvY2EiDQorICAgICAgICAgICAgICBkaWFsb2cuZW5kDQorICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgIHBvcyAxNS4gMy4gNy4gMS4NCisgICAgICAgICAgICBidXR0b24gIkNhbmNlbCIgICJkaWFsb2cuZW5kIg0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiU2NhbiBBbGwgTU1VIFRhYmxlcyIgIk1NVS5TQ0FOLkFMTCINCisgICAgKQ0KKyAgICBzZXBhcmF0b3INCisgICAgcG9wdXAgIlN5bWJvbCAmQXV0b2xvYWRlciINCisgICAgKA0KKyAgICAgICAgbWVudWl0ZW0gIkxpc3QgQ29tcG9uZW50cyIgICJzWW1ib2wuQXV0b0xvYWQuTGlzdCINCisgICAgICAgIG1lbnVpdGVtICJDaGVjayBOb3chIiAgICAgICAic1ltYm9sLkF1dG9Mb2FkLkNIRUNLIg0KKyAgICAgICAgbWVudWl0ZW0gIlNldCBDb21wb25lbnRzIENoZWNrZWQiDQorICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCINCisgICAgICAgICAgICAgICAgcG9zIDAuIDAuIDI1Lg0KKyAgICAgICAgICAgICAgICBwcm9jOiBjaGVja2JveCAiUHJvY2VzcyAoUHJvY2Vzc2VzKSINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgaWYgZGlhbG9nLmJvb2xlYW4ocHJvYykNCisgICAgICAgICAgICAgICAgICAgICAgICBUQVNLLnNZbWJvbC5PcHRpb24gQXV0b0xvYWQgUHJvY2Vzcw0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBOb1Byb2Nlc3MNCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBtb2Q6ICBjaGVja2JveCAiTW9kdWxlIChNb2R1bGVzKSINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgaWYgZGlhbG9nLmJvb2xlYW4obW9kKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBNb2R1bGUNCisgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgICBUQVNLLnNZbWJvbC5PcHRpb24gQXV0b0xvYWQgTm9Nb2R1bGUNCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBsaWI6ICBjaGVja2JveCAiTGlicmFyeSAoQWxsIExpYnJhcmllcykiDQorICAgICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICAgICAgIGlmIGRpYWxvZy5ib29sZWFuKGxpYikNCisgICAgICAgICAgICAgICAgICAgICAgICBUQVNLLnNZbWJvbC5PcHRpb24gQXV0b0xvYWQgTGlicmFyeQ0KKyAgICAgICAgICAgICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBOb0xpYnJhcnkNCisgICAgICAgICAgICAgICAgICAgIGRpYWxvZy5zZXQgY2xpYiAiRkFMU0UiDQorICAgICAgICAgICAgICAgICkNCisgICAgICAgICAgICAgICAgY2xpYjogY2hlY2tib3ggIkN1cnJMaWIgKExpYnJhcmllcyBvZiBDdXJyZW50IFByb2Nlc3MpIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBpZiBkaWFsb2cuYm9vbGVhbihjbGliKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIFRBU0suc1ltYm9sLk9wdGlvbiBBdXRvTG9hZCBDdXJyTGliDQorICAgICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIE5vTGlicmFyeQ0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLnNldCBsaWIgIkZBTFNFIg0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgcHJvYyAoKHRhc2sueS5vKGF1dG9sb2FkKSYweDEpIT0wKQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgbW9kICAoKHRhc2sueS5vKGF1dG9sb2FkKSYweDQpIT0wKQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgbGliICAoKHRhc2sueS5vKGF1dG9sb2FkKSYweDIpIT0wKQ0KKyAgICAgICAgICAgIGRpYWxvZy5zZXQgY2xpYiAoKHRhc2sueS5vKGF1dG9sb2FkKSYweDgpIT0wKQ0KKyAgICAgICAgKQ0KKyAgICAgICAgc2VwYXJhdG9yDQorICAgICAgICBtZW51aXRlbSAiU2V0IExvYWRlciBTY3JpcHQiDQorICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICBoZWFkZXIgInNZbWJvbC5BdXRvTG9hZC5DSEVDS0xJTlVYIg0KKyAgICAgICAgICAgICAgICBwb3MgMC4gMC4gNDAuIDMuDQorICAgICAgICAgICAgICAgIGJveCAiYXV0b2xvYWQgYmF0Y2ggc2NyaXB0Ig0KKyAgICAgICAgICAgICAgICBwb3MgMS4gMS4gMzAuIDENCitjbW1maWxlOiAgICAgICAgZWRpdCAiYXV0b2xvYWQuY21tIiAiIg0KKyAgICAgICAgICAgICAgICBwb3MgMzIuIDEuIDcuIDEuDQorICAgICAgICAgICAgICAgIGJ1dHRvbiAiQnJvd3NlLi4uIg0KKyAgICAgICAgICAgICAgICAoDQorICAgICAgICAgICAgICAgICAgICBkaWFsb2cuZmlsZSAiKi5jbW0iDQorICAgICAgICAgICAgICAgICAgICBlbnRyeSAlbGluZSAmZmlsZQ0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLnNldCBjbW1maWxlICImZmlsZSINCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBwb3MgMS4gMy4gMTYuIDEuDQorY2hlY2tvbjogICAgICAgIGNoZWNrYm94ICJhdXRvbWF0aWMgY2hlY2siICIiDQorICAgICAgICAgICAgICAgIHBvcyA0LiA0LjUgOC4NCisgICAgICAgICAgICAgICAgZGVmYnV0dG9uICJPayINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgbG9jYWwgJmxvZyAmY21tDQorICAgICAgICAgICAgICAgICAgICAmY21tPWRpYWxvZy5zdHJpbmcoY21tZmlsZSkNCisgICAgICAgICAgICAgICAgICAgIHNZbWJvbC5BdXRvTG9hZC5DSEVDS0xJTlVYICJkbyAmY21tICINCisgICAgICAgICAgICAgICAgICAgIHNZbWJvbC5BdXRvTG9hZC5DSEVDSyAgICAgICA7IHRyaWdnZXIgY2hlY2sgbWFudWFsbHkNCisgICAgICAgICAgICAgICAgICAgIGlmIGRpYWxvZy5ib29sZWFuKGNoZWNrb24pDQorICAgICAgICAgICAgICAgICAgICAgICAgc1ltYm9sLkF1dG9Mb2FkLkNIRUNLIE9OICAgIDsgYXV0b21hdGljIGNoZWNrIGVuYWJsZWQNCisgICAgICAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgICBzWW1ib2wuQXV0b0xvYWQuQ0hFQ0sgT0ZGICAgOyBhdXRvbWF0aWMgY2hlY2sgZGlzYWJsZWQNCisgICAgICAgICAgICAgICAgICAgIGRpYWxvZy5lbmQNCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBwb3MgMTYuIDQuNSA4Lg0KKyAgICAgICAgICAgICAgICBidXR0b24gIkNhbmNlbCIgImRpYWxvZy5lbmQiDQorICAgICAgICAgICAgICAgIHBvcyAyOC4gNC41IDguDQorICAgICAgICAgICAgICAgIGJ1dHRvbiAiSGVscCIgIkhFTFAgX19SVE9TX0xJTlVYX1NfWV9BTE9BRCINCisgICAgICAgICAgICApDQorICAgICAgICApDQorICAgICAgICBtZW51aXRlbSAiU2V0IFRhcmdldCBSb290IFBhdGgiDQorICAgICAgICAoDQorICAgICAgICAgICAgZGlhbG9nDQorICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICBoZWFkZXIgIlRBU0suc1ltYm9sLk9wdGlvbiBST09UUEFUSCINCisgICAgICAgICAgICAgICAgcG9zIDAuIDAuIDQwLiAzLg0KKyAgICAgICAgICAgICAgICBib3ggInRhcmdldCByb290IHBhdGggb24gaG9zdCINCisgICAgICAgICAgICAgICAgcG9zIDEuIDEuIDMwLiAxDQorcm9vdGRpcjogICAgICAgIGVkaXQgIiIgIiINCisgICAgICAgICAgICAgICAgcG9zIDMyLiAxLiA3LiAxLg0KKyAgICAgICAgICAgICAgICBidXR0b24gIkJyb3dzZS4uLiINCisgICAgICAgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLmRpciAiKiINCisgICAgICAgICAgICAgICAgICAgIGVudHJ5ICVsaW5lICZkaXINCisgICAgICAgICAgICAgICAgICAgIGRpYWxvZy5zZXQgcm9vdGRpciAiJmRpciINCisgICAgICAgICAgICAgICAgKQ0KKyAgICAgICAgICAgICAgICBwb3MgNC4gMy41IDguDQorICAgICAgICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICAgICAgIGxvY2FsICZkaXINCisgICAgICAgICAgICAgICAgICAgICZkaXI9ZGlhbG9nLnN0cmluZyhyb290ZGlyKQ0KKyAgICAgICAgICAgICAgICAgICAgVEFTSy5zWW1ib2wuT3B0aW9uIFJPT1RQQVRIICImZGlyIg0KKyAgICAgICAgICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICAgICAgICApDQorICAgICAgICAgICAgICAgIHBvcyAxNi4gMy41IDguDQorICAgICAgICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAiZGlhbG9nLmVuZCINCisgICAgICAgICAgICAgICAgcG9zIDI4LiAzLjUgOC4NCisgICAgICAgICAgICAgICAgYnV0dG9uICJIZWxwIiAiSEVMUCBfX1JUT1NfTElOVVhfX1RBU0tfWV9PX1JPT1RQQVRIIg0KKyAgICAgICAgICAgICkNCisgICAgICAgICkNCisgICAgICAgIHNlcGFyYXRvcg0KKyAgICAgICAgbWVudWl0ZW0gIlN5bWJvbCBBdXRvbG9hZGVyIEhlbHAiICJIRUxQIF9fUlRPU19MSU5VWF9TX1lfQUxPQUQiDQorICAgICkNCisgICAgc2VwYXJhdG9yDQorICAgIG1lbnVpdGVtICImTGludXggVGVybWluYWwiIA0KKyAgICAoDQorICAgICAgaWYgIXdpbmRvdy5uYW1lKHRlcm0pDQorICAgICAgKA0KKyAgICAgICAgd2lucG9zICwsLCwsLCB0ZXJtDQorICAgICAgICBURVJNDQorICAgICAgKQ0KKyAgICAgIGVsc2UNCisgICAgICAgIHdpbnRvcCB0ZXJtDQorICAgICkNCisgICAgbWVudWl0ZW0gIkNvbmZpZ3VyZSBUZXJtaW5hbC4uLiINCisgICAgKA0KKyAgICAgIGlmIHdpbmRvdy5uYW1lKHRlcm0pDQorICAgICAgICBkaWFsb2cub2sgIlBsZWFzZSBjbG9zZSB0ZXJtaW5hbCB3aW5kb3cgZmlyc3QhIg0KKyAgICAgIGVsc2UNCisgICAgICAoDQorICAgICAgICBkaWFsb2cNCisgICAgICAgICgNCisgICAgICAgICAgaGVhZGVyICJURVJNLlByb3RvY29sIg0KKyAgICAgICAgICBwb3MgMC4gMC4gOS4NCisgICAgICAgICAgdHAuYmU6ICBjaG9vc2Vib3ggIkJ1ZmZlckUiDQorICAgICAgICAgICgNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5kZXYNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmNvbS5iZA0KKyAgICAgICAgICAgICAgZGlhbG9nLmVuYWJsZSB0cC5iZS5vdXQNCisgICAgICAgICAgICAgIGRpYWxvZy5lbmFibGUgdHAuYmUuaW4NCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgMTAuIDAuIDUuDQorICAgICAgICAgIHRleHQgIm91dDoiDQorICAgICAgICAgIHBvcyAxNS4gMC4gNi4NCisgICAgICAgICAgdHAuYmUub3V0OiBlZGl0ICJUMzJPVVRCVUYiICIiDQorICAgICAgICAgIHBvcyAyMy4gMC4gNi4NCisgICAgICAgICAgdGV4dCAiaW46Ig0KKyAgICAgICAgICBwb3MgMjkuIDAuIDYuDQorICAgICAgICAgIHRwLmJlLmluOiAgZWRpdCAiVDMySU5CVUYiICIiDQorICAgICAgICAgIHBvcyAwLiAxLiA5Lg0KKyAgICAgICAgICB0cC5kY2M6IGNob29zZWJveCAiRENDIg0KKyAgICAgICAgICAoDQorICAgICAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5jb20uZGV2DQorICAgICAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5jb20uYmQNCisgICAgICAgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmJlLm91dA0KKyAgICAgICAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuYmUuaW4NCisgICAgICAgICAgKQ0KKyAgICAgICAgICBwb3MgMC4gMi4gOS4NCisgICAgICAgICAgdHAuY29tOiBjaG9vc2Vib3ggIkNPTSINCisgICAgICAgICAgKA0KKyAgICAgICAgICAgICAgZGlhbG9nLmRpc2FibGUgdHAuYmUub3V0DQorICAgICAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5iZS5pbg0KKyAgICAgICAgICAgICAgZGlhbG9nLmVuYWJsZSB0cC5jb20uZGV2DQorICAgICAgICAgICAgICBkaWFsb2cuZW5hYmxlIHRwLmNvbS5iZA0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxMC4gMi4gNS4NCisgICAgICAgICAgdGV4dCAiZGV2aWNlOiINCisgICAgICAgICAgcG9zIDE1LiAyLiA2Lg0KKyAgICAgICAgICB0cC5jb20uZGV2OiBlZGl0ICJDT00xIiAiIg0KKyAgICAgICAgICBwb3MgMjMuIDIuIDYuDQorICAgICAgICAgIHRleHQgImJhdWRyYXRlOiINCisgICAgICAgICAgcG9zIDI5LiAyLiA2Lg0KKyAgICAgICAgICB0cC5jb20uYmQ6ICBlZGl0ICIxMTUyMDAuIiAiIg0KKyAgICAgICAgICBwb3MgOS4gMy41IDcuDQorICAgICAgICAgIGRlZmJ1dHRvbiAiT2siDQorICAgICAgICAgICgNCisgICAgICAgICAgICAmdHBiZW91dD1kaWFsb2cuc3RyaW5nKHRwLmJlLm91dCkNCisgICAgICAgICAgICAmdHBiZWluPWRpYWxvZy5zdHJpbmcodHAuYmUuaW4pDQorICAgICAgICAgICAgJnRwY29tZGV2PWRpYWxvZy5zdHJpbmcodHAuY29tLmRldikNCisgICAgICAgICAgICAmdHBjb21iZD1kaWFsb2cuc3RyaW5nKHRwLmNvbS5iZCkNCisgICAgICAgICAgICBpZiBkaWFsb2cuYm9vbGVhbih0cC5iZSkNCisgICAgICAgICAgICAgIFRFUk0uTUVUSE9EIEJ1ZmZlckUgJnRwYmVvdXQgJnRwYmVpbg0KKyAgICAgICAgICAgIGVsc2UgaWYgZGlhbG9nLmJvb2xlYW4odHAuZGNjKQ0KKyAgICAgICAgICAgICAgVEVSTS5NRVRIT0QgRENDDQorICAgICAgICAgICAgZWxzZSBpZiBkaWFsb2cuYm9vbGVhbih0cC5jb20pDQorICAgICAgICAgICAgICBURVJNLk1FVEhPRCBDT00gJnRwY29tZGV2ICZ0cGNvbWJkIDggTk9ORSAxU1RPUCBOT05FDQorICAgICAgICAgICAgZGlhbG9nLmVuZA0KKyAgICAgICAgICApDQorICAgICAgICAgIHBvcyAxOS4gMy41IDcuDQorICAgICAgICAgIGJ1dHRvbiAiQ2FuY2VsIiAgImRpYWxvZy5lbmQiDQorICAgICAgICApDQorICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5iZS5vdXQNCisgICAgICAgIGRpYWxvZy5kaXNhYmxlIHRwLmJlLmluDQorICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5jb20uZGV2DQorICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5jb20uYmQNCisgICAgICAgIGlmIGNwdWZhbWlseSgpIT0iQVJNIg0KKyAgICAgICAgICBkaWFsb2cuZGlzYWJsZSB0cC5kY2MNCisgICAgICApDQorICAgICkNCisgICAgO3NlcGFyYXRvcg0KKyAgICA7cG9wdXAgIiZTdGFjayBDb3ZlcmFnZSINCisgICAgOygNCisgICAgOyAgbWVudWl0ZW0gIiZMaXN0IFN0YWNrcyINCisgICAgOyAgKA0KKyAgICA7ICAgIGlmIGljZCgpfHxzaW11bGF0b3IoKQ0KKyAgICA7ICAgICAgVEFTSy5TVGFjSy5QQVR0ZXJuIDANCisgICAgOyAgICBUQVNLLlNUYWNLDQorICAgIDsgICkNCisgICAgOyAgbWVudWl0ZW0gIkFkZCBUYXNrIiAgICAgICAgIlRBU0suU1RhY0suQUREIg0KKyAgICA7ICBtZW51aXRlbSAiUmVtb3ZlIFRhc2siICAgICAiVEFTSy5TVGFjSy5SZU1vdmUiDQorICAgIDsgIGVuYWJsZSBpY2UoKXx8ZmlyZSgpDQorICAgIDsgIG1lbnVpdGVtICImUmVzZXQgQ292ZXJhZ2UiICJUQVNLLlNUYWNLLlJFU2V0Ig0KKyAgICA7KQ0KKyAgICBzZXBhcmF0b3INCisgICAgbWVudWl0ZW0gIkhlbHAgTGludXggQXdhcmVuZXNzIiAiSEVMUCBfX1JUT1NfTElOVVhfU18iDQorICApDQorICBwb3B1cCAiVHJhY2UiDQorICAoDQorICAgIHBvcHVwICJMaXN0Ig0KKyAgICAoDQorICAgICAgc2VwYXJhdG9yDQorICAgICAgbWVudWl0ZW0gIiZUYXNrIFN3aXRjaGVzIiAgICAgIlRyYWNlLkxpc3QgTGlzdC5UQVNLIg0KKyAgICAgIG1lbnVpdGVtICImRGVmYXVsdCBhbmQgVGFza3MiICJUcmFjZS5MaXN0IExpc3QuVEFTSyBERUZhdWx0Ig0KKyAgICApDQorICApDQorICBwb3B1cCAiUGVyZiINCisgICgNCisgICAgc2VwYXJhdG9yDQorICAgIHBvcHVwICImVGFzayBSdW50aW1lIg0KKyAgICAoDQorICAgICAgbWVudWl0ZW0gIiZQcmVwYXJlIg0KKyAgICAgICgNCisgICAgICAgIGlmIHQubWV0aG9kLmFuYWx5emVyKCkNCisgICAgICAgICgNCisgICAgICAgICAgQW5hbHl6ZXIuQXV0b0luaXQgb24NCisgICAgICAgICkNCisgICAgICAgIGlmIChpY2UoKXx8ZmlyZSgpKSYmIWEubW9kZS5mbG93KCkNCisgICAgICAgICgNCisgICAgICAgICAgQW5hbHl6ZXIuUmVQcm9ncmFtDQorICAgICAgICAgICgNCisgICAgICAgICAgICBTYW1wbGUuRW5hYmxlIGlmIEFscGhhQnJlYWsmJldyaXRlDQorICAgICAgICAgICkNCisgICAgICAgICAgQnJlYWsuRGVsZXRlIC9BbHBoYQ0KKyAgICAgICAgICBCcmVhay5TZXQgdGFzay5jb25maWcobWFnaWMpKysodGFzay5jb25maWcobWFnaWNzaXplKS0xKSAvQWxwaGENCisgICAgICAgICkNCisgICAgICAgIGlmIGEubW9kZS5mbG93KCkNCisgICAgICAgICgNCisgICAgICAgICAgQnJlYWsuRGVsZXRlIC9UcmFjZUVuYWJsZQ0KKyAgICAgICAgICBCcmVhay5TZXQgdGFzay5jb25maWcobWFnaWMpIC9UcmFjZUVuYWJsZQ0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiWzpwZXJmXVNob3cgJk51bWVyaWNhbCIgICAiVHJhY2UuU1RBVGlzdGljLlRBU0siDQorICAgICAgbWVudWl0ZW0gIls6YWNoYXJ0XVNob3cgYXMgJlRpbWluZyIgIlRyYWNlLkNIQVJULlRBU0siDQorICAgICAgbWVudWl0ZW0gIls6YWNoYXJ0XVRyYWNraW5nIHdpdGggVHJhY2UgJkxpc3QiDQorICAgICAgKA0KKyAgICAgICAgVHJhY2UuTGlzdCBMaXN0LlRBU0sgREVGYXVsdCAvVHJhY2sNCisgICAgICAgIFRyYWNlLkNIQVJULlRBU0sgL1RyYWNrDQorICAgICAgKQ0KKyAgICApDQorICAgIHBvcHVwICJUYXNrICZGdW5jdGlvbiBSdW50aW1lIg0KKyAgICAoDQorICAgICAgbWVudWl0ZW0gIiZQcmVwYXJlIg0KKyAgICAgICgNCisgICAgICAgIGlmIHQubWV0aG9kLmFuYWx5emVyKCkNCisgICAgICAgICgNCisgICAgICAgICAgQW5hbHl6ZXIuQXV0b0luaXQgb24NCisgICAgICAgICAgQW5hbHl6ZXIuU1RBVGlzdGljLlByZUZldGNoIG9uDQorICAgICAgICApDQorDQorICAgICAgICBpZiAoaWNlKCl8fGZpcmUoKSkmJiFhLm1vZGUuZmxvdygpDQorICAgICAgICAoDQorICAgICAgICAgIGlmIGEuY29uZmlnLmhhYygpDQorICAgICAgICAgICgNCisgICAgICAgICAgICAgQW5hbHl6ZXIuUmVQcm9ncmFtDQorICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICBTYW1wbGUuRW5hYmxlIGlmIEFscGhhQnJlYWsNCisgICAgICAgICAgICAgICBTYW1wbGUuRW5hYmxlIGlmIEJldGFCcmVhaw0KKyAgICAgICAgICAgICAgIE1hcmsuQSAgICAgICAgaWYgQWxwaGFCcmVhaw0KKyAgICAgICAgICAgICAgIE1hcmsuQiAgICAgICAgaWYgQmV0YUJyZWFrDQorICAgICAgICAgICAgICkNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBlbHNlDQorICAgICAgICAgICgNCisgICAgICAgICAgICAgQW5hbHl6ZXIuUmVQcm9ncmFtDQorICAgICAgICAgICAgICgNCisgICAgICAgICAgICAgICBTYW1wbGUuRW5hYmxlIGlmIEFscGhhQnJlYWt8fEJldGFCcmVhaw0KKyAgICAgICAgICAgICAgIE1hcmsuQSBpZiBBbHBoYUJyZWFrDQorICAgICAgICAgICAgICAgTWFyay5CIGlmIEJldGFCcmVhaw0KKyAgICAgICAgICAgICApDQorICAgICAgICAgICkNCisgICAgICAgICAgQnJlYWsuRGVsZXRlIC9BbHBoYSAvQmV0YSAvQ2hhcmx5DQorICAgICAgICAgIEJyZWFrLlNldEZ1bmMNCisgICAgICAgICAgQnJlYWsuU2V0IHRhc2suY29uZmlnKG1hZ2ljKSsrKHRhc2suY29uZmlnKG1hZ2ljc2l6ZSktMSkgL0FscGhhDQorICAgICAgICApDQorICAgICAgICBpZiBhLm1vZGUuZmxvdygpDQorICAgICAgICAoDQorICAgICAgICAgIEJyZWFrLkRlbGV0ZSAvVHJhY2VEYXRhDQorICAgICAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykgL1RyYWNlRGF0YQ0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiWzpwZXJmXVNob3cgJk51bWVyaWNhbCIgICAgICJUcmFjZS5TVEFUaXN0aWMuVEFTS0ZVTkMiDQorICAgICAgbWVudWl0ZW0gIls6cGVyZl1TaG93IGFzICZUcmVlIiAgICAgICAiVHJhY2UuU1RBVGlzdGljLlRBU0tUUkVFIg0KKyAgICAgIG1lbnVpdGVtICJbOnBlcmZdU2hvdyAmRGV0YWlsZWQgVHJlZSIgIlRyYWNlLlNUQVRpc3RpYy5UQVNLVFJFRSBBTEwiDQorICAgICAgbWVudWl0ZW0gIls6YWNoYXJ0XVNob3cgYXMgJlRpbWluZyIgICAiVHJhY2UuQ0hBUlQuVEFTS0ZVTkMiDQorICAgICAgbWVudWl0ZW0gIls6YWxpc3RdU2hvdyBOJmVzdGluZyIgICAgICAiVHJhY2UuTGlzdCBMaXN0LlRBU0sgRlVOQyBUSS5GVU5DIg0KKyAgICApDQorICAgIHBvcHVwICJUYXNrICZTdGF0dXMiDQorICAgICgNCisgICAgICBtZW51aXRlbSAiJlByZXBhcmUiDQorICAgICAgKA0KKyAgICAgICAgaWYgdC5tZXRob2QuYW5hbHl6ZXIoKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBBbmFseXplci5BdXRvSW5pdCBvbg0KKyAgICAgICAgKQ0KKyAgICAgICAgaWYgKGljZSgpfHxmaXJlKCkpJiYhYS5tb2RlLmZsb3coKQ0KKyAgICAgICAgKA0KKyAgICAgICAgICBBbmFseXplci5SZVByb2dyYW0NCisgICAgICAgICAgKA0KKyAgICAgICAgICAgIFNhbXBsZS5FbmFibGUgaWYgQWxwaGFCcmVhayYmV3JpdGUNCisgICAgICAgICAgKQ0KKyAgICAgICAgICBCcmVhay5EZWxldGUgL0FscGhhDQorICAgICAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykrKyh0YXNrLmNvbmZpZyhtYWdpY3NpemUpLTEpIC9BbHBoYQ0KKyAgICAgICAgICBUQVNLLlRBU0tTdGF0ZQ0KKyAgICAgICAgKQ0KKyAgICAgICkNCisgICAgICBtZW51aXRlbSAiWzpwZXJmXVNob3cgJk51bWVyaWNhbCIgICAiVHJhY2UuU1RBVGlzdGljLlRBU0tTVEFURSINCisgICAgICBtZW51aXRlbSAiWzphY2hhcnRdU2hvdyBhcyAmVGltaW5nIiAiVHJhY2UuQ0hBUlQuVEFTS1NUQVRFIg0KKyAgICAgIG1lbnVpdGVtICJbOmFjaGFydF1UcmFja2luZyB3aXRoIFRyYWNlICZMaXN0Ig0KKyAgICAgICgNCisgICAgICAgIFRyYWNlLkxpc3QgTGlzdC5UQVNLIERFRmF1bHQgL1RyYWNrDQorICAgICAgICBUcmFjZS5DSEFSVC5UQVNLU1RBVEUgL1RyYWNrDQorICAgICAgKQ0KKyAgICApDQorICApDQorICBwb3B1cCAiJkhlbHAiDQorICAoDQorICAgIG1lbnVpdGVtICJMaW51eCBBd2FyZW5lc3MgTWFudWFsIiAiSEVMUCBfX1JUT1NfTElOVVhfU18iDQorICApDQorKQ0KKw0KKw0KK21lbnUgInRhc2suZHQiDQorKA0KKyAgZGVmYXVsdA0KKyAgbWVudWl0ZW0gIkRpc3BsYXkgZGV0YWlsZWQiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgVEFTSy5EVGFzayAmYWRkcmVzcw0KKyAgKQ0KKyAgbWVudWl0ZW0gIkRpc3BsYXkgdGFzayBzdHJ1Y3QiDQorICAoDQorICAgICZhZGRyZXNzPXRhc2sucHJvYy50Y2IoYWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKSkNCisgICAgVmFyLlZpZXcgJW0gJXMgKHN0cnVjdCB0YXNrX3N0cnVjdCkqJmFkZHJlc3MNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkRpc3BsYXkgU3RhY2sgRnJhbWUiICAiVmFyLkZyYW1lIC9Mb2NhbHMgL0NhbGxlciAvVGFzayB0cmFjay5hZGRyZXNzKCkiDQorICBtZW51aXRlbSAiRGlzcGxheSBSZWdpc3RlcnMiICAgICJSZWdpc3RlciAvVGFzayB0cmFjay5hZGRyZXNzKCkiDQorICBtZW51aXRlbSAiU3dpdGNoIENvbnRleHQiICAgICAgICJSZWdpc3Rlci5UQVNLIHRyYWNrLmFkZHJlc3MoKSINCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkxvYWQgUHJvY2VzcyBTeW1ib2xzIiAgICJUQVNLLnNZbWJvbC5MT0FEIHRyYWNrLmFkZHJlc3MoKSINCisgIG1lbnVpdGVtICJEZWxldGUgUHJvY2VzcyBTeW1ib2xzIiAiVEFTSy5zWW1ib2wuREVMZXRlIHRyYWNrLmFkZHJlc3MoKSINCisgIG1lbnVpdGVtICJBZGQgTGlicmFyaWVzIHRvIFN5bWJvbCBBdXRvbG9hZGVyIiANCisgICgNCisgICAgVEFTSy5zWW1ib2wuT3B0aW9uIEF1dG9Mb2FkIFByb2NMaWIgdHJhY2suYWRkcmVzcygpDQorICAgIHNZbWJvbC5BdXRvTE9BRC5DSEVDSw0KKyAgKQ0KKyAgbWVudWl0ZW0gIkFkZCB0byBXYXRjaGVkIFByb2Nlc3NlcyINCisgICgNCisgICAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgICAgVEFTSy5XYXRjaC5WaWV3ICZhZGRyZXNzDQorICApDQorICBtZW51aXRlbSAiRGVsZXRlIGZyb20gV2F0Y2hlZCBQcm9jZXNzZXMiICJUQVNLLldhdGNoLkRFTGV0ZSB0cmFjay5hZGRyZXNzKCkiDQorICA7c2VwYXJhdG9yDQorICA7bWVudWl0ZW0gIkFkZCB0byBTdGFjayBDb3YiICAiVEFTSy5TVEsuQUREIGFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkiDQorICA7bWVudWl0ZW0gIlJtIGZyb20gU3RhY2sgQ292IiAiVEFTSy5TVEsuUk0gIGFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkiDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJTY2FuIE1NVSBQYWdlcyINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBNTVUuU0NBTiBUYXNrUGFnZVRhYmxlICZhZGRyZXNzDQorICApDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJEdW1wIHRhc2sgZW50cnkiDQorICAoDQorICAgICZhZGRyZXNzPXRhc2sucHJvYy50Y2IoYWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKSkNCisgICAgRGF0YS5kdW1wICZhZGRyZXNzIC9sIC9kaWFsb2cNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIktpbGwgdGFzayINCisgICgNCisgICAgbG9jYWwgJnJrbWFnaWMgJnJrdG5hbWUNCisgICAgJnJrbWFnaWM9dGFzay5wcm9jLnRjYihhZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpKQ0KKyAgICAmcmt0bmFtZT10YXNrLnByb2MubmFtZSgmcmttYWdpYykNCisgICAgZGlhbG9nLnllc25vICJSZWFsbHkga2lsbCB0YXNrICZya3RuYW1lPyINCisgICAgZW50cnkgJnluDQorICAgIGlmICZ5bg0KKyAgICAoDQorICAgICAgdmFyLnNldCAoKHN0cnVjdCB0YXNrX3N0cnVjdCkqJnJrbWFnaWMpLnBlbmRpbmcuc2lnbmFsLnNpZ1swXT0weDEwMA0KKyAgICAgIHByaW50ICJTaWduYWwgU0lHS0lMTCBzZW50IHRvIHRhc2sgJnJrdG5hbWUiDQorICAgICkNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgZW5hYmxlIHQubWV0aG9kLmFuYWx5emVyKCkNCisgIG1lbnVpdGVtICJUcmFjZSB0aGlzIHRhc2siDQorICAoDQorICAgIGxvY2FsICZtYWdpYw0KKyAgICBpZiBydW4oKQ0KKyAgICAgIGJyZWFrDQorICAgICZtYWdpYz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgICZzaWQ9dGFzay5wcm9jLm1hZ2ljMnNpZCgmbWFnaWMpDQorICAgIGlmIGV0bS5jb250ZXh0Y29tcCgpPjANCisgICAgKA0KKyAgICAgIFRyT25jaGlwLkNvbnRleHRJRCBPTg0KKyAgICAgIEJyZWFrLlNldCAmc2lkOjAtLTB4ZmZmZmZmZmYgL1Byb2dyYW0gL1RyYWNlRW5hYmxlIC9UQVNLICZtYWdpYw0KKyAgICApDQorICAgIGVsc2UNCisgICAgKA0KKyAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykgL1dyaXRlIC9EYXRhICZtYWdpYyAvVHJhY2VPTg0KKyAgICAgIEJyZWFrLlNldCB0YXNrLmNvbmZpZyhtYWdpYykgL1dyaXRlIC9EYXRhICEmbWFnaWMgL1RyYWNlT0ZGDQorICAgICkNCisgICkNCispDQorDQorDQorbWVudSAidGFzay5tb2QiDQorKA0KKyAgZGVmYXVsdA0KKyAgO21lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgOygNCisgIDsgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgIDsgIFRBU0suTU9EdWxlICZhZGRyZXNzDQorICA7KQ0KKyAgbWVudWl0ZW0gIkRpc3BsYXkgbW9kdWxlIHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9dGFzay5tb2QubWNiKGFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkpDQorICAgIFZhci5WaWV3ICVtICVzIChzdHJ1Y3QgbW9kdWxlKSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiTG9hZCBNb2R1bGUgU3ltYm9scyIgICAiVEFTSy5zWW1ib2wuTE9BRE1vZCB0cmFjay5hZGRyZXNzKCkiDQorICBtZW51aXRlbSAiRGVsZXRlIE1vZHVsZSBTeW1ib2xzIiAiVEFTSy5zWW1ib2wuREVMZXRlTW9kIHRyYWNrLmFkZHJlc3MoKSINCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkR1bXAgbW9kdWxlIGVudHJ5Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIERhdGEuZHVtcCAmYWRkcmVzcyAvbCAvZGlhbG9nDQorICApDQorKQ0KKw0KKw0KK21lbnUgInRhc2suZnMudCINCisoDQorICBkZWZhdWx0DQorICBtZW51aXRlbSAiRGlzcGxheSBkZXRhaWxlZCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBUQVNLLkZTLlR5cGVzICZhZGRyZXNzDQorICApDQorICBtZW51aXRlbSAiRGlzcGxheSB0eXBlIHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBWYXIuVmlldyAlbSAlcyAoc3RydWN0IGZpbGVfc3lzdGVtX3R5cGUpKiZhZGRyZXNzDQorICApDQorICBzZXBhcmF0b3INCisgIG1lbnVpdGVtICJEdW1wIHR5cGUgZW50cnkiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgRGF0YS5kdW1wICZhZGRyZXNzIC9sIC9kaWFsb2cNCisgICkNCispDQorDQorDQorbWVudSAidGFzay5mcy5tZCINCisoDQorICBkZWZhdWx0DQorICBtZW51aXRlbSAiRGlzcGxheSBkZXRhaWxlZCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBUQVNLLkZTLk1vdW50RGV2cyAmYWRkcmVzcw0KKyAgKQ0KKyAgbWVudWl0ZW0gIkRpc3BsYXkgc3VwZXJibG9jayBzdHJ1Y3QiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgVmFyLlZpZXcgJW0gJXMgKHN0cnVjdCBzdXBlcl9ibG9jaykqJmFkZHJlc3MNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkR1bXAgc3VwZXJibG9jayBlbnRyeSINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBEYXRhLmR1bXAgJmFkZHJlc3MgL2wgL2RpYWxvZw0KKyAgKQ0KKykNCisNCisNCittZW51ICJ0YXNrLmZzLnByb2MiDQorKA0KKyAgO2RlZmF1bHQNCisgIDttZW51aXRlbSAiRGlzcGxheSBkZXRhaWxlZCINCisgIDsoDQorICA7ICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICA7ICBUQVNLLkZTLlBST0MgJmFkZHJlc3MNCisgIDspDQorICBtZW51aXRlbSAiRGlzcGxheSBwcm9jIHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBWYXIuVmlldyAlbSAlcyAoc3RydWN0IHByb2NfZGlyX2VudHJ5KSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRHVtcCBwcm9jIGRpciBlbnRyeSINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBEYXRhLmR1bXAgJmFkZHJlc3MgL2wgL2RpYWxvZw0KKyAgKQ0KKykNCisNCisNCittZW51ICJ0YXNrLmZzLm0iDQorKA0KKyAgZGVmYXVsdA0KKyAgO21lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgOygNCisgIDsgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgIDsgIFRBU0suRlMuTW91bnQgJmFkZHJlc3MNCisgIDspDQorICBtZW51aXRlbSAiRGlzcGxheSBtb3VudCBzdHJ1Y3QiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgVmFyLlZpZXcgJW8gJWggJXMgKHN0cnVjdCB2ZnNtb3VudCkqJmFkZHJlc3MNCisgICkNCisgIHNlcGFyYXRvcg0KKyAgbWVudWl0ZW0gIkR1bXAgbW91bnQgZW50cnkiDQorICAoDQorICAgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgICAgRGF0YS5kdW1wICZhZGRyZXNzIC9sIC9kaWFsb2cNCisgICkNCispDQorDQorDQorbWVudSAidGFzay5saWIiDQorKA0KKyAgZGVmYXVsdA0KKyAgO21lbnVpdGVtICJEaXNwbGF5IGRldGFpbGVkIg0KKyAgOygNCisgIDsgICZhZGRyZXNzPWFkZHJlc3Mub2Zmc2V0KHRyYWNrLmFkZHJlc3MoKSkNCisgIDsgIFRBU0suRFRhc2sgJmFkZHJlc3MNCisgIDspDQorICBtZW51aXRlbSAiRGlzcGxheSBMaWJyYXJ5IHN0cnVjdCINCisgICgNCisgICAgJmFkZHJlc3M9YWRkcmVzcy5vZmZzZXQodHJhY2suYWRkcmVzcygpKQ0KKyAgICBWYXIuVmlldyAlbSAlcyAoc3RydWN0IHZtX2FyZWFfc3RydWN0KSomYWRkcmVzcw0KKyAgKQ0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiTG9hZCBMaWJyYXJ5IFN5bWJvbHMiICAgIlRBU0suc1ltYm9sLkxPQURMaWIgdHJhY2suc3RyaW5nKCkgdHJhY2suYWRkcmVzcygpIg0KKyAgbWVudWl0ZW0gIkRlbGV0ZSBMaWJyYXJ5IFN5bWJvbHMiICJUQVNLLnNZbWJvbC5ERUxldGVMaWIgdHJhY2suc3RyaW5nKCkgdHJhY2suYWRkcmVzcygpIg0KKyAgc2VwYXJhdG9yDQorICBtZW51aXRlbSAiRHVtcCBMaWJyYXJ5IGVudHJ5Ig0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIERhdGEuZHVtcCAmYWRkcmVzcyAvbCAvZGlhbG9nDQorICApDQorKQ0KKw0KKw0KK21lbnUgInRhc2sudyINCisoDQorICBkZWZhdWx0DQorICBtZW51aXRlbSAiRGlzcGxheSBQcm9jZXNzIg0KKyAgKA0KKyAgICAmYWRkcmVzcz1hZGRyZXNzLm9mZnNldCh0cmFjay5hZGRyZXNzKCkpDQorICAgIFRBU0suRFRhc2sgJmFkZHJlc3MNCisgICkNCisgIG1lbnVpdGVtICJEZWxldGUgZnJvbSBMaXN0IiANCisgICgNCisgICAgJm5hbWU9dHJhY2suc3RyaW5nKCkNCisgICAgVEFTSy5XYXRjaC5ERUxldGUgIiZuYW1lIg0KKyAgKQ0KKykNCisNCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eC50MzIgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eC50MzIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjkwYmZmMgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4LnQzMgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjBWM19yZXN0b3JlX3JhbWR1bXBfbGludXgta2VybmVsLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMFYzX3Jlc3RvcmVfcmFtZHVtcF9saW51eC1rZXJuZWwuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxNjEyMTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjBWM19yZXN0b3JlX3JhbWR1bXBfbGludXgta2VybmVsLmNtbQpAQCAtMCwwICsxLDYzIEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDEyIFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIMSjIL/pIMP7IDogDQorLy8qIM7EILz+IMP7IDogbGludXhfMjk3NTEwX3Jlc3RvcmVfcmFtZHVtcF9saW51eC1rZXJuZWwuY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDogNzUxMCBsaW51eCByYW1kdW1wu9a4tL3Fsb6juw0KKy8vKiDX9yAgICDV3yA6IEpLWg0KKy8vKiCw5iAgICCxviA6IFYxLjANCisvLyogzeqzycjVxtogOiAyMDE1LzEyLzEyDQorLy8qIMbky/zLtcP3IDogDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJmVsZm5hbWUNCitsb2NhbCAmdGFyZ2V0X3N0YXRlX2NtbQ0KK2xvY2FsICZkdW1wZGlyDQorDQorc3lzLmRvd24NCithcmVhLnJlc2V0DQorc3lzLmNwdSBDb3J0ZXhBOQ0KK3N5cy5qdGFnY2xvY2sgMy4wTUh6ICAgICAgICAgICA7IENQVSBuZWVkcyAxME0gKiA4ID0gODBNIGZyZXF1ZW5jeS4gSXQgc2hvdWxkIGJlIHJlZHVjZWQgdG8gMy4wTUh6DQorc3lzLm9wdGlvbiBlbnJlc2V0IE9mZg0KK3N5cy5vcHRpb24gcmVzYnJlYWsgb2ZmCQ0KK3N5cy51cA0KKw0KK0RJQUxPRy5GaWxlICoNCitlbnRyeSAmZWxmbmFtZQ0KKyZkdW1wZGlyPW9zLmZpbGUucGF0aCgmZWxmbmFtZSkNCisNCitESUFMT0cuRmlsZSAqLmNtbQ0KK2VudHJ5ICZ0YXJnZXRfc3RhdGVfY21tDQorJmR1bXBkaXI9b3MuZmlsZS5wYXRoKCZ0YXJnZXRfc3RhdGVfY21tKQ0KKw0KKy8vvNPU2GVsZs7EvP4gICAgICAgICANCitkYXRhLmxvYWQuZWxmICZlbGZuYW1lIC9ub2NvZGUNCisNCisvL8no1sPUtM7EvP61xMK3vrbQxc+iLNDoyta2r8no1sOzybG+tdi21NOmwre+tg0KK3N5bWJvbC5zb3VyY2VwYXRoLnJlc2V0CSANCis7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpcglcXDEwLjQyLjIxOC4xNjlccGxhdFxwdWJsaWNcZGFpa2FuZ1x6aG91Z3VvcG9ccGF0Y2gtZGlmZi10ZXN0XDc1MjBWMlxaTVBfQkFTRV9TVk5cQVBcbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjUNCis7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpcglcXDEwLjQyLjIxNy4yMzdcemhhb2p1bmt1aVxwcm9qZWN0XDc1MjAtdUNsaW51eC1yZWFsXDc1MjBNVjIuMy4wQjAxXENQVV9SN1xwbGF0Zm9ybQ0KKw0KKy8vvNPU2HJhbWR1bXANCitkbyAmdGFyZ2V0X3N0YXRlX2NtbSAmZHVtcGRpcg0KKw0KKy8vyejWw01NVcb0tq8NCitUUkFOU2xhdGlvbi5UYWJsZVdhbGsgT04gIDtkZWJ1Z2dlciB1c2VzIHRhYmxlIHdhbGsgdG8gZGVjb2RlIHZpcnR1YWwgYWRkcmVzcw0KK1RSQU5TbGF0aW9uLk9OICAgICAgICAgICAgO3N3aXRjaCBvbiBkZWJ1Z2dlciBhZGRyZXNzIHRyYW5zbGF0aW9uDQorDQorVEFTSy5DT05GSUcgICAgICAgICBsaW51eCAgICAgICAgIC8vSW5pdCBNdWx0aXRhc2sgRGVidWdnZXINCitNRU5VLlJlUHJvZ3JhbSAgICAgIGxpbnV4ICAgICAgICAgLy9Jbml0IEFSVEsgU3BlemlmaWMgTWVudSBQYXJ0J3MNCitUQVNLLlNUYWNLLlBBVFRFUk4gIDB4Q0MgICAgICAgIC8vSW5pdCBzdGFjayBzcGFjZSB3aXRoIDB4Q0MNCisvL7T6wuu2zrHIvc8NCitkbyAuL29zX2NvZGVfY29tcGFyZS5jbW0NCitkbyAuL2xpbnV4X2Nwa29fYXR0YWNoLmNtbQ0KK2VuZGRvDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNfZXZiLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzX2V2Yi5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWI3MTZjNAotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzX2V2Yi5jbW0KQEAgLTAsMCArMSwxNzMgQEAKKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKzsNCis7CUxpbnV4IERlbW8gZm9yIFRSQUNFMzIgbXVsdGl0YXNrIGRlYnVnZ2VyDQorOw0KKzsJVGhpcyBiYXRjaGZpbGUgZGVtb25zdHJhdGVzIHRoZSB1c2Ugb2YgDQorOwl0aGUgTXVsdGl0YXNrLURlYnVnZ2VyIGZvciBMaW51eCANCis7DQorOyAgIFRoZSBleGFtcGxlIGlzIGdlbmVyYXRlZCBmb3IgdGhlIGV2YjI5NzUyMHYyZnBnYSBib2FyZCB1c2luZyBhbiBJQ0QuIA0KKzsgICBJdCB3aWxsIE5PVCBydW4gb24gYW55IG90aGVyIGJvYXJkLCBidXQgbWF5IGJlIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgDQorOyAgIG90aGVycy4NCis7ICAgTGludXggaXMgZG93bmxvYWRlZCB0byB0aGUgYm9hcmQgdmlhIElDRC4NCis7DQorOyAgIG1vZGlmaWVkIGJ5IFpURS1UU1AgYXQgMjAxNS4wOC4wNw0KKzsNCis7ICAgTk9USUNFOg0KKzsgICAgICAgICAgICB0aGlzIHNjcmlwdCBjYW4gb25seSBiZSB1c2VkIG9uIE5PIGp0YWcgY2hhaW4gbW9kZQ0KKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKw0KKztkbyAuLzc1MjBWMl9ERFJfMUdiXzMxMi5jbW0NCisNCitHTE9CQUwgJlZNTElOVVhfUEFUSCANCitHTE9CQUwgJklOSVRSRF9QQVRIIA0KK0dMT0JBTCAmU09VUkNFX1BBVEgNCitHTE9CQUwgJkREUl9CQVNFDQorR0xPQkFMICZJTklUUkRfTE9BRF9BRERSDQorR0xPQkFMICZJTUFHRV9MT0FEX0FERFINCisNCismVk1MSU5VWF9QQVRIPSAiLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjVcdm1saW51eCINCismSU1BR0VfUEFUSD0iLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjVcekltYWdlIg0KKyZJTklUUkRfUEFUSD0gIi5cY3Bpb19yYW1kaXNrLmd6Ig0KKyZTT1VSQ0VfUEFUSD0iLi5cLi5cbGludXhfcGxhdFxiYXNlXGxpbnV4XGtlcm5lbHNcbGludXgtMy40LjUiDQorJkREUl9CQVNFPTB4MjIzMDAwMDANCismSU5JVFJEX0xPQURfQUREUj0mRERSX0JBU0UrMHhBMDAwMDANCismSU1BR0VfTE9BRF9BRERSPSZERFJfQkFTRSsweDgwMDANCisNCithcmVhLnJlc2V0DQorcHJpbnQgInJlc2V0dGluZy4uLiINCitUQVNLLlJFU2V0DQorc1ltYm9sLlJFU2V0DQorTU1VLlJFU2V0DQorDQorO2RvIC4vYm9vdC5jbW0gDQorDQorOyBzZXR1cCBvZiBJQ0QNCisgDQorIHByaW50ICJpbml0aWFsaXppbmcuLi4iIA0KK3N5cy5jcHUgQ29ydGV4QTUzDQorU1lTdGVtLk9wdGlvbiBNTVVTUEFDRVMgT04gICAgIDsgZW5hYmxlIHNwYWNlIGlkcyB0byB2aXJ0dWFsIGFkZHJlc3Nlcw0KK1NZU3RlbS5KdGFnQ2xvY2sgMy4wTUh6ICAgIDsgdXNlIGFkYXB0aXZlIGNsb2NraW5nIGZvciBtb3N0IHNwZWVkDQorc3lzLm9wdGlvbiBlbnJlc2V0IE9mZg0KK3N5cy5vcHRpb24gcmVzYnJlYWsgb2ZmDQorDQorU3lzLkNvbmZpZy5DT1JFQkFTRSAweDgwNDEwMDAwICA7IENvcnRleC1BNTMNCitTeXMuQ29uZmlnLkNUSUJBU0UgMHg4MDQyMDAwMA0KK1N5cy5Db25maWcuZGVidWdhY2Nlc3Nwb3J0IDANCitTeXMuTW9kZSBQUkVQQVJFDQorV2FpdCAwLjFzDQorDQorc3lzLnVwDQorO2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHhmZmZmZmZmZiAgO0REUiBjb25maWcNCisNCitTRVRVUC5JTUFTS0FTTSBPTiAgICAgICAgICA7IGxvY2sgaW50ZXJydXB0cyB3aGlsZSBzaW5nbGUgc3RlcHBpbmdsZSBzdGVwcGluZw0KKyA7bDIgZGl2aXNvbiAtLSBubyBuZWVkDQorOyBkYXRhLnNldCAweDAwODAzMDA0ICVMRSAlTE9ORyAweDMzMTExOw0KKyANCisvL0E5IHNlbGVjdCA2MjRNLCBiaXQwLTIsIDA9MjYsIDE9NjI0LCAyPTQ4MCwgMz0zMTIsIDQ9MTU2DQorO2RhdGEuc2V0IDB4MDEzMDYwNDAgJWxvbmcgMHgwMDAwMDAwMQ0KKw0KKzsgVGFyZ2V0IFNldHVwOiBpbml0aWFsaXplIExQRERSIGNvbnRyb2xsZXIgYW5kIHBlcmlwaGVyYWxzKGUuZy4gVUFSVDEpDQorcHJpbnQgImluaXRpYWxpemUgYm9hcmQgLi4uIg0KKw0KKzsgdXNlIHRoZSBkZWJ1Z2dlciB0byBpbml0aWFsaXplIGl0DQorOyBkbyBiYXNpYyBzZXR1cCBvbiBib2FyZDsgDQorOyB3ZSBkb24ndCBuZWVkIHRoaXMgc3RlcCBvbiB6eDI5NzUxMCBwbGF0Zm9ybSwgYmVjYXVzZSBqdGFnX2RlYnVnIGNvZGUgb3IgVDMyIHNjcmlwdCBoYXMgcnVuIGJlZm9yZSB0aGlzIHN0ZXAuIA0KKzsganRhZ19kZWJ1ZyBjb2RlIG9yIFQzMiBzY3JpcHQgcnVubmluZyBvbiBjb3J0ZXgtbTAgaW5pdGlhdGVzIHN5c3RlbSBjbG9jaywgRERSLCBncGlvIG11bHRpcGxleCwgYW5kIHNvIG9uLi4uLiANCisNCitkbyAuXGNvbnNvbGVfZXZiLmNtbSAgICAgOyBzZXR1cCBzZXJpYWwgY29uc29sZQ0KKwkNCis7IExvYWQgdGhlIExpbnV4IGtlcm5lbA0KKw0KKzsgSWYgeW91IGFyZSB1c2luZyBhIGZsYXNoZWQga2VybmVsLCBvciBpZiB5b3UncmUgDQorOyBsb2FkaW5nIHlvdXIga2VybmVsIHZpYSBURlRQLCB1c2UgdGhlIGJvb3QgbW9uaXRvcg0KKzsgdG8gZG8gc28uDQorDQorOyBVc2UgdGhlIG5leHQgbGluZXMgb25seSB0byBsb2FkIHRoZSBrZXJuZWwgaW50bw0KKzsgUkFNIHVzaW5nIHRoZSBkZWJ1Z2dlci4NCisNCis7IHZtbGludXggc3RhcnRzIHBoeXNpY2FsbHkgYXQgUkFNIHN0YXJ0ICg9MHgyODAwMDAwMCkgKyAweDgwMDAgDQorOyAoc2VlIGFyY2gvYXJtL2tlcm5lbC9oZWFkLWFybXYuUykNCitwcmludCAibG9hZGluZyBMaW51eCBpbWFnZS4uLiINCis7RGF0YS5MT0FELkJpbmFyeSAgJklNQUdFX1BBVEggICZJTUFHRV9MT0FEX0FERFIgICAgICA7IGxvYWRpbmcgekltYWdlIGhlcmUsIGl0IHdpbGwgdW5jb21wcmVzcyBpdHNlbGYNCis7ZGF0YS5sb2FkLmVsZiAmVk1MSU5VWF9QQVRIICgmRERSX0JBU0UrMHg4MDAwKSAvZ251IC9ub3N5bWJvbA0KK1JlZ2lzdGVyLlJFU2V0DQorDQorIERhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAweDIyMzA4MDAwLTB4YzAwMDgwMDAgL2dudSAvbm9zeW1ib2wNCisNCis7IFNldCBQQyBvbiBzdGFydCBhZGRyZXNzIG9mIGltYWdlDQorUmVnaXN0ZXIuU2V0IFBDICgmRERSX0JBU0UrMHg4MDAwKQ0KKw0KKw0KKzsgU2V0IG1hY2hpbmUgdHlwZSBpbiBSMTsgc2VlIGFyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMgICA3NTIwID0gMHgxZDYzDQorUmVnaXN0ZXIuU2V0IFIxIDB4MWQ2Mw0KKw0KKzsgU2V0IHBhcmFtZXRlciB0YWdzIGZvciBsaW51eCBib290DQorZG8gLlxhdGFnLWxpc3QuY21tDQorUmVnaXN0ZXIuU2V0IFIyICgmRERSX0JBU0UrMHgwMTAwKQ0KKw0KKzsgTG9hZGluZyBSQU0gZGlzaw0KK3ByaW50ICJsb2FkaW5nIHJhbSBkaXNrIg0KKw0KKzsgTG9hZCByYW0gZmlsZSBzeXN0ZW0gaW1hZ2UgaW50byByYW0gZGlzaw0KKztEYXRhLkxPQUQuQmluYXJ5ICZJTklUUkRfUEFUSCAgJklOSVRSRF9MT0FEX0FERFINCitEYXRhLkxPQUQuQmluYXJ5ICZJTklUUkRfUEFUSCAgJklOSVRSRF9MT0FEX0FERFIgIC9ub2NsZWFyIC9ub3N5bWJvbA0KKw0KKzsgTG9hZCB0aGUgTGludXgga2VybmVsIHN5bWJvbHMgaW50byB0aGUgZGVidWdnZXINCitwcmludCAibG9hZGluZyBMaW51eCBrZXJuZWwgc3ltYm9scy4uLiINCitEYXRhLkxPQUQuRWxmICZWTUxJTlVYX1BBVEggL2dudSAvbm9jb2RlIC9zdHJpcHBhcnQgImxpbnV4LTMuNC41IiAvU291cmNlUEFUSCAgLi5cbGludXgtMy40LjUNCis7RGF0YS5MT0FELkVsZiAmVk1MSU5VWF9QQVRIIC9nbnUgL25vY29kZSAgL1NvdXJjZVBBVEggIC4uXGxpbnV4LTMuNC41DQorDQorOyBPcGVuIGEgQ29kZSBXaW5kb3cgLS0gd2UgbGlrZSB0byBzZWUgc29tZXRoaW5nDQorRGF0YS5MaXN0DQorICAgIA0KKyANCis7IFJ1biBvdmVyIE1NVSAmIEludGVycnVwdCBpbml0aWFsaXphdGlvbg0KKw0KKyA7R28gX19pbml0X2VuZCAvT25jaGlwDQorIDtwcmludCAiaW5pdGlhbGl6aW5nIHRhcmdldCBhbmQgZGVidWdnZXIgTU1VLi4uIg0KKyA7d2FpdCAhcnVuKCkNCisgDQorIDsgTWFwIHRoZSB2aXJ0dWFsIGtlcm5lbCBzeW1ib2xzIHRvIHBoeXNpY2FsIGFkZHJlc3Nlcw0KKyA7IHRvIGdpdmUgdGhlIGRlYnVnZ2VyIGFjY2VzcyB0byBpdCBiZWZvcmUgQ1BVIE1NVSBpcw0KKyA7IGluaXRpYWxpemVkDQorIE1NVS5GT1JNQVQgTElOVVggc3dhcHBlcl9wZ19kaXIgMHhjMDAwMDAwMC0tMHhjMGZmZmZmZiAmRERSX0JBU0UNCisgVFJBTlNsYXRpb24uQ09NTU9OIDB4YmYwMDAwMDAtLTB4ZmZmZmZmZmYgICAgICAgICAgICA7IGNvbW1vbiBhcmVhIGZvciBrZXJuZWwgYW5kIHByb2Nlc3Nlcw0KKyBUUkFOU2xhdGlvbi5UYWJsZVdhbGsgT04gICAgIDtkZWJ1Z2dlciB1c2VzIHRhYmxlIHdhbGsgdG8gZGVjb2RlIHZpcnR1YWwgYWRkcmVzcw0KKyBUUkFOU2xhdGlvbi5PTiAgICAgICAgICAgIDtzd2l0Y2ggb24gZGVidWdnZXIgYWRkcmVzcyB0cmFuc2xhdGlvbg0KKyANCisgOyBzZXQgc291cmNlIHBhdGgNCisgIHByaW50ICJzZXQgc291cmNlIHBhdGggLi4uIg0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlJFU2V0DQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRCYXNlRGlyICZTT1VSQ0VfUEFUSA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcYXJjaFxhcm1cbWFjaC16eDI5NzUyMHYzIA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcYXJjaFxhcm0NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGluaXQNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGtlcm5lbA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1x0dHkNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcY2xrDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXGdwaW8NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcZG1hDQorOyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVycw0KKw0KKw0KKyA7IE5vdGUgdGhhdCB0aGUgTGludXggYXdhcmVuZXNzIG5lZWRzIHRoZSBrZXJuZWwgc3ltYm9scyB0byB3b3JrIA0KKyBwcmludCAiaW5pdGlhbGl6aW5nIG11bHRpdGFzayBzdXBwb3J0Li4uIg0KKyBUQVNLLkNPTkZJRyAuXGxpbnV4ICAgICAgIDsgbG9hZHMgTGludXggYXdhcmVuZXNzIChsaW51eC50MzIpDQorIE1FTlUuUmVQcm9ncmFtIC5cbGludXggICAgOyBsb2FkcyBMaW51eCBtZW51IChsaW51eC5tZW4pDQorIEhFTFAuRklMVEVSLkFkZCBydG9zbGludXggIDsgYWRkIGxpbnV4IGF3YXJlbmVzcyBtYW51YWwgdG8gaGVscCBmaWx0ZXINCisgTUVOVS5SZVByb2dyYW0gIC5cc3lzXGJvYXJkICAgICAgOyBhZGQgYm9hcmQgdG9vbHMNCisNCis7IHN3aXRjaCBvbiBzeW1ib2wgYXV0b2xvYWRlcg0KK3NZbWJvbC5BdXRvTG9hZC5DSEVDS0xJTlVYICJkbyAiK29zLnBwZCgpKyIvYXV0b2xvYWQgIg0KKyAgOyBHcm91cCBrZXJuZWwgYXJlYSB0byBiZSBkaXNwbGF5ZWQgd2l0aCByZWQgYmFyDQorDQorIEdST1VQLkNyZWF0ZSAia2VybmVsIiAweGMwMDAwMDAwLS0weGZmZmZmZmZmIC9SRUQNCisgR1JPVVAuQ3JlYXRlICJtb2R1bGUiIDB4YmYwMDAwMDAtLTB4YmZmZmZmZmYgL2JsdWUNCis7IE9rLCB3ZSdyZSBkb25lLCBsZXQncyBzdGFydCBMaW51eA0KKw0KKyBTWVN0ZW0uT3B0aW9uIE1NVVNQQUNFUyBPRkYNCisNCisNCisgDQorZW5kZG8NCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M19mcGdhLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4XzI5NzUyMHYzX2ZwZ2EuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRlOTMyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M19mcGdhLmNtbQpAQCAtMCwwICsxLDE3MyBAQAorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorOw0KKzsJTGludXggRGVtbyBmb3IgVFJBQ0UzMiBtdWx0aXRhc2sgZGVidWdnZXINCis7DQorOwlUaGlzIGJhdGNoZmlsZSBkZW1vbnN0cmF0ZXMgdGhlIHVzZSBvZiANCis7CXRoZSBNdWx0aXRhc2stRGVidWdnZXIgZm9yIExpbnV4IA0KKzsNCis7ICAgVGhlIGV4YW1wbGUgaXMgZ2VuZXJhdGVkIGZvciB0aGUgZXZiMjk3NTIwdjJmcGdhIGJvYXJkIHVzaW5nIGFuIElDRC4gDQorOyAgIEl0IHdpbGwgTk9UIHJ1biBvbiBhbnkgb3RoZXIgYm9hcmQsIGJ1dCBtYXkgYmUgdXNlZCBhcyBhIHRlbXBsYXRlIGZvciANCis7ICAgb3RoZXJzLg0KKzsgICBMaW51eCBpcyBkb3dubG9hZGVkIHRvIHRoZSBib2FyZCB2aWEgSUNELg0KKzsNCis7ICAgbW9kaWZpZWQgYnkgWlRFLVRTUCBhdCAyMDE1LjA4LjA3DQorOw0KKzsgICBOT1RJQ0U6DQorOyAgICAgICAgICAgIHRoaXMgc2NyaXB0IGNhbiBvbmx5IGJlIHVzZWQgb24gTk8ganRhZyBjaGFpbiBtb2RlDQorOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorO2RvIC4vNzUyMFYyX0REUl8xR2JfMzEyLmNtbQ0KKw0KK0dMT0JBTCAmVk1MSU5VWF9QQVRIIA0KK0dMT0JBTCAmSU5JVFJEX1BBVEggDQorR0xPQkFMICZTT1VSQ0VfUEFUSA0KK0dMT0JBTCAmRERSX0JBU0UNCitHTE9CQUwgJklOSVRSRF9MT0FEX0FERFINCitHTE9CQUwgJklNQUdFX0xPQURfQUREUg0KKw0KKyZWTUxJTlVYX1BBVEg9ICIuXHZtbGludXgiDQorJklNQUdFX1BBVEg9Ii4uXC4uXGxpbnV4X3BsYXRcYmFzZVxsaW51eFxrZXJuZWxzXGxpbnV4LTMuNC41XHpJbWFnZSINCismSU5JVFJEX1BBVEg9ICIuXGNwaW9fcmFtZGlzay5neiINCismU09VUkNFX1BBVEg9IkY6XDc1MjBWM1xsaW51eC0zLjQuNSINCismRERSX0JBU0U9MHgyMjMwMDAwMA0KKyZJTklUUkRfTE9BRF9BRERSPSZERFJfQkFTRSsweEEwMDAwMA0KKyZJTUFHRV9MT0FEX0FERFI9JkREUl9CQVNFKzB4ODAwMA0KKw0KK2FyZWEucmVzZXQNCitwcmludCAicmVzZXR0aW5nLi4uIg0KK1RBU0suUkVTZXQNCitzWW1ib2wuUkVTZXQNCitNTVUuUkVTZXQNCisNCis7ZG8gLi9ib290LmNtbSANCisNCis7IHNldHVwIG9mIElDRA0KKyANCisgcHJpbnQgImluaXRpYWxpemluZy4uLiIgDQorc3lzLmNwdSBDb3J0ZXhBNTMNCitTWVN0ZW0uT3B0aW9uIE1NVVNQQUNFUyBPTiAgICAgOyBlbmFibGUgc3BhY2UgaWRzIHRvIHZpcnR1YWwgYWRkcmVzc2VzDQorU1lTdGVtLkp0YWdDbG9jayAzLjBNSHogICAgOyB1c2UgYWRhcHRpdmUgY2xvY2tpbmcgZm9yIG1vc3Qgc3BlZWQNCitzeXMub3B0aW9uIGVucmVzZXQgT2ZmDQorc3lzLm9wdGlvbiByZXNicmVhayBvZmYNCisNCitTeXMuQ29uZmlnLkNPUkVCQVNFIDB4ODA0MTAwMDAgIDsgQ29ydGV4LUE1Mw0KK1N5cy5Db25maWcuQ1RJQkFTRSAweDgwNDIwMDAwDQorU3lzLkNvbmZpZy5kZWJ1Z2FjY2Vzc3BvcnQgMA0KK1N5cy5Nb2RlIFBSRVBBUkUNCitXYWl0IDAuMXMNCisNCitzeXMudXANCis7ZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweGZmZmZmZmZmICA7RERSIGNvbmZpZw0KKw0KK1NFVFVQLklNQVNLQVNNIE9OICAgICAgICAgIDsgbG9jayBpbnRlcnJ1cHRzIHdoaWxlIHNpbmdsZSBzdGVwcGluZ2xlIHN0ZXBwaW5nDQorIDtsMiBkaXZpc29uIC0tIG5vIG5lZWQNCis7IGRhdGEuc2V0IDB4MDA4MDMwMDQgJUxFICVMT05HIDB4MzMxMTE7DQorIA0KKy8vQTkgc2VsZWN0IDYyNE0sIGJpdDAtMiwgMD0yNiwgMT02MjQsIDI9NDgwLCAzPTMxMiwgND0xNTYNCis7ZGF0YS5zZXQgMHgwMTMwNjA0MCAlbG9uZyAweDAwMDAwMDAxDQorDQorOyBUYXJnZXQgU2V0dXA6IGluaXRpYWxpemUgTFBERFIgY29udHJvbGxlciBhbmQgcGVyaXBoZXJhbHMoZS5nLiBVQVJUMSkNCitwcmludCAiaW5pdGlhbGl6ZSBib2FyZCAuLi4iDQorDQorOyB1c2UgdGhlIGRlYnVnZ2VyIHRvIGluaXRpYWxpemUgaXQNCis7IGRvIGJhc2ljIHNldHVwIG9uIGJvYXJkOyANCis7IHdlIGRvbid0IG5lZWQgdGhpcyBzdGVwIG9uIHp4Mjk3NTEwIHBsYXRmb3JtLCBiZWNhdXNlIGp0YWdfZGVidWcgY29kZSBvciBUMzIgc2NyaXB0IGhhcyBydW4gYmVmb3JlIHRoaXMgc3RlcC4gDQorOyBqdGFnX2RlYnVnIGNvZGUgb3IgVDMyIHNjcmlwdCBydW5uaW5nIG9uIGNvcnRleC1tMCBpbml0aWF0ZXMgc3lzdGVtIGNsb2NrLCBERFIsIGdwaW8gbXVsdGlwbGV4LCBhbmQgc28gb24uLi4uIA0KKw0KK2RvIC5cY29uc29sZV9mcGdhLmNtbSAgICAgOyBzZXR1cCBzZXJpYWwgY29uc29sZQ0KKwkNCis7IExvYWQgdGhlIExpbnV4IGtlcm5lbA0KKw0KKzsgSWYgeW91IGFyZSB1c2luZyBhIGZsYXNoZWQga2VybmVsLCBvciBpZiB5b3UncmUgDQorOyBsb2FkaW5nIHlvdXIga2VybmVsIHZpYSBURlRQLCB1c2UgdGhlIGJvb3QgbW9uaXRvcg0KKzsgdG8gZG8gc28uDQorDQorOyBVc2UgdGhlIG5leHQgbGluZXMgb25seSB0byBsb2FkIHRoZSBrZXJuZWwgaW50bw0KKzsgUkFNIHVzaW5nIHRoZSBkZWJ1Z2dlci4NCisNCis7IHZtbGludXggc3RhcnRzIHBoeXNpY2FsbHkgYXQgUkFNIHN0YXJ0ICg9MHgyODAwMDAwMCkgKyAweDgwMDAgDQorOyAoc2VlIGFyY2gvYXJtL2tlcm5lbC9oZWFkLWFybXYuUykNCitwcmludCAibG9hZGluZyBMaW51eCBpbWFnZS4uLiINCis7RGF0YS5MT0FELkJpbmFyeSAgJklNQUdFX1BBVEggICZJTUFHRV9MT0FEX0FERFIgICAgICA7IGxvYWRpbmcgekltYWdlIGhlcmUsIGl0IHdpbGwgdW5jb21wcmVzcyBpdHNlbGYNCis7ZGF0YS5sb2FkLmVsZiAmVk1MSU5VWF9QQVRIICgmRERSX0JBU0UrMHg4MDAwKSAvZ251IC9ub3N5bWJvbA0KK1JlZ2lzdGVyLlJFU2V0DQorDQorIERhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAweDIyMzA4MDAwLTB4YzAwMDgwMDAgL2dudSAvbm9zeW1ib2wNCisNCis7IFNldCBQQyBvbiBzdGFydCBhZGRyZXNzIG9mIGltYWdlDQorUmVnaXN0ZXIuU2V0IFBDICgmRERSX0JBU0UrMHg4MDAwKQ0KKw0KKw0KKzsgU2V0IG1hY2hpbmUgdHlwZSBpbiBSMTsgc2VlIGFyY2gvYXJtL3Rvb2xzL21hY2gtdHlwZXMgICA3NTIwID0gMHgxZDYzDQorUmVnaXN0ZXIuU2V0IFIxIDB4MWQ2Mw0KKw0KKzsgU2V0IHBhcmFtZXRlciB0YWdzIGZvciBsaW51eCBib290DQorZG8gLlxhdGFnLWxpc3QuY21tDQorUmVnaXN0ZXIuU2V0IFIyICgmRERSX0JBU0UrMHgwMTAwKQ0KKw0KKzsgTG9hZGluZyBSQU0gZGlzaw0KK3ByaW50ICJsb2FkaW5nIHJhbSBkaXNrIg0KKw0KKzsgTG9hZCByYW0gZmlsZSBzeXN0ZW0gaW1hZ2UgaW50byByYW0gZGlzaw0KKztEYXRhLkxPQUQuQmluYXJ5ICZJTklUUkRfUEFUSCAgJklOSVRSRF9MT0FEX0FERFINCitEYXRhLkxPQUQuQmluYXJ5ICZJTklUUkRfUEFUSCAgJklOSVRSRF9MT0FEX0FERFIgIC9ub2NsZWFyIC9ub3N5bWJvbA0KKw0KKzsgTG9hZCB0aGUgTGludXgga2VybmVsIHN5bWJvbHMgaW50byB0aGUgZGVidWdnZXINCitwcmludCAibG9hZGluZyBMaW51eCBrZXJuZWwgc3ltYm9scy4uLiINCitEYXRhLkxPQUQuRWxmICZWTUxJTlVYX1BBVEggL2dudSAvbm9jb2RlIC9zdHJpcHBhcnQgImxpbnV4LTMuNC41IiAvU291cmNlUEFUSCAgLi5cbGludXgtMy40LjUNCis7RGF0YS5MT0FELkVsZiAmVk1MSU5VWF9QQVRIIC9nbnUgL25vY29kZSAgL1NvdXJjZVBBVEggIC4uXGxpbnV4LTMuNC41DQorDQorOyBPcGVuIGEgQ29kZSBXaW5kb3cgLS0gd2UgbGlrZSB0byBzZWUgc29tZXRoaW5nDQorRGF0YS5MaXN0DQorICAgIA0KKyANCis7IFJ1biBvdmVyIE1NVSAmIEludGVycnVwdCBpbml0aWFsaXphdGlvbg0KKw0KKyA7R28gX19pbml0X2VuZCAvT25jaGlwDQorIDtwcmludCAiaW5pdGlhbGl6aW5nIHRhcmdldCBhbmQgZGVidWdnZXIgTU1VLi4uIg0KKyA7d2FpdCAhcnVuKCkNCisgDQorIDsgTWFwIHRoZSB2aXJ0dWFsIGtlcm5lbCBzeW1ib2xzIHRvIHBoeXNpY2FsIGFkZHJlc3Nlcw0KKyA7IHRvIGdpdmUgdGhlIGRlYnVnZ2VyIGFjY2VzcyB0byBpdCBiZWZvcmUgQ1BVIE1NVSBpcw0KKyA7IGluaXRpYWxpemVkDQorIE1NVS5GT1JNQVQgTElOVVggc3dhcHBlcl9wZ19kaXIgMHhjMDAwMDAwMC0tMHhjMGZmZmZmZiAmRERSX0JBU0UNCisgVFJBTlNsYXRpb24uQ09NTU9OIDB4YmYwMDAwMDAtLTB4ZmZmZmZmZmYgICAgICAgICAgICA7IGNvbW1vbiBhcmVhIGZvciBrZXJuZWwgYW5kIHByb2Nlc3Nlcw0KKyBUUkFOU2xhdGlvbi5UYWJsZVdhbGsgT04gICAgIDtkZWJ1Z2dlciB1c2VzIHRhYmxlIHdhbGsgdG8gZGVjb2RlIHZpcnR1YWwgYWRkcmVzcw0KKyBUUkFOU2xhdGlvbi5PTiAgICAgICAgICAgIDtzd2l0Y2ggb24gZGVidWdnZXIgYWRkcmVzcyB0cmFuc2xhdGlvbg0KKyANCisgOyBzZXQgc291cmNlIHBhdGgNCisgIHByaW50ICJzZXQgc291cmNlIHBhdGggLi4uIg0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlJFU2V0DQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRCYXNlRGlyICZTT1VSQ0VfUEFUSA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcYXJjaFxhcm1cbWFjaC16eDI5NzUyMHYzIA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcYXJjaFxhcm0NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGluaXQNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGtlcm5lbA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1x0dHkNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcY2xrDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXGdwaW8NCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcZG1hDQorOyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVycw0KKw0KKw0KKyA7IE5vdGUgdGhhdCB0aGUgTGludXggYXdhcmVuZXNzIG5lZWRzIHRoZSBrZXJuZWwgc3ltYm9scyB0byB3b3JrIA0KKyBwcmludCAiaW5pdGlhbGl6aW5nIG11bHRpdGFzayBzdXBwb3J0Li4uIg0KKyBUQVNLLkNPTkZJRyAuXGxpbnV4ICAgICAgIDsgbG9hZHMgTGludXggYXdhcmVuZXNzIChsaW51eC50MzIpDQorIE1FTlUuUmVQcm9ncmFtIC5cbGludXggICAgOyBsb2FkcyBMaW51eCBtZW51IChsaW51eC5tZW4pDQorIEhFTFAuRklMVEVSLkFkZCBydG9zbGludXggIDsgYWRkIGxpbnV4IGF3YXJlbmVzcyBtYW51YWwgdG8gaGVscCBmaWx0ZXINCisgTUVOVS5SZVByb2dyYW0gIC5cc3lzXGJvYXJkICAgICAgOyBhZGQgYm9hcmQgdG9vbHMNCisNCis7IHN3aXRjaCBvbiBzeW1ib2wgYXV0b2xvYWRlcg0KK3NZbWJvbC5BdXRvTG9hZC5DSEVDS0xJTlVYICJkbyAiK29zLnBwZCgpKyIvYXV0b2xvYWQgIg0KKyAgOyBHcm91cCBrZXJuZWwgYXJlYSB0byBiZSBkaXNwbGF5ZWQgd2l0aCByZWQgYmFyDQorDQorIEdST1VQLkNyZWF0ZSAia2VybmVsIiAweGMwMDAwMDAwLS0weGZmZmZmZmZmIC9SRUQNCisgR1JPVVAuQ3JlYXRlICJtb2R1bGUiIDB4YmYwMDAwMDAtLTB4YmZmZmZmZmYgL2JsdWUNCis7IE9rLCB3ZSdyZSBkb25lLCBsZXQncyBzdGFydCBMaW51eA0KKw0KKyBTWVN0ZW0uT3B0aW9uIE1NVVNQQUNFUyBPRkYNCisNCisNCisgDQorZW5kZG8NCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF8yOTc1MjB2M2V2Yl9hdHRhY2guY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNldmJfYXR0YWNoLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43OGMyNDZhCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfMjk3NTIwdjNldmJfYXR0YWNoLmNtbQpAQCAtMCwwICsxLDkyIEBACis7LyppdCBpcyB1c2VkIGZvciBhdHRhY2hpbmcgd2hpbGUgengyOTc1MTBldmIgIHJ1bm5pbmcqLw0KKw0KKztkbyAuL2Jvb3RfYXR0YWNoX0NvcnRleEE5LmNtbQ0KKw0KK0dMT0JBTCAmVk1MSU5VWF9QQVRIDQorR0xPQkFMICZTT1VSQ0VfUEFUSA0KK0dMT0JBTCAmRERSX0JBU0UNCisNCismU09VUkNFX1BBVEg9Ii4uXC4uXGxpbnV4X3BsYXRcYmFzZVxsaW51eFxrZXJuZWxzXGxpbnV4LTMuNC41Ig0KKyZWTUxJTlVYX1BBVEg9Ii4uXC4uXGxpbnV4X3BsYXRcYmFzZVxsaW51eFxrZXJuZWxzXGxpbnV4LTMuNC41XHZtbGludXgiDQorDQorJkREUl9CQVNFPTB4MjA0NDAwMDANCisNCisgYXJlYS5yZXNldA0KKyBzWW1ib2wuUkVTZXQNCitNTVUuUkVTZXQNCisNCis7IHNldHVwIG9mIElDRA0KKyANCisgcHJpbnQgImluaXRpYWxpemluZy4uLiIgDQorIFNZU3RlbS5DUFUgQ29ydGV4QTUzICAgICAgCQkJOyA7WlgyOTc1MjB2MyBDb3J0ZXhBNTMgY29yZQ0KKyBTWVN0ZW0uT3B0aW9uIE1NVVNQQUNFUyBPTiAgICAgOyBlbmFibGUgc3BhY2UgaWRzIHRvIHZpcnR1YWwgYWRkcmVzc2VzDQorU1lTdGVtLkp0YWdDbG9jayAzLjBNSHogICAgOyB1c2UgYWRhcHRpdmUgY2xvY2tpbmcgZm9yIG1vc3Qgc3BlZWQNCisgDQorIHN5c3RlbS5vcHRpb24gcmVzYnJlYWsgIG9mZg0KKyBzeXN0ZW0ub3B0aW9uIGVucmVzZXQgICBvZmYNCisgDQorU3lzLkNvbmZpZy5DT1JFQkFTRSAweDgwNDEwMDAwICA7IA0KK1N5cy5Db25maWcuQ1RJQkFTRSAweDgwNDIwMDAwDQorU3lzLkNvbmZpZy5kZWJ1Z2FjY2Vzc3BvcnQgMA0KK1N5cy5Nb2RlIFBSRVBBUkUNCisNCisgDQorIHdhaXQgMC4xcw0KKyANCisgc3lzLm1vZGUgYXR0YWNoDQorIFNFVFVQLklNQVNLQVNNIE9OICAgICAgICAgIDsgbG9jayBpbnRlcnJ1cHRzIHdoaWxlIHNpbmdsZSBzdGVwcGluZw0KKyANCis7IExvYWQgdGhlIExpbnV4IGtlcm5lbCBzeW1ib2xzIGludG8gdGhlIGRlYnVnZ2VyDQorIA0KKyBwcmludCAibG9hZGluZyBMaW51eCBrZXJuZWwgc3ltYm9scy4uLiINCisNCisgO0RhdGEuTE9BRC5FbGYgJlZNTElOVVhfUEFUSCAvZ251IC9ub2NvZGUgIC9Tb3VyY2VQQVRIIC4uXC4uXC4uXC4uXA0KKyANCitEYXRhLkxPQUQuRWxmICZWTUxJTlVYX1BBVEggL2dudSAvbm9jb2RlIC9zdHJpcHBhcnQgImxpbnV4LTMuNC41IiAvU291cmNlUEFUSCAgLi5cbGludXgtMy40LjUNCisNCisgOyBNYXAgdGhlIHZpcnR1YWwga2VybmVsIHN5bWJvbHMgdG8gcGh5c2ljYWwgYWRkcmVzc2VzDQorIDsgdG8gZ2l2ZSB0aGUgZGVidWdnZXIgYWNjZXNzIHRvIGl0IGJlZm9yZSBDUFUgTU1VIGlzDQorIDsgaW5pdGlhbGl6ZWQNCisgTU1VLkZPUk1BVCBMSU5VWCBzd2FwcGVyX3BnX2RpciAweGMwMDQwMDAwLS0weGMzMGZmZmZmICZERFJfQkFTRQ0KKyBUUkFOU2xhdGlvbi5DT01NT04gMHhiZjAwMDAwMC0tMHhmZmZmZmZmZiAgICAgICAgICAgIDsgY29tbW9uIGFyZWEgZm9yIGtlcm5lbCBhbmQgcHJvY2Vzc2VzDQorIFRSQU5TbGF0aW9uLlRhYmxlV2FsayBPTiAgICAgO2RlYnVnZ2VyIHVzZXMgdGFibGUgd2FsayB0byBkZWNvZGUgdmlydHVhbCBhZGRyZXNzDQorIFRSQU5TbGF0aW9uLk9OICAgICAgICAgICAgO3N3aXRjaCBvbiBkZWJ1Z2dlciBhZGRyZXNzIHRyYW5zbGF0aW9uDQorIA0KKyA7IHNldCBzb3VyY2UgcGF0aA0KKyAgcHJpbnQgInNldCBzb3VyY2UgcGF0aCAuLi4iDQorICBzWW1ib2wuU291cmNlUEFUSC5SRVNldA0KKyAgc1ltYm9sLlNvdXJjZVBBVEguU2V0QmFzZURpciAmU09VUkNFX1BBVEgNCisgIHNZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGFyY2hcYXJtDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxhcmNoXGFybVxtYWNoLXp4Mjk3NTIwdjMgDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxpbml0DQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxrZXJuZWwNCisgIDtzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXGJhc2UNCisgIDtzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXHR0eQ0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcZ3Bpbw0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXGRyaXZlcnNcaTJjDQorICA7c1ltYm9sLlNvdXJjZVBBVEguU2V0UmVjdXJzZURpciAmU09VUkNFX1BBVEhcZHJpdmVyc1x1c2INCisgIDtzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzXG1tYw0KKyAgO3NZbWJvbC5Tb3VyY2VQQVRILlNldFJlY3Vyc2VEaXIgJlNPVVJDRV9QQVRIXG1tDQorICBzWW1ib2wuU291cmNlUEFUSC5TZXRSZWN1cnNlRGlyICZTT1VSQ0VfUEFUSFxkcml2ZXJzDQorICANCis7IEluaXRpYWxpemUgTGludXggQXdhcmVuZXNzDQorDQorIDsgTm90ZSB0aGF0IHRoZSBMaW51eCBhd2FyZW5lc3MgbmVlZHMgdGhlIGtlcm5lbCBzeW1ib2xzIHRvIHdvcmsgDQorIHByaW50ICJpbml0aWFsaXppbmcgbXVsdGl0YXNrIHN1cHBvcnQuLi4iDQorIFRBU0suQ09ORklHIC5cbGludXggICAgICAgOyBsb2FkcyBMaW51eCBhd2FyZW5lc3MgKGxpbnV4LnQzMikNCisgTUVOVS5SZVByb2dyYW0gLlxsaW51eCAgICA7IGxvYWRzIExpbnV4IG1lbnUgKGxpbnV4Lm1lbikNCisgSEVMUC5GSUxURVIuQWRkIHJ0b3NsaW51eCAgOyBhZGQgbGludXggYXdhcmVuZXNzIG1hbnVhbCB0byBoZWxwIGZpbHRlcg0KKyBNRU5VLlJlUHJvZ3JhbSAgLlxzeXNcYm9hcmQgICAgICA7IGFkZCBib2FyZCB0b29scw0KKyANCisgIDsgR3JvdXAga2VybmVsIGFyZWEgdG8gYmUgZGlzcGxheWVkIHdpdGggcmVkIGJhcg0KKw0KKyBHUk9VUC5DcmVhdGUgImtlcm5lbCIgMHhjMDAwMDAwMC0tMHhmZmZmZmZmZiAvUkVEDQorIEdST1VQLkNyZWF0ZSAibW9kdWxlIiAweGJmMDAwMDAwLS0weGJmZmZmZmZmIC9ibHVlDQorOyBPaywgd2UncmUgZG9uZSwgbGV0J3Mgc3RhcnQgTGludXgNCisgDQorYnJlYWsNCisNCitlbmRkbw0KKyANCisNCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF9idWRkeV9kZWJ1Zy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9saW51eF9idWRkeV9kZWJ1Zy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTI0NGZhYgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2J1ZGR5X2RlYnVnLmNtbQpAQCAtMCwwICsxLDcxIEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDE2IFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8gZ2VhbmZlbmcNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTUwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTEwMDAuDQorJmZpbGVMaW5lcz0xMDAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2dfYnVkZGZ5Ig0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJccmVzdWx0LnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCithcmVhLnZpZXcgdHJhY2UNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCismbm9kZT12LnZhbHVlKGJ1ZGR5X2VtcGxveV9oZWFkLm5leHQpDQorJmhlYWQ9di52YWx1ZSgmYnVkZHlfZW1wbG95X2hlYWQpDQord2hpbGUgISgmbm9kZT09JmhlYWQpDQorKA0KKwkmYWRkcj12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPmFkZHIpDQorCSZzaXplPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+c2l6ZSkNCisJJnRocmVhZD12LnN0cmluZygoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT50YXNrX25hbWUpDQorCSZpPTANCisJJnN0YWNrPSIiDQorCSZzdGFja192YWx1ZT12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPnN0YWNrX2ZyYW1lWyZpXSkNCisJd2hpbGUgJmk8MHhhIA0KKwkoDQorCQlpZiAhKCZzdGFja192YWx1ZT09MCkNCisJCSgNCisJCQkmc3RhY2tfZnJhbWU9WS5mdW5jdGlvbihQOiZzdGFja192YWx1ZSkNCisJCQkmc3RhY2tfZnJhbWU9b3MuZmlsZS5uYW1lKCImc3RhY2tfZnJhbWUiKQ0KKwkJCSZzdGFjaz0iJnN0YWNrIisiJmk6IisiJnN0YWNrX2ZyYW1lICINCisJCQkmaT0maSsxDQorCQkJJnN0YWNrX3ZhbHVlPXYudmFsdWUoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+c3RhY2tfZnJhbWVbJmldKQ0KKwkJKQ0KKwkJZWxzZQ0KKwkJKA0KKwkJCWdvdG8gbmV4dA0KKwkJKQ0KKwkpDQorbmV4dDoNCisJJnNpemU9Zm9ybWF0LmRlY2ltYWwoMTAuLCAmc2l6ZSkNCisJcHJpbnQgIm5vZGU6ICIrIiZub2RlIisiICBhZGRyOiAiKyImYWRkciIrIiAgc2l6ZToiKyImc2l6ZSIrIiAgdGhyZWFkOiIrIiZ0aHJlYWQiKyIgIHN0YWNrX2ZyYW1lOiIrIiZzdGFjayIgDQorCSZub2RlPXYudmFsdWUoKChzdHJ1Y3QgbGlzdF9oZWFkKikmbm9kZSktPm5leHQpDQorKQ0KKw0KK3ByaW50ICJhbGxvY2F0ZWQgaG9iYnkgRW5kLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorDQorYXJlYS5jbG9zZSB0cmFjZQ0KK0VORERPDQorLy8qKioq1MvQ0L3hyvgqKioqKg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2Nwa29fYXR0YWNoLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2Nwa29fYXR0YWNoLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzRlNTI1Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfY3Brb19hdHRhY2guY21tCkBAIC0wLDAgKzEsMjIgQEAKKyAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDE2IFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8gZ2VhbmZlbmcNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvL7S0vajSu7j2tLC/2qO7DQorbG9jYWwgJmVsZm5hbWUNCitESUFMT0cuRmlsZSAqDQorZW50cnkgJmVsZm5hbWUNCismY3Brb2Rpcj1vcy5maWxlLnBhdGgoJmVsZm5hbWUpDQorDQorJmNwa29fdGV4dF9zdGFydD12LnZhbHVlKGNwcHNfZ2xvYmFsX3Zhci5jcGtvX3RleHRfc3RhcnQpDQorJmNwa29fZGF0YV9zdGFydD12LnZhbHVlKGNwcHNfZ2xvYmFsX3Zhci5jcGtvX2RhdGFfc3RhcnQpDQorJmNwa29fYnNzX3N0YXJ0PXYudmFsdWUoY3Bwc19nbG9iYWxfdmFyLmNwa29fYnNzX3N0YXJ0KQ0KKw0KK2RhdGEubG9hZC5lbGYgIiZlbGZuYW1lIiAvZ251IC9ub2NsZWFyIC9ub2NvZGUgL3JlbG9jIC50ZXh0IGF0ICZjcGtvX3RleHRfc3RhcnQgL3JlbG9jIC5kYXRhIGF0ICZjcGtvX2RhdGFfc3RhcnQgL3JlbG9jIC5ic3MgYXQgJmNwa29fYnNzX3N0YXJ0DQorLy8qKioq1MvQ0L3hyvgqKioqKg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2ttYWxsb2NfZGVidWcuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbGludXhfa21hbGxvY19kZWJ1Zy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmUxY2YwZQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL2xpbnV4X2ttYWxsb2NfZGVidWcuY21tCkBAIC0wLDAgKzEsNzQgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTYgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBnZWFuZmVuZw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9NTAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MTAwMC4NCismZmlsZUxpbmVzPTEwMDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZ19rbWFsbG9jIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJccmVzdWx0LnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCithcmVhLnZpZXcgdHJhY2UNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCisNCismbm9kZT12LnZhbHVlKGttZW1fZW1wbG95X2hlYWQubmV4dCkNCisNCismaGVhZD12LnZhbHVlKCZrbWVtX2VtcGxveV9oZWFkKQ0KKw0KK3doaWxlICEoJm5vZGU9PSZoZWFkKQ0KKygNCisJJmFkZHI9di52YWx1ZSgoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT5hZGRyKQ0KKwkmc2l6ZT12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPnNpemUpDQorCSZ0aHJlYWQ9di5zdHJpbmcoKChzdHJ1Y3QgaGVhcF9yZWNvcmQqKSZub2RlKS0+dGFza19uYW1lKQ0KKwkmaT0wDQorCSZzdGFjaz0iIg0KKwkmc3RhY2tfdmFsdWU9di52YWx1ZSgoKHN0cnVjdCBoZWFwX3JlY29yZCopJm5vZGUpLT5zdGFja19mcmFtZVsmaV0pDQorCXdoaWxlICZpPDB4YSANCisJKA0KKwkJaWYgISgmc3RhY2tfdmFsdWU9PTApDQorCQkoDQorCQkJJnN0YWNrX2ZyYW1lPVkuZnVuY3Rpb24oUDomc3RhY2tfdmFsdWUpDQorCQkJJnN0YWNrX2ZyYW1lPW9zLmZpbGUubmFtZSgiJnN0YWNrX2ZyYW1lIikNCisJCQkmc3RhY2s9IiZzdGFjayIrIiZpOiIrIiZzdGFja19mcmFtZSAiDQorCQkJJmk9JmkrMQ0KKwkJCSZzdGFja192YWx1ZT12LnZhbHVlKCgoc3RydWN0IGhlYXBfcmVjb3JkKikmbm9kZSktPnN0YWNrX2ZyYW1lWyZpXSkNCisJCSkNCisJCWVsc2UNCisJCSgNCisJCQlnb3RvIG5leHQNCisJCSkNCisJKQ0KK25leHQ6DQorCSZzaXplPWZvcm1hdC5kZWNpbWFsKDEwLiwgJnNpemUpDQorCXByaW50ICJub2RlOiAiKyImbm9kZSIrIiAgYWRkcjogIisiJmFkZHIiKyIgIHNpemU6IisiJnNpemUiKyIgIHRocmVhZDoiKyImdGhyZWFkIisiICBzdGFja19mcmFtZToiKyImc3RhY2siIA0KKwkmbm9kZT12LnZhbHVlKCgoc3RydWN0IGxpc3RfaGVhZCopJm5vZGUpLT5uZXh0KQ0KKykNCisNCitwcmludCAiYWxsb2NhdGVkIGttYWxsb2MgRW5kLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorDQorYXJlYS5jbG9zZSB0cmFjZQ0KK0VORERPDQorLy8qKioq1MvQ0L3hyvgqKioqKg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9kYXRhX2ZyZWUuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfZnJlZS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMTZjNzMxNQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9kYXRhX2ZyZWUuY21tCkBAIC0wLDAgKzEsNjEgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmcG5leHQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJnN0YXJ0YWRkciAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAmaWZpbmRleCAmbWFjYWRkciAmdGVtcG1hYyAmY291bnQgJmRldmFkZHIgJmlwYWRkciAmdGVtcGlwYWRkcg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MzAwLg0KKyZmaWxlTGluZXM9MzAwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXGFsbHRhc2sudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICBicmVhaw0KKykNCisNCitpZiAheS5leGlzdChpbml0X3Rhc2spDQorKA0KKyAgcHJpbnQgJXN0cmluZyAiT1MgaXMgbm90IHVDbGludXgiDQorICBhcmVhLnZpZXcgdHJhY2UNCisgIGFyZWEuY2xvc2UgdHJhY2UNCisgIGVuZG8NCispDQorIA0KKyZwdGFzaz12LnZhbHVlKCgoKHN0cnVjdCBsZWFrX2xpc3QqKSZkYXRhX2ZyZWUpW2xlYWtfc2V0XSkubmV4dCkNCismY291bnQ9di52YWx1ZSgoKChzdHJ1Y3QgbGVha19saXN0KikmZGF0YV9mcmVlKVtsZWFrX3NldF0pLmNvdW50KQ0KKyZudW09MA0KK3JlcGVhdA0KKygNCismcG5leHQ9di52YWx1ZSgoKHN0cnVjdCB0cmFja19pbmZvKikmcHRhc2spLT5uZXh0KQ0KKyZwdHI9di5zdHJpbmcoKChzdHJ1Y3QgdHJhY2tfaW5mbyopJnB0YXNrKS0+ZnVuY190cmFjaykNCismcHRyMT12LnN0cmluZygoKHN0cnVjdCB0cmFja19pbmZvKikmcHRhc2spLT5mdW5jX3RyYWNrKzIwMCkNCismcHRhc2s9JnBuZXh0DQorcHJpbnQgJXN0cmluZyAgIiZudW0gJnB0ciIgDQorcHJpbnQgICVzdHJpbmcgIiZwdHIxIg0KK3ByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCismbnVtPSZudW0rMQ0KKykNCit3aGlsZSAoJm51bTwmY291bnQpDQorcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK2VuZGRvDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9kYXRhX2xlYWsuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2RhdGFfbGVhay5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2EwNTQ1YQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9kYXRhX2xlYWsuY21tCkBAIC0wLDAgKzEsNTggQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmcG5leHQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJnN0YXJ0YWRkciAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAmaWZpbmRleCAmbWFjYWRkciAmdGVtcG1hYyAmY291bnQgJmRldmFkZHIgJmlwYWRkciAmdGVtcGlwYWRkcg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9MTUwLg0KKyZmaWxlTGluZXM9MzAwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXGFsbHRhc2sudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICBicmVhaw0KKykNCisNCitpZiAheS5leGlzdChpbml0X3Rhc2spDQorKA0KKyAgcHJpbnQgJXN0cmluZyAiT1MgaXMgbm90IHVDbGludXgiDQorICBhcmVhLnZpZXcgdHJhY2UNCisgIGFyZWEuY2xvc2UgdHJhY2UNCisgIGVuZG8NCispDQorIA0KKyZwdGFzaz12LnZhbHVlKCgoKHN0cnVjdCBsZWFrX2xpc3QqKSZkYXRhX2xlYWspW2xlYWtfc2V0XSkubmV4dCkNCismY291bnQ9di52YWx1ZSgoKChzdHJ1Y3QgbGVha19saXN0KikmZGF0YV9sZWFrKVtsZWFrX3NldF0pLmNvdW50KQ0KKyZudW09MA0KK3JlcGVhdA0KKygNCismcG5leHQ9di52YWx1ZSgoKHN0cnVjdCB0cmFja19pbmZvKikmcHRhc2spLT5uZXh0KQ0KKyZwdHI9di5zdHJpbmcoKChzdHJ1Y3QgdHJhY2tfaW5mbyopJnB0YXNrKS0+ZnVuY190cmFjaykNCismcHRhc2s9JnBuZXh0DQorcHJpbnQgJXN0cmluZyAgIiZwdHIgICZudW0iIA0KKyZudW09Jm51bSsxDQorKQ0KK3doaWxlICgmbnVtPCZjb3VudCkNCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCisNCithcmVhLnZpZXcgdHJhY2UNCithcmVhLmNsb3NlIHRyYWNlDQorZW5kZG8NCisgICAgDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X2Nvbm5faGFzaF9pbmZvIC5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfY29ubl9oYXNoX2luZm8gLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NjczZDI1Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X2Nvbm5faGFzaF9pbmZvIC5jbW0KQEAgLTAsMCArMSw4NyBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvL8v509DS0b2owbS909DFz6INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmcF9pbml0X3Rhc2sgJnB0YXNrICZoYXNoX3NoaWZ0ICZhY3RpdmVfbW0gJm1tYXAgJnBOYW1lICZoYXNoX2J1Y2tldHMgJmVuZGFkZHIgJm1tYXBzaXplICZhcHBtZW1zaXplICZhcHBhbGxzaXplDQorbG9jYWwgICZtYWNhZGRyICZ0ZW1wbWFjICZjb3VudCAmZGV2YWRkciAmaXBhZGRyICZ0ZW1waXBhZGRyICZoYXNoaW5mbw0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9ODAwLg0KKyZmaWxlTGluZXM9MjAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcaGFzaC50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisNCitwcmludCAiY29ubiBpbmZvOiINCismcHRhc2s9di52YWx1ZSgmaW5pdF9uZXQuY3QpDQorJmh0YWJsZV9zaXplPXYudmFsdWUoKChzdHJ1Y3QgbmV0bnNfY3QqKSZwdGFzayktPmh0YWJsZV9zaXplKQ0KKyZoYXNoPXYudmFsdWUoKChzdHJ1Y3QgbmV0bnNfY3QqKSZwdGFzayktPmhhc2gpDQorJm9mZnNldD12LnZhbHVlKCgoc3RydWN0IG5mX2Nvbm4qKTB4MCktPnR1cGxlaGFzaCkNCitwcmludCAlc3RyaW5nICImb2Zmc2V0Ig0KKyZjb3VudD0wDQord2hpbGUgKCZjb3VudDwmaHRhYmxlX3NpemUpDQorKA0KKyAgJmhhc2hpbmZvPXYudmFsdWUoKChzdHJ1Y3QgaGxpc3RfbnVsbHNfaGVhZCopJmhhc2gpWyZjb3VudF0tPmZpcnN0KQ0KKyAgcmVwZWF0DQorICAoDQorICBpZiAmaGFzaGluZm8+MHhDMDAwMDAwMA0KKyAgKA0KKyAgJmNvbm49Jmhhc2hpbmZvLSZvZmZzZXQNCisgICZzcmNfdHVwbGU9di52YWx1ZSgoKHN0cnVjdCBuZl9jb25uKikmY29ubiktPnR1cGxlaGFzaC50dXBsZS5zcmMudTMuaXApDQorICAmc3JjX3BvcnQ9di52YWx1ZSgoKHN0cnVjdCBuZl9jb25uKikmY29ubiktPnR1cGxlaGFzaC50dXBsZS5zcmMudS5hbGwpDQorICAmZHN0X3R1cGxlPXYudmFsdWUoKChzdHJ1Y3QgbmZfY29ubiopJmNvbm4pLT50dXBsZWhhc2gudHVwbGUuZHN0LnUzLmlwKQ0KKyAgJmRzdF9wb3J0PXYudmFsdWUoKChzdHJ1Y3QgbmZfY29ubiopJmNvbm4pLT50dXBsZWhhc2gudHVwbGUuZHN0LnUuYWxsKQ0KKyAgJnByb3RvPXYudmFsdWUoKChzdHJ1Y3QgbmZfY29ubiopJmNvbm4pLT50dXBsZWhhc2gudHVwbGUuZHN0LnByb3RvbnVtKQ0KKyAgJmRpcj12LnZhbHVlKCgoc3RydWN0IG5mX2Nvbm4qKSZjb25uKS0+dHVwbGVoYXNoLnR1cGxlLmRzdC5kaXIpDQorICBpZiAmcHJvdG89PTB4MTENCisgICAgICZwcm90bz0iVURQIg0KKyAgZWxzZSBpZiAmcHJvdG89PTB4Ng0KKyAgICAgJnByb3RvPSJUQ1AiDQorICBpZiAmZGlyPT0wDQorICAgICAmZGlyPSJvcmlnaW5hbCINCisgIGVsc2UNCisgICAgICZkaXI9InJlcGx5Ig0KKyAgcHJpbnQgJXN0cmluZyAic3JjICZzcmNfdHVwbGU6JnNyY19wb3J0ICAtPiAgZHN0ICZkc3RfdHVwbGU6JmRzdF9wb3J0ICBwcm90bzogJnByb3RvICAgZGlyOiAmZGlyIg0KKyAgcHJpbnQgJXN0cmluZyAiY29ubiAmY29ubiINCisgICZoYXNoaW5mbz12LnZhbHVlKCgoc3RydWN0IGhsaXN0X251bGxzX25vZGUqKSZoYXNoaW5mbyktPm5leHQpDQorICANCisgICkNCisgICkNCisgIHdoaWxlICgmaGFzaGluZm8+MHhDMDAwMDAwMCkNCisvLyAgcHJpbnQgJXN0cmluZyAiaGFzaGluZm8gJmhhc2hpbmZvIg0KKyAgJmNvdW50PSZjb3VudCsxDQorKQkNCisvL3doaWxlICgmY291bnQ8Jmhhc2hfc2hpZnQpDQorcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK2VuZGRvDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfYWRkci5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfZGV2aWNlX2FkZHIuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM4OGUzN2EKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfZGV2aWNlX2FkZHIuY21tCkBAIC0wLDAgKzEsODYgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmcG5leHQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJnN0YXJ0YWRkciAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCisNCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTgwMC4NCismZmlsZUxpbmVzPTIwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXGFsbHRhc2sudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICBicmVhaw0KKykNCisNCitpZiAheS5leGlzdChpbml0X3Rhc2spDQorKA0KKyAgcHJpbnQgJXN0cmluZyAiT1MgaXMgbm90IHVDbGludXgiDQorICBhcmVhLnZpZXcgdHJhY2UNCisgIGFyZWEuY2xvc2UgdHJhY2UNCisgIGVuZG8NCispDQorDQorDQorJnB0YXNrPXYudmFsdWUoKChzdHJ1Y3QgbmV0KikmaW5pdF9uZXQpLT5kZXZfYmFzZV9oZWFkLm5leHQpDQorJnBuZXh0PSZwdGFzaw0KKyZwX2luaXRfdGFzaz0mcHRhc2sNCisNCityZXBlYXQNCisoDQorICBwcmludCAlc3RyaW5nICImcHRhc2siDQorICAmcHRhc2s9JnBuZXh0LThDDQorICAmcG5leHQ9di52YWx1ZSgoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5kZXZfbGlzdC5uZXh0KQ0KKwkNCisgICZwTmFtZT12LnN0cmluZygoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5uYW1lKQ0KKw0KKyAgJnN0cmluZz0iIg0KKyAgJnN0cmluZz0iJnN0cmluZyIrIiAmcE5hbWUiDQorICBwcmludCAlc3RyaW5nICAiJnN0cmluZyINCisgIA0KKyAgLy8mYWN0aXZlX21tPXYudmFsdWUoKChzdHJ1Y3QgdGFza19zdHJ1Y3QqKSZwdGFzayktPmFjdGl2ZV9tbSkNCisgIC8vaWYgJmFjdGl2ZV9tbSE9MA0KKyAvLyAoDQorICAgLy8gJnBOYW1lPXYuc3RyaW5nKCgoc3RydWN0IHRhc2tfc3RydWN0ICopJnB0YXNrKS0+Y29tbSkNCisgIC8vICAmdGhyZWFkX2luZm89di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSZwdGFzayktPnN0YWNrKQ0KKyAgLy8gICZzdGFydF9jb2RlPXYudmFsdWUoKChzdHJ1Y3QgdGFza19zdHJ1Y3QgKikmcHRhc2spLT5hY3RpdmVfbW0uc3RhcnRfY29kZSkNCisgIC8vICAmZW5kX2NvZGU9di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSZwdGFzayktPmFjdGl2ZV9tbS5lbmRfY29kZSkNCisgICAvLyAmc3RhcnRfc3RhY2s9di52YWx1ZSgoKHN0cnVjdCB0YXNrX3N0cnVjdCAqKSZwdGFzayktPmFjdGl2ZV9tbS5zdGFydF9zdGFjaykNCisgIC8vICAmbG93X3N0YWNrPXYudmFsdWUoKChzdHJ1Y3QgdGFza19zdHJ1Y3QgKikmcHRhc2spLT5hY3RpdmVfbW0uYnJrKQ0KKw0KKyAgLy8gICZzdHJpbmc9IiINCisgIC8vICAmc3RyaW5nPSImc3RyaW5nIisiIChzdHJ1Y3QgdGFza19zdHJ1Y3QqKSIrZm9ybWF0LnN0cmluZygiJnB0YXNrIiwxMCwnICcpDQorIC8vICAgJnN0cmluZz0iJnN0cmluZyIrIiAoc3RydWN0IHRocmVhZF9pbmZvKikiK2Zvcm1hdC5zdHJpbmcoIiZ0aHJlYWRfaW5mbyIsMTAsJyAnKQ0KKyAgLy8gICZzdHJpbmc9IiZzdHJpbmciKyIgc3RhcnRfY29kZToiK2Zvcm1hdC5zdHJpbmcoIiZzdGFydF9jb2RlIiwxMCwnICcpDQorIC8vICAgJnN0cmluZz0iJnN0cmluZyIrIiBlbmRfY29kZToiK2Zvcm1hdC5zdHJpbmcoIiZlbmRfY29kZSIsMTAsJyAnKQ0KKy8vICAgICZzdHJpbmc9IiZzdHJpbmciKyIgc3RhY2tfaGlnaDoiK2Zvcm1hdC5zdHJpbmcoIiZzdGFydF9zdGFjayIsMTAsJyAnKQ0KKy8vICAgICZzdHJpbmc9IiZzdHJpbmciKyIgc3RhY2tfbG93OiIrZm9ybWF0LnN0cmluZygiJmxvd19zdGFjayIsMTAsJyAnKQ0KKy8vICAgICZzdHJpbmc9IiZzdHJpbmciKyIgJnBOYW1lIg0KKyAvLyAgIHByaW50ICVzdHJpbmcgICImc3RyaW5nIg0KKw0KKyAvLyApDQorKQkNCit3aGlsZSAoJnBuZXh0IT0mcF9pbml0X3Rhc2spDQorcHJpbnQgRk9STUFULkNIQVIoJy0nLCZmaWxlQ29sdW1ucywnLScpDQorDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK2VuZGRvDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9kZXZpY2VfaW5mby5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfZGV2aWNlX2luZm8uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI5MzY1MzUKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfZGV2aWNlX2luZm8uY21tCkBAIC0wLDAgKzEsNzggQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnBfaW5pdF90YXNrICZwdGFzayAmcG5leHQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJnN0YXJ0YWRkciAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAmaWZpbmRleCAmbWFjYWRkciAmdGVtcG1hYyAmY291bnQgJmRldmFkZHIgJmlwYWRkciAmdGVtcGlwYWRkcg0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAuDQorJm5hbWVXaWR0aD0yMC4NCismZmlsZUNvbHVtbnM9ODAwLg0KKyZmaWxlTGluZXM9MjAwLg0KKw0KK2FyZWEuY3JlYXRlIHRyYWNlICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgdHJhY2UNCithcmVhLnNlbGVjdCB0cmFjZQ0KKw0KKy8vtPK/qs7EvP6juw0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcYWxsdGFzay50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgIGJyZWFrDQorKQ0KKw0KK2lmICF5LmV4aXN0KGluaXRfdGFzaykNCisoDQorICBwcmludCAlc3RyaW5nICJPUyBpcyBub3QgdUNsaW51eCINCisgIGFyZWEudmlldyB0cmFjZQ0KKyAgYXJlYS5jbG9zZSB0cmFjZQ0KKyAgZW5kbw0KKykNCisNCisNCismcHRhc2s9di52YWx1ZSgoKHN0cnVjdCBuZXQqKSZpbml0X25ldCktPmRldl9iYXNlX2hlYWQubmV4dCkNCismcG5leHQ9JnB0YXNrDQorJnBfaW5pdF90YXNrPSZwdGFzaw0KKyZvZmZzZXQ9di52YWx1ZSgmKCgoc3RydWN0IG5ldF9kZXZpY2UqKTApLT5kZXZfbGlzdCkpDQorcmVwZWF0DQorKA0KKyAgJnB0YXNrPSZwbmV4dC0weDkwDQorICAmcG5leHQ9di52YWx1ZSgoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5kZXZfbGlzdC5uZXh0KQ0KKyAgJmRldmFkZHI9di52YWx1ZSgoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5kZXZfYWRkcikNCisgICZwTmFtZT12LnN0cmluZygoKHN0cnVjdCBuZXRfZGV2aWNlKikmcHRhc2spLT5uYW1lKQ0KKyAgJmlmaW5kZXg9di5zdHJpbmcoKChzdHJ1Y3QgbmV0X2RldmljZSopJnB0YXNrKS0+aWZpbmRleCkNCisgICZjb3VudD0wDQorICAmbWFjYWRkcj0iIg0KK3JlcGVhdA0KKygNCisgICZ0ZW1wbWFjPXYudmFsdWUoKHVuc2lnbmVkIGNoYXIqKSgmZGV2YWRkcilbJmNvdW50XSkNCisgICZtYWNhZGRyPSImbWFjYWRkciIrIiZ0ZW1wbWFjIg0KKyAgaWYgJmNvdW50PDUNCisJJm1hY2FkZHI9IiZtYWNhZGRyIisiOiINCisgICZjb3VudD0mY291bnQrMQ0KKykNCit3aGlsZSAoJmNvdW50PDYpDQorICAmY291bnQ9MA0KKyAgJmlwYWRkcj12LnZhbHVlKCgoc3RydWN0IG5ldF9kZXZpY2UqKSZwdGFzayktPmlwX3B0ci0+aWZhX2xpc3QtPmlmYV9hZGRyZXNzKQ0KKyAgJnN0cmluZz0iIg0KKyAgJnN0cmluZz0iJnN0cmluZyIrIiAmcE5hbWUiKyIgaWQgIisiJmlmaW5kZXgiKyIgbWFjX2FkZHIgIitmb3JtYXQuc3RyaW5nKCImbWFjYWRkciIsMjUsJyAnKSsiIGlwX2FkZHIgIisiJmlwYWRkciINCisgIHByaW50ICVzdHJpbmcgICImc3RyaW5nIg0KKyAgcHJpbnQgJXN0cmluZyAiJnB0YXNrIg0KKw0KKykJDQord2hpbGUgKCZwbmV4dCE9JnBfaW5pdF90YXNrKQ0KK3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KKw0KK2FyZWEudmlldyB0cmFjZQ0KK2FyZWEuY2xvc2UgdHJhY2UNCitlbmRkbw0KKyAgICANCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfaGFzaF9pbmZvLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF9oYXNoX2luZm8uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE0YzQxOWQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvbGludXhfaGFzaF9pbmZvLmNtbQpAQCAtMCwwICsxLDk0IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZwX2luaXRfdGFzayAmcHRhc2sgJmhhc2hfc2hpZnQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJmhhc2hfYnVja2V0cyAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAgJm1hY2FkZHIgJnRlbXBtYWMgJmNvdW50ICZkZXZhZGRyICZpcGFkZHIgJnRlbXBpcGFkZHINCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTgwMC4NCismZmlsZUxpbmVzPTIwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXGhhc2gudHh0Ig0KK2FyZWEub3BlbiB0cmFjZSAmZmlsZQ0KKw0KKy8vyOe5+1QzMtTa1MvQ0NKqts/XoaO7DQoraWYgcnVuKCkNCisoDQorICBicmVhaw0KKykNCisNCitpZiAheS5leGlzdChpbml0X3Rhc2spDQorKA0KKyAgcHJpbnQgJXN0cmluZyAiT1MgaXMgbm90IHVDbGludXgiDQorICBhcmVhLnZpZXcgdHJhY2UNCisgIGFyZWEuY2xvc2UgdHJhY2UNCisgIGVuZG8NCispDQorDQorcHJpbnQgImFycF90YmwgaW5mbzoiDQorJnB0YXNrPXYudmFsdWUoKChzdHJ1Y3QgbmVpZ2hfdGFibGUgKikmYXJwX3RibCktPm5odCkNCismaGFzaF9zaGlmdD12LnZhbHVlKCgoc3RydWN0IG5laWdoX2hhc2hfdGFibGUqKSZwdGFzayktPmhhc2hfc2hpZnQpDQorJmhhc2hfYnVja2V0cz12LnZhbHVlKCgoc3RydWN0IG5laWdoX2hhc2hfdGFibGUqKSZwdGFzayktPmhhc2hfYnVja2V0cykNCismcF9pbml0X3Rhc2s9JnB0YXNrDQorJmNvdW50PTANCismY291bnRfaXA9MA0KK3ByaW50ICVzdHJpbmcgIiZoYXNoX3NoaWZ0Ig0KK3doaWxlICgmY291bnQ8KDE8PCZoYXNoX3NoaWZ0KSkNCisoDQorICAmbmVpZ2hib3VyPXYudmFsdWUoKChzdHJ1Y3QgbmVpZ2hib3VyKiopJmhhc2hfYnVja2V0cylbJmNvdW50XSkNCisgIHJlcGVhdA0KKyAgKA0KKyAgaWYgJm5laWdoYm91cj4weDEwMDAwMDAwDQorICAoDQorICAgIHByaW50ICVzdHJpbmcgIiZuZWlnaGJvdXIiDQorICAgICZpcGFkZHI9IiINCisgICAgJnRlbXBpcGFkZHI9di52YWx1ZSgoKHN0cnVjdCBuZWlnaGJvdXIqKSZuZWlnaGJvdXIpLT5wcmltYXJ5X2tleSkNCisgICAgJmRldl9uYW1lPXYuc3RyaW5nKCgoc3RydWN0IG5laWdoYm91ciopJm5laWdoYm91ciktPmRldi0+bmFtZSkNCisgICAgcmVwZWF0DQorICAgICgNCisgICAgICAmcGFydGlwYWRkcj12LnZhbHVlKCh1bnNpZ25lZCBjaGFyKikoJnRlbXBpcGFkZHIpWyZjb3VudF9pcF0pDQorICAgICAgJmlwYWRkcj0iJmlwYWRkciIrIiZwYXJ0aXBhZGRyIg0KKyAgICAgIGlmICZjb3VudF9pcDwzDQorICAgICAgICAmaXBhZGRyPSImaXBhZGRyIisiLiINCisgICAgICAmY291bnRfaXA9JmNvdW50X2lwKzENCisgICAgKQ0KKyAgICB3aGlsZSAoJmNvdW50X2lwPDQpDQorICAgICZjb3VudF9tYWM9MA0KKyAgICAmdGVtcG1hYz12LnZhbHVlKCgoc3RydWN0IG5laWdoYm91ciopJm5laWdoYm91ciktPmhhKQ0KKyAgICAmbWFjYWRkcj0iIg0KKyAgICByZXBlYXQNCisgICAgKA0KKyAgICAgICZwYXJ0bWFjYWRkcj12LnZhbHVlKCh1bnNpZ25lZCBjaGFyKikoJnRlbXBtYWMpWyZjb3VudF9tYWNdKQ0KKyAgICAgICZtYWNhZGRyPSImbWFjYWRkciIrIiZwYXJ0bWFjYWRkciINCisgICAgICBpZiAmY291bnRfbWFjPDUNCisgICAgICAgICZtYWNhZGRyPSImbWFjYWRkciIrIjoiDQorICAgICAgJmNvdW50X21hYz0mY291bnRfbWFjKzENCisgICAgKQ0KKyAgICB3aGlsZSAoJmNvdW50X21hYzw2KQ0KKyAgICAmY291bnRfaXA9MA0KKyAgICAmY291bnRfbWFjPTANCisgICAgcHJpbnQgJXN0cmluZyAiZGV2bmFtZSAmZGV2X25hbWUiKyIgaXBhZGRyICZpcGFkZHIiKyIgbWFjYWRkciAmbWFjYWRkciINCisgICApIA0KKyAgICZuZWlnaGJvdXI9di52YWx1ZSgoKHN0cnVjdCBuZWlnaGJvdXIqKSZuZWlnaGJvdXIpLT5uZXh0KQ0KKyAgKQ0KKyAgd2hpbGUgKCZuZWlnaGJvdXI+MHgxMDAwMDAwMCkNCisgICZjb3VudD0mY291bnQrMQ0KKykJDQorDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK2VuZGRvDQorICAgIA0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF90Y3BfaGFzaF9pbmZvLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9saW51eF90Y3BfaGFzaF9pbmZvLmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mYWI1MzEyCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvbmV0X3RyYWNlL2xpbnV4X3RjcF9oYXNoX2luZm8uY21tCkBAIC0wLDAgKzEsMTI1IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vy/nT0NLRvajBtL3T0MXPog0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZwX2luaXRfdGFzayAmcHRhc2sgJmhhc2hfc2hpZnQgJmFjdGl2ZV9tbSAmbW1hcCAmcE5hbWUgJmhhc2hfYnVja2V0cyAmZW5kYWRkciAmbW1hcHNpemUgJmFwcG1lbXNpemUgJmFwcGFsbHNpemUNCitsb2NhbCAgJm1hY2FkZHIgJnRlbXBtYWMgJmNvdW50ICZkZXZhZGRyICZpcGFkZHIgJnRlbXBpcGFkZHIgJmhhc2hpbmZvDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz04MDAuDQorJmZpbGVMaW5lcz0yMDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZyINCitpZiAhb3MuZGlyKCZkaXIpDQorKA0KKyAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxoYXNoLnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgYnJlYWsNCispDQorDQoraWYgIXkuZXhpc3QoaW5pdF90YXNrKQ0KKygNCisgIHByaW50ICVzdHJpbmcgIk9TIGlzIG5vdCB1Q2xpbnV4Ig0KKyAgYXJlYS52aWV3IHRyYWNlDQorICBhcmVhLmNsb3NlIHRyYWNlDQorICBlbmRvDQorKQ0KKw0KKw0KK3ByaW50ICJjb25uIGluZm86Ig0KKyZwdGFzaz12LnZhbHVlKCZ0Y3BfaGFzaGluZm8pDQorJmVoYXNoX3NpemU9di52YWx1ZSgoKHN0cnVjdCBpbmV0X2hhc2hpbmZvKikmcHRhc2spLT5laGFzaF9tYXNrKQ0KKyZlaGFzaD12LnZhbHVlKCgoc3RydWN0IGluZXRfaGFzaGluZm8qKSZwdGFzayktPmVoYXNoKQ0KKyZvZmZzZXQ9di52YWx1ZSgmKCgoc3RydWN0IHNvY2tfY29tbW9uKikwKS0+c2tjX251bGxzX25vZGUpKQ0KKy8vcHJpbnQgJXN0cmluZyAiJm9mZnNldCAiDQorDQorJnN0cmluZz0iY2hhaW4iDQorcHJpbnQgImVoYXNoLmNoYWluIg0KK0dPU1VCIFBSSU5USEFTSCAmZWhhc2ggJmVoYXNoX3NpemUgJm9mZnNldCAmc3RyaW5nDQorDQorcHJpbnQNCitwcmludCAiZWhhc2gudHdjaGFpbiINCismc3RyaW5nPSJ0d2NoYWluIg0KK0dPU1VCIFBSSU5USEFTSCAmZWhhc2ggJmVoYXNoX3NpemUgJm9mZnNldCAmc3RyaW5nDQorDQorcHJpbnQNCisvL3ByaW50ICJiaGFzaC5jaGFpbiINCisvLyZlaGFzaD12LnZhbHVlKCgoc3RydWN0IGluZXRfaGFzaGluZm8qKSZwdGFzayktPmJoYXNoKQ0KKy8vJmVoYXNoX3NpemU9di52YWx1ZSgoKHN0cnVjdCBpbmV0X2hhc2hpbmZvKikmcHRhc2spLT5iaGFzaF9zaXplKQ0KKy8vJnN0cmluZz0iYmNoYWluIg0KKy8vR09TVUIgUFJJTlRIQVNIICZlaGFzaCAmZWhhc2hfc2l6ZSAmb2Zmc2V0ICZzdHJpbmcNCisNCitwcmludCAibGlzdGVubmluZ19oYXNoIiANCismZWhhc2g9di52YWx1ZSgoKHN0cnVjdCBpbmV0X2hhc2hpbmZvKikmcHRhc2spLT5saXN0ZW5pbmdfaGFzaCkNCismc3RyaW5nPSJoZWFkIg0KKyZlaGFzaF9zaXplPTMyDQorR09TVUIgUFJJTlRIQVNIICZlaGFzaCAmZWhhc2hfc2l6ZSAmb2Zmc2V0ICZzdHJpbmcNCisNCitlbmRkbw0KKw0KK1BSSU5USEFTSDoNCitsb2NhbCAmY291bnQgJmVoYXNoX3NpemUgJmhhc2hpbmZvICZlaGFzaCAmc2sgJnN0YXRlICZzdHJpbmcgICZzdHJ1Y3RfdHlwZSAgJnN0cnVjdF90eXBlMQ0KK2VudHJ5ICZlaGFzaCAmZWhhc2hfc2l6ZSAmb2Zmc2V0ICZzdHJpbmcNCismY291bnQ9MCANCismc3RydWN0X3R5cGU9ImluZXRfZWhhc2hfYnVja2V0Ig0KKyZzdHJ1Y3RfdHlwZTE9ImhsaXN0X251bGxzX25vZGUiDQorLy9wcmludCAlc3RyaW5nICImZWhhc2hfc2l6ZSAiDQord2hpbGUgKCZjb3VudDwmZWhhc2hfc2l6ZSkNCisoDQorICBpZiAiJnN0cmluZyI9PSJiY2hhaW4iDQorICAoICANCisgICAgICZzdHJpbmc9ImNoYWluIg0KKyAgICAgJnN0cnVjdF90eXBlPSJpbmV0X2JpbmRfaGFzaGJ1Y2tldCINCisgICAgICZzdHJ1Y3RfdHlwZTE9ImhsaXN0X25vZGUiDQorICApDQorICBpZiAiJnN0cmluZyI9PSJoZWFkIg0KKyAgICAgJnN0cnVjdF90eXBlPSJpbmV0X2xpc3Rlbl9oYXNoYnVja2V0Ig0KKw0KKyAgJmhhc2hpbmZvPXYudmFsdWUoKChzdHJ1Y3QgJnN0cnVjdF90eXBlKikmZWhhc2gpWyZjb3VudF0tPiZzdHJpbmcuZmlyc3QpDQorICByZXBlYXQNCisgICgNCisgIGlmICgmaGFzaGluZm8+MHhDMDAwMDAwMCkNCisgICgNCisgICZzaz0maGFzaGluZm8tJm9mZnNldA0KKyAgJmhhc2hpbmZvPXYudmFsdWUoKChzdHJ1Y3QgJnN0cnVjdF90eXBlMSopJmhhc2hpbmZvKS0+bmV4dCkNCisgICZzdGF0ZT12LnZhbHVlKCgoc3RydWN0IHNvY2sqKSZzayktPnNrX3NvY2tldC5zdGF0ZSkNCisgIGlmICZzdGF0ZT09MA0KKyAgICAmc3RhdGU9IlNTX0ZSRUUiDQorICBlbHNlIGlmICZzdGF0ZT09MQ0KKyAgICAmc3RhdGU9IlNTX1VOQ09OTkVDVEVEIg0KKyAgZWxzZSBpZiAmc3RhdGU9PTINCisgICAgJnN0YXRlPSJTU19DT05ORUNUSU5HIg0KKyAgZWxzZSBpZiAmc3RhdGU9PTMNCisgICAgJnN0YXRlPSJTU19DT05ORUNURUQiDQorICBlbHNlIGlmICZzdGF0ZT09NA0KKyAgICAmc3RhdGU9IlNTX0RJU0NPTk5FQ1RJTkciDQorICBwcmludCAlc3RyaW5nICJza2FkZHI6ICZzaywgc29ja2V0X3N0YXRlOiAmc3RhdGUiDQorICApDQorICApDQorICB3aGlsZSAoJmhhc2hpbmZvPjB4QzAwMDAwMDApDQorLy8gIHByaW50ICVzdHJpbmcgImhhc2hpbmZvICZoYXNoaW5mbyINCisgICZjb3VudD0mY291bnQrMQ0KKykJDQorYXJlYS52aWV3IHRyYWNlDQorYXJlYS5jbG9zZSB0cmFjZQ0KK3JldHVybiAxDQorDQorLy93aGlsZSAoJmNvdW50PCZlaGFzaF9zaGlmdCkNCisvL3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KKw0KKw0KKyAgICANCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvcmVhZG1lLnR4dCBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL25ldF90cmFjZS9yZWFkbWUudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmUwNjViZjYKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9uZXRfdHJhY2UvcmVhZG1lLnR4dApAQCAtMCwwICsxLDEwIEBACivN+MLndHJhY2W9xbG+o6zTw9Pat72x47Lpv7TSu9Cpudi8/LXEyKu+1tDFz6INCisNCivOxLz+w/sJCQkJCbmmxNwNCitkYXRhX2ZyZWUuY21tICAJCQkJsum/tMirvtax5MG/ZGF0YV9mcmVltcTQxc+iDQorZGF0YV9sZWFrLmNtbSAgCQkJCbLpv7TIq77WseTBv2RhdGFfbGVha7XE0MXPog0KK2xpbnV4X2Nvbm5faGFzaF9pbmZvIC5jbW0JCbLpv7TL+dPQzfjC58G0vdO1xNDFz6INCitsaW51eF9kZXZpY2VfYWRkci5jbW0JCQmy6b+0zfjC58nosbi1xLXY1rcNCitsaW51eF9kZXZpY2VfaW5mby5jbW0JCQmy6b+0zfjC58nosbjQxc+iDQorbGludXhfdGNwX2hhc2hfaW5mby5jbW0JCQmy6b+0dGNwtcRza9DFz6INCitsaW51eF9oYXNoX2luZm8uY21tCQkJsum/tGFycF90YmzQxc+iClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvb3NfY29kZV9jb21wYXJlLmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL29zX2NvZGVfY29tcGFyZS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDNhNTM4OQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL29zX2NvZGVfY29tcGFyZS5jbW0KQEAgLTAsMCArMSwxMDggQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTcgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyBwZW5nbGVpDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiB0b3MvbGludXgvdUNsaW51eLLZ1/fPtc2zxNq6y7T6wuu2zrHIvc+jrLLpv7S0+sLrts7Kx7fx09DNu7HktcTH6b/2DQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KK2xvY2FsICZhZGRyZXNzU3RhcnQNCitsb2NhbCAmYWRkcmVzc0VuZA0KK2xvY2FsICZwb3NpdGlvbg0KK2xvY2FsICZrbm93bmRpZmYNCisNCisma25vd25kaWZmPSJfX2FlYWJpX3VpZGl2IF9fYWVhYmlfaWRpdiINCisNCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTkwLg0KKyZmaWxlTGluZXM9NTAwLg0KKyZkaWZmQ291bnQ9MA0KKw0KK2FyZWEuY3JlYXRlIGNvZGVEaWZmICZmaWxlQ29sdW1ucyAgJmZpbGVMaW5lcw0KK2FyZWEuY2xlYXIgY29kZURpZmYNCithcmVhLnNlbGVjdCBjb2RlRGlmZg0KK2FyZWEub3BlbiBjb2RlRGlmZiBjb2RlRGlmZi50eHQNCithcmVhLnZpZXcgY29kZURpZmYNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJcY29kZURpZmYudHh0Ig0KKw0KKztMb2FkIENvZGUgZnJvbSBCaW5hcnkgYW5kIHZlcmlmeSBzcGVjaWZpYyBzZWN0aW9ucyB3aXRoIHRoZSBFbGYgZmlsZQ0KKy8vuPm+3bLZ1/fPtc2zwODQzbvxyKG0+sLrts7G8Mq8tdjWt7rNveHK+LXY1rcNCitpZiBzeW1ib2wuZXhpc3QoaW5pdF90YXNrKSAvL2xpbnV4IG9yIHVDbGludXgNCisoDQorCSZ2ZXJzaW9uPVRBU0suT1MuVkVSU0lPTigpDQorCWlmICgmdmVyc2lvbj4weDUwMEUwKQ0KKwkoDQorCQkmYWRkcmVzc1N0YXJ0PXNZbWJvbC5TRUNBRERSRVNTKCIudGV4dCIpDQorCQkmYWRkcmVzc0VuZD1zWW1ib2wuU0VDRU5EKCIudGV4dCIpDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmYWRkcmVzc1N0YXJ0PXNZbWJvbC5TRUNBRERSRVNTKCIuaGVhZC50ZXh0IikNCisJCSZhZGRyZXNzRW5kPXNZbWJvbC5TRUNFTkQoIi50ZXh0IikJDQorCSkNCispDQorZWxzZSBpZiBzeW1ib2wuZXhpc3QodG9zX2V4Y2VwdCkgLy90b3MNCisoCQ0KKwkmYWRkcmVzc1N0YXJ0PXNZbWJvbC5TRUNBRERSRVNTKCIucm9tX3ZlY3RvcnMiKQ0KKwkmYWRkcmVzc0VuZD1zWW1ib2wuU0VDQUREUkVTUygiLmRhdGEiKQ0KKykNCitlbHNlDQorKA0KKwlhcmVhLmNsb3NlIGNvZGVEaWZmDQorICAgIAlFTkRETw0KKykNCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCisvL7Ty06F0aXRsZQ0KKyZzdHJpbmc9Zm9ybWF0LnN0cmluZygiICIsJmZpbGVDb2x1bW5zLzMsJyAnKQ0KKyZzdHJpbmc9IiZzdHJpbmciKyJlbGbT62Jpbs7EvP61xLT6wuu2zrLu0uwiDQorcHJpbnQgJXN0cmluZyAiJnN0cmluZyINCitwcmludCBGT1JNQVQuQ0hBUignLScsJmZpbGVDb2x1bW5zLCctJykNCityZXBlYXQNCisoDQorCURhdGEuTE9BRC5FbGYgJmVsZm5hbWUgJmFkZHJlc3NTdGFydC0tJmFkZHJlc3NFbmQgL0RJRkYgL05vUmVnaXN0ZXIgL05vc1ltYm9sDQorCSZmaW5kPUZPVU5EKCkNCisJaWYgJmZpbmQNCisJKA0KKwkJJmFkZHJlc3NTdGFydD1BRERSRVNTLk9GRlNFVChUUkFDSy5BRERSRVNTKCkpDQorCQkmcmVzdWx0PSJQOiIrZm9ybWF0LnN0cmluZygiJmFkZHJlc3NTdGFydCIsMTAsJycpDQorCQkmc3RyaW5nPWZvcm1hdC5zdHJpbmcoImRpZmZlcmVudCBhZGRyZXNzPSIsLSZ3aWR0aCwnICcpKyImcmVzdWx0IgkJDQorCQkmcmVzdWx0PXNZbWJvbC5OQU1FKCZyZXN1bHQpDQorCQkmcmVzdWx0PW9zLmZpbGUubmFtZSgiJnJlc3VsdCIpDQorCQkmcG9zaXRpb249U1RSaW5nLlNDQU4oIiZrbm93bmRpZmYiLCImcmVzdWx0IiwwKQ0KKwkJaWYgJnBvc2l0aW9uPDANCisJCSgNCisJCQkmc3RyaW5nPSImc3RyaW5nIisiICAgc3ltYm9sPSIrZm9ybWF0LnN0cmluZygiJnJlc3VsdCIsMjAsJycpDQorCQkJcHJpbnQgJXN0cmluZyAiJnN0cmluZyINCisJCQkmZGlmZkNvdW50PSZkaWZmQ291bnQrMQ0KKwkJKQ0KKwkJJmFkZHJlc3NTdGFydD0oJmFkZHJlc3NTdGFydCYofjB4MykpKzQNCisJCSZhZGRyZXNzU3RhcnQ9IlA6Iitmb3JtYXQuc3RyaW5nKCImYWRkcmVzc1N0YXJ0IiwxMCwnJykNCisJKQ0KKwllbHNlDQorCSgNCisJCSZhZGRyZXNzU3RhcnQ9IiIJCQ0KKwkpDQorKQ0KK3doaWxlICgiJmFkZHJlc3NTdGFydCIhPSIiKSYmKCZkaWZmQ291bnQhPTB4NzgpDQoraWYgKCZkaWZmQ291bnQ9PTB4MCkNCisoDQorCSZzdHJpbmc9Zm9ybWF0LnN0cmluZygiICIsJmZpbGVDb2x1bW5zLzMsJyAnKQ0KKwkmc3RyaW5nPSImc3RyaW5nIisixNq6y7T6wuu2zrK7tObU2s27seQiDQorCXByaW50ICVzdHJpbmcgIiZzdHJpbmciDQorKQ0KK3ByaW50IEZPUk1BVC5DSEFSKCctJywmZmlsZUNvbHVtbnMsJy0nKQ0KK2FyZWEuY2xvc2UgY29kZURpZmYNCitFTkRETw0KK1JFVFVSTg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3ByaW50X29zX3N0YXRpc3RpY3MuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcHJpbnRfb3Nfc3RhdGlzdGljcy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTczOTUxYgotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3ByaW50X29zX3N0YXRpc3RpY3MuY21tCkBAIC0wLDAgKzEsNjQ2IEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDE2IFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8gZ2VhbmZlbmcNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZvc190aW1lMCAmb3NfdGltZTEgJm9zX3RpbWUyICZvc190aW1lMyAmb3NfdGltZTQgJm9zX3RpbWU1ICZvc190aW1lNiAmb3NfdGltZTcNCitsb2NhbCAmb3NfdGltZV9jbnQgJm9zX25leHRfdGltZQ0KK2xvY2FsICZvc19zd2FwX2xhc3QgJm9zX3N3YXBfY250ICZvc19zd2FwX25leHQNCitsb2NhbCAmb3NfaXJxX3N0YXJ0X2xhc3QgJm9zX2lycV9zdGFydF9jbnQgJm9zX2lycV9zdGFydF9uZXh0DQorbG9jYWwgJm9zX2lycV9lbmRfbGFzdCAmb3NfaXJxX2VuZF9jbnQgJm9zX2lycV9lbmRfbmV4dA0KKw0KKy8vZm9yIGxpbnV4DQorbG9jYWwgJm9zX3NvZnRpcnFfc3RhcnRfbGFzdCAmb3Nfc29mdGlycV9zdGFydF9jbnQgJm9zX3NvZnRpcnFfc3RhcnRfbmV4dA0KK2xvY2FsICZvc19zb2Z0aXJxX2VuZF9sYXN0ICZvc19zb2Z0aXJxX2VuZF9jbnQgJm9zX3NvZnRpcnFfZW5kX25leHQNCitsb2NhbCAmb3NfdGltZXJfc3RhcnRfbGFzdCAmb3NfdGltZXJfc3RhcnRfY250ICZvc190aW1lcl9zdGFydF9uZXh0DQorbG9jYWwgJm9zX3RpbWVyX2VuZF9sYXN0ICZvc190aW1lcl9lbmRfY250ICZvc190aW1lcl9lbmRfbmV4dA0KKw0KK2xvY2FsICZvc19pcnFfZW5hYmxlICZvc19zb2Z0aXJxX2VuYWJsZSAmb3NfdGltZXJfZW5hYmxlDQorJm9zX2lycV9lbmFibGU9MQ0KKyZvc19zb2Z0aXJxX2VuYWJsZT0wDQorJm9zX3RpbWVyX2VuYWJsZT0wDQorDQorLy9mb3IgdG9zDQorbG9jYWwgJm9zX2Rzcl9zdGFydF9sYXN0ICZvc19kc3Jfc3RhcnRfY250ICZvc19kc3Jfc3RhcnRfbmV4dA0KK2xvY2FsICZvc19kc3JfZW5kX2xhc3QgJm9zX2Rzcl9lbmRfY250ICZvc19kc3JfZW5kX25leHQNCismb3NfZHNyX2VuYWJsZT0wDQorDQorLy+0tL2o0ru49rSwv9qjuw0KKyZ3aWR0aD0yMC4NCismbmFtZVdpZHRoPTIwLg0KKyZmaWxlQ29sdW1ucz0yMDAuDQorJmZpbGVMaW5lcz01MDAuDQorDQorYXJlYS5jcmVhdGUgdHJhY2UgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciB0cmFjZQ0KK2FyZWEuc2VsZWN0IHRyYWNlDQorDQorLy+08r+qzsS8/qO7DQorJmRpcj1vcy5wd2QoKSsiXGxvZyINCitpZiAhb3MuZGlyKCZkaXIpDQorKA0KKyAgICBta2RpciAmZGlyICANCispIA0KKyZmaWxlPSImZGlyXHJlc3VsdC50eHQiDQorYXJlYS5vcGVuIHRyYWNlICZmaWxlDQorYXJlYS52aWV3IHRyYWNlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgICAgYnJlYWsNCispDQorDQoraWYgc3ltYm9sLmV4aXN0KGluaXRfdGFzaykNCisoDQorCWdvc3ViIExpbnV4VHJhY2UNCispDQorDQoraWYgc3ltYm9sLmV4aXN0KHRvc19leGNlcHQpDQorKA0KKwlnb3N1YiBUb3NUcmFjZQ0KKykNCisNCithcmVhLmNsb3NlIHRyYWNlDQorDQorRU5ERE8NCisvLyoqKirUy9DQveHK+CoqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKrqvyv22qNLlKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorTGludXhUcmFjZToNCitsb2NhbCAmcmVzdWx0DQorDQoraWYgdi52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljKT09MA0KKygNCisJUkVUVVJODQorKQ0KKw0KKyZvc19zd2FwX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5pbmRleCkNCismb3Nfc3dhcF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKyZvc19zd2FwX25leHQ9Jm9zX3N3YXBfbGFzdA0KKw0KK2lmICZvc19pcnFfZW5hYmxlPT0xDQorKA0KKwkmb3NfaXJxX3N0YXJ0X2xhc3Q9di52YWx1ZShnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5pbmRleCkNCisJJm9zX2lycV9zdGFydF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKwkmb3NfaXJxX3N0YXJ0X25leHQ9Jm9zX2lycV9zdGFydF9sYXN0DQorCSZvc19pcnFfZW5kX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19pcnFfZW5kX2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX2lycV9lbmRfbmV4dD0mb3NfaXJxX2VuZF9sYXN0DQorKQ0KK2Vsc2UNCisoDQorCSZvc19pcnFfc3RhcnRfbmV4dD0tMQ0KKwkmb3NfaXJxX2VuZF9uZXh0PS0xDQorKQ0KKw0KK2lmICZvc19zb2Z0aXJxX2VuYWJsZT09MQ0KKygNCisJJm9zX3NvZnRpcnFfc3RhcnRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfc3RhcnRfc3RhdGlzdGljLT5pbmRleCkNCisJJm9zX3NvZnRpcnFfc3RhcnRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX3NvZnRpcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfc29mdGlycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbMF0pKQ0KKwkmb3Nfc29mdGlycV9zdGFydF9uZXh0PSZvc19zb2Z0aXJxX3N0YXJ0X2xhc3QNCisJJm9zX3NvZnRpcnFfZW5kX2xhc3Q9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX2VuZF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3Nfc29mdGlycV9lbmRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc19zb2Z0aXJxX2VuZF9uZXh0PSZvc19zb2Z0aXJxX2VuZF9sYXN0DQorKQ0KK2Vsc2UNCisoDQorCSZvc19zb2Z0aXJxX3N0YXJ0X25leHQ9LTENCisJJm9zX3NvZnRpcnFfZW5kX25leHQ9LTENCispDQorDQoraWYgJm9zX3RpbWVyX2VuYWJsZT09MQ0KKygNCisJJm9zX3RpbWVyX3N0YXJ0X2xhc3Q9di52YWx1ZShnX29zX2Rkcl90aW1lcl9zdGFydF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3NfdGltZXJfc3RhcnRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljcykvc2l6ZW9mKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc190aW1lcl9zdGFydF9uZXh0PSZvc190aW1lcl9zdGFydF9sYXN0DQorCSZvc190aW1lcl9lbmRfbGFzdD12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX2VuZF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3NfdGltZXJfZW5kX2NudD12LnZhbHVlKHNpemVvZihnX29zX2Rkcl90aW1lcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzKS9zaXplb2YoZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc190aW1lcl9lbmRfbmV4dD0mb3NfdGltZXJfZW5kX2xhc3QNCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWVyX3N0YXJ0X25leHQ9LTENCisJJm9zX3RpbWVyX2VuZF9uZXh0PS0xDQorKQ0KKw0KKy8vs/XKvLuvdGltZcr91rUNCitpZiAmb3Nfc3dhcF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWUwPS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lMD12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3N3YXBfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19pcnFfc3RhcnRfbmV4dD09LTENCisoDQorCSZvc190aW1lMT0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTE9di52YWx1ZShnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfc3RhcnRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19pcnFfZW5kX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTI9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWUyPXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9lbmRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19zb2Z0aXJxX3N0YXJ0X25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTM9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWUzPXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3NvZnRpcnFfc3RhcnRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19zb2Z0aXJxX2VuZF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWU0PS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lND12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9lbmRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc190aW1lcl9zdGFydF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWU1PS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lNT12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfdGltZXJfc3RhcnRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc190aW1lcl9lbmRfbmV4dD09LTENCisoDQorCSZvc190aW1lNj0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTY9di52YWx1ZShnX29zX2Rkcl90aW1lcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9lbmRfbmV4dF0uZGF0YTIpDQorKQ0KKw0KKyZvc190aW1lX2NudD03Lg0KKyZvc19uZXh0X3RpbWU9MC4NCisNCitwcmludCBmb3JtYXQuc3RyaW5nKCJOYW1lIiwzMiwnICcpKyIgIisiSW5kZXgiKyIgICAgICAgIisiVGltZSIrIiAgICAgICAgICAiKyJFeGNlIg0KKw0KKyZyZXN1bHQ9MA0KK3doaWxlICZyZXN1bHQ9PTANCisoDQorCWdvc3ViIExpbnV4UHJpbnROZXh0TGluZQ0KKwlpZiAoKCZvc19zd2FwX25leHQ9PS0xKSYmKCZvc19pcnFfc3RhcnRfbmV4dD09LTEpJiYoJm9zX2lycV9lbmRfbmV4dD09LTEpJiYoJm9zX3NvZnRpcnFfc3RhcnRfbmV4dD09LTEpJiYoJm9zX3NvZnRpcnFfZW5kX25leHQ9PS0xKSYmKCZvc190aW1lcl9zdGFydF9uZXh0PT0tMSkmJigmb3NfdGltZXJfZW5kX25leHQ9PS0xKSkNCisJKA0KKwkJcHJpbnQgIkVORCINCisJCSZyZXN1bHQ9LTENCisJKQ0KKykNCitSRVRVUk4NCisNCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0xpbnV4UHJpbnROZXh0TGluZToNCitsb2NhbCAmdGltZSAmc3RyICZsaW5lX2luZGV4DQorDQorZ29zdWIgR2V0TWluVGltZUluZGV4ICZvc190aW1lX2NudA0KK0VOVFJZICZpbmRleA0KKw0KK2lmICZpbmRleD09MA0KKygNCisJbG9jYWwgJnRhc2sgJmFkZHINCisJJnRhc2s9di52YWx1ZShnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19zd2FwX25leHRdLmRhdGExKQ0KKwkmYWRkcj12LnZhbHVlKCYoKHN0cnVjdCB0YXNrX3N0cnVjdCopJnRhc2spLT5jb21tKQ0KKwkmc3RyPSJUSFJFQUQ6ICIrZGF0YS5zdHJpbmcoRDomYWRkcikNCisJJmxpbmVfaW5kZXg9Jm9zX3N3YXBfbmV4dA0KKwkmdGltZT0mb3NfdGltZTANCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19zd2FwX2NudCAmb3Nfc3dhcF9sYXN0ICZvc19zd2FwX25leHQNCisJRU5UUlkgJm9zX3N3YXBfbmV4dA0KKwlpZiAmb3Nfc3dhcF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTA9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMD12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3N3YXBfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTENCisoDQorCWxvY2FsICZpcnEgJmFkZHINCisJJmlycT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMSkNCisJJmFkZHI9di52YWx1ZShpcnFfZGVzY1smaXJxXS5hY3Rpb24tPm5hbWUpDQorCSZzdHI9IklSUVNUQTogIitkYXRhLnN0cmluZyhEOiZhZGRyKSsiIFMiDQorCSZsaW5lX2luZGV4PSZvc19pcnFfc3RhcnRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTENCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19pcnFfc3RhcnRfY250ICZvc19pcnFfc3RhcnRfbGFzdCAmb3NfaXJxX3N0YXJ0X25leHQNCisJRU5UUlkgJm9zX2lycV9zdGFydF9uZXh0DQorCWlmICZvc19pcnFfc3RhcnRfbmV4dD09LTENCisJKA0KKwkJJm9zX3RpbWUxPS0xDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmb3NfdGltZTE9di52YWx1ZShnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfc3RhcnRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTINCisoDQorCWxvY2FsICZpcnEgJmFkZHINCisJJmlycT12LnZhbHVlKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfZW5kX25leHRdLmRhdGExKQ0KKwkmYWRkcj12LnZhbHVlKGlycV9kZXNjWyZpcnFdLmFjdGlvbi0+bmFtZSkNCisJJnN0cj0iSVJRRU5EOiAiK2RhdGEuc3RyaW5nKEQ6JmFkZHIpKyIgRSINCisJJmxpbmVfaW5kZXg9Jm9zX2lycV9lbmRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTINCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19pcnFfZW5kX2NudCAmb3NfaXJxX2VuZF9sYXN0ICZvc19pcnFfZW5kX25leHQNCisJRU5UUlkgJm9zX2lycV9lbmRfbmV4dA0KKwlpZiAmb3NfaXJxX2VuZF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTI9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMj12LnZhbHVlKGdfb3NfZGRyX2lycV9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfZW5kX25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UgaWYgJmluZGV4PT0zDQorKA0KKwlsb2NhbCAmdmVjICZmdW5jDQorCSZ0aW1lPXYudmFsdWUoZ19vc19kZHJfc29mdGlycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3NvZnRpcnFfc3RhcnRfbmV4dF0uZGF0YTIpDQorCSZ2ZWM9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9zdGFydF9uZXh0XS5kYXRhMSkNCisJJmZ1bmM9di52YWx1ZShzb2Z0aXJxX3ZlY1smdmVjXS5hY3Rpb24pDQorCSZzdHI9IlNJUlFTOiAiK3N5bWJvbC5mdW5jdGlvbihQOiZmdW5jKSsiIFMiDQorCSZsaW5lX2luZGV4PSZvc19zb2Z0aXJxX3N0YXJ0X25leHQNCisJJnRpbWU9Jm9zX3RpbWUzDQorCWdvc3ViIEdldE5leHRJbmRleCAmb3Nfc29mdGlycV9zdGFydF9jbnQgJm9zX3NvZnRpcnFfc3RhcnRfbGFzdCAmb3Nfc29mdGlycV9zdGFydF9uZXh0DQorCUVOVFJZICZvc19zb2Z0aXJxX3N0YXJ0X25leHQNCisJaWYgJm9zX3NvZnRpcnFfc3RhcnRfbmV4dD09LTENCisJKA0KKwkJJm9zX3RpbWUzPS0xDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmb3NfdGltZTM9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9zdGFydF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09NA0KKygNCisJbG9jYWwgJnZlYyAmZnVuYw0KKwkmdGltZT12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9lbmRfbmV4dF0uZGF0YTIpDQorCSZ2ZWM9di52YWx1ZShnX29zX2Rkcl9zb2Z0aXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3NvZnRpcnFfZW5kX25leHRdLmRhdGExKQ0KKwkmZnVuYz12LnZhbHVlKHNvZnRpcnFfdmVjWyZ2ZWNdLmFjdGlvbikNCisJJnN0cj0iU0lSUUU6ICIrc3ltYm9sLmZ1bmN0aW9uKFA6JmZ1bmMpKyIgRSINCisJJmxpbmVfaW5kZXg9Jm9zX3NvZnRpcnFfZW5kX25leHQNCisJJnRpbWU9Jm9zX3RpbWU0DQorCWdvc3ViIEdldE5leHRJbmRleCAmb3Nfc29mdGlycV9lbmRfY250ICZvc19zb2Z0aXJxX2VuZF9sYXN0ICZvc19zb2Z0aXJxX2VuZF9uZXh0DQorCUVOVFJZICZvc19zb2Z0aXJxX2VuZF9uZXh0DQorCWlmICZvc19zb2Z0aXJxX2VuZF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTQ9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lND12LnZhbHVlKGdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc29mdGlycV9lbmRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTUNCisoDQorCWxvY2FsICZmdW5jDQorCSZ0aW1lPXYudmFsdWUoZ19vc19kZHJfdGltZXJfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9zdGFydF9uZXh0XS5kYXRhMikNCisJJmZ1bmM9di52YWx1ZShnX29zX2Rkcl90aW1lcl9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3RpbWVyX3N0YXJ0X25leHRdLmRhdGExKQ0KKwkmc3RyPSJUSU1FUlM6ICIrc3ltYm9sLmZ1bmN0aW9uKFA6JmZ1bmMpKyIgUyINCisJJmxpbmVfaW5kZXg9Jm9zX3RpbWVyX3N0YXJ0X25leHQNCisJJnRpbWU9Jm9zX3RpbWU1DQorCWdvc3ViIEdldE5leHRJbmRleCAmb3NfdGltZXJfc3RhcnRfY250ICZvc190aW1lcl9zdGFydF9sYXN0ICZvc190aW1lcl9zdGFydF9uZXh0DQorCUVOVFJZICZvc190aW1lcl9zdGFydF9uZXh0DQorCWlmICZvc190aW1lcl9zdGFydF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTU9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lNT12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfdGltZXJfc3RhcnRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTYNCisoDQorCWxvY2FsICZmdW5jDQorCSZ0aW1lPXYudmFsdWUoZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfdGltZXJfZW5kX25leHRdLmRhdGEyKQ0KKwkmZnVuYz12LnZhbHVlKGdfb3NfZGRyX3RpbWVyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3RpbWVyX2VuZF9uZXh0XS5kYXRhMSkNCisJJnN0cj0iVElNRVJFOiAiK3N5bWJvbC5mdW5jdGlvbihQOiZmdW5jKSsiIEUiDQorCSZsaW5lX2luZGV4PSZvc190aW1lcl9lbmRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTYNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc190aW1lcl9lbmRfY250ICZvc190aW1lcl9lbmRfbGFzdCAmb3NfdGltZXJfZW5kX25leHQNCisJRU5UUlkgJm9zX3RpbWVyX2VuZF9uZXh0DQorCWlmICZvc190aW1lcl9lbmRfbmV4dD09LTENCisJKA0KKwkJJm9zX3RpbWU2PS0xDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmb3NfdGltZTY9di52YWx1ZShnX29zX2Rkcl90aW1lcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc190aW1lcl9lbmRfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZQ0KKygNCisJcHJpbnQgIlVua25vd24gVHlwZSINCispDQorDQorZ29zdWIgR2V0TWluVGltZSAmb3NfdGltZV9jbnQNCitFTlRSWSAmb3NfbmV4dF90aW1lDQorDQorcHJpbnQgZm9ybWF0LnN0cmluZygiJnN0ciIsMzIsJyAnKSsiICIrZm9ybWF0LkRlY2ltYWxVKDgsJmxpbmVfaW5kZXgpKyIgICAgIitmb3JtYXQuRGVjaW1hbFUoMSwmdGltZSkrIiAgICAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZvc19uZXh0X3RpbWUtJnRpbWUpDQorDQorUkVUVVJODQorDQorOyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitHZXROZXh0SW5kZXg6DQorRU5UUlkgJmNudCAmbGFzdF9pbmRleCAmY3VyX2luZGV4DQorbG9jYWwgJmluZGV4DQorDQoraWYgISgoJmN1cl9pbmRleD49MC4pJiYoJmN1cl9pbmRleDwmY250KSkNCisoDQorCVJFVFVSTiAtMQ0KKykNCisNCismaW5kZXg9JmN1cl9pbmRleCsxDQoraWYgJmluZGV4Pj0mY250DQorKA0KKwkmaW5kZXg9MA0KKykNCitpZiAmaW5kZXg9PSZsYXN0X2luZGV4DQorKA0KKwkmaW5kZXg9LTENCispDQorUkVUVVJOICZpbmRleA0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorR2V0TWluVGltZUluZGV4Og0KK0VOVFJZICZjbnQNCitsb2NhbCAmaSAmbWluX2luZGV4ICZtaW5fdmFsDQorbG9jYWwgJnZhbHVlICZpbmRleA0KKw0KKyZpPTAuDQorJm1pbl9pbmRleD0wLg0KKyZtaW5fdmFsPTB4RkZGRkZGRkYNCisNCit3aGlsZSAmaTwmY250DQorKA0KKwkmaW5kZXg9c3RyaW5nLmN1dCgiJmkiLC0xKQ0KKwkmJnZhbHVlPSZvc190aW1lJmluZGV4DQorCWlmICgmdmFsdWUhPS0xKSYmKCZtaW5fdmFsPj0mdmFsdWUpDQorCSgNCisJCSZtaW5fdmFsPSZ2YWx1ZQ0KKwkJJm1pbl9pbmRleD0maQ0KKwkpDQorCSZpPSZpKzENCispDQorDQorUkVUVVJOICZtaW5faW5kZXgNCisNCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK0dldE1pblRpbWU6DQorRU5UUlkgJmNudA0KK2xvY2FsICZpICZtaW5faW5kZXggJm1pbl92YWwNCitsb2NhbCAmdmFsdWUgJmluZGV4DQorDQorJmk9MC4NCismbWluX2luZGV4PTAuDQorJm1pbl92YWw9MHhGRkZGRkZGRg0KKw0KK3doaWxlICZpPCZjbnQNCisoDQorCSZpbmRleD1zdHJpbmcuY3V0KCImaSIsLTEpDQorCSYmdmFsdWU9Jm9zX3RpbWUmaW5kZXgNCisJaWYgKCZ2YWx1ZSE9LTEpJiYoJm1pbl92YWw+PSZ2YWx1ZSkNCisJKA0KKwkJJm1pbl92YWw9JnZhbHVlDQorCQkmbWluX2luZGV4PSZpDQorCSkNCisJJmk9JmkrMQ0KKykNCisNCitSRVRVUk4gJm1pbl92YWwNCisNCis7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK1Rvc1ByaW50TmV4dExpbmU6DQorbG9jYWwgJnRpbWUgJnN0ciAmbGluZV9pbmRleA0KKw0KKw0KK2dvc3ViIEdldE1pblRpbWVJbmRleCAmb3NfdGltZV9jbnQNCitFTlRSWSAmaW5kZXgNCisNCitpZiAmaW5kZXg9PTANCisoDQorCWxvY2FsICZ0YXNrICZhZGRyDQorCSZ0YXNrPXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3Nfc3dhcF9uZXh0XS5kYXRhMSkNCisJJmFkZHI9di52YWx1ZSgmKChDeWdfVGhyZWFkKikmdGFzayktPnRocmVhZF9uYW1lKQ0KKwkmc3RyPSJUSFJFQUQ6ICIrZGF0YS5zdHJpbmcoRDomYWRkcikNCisJJmxpbmVfaW5kZXg9Jm9zX3N3YXBfbmV4dA0KKwkmdGltZT0mb3NfdGltZTANCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19zd2FwX2NudCAmb3Nfc3dhcF9sYXN0ICZvc19zd2FwX25leHQNCisJRU5UUlkgJm9zX3N3YXBfbmV4dA0KKwlpZiAmb3Nfc3dhcF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTA9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMD12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3N3YXBfbmV4dF0uZGF0YTIpDQorCSkNCispDQorZWxzZSBpZiAmaW5kZXg9PTENCisoDQorCWxvY2FsICZpcnEgJmFkZHINCisJJmlycT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMSkNCisJJnN0cj0iSVJRU1RBOiAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZpcnEpKyIgUyINCisJJmxpbmVfaW5kZXg9Jm9zX2lycV9zdGFydF9uZXh0DQorCSZ0aW1lPSZvc190aW1lMQ0KKwlnb3N1YiBHZXROZXh0SW5kZXggJm9zX2lycV9zdGFydF9jbnQgJm9zX2lycV9zdGFydF9sYXN0ICZvc19pcnFfc3RhcnRfbmV4dA0KKwlFTlRSWSAmb3NfaXJxX3N0YXJ0X25leHQNCisJaWYgJm9zX2lycV9zdGFydF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTE9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lMT12LnZhbHVlKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9zdGFydF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09Mg0KKygNCisJbG9jYWwgJmlycSAmYWRkcg0KKwkmaXJxPXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9lbmRfbmV4dF0uZGF0YTEpDQorCSZzdHI9IklSUUVORDogIitmb3JtYXQuRGVjaW1hbFUoMSwmaXJxKSsiIEUiDQorCSZsaW5lX2luZGV4PSZvc19pcnFfZW5kX25leHQNCisJJnRpbWU9Jm9zX3RpbWUyDQorCWdvc3ViIEdldE5leHRJbmRleCAmb3NfaXJxX2VuZF9jbnQgJm9zX2lycV9lbmRfbGFzdCAmb3NfaXJxX2VuZF9uZXh0DQorCUVOVFJZICZvc19pcnFfZW5kX25leHQNCisJaWYgJm9zX2lycV9lbmRfbmV4dD09LTENCisJKA0KKwkJJm9zX3RpbWUyPS0xDQorCSkNCisJZWxzZQ0KKwkoDQorCQkmb3NfdGltZTI9di52YWx1ZShnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfaXJxX2VuZF9uZXh0XS5kYXRhMikNCisJKQ0KKykNCitlbHNlIGlmICZpbmRleD09Mw0KKygNCisJbG9jYWwgJmRzciAmYWRkcg0KKwkmZHNyPXYudmFsdWUoZ19vc19kZHJfZHNyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfZHNyX3N0YXJ0X25leHRdLmRhdGExKQ0KKwkmc3RyPSJEU1JTVEE6ICIrZm9ybWF0LkRlY2ltYWxVKDEsJmRzcikrIiBTIg0KKwkmbGluZV9pbmRleD0mb3NfZHNyX3N0YXJ0X25leHQNCisJJnRpbWU9Jm9zX3RpbWUzDQorCWdvc3ViIEdldE5leHRJbmRleCAmb3NfZHNyX3N0YXJ0X2NudCAmb3NfZHNyX3N0YXJ0X2xhc3QgJm9zX2Rzcl9zdGFydF9uZXh0DQorCUVOVFJZICZvc19kc3Jfc3RhcnRfbmV4dA0KKwlpZiAmb3NfZHNyX3N0YXJ0X25leHQ9PS0xDQorCSgNCisJCSZvc190aW1lMz0tMQ0KKwkpDQorCWVsc2UNCisJKA0KKwkJJm9zX3RpbWUzPXYudmFsdWUoZ19vc19kZHJfZHNyX3N0YXJ0X3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfZHNyX3N0YXJ0X25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UgaWYgJmluZGV4PT00DQorKA0KKwlsb2NhbCAmZHNyICZhZGRyDQorCSZkc3I9di52YWx1ZShnX29zX2Rkcl9kc3JfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1smb3NfZHNyX2VuZF9uZXh0XS5kYXRhMSkNCisJJnN0cj0iRFNSRU5EOiAiK2Zvcm1hdC5EZWNpbWFsVSgxLCZkc3IpKyIgRSINCisJJmxpbmVfaW5kZXg9Jm9zX2Rzcl9lbmRfbmV4dA0KKwkmdGltZT0mb3NfdGltZTQNCisJZ29zdWIgR2V0TmV4dEluZGV4ICZvc19kc3JfZW5kX2NudCAmb3NfZHNyX2VuZF9sYXN0ICZvc19kc3JfZW5kX25leHQNCisJRU5UUlkgJm9zX2Rzcl9lbmRfbmV4dA0KKwlpZiAmb3NfZHNyX2VuZF9uZXh0PT0tMQ0KKwkoDQorCQkmb3NfdGltZTQ9LTENCisJKQ0KKwllbHNlDQorCSgNCisJCSZvc190aW1lND12LnZhbHVlKGdfb3NfZGRyX2Rzcl9lbmRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19kc3JfZW5kX25leHRdLmRhdGEyKQ0KKwkpDQorKQ0KK2Vsc2UNCisoDQorCXByaW50ICJVbmtub3duIFR5cGUiDQorKQ0KKw0KK2dvc3ViIEdldE1pblRpbWUgJm9zX3RpbWVfY250DQorRU5UUlkgJm9zX25leHRfdGltZQ0KKw0KK3ByaW50IGZvcm1hdC5zdHJpbmcoIiZzdHIiLDMyLCcgJykrIiAiK2Zvcm1hdC5EZWNpbWFsVSg4LCZsaW5lX2luZGV4KSsiICAgICIrZm9ybWF0LkRlY2ltYWxVKDEsJnRpbWUpKyIgICAgIitmb3JtYXQuRGVjaW1hbFUoMSwmb3NfbmV4dF90aW1lLSZ0aW1lKQ0KKw0KK1JFVFVSTg0KKw0KKzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorVG9zVHJhY2U6DQorbG9jYWwgJnJlc3VsdA0KKw0KK2lmIHYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYyk9PTANCisoDQorCVJFVFVSTg0KKykNCisNCismb3Nfc3dhcF9sYXN0PXYudmFsdWUoZ19vc19kZHJfc3dhcGluX3N0YXRpc3RpYy0+aW5kZXgpDQorJm9zX3N3YXBfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9zd2FwaW5fc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCismb3Nfc3dhcF9uZXh0PSZvc19zd2FwX2xhc3QNCisNCitpZiAmb3NfaXJxX2VuYWJsZT09MQ0KKygNCisJJm9zX2lycV9zdGFydF9sYXN0PXYudmFsdWUoZ19vc19kZHJfaXJxX3N0YXJ0X3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19pcnFfc3RhcnRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX2lycV9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX2lycV9zdGFydF9uZXh0PSZvc19pcnFfc3RhcnRfbGFzdA0KKwkmb3NfaXJxX2VuZF9sYXN0PXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3NfaXJxX2VuZF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9pcnFfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc19pcnFfZW5kX25leHQ9Jm9zX2lycV9lbmRfbGFzdA0KKykNCitlbHNlDQorKA0KKwkmb3NfaXJxX3N0YXJ0X25leHQ9LTENCisJJm9zX2lycV9lbmRfbmV4dD0tMQ0KKykNCisNCitpZiAmb3NfZHNyX2VuYWJsZT09MQ0KKygNCisJJm9zX2Rzcl9zdGFydF9sYXN0PXYudmFsdWUoZ19vc19kZHJfZHNyX3N0YXJ0X3N0YXRpc3RpYy0+aW5kZXgpDQorCSZvc19kc3Jfc3RhcnRfY250PXYudmFsdWUoc2l6ZW9mKGdfb3NfZGRyX2Rzcl9zdGFydF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9kc3Jfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWzBdKSkNCisJJm9zX2Rzcl9zdGFydF9uZXh0PSZvc19kc3Jfc3RhcnRfbGFzdA0KKwkmb3NfZHNyX2VuZF9sYXN0PXYudmFsdWUoZ19vc19kZHJfZHNyX2VuZF9zdGF0aXN0aWMtPmluZGV4KQ0KKwkmb3NfZHNyX2VuZF9jbnQ9di52YWx1ZShzaXplb2YoZ19vc19kZHJfZHNyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3MpL3NpemVvZihnX29zX2Rkcl9kc3JfZW5kX3N0YXRpc3RpYy0+c3RhdGlzdGljc1swXSkpDQorCSZvc19kc3JfZW5kX25leHQ9Jm9zX2Rzcl9lbmRfbGFzdA0KKykNCitlbHNlDQorKA0KKwkmb3NfZHNyX3N0YXJ0X25leHQ9LTENCisJJm9zX2Rzcl9lbmRfbmV4dD0tMQ0KKykNCisNCitpZiAmb3Nfc3dhcF9uZXh0PT0tMQ0KKygNCisJJm9zX3RpbWUwPS0xDQorKQ0KK2Vsc2UNCisoDQorCSZvc190aW1lMD12LnZhbHVlKGdfb3NfZGRyX3N3YXBpbl9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX3N3YXBfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19pcnFfc3RhcnRfbmV4dD09LTENCisoDQorCSZvc190aW1lMT0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTE9di52YWx1ZShnX29zX2Rkcl9pcnFfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19pcnFfc3RhcnRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19pcnFfZW5kX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTI9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWUyPXYudmFsdWUoZ19vc19kZHJfaXJxX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2lycV9lbmRfbmV4dF0uZGF0YTIpDQorKQ0KKw0KK2lmICZvc19kc3Jfc3RhcnRfbmV4dD09LTENCisoDQorCSZvc190aW1lMz0tMQ0KKykNCitlbHNlDQorKA0KKwkmb3NfdGltZTM9di52YWx1ZShnX29zX2Rkcl9kc3Jfc3RhcnRfc3RhdGlzdGljLT5zdGF0aXN0aWNzWyZvc19kc3Jfc3RhcnRfbmV4dF0uZGF0YTIpDQorKQ0KK2lmICZvc19kc3JfZW5kX25leHQ9PS0xDQorKA0KKwkmb3NfdGltZTQ9LTENCispDQorZWxzZQ0KKygNCisJJm9zX3RpbWU0PXYudmFsdWUoZ19vc19kZHJfZHNyX2VuZF9zdGF0aXN0aWMtPnN0YXRpc3RpY3NbJm9zX2Rzcl9lbmRfbmV4dF0uZGF0YTIpDQorKQ0KKw0KKyZvc190aW1lX2NudD01Lg0KKyZvc19uZXh0X3RpbWU9MC4NCisNCitwcmludCBmb3JtYXQuc3RyaW5nKCJOYW1lIiwzMiwnICcpKyIgIisiSW5kZXgiKyIgICAgICAgIisiVGltZSIrIiAgICAgICAgICAiKyJFeGNlIg0KKw0KKyZyZXN1bHQ9MA0KK3doaWxlICZyZXN1bHQ9PTANCisoDQorCWdvc3ViIFRvc1ByaW50TmV4dExpbmUNCisJaWYgKCgmb3Nfc3dhcF9uZXh0PT0tMSkmJigmb3NfaXJxX3N0YXJ0X25leHQ9PS0xKSYmKCZvc19pcnFfZW5kX25leHQ9PS0xKSYmKCZvc19kc3Jfc3RhcnRfbmV4dD09LTEpJiYoJm9zX2Rzcl9lbmRfbmV4dD09LTEpKQ0KKwkoDQorCQlwcmludCAiRU5EIg0KKwkJJnJlc3VsdD0tMQ0KKwkpDQorKQ0KKw0KK1JFVFVSTg0KZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3JlYWRtZSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3JlYWRtZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ZjhiYWRlCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvcmVhZG1lCkBAIC0wLDAgKzEsMTcgQEAKK6O7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK6O7NzUyMHYzDQoro7stLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorMSkgbG9hZChqdGFnMCkNCitzdGVwMTogcnVuIDc1MjBWM19ERFJfMUdiXzMxMi5jbW0NCitzdGVwMjogcnVuIGxpbnV4XzI5NzUyMHYzX2V2Yi5jbW0NCisNCisyKSBhdHRhY2goanRhZzApOg0KK3N0ZXAxOiBydW4gYm9vdF9hdHRhY2hfQ29ydGV4QTUzX2FwLmNtbQ0KK3N0ZXAyOiBydW4gbGludXhfMjk3NTIwdjNldmJfYXR0YWNoLmNtbQ0KKw0KKzMpIHN3aXRjaCBjb3JlX2FwLS0+Y29yZV9wcyhqdGFnMCkNCitzdGVwMTogVDMyIE1lbnUgDQorICAgICAgID09PiA3NTIwQm9hcmQNCisgICAgICAgICAgICAgPT0+IEp0YWcgU3dpdGNoIFVzZSBDTU0NCisgICAgICAgICAgICAgICAgICA9PT4gU3dpdGNoIHRvIFBzSnRhZw0KKyAgICAgICAgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9jbGVhbl9jYWNoZS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfY2xlYW5fY2FjaGUuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjRjYTBhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfY2xlYW5fY2FjaGUuY21tCkBAIC0wLDAgKzEsNTYgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaWJfY2xlYW5fY2FjaGUuY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDogx+Wz/cr9vt1jYWNoZbu6tOa1xL3Fsb6juw0KKy8vKiDX9yAgICDV3yA6IA0KKy8vKiCw5iAgICCxviA6IFYxLjANCisvLyogzeqzycjVxtogOiAyMDEzLzA4LzE4DQorLy8qIMbky/zLtcP3IDogDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogvcWxvr3izvbH+NPyDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJmNhY2hlX3R5cGVfcmVnDQorbG9jYWwgJmRhdGFfY2FjaGVfc2l6ZQ0KK2xvY2FsICZkYXRhX2NhY2hlX2Fzc29jDQorbG9jYWwgJmRhdGFfY2FjaGVfbGVuDQorbG9jYWwgJmxvb3BfaW5kZXhfYXNzb2MNCitsb2NhbCAmbWF4X2Fzc29jX2xvb3ANCitsb2NhbCAmbG9vcF9pbmRleF9zZXQNCitsb2NhbCAmbWF4X3NldF9sb29wDQorbG9jYWwgJmRhdGENCisNCitwcmludCAiQ2xlYW5pbmcgYWxsIERhdGEgY2FjaGUuLi4iDQorDQorJmNhY2hlX3R5cGVfcmVnPWRhdGEubG9uZyhDMTU6MFgxMDApDQorJmRhdGFfY2FjaGVfc2l6ZT0oJmNhY2hlX3R5cGVfcmVnJjB4MWMwMDAwKT4+MHgxMg0KKyZkYXRhX2NhY2hlX2Fzc29jPSgmY2FjaGVfdHlwZV9yZWcmMHgzODAwMCk+PjB4Zg0KKyZkYXRhX2NhY2hlX2xlbj0oJmNhY2hlX3R5cGVfcmVnJjB4MzAwMCk+PjB4Yw0KKyZtYXhfYXNzb2NfbG9vcD0xPDwoJmRhdGFfY2FjaGVfYXNzb2MpDQorJm1heF9zZXRfbG9vcD0xPDwoJmRhdGFfY2FjaGVfc2l6ZSs2LSZkYXRhX2NhY2hlX2Fzc29jLSZkYXRhX2NhY2hlX2xlbikNCismbG9vcF9pbmRleF9hc3NvYz0wDQord2hpbGUgJmxvb3BfaW5kZXhfYXNzb2M8Jm1heF9hc3NvY19sb29wDQorKA0KKwkmbG9vcF9pbmRleF9zZXQ9MA0KKwl3aGlsZSAmbG9vcF9pbmRleF9zZXQ8Jm1heF9zZXRfbG9vcA0KKwkoDQorCQkmZGF0YT0oJmxvb3BfaW5kZXhfYXNzb2M8PCgweDIwLSZkYXRhX2NhY2hlX2Fzc29jKSkrKCZsb29wX2luZGV4X3NldDw8KCZkYXRhX2NhY2hlX2xlbiszKSkNCisJCWQucyBDMTU6MHgyYTcgJWxvbmcgJmRhdGENCisJCSZsb29wX2luZGV4X3NldD0mbG9vcF9pbmRleF9zZXQrMHgxDQorCSkNCisJd2FpdCAxMC5tcw0KKwkmbG9vcF9pbmRleF9hc3NvYz0mbG9vcF9pbmRleF9hc3NvYysweDENCispDQorDQorcHJpbnQgIi4uLmRvbmUgY2xlYW5pbmcgYWxsIERhdGEgY2FjaGUiDQorDQorRU5ERE8NCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfZ2V0X2Z1bmNfbW9kZS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfZ2V0X2Z1bmNfbW9kZS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmI2MDcxYwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9nZXRfZnVuY19tb2RlLmNtbQpAQCAtMCwwICsxLDgwIEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDEyIFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIMSjIL/pIMP7IDogDQorLy8qIM7EILz+IMP7IDogbGliX2dldF9mdW5jX21vZGUuY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDogu/HIobqvyv2yydPDxMTW1rHgwuu3vcq9KGFybaGidGh1bWIpDQorLy8qINf3ICAgINXfIDoguN+7qrflDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTMvMDgvMTgNCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb+juw0KK2xvY2FsICZzdGFydEFkZHIgJmVuZEFkZHIgJnJlc3VsdA0KKw0KK2VudHJ5ICZzdGFydEFkZHIgJmVuZEFkZHINCitnb3N1YiB6VDMyX0dldEZ1bmNNb2RlICZzdGFydEFkZHIgJmVuZEFkZHINCitlbnRyeSAmcmVzdWx0DQorZW5kZG8gJnJlc3VsdA0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoguq/K/cP7s8ajunpUMzJfR2V0RnVuY01vZGUNCisvLyoguabE3MPoyvajurvxyKG6r8r9ssnTw7XEseDC67e9yr0oYXJt1rjB7sSjyr27ucrHdGh1bWLWuMHuKQ0KKy8vKiCyzsr9y7XD96O6KElOKSAgDQorLy8qICAgICAgICAgICAgIGluc1N0YXJ0QWRkciAgICA6INa4we61xMbwyry12Na3o7sNCisvLyogICAgICAgICAgICAgaW5zRW5kQWRkciAgICAgIDog1rjB7rXEveHK+LXY1rejuw0KKy8vKiAgICAgICAgICAgICAgICANCisvLyogt7Ugu9gg1rWjug0KKy8vKiDG5Mv8y7XD96O61eu21NPQ0bnVu7LZ1/e1xLqvyv2juw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorelQzMl9HZXRGdW5jTW9kZToNCisgICAgbG9jYWwgJnB1c2hJbnMgJnB1c2hNYXNrICZpbnNTdGFydEFkZHIgJmluc0VuZEFkZHINCisgICAgbG9jYWwgJnN0bTFJbnMgJnN0bTFNYXNrICZzdG0ySW5zICZzdG0yTWFzayAgICAgICANCisNCisgICAgZW50cnkgJmluc1N0YXJ0QWRkciAmaW5zRW5kQWRkcg0KKyAgICBpZiAmaW5zU3RhcnRBZGRyPj0maW5zRW5kQWRkcg0KKyAgICAoDQorICAgICAgICByZXR1cm4gJlpUMzJfTk9NT0RFDQorICAgICkNCisgICAgJnB1c2hJbnM9MHhiNDAwDQorICAgICZwdXNoTWFzaz0weGZlMDAgIA0KKyAgICAmc3RtMUlucz0weDkwMDAwMDANCisgICAgJnN0bTFNYXNrPTB4RkQwMDAwMA0KKyAgICAmc3RtMklucz0weDk0MDAwMDANCisgICAgJnN0bTJNYXNrPTB4RkYwMDAwMA0KKyAgICAmaW5zdHJ1Y3Rpb249ZGF0YS53b3JkKGQ6Jmluc1N0YXJ0QWRkcikNCisgICAgDQorICAgIC8vxdC2z8rHt/HKx3B1c2jT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJnB1c2hNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09JnB1c2hJbnMNCisgICAgKA0KKyAgICAgICAgcmV0dXJuICZaVDMyX1RIVU1CTU9ERQ0KKyAgICApDQorICAgIGVsc2UNCisgICAgKCAgIA0KKyAgICAgICAgJmluc3RydWN0aW9uPWRhdGEubG9uZyhkOiZpbnNTdGFydEFkZHIpDQorICAgICAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZzdG0xTWFzaykpDQorICAgICAgICBpZiAmcmVzdWx0PT0mc3RtMUlucw0KKyAgICAgICAgKA0KKyAgICAgICAgICAgIHJldHVybiAmWlQzMl9BUk1NT0RFDQorICAgICAgICApDQorICAgICAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZzdG0yTWFzaykpDQorICAgICAgICBpZiAmcmVzdWx0PT0mc3RtMklucw0KKyAgICAgICAgKA0KKyAgICAgICAgICAgICZyZXN1bHQ9JlpUMzJfQVJNTU9ERQ0KKyAgICAgICAgICAgIHJldHVybiAmcmVzdWx0DQorICAgICAgICApDQorICAgICAgICAmaW5zU3RhcnRBZGRyPSZpbnNTdGFydEFkZHIrMg0KKyAgICAgICAgZ29zdWIgIHpUMzJfR2V0RnVuY01vZGUgJmluc1N0YXJ0QWRkciAgJmluc0VuZEFkZHINCisgICAgICAgIGVudHJ5ICZyZXN1bHQNCisgICAgICAgIHJldHVybiAmcmVzdWx0DQorICAgICkgICAgDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX2xlZnRfYWxpZ24uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX2xlZnRfYWxpZ24uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk1ZGEwNjgKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfbGVmdF9hbGlnbi5jbW0KQEAgLTAsMCArMSw0NCBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxMiBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiDEoyC/6SDD+yA6IA0KKy8vKiDOxCC8/iDD+yA6IGxpYl9sZWZ0X2FsaWduLmNtbQ0KKy8vKiDP4LnYzsS8/iA6IA0KKy8vKiDKtc/WuabE3CA6INfWt/u0rtfzttTG66O7DQorLy8qINf3ICAgINXfIDoguN+7qrflDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTMvMDgvMTgNCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmc3RyaW5nICZzcGFjZU51bQ0KKw0KKy8vyrXP1tfWt/u0rtfzttTG67XEuabE3KO7DQorZW50cnkgJmZvcm1hdFdpZHRoICZmb3JtYXRUaXRsZQ0KKyZyZXN1bHQ9c3RyaW5nLmxlbigiJmZvcm1hdFRpdGxlIikNCitpZiAmZm9ybWF0V2lkdGg8PSZyZXN1bHQNCisoDQorICAgICZzdHJpbmc9IiZmb3JtYXRUaXRsZSINCispDQorZWxzZQ0KKygNCisgICAgJnN0cmluZz0iJnN0cmluZyIrIiZmb3JtYXRUaXRsZSINCisgICAgcmVwZWF0ICZmb3JtYXRXaWR0aC0mcmVzdWx0DQorICAgICgNCisgICAgICAgICZzdHJpbmc9IiZzdHJpbmciKyIgIg0KKyAgICApDQorKQ0KKyZzcGFjZU51bT01DQorcmVwZWF0ICZzcGFjZU51bQ0KKygNCisgICAgJnN0cmluZz0iJnN0cmluZyIrIiAiDQorKQ0KK2VuZGRvICImc3RyaW5nIg0KKyAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfcHJpbnQuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX3ByaW50LmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzYzNWU4Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGliX3ByaW50LmNtbQpAQCAtMCwwICsxLDMyIEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDEyIFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIMSjIL/pIMP7IDogDQorLy8qIM7EILz+IMP7IDogbGliX3ByaW50LmNtbQ0KKy8vKiDP4LnYzsS8/iA6IA0KKy8vKiDKtc/WuabE3CA6ILTy06G24LTOxLO49tfWt/u0rqO7DQorLy8qINf3ICAgINXfIDoguN+7qrflDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTMvMDgvMTgNCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmc3RyaW5nDQorDQorLy/Ktc/WtPLTobbgtM7Es7j219a3+7SutcS5psTcICAgIA0KK2VudHJ5ICZ0aXRsZSAmbnVtDQorJnN0cmluZz0iIg0KK3JlcGVhdCAmbnVtDQorKA0KKyAgICAmc3RyaW5nPSImc3RyaW5nIismdGl0bGUgICAgIA0KKykNCitwcmludCAlc3RyaW5nICImc3RyaW5nIg0KK2VuZGRvDQorIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N0YWNrX2FuYWx5c2lzL2xpYl9yaWdodF9hbGlnbi5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfcmlnaHRfYWxpZ24uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI2NGY0OTUKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saWJfcmlnaHRfYWxpZ24uY21tCkBAIC0wLDAgKzEsNDYgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaWJfcmlnaHRfYWxpZ24uY21tDQorLy8qIM/gudjOxLz+IDogDQorLy8qIMq1z9a5psTcIDogDQorLy8qINf3ICAgINXfIDoguN+7qrflDQorLy8qILDmICAgILG+IDogVjEuMA0KKy8vKiDN6rPJyNXG2iA6IDIwMTMvMDgvMTgNCisvLyogxuTL/Mu1w/cgOiANCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiC9xbG+veLO9sf40/INCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorDQorLy+2qNLlvtayv7Hkwb8NCitsb2NhbCAmc3RyaW5nICZzcGFjZU51bQ0KKw0KKy8vyrXP1tfWt/u0rtPSttTG67XEuabE3A0KK2VudHJ5ICZmb3JtYXRXaWR0aCAmZm9ybWF0VGl0bGUNCismcmVzdWx0PXN0cmluZy5sZW4oIiZmb3JtYXRUaXRsZSIpDQoraWYgJmZvcm1hdFdpZHRoPD0mcmVzdWx0DQorKA0KKyAgICAmc3RyaW5nPSImZm9ybWF0VGl0bGUiDQorKQ0KK2Vsc2UNCisoDQorICAgICZzdHJpbmc9IiZzdHJpbmciKyImZm9ybWF0VGl0bGUiDQorICAgIHJlcGVhdCAmZm9ybWF0V2lkdGgtJnJlc3VsdA0KKyAgICAoDQorICAgICAgICAmc3RyaW5nPSIgIisiJnN0cmluZyINCisgICAgKQ0KKykNCisNCismc3BhY2VOdW09NQ0KK3JlcGVhdCAmc3BhY2VOdW0NCisoDQorICAgICZzdHJpbmc9IiZzdHJpbmciKyIgIg0KKykNCisNCitlbmRkbyAiJnN0cmluZyINCisgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGludXhfc3RhY2tfYW5hbHlzaXMuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvbGludXhfc3RhY2tfYW5hbHlzaXMuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjFmNDE3MTMKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9saW51eF9zdGFja19hbmFseXNpcy5jbW0KQEAgLTAsMCArMSw0MjAgQEAKKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoNCisvLyogICAgICAgICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgWlRFIENvcnBvcmF0aW9uLg0KKy8vKg0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogxKMgv+kgw/sgOiANCisvLyogzsQgvP4gw/sgOiBsaW51eF9zdGFja19hbmFseXNpcy5jbW0NCisvLyogz+C52M7EvP4gOiANCisvLyogyrXP1rmmxNwgOiBsaW51eM/C06bTw734s8zVu73izva9xbG+o7sNCisvLyog1/cgICAg1d8gOiANCisvLyogsOYgICAgsb4gOiBWMS4wDQorLy8qIM3qs8nI1cbaIDogMjAxMy8wOC8xOA0KKy8vKiDG5Mv8y7XD9yA6IA0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvL9Gh1PHTw7unzKzVu7vy1d/E2rrLzKzVuzoxOrvWuLTTptPDzKzVuzswOrvWuLTE2rrLzKzVuw0KK2xvY2FsICZ1c3Jfb3Jfa2VybmVsX2ZsYWcNCisNCismdXNyX29yX2tlcm5lbF9mbGFnPTENCisNCisNCisvL7ao0uW+1rK/seTBvw0KK2xvY2FsICZmaWxlQ29sdW1ucyAmZmlsZUxpbmVzDQorbG9jYWwgJnN0YWNrQmVnaW4gJnN0YWNrRW5kICZzdGFja0FkZHJlc3MNCitsb2NhbCAmZnVuY3Rpb25OYW1lICZyZXN1bHQgJmxldmVsICZ2YWx1ZQ0KK2xvY2FsICZ3aWR0aCAmc3RyaW5nDQorbG9jYWwgJmJsSW5zICZibHhJbnMgJmxkcklucw0KK2xvY2FsICZibEluc01hc2sgJmJseEluc01hc2sgJmxkckluc01hc2sNCitsb2NhbCAmYmxUaHVtYklucyAmYmx4MVRodW1iSW5zICZibHgyVGh1bWJJbnMgJmIxVGh1bWJJbnMgJmIyVGh1bWJJbnMgJmJ4VGh1bWJJbnMgJmJ4VGh1bWJJbnMgDQorbG9jYWwgJmJsSW5zVGh1bWJNYXNrICZibHgxSW5zVGh1bWJNYXNrICAmYmx4Mkluc1RodW1iTWFzaw0KK2xvY2FsICZiMUluc1RodW1iTWFzayAmYjJJbnNUaHVtYk1hc2sgJmJ4SW5zVGh1bWJNYXNrDQorbG9jYWwgJnBjYk1hZ2ljICZwTmFtZSAmZmlyc3QgJnBjICZwcmVGdW5TdGFjaw0KK2xvY2FsICZtbXVfY3IgJm1tdUZpcnN0QmFzZQ0KK2xvY2FsICZzdG1yMTMgJnN1YnIxMw0KK2xvY2FsICZzdG1yMTNNYXNrICZzdWJyMTNNYXNrDQorbG9jYWwgJnVzZXJjcHNyICZ1c2Vyc3AgJmtlcm5lbHN0YXJ0c3AgJmtlcm5lbGVuZHNwDQorDQorLy+78cihu7e+s7Hkwb8NCismZmlyc3Q9MQ0KKyZwYz0iIg0KKw0KKy8vYXJt1rjB7sz416rWuMHuwusoQiBCWCBCTCBCTFgpDQorJmJsSW5zTWFzaz0weDBFMDAwMDAwCSAgICAvL0JJVDI3OjI1KDEwMSkNCismYmxJbnM9MHgwQTAwMDAwMA0KKyZibHhJbnNNYXNrPTBYMEZGRkZGMDAJICAgIC8vQklUMjc6OCgwMDAxMDAxMDExMTExMTExMTExMSkNCismYmx4SW5zPTB4MDEyRkZGMDANCismbGRySW5zTWFzaz0weDBDMDBmMDAwCQkvL0JJVDI3OjI2KDAxKSBCSVQxNToxMigxMCkNCismbGRySW5zPTB4MDQwMGYwMDANCisNCisvL3RodW1i1rjB7s/CzPjXqta4we7C6w0KKyZibFRodW1iSW5zPTB4ZjgwMA0KKyZibEluc1RodW1iTWFzaz0weGY4MDANCismYmx4MVRodW1iSW5zPTB4ZjAwMA0KKyZibHgxSW5zVGh1bWJNYXNrPTB4ZjgwMA0KKyZibHgyVGh1bWJJbnM9MHg0NzgwDQorJmJseDJJbnNUaHVtYk1hc2s9MHhmZjgwDQorJmIxVGh1bWJJbnM9MHhkMDAwDQorJmIxSW5zVGh1bWJNYXNrPTB4ZjAwMA0KKyZiMlRodW1iSW5zPTB4ZDAwMA0KKyZiMkluc1RodW1iTWFzaz0weGY4MDANCismYnhUaHVtYklucz0weDQ3MDANCismYnhJbnNUaHVtYk1hc2s9MHhmODAwDQorDQorLy+0tL2oz9TKvrSwv9qjuw0KKyZmaWxlQ29sdW1ucz0xMDAuDQorJmZpbGVMaW5lcz01MDAuDQorDQorYXJlYS5jcmVhdGUgc3RhY2sgJmZpbGVDb2x1bW5zICAmZmlsZUxpbmVzDQorYXJlYS5jbGVhciAgc3RhY2sNCithcmVhLnNlbGVjdCBzdGFjaw0KK2FyZWEudmlldyAgIHN0YWNrDQorDQorLy+08r+qzsS8/g0KKyZkaXI9b3MucHdkKCkrIlxsb2ciDQoraWYgIW9zLmRpcigmZGlyKQ0KKygNCisgICAgbWtkaXIgJmRpciAgDQorKSANCismZmlsZT0iJmRpclxzdGFjay50eHQiDQorYXJlYS5vcGVuIHN0YWNrICZmaWxlDQorDQorLy/I57n7VDMy1NrUy9DQ0qq2z9eho7sNCitpZiBydW4oKQ0KKygNCisgICAgYnJlYWsNCispDQorDQorLy+78cih08O7p8ystbHHsLXE1bvWuNXrvLDXtMysvMS05sb3tcTWtaOsxNq6y8ystbHHsNW71rjV6w0KKyZrZXJuZWxzdGFydHNwPVIoUjEzKQ0KK0ZSQU1FLkNPUFkNCit3aGlsZSAoUihDUFNSKSYweDFGKSE9MHgxMA0KKygNCisJRlJBTUUuVVANCispDQorDQorJnVzZXJjcHNyPVIoQ1BTUikNCismdXNlcnNwPVIoUjEzKQ0KK0ZSQU1FLkRPV04NCisma2VybmVsZW5kc3A9UihSMTMpDQorRlJBTUUuU1dBUA0KKw0KK2lmICZ1c3Jfb3Jfa2VybmVsX2ZsYWc9PTB4MQ0KKygNCisJLy8mcGNiTWFnaWM9di52YWx1ZSgoKHN0cnVjdCBycSlydW5xdWV1ZXMpLT5jdXJyKQ0KKwkmc3RhY2tCZWdpbj12LnZhbHVlKCgoc3RydWN0IHJxKXJ1bnF1ZXVlcyktPmN1cnItPm1tLT5zdGFydF9zdGFjaykNCisJJnN0YWNrRW5kPSZ1c2Vyc3AtMHg0MDANCisJJnBOYW1lPXYuc3RyaW5nKCgoc3RydWN0IHJxKXJ1bnF1ZXVlcyktPmN1cnItPmNvbW0pKyLTw7unzKwiDQorKQ0KK2Vsc2UNCisoDQorCSZzdGFja0JlZ2luPSZrZXJuZWxlbmRzcA0KKwkmc3RhY2tFbmQ9Jmtlcm5lbHN0YXJ0c3ANCisJJnBOYW1lPXYuc3RyaW5nKCgoc3RydWN0IHJxKXJ1bnF1ZXVlcyktPmN1cnItPmNvbW0pKyLE2rrLzKwiDQorKQ0KKw0KK2lmICZzdGFja0VuZD49JnN0YWNrQmVnaW4NCisoDQorICAgIHByaW50ICIgICAgILXY1rfO3tCnIg0KKyAgICBwcmludCAiIg0KKyAgICBlbmRkbw0KKykNCisNCisvL3RpdGxlDQorDQorJm5hbWVXaWR0aD0weDMwDQorJnN0cmluZz0iJnBOYW1ltcTVu9DFz6IiDQorZG8gbGliX3JpZ2h0X2FsaWduLmNtbSAmbmFtZVdpZHRoICAmc3RyaW5nDQorZW50cnkgJnN0cmluZw0KK3ByaW50ICVzdHJpbmcgJnN0cmluZw0KK3ByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iDQorDQorLy+48cq9u6+08tOhdGl0bGUgIiBsZXZlbCAgICBzcCAgIGxyICAgZnVuYyINCismd2lkdGg9MTAuDQorJnRpdGxlPSJsZXZlbCINCitkbyAgbGliX2xlZnRfYWxpZ24uY21tICZ3aWR0aCAmdGl0bGUNCitlbnRyeSAmcmVzdWx0DQorJnN0cmluZz0mcmVzdWx0DQorJndpZHRoPTE1Lg0KKyZ0aXRsZT0ic3AiDQorZG8gIGxpYl9sZWZ0X2FsaWduLmNtbSAmd2lkdGggJnRpdGxlDQorZW50cnkgJnJlc3VsdA0KKyZzdHJpbmc9IiZzdHJpbmciKyZyZXN1bHQNCismdGl0bGU9ImxyIg0KK2RvICBsaWJfbGVmdF9hbGlnbi5jbW0gJndpZHRoICZ0aXRsZQ0KK2VudHJ5ICZyZXN1bHQNCismc3RyaW5nPSImc3RyaW5nIismcmVzdWx0DQorJnRpdGxlPSJmdW5jIg0KK2RvICBsaWJfbGVmdF9hbGlnbi5jbW0gJndpZHRoICZ0aXRsZQ0KK2VudHJ5ICZyZXN1bHQNCismc3RyaW5nPSImc3RyaW5nIismcmVzdWx0DQorcHJpbnQgJXN0cmluZyAiJnN0cmluZyINCismc3RyaW5nPSIiDQorLy/Eo8TixvfO3tDot9bO9k1NVdKzse0NCitpZiBTSU1VTEFUT1IoKQ0KKygNCisgICAgJm1tdV9jcj1kYXRhLmxvbmcoQzE1OjBYMSkNCisgICAgJm1tdUZpcnN0QmFzZT1kYXRhLmxvbmcoQzE1OjBYMikNCispDQorDQorJnN0YWNrQWRkcmVzcz0mc3RhY2tCZWdpbg0KKyZsZXZlbD0wDQorV0hJTEUgJnN0YWNrQWRkcmVzcz49JnN0YWNrRW5kDQorKA0KKyAgICBnb3N1YiB6VDMyX0lzVmFsaWRBZGQgJnN0YWNrQWRkcmVzcw0KKyAgICBlbnRyeSAmcmVzdWx0DQorICAgICZzdGFja1NpemU9NA0KKyAgICBpZiAmcmVzdWx0PT0wDQorICAgICgNCisgICAgICAgIGdvdG8gYWRkcmVzc0luY3JlYXNlDQorICAgICkNCisgICAgJnZhbHVlPWRhdGEubG9uZyhkOiZzdGFja0FkZHJlc3MpDQorDQorICAgICZmdW5jdGlvbk5hbWU9IiINCisgICAgR09TVUIgelQzMl9Jc0Z1bmNSZXRBZGRyICZ2YWx1ZSAiJmZ1bmN0aW9uTmFtZSINCisgICAgZW50cnkgJnJlc3VsdA0KKyAgICBpZiAmcmVzdWx0PT0xDQorICAgICgNCisgICAgICAgICZ3aWR0aD0xMC4NCisgICAgICAgICZsZXZlbD0mbGV2ZWwrMQ0KKyAgICAgICAgJnRpdGxlPWZvcm1hdC5kZWNpbWFsKDEuLCAmbGV2ZWwpDQorICAgICAgICBkbyAgbGliX2xlZnRfYWxpZ24uY21tICZ3aWR0aCAmdGl0bGUNCisgICAgICAgIGVudHJ5ICZyZXN1bHQNCisgICAgICAgICZzdHJpbmc9JnJlc3VsdA0KKyAgICAgICAgJndpZHRoPTE1Lg0KKyAgICAgICAgJnRpdGxlPSIweCIrZm9ybWF0LmhleCgxLiwgJnN0YWNrQWRkcmVzcykNCisgICAgICAgIGRvICBsaWJfbGVmdF9hbGlnbi5jbW0gJndpZHRoICZ0aXRsZQ0KKyAgICAgICAgZW50cnkgJnJlc3VsdA0KKyAgICAgICAgJnN0cmluZz0iJnN0cmluZyIrJnJlc3VsdA0KKyAgICAgICAgJnRpdGxlPSIweCIrZm9ybWF0LmhleCgxLiwgJnZhbHVlKQ0KKyAgICAgICAgZG8gIGxpYl9sZWZ0X2FsaWduLmNtbSAmd2lkdGggJnRpdGxlDQorICAgICAgICBlbnRyeSAmcmVzdWx0DQorICAgICAgICAmc3RyaW5nPSImc3RyaW5nIismcmVzdWx0DQorICAgICAgICAmZnVuY3Rpb25OYW1lPW9zLmZpbGUubmFtZSgiJmZ1bmN0aW9uTmFtZSIpCS8vuf3Cy8eww+bCt762DQorICAgICAgICAmc3RyaW5nPSImc3RyaW5nIisiJmZ1bmN0aW9uTmFtZSIrIigpIg0KKyAgICAgICAgcHJpbnQgJXN0cmluZyAiJnN0cmluZyINCisgICAgKQ0KKw0KK2FkZHJlc3NJbmNyZWFzZToJDQorICAgICZzdGFja0FkZHJlc3M9JnN0YWNrQWRkcmVzcy00DQorKQ0KKw0KK2lmICZzdGFja0FkZHJlc3M8JnN0YWNrRW5kJiYmZmlyc3Q9PTENCisoDQorICAgICZmaXJzdD0wDQorICAgICZwYz0mdmFsdWUNCisgICAgcHJpbnQgJXN0cmluZyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCispDQorDQoraWYgJmZpcnN0PT0wJiYmdXNyX29yX2tlcm5lbF9mbGFnPT0xDQorKA0KKyAgICBwcmludCAlc3RyaW5nICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKyAgICBwcmludCAlc3RyaW5nICIgICAgICAgICAgINPDu6fMrLbR1bu72Mvdsum/tLqvyv2199PDLMfrzOa7u8jnz8K8xLTmxvciDQorICAgIHByaW50ICVzdHJpbmcgIiAgICAgICAgICAgICAgICAgcjEzPXNwKzQgIHBjPWxyIHVzcmNwc3I9JnVzZXJjcHNyIg0KKykNCisNCitwcmludCAlc3RyaW5nICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KK2FyZWEudmlldyAgIHN0YWNrDQorYXJlYS5jbG9zZSAgc3RhY2sNCitlbmRkbw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoguq/K/cP7s8ajunpUMzJfSXNGdW5jUmV0QWRkcg0KKy8vKiC5psTcw+jK9qO6xdC2z9W7xNrI3crHt/HKx7qvyv21xLe1u9i12Na3DQorLy8qILLOyv3LtcP3o7ooSU4pICANCisvLyogICAgICAgICAgICAgICAgIHZhbHVlICAgICAgICAgICA61bvE2sjdDQorLy8qICAgICAgICAgICAoT1VUKQ0KKy8vKiAgICAgICAgICAgICAgICAgZnVuY3Rpb25OYW1lICAgIDq6r8r9tcTD+9fWDQorLy8qILe1ILvYINa1o7oNCisvLyogxuTL/Mu1w/ejug0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorelQzMl9Jc0Z1bmNSZXRBZGRyOg0KKyAgICBsb2NhbCAmaW5zdHJ1Y3Rpb24gJnByZU5hbWUNCisgICAgbG9jYWwgJmZpbmRCeUZ1bmN0aW9uDQorDQorICAgIGVudHJ5ICZ2YWx1ZSAmZnVuY3Rpb25OYW1lDQorICAgICZwcmVOYW1lPSIiDQorICAgICZmaW5kQnlGdW5jdGlvbj0xDQorDQorICAgIC8vxdC2z9W7tdjWt8TayN3X986qtdjWt8rHt/G/ybfDzsoNCisgICAgZ29zdWIgelQzMl9Jc1ZhbGlkQWRkICZ2YWx1ZQ0KKyAgICBlbnRyeSAmcmVzdWx0DQorICAgIGlmICZyZXN1bHQ9PTANCisgICAgKA0KKyAgICAJcmV0dXJuIDANCisgICAgKQ0KKyAgICBnb3N1YiB6VDMyX0lzVmFsaWRBZGQgKCZ2YWx1ZS0weDQpDQorICAgIGVudHJ5ICZyZXN1bHQNCisgICAgaWYgJnJlc3VsdD09MA0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorCSZ2YWx1ZT0oJnZhbHVlLzQpKjQNCisJDQorICAgIC8vxdC2z9W7tdjWt8TayN3Kx7fxyse6r8r9DQorICAgICZmdW5jdGlvbk5hbWU9WS5mdW5jdGlvbihwOiZ2YWx1ZSkNCisgICAgaWYgIiZmdW5jdGlvbk5hbWUiPT0iIg0KKyAgICAoDQorICAgIAkvLyZmaW5kQnlGdW5jdGlvbj0wDQorICAgIAkvLyZmdW5jdGlvbk5hbWU9WS5uYW1lKHA6JnZhbHVlKQ0KKyAgICAJLy9pZiAiJmZ1bmN0aW9uTmFtZSI9PSIiDQorICAgIAkvLygNCisgICAgICAgIHJldHVybiAwDQorICAgIAkvLykNCisgICAgKQ0KKw0KKyAgICAvL8XQts8qc3AtNNPrKnNwyse38dTazazSu7qvyv3M5cTaDQorICAgIGlmICZmaW5kQnlGdW5jdGlvbj09MQ0KKyAgICAoDQorICAgIAkmcHJlTmFtZT1ZLmZ1bmN0aW9uKHA6JnZhbHVlLTQpDQorICAgICkNCisgICAgLy9lbHNlDQorICAgIC8vKA0KKyAgICAvLwkmcHJlTmFtZT1ZLm5hbWUocDomdmFsdWUtNCkNCisgICAgLy8pDQorICAgIGlmICImcHJlTmFtZSIhPSImZnVuY3Rpb25OYW1lIg0KKyAgICAoDQorICAgICAgICByZXR1cm4gMA0KKyAgICApDQorCSZ2YWx1ZT0oJnZhbHVlLzQpKjQNCisgICAgLy/F0LbPKnNwLTTKx7fxysfM+Neq0+++5A0KKyAgICAmaW5zdHJ1Y3Rpb249ZGF0YS5sb25nKGQ6JnZhbHVlLTQpDQorDQorICAgIC8vxdC2zypzcC00yse38crHQVJN1rjB7sSjyr3PwrXEYixibCxibHgoMSnT777kDQorICAgICZyZXN1bHQ9di52YWx1ZSgoJmluc3RydWN0aW9uKSYoJmJsSW5zTWFzaykpDQorICAgIGlmICZyZXN1bHQ9PSZibElucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorICAgIC8vxdC2zypzcC00yse38crHQVJN1rjB7sSjyr3PwrXEYmx4KDIpLGJ40+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZibHhJbnNNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09JmJseElucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorDQorICAgIC8vxdC2z8rHt/HKx0FSTda4we7Eo8q9z8K1xGxkciBwYywq0+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZsZHJJbnNNYXNrKSkNCisgICAgaWYgJnJlc3VsdD09Jmxkcklucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorDQorICAgIC8vxdC2z8rHt/F0aHVtYta4we4NCisgICAgaWYgKCZ2YWx1ZSYweDEpPT0weDENCisgICAgKA0KKyAgICAJJnZhbHVlPSZ2YWx1ZS0xDQorICAgICkNCisgICAgZWxzZQ0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorDQorICAgIGdvc3ViIHpUMzJfSXNWYWxpZEFkZCAoJnZhbHVlLTIpDQorICAgIGVudHJ5ICZyZXN1bHQNCisgICAgaWYgJnJlc3VsdD09MA0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorDQorICAgIC8vxdC2zypzcC0yyse38crHdGh1bWLWuMHuxKPKvc/CtcRibNPvvuQNCisgICAgJmluc3RydWN0aW9uPWRhdGEud29yZChkOiZ2YWx1ZS0yKQ0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZibFRodW1iSW5zKSkNCisgICAgaWYgJnJlc3VsdD09JmJsVGh1bWJJbnMNCisgICAgKA0KKyAgICAJcmV0dXJuIDENCisgICAgKQ0KKyAgICANCisgICAgLy/F0LbPKnNwLTLKx7fxysd0aHVtYta4we7Eo8q9z8K1xGJseCgxKdPvvuQNCisgICAgJnJlc3VsdD12LnZhbHVlKCgmaW5zdHJ1Y3Rpb24pJigmYmx4MVRodW1iSW5zKSkNCisgICAgaWYgJnJlc3VsdD09JmJseDFUaHVtYklucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorICAgIA0KKyAgICAvL8XQts8qc3AtMsrHt/HKx3RodW1i1rjB7sSjyr3PwrXEYmx4KDIp0+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZibHgyVGh1bWJJbnMpKQ0KKyAgICBpZiAmcmVzdWx0PT0mYmx4MlRodW1iSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgDQorICAgIC8vxdC2zypzcC0yyse38crHdGh1bWLWuMHuxKPKvc/CtcRiKDEp0+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZiMUluc1RodW1iTWFzaykpDQorICAgIGlmICZyZXN1bHQ9PSZiMVRodW1iSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgDQorICAgIC8vxdC2zypzcC0yyse38crHdGh1bWLWuMHuxKPKvc/CtcRiKDIp0+++5A0KKyAgICAmcmVzdWx0PXYudmFsdWUoKCZpbnN0cnVjdGlvbikmKCZiMkluc1RodW1iTWFzaykpDQorICAgIGlmICZyZXN1bHQ9PSZiMlRodW1iSW5zDQorICAgICgNCisgICAgCXJldHVybiAxDQorICAgICkNCisgICAgDQorICAgIC8vxdC2zypzcC0yyse38crHdGh1bWLWuMHuxKPKvc/CtcRieNPvvuQNCisgICAgJnJlc3VsdD12LnZhbHVlKCgmaW5zdHJ1Y3Rpb24pJigmYnhJbnNUaHVtYk1hc2spKQ0KKyAgICBpZiAmcmVzdWx0PT0mYnhUaHVtYklucw0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorICAgIGVsc2UNCisgICAgKA0KKyAgICAJcmV0dXJuIDANCisgICAgKQ0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyoguq/K/cP7s8ajumlzVmFsaWRBZGRyZXNzDQorLy8qILmmxNzD6Mr2o7rF0LbPwt+8rbXY1rfKx7fxus+3qA0KKy8vKiCyzsr9y7XD96O6KElOKSAgDQorLy8qICAgICAgICAgICAgICAgbG9naWNBZGRyZXNzIDrC37yttdjWtyAgICAgICAgICAgICAgDQorLy8qILe1ILvYINa1o7oNCisvLyogxuTL/Mu1w/ejug0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorelQzMl9Jc1ZhbGlkQWRkOg0KKyAgICBsb2NhbCAmbW11U2Vjb25kQmFzZSAmbW11RGlzY3JpcHQgJm1tdU9mZnNldA0KKw0KKyAgICBlbnRyeSAmbG9naWNBZGRyZXNzDQorCQ0KKyAgICAvL8SjxOLG987e0Oi31s72TU1V0rOx7Q0KKyAgICBpZiBTSU1VTEFUT1IoKQ0KKyAgICAoDQorICAgIAlyZXR1cm4gMQ0KKyAgICApDQorICAgIC8vJmxvZ2ljQWRkcmVzcz0weDJDQjQwDQorICAgIC8vZGlzYWJsZSBNTVUNCisgICAgcGVyLnMgYzE1OjB4MSAlbG9uZyAoJm1tdV9jciYweGZmZmZmZmZlKQ0KKyAgICAmbW11T2Zmc2V0PSZsb2dpY0FkZHJlc3M+PjIwLg0KKyAgICAmbW11RGlzY3JpcHQ9di52YWx1ZSgoKFVJTlQzMiAqKSZtbXVGaXJzdEJhc2UpWyZtbXVPZmZzZXRdKQ0KKyAgICAmbW11dmFsdWU9Jm1tdURpc2NyaXB0JjB4Mw0KKyAgICBpZiAmbW11dmFsdWU9PTAJICAgICAgICAgICAgLy/O3tCnDQorICAgICgNCisgICAgCS8vcmVzdG9yZSBNTVUgwt+8rbXY1rfT687vwO212Na3sru21NOmo6yyu8TcvfvWuU1NVQ0KKyAgICAJcGVyLnMgYzE1OjB4MSAlbG9uZyAmbW11X2NyDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorDQorICAgIGlmICZtbXV2YWx1ZT09MgkgICAgICAgICAgICAvL7bO0rOx7Q0KKyAgICAoDQorICAgIAlwZXIucyBjMTU6MHgxICVsb25nICZtbXVfY3INCisgICAgCXJldHVybiAxDQorICAgICkNCisNCisgICAgLy+01sGjtsi2/ry20rOx7Q0KKyAgICAmbW11U2Vjb25kQmFzZT0mbW11RGlzY3JpcHQmMHhmZmZmZmMwMA0KKyAgICAmbW11T2Zmc2V0PSgmbG9naWNBZGRyZXNzJjB4ZmYwMDApPj4xMi4NCisgICAgJm1tdURpc2NyaXB0PXYudmFsdWUoKChVSU5UMzIgKikmbW11U2Vjb25kQmFzZSlbJm1tdU9mZnNldF0pDQorICAgICZtbXV2YWx1ZT0mbW11RGlzY3JpcHQmMFhmZjANCisgICAgcGVyLnMgYzE1OjB4MSAlbG9uZyAmbW11X2NyDQorICAgIGlmICZtbXV2YWx1ZT09MAkJCQkvL8O709C3w87KyKjP3g0KKyAgICAoDQorICAgIAlyZXR1cm4gMA0KKyAgICApDQorDQorICAgIHJldHVybiAxDQorDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvb3Nfc2VhcmNoX252X2xpc3QuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3RhY2tfYW5hbHlzaXMvb3Nfc2VhcmNoX252X2xpc3QuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmI3NjIxMmQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zdGFja19hbmFseXNpcy9vc19zZWFyY2hfbnZfbGlzdC5jbW0KQEAgLTAsMCArMSw3OSBAQAorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKg0KKy8vKiAgICAgICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxNyBaVEUgQ29ycG9yYXRpb24uDQorLy8qDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vIHBsDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vKiB0b3MgbXNncmN2z/vPorbTwdC9xbG+veLO9g0KKy8vKiC0q8jrz/vPorXEbFRndE1zZ0lEus21pbj2z/vPorXEveG5uczlDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vtqjS5b7Wsr+x5MG/DQorbG9jYWwgJnNlYXJjaEFkZHJlc3MNCitsb2NhbCAmbGlzdEhlYWQgJm5leHQNCitsb2NhbCAmaSAmY291bnQNCitsb2NhbCAmbnZJdGVtICZudk5leHRJdGVtICZjb3VudA0KKw0KKy8vtLS9qNK7uPa0sL/ao7sNCismd2lkdGg9MjAwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTIwMC4NCismZmlsZUxpbmVzPTUwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJccmVzdWx0LnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCithcmVhLnZpZXcgdHJhY2UNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCisNCitwcmludCAlc3RyaW5nICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCisNCismY291bnQ9MA0KK3doaWxlICZjb3VudCE9MHgyMDAgDQorKA0KKwkmbnZJdGVtPXYudmFsdWUoKCoobnZfbGlzdCkpLm52VGFibGVbJmNvdW50XSkNCisJaWYgJm52SXRlbSE9MHgwDQorCSgNCisJCSZudmtleT12LnN0cmluZygoKFRfTlZfSVRFTSopJm52SXRlbSktPmtleSkNCisJCSZudmtleT1mb3JtYXQuc3RyaW5nKCImbnZrZXkiLDIwMCwnICcpDQorCQkmbnZ2YWx1ZT12LnN0cmluZygoKFRfTlZfSVRFTSAqKSZudkl0ZW0pLnZhbHVlKQ0KKwkJJm52dmFsdWU9Zm9ybWF0LnN0cmluZygiJm52dmFsdWUiLDIwMCwnICcpDQorCQlwcmludCAiTlYgS2V5OiZudmtleSINCisJCXByaW50ICJOViBWYWx1ZTombnZ2YWx1ZSINCisJCXByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKwkJJm52bmV4dD12LnZhbHVlKCgoVF9OVl9JVEVNICopJm52SXRlbSkubmV4dCkNCisJCXdoaWxlICZudm5leHQhPTB4MA0KKwkJKA0KKwkJCSZudmtleT12LnN0cmluZygoKFRfTlZfSVRFTSopJm52bmV4dCktPmtleSkNCisJCQkmbnZ2YWx1ZT12LnN0cmluZygoKFRfTlZfSVRFTSAqKSZudm5leHQpLnZhbHVlKQ0KKwkJCSZudmtleT1mb3JtYXQuc3RyaW5nKCImbnZrZXkiLDIwMCwnICcpDQorCQkJJm52dmFsdWU9Zm9ybWF0LnN0cmluZygiJm52dmFsdWUiLDIwMCwnICcpDQorCQkJcHJpbnQgIk5WIEtleTombnZrZXkiDQorCQkJcHJpbnQgIk5WIFZhbHVlOiZudnZhbHVlIg0KKwkJCXByaW50ICVzdHJpbmcgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KKwkJCSZudm5leHQ9di52YWx1ZSgoKFRfTlZfSVRFTSAqKSZudm5leHQpLm5leHQpDQorCQkpDQorCSkNCisJJmNvdW50PSZjb3VudCsxDQorKQ0KK3ByaW50ICImY291bnQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIg0KK2FyZWEuY2xvc2UgdHJhY2UNCitFTkRETw0KKy8vKioqKtTL0NC94cr4KioqKioNCisNCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9hcmQubWVuIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2JvYXJkLm1lbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yZDE1YTViCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2JvYXJkLm1lbgpAQCAtMCwwICsxLDkzIEBACis7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCis7ICBOYW1lOg0KKzsgICAgIHp0ZS5tZW0NCis7ICBEZXNjcmlwdGlvbjoNCis7ICAgICAgyfqzyU9TRbLLtaUNCis7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisNCis7PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCis7ICAgICAgICAgICAgICAgICAgICAgICAgICBFRElUIEhJU1RST1JZIEZPUiBNT0RVTEUNCis7DQorOyB3aGVuICAgICAgICAgd2hvICAgICAgICAgICB3aGF0LCB3aGVyZSwgd2h5DQorOzA3LzI1LzEzICAgICC48LCyt+WhoaGhoaGhoaGhtLS9qA0KKzswNi8xMC8xNAkgIMDuw8C35gkJICA3NTIw0N64xA0KKzs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KKw0KK2FkZA0KK21lbnUNCisoDQorCXBvcHVwICImNzUyMEJvYXJkIg0KKwkoDQorCSAgcG9wdXAgIiZKdGFnIFN3aXRjaCBVc2UgQ01NIg0KKwkgICgNCisJCSAgcG9wdXAgIiZKdGFnMCINCisJICAgICAoDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gTTBKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMCAwDQorCSAgICAgICkNCisJICAgIAltZW51aXRlbSAiJlN3aXRjaCB0byBQc0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDENCisJICAgICAgKSAgICAgIA0KKwkgICAgCW1lbnVpdGVtICImU3dpdGNoIHRvIFpzcEp0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDINCisJICAgICAgKQ0KKwkgICAgCW1lbnVpdGVtICImU3dpdGNoIHRvIEE1M0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAwIDMNCisJICAgICAgKQkJICANCisJICAgICkNCisNCisJCXBvcHVwICImSnRhZzEiDQorCSAgICAoDQorCSAgICAgIG1lbnVpdGVtICImU3dpdGNoIHRvIE0wSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDEgMA0KKwkgICAgICApDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gUHNKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMSAxDQorCSAgICAgICkNCisJCSAgCW1lbnVpdGVtICImU3dpdGNoIHRvIFpzcEp0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAxIDINCisJICAgICAgKQ0KKwkgICAgCW1lbnVpdGVtICImU3dpdGNoIHRvIEE1M0p0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAxIDMNCisJICAgICAgKQ0KKwkgICAgKQ0KKwkJDQorCQlwb3B1cCAiJkp0YWcyIg0KKwkgICAgKA0KKwkgICAgICAgIG1lbnVpdGVtICImU3dpdGNoIHRvIE0wSnRhZyINCisJICAgICAgKCAgICANCisJICAgICAgCXJ1biAuXHN5c1xqdGFnX3N3aXRjaF9zY3JpcHQuY21tIDIgMA0KKwkgICAgICApDQorCSAgICAJbWVudWl0ZW0gIiZTd2l0Y2ggdG8gUHNKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMiAxDQorCSAgICAgICkNCisgICAgICAgICAgIG1lbnVpdGVtICImU3dpdGNoIHRvIFpzcEp0YWciDQorCSAgICAgICggICAgDQorCSAgICAgIAlydW4gLlxzeXNcanRhZ19zd2l0Y2hfc2NyaXB0LmNtbSAyIDINCisJICAgICAgKQ0KKwkgICAgCW1lbnVpdGVtICImU3dpdGNoIHRvIEE5NTNKdGFnIg0KKwkgICAgICAoICAgIA0KKwkgICAgICAJcnVuIC5cc3lzXGp0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMiAzDQorCSAgICAgICkNCisJICAgICkNCisJCQkNCisJKQ0KKwkNCisJc2VwYXJhdG9yDQorCW1lbnVpdGVtICJDbG9ja3MiDQorCSgNCisJCXJ1biAuXHN5c1xjbG9ja3MuY21tDQorCSkNCisJc2VwYXJhdG9yCQ0KKwkNCisgICkNCispDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Jvb3QuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Jvb3QuY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJkN2I5MTAKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvYm9vdC5jbW0KQEAgLTAsMCArMSwxOCBAQAorYXJlYS5yZXNldA0KK3N5cy5jcHUgQ29ydGV4TTANCitzeXMuYmRtY2xvY2sgMy4wTUh6CQkJO2NvcnRleC1tMA0KK3N5cy5vIGVucmVzZXQgT0ZGDQorc3lzLnVwDQorDQorZG8gLi9zeXMvY2xrX2luaXQuY21tDQorZG8gLi9zeXMvZGRyX2luaXRfMzEybS5jbW0NCisNCisvL00wIGFkZHJlc3MgcmVtYXAgYml0MjMNCitkYXRhLnNldCAweDAwMTQwMDAwICVsb25nIDB4MDA4NzAwMDANCisNCisvLyBSZWxlYXNlIFI3L0E1MyByZXNldCBzaWduYWwNCitkYXRhLnNldCAweDAwMTNiMTM4ICVsb25nIDB4MDAwMDAwMDEgLy8gUjcNCitkYXRhLnNldCAweDAwMTNiMTM0ICVsb25nIDB4MDAwMDAwMDEgLy8gQTUzDQorDQorLy9qdGFnMCB0byBhcA0KK2RvIC4vc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0gMCAzDQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsa19pbml0LmNtbSBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9jbGtfaW5pdC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdhY2RlYwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9jbGtfaW5pdC5jbW0KQEAgLTAsMCArMSwyMiBAQAorLy9NUExMIHBvd2VyIG9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorZGF0YS5zZXQgMHgwMDEzYjAwOCAlbG9uZyAweDA4MDQwYzExDQorLy9VUExMIHBvd2VyIG9uDQorZGF0YS5zZXQgMHgwMDEzYjAxMCAlbG9uZyAweDA4MzQ3ODExDQorLy9EUExMIHBvd2VyIG9uLCByZWYgY2xrIHNlbCBiaXQyNS0yNiwgMD1kcGxsMSwgMT1zeXNfY2xrX2luLCAyPWx0ZV9yZWZfY2xrLCAzPW1haW5fY2xrDQorLy9kYXRhLnNldCAweDAwMTNiMDE4ICVsb25nIDB4MGMwNDBjMTkNCisvL0dQTEwgcG93ZXIgb24NCitkYXRhLnNldCAweDAwMTNiMTEwICVsb25nIDB4MDgzNDdkMjkNCisNCisvL00wIHNlbGVjdCAxMDRNLCBiaXQwLTEsIDA9MTA0LCAxPTI2LCAyPTc4LCAzPTMyaw0KK2RhdGEuc2V0IDB4MDAxM2IwMzggJWxvbmcgMHgwMDAwMDAwNQ0KKy8vaHNfYWhiX2NsayBzZWxlY3QgMTA0TSwgYml0NC01LCAwPTEwNCwgMT0yNiwgMj03OCwgMz0zMmsNCitkYXRhLnNldCAweDAwMTNiMDNjICVsb25nIDB4MDAwMDAwMTANCisNCisvL0FYSSBzZWxlY3QgMTU2TSwgYml0MC0yLCAwPTE1NiwgMT0yNiwgMj0xMjIuODgsIDM9MTA0LCA0PTc4LCA1PTUyLCA2PTM5DQorZGF0YS5zZXQgMHgwMTMwNjAwMCAlbG9uZyAweDAwMDEwMDAxDQorLy9SNyBzZWxlY3QgNjI0TSwgYml0MC0yLCAwPTYyNCwgMT0yNiwgMj00OTEuNSwgMz0zMTIsIDQ9MjA4LCA1PTEwNCwgNj03OCwgNz01Mg0KK2RhdGEuc2V0IDB4MDEzMDYwMjAgJWxvbmcgMHgwMDAwMDAwMQ0KKy8vWlNQODgwIHNlbGVjdCA0OTFNLCBiaXQwLTIsIDA9NDkxLjUyLCAxPTI2LCAyPTMxMiwgMz0yMDgsIDQ9MTU2LCA1PTEwNCwgNj03OA0KK2RhdGEuc2V0IDB4MDEzMDYwMzAgJWxvbmcgMHgwMDAwMDAwMQ0KKy8vQTUzIHNlbGVjdCA2MjRNLCBiaXQwLTIsIDA9NjI0LCAxPTI2LCAyPTQ5MS41MiwgMz0zMTIsIDQ9MjA4LCA1PTEwNCwgNj03OCwgNz01Mg0KK2RhdGEuc2V0IDB4MDEzMDYwNDAgJWxvbmcgMHgwMDAwMDAwMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9jbG9ja3MuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Nsb2Nrcy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGU5OTM3NwotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9jbG9ja3MuY21tCkBAIC0wLDAgKzEsMjM4IEBACis7Y3JlYXRlIGNsb2NrcyBhcmVhDQorbG9jYWwgJnBsbF9yZWcNCitsb2NhbCAmZm91dHZjbw0KK2xvY2FsICZmb3V0Mg0KK2xvY2FsICZmb3V0Mw0KKw0KK2FyZWEuY3JlYXRlIGNsb2NrcyAyMDAgIDMwMA0KK2FyZWEuY2xlYXIgY2xvY2tzIA0KKw0KK2FyZWEuc2VsZWN0IGNsb2NrcyANCithcmVhLnZpZXcgY2xvY2tzDQorDQoraWYgc3RhdGUucnVuKCkNCisoDQorCWJyZWFrDQorKQ0KKw0KKztkaXNhYmxlIG1tdQ0KKyZjcj1kYXRhLmxvbmcoYzE1OjB4MSkNCismdG1wPSZjciYofjB4MSkNCitwZXIucyBjMTU6MHgxICVMT05HICZ0bXANCisNCitwcmludCAiKioqKioqKioqKioqKioqKioqKioqUExMKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnBsbF9yZWc9MHgwMDEzYjAwOA0KKyZmcmVmPTI2MDAwMDAwLg0KK3ByaW50ICJjaGVjayBtcGxsLi4uIg0KK0dvc3ViIGNhbGNfcGxsDQorDQorJnBsbF9yZWc9MHgwMDEzYjAxMA0KKyZmcmVmPTI2MDAwMDAwLg0KK3ByaW50ICJjaGVjayB1cGxsLi4uIg0KK0dvc3ViIGNhbGNfcGxsDQorDQorJnBsbF9yZWc9MHgwMDEzQjAxOA0KKyZ0bXA9ZGF0YS5sb25nKEQ6MHgwMDEzQjAxOCkNCismdG1wPSgmdG1wPj4yNSkmMHgzDQoraWYgKCZ0bXA9PTEpDQorKA0KKyZmcmVmPTMwNzIwMDAwLg0KKykNCitlbHNlDQorKA0KKyZmcmVmPTI2MDAwMDAwLg0KKykNCitwcmludCAiY2hlY2sgZHBsbC4uLiINCitHb3N1YiBjYWxjX3BsbA0KKw0KKyZwbGxfcmVnPTB4MDAxM2IxMTANCismZnJlZj0yNjAwMDAwMC4NCitwcmludCAiY2hlY2sgZ3BsbC4uLiINCitHb3N1YiBjYWxjX3BsbA0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipNMCBDTEsqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiINCismdG1wPWRhdGEubG9uZyhEOjB4MDAxM2IwMzgpDQorJnRtcD0mdG1wJjB4Mw0KK2lmICgmdG1wPT0wKQ0KKygNCisJcHJpbnQgIk0wIGNsayBzZWwgbWFpbl9jbGsiDQorKQ0KK2lmICgmdG1wPT0xKQ0KKygNCisJcHJpbnQgIk0wIGNsayBzZWwgMTA0TSINCispDQoraWYgKCZ0bXA9PTIpDQorKA0KKwlwcmludCAiTTAgY2xrIHNlbCA3OE0iDQorKQ0KK2lmICgmdG1wPT0zKQ0KKygNCisJcHJpbnQgIk0wIGNsayBzZWwgMzJLIg0KKykNCisNCitwcmludCAiKioqKioqKioqKioqKioqKioqKioqQTUzIENMSyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIg0KKyZ0bXA9ZGF0YS5sb25nKEQ6MHgwMTMwNjA0MCkNCismdG1wPSZ0bXAmMHgzDQoraWYgKCZ0bXA9PTApDQorKA0KKwkNCisJcHJpbnQgInVmaSBjbGsgc2VsIG1haW5fY2xrIg0KKykNCitpZiAoJnRtcD09MSkNCisoDQorCXByaW50ICJ1ZmkgY2xrIHNlbCA2MjRNIg0KKykNCitpZiAoJnRtcD09MikNCisoDQorCXByaW50ICJ1ZmkgY2xrIHNlbCAzMTJNIg0KKykNCitpZiAoJnRtcD09MykNCisoDQorCXByaW50ICJ1ZmkgY2xrIHNlbCAxNTZNIg0KKykNCisNCitwcmludCAiKioqKioqKioqKioqKioqKioqKioqUFMgQ0xLKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnRtcD1kYXRhLmxvbmcoRDoweDAxMzA2MDIwKQ0KKyZ0bXA9JnRtcCYweDMNCitpZiAoJnRtcD09MCkNCisoDQorCXByaW50ICJwc2NwdSBjbGsgc2VsIG1haW5fY2xrIg0KKykNCitpZiAoJnRtcD09MSkNCisoDQorCXByaW50ICJwc2NwdSBjbGsgc2VsIDYyNE0iDQorKQ0KK2lmICgmdG1wPT0yKQ0KKygNCisJcHJpbnQgInBzY3B1IGNsayBzZWwgMzEyTSINCispDQoraWYgKCZ0bXA9PTMpDQorKA0KKwlwcmludCAicHNjcHUgY2xrIHNlbCAxNTZNIg0KKykNCisNCitwcmludCAiKioqKioqKioqKioqKioqKioqKioqUEhZIENMSyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIg0KKyZ0bXA9ZGF0YS5sb25nKEQ6MHgwMTMwNjAzMCkNCismdG1wPSZ0bXAmMHgzDQoraWYgKCZ0bXA9PTApDQorKA0KKwlwcmludCAicGh5Y3B1IGNsayBzZWwgbWFpbl9jbGsiDQorKQ0KK2lmICgmdG1wPT0xKQ0KKygNCisJcHJpbnQgInBoeWNwdSBjbGsgc2VsIDQ5MU0iDQorKQ0KK2lmICgmdG1wPT0yKQ0KKygNCisJcHJpbnQgInBoeWNwdSBjbGsgc2VsIDMxMk0iDQorKQ0KK2lmICgmdG1wPT0zKQ0KKygNCisJcHJpbnQgInBoeWNwdSBjbGsgc2VsIDE1Nk0iDQorKQ0KKw0KK3ByaW50ICIqKioqKioqKioqKioqKioqKioqKipBWEkgQ0xLKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiDQorJnRtcD1kYXRhLmxvbmcoRDoweDAxMzA2MDAwKQ0KKyZ0bXA9JnRtcCYweDcNCitpZiAoJnRtcD09MCkNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCBtYWluX2NsayINCispDQoraWYgKCZ0bXA9PTEpDQorKA0KKwlwcmludCAiYXhpIGNsayBzZWwgMTU2TSINCispDQoraWYgKCZ0bXA9PTIpDQorKA0KKwlwcmludCAiYXhpIGNsayBzZWwgMTI0LjhNIg0KKykNCitpZiAoJnRtcD09MykNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCAxMDRNIg0KKykNCitpZiAoJnRtcD09NCkNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCA3OE0iDQorKQ0KK2lmICgmdG1wPT01KQ0KKygNCisJcHJpbnQgImF4aSBjbGsgc2VsIDUyTSINCispDQoraWYgKCZ0bXA9PTYpDQorKA0KKwlwcmludCAiYXhpIGNsayBzZWwgMzlNIg0KKykNCitpZiAoJnRtcD09NykNCisoDQorCXByaW50ICJheGkgY2xrIHNlbCA2LjVNIg0KKykNCisNCitwcmludCAiKioqKioqKioqKioqKioqKioqKioqRERSIENMSyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIg0KKyZ0bXA9ZGF0YS5sb25nKEQ6MHgwMTMwNjA1MCkNCismdG1wPSZ0bXAmMHgzDQoraWYgKCZ0bXA9PTApDQorKA0KKwlwcmludCAiZGRyIGlvIGNsayBzZWwgMzEyTSINCispDQoraWYgKCZ0bXA9PTEpDQorKA0KKwlwcmludCAiZGRyIGlvIGNsayBzZWwgNDAwTSINCispDQoraWYgKCZ0bXA9PTIpDQorKA0KKwlwcmludCAiZGRyIGlvIGNsayBzZWwgMjA4TSINCispDQoraWYgKCZ0bXA9PTMpDQorKA0KKwlwcmludCAiZGRyIGlvIGNsayBzZWwgMTU2TSINCispDQorO3Jlc3RvcmUgbW11IGNvbmZpZw0KK3Blci5zIGMxNToweDEgJUxPTkcgJmNyDQorRU5ERE8NCisNCisNCis7KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCitjYWxjX3BsbDoNCisNCitsb2NhbCAmdG1wMQ0KK2xvY2FsICZ0bXAyDQorJnRtcDE9ZGF0YS5sb25nKEQ6JnBsbF9yZWcpDQorJnRtcDI9ZGF0YS5sb25nKEQ6JnBsbF9yZWcrMHg0KQ0KKyZwb3dlcj0oJnRtcDE+PjB4MWYpJjB4MQ0KK2lmICgmcG93ZXI9PTEpDQorKA0KKwlwcmludCAicGxsIGlzIHBvd2VyIGRvd24iDQorKQ0KK2Vsc2UNCisoDQorCXByaW50ICJwbGwgaXMgcG93ZXIgdXAiDQorKQ0KKw0KKyZsb2NrPSgmdG1wMT4+MHgxZSkmMHgxDQoraWYgKCZsb2NrPT0xKQ0KKygNCisJcHJpbnQgInBsbCBpcyBsb2NrZWQiDQorKQ0KK2Vsc2UNCisoDQorCXByaW50ICJwbGwgaXMgdW5sb2NrZWQiDQorKQ0KKw0KKyZyZWZkaXY9KCZ0bXAxPj4weDEyKSYoKDB4MTw8MHg2KS0xKQ0KKyZmYmRpdj0oJnRtcDE+PjB4NikmKCgweDE8PDB4YyktMSkNCismZnJhYz0oJnRtcDIpJigoMHgxPDwweDE4KS0xKQ0KKyZmb3V0dmNvPSgmZnJlZi8mcmVmZGl2KSooJmZiZGl2KyZmcmFjKQ0KK3ByaW50ICJwbGwgZm91dHZjbz0iKyImZm91dHZjbyINCisNCismcG9zdGRpdjE9KCZ0bXAxPj4weDMpJigoMHgxPDwweDMpLTB4MSkNCismcG9zdGRpdjI9KCZ0bXAxKSYoKDB4MTw8MHgzKS0weDEpDQorJmZvdXRwb3N0ZGl2PSZmb3V0dmNvLyZwb3N0ZGl2MS8mcG9zdGRpdjINCismZm91dDI9JmZvdXRwb3N0ZGl2LzB4Mg0KKyZmb3V0Mz0mZm91dHBvc3RkaXYvMHgzDQorJmZvdXQ0PSZmb3V0cG9zdGRpdi8weDQNCitwcmludCAicGxsIGZvdXRwb3N0ZGl2PSIrIiZmb3V0cG9zdGRpdiINCitwcmludCAicGxsIGZvdXQyPSIrIiZmb3V0MiINCitwcmludCAicGxsIGZvdXQzPSIrIiZmb3V0MyINCitwcmludCAicGxsIGZvdXQ0PSIrIiZmb3V0NCINCisNCitSRVRVUk4NCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXQuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0LmNtbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YTI0ZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0LmNtbQpAQCAtMCwwICsxLDE3NSBAQAorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDAwY2ZlMDAwIC8vZGRyIGFsbCByZXNldCBlbmFibGUgIGJpdDYtMTI9MA0KK1dhaXQgMC4wMXMgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwMGNmZjQwMCAvL3JlbGVhc2UgZGRyIGFwYihiaXQxMCkgYW5kIHBoeSByZXNldChiaXQxMikNCitXYWl0IDAuMDFzDQorDQorZGF0YS5zZXQgMHgwMTIxYTAwNCAlbG9uZyAweGYwMDAwMDAxIC8vUElSICAgLy9ieXBhc3MgcGxsIGxvY2ssIERETCBjYWwgYW5kIFpRIGNhbCAgIA0KKy8vY2hlY2sgMHgwMTIxYTAxOCBiaXQwPTENCitXYWl0IDAuMDFzDQorDQorLy9zZWxlY3QgZGRyIHdvcmsgbW9kZSBoZXJlLCB0aGVuIHNlbGVjdCBkZHIgdG9wIGNsaw0KK2RhdGEuc2V0IDB4MDEyMWEwMjAgJWxvbmcgMHhhMDFiODAwMCAvL2J5cGFzcw0KKy8vZGF0YS5zZXQgMHgwMTIxYTAyMCAlbG9uZyAweDAwMWI4MDAwIC8vbWlzc29uDQorDQorLy9ERFIgdG9wIGNsb2NrIHNlbGVjdCB0b3AgY2xrIDYyNE0sIGJpdDAtMiwgMD02MjQsIDE9MjYsIDI9NDE2LCAzPTMxMiwgND0yMDgsIDU9MjAwLCA2PTEwNA0KKy8vMDogdG9wIGNsaz02MjRNLCAgICAgZGRyIHVzZSBieXBzcyBtb2RlICwgZHJhbSBpbyBjbGs9MzEyTQ0KKy8vMTogdG9wIGNsaz0yNk0sICAgICAgZGRyIHVzZSBieXBzcyBtb2RlICwgZHJhbSBpbyBjbGs9MTNNDQorLy8yOiB0b3AgY2xrPTQxNk0sICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz0yMDhNDQorLy8zOiB0b3AgY2xrPTMxMk0sICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz0xNTZNDQorLy80OiB0b3AgY2xrPTIwOE0sICAgICBkZHIgdXNlIGJ5cHNzIG1vZGUgLCBkcmFtIGlvIGNsaz0xMDRNLCBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTQxNk0NCisvLzU6IHRvcCBjbGs9MjAwTSwgICAgIGRkciB1c2UgYnlwc3MgbW9kZSAsIGRyYW0gaW8gY2xrPTEwME0sIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9NDAwTQ0KKy8vNjogdG9wIGNsaz0xMDRNLCAgICAgZGRyIHVzZSBieXBzcyBtb2RlICwgZHJhbSBpbyBjbGs9NTJNDQorZGF0YS5zZXQgMHgwMTMwNjA1MCAlbG9uZyAweDAxNTExMTEwDQorDQorLy9waHkgcmVnaXN0ZXIgaW5pdCANCitkYXRhLnNldCAweDAxMjFhMDBDICVsb25nIDB4MDM4MGM3YTAgICAgIC8vVkFMVUVfUEdDUjEgIC8gTEJNT0RFOlJXOjMxOjE6PTB4MCBMQkdEUVM6Ulc6Mjk6Mjo9MHgwIExCRFFTUzpSVzoyODoxOj0weDAgSU9MQjpSVzoyNzoxOj0weDAgSU5IVlQ6Ulc6MjY6MTo9MHgwIFBIWUhSU1Q6Ulc6MjU6MTo9MHgxIEFDQlZUOlJXOjI0OjE6PTB4MSBBQ0RMVlQ6Ulc6MjM6MTo9MHgxIERMRExNVDpSVzoxNTo4Oj0weDEgRkRFUFRIOlJXOjEzOjI6PTB4MiBMUEZERVBUSDpSVzoxMToyOj0weDAgTFBGRU46Ulc6MTA6MTo9MHgxIE1ETEVOOlJXOjk6MTo9MHgxIElPRERSTTpSVzo3OjI6PTB4MyBXTFNFTFQ6Ulc6NjoxOj0weDAgRERMQllQTU9ERTpSVzo0OjI6PTB4MiBXTFVOQ1JUOlJXOjM6MTo9MHgwIFdMU1RFUDpSVzoyOjE6PTB4MCBXTE1PREU6Ulc6MToxOj0weDAgR1BVTFNFOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxYTAxNCAlbG9uZyAweDkwYWEwMDYwICAgICAvL1ZBTFVFX1BHQ1IzICAvIExQV0FLRVVQX1RIUlNIOlJXOjI4OjQ6PTB4OSBjZmdfcHViX21vZGU6Ulc6MjY6MTo9MHgwIEdEUVNTOlJXOjI1OjE6PTB4MCBQUkZCWVA6Ulc6MjQ6MTo9MHgwIENLRU46Ulc6MTY6ODo9MHhhYSBHQVRFRFhSRENMSzpSVzoxNToxOj0weDEgR0FURURYRERSQ0xLOlJXOjE0OjE6PTB4MSBHQVRFRFhDVExDTEs6Ulc6MTM6MTo9MHgxIERJU0FDT0U6Ulc6MTI6MTo9MHgwIEdBVEVBQ1JEQ0xLOlJXOjExOjE6PTB4MSBHQVRFQUNERFJDTEs6Ulc6MTA6MTo9MHgxIEdBVEVBQ0NUTENMSzpSVzo5OjE6PTB4MSBSRERMWTpSVzo1OjQ6PTB4MyBSRE1PREU6Ulc6MzoyOj0weDAgRElTUlNUOlJXOjI6MTo9MHgwIENMS0xFVkVMOlJXOjA6Mjo9MHgwDQorZGF0YS5zZXQgMHgwMTIxYTAyNCAlbG9uZyAweDBkMjA2ODRmICAgICAvL1ZBTFVFX1BUUjAgICAvIHRQTExQRDpSVzoyMToxMTo9MHg2OSB0UExMR1M6Ulc6NjoxNTo9MHgxYTEgdFBIWVJTVDpSVzowOjY6PTB4Zg0KK2RhdGEuc2V0IDB4MDEyMWEwMjggJWxvbmcgMHgwYTI5MDNhOSAgICAgLy9WQUxVRV9QVFIxICAgLyB0UExMTE9DSzpSVzoxNjoxNjo9MHhhMjkgdFBMTFJTVDpSVzowOjEzOj0weDNhOQ0KK2RhdGEuc2V0IDB4MDEyMWEwMzAgJWxvbmcgMHgwMjAwZjM2MiAgICAgLy9WQUxVRV9QVFIzICAgLyB0RElOSVQxOlJXOjIwOjk6PTB4MjAgdERJTklUMDpSVzowOjIwOj0weGYzNjINCitkYXRhLnNldCAweDAxMjFhMDM0ICVsb25nIDB4MDRlMDBkNjQgICAgIC8vVkFMVUVfUFRSNCAgIC8gdERJTklUMzpSVzoxODoxMTo9MHgxMzggdERJTklUMjpSVzowOjE4Oj0weGQ2NA0KK2RhdGEuc2V0IDB4MDEyMWEwODAgJWxvbmcgMHgwMDE4MTIyNCAgICAgLy9WQUxVRV9EWENDUiAgLyBVRFFJT006Ulc6MjE6MTo9MHgwIFVEUVBEUjpSVzoyMDoxOj0weDEgVURRUEREOlJXOjE5OjE6PTB4MSBVRFFPRFQ6Ulc6MTg6MTo9MHgwIE1TQlVEUTpSVzoxNTozOj0weDAgRFhTUjpSVzoxMzoyOj0weDAgRFFTTlJFUzpSVzo5OjQ6PTB4OSBEUVNSRVM6Ulc6NTo0Oj0weDEgTURMRU46Ulc6MjoxOj0weDEgRFhJT006Ulc6MToxOj0weDAgRFhPRFQ6Ulc6MDoxOj0weDANCisvL2RmaSBsb3dwb3dlciBlbmFibGUgaW8gcG93ZXJkb3duIGFuZCBwbGwgcG93ZXJkb3duDQorZGF0YS5zZXQgMHgwMTIxYTA4NCAlbG9uZyAweDAwMDQ2NDg3ICAgICAvL1ZBTFVFX0RTR0NSICAvIFJTVE9FOlJXOjIxOjE6PTB4MCBTRFJNT0RFOlJXOjE5OjI6PTB4MCBSUk1PREU6Ulc6MTg6MTo9MHgxIEFUT0FFOlJXOjE3OjE6PTB4MCBEVE9PRTpSVzoxNjoxOj0weDAgRFRPSU9NOlJXOjE1OjE6PTB4MCBEVE9QRFI6Ulc6MTQ6MTo9MHgxIERUT1BERDpSVzoxMzoxOj0weDEgRFRPT0RUOlJXOjEyOjE6PTB4MCBQVUFEOlJXOjg6NDo9MHg0IERRU0dYOlJXOjY6Mjo9MHgyIENVQUVOOlJXOjU6MTo9MHgwIExQUExMUEQ6Ulc6NDoxOj0weDEgTFBJT1BEOlJXOjM6MTo9MHgwIFpVRU46Ulc6MjoxOj0weDEgQkRJU0VOOlJXOjE6MTo9MHgxIFBVUkVOOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxYTA4OCAlbG9uZyAweDAwMDAwNDA4ICAgICAvL1ZBTFVFX0RDUiAgICAvIFVESU1NOlJXOjI5OjE6PTB4MCBERFIyVDpSVzoyODoxOj0weDAgTk9TUkE6Ulc6Mjc6MTo9MHgwIEJZVEVNQVNLOlJXOjEwOjg6PTB4MSBNUFJEUTpSVzo3OjE6PTB4MCBQRFE6Ulc6NDozOj0weDAgRERSOEJOSzpSVzozOjE6PTB4MSBERFJNRDpSVzowOjM6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMWEwOEMgJWxvbmcgMHgxNTBlMDU4MyAgICAgLy9WQUxVRV9EVFBSMCAgLyB0UkNEOlJXOjI2OjU6PTB4NSB0UlJEOlJXOjIyOjQ6PTB4NCB0UkFTOlJXOjE2OjY6PTB4ZSB0UlA6Ulc6ODo1Oj0weDUgdFdUUjpSVzo0OjQ6PTB4OCB0UlRQOlJXOjA6NDo9MHgzDQorZGF0YS5zZXQgMHgwMTIxYTA5MCAlbG9uZyAweDIyODE0YTEwICAgICAvL1ZBTFVFX0RUUFIxICAvIHRBT05EX0FPRkQ6Ulc6MzA6Mjo9MHgwIHRXTE86Ulc6MjY6NDo9MHg4IHRXTE1SRDpSVzoyMDo2Oj0weDI4IHRSRkM6Ulc6MTE6OTo9MHgyOSB0RkFXOlJXOjU6Njo9MHgxMCB0TU9EOlJXOjI6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMTIxYTA5NCAlbG9uZyAweDEwMDAwYzJjICAgICAvL1ZBTFVFX0RUUFIyICAvIHRDQ0Q6Ulc6MzE6MTo9MHgwIHRSVFc6Ulc6MzA6MTo9MHgwIHRSVE9EVDpSVzoyOToxOj0weDAgdERMTEs6Ulc6MTk6MTA6PTB4MjAwIHRYUDpSVzoxMDo1Oj0weDMgdFhTOlJXOjA6MTA6PTB4MmMNCitkYXRhLnNldCAweDAxMjFhMDk4ICVsb25nIDB4MDAxNDY0ZDEgICAgIC8vVkFMVUVfRFRQUjMgIC8gdEFPRkR4OlJXOjI5OjM6PTB4MCB0TVJEOlJXOjE4OjU6PTB4NSB0Q0tFOlJXOjEzOjU6PTB4MyB0UkM6Ulc6Njo3Oj0weDEzIHREUVNDS21heDpSVzozOjM6PTB4MiB0RFFTQ0s6Ulc6MDozOj0weDENCitkYXRhLnNldCAweDAxMjFhMEE0ICVsb25nIDB4MDAwMDAwMDMgICAgIC8vVkFMVUVfTVIyICAgIC8gV1JMRVZFTElORzpSVzo3OjE6PTB4MCBXTFNFTEVDVDpSVzo2OjE6PTB4MCBuV1JFOlJXOjQ6MTo9MHgwIHJsX3dsOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMTIxYTBBMCAlbG9uZyAweDAwMDAwMDYzICAgICAvL1ZBTFVFX01SMSAgICAvIG5XUjpXOjU6Mzo9MHgzIFdDOlc6NDoxOj0weDAgQlQ6VzozOjE6PTB4MCBCTDpXOjA6Mzo9MHgzDQorZGF0YS5zZXQgMHgwMTIxYTBBOCAlbG9uZyAweDAwMDAwMDAyICAgICAvL1ZBTFVFX01SMyAgICAvIERTOlJXOjA6NDo9MHgyDQorZGF0YS5zZXQgMHgwMTIxYTFBMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX01SMTEgICAvIFBEQ1RMOlJXOjI6MTo9MHgwIERRT0RUOlJXOjA6Mjo9MHgwDQorZGF0YS5zZXQgMHgwMTIxYTI0MCAlbG9uZyAweDA0MDU4OTAwICAgICAvL1ZBTFVFX1pRQ1IgICAvIEZPUkNFX1pDQUxfVlRfVVBEQVRFOlJXOjI3OjE6PTB4MCBESVNfTk9OX0xJTl9DT01QOlJXOjI2OjE6PTB4MSBQVV9PRFRfT05MWTpSVzoyNToxOj0weDAgQVNZTV9EUlZfRU46Ulc6MjQ6MTo9MHgwIElPRExNVDpSVzoxNzo3Oj0weDIgQVZHRU46Ulc6MTY6MTo9MHgxIEFWR01BWDpSVzoxNDoyOj0weDIgWkNBTDpSVzoxMTozOj0weDEgUEdXQUlUOlJXOjg6Mzo9MHgxIFpRUEQ6Ulc6MjoxOj0weDAgVEVSTV9PRkY6Ulc6MToxOj0weDAgWkNBTEJZUDpSVzowOjE6PTB4MA0KKy8vYml0MC0zIG91dHB1dDpscGRkcjIoNT04MG9obaOsNz02MG9obaOsOT00OG9obaOsYj00MG9obaOsZD0zNC4zb2htKSxscGRkcjMoMT0yNDBvaG2jrDM9MTIwb2hto6w5PTQ4b2hto6xiPTQwb2hto6xkPTM0LjNvaG0pDQorZGF0YS5zZXQgMHgwMTIxYTI0NCAlbG9uZyAweDAwMDdiYjJiICAgICAvL1ZBTFVFX1pRblBSICAvIFpQUk9HX1BVX09EVF9PTkxZOlJXOjE2OjQ6PTB4NyBaUFJPR19BU1lNX0RSVl9QRDpSVzoxMjo0Oj0weGIgWlBST0dfQVNZTV9EUlZfUFU6Ulc6ODo0Oj0weGIgWlFESVZfT0RUOlJXOjQ6NDo9MHg3IFpRRElWX0RTOlJXOjA6NDo9MHhiDQorZGF0YS5zZXQgMHgwMTIxYTI1NCAlbG9uZyAweDAwMDdiYjJiICAgICAvL1ZBTFVFX1pRblBSICAvIFpQUk9HX1BVX09EVF9PTkxZOlJXOjE2OjQ6PTB4NyBaUFJPR19BU1lNX0RSVl9QRDpSVzoxMjo0Oj0weGIgWlBST0dfQVNZTV9EUlZfUFU6Ulc6ODo0Oj0weGIgWlFESVZfT0RUOlJXOjQ6NDo9MHg3IFpRRElWX0RTOlJXOjA6NDo9MHhiDQorZGF0YS5zZXQgMHgwMTIxYTIzOCAlbG9uZyAweDAwNDgwMDQ4ICAgICAvL1ZBTFVFX0lPVkNSMCAvIEVEWFZSRUY6Ulc6MjQ6Nzo9MHgwIElEWFZSRUY6Ulc6MTY6Nzo9MHg0OCBFQUNWUkVGOlJXOjg6Nzo9MHgwIElBQ1ZSRUY6Ulc6MDo3Oj0weDQ4DQorZGF0YS5zZXQgMHgwMTIxYTIzQyAlbG9uZyAweDAwMDAwMDQ4ICAgICAvL1ZBTFVFX0lPVkNSMSAvIFpRVlJFRjpSVzowOjc6PTB4NDgNCisNCisvL2NvbnRyb2xsZXIgcmVnaXN0ZXIgaW5pdA0KK2RhdGEuc2V0IDB4MDEyMTYwMDAgJWxvbmcgMHgwMzA0MDAwNCAgICAgLy9WQUxVRV9NU1RSICAgICAgICAvIGRldmljZV9jb25maWc6Ulc6MzA6Mjo9MHgwIGZyZXF1ZW5jeV9tb2RlOlJXOjI5OjE6PTB4MCBhY3RpdmVfcmFua3M6Ulc6MjQ6NDo9MHgzIGJ1cnN0X3Jkd3I6Ulc6MTY6NDo9MHg0IGRsbF9vZmZfbW9kZTpSVzoxNToxOj0weDAgZGF0YV9idXNfd2lkdGg6Ulc6MTI6Mjo9MHgwIGdlYXJkb3duX21vZGU6Ulc6MTE6MTo9MHgwIGVuXzJ0X3RpbWluZ19tb2RlOlJXOjEwOjE6PTB4MCBidXJzdGNob3A6Ulc6OToxOj0weDAgYnVyc3RfbW9kZTpSVzo4OjE6PTB4MCBscGRkcjQ6Ulc6NToxOj0weDAgZGRyNDpSVzo0OjE6PTB4MCBscGRkcjM6Ulc6MzoxOj0weDAgbHBkZHIyOlJXOjI6MTo9MHgxIG1vYmlsZTpSVzoxOjE6PTB4MCBkZHIzOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjAxMCAlbG9uZyAweDAwMDAwMDMwICAgICAvL1ZBTFVFX01SQ1RSTDAgICAgIC8gbXJfd3I6Ulc6MzE6MTo9MHgwIG1yX2FkZHI6Ulc6MTI6NDo9MHgwIG1yX3Jhbms6Ulc6NDo0Oj0weDMgc3dfaW5pdF9pbnQ6Ulc6MzoxOj0weDAgcGRhX2VuOlJXOjI6MTo9MHgwIG1wcl9lbjpSVzoxOjE6PTB4MCBtcl90eXBlOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjAzMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BXUkNUTCAgICAgIC8gc3RheV9pbl9zZWxmcmVmOlJXOjY6MTo9MHgwIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjAzNCAlbG9uZyAweDAwMDUyMDAyICAgICAvL1ZBTFVFX1BXUlRNRyAgICAgIC8gc2VsZnJlZl90b194MzI6Ulc6MTY6ODo9MHg1IGRlZXBwb3dlcmRvd25fdG9feDEwMjQ6Ulc6ODo4Oj0weDIwIHBvd2VyZG93bl90b194MzI6Ulc6MDo1Oj0weDINCitkYXRhLnNldCAweDAxMjE2MDM4ICVsb25nIDB4MDAwNDAwMDMgICAgIC8vVkFMVUVfSFdMUENUTCAgICAgLyBod19scF9pZGxlX3gzMjpSVzoxNjoxMjo9MHg0IGh3X2xwX2V4aXRfaWRsZV9lbjpSVzoxOjE6PTB4MSBod19scF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTYwNTAgJWxvbmcgMHgwMDIxMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMCAgICAvIHJlZnJlc2hfbWFyZ2luOlJXOjIwOjQ6PTB4MiByZWZyZXNoX3RvX3gzMjpSVzoxMjo1Oj0weDEwIHJlZnJlc2hfYnVyc3Q6Ulc6NDo1Oj0weDAgcGVyX2JhbmtfcmVmcmVzaDpSVzoyOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMTYwNjQgJWxvbmcgMHgwMDI2MDAxNCAgICAgLy9WQUxVRV9SRlNIVE1HICAgICAvIHRfcmZjX25vbV94MzIodHJlZmkpOlJXOjE2OjEyOj0weDI2IGxwZGRyM190cmVmYndfZW46Ulc6MTU6MTo9MHgwIHRfcmZjX21pbjpSVzowOjk6PTB4MTQNCitkYXRhLnNldCAweDAxMjE2MGQwICVsb25nIDB4MDAxZjAwMDEgICAgIC8vVkFMVUVfSU5JVDAgICAgICAgLyBza2lwX2RyYW1faW5pdDpSVzozMToyOj0weDAgcG9zdF9ja2VfeDEwMjQ6Ulc6MTY6MTA6PTB4MWYgcHJlX2NrZV94MTAyNDpSVzowOjExOj0weDENCitkYXRhLnNldCAweDAxMjE2MGQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfSU5JVDEgICAgICAgLyBkcmFtX3JzdG5feDEwMjQ6Ulc6MTY6ODo9MHgwIGZpbmFsX3dhaXRfeDMyOlJXOjg6Nzo9MHgwIHByZV9vY2RfeDMyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjBkOCAlbG9uZyAweDAwMDAwNDA1ICAgICAvL1ZBTFVFX0lOSVQyICAgICAgIC8gaWRsZV9hZnRlcl9yZXNldF94MzI6Ulc6ODo4Oj0weDQgbWluX3N0YWJsZV9jbG9ja194MTpSVzowOjQ6PTB4NQ0KK2RhdGEuc2V0IDB4MDEyMTYwZGMgJWxvbmcgMHgwMDYzMDAwNiAgICAgLy9WQUxVRV9JTklUMyAgICAgICAvIG1yOlJXOjE2OjE2Oj0weDYzIGVtcjpSVzowOjE2Oj0weDYNCisvL2RyYW0gRFM6WzE5OjE2XSAxOjM0b2htLCAyOjQwb2htLCAzOjQ4b2htDQorZGF0YS5zZXQgMHgwMTIxNjBlMCAlbG9uZyAweDAwMDIwMDAwICAgICAvL1ZBTFVFX0lOSVQ0ICAgICAgIC8gZW1yMjpSVzoxNjoxNjo9MHgyIGVtcjM6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjBlNCAlbG9uZyAweDAwMDUwMDAyICAgICAvL1ZBTFVFX0lOSVQ1ICAgICAgIC8gZGV2X3pxaW5pdF94MzI6Ulc6MTY6ODo9MHg1IG1heF9hdXRvX2luaXRfeDEwMjQ6Ulc6MDoxMDo9MHgyDQorZGF0YS5zZXQgMHgwMTIxNjBmNCAlbG9uZyAweDAwMDAwNjZmICAgICAvL1ZBTFVFX1JBTktDVEwgICAgIC8gZGlmZl9yYW5rX3dyX2dhcDpSVzo4OjQ6PTB4NiBkaWZmX3JhbmtfcmRfZ2FwOlJXOjQ6NDo9MHg2IG1heF9yYW5rX3JkOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMTIxNjEwMCAlbG9uZyAweDA2MDgwYTA3ICAgICAvL1ZBTFVFX0RSQU1UTUcwICAgIC8gd3IycHJlOlJXOjI0OjY6PTB4NiB0X2ZhdzpSVzoxNjo2Oj0weDggdF9yYXNfbWF4OlJXOjg6Nzo9MHhhIHRfcmFzX21pbjpSVzowOjY6PTB4Nw0KK2RhdGEuc2V0IDB4MDEyMTYxMDQgJWxvbmcgMHgwMDAyMDIwOSAgICAgLy9WQUxVRV9EUkFNVE1HMSAgICAvIHRfeHA6Ulc6MTY6NTo9MHgyIHJkMnByZTpSVzo4OjU6PTB4MiB0X3JjOlJXOjA6Njo9MHg5DQorZGF0YS5zZXQgMHgwMTIxNjEwOCAlbG9uZyAweDAyMDQwNjA2ICAgICAvL1ZBTFVFX0RSQU1UTUcyICAgIC8gd3JpdGVfbGF0ZW5jeTpSVzoyNDo2Oj0weDIgcmVhZF9sYXRlbmN5OlJXOjE2OjY6PTB4NCByZDJ3cjpSVzo4OjY6PTB4NiB3cjJyZDpSVzowOjY6PTB4Ng0KK2RhdGEuc2V0IDB4MDEyMTYxMGMgJWxvbmcgMHgwMDUwMTAwMCAgICAgLy9WQUxVRV9EUkFNVE1HMyAgICAvIHRfbXJ3OlJXOjIwOjEwOj0weDUgdF9tcmQ6Ulc6MTI6Njo9MHgxIHRfbW9kOlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMTYxMTAgJWxvbmcgMHgwMzAxMDIwNCAgICAgLy9WQUxVRV9EUkFNVE1HNCAgICAvIHRfcmNkOlJXOjI0OjU6PTB4MyB0X2NjZDpSVzoxNjo0Oj0weDEgdF9ycmQ6Ulc6ODo0Oj0weDIgdF9ycDpSVzowOjU6PTB4NA0KK2RhdGEuc2V0IDB4MDEyMTYxMTQgJWxvbmcgMHgwMTAxMDMwMyAgICAgLy9WQUxVRV9EUkFNVE1HNSAgICAvIHRfY2tzcng6Ulc6MjQ6NDo9MHgxIHRfY2tzcmU6Ulc6MTY6NDo9MHgxIHRfY2tlc3I6Ulc6ODo2Oj0weDMgdF9ja2U6Ulc6MDo0Oj0weDMNCitkYXRhLnNldCAweDAxMjE2MTE4ICVsb25nIDB4MDIwMjAwMDMgICAgIC8vVkFMVUVfRFJBTVRNRzYgICAgLyB0X2NrZHBkZTpSVzoyNDo0Oj0weDIgdF9ja2RwZHg6Ulc6MTY6NDo9MHgyIHRfY2tjc3g6Ulc6MDo0Oj0weDMNCitkYXRhLnNldCAweDAxMjE2MTFjICVsb25nIDB4MDAwMDAyMDIgICAgIC8vVkFMVUVfRFJBTVRNRzcgICAgLyB0X2NrcGRlOlJXOjg6NDo9MHgyIHRfY2twZHg6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAxMjE2MTM4ICVsb25nIDB4MDAwMDAwMTYgICAgIC8vVkFMVUVfRFJBTVRNRzE0ICAgLyB0X3hzcjpSVzowOjEyOj0weDE2DQorZGF0YS5zZXQgMHgwMTIxNjE4MCAlbG9uZyAweDQwMzkwMDBmICAgICAvL1ZBTFVFX1pRQ1RMMCAgICAgIC8gZGlzX2F1dG9fenE6Ulc6MzE6MTo9MHgwIGRpc19zcnhfenFjbDpSVzozMDoxOj0weDEgenFfcmVzaXN0b3Jfc2hhcmVkOlJXOjI5OjE6PTB4MCBkaXNfbXBzbXhfenFjbDpSVzoyODoxOj0weDAgdF96cV9sb25nX25vcDpSVzoxNjoxMDo9MHgzOSB0X3pxX3Nob3J0X25vcDpSVzowOjEwOj0weGYNCitkYXRhLnNldCAweDAxMjE2MTg0ICVsb25nIDB4MDA4MDAxMDAgICAgIC8vVkFMVUVfWlFDVEwxICAgICAgLyB0X3pxX3Jlc2V0X25vcDpSVzoyMDoxMDo9MHg4IHRfenFfc2hvcnRfaW50ZXJ2YWxfeDEwMjQ6Ulc6MDoyMDo9MHgxMDANCitkYXRhLnNldCAweDAxMjE2MTg4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfWlFDVEwyICAgICAgLyB6cV9yZXNldDpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMTYxOTAgJWxvbmcgMHgwNzAzMDEwMSAgICAgLy9WQUxVRV9ERklUTUcwICAgICAvIGRmaV90X2N0cmxfZGVsYXk6Ulc6MjQ6NTo9MHg3IGRmaV9yZGRhdGFfdXNlX3NkcjpSVzoyMzoxOj0weDAgZGZpX3RfcmRkYXRhX2VuOlJXOjE2OjY6PTB4MyBkZmlfd3JkYXRhX3VzZV9zZHI6Ulc6MTU6MTo9MHgwIGRmaV90cGh5X3dyZGF0YTpSVzo4OjY6PTB4MSBkZmlfdHBoeV93cmxhdDpSVzowOjY6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTYxOTQgJWxvbmcgMHgwMDAzMDQwNCAgICAgLy9WQUxVRV9ERklUTUcxICAgICAvIGRmaV90X2NtZF9sYXQ6Ulc6Mjg6NDo9MHgwIGRmaV90X3BhcmluX2xhdDpSVzoyNDoyOj0weDAgZGZpX3Rfd3JkYXRhX2RlbGF5OlJXOjE2OjU6PTB4MyBkZmlfdF9kcmFtX2Nsa19kaXNhYmxlOlJXOjg6NDo9MHg0IGRmaV90X2RyYW1fY2xrX2VuYWJsZTpSVzowOjQ6PTB4NA0KK2RhdGEuc2V0IDB4MDEyMTYxOTggJWxvbmcgMHgwNzAwMDEwMSAgICAgLy9WQUxVRV9ERklMUENGRzAgICAvIGRmaV90bHBfcmVzcDpSVzoyNDo0Oj0weDcgZGZpX2xwX3dha2V1cF9kcGQ6Ulc6MjA6NDo9MHgwIGRmaV9scF9lbl9kcGQ6Ulc6MTY6MTo9MHgwIGRmaV9scF93YWtldXBfc3I6Ulc6MTI6NDo9MHgwIGRmaV9scF9lbl9zcjpSVzo4OjE6PTB4MSBkZmlfbHBfd2FrZXVwX3BkOlJXOjQ6NDo9MHgwIGRmaV9scF9lbl9wZDpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTYxYTAgJWxvbmcgMHg4MDQwMDAwMyAgICAgLy9WQUxVRV9ERklVUEQwICAgICAvIGRpc19hdXRvX2N0cmx1cGQ6Ulc6MzE6MTo9MHgxIGRmaV90X2N0cmx1cF9tYXg6Ulc6MTY6MTA6PTB4NDAgZGZpX3RfY3RybHVwX21pbjpSVzowOjEwOj0weDMNCitkYXRhLnNldCAweDAxMjE2MWE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJVVBEMSAgICAgLyBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNDpSVzoxNjo4Oj0weDAgZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQ6Ulc6MDo4Oj0weDANCitkYXRhLnNldCAweDAxMjE2MWE4ICVsb25nIDB4ODAxMDAwMTAgICAgIC8vVkFMVUVfREZJVVBEMiAgICAgLyBkZmlfcGh5dXBkX2VuOlJXOjMxOjE6PTB4MSBkZmlfcGh5dXBkX3R5cGUxOlJXOjE2OjEyOj0weDEwIGRmaV9waHl1cGRfdHlwZTA6Ulc6MDoxMjo9MHgxMA0KK2RhdGEuc2V0IDB4MDEyMTYxYWMgJWxvbmcgMHgwMDEwMDAxMCAgICAgLy9WQUxVRV9ERklVUEQzICAgICAvIGRmaV9waHl1cGRfdHlwZTM6Ulc6MTY6MTI6PTB4MTAgZGZpX3BoeXVwZF90eXBlMjpSVzowOjEyOj0weDEwDQorZGF0YS5zZXQgMHgwMTIxNjFiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSU1JU0MgICAgIC8gZGZpX2RhdGFfY3NfcG9sYXJpdHk6Ulc6MjoxOj0weDAgcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjIwMCAlbG9uZyAweDAwMDAwMDFmICAgICAvL1ZBTFVFX0FERFJNQVAwICAgIC8gYWRkcm1hcF9kY2hfYml0MDpSVzoxNjo1Oj0weDAgYWRkcm1hcF9jc19iaXQxOlJXOjg6NTo9MHgwIGFkZHJtYXBfY3NfYml0MDpSVzowOjU6PTB4MWYNCitkYXRhLnNldCAweDAxMjE2MjA0ICVsb25nIDB4MDAwNzA3MDcgICAgIC8vVkFMVUVfQUREUk1BUDEgICAgLyBhZGRybWFwX2JhbmtfYjI6Ulc6MTY6NDo9MHg3IGFkZHJtYXBfYmFua19iMTpSVzo4OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjA6Ulc6MDo0Oj0weDcNCitkYXRhLnNldCAweDAxMjE2MjA4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDIgICAgLyBhZGRybWFwX2NvbF9iNTpSVzoyNDo0Oj0weDAgYWRkcm1hcF9jb2xfYjQ6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2IzOlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2IyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjIwYyAlbG9uZyAweDBmMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAzICAgIC8gYWRkcm1hcF9jb2xfYjk6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfY29sX2I4OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iNzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iNjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDEyMTYyMTAgJWxvbmcgMHgwMDAwMGYwZiAgICAgLy9WQUxVRV9BRERSTUFQNCAgICAvIGFkZHJtYXBfY29sX2IxMTpSVzo4OjQ6PTB4ZiBhZGRybWFwX2NvbF9iMTA6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAxMjE2MjE0ICVsb25nIDB4MDYwNjA2MDYgICAgIC8vVkFMVUVfQUREUk1BUDUgICAgLyBhZGRybWFwX3Jvd19iMTE6Ulc6MjQ6NDo9MHg2IGFkZHJtYXBfcm93X2IyXzEwOlJXOjE2OjQ6PTB4NiBhZGRybWFwX3Jvd19iMTpSVzo4OjQ6PTB4NiBhZGRybWFwX3Jvd19iMDpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDEyMTYyMTggJWxvbmcgMHgwZjBmMGYwNiAgICAgLy9WQUxVRV9BRERSTUFQNiAgICAvIGFkZHJtYXBfcm93X2IxNTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9yb3dfYjE0OlJXOjE2OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTM6Ulc6ODo0Oj0weGYgYWRkcm1hcF9yb3dfYjEyOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMTIxNjI0MCAlbG9uZyAweDA0MDAwNDAwICAgICAvL1ZBTFVFX09EVENGRyAgICAgIC8gd3Jfb2R0X2hvbGQ6Ulc6MjQ6NDo9MHg0IHdyX29kdF9kZWxheTpSVzoxNjo0Oj0weDAgcmRfb2R0X2hvbGQ6Ulc6ODo0Oj0weDQgcmRfb2R0X2RlbGF5OlJXOjI6NDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjI0NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX09EVE1BUCAgICAgIC8gcmFuazNfcmRfb2R0OlJXOjI4OjQ6PTB4MCByYW5rM193cl9vZHQ6Ulc6MjQ6NDo9MHgwIHJhbmsyX3JkX29kdDpSVzoyMDo0Oj0weDAgcmFuazJfd3Jfb2R0OlJXOjE2OjQ6PTB4MCByYW5rMV9yZF9vZHQ6Ulc6MTI6NDo9MHgwIHJhbmsxX3dyX29kdDpSVzo4OjQ6PTB4MCByYW5rMF9yZF9vZHQ6Ulc6NDo0Oj0weDAgcmFuazBfd3Jfb2R0OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMTIxNjI1MCAlbG9uZyAweDAwMDAxMDA1ICAgICAvL1ZBTFVFX1NDSEVEICAgICAgIC8gcmR3cl9pZGxlX2dhcDpSVzoyNDo3Oj0weDAgZ28yY3JpdGljYWxfaHlzdGVyZXNpczpSVzoxNjo4Oj0weDAgbHByX251bV9lbnRyaWVzOlJXOjg6Njo9MHgxMCBwYWdlY2xvc2U6Ulc6MjoxOj0weDEgcHJlZmVyX3dyaXRlOlJXOjE6MTo9MHgwIGZvcmNlX2xvd19wcmlfbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTYyNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9TQ0hFRDEgICAgICAvIHBhZ2VjbG9zZV90aW1lcjpSVzowOjg6PTB4MA0KKw0KKyAgICAgIC8vZGRyX3Byb3JpdHlfY29uZmlnDQorICAgICAgLy9wb3J0IHJlYWQgc3RhdGljIHByaW9yaXR5IGJpdDAtOSwgYml0MC00IHRpbWVvdXQsIGJpdDUtOSBwcm9yaXR5DQorICAgICAgZGF0YS5zZXQgMHgwMTIxNjQwNCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdSXzAgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCisgICAgICBkYXRhLnNldCAweDAxMjE2NGI0ICVsb25nIDB4MDAwMDEwZmYgICAgIC8vVkFMVUVfUENGR1JfMSAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDIwDQorICAgICAgZGF0YS5zZXQgMHgwMTIxNjU2NCAlbG9uZyAweDAwMDAxMDNmICAgICAvL1ZBTFVFX1BDRkdSXzIgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgwDQorICAgICAgZGF0YS5zZXQgMHgwMTIxNjYxNCAlbG9uZyAweDAwMDAxMDVmICAgICAvL1ZBTFVFX1BDRkdSXzMgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg0DQorICAgICAgLy9wb3J0IHdyaXRlIHN0YXRpYyBwcmlvcml0eSBiaXQwLTkNCisgICAgICBkYXRhLnNldCAweDAxMjE2NDA4ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1dfMCAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCisgICAgICBkYXRhLnNldCAweDAxMjE2NGI4ICVsb25nIDB4MDAwMDEwZmYgICAgIC8vVkFMVUVfUENGR1dfMSAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHhmZg0KKyAgICAgIGRhdGEuc2V0IDB4MDEyMTY1NjggJWxvbmcgMHgwMDAwMTAzZiAgICAgLy9WQUxVRV9QQ0ZHV18yICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmDQorICAgICAgZGF0YS5zZXQgMHgwMTIxNjYxOCAlbG9uZyAweDAwMDAxMDVmICAgICAvL1ZBTFVFX1BDRkdXXzMgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NWYNCisgICAgICAvL3BvcnQgcmVhZCByZWdpb24gc2V0DQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NDk0ICVsb25nIDB4MDIwMDBlMDAgICAgIC8vVkFMVUVfUENGR1FPUzBfMCAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MiBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weGUgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NTQ0ICVsb25nIDB4MDIwMDBlMDAgICAgIC8vVkFMVUVfUENGR1FPUzBfMSAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MiBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weGUgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NWY0ICVsb25nIDB4MDIwMDBlMDAgICAgIC8vVkFMVUVfUENGR1FPUzBfMiAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MiBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weGUgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NmE0ICVsb25nIDB4MDIwMDBlMDAgICAgIC8vVkFMVUVfUENGR1FPUzBfMyAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MiBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weGUgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHgwDQorICAgICAgLy9wb3J0IHdyaXRlIHJlZ2lvbiBzZXQNCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY0OWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMCAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NTRjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzEgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjVmYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8yIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY2YWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMyAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorICAgICAgLy92cHIgdGltZW91dCwgcmVnaW9uMiBpcyByZWQgcXVldWUNCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY0OTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8wICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NTQ4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMSAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjVmOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzIgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY2YTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8zICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorICAgICAgLy92cHcgdGltZW91dA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjRhMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8wIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisgICAgICAvL2RhdGEuc2V0IDB4MDEyMTY1NTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMSAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorICAgICAgLy9kYXRhLnNldCAweDAxMjE2NjAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzIgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vZGF0YS5zZXQgMHgwMTIxNjZiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8zIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisgICAgICAvL2luIENBTSBzZXQNCisgICAgICAvL2RhdGEsc2V0IDB4MDEyMTYyNWMgJWxvbmcgMHgwZjAwMDAwMSAgICAgLy9WQUxVRV9QRVJGSFBSMSAgICAvIGhwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGhwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4MQ0KKyAgICAgIC8vZGF0YSxzZXQgMHgwMTIxNjI2NCAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZMUFIxICAgIC8gbHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgbHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHg3Zg0KKyAgICAgIC8vZGF0YSxzZXQgMHgwMTIxNjI2YyAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZXUjEgICAgIC8gd194YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIHdfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorICAgICAgLy9kYXRhLHNldCAweDAxMjE2Mjc0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQUjEgICAgLyB2cHJfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCisgICAgICAvL2RhdGEsc2V0IDB4MDEyMTYyNzggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBXMSAgICAvIHZwd190aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KKyAgICAgIC8vcG9ydCBleHRlcm4gc3RhdGljIHByaW9yaXR5CQ0KKyAgICAgIC8vUkVHMzIoMHgwMDE0NjA2NCkgPSAweDAwMDAwMDAwOyAvL3BvcnQwLDEgIGxldmVsPTA9TFA7IHBvcnQyLDMgIGxldmVsPTA9TFANCisNCisvL3dhaXQgYWxsIHJlZ2lzdGVyIGNvbmZpZyBpbnRvIGhhcmR3YXJlDQorV2FpdCAwLjAxcw0KKw0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwMGNmZmZjMCAvL3JlbGVhc2UgZGRyIGN0bChiaXQxMSkgYW5kIGF4aV9zbiByZXNldChiaXQ2LTkpDQorV2FpdCAwLjAxcw0KKw0KKy8vc3cgY29uZmlnIGRvbmUNCitkYXRhLnNldCAweDAxMjE2MzIwICVsb25nIDB4MDAwMDAwMDAgLy9TV0NUTCAgICAgIC8vIHN3X2RvbmU6Ulc6MDoxOj0weDANCisvL2NoZWNrIHBoeSBhdXRvIGluaXQgZG9uZSwgd2FpdCAweDAxMjE2MzI0IGJpdDAgPTANCitXYWl0IDAuMDFzDQorDQorZGF0YS5zZXQgMHgwMTIxYTAwNCAlbG9uZyAweDAwMDQwMDAxIC8vUElSIC8vbm90aWZ5IHBoeSB0aGF0IHNkcmFtIHdpbGwgYmUgaW5pdGlhbGl6ZWQgYnkgY29udHJvbGxlcg0KKy8vY2hlY2sgMHgwMTIxYTAxOCBiaXQwPTEgYW5kIGJpdDQ9MQ0KK1dhaXQgMC4wMXMNCisNCisvL21hbnVhbCB0cmlnZ2VyIGNhbGlicmF0ZQ0KK2RhdGEuc2V0IDB4MDEyMWEwMDQgJWxvbmcgMHgwMDAwMDAyMyAvL1BJUiAvL0RETCBjYWwsIFpRIGNhbCAoZm9yIGJ5cGFzcykNCisvL2RhdGEuc2V0IDB4MDEyMWEwMDQgJWxvbmcgMHgwMDAwMDAzMyAvL1BJUiAvL0RETCBjYWwsIFpRIGNhbCwgUExMIGluaXQgKGZvciBtaXNzaW9uKQ0KKy8vY2hlY2sgMHgwMTIxYTAxOCBiaXQwLTM9MTAxMQ0KK1dhaXQgMC4wMXMNCisNCisvL2VuYWJsZSBjb250cm9sbGVyIGRmaV9pbml0X2NvbXBsZXRlX2VuIHRvIHN0YXJ0IHNkcmFtIGluaXQsIHRoZW4gd2lsbCBzZW5kIGRyYW0gaW5pdCBjbWQNCitkYXRhLnNldCAweDAxMjE2MWIwICVsb25nIDB4MDAwMDAwMDEgLy9ERklNSVNDICAgIC8vIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL2NoZWNrIGNvbnRyb2xsZXIgc3RhdHVzIGlzIHNkcmFtIGluaXQgZG9uZSx3YWl0IDB4MDEyMTYwMDQgYml0MC0yICE9MA0KK1dhaXQgMC4wMXMNCisNCisvL3RyYWluaW5nDQorLy9iaXQwLTEgYXV0byBlbnRlciBwb3dlcmRvd24gYW5kIHNlbGZyZWZyZXNoLCB0cmFpbmluZyBtdXN0IGNsb3NlIHRoaXMgZnVuY3Rpb24NCisvL2RhdGEuc2V0IDB4MDEyMTYwMzAgJWxvbmcgMHgwMDAwMDAwMCAvL1BXUkNUTCAgIC8vIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorLy9kYXRhLnNldCAweDAxMjFhMGIwICVsb25nIDB4ODEwMDEwOTcgLy9EVENSIC8vb25seSBzZWxlY3QgcmFuazAgZG8gdHJhaW5pbmcgICAgICAgIDB4OTEwMDEwODcgYml0MTPKx7fxtPK/qqO/DQorLy9kYXRhLnNldCAweDAxMjFhMDA0ICVsb25nIDB4ZjAwMQ0KKy8vY2hlY2sgMHgwMTIxYTAxOCBiaXQwPTEgYW5kIGJpdDgtMTE9MTExMQ0KK1dhaXQgMC4wMXMNCisNCitkYXRhLnNldCAweDAxMjE2NDkwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMCAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMTIxNjU0MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzEgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDEyMTY1ZjAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8yICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAxMjE2NmEwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMyAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzE1Nm0uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzE1Nm0uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg0M2M0YTcKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMTU2bS5jbW0KQEAgLTAsMCArMSwyMTAgQEAKKy8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIFpYMjk3NTIxIFByb2plY3QgdU1DVEwyIEREUiBjb250cm9sbGVyIHBhcmFtZXRlciBjb25maWd1cmF0aW9uDQorLy8qIHVNQ1RMMiBSZXYuOiAyLjUwYSANCisvLyogQXV0aG9yOiBDaGVuIEppYW5ob25nDQorLy8qIERlcGFydG1lbnQ6IElQIGRlc2lnbg0KKy8vKiBPcHRpb246IE1lbW9yeSBUeXBlICA9IExQRERSMg0KKy8vKiBPcHRpb246IE1lbW9yeSBGcmVxdWVuY3koTUh6KSAgPSAxNTYNCisvLyogT3B0aW9uOiBNZW1vcnkgU3BhY2UoR2IpICA9IDENCisvLyogT3B0aW9uOiBEUkFNIGRyaXZlIGltcGVkYW5jZShPaG0pICA9IDQwDQorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLy0tLS0tLS0tLS0tLS0tLS0tLS1iZWxvdyBpcyBkZHIgc2V0dGluZy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorLy9kYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4ZmZmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wICAgDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZlMDAwIC8vZGRyIGFsbCByZXNldCBlbmFibGUgIGJpdDYtMTI9MCANCitXYWl0IDAuMDFzICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmU0MDAgLy9yZWxlYXNlIGRkciBhcGIoYml0MTApDQorV2FpdCAwLjAxcw0KKw0KKy8vRERSIHRvcCBjbG9jayBzZWxlY3QgdG9wIGNsayAxNTZNLCBiaXQwLTEsIDA9MTU2LCAxPTIwMCwgMj0xMDQsIDM9NzgNCisvLzA6IHRvcCBjbGs9MTU2TSwgICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTMxMk0NCisvLzE6IHRvcCBjbGs9MjAwTSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9NDAwTQ0KKy8vMjogdG9wIGNsaz0xMDRNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0yMDhNDQorLy8zOiB0b3AgY2xrPTc4TSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MTU2TQ0KK2RhdGEuc2V0IDB4MDEzMDYwNTAgJWxvbmcgMHgwMDAwMDAwMyAgLy+31sa1yejWw6OsttTTptDo0qrQ3rjEwvANCisNCisvL3BoeSByZWdpc3RlciBpbml0ICANCitkYXRhLnNldCAweDAwMTU0MDA0ICVsb25nIDB4MDAwMDAwMDcgIC8vVkFMVUVfUEhZUkVHMDEgICAvIFJlc2VydmVkOlJXOjI6Njo9MHgxLCBQSFlfTU9ERTpSVzowOjI6PTB4MihMUEREUjI6MHgzLExQRERSMzoweDIpDQorZGF0YS5zZXQgMHgwMDE1NDAyYyAlbG9uZyAweDAwMDAwMDgwICAvL1ZBTFVFX1BIWVJFRzBCICAgLyBSTDpSVzo0OjQ6PTB4OA0KK2RhdGEuc2V0IDB4MDAxNTQwMzAgJWxvbmcgMHgwMDAwMDAwNCAgLy9WQUxVRV9QSFlSRUcwQyAgIC8gV0w6Ulc6MDo0Oj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0M2IwICVsb25nIDB4MDAwMDAwMjAgIC8vVkFMVUVfUEhZUkVHRUMgICAvIGZiZGl2Wzc6MF09MHgyMA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxYSAgLy9WQUxVRV9QSFlSRUdFRCAgIC8gUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbHBkOlJXOjE6MTo9MHgxLCBmYmRpdls4XTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTQzYjggJWxvbmcgMHgwMDAwMDA0MiAgLy9WQUxVRV9QSFlSRUdFRSAgIC8gcHJlZGl2WzQ6MF06Ulc6MDo1Oj0weDIscG9zdGRpdlsyOjBdOlJXOjU6Mzo9MHgyDQorDQorLy9JbnRlcm5hbCBWUkVGIGdlbmVyYXRpb24oZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MjhjICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQTMgICAvIENoYW5uZWwgQS9CIGhpdGggOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCitkYXRhLnNldCAweDAwMTU0MmI4ICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQUUgICAvIENoYW5uZWwgQS9CIGxvdyAgOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCisNCisvL0RyaXZlIHN0cmVuZ3RoKGRlZnVhbHQpDQorZGF0YS5zZXQgMHgwMDE1NDA0NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzExICAgLyBDTUQgZHJpdmUgc3RyZW5ndGg6IGNtZF9ucmNvbXBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNTggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxNiAgIC8gQ0sgIGRyaXZlIHN0cmVuZ3RoOiBja19ucmNvbXAgWzQ6MF06Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTkgICAvIENLICBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA2OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzFBICAgLyBDTUQgcHVsbF91cCAgIGRyaXZlIHN0cmVuZ3RoKERTKTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMCAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMSAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwYjggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRSAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYmMgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRiAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMCAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGM0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMzEgICAvIEFfRFE4fkFfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBmOCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNFICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwZmMgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUczRiAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGENCisNCitkYXRhLnNldCAweDAwMTU0MTAwICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDAgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTA0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDEgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTM4ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEUgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTNjICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEYgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0MTQwICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTAgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE0NCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzUxICAgLyBCX0RROH5CX0RRMTUgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxNzggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc1RSAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMmEgIC8vVkFMVUVfUEhZUkVHNUYgICAvIEJfRFE4fkJfRFExNSBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKw0KKy8vY29udHJvbGxlciByZWdpc3RlciBpbml0DQorZGF0YS5zZXQgMHgwMDE1MDAwMCAlbG9uZyAweDAxMDQwMDA0ICAgICAvL1ZBTFVFX01TVFIgICAgICAgIC8gZGV2aWNlX2NvbmZpZzpSVzozMDoyOj0weDAgZnJlcXVlbmN5X21vZGU6Ulc6Mjk6MTo9MHgwIGFjdGl2ZV9yYW5rczpSVzoyNDo0Oj0weDMgYnVyc3RfcmR3cjpSVzoxNjo0Oj0weDQgZGxsX29mZl9tb2RlOlJXOjE1OjE6PTB4MCBkYXRhX2J1c193aWR0aDpSVzoxMjoyOj0weDAgZ2VhcmRvd25fbW9kZTpSVzoxMToxOj0weDAgZW5fMnRfdGltaW5nX21vZGU6Ulc6MTA6MTo9MHgwIGJ1cnN0Y2hvcDpSVzo5OjE6PTB4MCBidXJzdF9tb2RlOlJXOjg6MTo9MHgwIGxwZGRyNDpSVzo1OjE6PTB4MCBkZHI0OlJXOjQ6MTo9MHgwIGxwZGRyMzpSVzozOjE6PTB4MCBscGRkcjI6Ulc6MjoxOj0weDEgbW9iaWxlOlJXOjE6MTo9MHgwIGRkcjM6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDEwICVsb25nIDB4MDAwMDAwMzAgICAgIC8vVkFMVUVfTVJDVFJMMCAgICAgLyBtcl93cjpSVzozMToxOj0weDAgbXJfYWRkcjpSVzoxMjo0Oj0weDAgbXJfcmFuazpSVzo0OjQ6PTB4MyBzd19pbml0X2ludDpSVzozOjE6PTB4MCBwZGFfZW46Ulc6MjoxOj0weDAgbXByX2VuOlJXOjE6MTo9MHgwIG1yX3R5cGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfTVJDVFJMMSAgICAgL21yX2RhdGE6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAyMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RFUkFURUVOICAgIC9yY19kZXJhdGVfdmFsdWU6Ulc6ODoyOj0weDAgZGVyYXRlX2J5dGU6Ulc6NDo0Oj0weDAgZGVyYXRlX3ZhbHVlOlJXOjE6MTo9MHgwIGRlcmF0ZV9lbmFibGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDI0ICVsb25nIDB4MDA4MDAwMDAgICAgIC8vVkFMVUVfREVSQVRFSU5UICAgL21yNF9yZWFkX2ludGVydmFsOlJXOjA6MzI6PTB4ODAwMDAwDQorDQorZGF0YS5zZXQgMHgwMDE1MDAzMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BXUkNUTCAgICAgIC8gc3RheV9pbl9zZWxmcmVmOlJXOjY6MTo9MHgwIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDAzNCAlbG9uZyAweDAwMDUyMDAyICAgICAvL1ZBTFVFX1BXUlRNRyAgICAgIC8gc2VsZnJlZl90b194MzI6Ulc6MTY6ODo9MHg1IGRlZXBwb3dlcmRvd25fdG9feDEwMjQ6Ulc6ODo4Oj0weDIwIHBvd2VyZG93bl90b194MzI6Ulc6MDo1Oj0weDINCitkYXRhLnNldCAweDAwMTUwMDM4ICVsb25nIDB4MDAwNDAwMDMgICAgIC8vVkFMVUVfSFdMUENUTCAgICAgLyBod19scF9pZGxlX3gzMjpSVzoxNjoxMjo9MHg0IGh3X2xwX2V4aXRfaWRsZV9lbjpSVzoxOjE6PTB4MSBod19scF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwNTAgJWxvbmcgMHgwMDIxMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMCAgICAvIHJlZnJlc2hfbWFyZ2luOlJXOjIwOjQ6PTB4MiByZWZyZXNoX3RvX3gzMjpSVzoxMjo1Oj0weDEwIHJlZnJlc2hfYnVyc3Q6Ulc6NDo1Oj0weDAgcGVyX2JhbmtfcmVmcmVzaDpSVzoyOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMSAgICAvIHJlZnJlc2hfdGltZXIxX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDU4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDIgICAgLyByZWZyZXNoX3RpbWVyM19zdGFydF92YWx1ZV94MzI6Ulc6MTY6MTI6PTB4MCByZWZyZXNoX3RpbWVyMl9zdGFydF92YWx1ZV94MzI6Ulc6MDoxMjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA2MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwzICAgIC8gcmVmcmVzaF9tb2RlOlJXOjQ6Mzo9MHgwIHJlZnJlc2hfdXBkYXRlX2xldmVsOlJXOjE6MTo9MHgwIGRpc19hdXRvX3JlZnJlc2g6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDY0ICVsb25nIDB4MDAxMzAwMGEgICAgIC8vVkFMVUVfUkZTSFRNRyAgICAgLyB0X3JmY19ub21feDMyKHRyZWZpKTpSVzoxNjoxMjo9MHgxMyBscGRkcjNfdHJlZmJ3X2VuOlJXOjE1OjE6PTB4MCB0X3JmY19taW46Ulc6MDo5Oj0weGENCitkYXRhLnNldCAweDAwMTUwMGQwICVsb25nIDB4MDAxMDAwMDEgICAgIC8vVkFMVUVfSU5JVDAgICAgICAgLyBza2lwX2RyYW1faW5pdDpSVzozMToyOj0weDAgcG9zdF9ja2VfeDEwMjQ6Ulc6MTY6MTA6PTB4MTAgcHJlX2NrZV94MTAyNDpSVzowOjExOj0weDENCitkYXRhLnNldCAweDAwMTUwMGQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfSU5JVDEgICAgICAgLyBkcmFtX3JzdG5feDEwMjQ6Ulc6MTY6ODo9MHgwIGZpbmFsX3dhaXRfeDMyOlJXOjg6Nzo9MHgwIHByZV9vY2RfeDMyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDBkOCAlbG9uZyAweDAwMDAwMjA1ICAgICAvL1ZBTFVFX0lOSVQyICAgICAgIC8gaWRsZV9hZnRlcl9yZXNldF94MzI6Ulc6ODo4Oj0weDIgbWluX3N0YWJsZV9jbG9ja194MTpSVzowOjQ6PTB4NQ0KKy8vTVIyPVJML1dMo6wxo7pSTDMvV0wxo6wyo7pSTDQvV0wyo6wzo7pSTDo1L1dMMqOsNKO6Ukw2L1dMMzqjrDWjulJMNy9XTDSjrDajulJMOC9XTDQNCitkYXRhLnNldCAweDAwMTUwMGRjICVsb25nIDB4MDAyMzAwMDYgICAgIC8vVkFMVUVfSU5JVDMgICAgICAgLyBtcjpSVzoxNjoxNjo9MHgyMyBlbXI6Ulc6MDoxNjo9MHg2DQorLy9iaXQxNi0zMaOsTFBERFIyIE1SMyB2YWx1ZaOsxve8/kRTxKzIz8rHNDBvaG2jrKOoMT0zNC4zo6wyPTQwLDM9NDgsND02MCw2PTgwo6kNCitkYXRhLnNldCAweDAwMTUwMGUwICVsb25nIDB4MDAwMjAwMDAgICAgIC8vVkFMVUVfSU5JVDQgICAgICAgLyBlbXIyOlJXOjE2OjE2Oj0weDIgZW1yMzpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGU0ICVsb25nIDB4MDAwMzAwMDEgICAgIC8vVkFMVUVfSU5JVDUgICAgICAgLyBkZXZfenFpbml0X3gzMjpSVzoxNjo4Oj0weDMgbWF4X2F1dG9faW5pdF94MTAyNDpSVzowOjEwOj0weDINCitkYXRhLnNldCAweDAwMTUwMGY0ICVsb25nIDB4MDAwMDA2NmYgICAgIC8vVkFMVUVfUkFOS0NUTCAgICAgLyBkaWZmX3Jhbmtfd3JfZ2FwOlJXOjg6NDo9MHg2IGRpZmZfcmFua19yZF9nYXA6Ulc6NDo0Oj0weDYgbWF4X3JhbmtfcmQ6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMTAwICVsb25nIDB4MDUwNDA1MDMgICAgIC8vVkFMVUVfRFJBTVRNRzAgICAgLyB3cjJwcmU6Ulc6MjQ6Njo9MHg1IHRfZmF3OlJXOjE2OjY6PTB4NCB0X3Jhc19tYXg6Ulc6ODo3Oj0weDUgdF9yYXNfbWluOlJXOjA6Njo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDEwNCAlbG9uZyAweDAwMDEwMjA1ICAgICAvL1ZBTFVFX0RSQU1UTUcxICAgIC8gdF94cDpSVzoxNjo1Oj0weDEgcmQycHJlOlJXOjg6NTo9MHgyIHRfcmM6Ulc6MDo2Oj0weDUNCisvL1JMPWJpdDE2LTIxo6wxo7pSTD0yo6wyo7pSTD00o6wzo7pSTD02o6w0o7pSPTijrFdMPWJpdDI0LTI5o6wxo7pXTD0yo6wyo7pXTD00DQorLy/V4sDvtbzWwk1SMrXExeTWw6OoMHgwMTIxNjBkY6OpsrvE3NGh1PG6rNPQxubK/bXE1rU/DQorZGF0YS5zZXQgMHgwMDE1MDEwOCAlbG9uZyAweDAyMDQwNTA2ICAgICAvL1ZBTFVFX0RSQU1UTUcyICAgIC8gd3JpdGVfbGF0ZW5jeTpSVzoyNDo2Oj0weDIgcmVhZF9sYXRlbmN5OlJXOjE2OjY6PTB4NCByZDJ3cjpSVzo4OjY6PTB4NSB3cjJyZDpSVzowOjY6PTB4NQ0KK2RhdGEuc2V0IDB4MDAxNTAxMGMgJWxvbmcgMHgwMDUwMTAwMCAgICAgLy9WQUxVRV9EUkFNVE1HMyAgICAvIHRfbXJ3OlJXOjIwOjEwOj0weDUgdF9tcmQ6Ulc6MTI6Njo9MHgxIHRfbW9kOlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxMTAgJWxvbmcgMHgwMjAxMDEwMyAgICAgLy9WQUxVRV9EUkFNVE1HNCAgICAvIHRfcmNkOlJXOjI0OjU6PTB4MiB0X2NjZDpSVzoxNjo0Oj0weDEgdF9ycmQ6Ulc6ODo0Oj0weDEgdF9ycDpSVzowOjU6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxMTQgJWxvbmcgMHgwMTAxMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNSAgICAvIHRfY2tzcng6Ulc6MjQ6NDo9MHgxIHRfY2tzcmU6Ulc6MTY6NDo9MHgxIHRfY2tlc3I6Ulc6ODo2Oj0weDIgdF9ja2U6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTE4ICVsb25nIDB4MDIwMjAwMDIgICAgIC8vVkFMVUVfRFJBTVRNRzYgICAgLyB0X2NrZHBkZTpSVzoyNDo0Oj0weDIgdF9ja2RwZHg6Ulc6MTY6NDo9MHgyIHRfY2tjc3g6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTFjICVsb25nIDB4MDAwMDAyMDIgICAgIC8vVkFMVUVfRFJBTVRNRzcgICAgLyB0X2NrcGRlOlJXOjg6NDo9MHgyIHRfY2twZHg6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTM4ICVsb25nIDB4MDAwMDAwMGIgICAgIC8vVkFMVUVfRFJBTVRNRzE0ICAgLyB0X3hzcjpSVzowOjEyOj0weGINCisvL2JpdDMwPTEgRGlzYWJsZSBpc3N1aW5nIG9mIFpRQ0wvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kIGF0IFNlbGYtUmVmcmVzaC9TUi1Qb3dlcmRvd24gZXhpdCCjrDc1MjDX7r+qyrzF5NbDzqowo6y1vNbC19S2r9fUy6LQwrmmxNzNy7P2yrHR08qxuty086Osc2Rpb7bByv2+3bP2tO0NCitkYXRhLnNldCAweDAwMTUwMTgwICVsb25nIDB4NDAxZDAwMDggICAgIC8vVkFMVUVfWlFDVEwwICAgICAgLyBkaXNfYXV0b196cTpSVzozMToxOj0weDAgZGlzX3NyeF96cWNsOlJXOjMwOjE6PTB4MSB6cV9yZXNpc3Rvcl9zaGFyZWQ6Ulc6Mjk6MTo9MHgwIGRpc19tcHNteF96cWNsOlJXOjI4OjE6PTB4MCB0X3pxX2xvbmdfbm9wOlJXOjE2OjEwOj0weDFkIHRfenFfc2hvcnRfbm9wOlJXOjA6MTA6PTB4OA0KK2RhdGEuc2V0IDB4MDAxNTAxODQgJWxvbmcgMHgwMDQwMDEwMCAgICAgLy9WQUxVRV9aUUNUTDEgICAgICAvIHRfenFfcmVzZXRfbm9wOlJXOjIwOjEwOj0weDQgdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNDpSVzowOjIwOj0weDEwMA0KK2RhdGEuc2V0IDB4MDAxNTAxODggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9aUUNUTDIgICAgICAvIHpxX3Jlc2V0OlJXOjA6MTo9MHgwDQorLy9kZmlfdF9yZGRhdGFfZW49MyzWrsewNzUyMMnPyeizyTK74bW81sK2wW1ytsG07Q0KK2RhdGEuc2V0IDB4MDAxNTAxOTAgJWxvbmcgMHgwNDAzMDAwMSAgICAgLy9WQUxVRV9ERklUTUcwICAgICAvIGRmaV90X2N0cmxfZGVsYXk6Ulc6MjQ6NTo9MHg0IGRmaV9yZGRhdGFfdXNlX3NkcjpSVzoyMzoxOj0weDAgZGZpX3RfcmRkYXRhX2VuOlJXOjE2OjY6PTB4MyBkZmlfd3JkYXRhX3VzZV9zZHI6Ulc6MTU6MTo9MHgwIGRmaV90cGh5X3dyZGF0YTpSVzo4OjY6PTB4MCBkZmlfdHBoeV93cmxhdDpSVzowOjY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxOTQgJWxvbmcgMHgwMDAyMDQwNCAgICAgLy9WQUxVRV9ERklUTUcxICAgICAvIGRmaV90X2NtZF9sYXQ6Ulc6Mjg6NDo9MHgwIGRmaV90X3BhcmluX2xhdDpSVzoyNDoyOj0weDAgZGZpX3Rfd3JkYXRhX2RlbGF5OlJXOjE2OjU6PTB4MiBkZmlfdF9kcmFtX2Nsa19kaXNhYmxlOlJXOjg6NDo9MHg0IGRmaV90X2RyYW1fY2xrX2VuYWJsZTpSVzowOjQ6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTAxOTggJWxvbmcgMHgwOTAwMTExMSAgICAgLy9WQUxVRV9ERklMUENGRzAgICAvIGRmaV90bHBfcmVzcDpSVzoyNDo0Oj0weDkgZGZpX2xwX3dha2V1cF9kcGQ6Ulc6MjA6NDo9MHgwIGRmaV9scF9lbl9kcGQ6Ulc6MTY6MTo9MHgwIGRmaV9scF93YWtldXBfc3I6Ulc6MTI6NDo9MHgxIGRmaV9scF9lbl9zcjpSVzo4OjE6PTB4MSBkZmlfbHBfd2FrZXVwX3BkOlJXOjQ6NDo9MHgxIGRmaV9scF9lbl9wZDpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxYTAgJWxvbmcgMHg4MDQwMDAwMyAgICAgLy9WQUxVRV9ERklVUEQwICAgICAvIGRpc19hdXRvX2N0cmx1cGQ6Ulc6MzE6MTo9MHgxIGRmaV90X2N0cmx1cF9tYXg6Ulc6MTY6MTA6PTB4NDAgZGZpX3RfY3RybHVwX21pbjpSVzowOjEwOj0weDMNCitkYXRhLnNldCAweDAwMTUwMWE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJVVBEMSAgICAgLyBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNDpSVzoxNjo4Oj0weDAgZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQ6Ulc6MDo4Oj0weDANCitkYXRhLnNldCAweDAwMTUwMWE4ICVsb25nIDB4ODAxMDAwMTAgICAgIC8vVkFMVUVfREZJVVBEMiAgICAgLyBkZmlfcGh5dXBkX2VuOlJXOjMxOjE6PTB4MSBkZmlfcGh5dXBkX3R5cGUxOlJXOjE2OjEyOj0weDEwIGRmaV9waHl1cGRfdHlwZTA6Ulc6MDoxMjo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklNSVNDICAgICAvIGRmaV9kYXRhX2NzX3BvbGFyaXR5OlJXOjI6MTo9MHgwIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMDAgJWxvbmcgMHgwMDAwMDAxZiAgICAgLy9WQUxVRV9BRERSTUFQMCAgICAvIGFkZHJtYXBfZGNoX2JpdDA6Ulc6MTY6NTo9MHgwIGFkZHJtYXBfY3NfYml0MTpSVzo4OjU6PTB4MCBhZGRybWFwX2NzX2JpdDA6Ulc6MDo1Oj0weDFmDQorZGF0YS5zZXQgMHgwMDE1MDIwNCAlbG9uZyAweDAwMDcwNzA3ICAgICAvL1ZBTFVFX0FERFJNQVAxICAgIC8gYWRkcm1hcF9iYW5rX2IyOlJXOjE2OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjE6Ulc6ODo0Oj0weDcgYWRkcm1hcF9iYW5rX2IwOlJXOjA6NDo9MHg3DQorZGF0YS5zZXQgMHgwMDE1MDIwOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAyICAgIC8gYWRkcm1hcF9jb2xfYjU6Ulc6MjQ6NDo9MHgwIGFkZHJtYXBfY29sX2I0OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iMzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iMjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMGMgJWxvbmcgMHgwZjAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMyAgICAvIGFkZHJtYXBfY29sX2I5OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX2NvbF9iODpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjc6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjY6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjEwICVsb25nIDB4MDAwMDBmMGYgICAgIC8vVkFMVUVfQUREUk1BUDQgICAgLyBhZGRybWFwX2NvbF9iMTE6Ulc6ODo0Oj0weGYgYWRkcm1hcF9jb2xfYjEwOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDIxNCAlbG9uZyAweDA2MDYwNjA2ICAgICAvL1ZBTFVFX0FERFJNQVA1ICAgIC8gYWRkcm1hcF9yb3dfYjExOlJXOjI0OjQ6PTB4NiBhZGRybWFwX3Jvd19iMl8xMDpSVzoxNjo0Oj0weDYgYWRkcm1hcF9yb3dfYjE6Ulc6ODo0Oj0weDYgYWRkcm1hcF9yb3dfYjA6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMjE4ICVsb25nIDB4MGYwZjBmMDYgICAgIC8vVkFMVUVfQUREUk1BUDYgICAgLyBhZGRybWFwX3Jvd19iMTU6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfcm93X2IxNDpSVzoxNjo0Oj0weGYgYWRkcm1hcF9yb3dfYjEzOlJXOjg6NDo9MHhmIGFkZHJtYXBfcm93X2IxMjpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyNDAgJWxvbmcgMHgwNDAwMDQwMCAgICAgLy9WQUxVRV9PRFRDRkcgICAgICAvIHdyX29kdF9ob2xkOlJXOjI0OjQ6PTB4NCB3cl9vZHRfZGVsYXk6Ulc6MTY6NDo9MHgwIHJkX29kdF9ob2xkOlJXOjg6NDo9MHg0IHJkX29kdF9kZWxheTpSVzoyOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9PRFRNQVAgICAgICAvIHJhbmszX3JkX29kdDpSVzoyODo0Oj0weDAgcmFuazNfd3Jfb2R0OlJXOjI0OjQ6PTB4MCByYW5rMl9yZF9vZHQ6Ulc6MjA6NDo9MHgwIHJhbmsyX3dyX29kdDpSVzoxNjo0Oj0weDAgcmFuazFfcmRfb2R0OlJXOjEyOjQ6PTB4MCByYW5rMV93cl9vZHQ6Ulc6ODo0Oj0weDAgcmFuazBfcmRfb2R0OlJXOjQ6NDo9MHgwIHJhbmswX3dyX29kdDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNTAgJWxvbmcgMHgwMDAwMTgwNSAgICAgLy9WQUxVRV9TQ0hFRCAgICAgICAvIHJkd3JfaWRsZV9nYXA6Ulc6MjQ6Nzo9MHgwIGdvMmNyaXRpY2FsX2h5c3RlcmVzaXM6Ulc6MTY6ODo9MHgwIGxwcl9udW1fZW50cmllczpSVzo4OjY6PTB4MTggcGFnZWNsb3NlOlJXOjI6MTo9MHgxIHByZWZlcl93cml0ZTpSVzoxOjE6PTB4MCBmb3JjZV9sb3dfcHJpX246Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMjU0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfU0NIRUQxICAgICAgLyBwYWdlY2xvc2VfdGltZXI6Ulc6MDo4Oj0weDANCisNCitkYXRhLnNldCAweDAwMTUwMzAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMCAgICAgICAgLyBkaXNfY29sbGlzaW9uX3BhZ2Vfb3B0OlJXOjQ6MTo9MHgwIGRpc19hY3RfYnlwYXNzOlJXOjI6MTo9MHgwIGRpc19yZF9ieXBhc3M6Ulc6MToxOj0weDAgZGlzX3djOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDMwNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCRzEgICAgICAgIC8gZGlzX2RxOlJXOjE6MTo9MHgwIGRpc19oaWc6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzBjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHQ01EICAgICAgLyBjdHJsdXBkOlJXU0M6NToxOj0weDAgenFfY2FsaWJfc2hvcnQ6UldTQzo0OjE6PTB4MCByYW5rM19yZWZyZXNoOlJXU0M6MzoxOj0weDAgcmFuazJfcmVmcmVzaDpSV1NDOjI6MTo9MHgwIHJhbmsxX3JlZnJlc2g6UldTQzoxOjE6PTB4MCByYW5rMF9yZWZyZXNoOlJXU0M6MDoxOj0weDANCisNCitkYXRhLnNldCAweDAwMTUwNDAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENDRkcgICAgICAgLyBibF9leHBfbW9kZTpSVzo4OjE6PTB4MCBwYWdlbWF0Y2hfbGltaXQ6Ulc6MToxOj0weDAgZ28yY3JpdGljYWxfZW46Ulc6MDoxOj0weDANCisgICAgDQorLy9kZHJfcHJvcml0eV9jb25maWcNCisvL3BvcnQgcmVhZCBzdGF0aWMgcHJpb3JpdHkgYml0MC05LCBiaXQwLTQgdGltZW91dCwgYml0NS05IHByb3JpdHkNCitkYXRhLnNldCAweDAwMTUwNDA0ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1JfMCAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjQgJWxvbmcgMHgwMDAwMTAyMCAgICAgLy9WQUxVRV9QQ0ZHUl8xICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MjANCitkYXRhLnNldCAweDAwMTUwNTY0ICVsb25nIDB4MDAwMDEwMDAgICAgIC8vVkFMVUVfUENGR1JfMiAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDANCitkYXRhLnNldCAweDAwMTUwNjE0ICVsb25nIDB4MDAwMDEwMDQgICAgIC8vVkFMVUVfUENGR1JfMyAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDQNCisvL3BvcnQgd3JpdGUgc3RhdGljIHByaW9yaXR5IGJpdDAtOQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDggJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHV18wICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjggJWxvbmcgMHgwMDAwMTBmZiAgICAgLy9WQUxVRV9QQ0ZHV18xICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weGZmDQorZGF0YS5zZXQgMHgwMDE1MDU2OCAlbG9uZyAweDAwMDAxMDNmICAgICAvL1ZBTFVFX1BDRkdXXzIgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2YNCitkYXRhLnNldCAweDAwMTUwNjE4ICVsb25nIDB4MDAwMDEwNWYgICAgIC8vVkFMVUVfUENGR1dfMyAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg1Zg0KKy8vcG9ydCByZWFkIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDk0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMCAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDU0NCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzEgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8yICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNmE0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMyAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorLy9wb3J0IHdyaXRlIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDljICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzAgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMSAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8yIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNmFjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzMgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KKy8vdnByIHRpbWVvdXQsIHJlZ2lvbjIgaXMgcmVkIHF1ZXVlDQorZGF0YS5zZXQgMHgwMDE1MDQ5OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzAgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTQ4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMSAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1ZjggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8yICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZhOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzMgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisvL3ZwdyB0aW1lb3V0DQorZGF0YS5zZXQgMHgwMDE1MDRhMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8wIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTUwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzEgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMiAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8zIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisvL2luIENBTSBzZXQNCitkYXRhLnNldCAweDAwMTUwMjVjICVsb25nIDB4MGYwMDAwMDEgICAgIC8vVkFMVUVfUEVSRkhQUjEgICAgLyBocHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBocHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDENCitkYXRhLnNldCAweDAwMTUwMjY0ICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRkxQUjEgICAgLyBscHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBscHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI2YyAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZXUjEgICAgIC8gd194YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIHdfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI3NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFIxICAgIC8gdnByX3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI3OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFcxICAgIC8gdnB3X3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorLy9wb3J0IGV4dGVybiBzdGF0aWMgcHJpb3JpdHkJDQorLy9kYXRhLnNldCAweDAwMTNkMDM0ICVsb25nIDB4ZjBmMDAwMDAgLy9wb3J0MCwxIHJxb3M9MChMUFIpOyBwb3J0MiwzIHJxb3M9RihIUFIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgYWxsIHJlZ2lzdGVyIGNvbmZpZ2VyIGRvbmUgaW4gaGFyZHdhcmUNCitXYWl0IDAuMDFzDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vY3Ryb2xsZXIgYW5kIGlubm8gcGh5IHJlZ2lzdGVycyBjb25maWdlciBkb25lDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZmZjMCAvL3JlbGVhc2UgZGRyIGN0bChiaXQxMSkgYW5kIGF4aV9zbiByZXNldChiaXQ2LTkpICBhbmQgcGh5IHJlc2V0KGJpdDEyKSAgLy/J6NbDz7XNs7zEtObG99a1DQorV2FpdCAwLjAxcw0KKw0KKy8vc3cgY29uZmlnIGRvbmUNCitkYXRhLnNldCAweDAwMTUwMzIwICVsb25nIDB4MDAwMDAwMDAgLy9TV0NUTCAgICAgIC8vIHN3X2RvbmU6Ulc6MDoxOj0weDANCisvL2NoZWNrIHBoeSBhdXRvIGluaXQgZG9uZSwgd2FpdCAweDAwMTUwMzI0IGJpdDAgPTANCitXYWl0IDAuMDFzDQorDQorLy9wb3dlciBvbiBQSFkgUExMIA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxOCAvL1BIWVJFR0VELFBMTENMS09VVEVOOlJXOjQ6MTo9MHgxLFJlc2VydmVkOlJXOjI6Mjo9MHgyLCBwbGxfcGRfZW46Ulc6MToxOj0weDAsIGZiZGl2WzhdOlJXOjA6MTo9MHgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IFBIWSBQTEwgIGxvY2ssUEhZUkVHRjhbMF1QbGwgbG9jayBpbmRpY2F0ZSBzaWduYWwNCisNCitXYWl0IDAuMDFzDQorDQorLy9QSFkgRExMIGluaXQgc3RhcnQsIGZhbGwgZWRnZSB0cmlnZ2VyDQorZGF0YS5zZXQgMHgwMDE1NDE3YyAlbG9uZyAweDAwMDAwMDBhIC8vUEhZUkVHNUYsICBQSFkgaW5pdCBzdGFydDo1OjE6PTB4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBkbGwgbG9jaywgcGh5IGluaXQgZG9uZSwgUEhZUkVHRjhbMV1QaHkgaW5pdCBjb21wbGV0ZSBzaWduYWwNCitXYWl0IDAuMDFzDQorDQorLy9lbmFibGUgY29udHJvbGxlciBkZmlfaW5pdF9jb21wbGV0ZV9lbiB0byBzdGFydCBzZHJhbSBpbml0LCB0aGVuIHdpbGwgc2VuZCBkcmFtIGluaXQgY21kDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAxIC8vREZJTUlTQyAgICAvLyBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDEJICAgIMrHt/HIpbX0o6y78tXfttTTptDeuMQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vY2hlY2sgY29udHJvbGxlciBzdGF0dXMgaXMgc2RyYW0gaW5pdCBkb25lLHdhaXQgMHgwMDE1MDAwNCBiaXQwLTIgIT0wDQorV2FpdCAwLjAxcw0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAvL2RmaW1pc2NbMF0gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RhcnQNCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDEgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0xLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisvL3dhaXQgdHJhaW5pbmcgZG9uZQ0KK1dhaXQgMC4xcw0KKy8vcGh5IERRUyBnYXRlIHRyYWluaW5nIHN0b3ANCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDAgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0wLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisNCisvL2VuYWJsZSBwb3J0X24NCitkYXRhLnNldCAweDAwMTUwNDkwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMCAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDU0MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzEgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8yICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNmEwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMyAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzIwOG0uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzIwOG0uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAyYmI1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMjA4bS5jbW0KQEAgLTAsMCArMSwyMTAgQEAKKy8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIFpYMjk3NTIxIFByb2plY3QgdU1DVEwyIEREUiBjb250cm9sbGVyIHBhcmFtZXRlciBjb25maWd1cmF0aW9uDQorLy8qIHVNQ1RMMiBSZXYuOiAyLjUwYSANCisvLyogQXV0aG9yOiBDaGVuIEppYW5ob25nDQorLy8qIERlcGFydG1lbnQ6IElQIGRlc2lnbg0KKy8vKiBPcHRpb246IE1lbW9yeSBUeXBlICA9IExQRERSMg0KKy8vKiBPcHRpb246IE1lbW9yeSBGcmVxdWVuY3koTUh6KSAgPSAyMDgNCisvLyogT3B0aW9uOiBNZW1vcnkgU3BhY2UoR2IpICA9IDENCisvLyogT3B0aW9uOiBEUkFNIGRyaXZlIGltcGVkYW5jZShPaG0pICA9IDQwDQorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLy0tLS0tLS0tLS0tLS0tLS0tLS1iZWxvdyBpcyBkZHIgc2V0dGluZy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorLy9kYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4ZmZmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wICAgDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZlMDAwIC8vZGRyIGFsbCByZXNldCBlbmFibGUgIGJpdDYtMTI9MCANCitXYWl0IDAuMDFzICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmU0MDAgLy9yZWxlYXNlIGRkciBhcGIoYml0MTApDQorV2FpdCAwLjAxcw0KKw0KKy8vRERSIHRvcCBjbG9jayBzZWxlY3QgdG9wIGNsayAxNTZNLCBiaXQwLTEsIDA9MTU2LCAxPTIwMCwgMj0xMDQsIDM9NzgNCisvLzA6IHRvcCBjbGs9MTU2TSwgICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTMxMk0NCisvLzE6IHRvcCBjbGs9MjAwTSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9NDAwTQ0KKy8vMjogdG9wIGNsaz0xMDRNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0yMDhNDQorLy8zOiB0b3AgY2xrPTc4TSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MTU2TQ0KK2RhdGEuc2V0IDB4MDEzMDYwNTAgJWxvbmcgMHgwMDAwMDAwMiAgLy+31sa1yejWw6OsttTTptDo0qrQ3rjEwvANCisNCisvL3BoeSByZWdpc3RlciBpbml0ICANCitkYXRhLnNldCAweDAwMTU0MDA0ICVsb25nIDB4MDAwMDAwMDcgIC8vVkFMVUVfUEhZUkVHMDEgICAvIFJlc2VydmVkOlJXOjI6Njo9MHgxLCBQSFlfTU9ERTpSVzowOjI6PTB4MihMUEREUjI6MHgzLExQRERSMzoweDIpDQorZGF0YS5zZXQgMHgwMDE1NDAyYyAlbG9uZyAweDAwMDAwMDgwICAvL1ZBTFVFX1BIWVJFRzBCICAgLyBSTDpSVzo0OjQ6PTB4OA0KK2RhdGEuc2V0IDB4MDAxNTQwMzAgJWxvbmcgMHgwMDAwMDAwNCAgLy9WQUxVRV9QSFlSRUcwQyAgIC8gV0w6Ulc6MDo0Oj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0M2IwICVsb25nIDB4MDAwMDAwMTAgIC8vVkFMVUVfUEhZUkVHRUMgICAvIGZiZGl2Wzc6MF09MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxYSAgLy9WQUxVRV9QSFlSRUdFRCAgIC8gUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbHBkOlJXOjE6MTo9MHgxLCBmYmRpdls4XTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTQzYjggJWxvbmcgMHgwMDAwMDAyMiAgLy9WQUxVRV9QSFlSRUdFRSAgIC8gcHJlZGl2WzQ6MF06Ulc6MDo1Oj0weDIscG9zdGRpdlsyOjBdOlJXOjU6Mzo9MHgxDQorDQorLy9JbnRlcm5hbCBWUkVGIGdlbmVyYXRpb24oZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MjhjICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQTMgICAvIENoYW5uZWwgQS9CIGhpdGggOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCitkYXRhLnNldCAweDAwMTU0MmI4ICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQUUgICAvIENoYW5uZWwgQS9CIGxvdyAgOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCisNCisvL0RyaXZlIHN0cmVuZ3RoKGRlZnVhbHQpDQorZGF0YS5zZXQgMHgwMDE1NDA0NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzExICAgLyBDTUQgZHJpdmUgc3RyZW5ndGg6IGNtZF9ucmNvbXBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNTggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxNiAgIC8gQ0sgIGRyaXZlIHN0cmVuZ3RoOiBja19ucmNvbXAgWzQ6MF06Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTkgICAvIENLICBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA2OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzFBICAgLyBDTUQgcHVsbF91cCAgIGRyaXZlIHN0cmVuZ3RoKERTKTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMCAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMSAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwYjggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRSAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYmMgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRiAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMCAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGM0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMzEgICAvIEFfRFE4fkFfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBmOCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNFICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwZmMgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUczRiAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGENCisNCitkYXRhLnNldCAweDAwMTU0MTAwICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDAgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTA0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDEgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTM4ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEUgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTNjICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEYgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0MTQwICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTAgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE0NCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzUxICAgLyBCX0RROH5CX0RRMTUgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxNzggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc1RSAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMmEgIC8vVkFMVUVfUEhZUkVHNUYgICAvIEJfRFE4fkJfRFExNSBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKw0KKy8vY29udHJvbGxlciByZWdpc3RlciBpbml0DQorZGF0YS5zZXQgMHgwMDE1MDAwMCAlbG9uZyAweDAxMDQwMDA0ICAgICAvL1ZBTFVFX01TVFIgICAgICAgIC8gZGV2aWNlX2NvbmZpZzpSVzozMDoyOj0weDAgZnJlcXVlbmN5X21vZGU6Ulc6Mjk6MTo9MHgwIGFjdGl2ZV9yYW5rczpSVzoyNDo0Oj0weDMgYnVyc3RfcmR3cjpSVzoxNjo0Oj0weDQgZGxsX29mZl9tb2RlOlJXOjE1OjE6PTB4MCBkYXRhX2J1c193aWR0aDpSVzoxMjoyOj0weDAgZ2VhcmRvd25fbW9kZTpSVzoxMToxOj0weDAgZW5fMnRfdGltaW5nX21vZGU6Ulc6MTA6MTo9MHgwIGJ1cnN0Y2hvcDpSVzo5OjE6PTB4MCBidXJzdF9tb2RlOlJXOjg6MTo9MHgwIGxwZGRyNDpSVzo1OjE6PTB4MCBkZHI0OlJXOjQ6MTo9MHgwIGxwZGRyMzpSVzozOjE6PTB4MCBscGRkcjI6Ulc6MjoxOj0weDEgbW9iaWxlOlJXOjE6MTo9MHgwIGRkcjM6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDEwICVsb25nIDB4MDAwMDAwMzAgICAgIC8vVkFMVUVfTVJDVFJMMCAgICAgLyBtcl93cjpSVzozMToxOj0weDAgbXJfYWRkcjpSVzoxMjo0Oj0weDAgbXJfcmFuazpSVzo0OjQ6PTB4MyBzd19pbml0X2ludDpSVzozOjE6PTB4MCBwZGFfZW46Ulc6MjoxOj0weDAgbXByX2VuOlJXOjE6MTo9MHgwIG1yX3R5cGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfTVJDVFJMMSAgICAgL21yX2RhdGE6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAyMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RFUkFURUVOICAgIC9yY19kZXJhdGVfdmFsdWU6Ulc6ODoyOj0weDAgZGVyYXRlX2J5dGU6Ulc6NDo0Oj0weDAgZGVyYXRlX3ZhbHVlOlJXOjE6MTo9MHgwIGRlcmF0ZV9lbmFibGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDI0ICVsb25nIDB4MDA4MDAwMDAgICAgIC8vVkFMVUVfREVSQVRFSU5UICAgL21yNF9yZWFkX2ludGVydmFsOlJXOjA6MzI6PTB4ODAwMDAwDQorDQorZGF0YS5zZXQgMHgwMDE1MDAzMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BXUkNUTCAgICAgIC8gc3RheV9pbl9zZWxmcmVmOlJXOjY6MTo9MHgwIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDAzNCAlbG9uZyAweDAwMDUyMDAyICAgICAvL1ZBTFVFX1BXUlRNRyAgICAgIC8gc2VsZnJlZl90b194MzI6Ulc6MTY6ODo9MHg1IGRlZXBwb3dlcmRvd25fdG9feDEwMjQ6Ulc6ODo4Oj0weDIwIHBvd2VyZG93bl90b194MzI6Ulc6MDo1Oj0weDINCitkYXRhLnNldCAweDAwMTUwMDM4ICVsb25nIDB4MDAwNDAwMDMgICAgIC8vVkFMVUVfSFdMUENUTCAgICAgLyBod19scF9pZGxlX3gzMjpSVzoxNjoxMjo9MHg0IGh3X2xwX2V4aXRfaWRsZV9lbjpSVzoxOjE6PTB4MSBod19scF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwNTAgJWxvbmcgMHgwMDIxMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMCAgICAvIHJlZnJlc2hfbWFyZ2luOlJXOjIwOjQ6PTB4MiByZWZyZXNoX3RvX3gzMjpSVzoxMjo1Oj0weDEwIHJlZnJlc2hfYnVyc3Q6Ulc6NDo1Oj0weDAgcGVyX2JhbmtfcmVmcmVzaDpSVzoyOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMSAgICAvIHJlZnJlc2hfdGltZXIxX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDU4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDIgICAgLyByZWZyZXNoX3RpbWVyM19zdGFydF92YWx1ZV94MzI6Ulc6MTY6MTI6PTB4MCByZWZyZXNoX3RpbWVyMl9zdGFydF92YWx1ZV94MzI6Ulc6MDoxMjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA2MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwzICAgIC8gcmVmcmVzaF9tb2RlOlJXOjQ6Mzo9MHgwIHJlZnJlc2hfdXBkYXRlX2xldmVsOlJXOjE6MTo9MHgwIGRpc19hdXRvX3JlZnJlc2g6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDY0ICVsb25nIDB4MDAxOTAwMGUgICAgIC8vVkFMVUVfUkZTSFRNRyAgICAgLyB0X3JmY19ub21feDMyKHRyZWZpKTpSVzoxNjoxMjo9MHgxOSBscGRkcjNfdHJlZmJ3X2VuOlJXOjE1OjE6PTB4MCB0X3JmY19taW46Ulc6MDo5Oj0weGUNCitkYXRhLnNldCAweDAwMTUwMGQwICVsb25nIDB4MDAxNTAwMDEgICAgIC8vVkFMVUVfSU5JVDAgICAgICAgLyBza2lwX2RyYW1faW5pdDpSVzozMToyOj0weDAgcG9zdF9ja2VfeDEwMjQ6Ulc6MTY6MTA6PTB4MTUgcHJlX2NrZV94MTAyNDpSVzowOjExOj0weDENCitkYXRhLnNldCAweDAwMTUwMGQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfSU5JVDEgICAgICAgLyBkcmFtX3JzdG5feDEwMjQ6Ulc6MTY6ODo9MHgwIGZpbmFsX3dhaXRfeDMyOlJXOjg6Nzo9MHgwIHByZV9vY2RfeDMyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDBkOCAlbG9uZyAweDAwMDAwMzA1ICAgICAvL1ZBTFVFX0lOSVQyICAgICAgIC8gaWRsZV9hZnRlcl9yZXNldF94MzI6Ulc6ODo4Oj0weDMgbWluX3N0YWJsZV9jbG9ja194MTpSVzowOjQ6PTB4NQ0KKy8vTVIyPVJML1dMo6wxo7pSTDMvV0wxo6wyo7pSTDQvV0wyo6wzo7pSTDo1L1dMMqOsNKO6Ukw2L1dMMzqjrDWjulJMNy9XTDSjrDajulJMOC9XTDQNCitkYXRhLnNldCAweDAwMTUwMGRjICVsb25nIDB4MDA0MzAwMDYgICAgIC8vVkFMVUVfSU5JVDMgICAgICAgLyBtcjpSVzoxNjoxNjo9MHg0MyBlbXI6Ulc6MDoxNjo9MHg2DQorLy9iaXQxNi0zMaOsTFBERFIyIE1SMyB2YWx1ZaOsxve8/kRTxKzIz8rHNDBvaG2jrKOoMT0zNC4zo6wyPTQwLDM9NDgsND02MCw2PTgwo6kNCitkYXRhLnNldCAweDAwMTUwMGUwICVsb25nIDB4MDAwMjAwMDAgICAgIC8vVkFMVUVfSU5JVDQgICAgICAgLyBlbXIyOlJXOjE2OjE2Oj0weDIgZW1yMzpSVzowOjE2Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGU0ICVsb25nIDB4MDAwNDAwMDIgICAgIC8vVkFMVUVfSU5JVDUgICAgICAgLyBkZXZfenFpbml0X3gzMjpSVzoxNjo4Oj0weDQgbWF4X2F1dG9faW5pdF94MTAyNDpSVzowOjEwOj0weDINCitkYXRhLnNldCAweDAwMTUwMGY0ICVsb25nIDB4MDAwMDA2NmYgICAgIC8vVkFMVUVfUkFOS0NUTCAgICAgLyBkaWZmX3Jhbmtfd3JfZ2FwOlJXOjg6NDo9MHg2IGRpZmZfcmFua19yZF9nYXA6Ulc6NDo0Oj0weDYgbWF4X3JhbmtfcmQ6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMTAwICVsb25nIDB4MDYwNjA3MDQgICAgIC8vVkFMVUVfRFJBTVRNRzAgICAgLyB3cjJwcmU6Ulc6MjQ6Njo9MHg2IHRfZmF3OlJXOjE2OjY6PTB4NiB0X3Jhc19tYXg6Ulc6ODo3Oj0weDcgdF9yYXNfbWluOlJXOjA6Njo9MHg0DQorZGF0YS5zZXQgMHgwMDE1MDEwNCAlbG9uZyAweDAwMDEwMjA3ICAgICAvL1ZBTFVFX0RSQU1UTUcxICAgIC8gdF94cDpSVzoxNjo1Oj0weDEgcmQycHJlOlJXOjg6NTo9MHgyIHRfcmM6Ulc6MDo2Oj0weDcNCisvL1JMPWJpdDE2LTIxo6wxo7pSTD0yo6wyo7pSTD00o6wzo7pSTD02o6w0o7pSPTijrFdMPWJpdDI0LTI5o6wxo7pXTD0yo6wyo7pXTD00DQorLy/V4sDvtbzWwk1SMrXExeTWw6OoMHgwMTIxNjBkY6OpsrvE3NGh1PG6rNPQxubK/bXE1rU/DQorZGF0YS5zZXQgMHgwMDE1MDEwOCAlbG9uZyAweDAyMDQwNjA2ICAgICAvL1ZBTFVFX0RSQU1UTUcyICAgIC8gd3JpdGVfbGF0ZW5jeTpSVzoyNDo2Oj0weDIgcmVhZF9sYXRlbmN5OlJXOjE2OjY6PTB4NCByZDJ3cjpSVzo4OjY6PTB4NiB3cjJyZDpSVzowOjY6PTB4NQ0KK2RhdGEuc2V0IDB4MDAxNTAxMGMgJWxvbmcgMHgwMDUwMTAwMCAgICAgLy9WQUxVRV9EUkFNVE1HMyAgICAvIHRfbXJ3OlJXOjIwOjEwOj0weDUgdF9tcmQ6Ulc6MTI6Njo9MHgxIHRfbW9kOlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxMTAgJWxvbmcgMHgwMjAxMDIwMyAgICAgLy9WQUxVRV9EUkFNVE1HNCAgICAvIHRfcmNkOlJXOjI0OjU6PTB4MiB0X2NjZDpSVzoxNjo0Oj0weDEgdF9ycmQ6Ulc6ODo0Oj0weDIgdF9ycDpSVzowOjU6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxMTQgJWxvbmcgMHgwMTAxMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNSAgICAvIHRfY2tzcng6Ulc6MjQ6NDo9MHgxIHRfY2tzcmU6Ulc6MTY6NDo9MHgxIHRfY2tlc3I6Ulc6ODo2Oj0weDIgdF9ja2U6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTE4ICVsb25nIDB4MDIwMjAwMDIgICAgIC8vVkFMVUVfRFJBTVRNRzYgICAgLyB0X2NrZHBkZTpSVzoyNDo0Oj0weDIgdF9ja2RwZHg6Ulc6MTY6NDo9MHgyIHRfY2tjc3g6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTFjICVsb25nIDB4MDAwMDAyMDIgICAgIC8vVkFMVUVfRFJBTVRNRzcgICAgLyB0X2NrcGRlOlJXOjg6NDo9MHgyIHRfY2twZHg6Ulc6MDo0Oj0weDINCitkYXRhLnNldCAweDAwMTUwMTM4ICVsb25nIDB4MDAwMDAwMGYgICAgIC8vVkFMVUVfRFJBTVRNRzE0ICAgLyB0X3hzcjpSVzowOjEyOj0weGYNCisvL2JpdDMwPTEgRGlzYWJsZSBpc3N1aW5nIG9mIFpRQ0wvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kIGF0IFNlbGYtUmVmcmVzaC9TUi1Qb3dlcmRvd24gZXhpdCCjrDc1MjDX7r+qyrzF5NbDzqowo6y1vNbC19S2r9fUy6LQwrmmxNzNy7P2yrHR08qxuty086Osc2Rpb7bByv2+3bP2tO0NCitkYXRhLnNldCAweDAwMTUwMTgwICVsb25nIDB4NDAyNjAwMGEgICAgIC8vVkFMVUVfWlFDVEwwICAgICAgLyBkaXNfYXV0b196cTpSVzozMToxOj0weDAgZGlzX3NyeF96cWNsOlJXOjMwOjE6PTB4MSB6cV9yZXNpc3Rvcl9zaGFyZWQ6Ulc6Mjk6MTo9MHgwIGRpc19tcHNteF96cWNsOlJXOjI4OjE6PTB4MCB0X3pxX2xvbmdfbm9wOlJXOjE2OjEwOj0weDI2IHRfenFfc2hvcnRfbm9wOlJXOjA6MTA6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTAxODQgJWxvbmcgMHgwMDYwMDEwMCAgICAgLy9WQUxVRV9aUUNUTDEgICAgICAvIHRfenFfcmVzZXRfbm9wOlJXOjIwOjEwOj0weDYgdF96cV9zaG9ydF9pbnRlcnZhbF94MTAyNDpSVzowOjIwOj0weDEwMA0KK2RhdGEuc2V0IDB4MDAxNTAxODggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9aUUNUTDIgICAgICAvIHpxX3Jlc2V0OlJXOjA6MTo9MHgwDQorLy9kZmlfdF9yZGRhdGFfZW49MyzWrsewNzUyMMnPyeizyTK74bW81sK2wW1ytsG07Q0KK2RhdGEuc2V0IDB4MDAxNTAxOTAgJWxvbmcgMHgwNDAzMDAwMSAgICAgLy9WQUxVRV9ERklUTUcwICAgICAvIGRmaV90X2N0cmxfZGVsYXk6Ulc6MjQ6NTo9MHg0IGRmaV9yZGRhdGFfdXNlX3NkcjpSVzoyMzoxOj0weDAgZGZpX3RfcmRkYXRhX2VuOlJXOjE2OjY6PTB4MyBkZmlfd3JkYXRhX3VzZV9zZHI6Ulc6MTU6MTo9MHgwIGRmaV90cGh5X3dyZGF0YTpSVzo4OjY6PTB4MCBkZmlfdHBoeV93cmxhdDpSVzowOjY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxOTQgJWxvbmcgMHgwMDAyMDQwNCAgICAgLy9WQUxVRV9ERklUTUcxICAgICAvIGRmaV90X2NtZF9sYXQ6Ulc6Mjg6NDo9MHgwIGRmaV90X3BhcmluX2xhdDpSVzoyNDoyOj0weDAgZGZpX3Rfd3JkYXRhX2RlbGF5OlJXOjE2OjU6PTB4MiBkZmlfdF9kcmFtX2Nsa19kaXNhYmxlOlJXOjg6NDo9MHg0IGRmaV90X2RyYW1fY2xrX2VuYWJsZTpSVzowOjQ6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTAxOTggJWxvbmcgMHgwOTAwMTExMSAgICAgLy9WQUxVRV9ERklMUENGRzAgICAvIGRmaV90bHBfcmVzcDpSVzoyNDo0Oj0weDkgZGZpX2xwX3dha2V1cF9kcGQ6Ulc6MjA6NDo9MHgwIGRmaV9scF9lbl9kcGQ6Ulc6MTY6MTo9MHgwIGRmaV9scF93YWtldXBfc3I6Ulc6MTI6NDo9MHgxIGRmaV9scF9lbl9zcjpSVzo4OjE6PTB4MSBkZmlfbHBfd2FrZXVwX3BkOlJXOjQ6NDo9MHgxIGRmaV9scF9lbl9wZDpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAxYTAgJWxvbmcgMHg4MDQwMDAwMyAgICAgLy9WQUxVRV9ERklVUEQwICAgICAvIGRpc19hdXRvX2N0cmx1cGQ6Ulc6MzE6MTo9MHgxIGRmaV90X2N0cmx1cF9tYXg6Ulc6MTY6MTA6PTB4NDAgZGZpX3RfY3RybHVwX21pbjpSVzowOjEwOj0weDMNCitkYXRhLnNldCAweDAwMTUwMWE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJVVBEMSAgICAgLyBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21pbl94MTAyNDpSVzoxNjo4Oj0weDAgZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9tYXhfeDEwMjQ6Ulc6MDo4Oj0weDANCitkYXRhLnNldCAweDAwMTUwMWE4ICVsb25nIDB4ODAxMDAwMTAgICAgIC8vVkFMVUVfREZJVVBEMiAgICAgLyBkZmlfcGh5dXBkX2VuOlJXOjMxOjE6PTB4MSBkZmlfcGh5dXBkX3R5cGUxOlJXOjE2OjEyOj0weDEwIGRmaV9waHl1cGRfdHlwZTA6Ulc6MDoxMjo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklNSVNDICAgICAvIGRmaV9kYXRhX2NzX3BvbGFyaXR5OlJXOjI6MTo9MHgwIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMDAgJWxvbmcgMHgwMDAwMDAxZiAgICAgLy9WQUxVRV9BRERSTUFQMCAgICAvIGFkZHJtYXBfZGNoX2JpdDA6Ulc6MTY6NTo9MHgwIGFkZHJtYXBfY3NfYml0MTpSVzo4OjU6PTB4MCBhZGRybWFwX2NzX2JpdDA6Ulc6MDo1Oj0weDFmDQorZGF0YS5zZXQgMHgwMDE1MDIwNCAlbG9uZyAweDAwMDcwNzA3ICAgICAvL1ZBTFVFX0FERFJNQVAxICAgIC8gYWRkcm1hcF9iYW5rX2IyOlJXOjE2OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjE6Ulc6ODo0Oj0weDcgYWRkcm1hcF9iYW5rX2IwOlJXOjA6NDo9MHg3DQorZGF0YS5zZXQgMHgwMDE1MDIwOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAyICAgIC8gYWRkcm1hcF9jb2xfYjU6Ulc6MjQ6NDo9MHgwIGFkZHJtYXBfY29sX2I0OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iMzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iMjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMGMgJWxvbmcgMHgwZjAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMyAgICAvIGFkZHJtYXBfY29sX2I5OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX2NvbF9iODpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjc6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjY6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjEwICVsb25nIDB4MDAwMDBmMGYgICAgIC8vVkFMVUVfQUREUk1BUDQgICAgLyBhZGRybWFwX2NvbF9iMTE6Ulc6ODo0Oj0weGYgYWRkcm1hcF9jb2xfYjEwOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDIxNCAlbG9uZyAweDA2MDYwNjA2ICAgICAvL1ZBTFVFX0FERFJNQVA1ICAgIC8gYWRkcm1hcF9yb3dfYjExOlJXOjI0OjQ6PTB4NiBhZGRybWFwX3Jvd19iMl8xMDpSVzoxNjo0Oj0weDYgYWRkcm1hcF9yb3dfYjE6Ulc6ODo0Oj0weDYgYWRkcm1hcF9yb3dfYjA6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMjE4ICVsb25nIDB4MGYwZjBmMDYgICAgIC8vVkFMVUVfQUREUk1BUDYgICAgLyBhZGRybWFwX3Jvd19iMTU6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfcm93X2IxNDpSVzoxNjo0Oj0weGYgYWRkcm1hcF9yb3dfYjEzOlJXOjg6NDo9MHhmIGFkZHJtYXBfcm93X2IxMjpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyNDAgJWxvbmcgMHgwNDAwMDQwMCAgICAgLy9WQUxVRV9PRFRDRkcgICAgICAvIHdyX29kdF9ob2xkOlJXOjI0OjQ6PTB4NCB3cl9vZHRfZGVsYXk6Ulc6MTY6NDo9MHgwIHJkX29kdF9ob2xkOlJXOjg6NDo9MHg0IHJkX29kdF9kZWxheTpSVzoyOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9PRFRNQVAgICAgICAvIHJhbmszX3JkX29kdDpSVzoyODo0Oj0weDAgcmFuazNfd3Jfb2R0OlJXOjI0OjQ6PTB4MCByYW5rMl9yZF9vZHQ6Ulc6MjA6NDo9MHgwIHJhbmsyX3dyX29kdDpSVzoxNjo0Oj0weDAgcmFuazFfcmRfb2R0OlJXOjEyOjQ6PTB4MCByYW5rMV93cl9vZHQ6Ulc6ODo0Oj0weDAgcmFuazBfcmRfb2R0OlJXOjQ6NDo9MHgwIHJhbmswX3dyX29kdDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNTAgJWxvbmcgMHgwMDAwMTgwNSAgICAgLy9WQUxVRV9TQ0hFRCAgICAgICAvIHJkd3JfaWRsZV9nYXA6Ulc6MjQ6Nzo9MHgwIGdvMmNyaXRpY2FsX2h5c3RlcmVzaXM6Ulc6MTY6ODo9MHgwIGxwcl9udW1fZW50cmllczpSVzo4OjY6PTB4MTggcGFnZWNsb3NlOlJXOjI6MTo9MHgxIHByZWZlcl93cml0ZTpSVzoxOjE6PTB4MCBmb3JjZV9sb3dfcHJpX246Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMjU0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfU0NIRUQxICAgICAgLyBwYWdlY2xvc2VfdGltZXI6Ulc6MDo4Oj0weDANCisNCitkYXRhLnNldCAweDAwMTUwMzAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMCAgICAgICAgLyBkaXNfY29sbGlzaW9uX3BhZ2Vfb3B0OlJXOjQ6MTo9MHgwIGRpc19hY3RfYnlwYXNzOlJXOjI6MTo9MHgwIGRpc19yZF9ieXBhc3M6Ulc6MToxOj0weDAgZGlzX3djOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDMwNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCRzEgICAgICAgIC8gZGlzX2RxOlJXOjE6MTo9MHgwIGRpc19oaWc6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzBjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHQ01EICAgICAgLyBjdHJsdXBkOlJXU0M6NToxOj0weDAgenFfY2FsaWJfc2hvcnQ6UldTQzo0OjE6PTB4MCByYW5rM19yZWZyZXNoOlJXU0M6MzoxOj0weDAgcmFuazJfcmVmcmVzaDpSV1NDOjI6MTo9MHgwIHJhbmsxX3JlZnJlc2g6UldTQzoxOjE6PTB4MCByYW5rMF9yZWZyZXNoOlJXU0M6MDoxOj0weDANCisNCitkYXRhLnNldCAweDAwMTUwNDAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENDRkcgICAgICAgLyBibF9leHBfbW9kZTpSVzo4OjE6PTB4MCBwYWdlbWF0Y2hfbGltaXQ6Ulc6MToxOj0weDAgZ28yY3JpdGljYWxfZW46Ulc6MDoxOj0weDANCisgICAgDQorLy9kZHJfcHJvcml0eV9jb25maWcNCisvL3BvcnQgcmVhZCBzdGF0aWMgcHJpb3JpdHkgYml0MC05LCBiaXQwLTQgdGltZW91dCwgYml0NS05IHByb3JpdHkNCitkYXRhLnNldCAweDAwMTUwNDA0ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1JfMCAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjQgJWxvbmcgMHgwMDAwMTAyMCAgICAgLy9WQUxVRV9QQ0ZHUl8xICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MjANCitkYXRhLnNldCAweDAwMTUwNTY0ICVsb25nIDB4MDAwMDEwMDAgICAgIC8vVkFMVUVfUENGR1JfMiAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDANCitkYXRhLnNldCAweDAwMTUwNjE0ICVsb25nIDB4MDAwMDEwMDQgICAgIC8vVkFMVUVfUENGR1JfMyAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDQNCisvL3BvcnQgd3JpdGUgc3RhdGljIHByaW9yaXR5IGJpdDAtOQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDggJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHV18wICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmZg0KK2RhdGEuc2V0IDB4MDAxNTA0YjggJWxvbmcgMHgwMDAwMTBmZiAgICAgLy9WQUxVRV9QQ0ZHV18xICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weGZmDQorZGF0YS5zZXQgMHgwMDE1MDU2OCAlbG9uZyAweDAwMDAxMDNmICAgICAvL1ZBTFVFX1BDRkdXXzIgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2YNCitkYXRhLnNldCAweDAwMTUwNjE4ICVsb25nIDB4MDAwMDEwNWYgICAgIC8vVkFMVUVfUENGR1dfMyAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg1Zg0KKy8vcG9ydCByZWFkIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDk0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMCAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDU0NCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzEgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8yICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNmE0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMyAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorLy9wb3J0IHdyaXRlIHJlZ2lvbiBzZXQNCitkYXRhLnNldCAweDAwMTUwNDljICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzAgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMSAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8yIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNmFjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzMgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KKy8vdnByIHRpbWVvdXQsIHJlZ2lvbjIgaXMgcmVkIHF1ZXVlDQorZGF0YS5zZXQgMHgwMDE1MDQ5OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzAgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTQ4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMSAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1ZjggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8yICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZhOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzMgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCisvL3ZwdyB0aW1lb3V0DQorZGF0YS5zZXQgMHgwMDE1MDRhMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8wIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNTUwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzEgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMiAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8zIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCisvL2luIENBTSBzZXQNCitkYXRhLnNldCAweDAwMTUwMjVjICVsb25nIDB4MGYwMDAwMDEgICAgIC8vVkFMVUVfUEVSRkhQUjEgICAgLyBocHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBocHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDENCitkYXRhLnNldCAweDAwMTUwMjY0ICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRkxQUjEgICAgLyBscHJfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiBscHJfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI2YyAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZXUjEgICAgIC8gd194YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIHdfbWF4X3N0YXJ2ZTpSVzowOjE2Oj0weDdmDQorZGF0YS5zZXQgMHgwMDE1MDI3NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFIxICAgIC8gdnByX3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI3OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BFUkZWUFcxICAgIC8gdnB3X3RpbWVvdXRfcmFuZ2U6Ulc6MDoxMTo9MHgwDQorLy9wb3J0IGV4dGVybiBzdGF0aWMgcHJpb3JpdHkJDQorLy9kYXRhLnNldCAweDAwMTNkMDM0ICVsb25nIDB4ZjBmMDAwMDAgLy9wb3J0MCwxIHJxb3M9MChMUFIpOyBwb3J0MiwzIHJxb3M9RihIUFIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgYWxsIHJlZ2lzdGVyIGNvbmZpZ2VyIGRvbmUgaW4gaGFyZHdhcmUNCitXYWl0IDAuMDFzDQorDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKy8vY3Ryb2xsZXIgYW5kIGlubm8gcGh5IHJlZ2lzdGVycyBjb25maWdlciBkb25lDQorLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZmZjMCAvL3JlbGVhc2UgZGRyIGN0bChiaXQxMSkgYW5kIGF4aV9zbiByZXNldChiaXQ2LTkpICBhbmQgcGh5IHJlc2V0KGJpdDEyKSAgLy/J6NbDz7XNs7zEtObG99a1DQorV2FpdCAwLjAxcw0KKw0KKy8vc3cgY29uZmlnIGRvbmUNCitkYXRhLnNldCAweDAwMTUwMzIwICVsb25nIDB4MDAwMDAwMDAgLy9TV0NUTCAgICAgIC8vIHN3X2RvbmU6Ulc6MDoxOj0weDANCisvL2NoZWNrIHBoeSBhdXRvIGluaXQgZG9uZSwgd2FpdCAweDAwMTUwMzI0IGJpdDAgPTANCitXYWl0IDAuMDFzDQorDQorLy9wb3dlciBvbiBQSFkgUExMIA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxOCAvL1BIWVJFR0VELFBMTENMS09VVEVOOlJXOjQ6MTo9MHgxLFJlc2VydmVkOlJXOjI6Mjo9MHgyLCBwbGxfcGRfZW46Ulc6MToxOj0weDAsIGZiZGl2WzhdOlJXOjA6MTo9MHgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IFBIWSBQTEwgIGxvY2ssUEhZUkVHRjhbMF1QbGwgbG9jayBpbmRpY2F0ZSBzaWduYWwNCisNCitXYWl0IDAuMDFzDQorDQorLy9QSFkgRExMIGluaXQgc3RhcnQsIGZhbGwgZWRnZSB0cmlnZ2VyDQorZGF0YS5zZXQgMHgwMDE1NDE3YyAlbG9uZyAweDAwMDAwMDBhIC8vUEhZUkVHNUYsICBQSFkgaW5pdCBzdGFydDo1OjE6PTB4MSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBkbGwgbG9jaywgcGh5IGluaXQgZG9uZSwgUEhZUkVHRjhbMV1QaHkgaW5pdCBjb21wbGV0ZSBzaWduYWwNCitXYWl0IDAuMDFzDQorDQorLy9lbmFibGUgY29udHJvbGxlciBkZmlfaW5pdF9jb21wbGV0ZV9lbiB0byBzdGFydCBzZHJhbSBpbml0LCB0aGVuIHdpbGwgc2VuZCBkcmFtIGluaXQgY21kDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAxIC8vREZJTUlTQyAgICAvLyBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDEJICAgIMrHt/HIpbX0o6y78tXfttTTptDeuMQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vY2hlY2sgY29udHJvbGxlciBzdGF0dXMgaXMgc2RyYW0gaW5pdCBkb25lLHdhaXQgMHgwMDE1MDAwNCBiaXQwLTIgIT0wDQorV2FpdCAwLjAxcw0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMCAvL2RmaW1pc2NbMF0gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RhcnQNCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDEgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0xLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisvL3dhaXQgdHJhaW5pbmcgZG9uZQ0KK1dhaXQgMC4xcw0KKy8vcGh5IERRUyBnYXRlIHRyYWluaW5nIHN0b3ANCitkYXRhLnNldCAweDAwMTU0MDA4ICVsb25nIDB4MDAwMDAwMDAgLy9QSFlSRUcwMixiaXQwOkRRUyBnYXRpbmcgY2FsaWJyYXRpb24gY29udHJvbD0wLCBiaXQxOkRRUyBnYXRpbmcgYnlwYXNzIG1vZGUgc2VsZWN0PTANCisNCisvL2VuYWJsZSBwb3J0X24NCitkYXRhLnNldCAweDAwMTUwNDkwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMCAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDU0MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzEgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA1ZjAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8yICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNmEwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMyAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzMxMm0uY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2Rkcl9pbml0XzMxMm0uY21tCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFlNGRlNGQKLS0tIC9kZXYvbnVsbAorKysgYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfMzEybS5jbW0KQEAgLTAsMCArMSwyMTAgQEAKKy8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIFpYMjk3NTIxIFByb2plY3QgdU1DVEwyIEREUiBjb250cm9sbGVyIHBhcmFtZXRlciBjb25maWd1cmF0aW9uDQorLy8qIHVNQ1RMMiBSZXYuOiAyLjUwYSANCisvLyogQXV0aG9yOiBDaGVuIEppYW5ob25nDQorLy8qIERlcGFydG1lbnQ6IElQIGRlc2lnbg0KKy8vKiBPcHRpb246IE1lbW9yeSBUeXBlICA9IExQRERSMg0KKy8vKiBPcHRpb246IE1lbW9yeSBGcmVxdWVuY3koTUh6KSAgPSAzMTINCisvLyogT3B0aW9uOiBNZW1vcnkgU3BhY2UoR2IpICA9IDENCisvLyogT3B0aW9uOiBEUkFNIGRyaXZlIGltcGVkYW5jZShPaG0pICA9IDQwDQorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisNCisvLy0tLS0tLS0tLS0tLS0tLS0tLS1iZWxvdyBpcyBkZHIgc2V0dGluZy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQorDQorLy9kYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4ZmZmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wICAgDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZlMDAwIC8vZGRyIGFsbCByZXNldCBlbmFibGUgIGJpdDYtMTI9MCANCitXYWl0IDAuMDFzICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmU0MDAgLy9yZWxlYXNlIGRkciBhcGIoYml0MTApDQorV2FpdCAwLjAxcw0KKw0KKy8vRERSIHRvcCBjbG9jayBzZWxlY3QgdG9wIGNsayAxNTZNLCBiaXQwLTEsIDA9MTU2LCAxPTIwMCwgMj0xMDQsIDM9NzgNCisvLzA6IHRvcCBjbGs9MTU2TSwgICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTMxMk0NCisvLzE6IHRvcCBjbGs9MjAwTSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9NDAwTQ0KKy8vMjogdG9wIGNsaz0xMDRNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0yMDhNDQorLy8zOiB0b3AgY2xrPTc4TSwgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MTU2TQ0KK2RhdGEuc2V0IDB4MDEzMDYwNTAgJWxvbmcgMHgwMDAwMDAwMCAgLy+31sa1yejWw6OsttTTptDo0qrQ3rjEwvANCisNCisvL3BoeSByZWdpc3RlciBpbml0ICANCitkYXRhLnNldCAweDAwMTU0MDA0ICVsb25nIDB4MDAwMDAwMDcgIC8vVkFMVUVfUEhZUkVHMDEgICAvIFJlc2VydmVkOlJXOjI6Njo9MHgxLCBQSFlfTU9ERTpSVzowOjI6PTB4MihMUEREUjI6MHgzLExQRERSMzoweDIpDQorZGF0YS5zZXQgMHgwMDE1NDAyYyAlbG9uZyAweDAwMDAwMDgwICAvL1ZBTFVFX1BIWVJFRzBCICAgLyBSTDpSVzo0OjQ6PTB4OA0KK2RhdGEuc2V0IDB4MDAxNTQwMzAgJWxvbmcgMHgwMDAwMDAwNCAgLy9WQUxVRV9QSFlSRUcwQyAgIC8gV0w6Ulc6MDo0Oj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0M2IwICVsb25nIDB4MDAwMDAwMTAgIC8vVkFMVUVfUEhZUkVHRUMgICAvIGZiZGl2Wzc6MF09MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQzYjQgJWxvbmcgMHgwMDAwMDAxYSAgLy9WQUxVRV9QSFlSRUdFRCAgIC8gUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbHBkOlJXOjE6MTo9MHgxLCBmYmRpdls4XTpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTQzYjggJWxvbmcgMHgwMDAwMDAyMiAgLy9WQUxVRV9QSFlSRUdFRSAgIC8gcHJlZGl2WzQ6MF06Ulc6MDo1Oj0weDIscG9zdGRpdlsyOjBdOlJXOjU6Mzo9MHgxDQorDQorLy9JbnRlcm5hbCBWUkVGIGdlbmVyYXRpb24oZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MjhjICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQTMgICAvIENoYW5uZWwgQS9CIGhpdGggOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCitkYXRhLnNldCAweDAwMTU0MmI4ICVsb25nIDB4MDAwMDAwMzAgIC8vVkFMVUVfUEhZUkVHQUUgICAvIENoYW5uZWwgQS9CIGxvdyAgOGJpdHM6IHZyZWZfc2VsOlJXOjU6MTo9MHgxLHZyZWZfdmFsdWVbNDowXTpSVzowOjU6PTB4MTANCisNCisvL0RyaXZlIHN0cmVuZ3RoKGRlZnVhbHQpDQorZGF0YS5zZXQgMHgwMDE1NDA0NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzExICAgLyBDTUQgZHJpdmUgc3RyZW5ndGg6IGNtZF9ucmNvbXBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNTggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxNiAgIC8gQ0sgIGRyaXZlIHN0cmVuZ3RoOiBja19ucmNvbXAgWzQ6MF06Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTkgICAvIENLICBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA2OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzFBICAgLyBDTUQgcHVsbF91cCAgIGRyaXZlIHN0cmVuZ3RoKERTKTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMCAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwODQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcyMSAgIC8gQV9EUTB+QV9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwYjggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRSAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYmMgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUcyRiAgIC8gQV9EUTB+QV9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMCAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGM0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHMzEgICAvIEFfRFE4fkFfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBmOCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNFICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwZmMgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUczRiAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGENCisNCitkYXRhLnNldCAweDAwMTU0MTAwICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDAgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTA0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHNDEgICAvIEJfRFEwfkJfRFE3IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTM4ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEUgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTNjICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNEYgICAvIEJfRFEwfkJfRFE3IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCisNCitkYXRhLnNldCAweDAwMTU0MTQwICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTAgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE0NCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzUxICAgLyBCX0RROH5CX0RRMTUgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxNzggJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc1RSAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBEUyA6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMmEgIC8vVkFMVUVfUEhZUkVHNUYgICAvIEJfRFE4fkJfRFExNSBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKw0KKy8vY29udHJvbGxlciByZWdpc3RlciBpbml0DQorZGF0YS5zZXQgMHgwMDE1MDAwMCAlbG9uZyAweDAxMDQwMDA0ICAgICAvL1ZBTFVFX01TVFIgICAgICAgIC8gZGV2aWNlX2NvbmZpZzpSVzozMDoyOj0weDAgZnJlcXVlbmN5X21vZGU6Ulc6Mjk6MTo9MHgwIGFjdGl2ZV9yYW5rczpSVzoyNDo0Oj0weDMgYnVyc3RfcmR3cjpSVzoxNjo0Oj0weDQgZGxsX29mZl9tb2RlOlJXOjE1OjE6PTB4MCBkYXRhX2J1c193aWR0aDpSVzoxMjoyOj0weDAgZ2VhcmRvd25fbW9kZTpSVzoxMToxOj0weDAgZW5fMnRfdGltaW5nX21vZGU6Ulc6MTA6MTo9MHgwIGJ1cnN0Y2hvcDpSVzo5OjE6PTB4MCBidXJzdF9tb2RlOlJXOjg6MTo9MHgwIGxwZGRyNDpSVzo1OjE6PTB4MCBkZHI0OlJXOjQ6MTo9MHgwIGxwZGRyMzpSVzozOjE6PTB4MCBscGRkcjI6Ulc6MjoxOj0weDEgbW9iaWxlOlJXOjE6MTo9MHgwIGRkcjM6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDEwICVsb25nIDB4MDAwMDAwMzAgICAgIC8vVkFMVUVfTVJDVFJMMCAgICAgLyBtcl93cjpSVzozMToxOj0weDAgbXJfYWRkcjpSVzoxMjo0Oj0weDAgbXJfcmFuazpSVzo0OjQ6PTB4MyBzd19pbml0X2ludDpSVzozOjE6PTB4MCBwZGFfZW46Ulc6MjoxOj0weDAgbXByX2VuOlJXOjE6MTo9MHgwIG1yX3R5cGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDE0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfTVJDVFJMMSAgICAgL21yX2RhdGE6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAyMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RFUkFURUVOICAgIC9yY19kZXJhdGVfdmFsdWU6Ulc6ODoyOj0weDAgZGVyYXRlX2J5dGU6Ulc6NDo0Oj0weDAgZGVyYXRlX3ZhbHVlOlJXOjE6MTo9MHgwIGRlcmF0ZV9lbmFibGU6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDI0ICVsb25nIDB4MDA4MDAwMDAgICAgIC8vVkFMVUVfREVSQVRFSU5UICAgL21yNF9yZWFkX2ludGVydmFsOlJXOjA6MzI6PTB4ODAwMDAwDQorDQorZGF0YS5zZXQgMHgwMDE1MDAzMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BXUkNUTCAgICAgIC8gc3RheV9pbl9zZWxmcmVmOlJXOjY6MTo9MHgwIHNlbGZyZWZfc3c6Ulc6NToxOj0weDAgbXBzbV9lbjpSVzo0OjE6PTB4MCBlbl9kZmlfZHJhbV9jbGtfZGlzYWJsZTpSVzozOjE6PTB4MCBkZWVwcG93ZXJkb3duX2VuOlJXOjI6MTo9MHgwIHBvd2VyZG93bl9lbjpSVzoxOjE6PTB4MSBzZWxmcmVmX2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDAzNCAlbG9uZyAweDAwMDUyMDAyICAgICAvL1ZBTFVFX1BXUlRNRyAgICAgIC8gc2VsZnJlZl90b194MzI6Ulc6MTY6ODo9MHg1IGRlZXBwb3dlcmRvd25fdG9feDEwMjQ6Ulc6ODo4Oj0weDIwIHBvd2VyZG93bl90b194MzI6Ulc6MDo1Oj0weDINCitkYXRhLnNldCAweDAwMTUwMDM4ICVsb25nIDB4MDAwNDAwMDMgICAgIC8vVkFMVUVfSFdMUENUTCAgICAgLyBod19scF9pZGxlX3gzMjpSVzoxNjoxMjo9MHg0IGh3X2xwX2V4aXRfaWRsZV9lbjpSVzoxOjE6PTB4MSBod19scF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwNTAgJWxvbmcgMHgwMDIxMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMCAgICAvIHJlZnJlc2hfbWFyZ2luOlJXOjIwOjQ6PTB4MiByZWZyZXNoX3RvX3gzMjpSVzoxMjo1Oj0weDEwIHJlZnJlc2hfYnVyc3Q6Ulc6NDo1Oj0weDAgcGVyX2JhbmtfcmVmcmVzaDpSVzoyOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMSAgICAvIHJlZnJlc2hfdGltZXIxX3N0YXJ0X3ZhbHVlX3gzMjpSVzoxNjoxMjo9MHgwIHJlZnJlc2hfdGltZXIwX3N0YXJ0X3ZhbHVlX3gzMjpSVzowOjEyOj0weDANCitkYXRhLnNldCAweDAwMTUwMDU4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDIgICAgLyByZWZyZXNoX3RpbWVyM19zdGFydF92YWx1ZV94MzI6Ulc6MTY6MTI6PTB4MCByZWZyZXNoX3RpbWVyMl9zdGFydF92YWx1ZV94MzI6Ulc6MDoxMjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA2MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwzICAgIC8gcmVmcmVzaF9tb2RlOlJXOjQ6Mzo9MHgwIHJlZnJlc2hfdXBkYXRlX2xldmVsOlJXOjE6MTo9MHgwIGRpc19hdXRvX3JlZnJlc2g6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDY0ICVsb25nIDB4MDAyNjAwMTQgICAgIC8vVkFMVUVfUkZTSFRNRyAgICAgLyB0X3JmY19ub21feDMyKHRyZWZpKTpSVzoxNjoxMjo9MHgyNiBscGRkcjNfdHJlZmJ3X2VuOlJXOjE1OjE6PTB4MCB0X3JmY19taW46Ulc6MDo5Oj0weDE0DQorZGF0YS5zZXQgMHgwMDE1MDBkMCAlbG9uZyAweDAwMWYwMDAxICAgICAvL1ZBTFVFX0lOSVQwICAgICAgIC8gc2tpcF9kcmFtX2luaXQ6Ulc6MzE6Mjo9MHgwIHBvc3RfY2tlX3gxMDI0OlJXOjE2OjEwOj0weDFmIHByZV9ja2VfeDEwMjQ6Ulc6MDoxMTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDBkNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0lOSVQxICAgICAgIC8gZHJhbV9yc3RuX3gxMDI0OlJXOjE2Ojg6PTB4MCBmaW5hbF93YWl0X3gzMjpSVzo4Ojc6PTB4MCBwcmVfb2NkX3gzMjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwZDggJWxvbmcgMHgwMDAwMDQwNSAgICAgLy9WQUxVRV9JTklUMiAgICAgICAvIGlkbGVfYWZ0ZXJfcmVzZXRfeDMyOlJXOjg6ODo9MHg0IG1pbl9zdGFibGVfY2xvY2tfeDE6Ulc6MDo0Oj0weDUNCisvL01SMj1STC9XTKOsMaO6UkwzL1dMMaOsMqO6Ukw0L1dMMqOsM6O6Ukw6NS9XTDKjrDSjulJMNi9XTDM6o6w1o7pSTDcvV0w0o6w2o7pSTDgvV0w0DQorZGF0YS5zZXQgMHgwMDE1MDBkYyAlbG9uZyAweDAwNjMwMDA2ICAgICAvL1ZBTFVFX0lOSVQzICAgICAgIC8gbXI6Ulc6MTY6MTY6PTB4NjMgZW1yOlJXOjA6MTY6PTB4Ng0KKy8vYml0MTYtMzGjrExQRERSMiBNUjMgdmFsdWWjrMb3vP5EU8SsyM/KxzQwb2hto6yjqDE9MzQuM6OsMj00MCwzPTQ4LDQ9NjAsNj04MKOpDQorZGF0YS5zZXQgMHgwMDE1MDBlMCAlbG9uZyAweDAwMDIwMDAwICAgICAvL1ZBTFVFX0lOSVQ0ICAgICAgIC8gZW1yMjpSVzoxNjoxNjo9MHgyIGVtcjM6Ulc6MDoxNjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDBlNCAlbG9uZyAweDAwMDUwMDAyICAgICAvL1ZBTFVFX0lOSVQ1ICAgICAgIC8gZGV2X3pxaW5pdF94MzI6Ulc6MTY6ODo9MHg1IG1heF9hdXRvX2luaXRfeDEwMjQ6Ulc6MDoxMDo9MHgyDQorZGF0YS5zZXQgMHgwMDE1MDBmNCAlbG9uZyAweDAwMDAwNjZmICAgICAvL1ZBTFVFX1JBTktDVEwgICAgIC8gZGlmZl9yYW5rX3dyX2dhcDpSVzo4OjQ6PTB4NiBkaWZmX3JhbmtfcmRfZ2FwOlJXOjQ6NDo9MHg2IG1heF9yYW5rX3JkOlJXOjA6NDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDEwMCAlbG9uZyAweDA2MDgwYTA3ICAgICAvL1ZBTFVFX0RSQU1UTUcwICAgIC8gd3IycHJlOlJXOjI0OjY6PTB4NiB0X2ZhdzpSVzoxNjo2Oj0weDggdF9yYXNfbWF4OlJXOjg6Nzo9MHhhIHRfcmFzX21pbjpSVzowOjY6PTB4Nw0KK2RhdGEuc2V0IDB4MDAxNTAxMDQgJWxvbmcgMHgwMDAyMDIwYSAgICAgLy9WQUxVRV9EUkFNVE1HMSAgICAvIHRfeHA6Ulc6MTY6NTo9MHgyIHJkMnByZTpSVzo4OjU6PTB4MiB0X3JjOlJXOjA6Njo9MHg5DQorLy9STD1iaXQxNi0yMaOsMaO6Ukw9MqOsMqO6Ukw9NKOsM6O6Ukw9NqOsNKO6Uj04o6xXTD1iaXQyNC0yOaOsMaO6V0w9MqOsMqO6V0w9NA0KKy8v1eLA77W81sJNUjK1xMXk1sOjqDB4MDEyMTYwZGOjqbK7xNzRodTxuqzT0Mbmyv21xNa1Pw0KK2RhdGEuc2V0IDB4MDAxNTAxMDggJWxvbmcgMHgwMjA0MDYwNiAgICAgLy9WQUxVRV9EUkFNVE1HMiAgICAvIHdyaXRlX2xhdGVuY3k6Ulc6MjQ6Njo9MHgyIHJlYWRfbGF0ZW5jeTpSVzoxNjo2Oj0weDQgcmQyd3I6Ulc6ODo2Oj0weDYgd3IycmQ6Ulc6MDo2Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMTBjICVsb25nIDB4MDA1MDEwMDAgICAgIC8vVkFMVUVfRFJBTVRNRzMgICAgLyB0X21ydzpSVzoyMDoxMDo9MHg1IHRfbXJkOlJXOjEyOjY6PTB4MSB0X21vZDpSVzowOjEwOj0weDANCitkYXRhLnNldCAweDAwMTUwMTEwICVsb25nIDB4MDMwMTAyMDQgICAgIC8vVkFMVUVfRFJBTVRNRzQgICAgLyB0X3JjZDpSVzoyNDo1Oj0weDMgdF9jY2Q6Ulc6MTY6NDo9MHgxIHRfcnJkOlJXOjg6NDo9MHgyIHRfcnA6Ulc6MDo1Oj0weDQNCitkYXRhLnNldCAweDAwMTUwMTE0ICVsb25nIDB4MDEwMTAzMDMgICAgIC8vVkFMVUVfRFJBTVRNRzUgICAgLyB0X2Nrc3J4OlJXOjI0OjQ6PTB4MSB0X2Nrc3JlOlJXOjE2OjQ6PTB4MSB0X2NrZXNyOlJXOjg6Njo9MHgzIHRfY2tlOlJXOjA6NDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExOCAlbG9uZyAweDAyMDIwMDAzICAgICAvL1ZBTFVFX0RSQU1UTUc2ICAgIC8gdF9ja2RwZGU6Ulc6MjQ6NDo9MHgyIHRfY2tkcGR4OlJXOjE2OjQ6PTB4MiB0X2NrY3N4OlJXOjA6NDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDExYyAlbG9uZyAweDAwMDAwMjAyICAgICAvL1ZBTFVFX0RSQU1UTUc3ICAgIC8gdF9ja3BkZTpSVzo4OjQ6PTB4MiB0X2NrcGR4OlJXOjA6NDo9MHgyDQorZGF0YS5zZXQgMHgwMDE1MDEzOCAlbG9uZyAweDAwMDAwMDE2ICAgICAvL1ZBTFVFX0RSQU1UTUcxNCAgIC8gdF94c3I6Ulc6MDoxMjo9MHgxNg0KKy8vYml0MzA9MSBEaXNhYmxlIGlzc3Vpbmcgb2YgWlFDTC9NUEMoWlEgY2FsaWJyYXRpb24pIGNvbW1hbmQgYXQgU2VsZi1SZWZyZXNoL1NSLVBvd2VyZG93biBleGl0IKOsNzUyMNfuv6rKvMXk1sPOqjCjrLW81sLX1Lav19TLotDCuabE3M3Ls/bKsdHTyrG63LTzo6xzZGlvtsHK/b7ds/a07Q0KK2RhdGEuc2V0IDB4MDAxNTAxODAgJWxvbmcgMHg0MDM5MDAwZiAgICAgLy9WQUxVRV9aUUNUTDAgICAgICAvIGRpc19hdXRvX3pxOlJXOjMxOjE6PTB4MCBkaXNfc3J4X3pxY2w6Ulc6MzA6MTo9MHgxIHpxX3Jlc2lzdG9yX3NoYXJlZDpSVzoyOToxOj0weDAgZGlzX21wc214X3pxY2w6Ulc6Mjg6MTo9MHgwIHRfenFfbG9uZ19ub3A6Ulc6MTY6MTA6PTB4MzkgdF96cV9zaG9ydF9ub3A6Ulc6MDoxMDo9MHhmDQorZGF0YS5zZXQgMHgwMDE1MDE4NCAlbG9uZyAweDAwODAwMTAwICAgICAvL1ZBTFVFX1pRQ1RMMSAgICAgIC8gdF96cV9yZXNldF9ub3A6Ulc6MjA6MTA6PTB4OCB0X3pxX3Nob3J0X2ludGVydmFsX3gxMDI0OlJXOjA6MjA6PTB4MTAwDQorZGF0YS5zZXQgMHgwMDE1MDE4OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1pRQ1RMMiAgICAgIC8genFfcmVzZXQ6Ulc6MDoxOj0weDANCisvL2RmaV90X3JkZGF0YV9lbj0zLNaux7A3NTIwyc/J6LPJMrvhtbzWwrbBbXK2wbTtDQorZGF0YS5zZXQgMHgwMDE1MDE5MCAlbG9uZyAweDA0MDMwMDAxICAgICAvL1ZBTFVFX0RGSVRNRzAgICAgIC8gZGZpX3RfY3RybF9kZWxheTpSVzoyNDo1Oj0weDQgZGZpX3JkZGF0YV91c2Vfc2RyOlJXOjIzOjE6PTB4MCBkZmlfdF9yZGRhdGFfZW46Ulc6MTY6Njo9MHgzIGRmaV93cmRhdGFfdXNlX3NkcjpSVzoxNToxOj0weDAgZGZpX3RwaHlfd3JkYXRhOlJXOjg6Njo9MHgwIGRmaV90cGh5X3dybGF0OlJXOjA6Njo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDE5NCAlbG9uZyAweDAwMDIwNDA0ICAgICAvL1ZBTFVFX0RGSVRNRzEgICAgIC8gZGZpX3RfY21kX2xhdDpSVzoyODo0Oj0weDAgZGZpX3RfcGFyaW5fbGF0OlJXOjI0OjI6PTB4MCBkZmlfdF93cmRhdGFfZGVsYXk6Ulc6MTY6NTo9MHgyIGRmaV90X2RyYW1fY2xrX2Rpc2FibGU6Ulc6ODo0Oj0weDQgZGZpX3RfZHJhbV9jbGtfZW5hYmxlOlJXOjA6NDo9MHg0DQorZGF0YS5zZXQgMHgwMDE1MDE5OCAlbG9uZyAweDA5MDAxMTExICAgICAvL1ZBTFVFX0RGSUxQQ0ZHMCAgIC8gZGZpX3RscF9yZXNwOlJXOjI0OjQ6PTB4OSBkZmlfbHBfd2FrZXVwX2RwZDpSVzoyMDo0Oj0weDAgZGZpX2xwX2VuX2RwZDpSVzoxNjoxOj0weDAgZGZpX2xwX3dha2V1cF9zcjpSVzoxMjo0Oj0weDEgZGZpX2xwX2VuX3NyOlJXOjg6MTo9MHgxIGRmaV9scF93YWtldXBfcGQ6Ulc6NDo0Oj0weDEgZGZpX2xwX2VuX3BkOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDFhMCAlbG9uZyAweDgwNDAwMDAzICAgICAvL1ZBTFVFX0RGSVVQRDAgICAgIC8gZGlzX2F1dG9fY3RybHVwZDpSVzozMToxOj0weDEgZGZpX3RfY3RybHVwX21heDpSVzoxNjoxMDo9MHg0MCBkZmlfdF9jdHJsdXBfbWluOlJXOjA6MTA6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxYTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERklVUEQxICAgICAvIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWluX3gxMDI0OlJXOjE2Ojg6PTB4MCBkZmlfdF9jdHJsdXBkX2ludGVydmFsX21heF94MTAyNDpSVzowOjg6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAxYTggJWxvbmcgMHg4MDEwMDAxMCAgICAgLy9WQUxVRV9ERklVUEQyICAgICAvIGRmaV9waHl1cGRfZW46Ulc6MzE6MTo9MHgxIGRmaV9waHl1cGRfdHlwZTE6Ulc6MTY6MTI6PTB4MTAgZGZpX3BoeXVwZF90eXBlMDpSVzowOjEyOj0weDEwDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSU1JU0MgICAgIC8gZGZpX2RhdGFfY3NfcG9sYXJpdHk6Ulc6MjoxOj0weDAgcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwMCAlbG9uZyAweDAwMDAwMDFmICAgICAvL1ZBTFVFX0FERFJNQVAwICAgIC8gYWRkcm1hcF9kY2hfYml0MDpSVzoxNjo1Oj0weDAgYWRkcm1hcF9jc19iaXQxOlJXOjg6NTo9MHgwIGFkZHJtYXBfY3NfYml0MDpSVzowOjU6PTB4MWYNCitkYXRhLnNldCAweDAwMTUwMjA0ICVsb25nIDB4MDAwNzA3MDcgICAgIC8vVkFMVUVfQUREUk1BUDEgICAgLyBhZGRybWFwX2JhbmtfYjI6Ulc6MTY6NDo9MHg3IGFkZHJtYXBfYmFua19iMTpSVzo4OjQ6PTB4NyBhZGRybWFwX2JhbmtfYjA6Ulc6MDo0Oj0weDcNCitkYXRhLnNldCAweDAwMTUwMjA4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDIgICAgLyBhZGRybWFwX2NvbF9iNTpSVzoyNDo0Oj0weDAgYWRkcm1hcF9jb2xfYjQ6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2IzOlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2IyOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIwYyAlbG9uZyAweDBmMDAwMDAwICAgICAvL1ZBTFVFX0FERFJNQVAzICAgIC8gYWRkcm1hcF9jb2xfYjk6Ulc6MjQ6NDo9MHhmIGFkZHJtYXBfY29sX2I4OlJXOjE2OjQ6PTB4MCBhZGRybWFwX2NvbF9iNzpSVzo4OjQ6PTB4MCBhZGRybWFwX2NvbF9iNjpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyMTAgJWxvbmcgMHgwMDAwMGYwZiAgICAgLy9WQUxVRV9BRERSTUFQNCAgICAvIGFkZHJtYXBfY29sX2IxMTpSVzo4OjQ6PTB4ZiBhZGRybWFwX2NvbF9iMTA6Ulc6MDo0Oj0weGYNCitkYXRhLnNldCAweDAwMTUwMjE0ICVsb25nIDB4MDYwNjA2MDYgICAgIC8vVkFMVUVfQUREUk1BUDUgICAgLyBhZGRybWFwX3Jvd19iMTE6Ulc6MjQ6NDo9MHg2IGFkZHJtYXBfcm93X2IyXzEwOlJXOjE2OjQ6PTB4NiBhZGRybWFwX3Jvd19iMTpSVzo4OjQ6PTB4NiBhZGRybWFwX3Jvd19iMDpSVzowOjQ6PTB4Ng0KK2RhdGEuc2V0IDB4MDAxNTAyMTggJWxvbmcgMHgwZjBmMGYwNiAgICAgLy9WQUxVRV9BRERSTUFQNiAgICAvIGFkZHJtYXBfcm93X2IxNTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9yb3dfYjE0OlJXOjE2OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTM6Ulc6ODo0Oj0weGYgYWRkcm1hcF9yb3dfYjEyOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDI0MCAlbG9uZyAweDA0MDAwNDAwICAgICAvL1ZBTFVFX09EVENGRyAgICAgIC8gd3Jfb2R0X2hvbGQ6Ulc6MjQ6NDo9MHg0IHdyX29kdF9kZWxheTpSVzoxNjo0Oj0weDAgcmRfb2R0X2hvbGQ6Ulc6ODo0Oj0weDQgcmRfb2R0X2RlbGF5OlJXOjI6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI0NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX09EVE1BUCAgICAgIC8gcmFuazNfcmRfb2R0OlJXOjI4OjQ6PTB4MCByYW5rM193cl9vZHQ6Ulc6MjQ6NDo9MHgwIHJhbmsyX3JkX29kdDpSVzoyMDo0Oj0weDAgcmFuazJfd3Jfb2R0OlJXOjE2OjQ6PTB4MCByYW5rMV9yZF9vZHQ6Ulc6MTI6NDo9MHgwIHJhbmsxX3dyX29kdDpSVzo4OjQ6PTB4MCByYW5rMF9yZF9vZHQ6Ulc6NDo0Oj0weDAgcmFuazBfd3Jfb2R0OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDI1MCAlbG9uZyAweDAwMDAxODA1ICAgICAvL1ZBTFVFX1NDSEVEICAgICAgIC8gcmR3cl9pZGxlX2dhcDpSVzoyNDo3Oj0weDAgZ28yY3JpdGljYWxfaHlzdGVyZXNpczpSVzoxNjo4Oj0weDAgbHByX251bV9lbnRyaWVzOlJXOjg6Njo9MHgxOCBwYWdlY2xvc2U6Ulc6MjoxOj0weDEgcHJlZmVyX3dyaXRlOlJXOjE6MTo9MHgwIGZvcmNlX2xvd19wcmlfbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNTQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9TQ0hFRDEgICAgICAvIHBhZ2VjbG9zZV90aW1lcjpSVzowOjg6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTAzMDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkcwICAgICAgICAvIGRpc19jb2xsaXNpb25fcGFnZV9vcHQ6Ulc6NDoxOj0weDAgZGlzX2FjdF9ieXBhc3M6Ulc6MjoxOj0weDAgZGlzX3JkX2J5cGFzczpSVzoxOjE6PTB4MCBkaXNfd2M6Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMzA0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREJHMSAgICAgICAgLyBkaXNfZHE6Ulc6MToxOj0weDAgZGlzX2hpZzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAzMGMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkdDTUQgICAgICAvIGN0cmx1cGQ6UldTQzo1OjE6PTB4MCB6cV9jYWxpYl9zaG9ydDpSV1NDOjQ6MTo9MHgwIHJhbmszX3JlZnJlc2g6UldTQzozOjE6PTB4MCByYW5rMl9yZWZyZXNoOlJXU0M6MjoxOj0weDAgcmFuazFfcmVmcmVzaDpSV1NDOjE6MTo9MHgwIHJhbmswX3JlZnJlc2g6UldTQzowOjE6PTB4MA0KKw0KK2RhdGEuc2V0IDB4MDAxNTA0MDAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0NGRyAgICAgICAvIGJsX2V4cF9tb2RlOlJXOjg6MTo9MHgwIHBhZ2VtYXRjaF9saW1pdDpSVzoxOjE6PTB4MCBnbzJjcml0aWNhbF9lbjpSVzowOjE6PTB4MA0KKyAgICANCisvL2Rkcl9wcm9yaXR5X2NvbmZpZw0KKy8vcG9ydCByZWFkIHN0YXRpYyBwcmlvcml0eSBiaXQwLTksIGJpdDAtNCB0aW1lb3V0LCBiaXQ1LTkgcHJvcml0eQ0KK2RhdGEuc2V0IDB4MDAxNTA0MDQgJWxvbmcgMHgwMDAwMTNmZiAgICAgLy9WQUxVRV9QQ0ZHUl8wICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiNCAlbG9uZyAweDAwMDAxMDIwICAgICAvL1ZBTFVFX1BDRkdSXzEgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgyMA0KK2RhdGEuc2V0IDB4MDAxNTA1NjQgJWxvbmcgMHgwMDAwMTAwMCAgICAgLy9WQUxVRV9QQ0ZHUl8yICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2MTQgJWxvbmcgMHgwMDAwMTAwNCAgICAgLy9WQUxVRV9QQ0ZHUl8zICAgICAvIHJkd3Jfb3JkZXJlZF9lbjpSVzoxNjoxOj0weDAgcmRfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHJkX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCByZF9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSByZWFkX3Jlb3JkZXJfYnlwYXNzX2VuOlJXOjExOjE6PTB4MCByZF9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NA0KKy8vcG9ydCB3cml0ZSBzdGF0aWMgcHJpb3JpdHkgYml0MC05DQorZGF0YS5zZXQgMHgwMDE1MDQwOCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdXXzAgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4M2ZmDQorZGF0YS5zZXQgMHgwMDE1MDRiOCAlbG9uZyAweDAwMDAxMGZmICAgICAvL1ZBTFVFX1BDRkdXXzEgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4ZmYNCitkYXRhLnNldCAweDAwMTUwNTY4ICVsb25nIDB4MDAwMDEwM2YgICAgIC8vVkFMVUVfUENGR1dfMiAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZg0KK2RhdGEuc2V0IDB4MDAxNTA2MTggJWxvbmcgMHgwMDAwMTA1ZiAgICAgLy9WQUxVRV9QQ0ZHV18zICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDVmDQorLy9wb3J0IHJlYWQgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8wICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNTQ0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMSAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDVmNCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzIgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8zICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCisvL3BvcnQgd3JpdGUgcmVnaW9uIHNldA0KK2RhdGEuc2V0IDB4MDAxNTA0OWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMCAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU0YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8xIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNWZjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzIgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YWMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMyAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorLy92cHIgdGltZW91dCwgcmVnaW9uMiBpcyByZWQgcXVldWUNCitkYXRhLnNldCAweDAwMTUwNDk4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMCAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8xICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDVmOCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzIgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmE4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMyAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KKy8vdnB3IHRpbWVvdXQNCitkYXRhLnNldCAweDAwMTUwNGEwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzAgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1NTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMSAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDYwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8yIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNmIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzMgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KKy8vaW4gQ0FNIHNldA0KK2RhdGEuc2V0IDB4MDAxNTAyNWMgJWxvbmcgMHgwZjAwMDAwMSAgICAgLy9WQUxVRV9QRVJGSFBSMSAgICAvIGhwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGhwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAyNjQgJWxvbmcgMHgwZjAwMDA3ZiAgICAgLy9WQUxVRV9QRVJGTFBSMSAgICAvIGxwcl94YWN0X3J1bl9sZW5ndGg6Ulc6MjQ6ODo9MHhmIGxwcl9tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjZjICVsb25nIDB4MGYwMDAwN2YgICAgIC8vVkFMVUVfUEVSRldSMSAgICAgLyB3X3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgd19tYXhfc3RhcnZlOlJXOjA6MTY6PTB4N2YNCitkYXRhLnNldCAweDAwMTUwMjc0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQUjEgICAgLyB2cHJfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwMjc4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUEVSRlZQVzEgICAgLyB2cHdfdGltZW91dF9yYW5nZTpSVzowOjExOj0weDANCisvL3BvcnQgZXh0ZXJuIHN0YXRpYyBwcmlvcml0eQkNCisvL2RhdGEuc2V0IDB4MDAxM2QwMzQgJWxvbmcgMHhmMGYwMDAwMCAvL3BvcnQwLDEgcnFvcz0wKExQUik7IHBvcnQyLDMgcnFvcz1GKEhQUikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBhbGwgcmVnaXN0ZXIgY29uZmlnZXIgZG9uZSBpbiBoYXJkd2FyZQ0KK1dhaXQgMC4wMXMNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy9jdHJvbGxlciBhbmQgaW5ubyBwaHkgcmVnaXN0ZXJzIGNvbmZpZ2VyIGRvbmUNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorZGF0YS5zZXQgMHgwMTMwNjEwMCAlbG9uZyAweDBhZmZmZmMwIC8vcmVsZWFzZSBkZHIgY3RsKGJpdDExKSBhbmQgYXhpX3NuIHJlc2V0KGJpdDYtOSkgIGFuZCBwaHkgcmVzZXQoYml0MTIpICAvL8no1sPPtc2zvMS05sb31rUNCitXYWl0IDAuMDFzDQorDQorLy9zdyBjb25maWcgZG9uZQ0KK2RhdGEuc2V0IDB4MDAxNTAzMjAgJWxvbmcgMHgwMDAwMDAwMCAvL1NXQ1RMICAgICAgLy8gc3dfZG9uZTpSVzowOjE6PTB4MA0KKy8vY2hlY2sgcGh5IGF1dG8gaW5pdCBkb25lLCB3YWl0IDB4MDAxNTAzMjQgYml0MCA9MA0KK1dhaXQgMC4wMXMNCisNCisvL3Bvd2VyIG9uIFBIWSBQTEwgDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDE4IC8vUEhZUkVHRUQsUExMQ0xLT1VURU46Ulc6NDoxOj0weDEsUmVzZXJ2ZWQ6Ulc6MjoyOj0weDIsIHBsbF9wZF9lbjpSVzoxOjE6PTB4MCwgZmJkaXZbOF06Ulc6MDoxOj0weDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgUEhZIFBMTCAgbG9jayxQSFlSRUdGOFswXVBsbCBsb2NrIGluZGljYXRlIHNpZ25hbA0KKw0KK1dhaXQgMC4wMXMNCisNCisvL1BIWSBETEwgaW5pdCBzdGFydCwgZmFsbCBlZGdlIHRyaWdnZXINCitkYXRhLnNldCAweDAwMTU0MTdjICVsb25nIDB4MDAwMDAwMGEgLy9QSFlSRUc1RiwgIFBIWSBpbml0IHN0YXJ0OjU6MTo9MHgxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IGRsbCBsb2NrLCBwaHkgaW5pdCBkb25lLCBQSFlSRUdGOFsxXVBoeSBpbml0IGNvbXBsZXRlIHNpZ25hbA0KK1dhaXQgMC4wMXMNCisNCisvL2VuYWJsZSBjb250cm9sbGVyIGRmaV9pbml0X2NvbXBsZXRlX2VuIHRvIHN0YXJ0IHNkcmFtIGluaXQsIHRoZW4gd2lsbCBzZW5kIGRyYW0gaW5pdCBjbWQNCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDEgLy9ERklNSVNDICAgIC8vIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MQkgICAgyse38ciltfSjrLvy1d+21NOm0N64xCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy9jaGVjayBjb250cm9sbGVyIHN0YXR1cyBpcyBzZHJhbSBpbml0IGRvbmUsd2FpdCAweDAwMTUwMDA0IGJpdDAtMiAhPTANCitXYWl0IDAuMDFzDQorZGF0YS5zZXQgMHgwMDE1MDFiMCAlbG9uZyAweDAwMDAwMDAwIC8vZGZpbWlzY1swXSBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCisNCisvL3BoeSBEUVMgZ2F0ZSB0cmFpbmluZyBzdGFydA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMSAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTEsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKy8vd2FpdCB0cmFpbmluZyBkb25lDQorV2FpdCAwLjFzDQorLy9waHkgRFFTIGdhdGUgdHJhaW5pbmcgc3RvcA0KK2RhdGEuc2V0IDB4MDAxNTQwMDggJWxvbmcgMHgwMDAwMDAwMCAvL1BIWVJFRzAyLGJpdDA6RFFTIGdhdGluZyBjYWxpYnJhdGlvbiBjb250cm9sPTAsIGJpdDE6RFFTIGdhdGluZyBieXBhc3MgbW9kZSBzZWxlY3Q9MA0KKw0KKy8vZW5hYmxlIHBvcnRfbg0KK2RhdGEuc2V0IDB4MDAxNTA0OTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8wICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNTQwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMSAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDVmMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzIgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA2YTAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8zICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfNDAwbS5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My9zeXMvZGRyX2luaXRfNDAwbS5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmU3NzBjYQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9kZHJfaW5pdF80MDBtLmNtbQpAQCAtMCwwICsxLDIxMCBAQAorLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvLyogWlgyOTc1MjEgUHJvamVjdCB1TUNUTDIgRERSIGNvbnRyb2xsZXIgcGFyYW1ldGVyIGNvbmZpZ3VyYXRpb24NCisvLyogdU1DVEwyIFJldi46IDIuNTBhIA0KKy8vKiBBdXRob3I6IENoZW4gSmlhbmhvbmcNCisvLyogRGVwYXJ0bWVudDogSVAgZGVzaWduDQorLy8qIE9wdGlvbjogTWVtb3J5IFR5cGUgID0gTFBERFIyDQorLy8qIE9wdGlvbjogTWVtb3J5IEZyZXF1ZW5jeShNSHopICA9IDQwMA0KKy8vKiBPcHRpb246IE1lbW9yeSBTcGFjZShHYikgID0gMQ0KKy8vKiBPcHRpb246IERSQU0gZHJpdmUgaW1wZWRhbmNlKE9obSkgID0gNDANCisvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKw0KKy8vLS0tLS0tLS0tLS0tLS0tLS0tLWJlbG93IGlzIGRkciBzZXR0aW5nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCisNCisvL2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHhmZmZmZTAwMCAvL2RkciBhbGwgcmVzZXQgZW5hYmxlICBiaXQ2LTEyPTAgICANCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmUwMDAgLy9kZHIgYWxsIHJlc2V0IGVuYWJsZSAgYml0Ni0xMj0wIA0KK1dhaXQgMC4wMXMgIA0KK2RhdGEuc2V0IDB4MDEzMDYxMDAgJWxvbmcgMHgwYWZmZTQwMCAvL3JlbGVhc2UgZGRyIGFwYihiaXQxMCkNCitXYWl0IDAuMDFzDQorDQorLy9ERFIgdG9wIGNsb2NrIHNlbGVjdCB0b3AgY2xrIDE1Nk0sIGJpdDAtMSwgMD0xNTYsIDE9MjAwLCAyPTEwNCwgMz03OA0KKy8vMDogdG9wIGNsaz0xNTZNLCAgICAgIGRkciB1c2UgbWlzc2lvbiBtb2RlICwgZHJhbSBpbyBjbGs9MzEyTQ0KKy8vMTogdG9wIGNsaz0yMDBNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz00MDBNDQorLy8yOiB0b3AgY2xrPTEwNE0sICAgICBkZHIgdXNlIG1pc3Npb24gbW9kZSAsIGRyYW0gaW8gY2xrPTIwOE0NCisvLzM6IHRvcCBjbGs9NzhNLCAgICAgZGRyIHVzZSBtaXNzaW9uIG1vZGUgLCBkcmFtIGlvIGNsaz0xNTZNDQorZGF0YS5zZXQgMHgwMTMwNjA1MCAlbG9uZyAweDAwMDAwMDAxICAvL7fWxrXJ6NbDo6y21NOm0OjSqtDeuMTC8A0KKw0KKy8vcGh5IHJlZ2lzdGVyIGluaXQgIA0KK2RhdGEuc2V0IDB4MDAxNTQwMDQgJWxvbmcgMHgwMDAwMDAwNyAgLy9WQUxVRV9QSFlSRUcwMSAgIC8gUmVzZXJ2ZWQ6Ulc6Mjo2Oj0weDEsIFBIWV9NT0RFOlJXOjA6Mjo9MHgyKExQRERSMjoweDMsTFBERFIzOjB4MikNCitkYXRhLnNldCAweDAwMTU0MDJjICVsb25nIDB4MDAwMDAwODAgIC8vVkFMVUVfUEhZUkVHMEIgICAvIFJMOlJXOjQ6NDo9MHg4DQorZGF0YS5zZXQgMHgwMDE1NDAzMCAlbG9uZyAweDAwMDAwMDA0ICAvL1ZBTFVFX1BIWVJFRzBDICAgLyBXTDpSVzowOjQ6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQzYjAgJWxvbmcgMHgwMDAwMDAxMCAgLy9WQUxVRV9QSFlSRUdFQyAgIC8gZmJkaXZbNzowXT0weDEwDQorZGF0YS5zZXQgMHgwMDE1NDNiNCAlbG9uZyAweDAwMDAwMDFhICAvL1ZBTFVFX1BIWVJFR0VEICAgLyBQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxscGQ6Ulc6MToxOj0weDEsIGZiZGl2WzhdOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1NDNiOCAlbG9uZyAweDAwMDAwMDIyICAvL1ZBTFVFX1BIWVJFR0VFICAgLyBwcmVkaXZbNDowXTpSVzowOjU6PTB4Mixwb3N0ZGl2WzI6MF06Ulc6NTozOj0weDENCisNCisvL0ludGVybmFsIFZSRUYgZ2VuZXJhdGlvbihkZWZ1YWx0KQ0KK2RhdGEuc2V0IDB4MDAxNTQyOGMgJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBMyAgIC8gQ2hhbm5lbCBBL0IgaGl0aCA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KK2RhdGEuc2V0IDB4MDAxNTQyYjggJWxvbmcgMHgwMDAwMDAzMCAgLy9WQUxVRV9QSFlSRUdBRSAgIC8gQ2hhbm5lbCBBL0IgbG93ICA4Yml0czogdnJlZl9zZWw6Ulc6NToxOj0weDEsdnJlZl92YWx1ZVs0OjBdOlJXOjA6NTo9MHgxMA0KKw0KKy8vRHJpdmUgc3RyZW5ndGgoZGVmdWFsdCkNCitkYXRhLnNldCAweDAwMTU0MDQ0ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMTEgICAvIENNRCBkcml2ZSBzdHJlbmd0aDogY21kX25yY29tcFs0OjBdOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA1OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzE2ICAgLyBDSyAgZHJpdmUgc3RyZW5ndGg6IGNrX25yY29tcCBbNDowXTpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQwNjQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUcxOSAgIC8gQ0sgIHB1bGxfdXAgICBkcml2ZSBzdHJlbmd0aChEUyk6Ulc6MDo1Oj0weGENCitkYXRhLnNldCAweDAwMTU0MDY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHMUEgICAvIENNRCBwdWxsX3VwICAgZHJpdmUgc3RyZW5ndGgoRFMpOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4MCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIwICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDA4NCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzIxICAgLyBBX0RRMH5BX0RRNyBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBiOCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJFICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhLCBmYWxsaW5nIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBiYyAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzJGICAgLyBBX0RRMH5BX0RRNyBwdWxsX3VwICAgT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDBjMCAlbG9uZyAweDAwMDAwMDhhICAvL1ZBTFVFX1BIWVJFRzMwICAgLyBBX0RROH5BX0RRMTUgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQwYzQgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUczMSAgIC8gQV9EUTh+QV9EUTE1IHB1bGxfZG93biBPRFQ6Ulc6MDo1Oj0weGEsIHJpc2luZyAgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MGY4ICVsb25nIDB4MDAwMDAwMGEgIC8vVkFMVUVfUEhZUkVHM0UgICAvIEFfRFE4fkFfRFExNSBwdWxsX3VwICAgRFMgOlJXOjA6NTo9MHhhDQorZGF0YS5zZXQgMHgwMDE1NDBmYyAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzNGICAgLyBBX0RROH5BX0RRMTUgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YQ0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxMDAgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MCAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMDQgJWxvbmcgMHgwMDAwMDAwYSAgLy9WQUxVRV9QSFlSRUc0MSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF9kb3duIE9EVDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxMzggJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RSAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YSwgZmFsbGluZyBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KK2RhdGEuc2V0IDB4MDAxNTQxM2MgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc0RiAgIC8gQl9EUTB+Ql9EUTcgcHVsbF91cCAgIE9EVDpSVzowOjU6PTB4YSwgcmlzaW5nICBlZGdlIHNsZXcgcmF0ZTpSVzo1OjM6PTB4NA0KKw0KK2RhdGEuc2V0IDB4MDAxNTQxNDAgJWxvbmcgMHgwMDAwMDA4YSAgLy9WQUxVRV9QSFlSRUc1MCAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfZG93biBEUyA6Ulc6MDo1Oj0weGEsIGZhbGxpbmcgZWRnZSBzbGV3IHJhdGU6Ulc6NTozOj0weDQNCitkYXRhLnNldCAweDAwMTU0MTQ0ICVsb25nIDB4MDAwMDAwOGEgIC8vVkFMVUVfUEhZUkVHNTEgICAvIEJfRFE4fkJfRFExNSBwdWxsX2Rvd24gT0RUOlJXOjA6NTo9MHhhLCByaXNpbmcgIGVkZ2Ugc2xldyByYXRlOlJXOjU6Mzo9MHg0DQorZGF0YS5zZXQgMHgwMDE1NDE3OCAlbG9uZyAweDAwMDAwMDBhICAvL1ZBTFVFX1BIWVJFRzVFICAgLyBCX0RROH5CX0RRMTUgcHVsbF91cCAgIERTIDpSVzowOjU6PTB4YQ0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAyYSAgLy9WQUxVRV9QSFlSRUc1RiAgIC8gQl9EUTh+Ql9EUTE1IHB1bGxfdXAgICBPRFQ6Ulc6MDo1Oj0weGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisNCisvL2NvbnRyb2xsZXIgcmVnaXN0ZXIgaW5pdA0KK2RhdGEuc2V0IDB4MDAxNTAwMDAgJWxvbmcgMHgwMTA0MDAwNCAgICAgLy9WQUxVRV9NU1RSICAgICAgICAvIGRldmljZV9jb25maWc6Ulc6MzA6Mjo9MHgwIGZyZXF1ZW5jeV9tb2RlOlJXOjI5OjE6PTB4MCBhY3RpdmVfcmFua3M6Ulc6MjQ6NDo9MHgzIGJ1cnN0X3Jkd3I6Ulc6MTY6NDo9MHg0IGRsbF9vZmZfbW9kZTpSVzoxNToxOj0weDAgZGF0YV9idXNfd2lkdGg6Ulc6MTI6Mjo9MHgwIGdlYXJkb3duX21vZGU6Ulc6MTE6MTo9MHgwIGVuXzJ0X3RpbWluZ19tb2RlOlJXOjEwOjE6PTB4MCBidXJzdGNob3A6Ulc6OToxOj0weDAgYnVyc3RfbW9kZTpSVzo4OjE6PTB4MCBscGRkcjQ6Ulc6NToxOj0weDAgZGRyNDpSVzo0OjE6PTB4MCBscGRkcjM6Ulc6MzoxOj0weDAgbHBkZHIyOlJXOjI6MTo9MHgxIG1vYmlsZTpSVzoxOjE6PTB4MCBkZHIzOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAxMCAlbG9uZyAweDAwMDAwMDMwICAgICAvL1ZBTFVFX01SQ1RSTDAgICAgIC8gbXJfd3I6Ulc6MzE6MTo9MHgwIG1yX2FkZHI6Ulc6MTI6NDo9MHgwIG1yX3Jhbms6Ulc6NDo0Oj0weDMgc3dfaW5pdF9pbnQ6Ulc6MzoxOj0weDAgcGRhX2VuOlJXOjI6MTo9MHgwIG1wcl9lbjpSVzoxOjE6PTB4MCBtcl90eXBlOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAxNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX01SQ1RSTDEgICAgIC9tcl9kYXRhOlJXOjA6MTY6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwMjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9ERVJBVEVFTiAgICAvcmNfZGVyYXRlX3ZhbHVlOlJXOjg6Mjo9MHgwIGRlcmF0ZV9ieXRlOlJXOjQ6NDo9MHgwIGRlcmF0ZV92YWx1ZTpSVzoxOjE6PTB4MCBkZXJhdGVfZW5hYmxlOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDAyNCAlbG9uZyAweDAwODAwMDAwICAgICAvL1ZBTFVFX0RFUkFURUlOVCAgIC9tcjRfcmVhZF9pbnRlcnZhbDpSVzowOjMyOj0weDgwMDAwMA0KKw0KK2RhdGEuc2V0IDB4MDAxNTAwMzAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QV1JDVEwgICAgICAvIHN0YXlfaW5fc2VsZnJlZjpSVzo2OjE6PTB4MCBzZWxmcmVmX3N3OlJXOjU6MTo9MHgwIG1wc21fZW46Ulc6NDoxOj0weDAgZW5fZGZpX2RyYW1fY2xrX2Rpc2FibGU6Ulc6MzoxOj0weDAgZGVlcHBvd2VyZG93bl9lbjpSVzoyOjE6PTB4MCBwb3dlcmRvd25fZW46Ulc6MToxOj0weDEgc2VsZnJlZl9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwMzQgJWxvbmcgMHgwMDA1MjAwMiAgICAgLy9WQUxVRV9QV1JUTUcgICAgICAvIHNlbGZyZWZfdG9feDMyOlJXOjE2Ojg6PTB4NSBkZWVwcG93ZXJkb3duX3RvX3gxMDI0OlJXOjg6ODo9MHgyMCBwb3dlcmRvd25fdG9feDMyOlJXOjA6NTo9MHgyDQorZGF0YS5zZXQgMHgwMDE1MDAzOCAlbG9uZyAweDAwMDQwMDAzICAgICAvL1ZBTFVFX0hXTFBDVEwgICAgIC8gaHdfbHBfaWRsZV94MzI6Ulc6MTY6MTI6PTB4NCBod19scF9leGl0X2lkbGVfZW46Ulc6MToxOj0weDEgaHdfbHBfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMDUwICVsb25nIDB4MDAyMTAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDAgICAgLyByZWZyZXNoX21hcmdpbjpSVzoyMDo0Oj0weDIgcmVmcmVzaF90b194MzI6Ulc6MTI6NTo9MHgxMCByZWZyZXNoX2J1cnN0OlJXOjQ6NTo9MHgwIHBlcl9iYW5rX3JlZnJlc2g6Ulc6MjoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMDU0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUkZTSENUTDEgICAgLyByZWZyZXNoX3RpbWVyMV9zdGFydF92YWx1ZV94MzI6Ulc6MTY6MTI6PTB4MCByZWZyZXNoX3RpbWVyMF9zdGFydF92YWx1ZV94MzI6Ulc6MDoxMjo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA1OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1JGU0hDVEwyICAgIC8gcmVmcmVzaF90aW1lcjNfc3RhcnRfdmFsdWVfeDMyOlJXOjE2OjEyOj0weDAgcmVmcmVzaF90aW1lcjJfc3RhcnRfdmFsdWVfeDMyOlJXOjA6MTI6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwNjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9SRlNIQ1RMMyAgICAvIHJlZnJlc2hfbW9kZTpSVzo0OjM6PTB4MCByZWZyZXNoX3VwZGF0ZV9sZXZlbDpSVzoxOjE6PTB4MCBkaXNfYXV0b19yZWZyZXNoOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDA2NCAlbG9uZyAweDAwMzAwMDFhICAgICAvL1ZBTFVFX1JGU0hUTUcgICAgIC8gdF9yZmNfbm9tX3gzMih0cmVmaSk6Ulc6MTY6MTI6PTB4MzAgbHBkZHIzX3RyZWZid19lbjpSVzoxNToxOj0weDAgdF9yZmNfbWluOlJXOjA6OTo9MHgxYQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDAgJWxvbmcgMHgwMDI4MDAwMSAgICAgLy9WQUxVRV9JTklUMCAgICAgICAvIHNraXBfZHJhbV9pbml0OlJXOjMxOjI6PTB4MCBwb3N0X2NrZV94MTAyNDpSVzoxNjoxMDo9MHgyOCBwcmVfY2tlX3gxMDI0OlJXOjA6MTE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTAwZDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9JTklUMSAgICAgICAvIGRyYW1fcnN0bl94MTAyNDpSVzoxNjo4Oj0weDAgZmluYWxfd2FpdF94MzI6Ulc6ODo3Oj0weDAgcHJlX29jZF94MzI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMGQ4ICVsb25nIDB4MDAwMDA2MDUgICAgIC8vVkFMVUVfSU5JVDIgICAgICAgLyBpZGxlX2FmdGVyX3Jlc2V0X3gzMjpSVzo4Ojg6PTB4NiBtaW5fc3RhYmxlX2Nsb2NrX3gxOlJXOjA6NDo9MHg1DQorLy9NUjI9UkwvV0yjrDGjulJMMy9XTDGjrDKjulJMNC9XTDKjrDOjulJMOjUvV0wyo6w0o7pSTDYvV0wzOqOsNaO6Ukw3L1dMNKOsNqO6Ukw4L1dMNA0KK2RhdGEuc2V0IDB4MDAxNTAwZGMgJWxvbmcgMHgwMDgzMDAwNiAgICAgLy9WQUxVRV9JTklUMyAgICAgICAvIG1yOlJXOjE2OjE2Oj0weDgzIGVtcjpSVzowOjE2Oj0weDYNCisvL2JpdDE2LTMxo6xMUEREUjIgTVIzIHZhbHVlo6zG97z+RFPErMjPysc0MG9obaOso6gxPTM0LjOjrDI9NDAsMz00OCw0PTYwLDY9ODCjqQ0KK2RhdGEuc2V0IDB4MDAxNTAwZTAgJWxvbmcgMHgwMDAyMDAwMCAgICAgLy9WQUxVRV9JTklUNCAgICAgICAvIGVtcjI6Ulc6MTY6MTY6PTB4MiBlbXIzOlJXOjA6MTY6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAwZTQgJWxvbmcgMHgwMDA3MDAwMiAgICAgLy9WQUxVRV9JTklUNSAgICAgICAvIGRldl96cWluaXRfeDMyOlJXOjE2Ojg6PTB4NyBtYXhfYXV0b19pbml0X3gxMDI0OlJXOjA6MTA6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAwZjQgJWxvbmcgMHgwMDAwMDY2ZiAgICAgLy9WQUxVRV9SQU5LQ1RMICAgICAvIGRpZmZfcmFua193cl9nYXA6Ulc6ODo0Oj0weDYgZGlmZl9yYW5rX3JkX2dhcDpSVzo0OjQ6PTB4NiBtYXhfcmFua19yZDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDAxNTAxMDAgJWxvbmcgMHgwNzBhMGQwOCAgICAgLy9WQUxVRV9EUkFNVE1HMCAgICAvIHdyMnByZTpSVzoyNDo2Oj0weDcgdF9mYXc6Ulc6MTY6Njo9MHhhIHRfcmFzX21heDpSVzo4Ojc6PTB4ZCB0X3Jhc19taW46Ulc6MDo2Oj0weDgNCitkYXRhLnNldCAweDAwMTUwMTA0ICVsb25nIDB4MDAwMjAyMGQgICAgIC8vVkFMVUVfRFJBTVRNRzEgICAgLyB0X3hwOlJXOjE2OjU6PTB4MiByZDJwcmU6Ulc6ODo1Oj0weDIgdF9yYzpSVzowOjY6PTB4ZA0KKy8vUkw9Yml0MTYtMjGjrDGjulJMPTKjrDKjulJMPTSjrDOjulJMPTajrDSjulI9OKOsV0w9Yml0MjQtMjmjrDGjuldMPTKjrDKjuldMPTQNCisvL9XiwO+1vNbCTVIytcTF5NbDo6gweDAxMjE2MGRjo6myu8Tc0aHU8bqs09DG5sr9tcTWtT8NCitkYXRhLnNldCAweDAwMTUwMTA4ICVsb25nIDB4MDIwNDA2MDYgICAgIC8vVkFMVUVfRFJBTVRNRzIgICAgLyB3cml0ZV9sYXRlbmN5OlJXOjI0OjY6PTB4MiByZWFkX2xhdGVuY3k6Ulc6MTY6Njo9MHg0IHJkMndyOlJXOjg6Njo9MHg2IHdyMnJkOlJXOjA6Njo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDEwYyAlbG9uZyAweDAwNTAxMDAwICAgICAvL1ZBTFVFX0RSQU1UTUczICAgIC8gdF9tcnc6Ulc6MjA6MTA6PTB4NSB0X21yZDpSVzoxMjo2Oj0weDEgdF9tb2Q6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDExMCAlbG9uZyAweDA0MDEwMjA1ICAgICAvL1ZBTFVFX0RSQU1UTUc0ICAgIC8gdF9yY2Q6Ulc6MjQ6NTo9MHg0IHRfY2NkOlJXOjE2OjQ6PTB4MSB0X3JyZDpSVzo4OjQ6PTB4MiB0X3JwOlJXOjA6NTo9MHg1DQorZGF0YS5zZXQgMHgwMDE1MDExNCAlbG9uZyAweDAxMDEwMzAzICAgICAvL1ZBTFVFX0RSQU1UTUc1ICAgIC8gdF9ja3NyeDpSVzoyNDo0Oj0weDEgdF9ja3NyZTpSVzoxNjo0Oj0weDEgdF9ja2VzcjpSVzo4OjY6PTB4MyB0X2NrZTpSVzowOjQ6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxMTggJWxvbmcgMHgwMjAyMDAwMyAgICAgLy9WQUxVRV9EUkFNVE1HNiAgICAvIHRfY2tkcGRlOlJXOjI0OjQ6PTB4MiB0X2NrZHBkeDpSVzoxNjo0Oj0weDIgdF9ja2NzeDpSVzowOjQ6PTB4Mw0KK2RhdGEuc2V0IDB4MDAxNTAxMWMgJWxvbmcgMHgwMDAwMDIwMiAgICAgLy9WQUxVRV9EUkFNVE1HNyAgICAvIHRfY2twZGU6Ulc6ODo0Oj0weDIgdF9ja3BkeDpSVzowOjQ6PTB4Mg0KK2RhdGEuc2V0IDB4MDAxNTAxMzggJWxvbmcgMHgwMDAwMDAxYyAgICAgLy9WQUxVRV9EUkFNVE1HMTQgICAvIHRfeHNyOlJXOjA6MTI6PTB4MWMNCisvL2JpdDMwPTEgRGlzYWJsZSBpc3N1aW5nIG9mIFpRQ0wvTVBDKFpRIGNhbGlicmF0aW9uKSBjb21tYW5kIGF0IFNlbGYtUmVmcmVzaC9TUi1Qb3dlcmRvd24gZXhpdCCjrDc1MjDX7r+qyrzF5NbDzqowo6y1vNbC19S2r9fUy6LQwrmmxNzNy7P2yrHR08qxuty086Osc2Rpb7bByv2+3bP2tO0NCitkYXRhLnNldCAweDAwMTUwMTgwICVsb25nIDB4NDA0ODAwMTIgICAgIC8vVkFMVUVfWlFDVEwwICAgICAgLyBkaXNfYXV0b196cTpSVzozMToxOj0weDAgZGlzX3NyeF96cWNsOlJXOjMwOjE6PTB4MSB6cV9yZXNpc3Rvcl9zaGFyZWQ6Ulc6Mjk6MTo9MHgwIGRpc19tcHNteF96cWNsOlJXOjI4OjE6PTB4MCB0X3pxX2xvbmdfbm9wOlJXOjE2OjEwOj0weDQ4IHRfenFfc2hvcnRfbm9wOlJXOjA6MTA6PTB4MTINCitkYXRhLnNldCAweDAwMTUwMTg0ICVsb25nIDB4MDBhMDAxMDAgICAgIC8vVkFMVUVfWlFDVEwxICAgICAgLyB0X3pxX3Jlc2V0X25vcDpSVzoyMDoxMDo9MHhhIHRfenFfc2hvcnRfaW50ZXJ2YWxfeDEwMjQ6Ulc6MDoyMDo9MHgxMDANCitkYXRhLnNldCAweDAwMTUwMTg4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfWlFDVEwyICAgICAgLyB6cV9yZXNldDpSVzowOjE6PTB4MA0KKy8vZGZpX3RfcmRkYXRhX2VuPTMs1q7HsDc1MjDJz8nos8kyu+G1vNbCtsFtcrbBtO0NCitkYXRhLnNldCAweDAwMTUwMTkwICVsb25nIDB4MDQwMzAwMDEgICAgIC8vVkFMVUVfREZJVE1HMCAgICAgLyBkZmlfdF9jdHJsX2RlbGF5OlJXOjI0OjU6PTB4NCBkZmlfcmRkYXRhX3VzZV9zZHI6Ulc6MjM6MTo9MHgwIGRmaV90X3JkZGF0YV9lbjpSVzoxNjo2Oj0weDMgZGZpX3dyZGF0YV91c2Vfc2RyOlJXOjE1OjE6PTB4MCBkZmlfdHBoeV93cmRhdGE6Ulc6ODo2Oj0weDAgZGZpX3RwaHlfd3JsYXQ6Ulc6MDo2Oj0weDENCitkYXRhLnNldCAweDAwMTUwMTk0ICVsb25nIDB4MDAwMjA0MDQgICAgIC8vVkFMVUVfREZJVE1HMSAgICAgLyBkZmlfdF9jbWRfbGF0OlJXOjI4OjQ6PTB4MCBkZmlfdF9wYXJpbl9sYXQ6Ulc6MjQ6Mjo9MHgwIGRmaV90X3dyZGF0YV9kZWxheTpSVzoxNjo1Oj0weDIgZGZpX3RfZHJhbV9jbGtfZGlzYWJsZTpSVzo4OjQ6PTB4NCBkZmlfdF9kcmFtX2Nsa19lbmFibGU6Ulc6MDo0Oj0weDQNCitkYXRhLnNldCAweDAwMTUwMTk4ICVsb25nIDB4MDkwMDExMTEgICAgIC8vVkFMVUVfREZJTFBDRkcwICAgLyBkZmlfdGxwX3Jlc3A6Ulc6MjQ6NDo9MHg5IGRmaV9scF93YWtldXBfZHBkOlJXOjIwOjQ6PTB4MCBkZmlfbHBfZW5fZHBkOlJXOjE2OjE6PTB4MCBkZmlfbHBfd2FrZXVwX3NyOlJXOjEyOjQ6PTB4MSBkZmlfbHBfZW5fc3I6Ulc6ODoxOj0weDEgZGZpX2xwX3dha2V1cF9wZDpSVzo0OjQ6PTB4MSBkZmlfbHBfZW5fcGQ6Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwMWEwICVsb25nIDB4ODA0MDAwMDMgICAgIC8vVkFMVUVfREZJVVBEMCAgICAgLyBkaXNfYXV0b19jdHJsdXBkOlJXOjMxOjE6PTB4MSBkZmlfdF9jdHJsdXBfbWF4OlJXOjE2OjEwOj0weDQwIGRmaV90X2N0cmx1cF9taW46Ulc6MDoxMDo9MHgzDQorZGF0YS5zZXQgMHgwMDE1MDFhNCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RGSVVQRDEgICAgIC8gZGZpX3RfY3RybHVwZF9pbnRlcnZhbF9taW5feDEwMjQ6Ulc6MTY6ODo9MHgwIGRmaV90X2N0cmx1cGRfaW50ZXJ2YWxfbWF4X3gxMDI0OlJXOjA6ODo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDFhOCAlbG9uZyAweDgwMTAwMDEwICAgICAvL1ZBTFVFX0RGSVVQRDIgICAgIC8gZGZpX3BoeXVwZF9lbjpSVzozMToxOj0weDEgZGZpX3BoeXVwZF90eXBlMTpSVzoxNjoxMjo9MHgxMCBkZmlfcGh5dXBkX3R5cGUwOlJXOjA6MTI6PTB4MTANCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfREZJTUlTQyAgICAgLyBkZmlfZGF0YV9jc19wb2xhcml0eTpSVzoyOjE6PTB4MCBwaHlfZGJpX21vZGU6Ulc6MToxOj0weDAgZGZpX2luaXRfY29tcGxldGVfZW46Ulc6MDoxOj0weDANCitkYXRhLnNldCAweDAwMTUwMjAwICVsb25nIDB4MDAwMDAwMWYgICAgIC8vVkFMVUVfQUREUk1BUDAgICAgLyBhZGRybWFwX2RjaF9iaXQwOlJXOjE2OjU6PTB4MCBhZGRybWFwX2NzX2JpdDE6Ulc6ODo1Oj0weDAgYWRkcm1hcF9jc19iaXQwOlJXOjA6NTo9MHgxZg0KK2RhdGEuc2V0IDB4MDAxNTAyMDQgJWxvbmcgMHgwMDA3MDcwNyAgICAgLy9WQUxVRV9BRERSTUFQMSAgICAvIGFkZHJtYXBfYmFua19iMjpSVzoxNjo0Oj0weDcgYWRkcm1hcF9iYW5rX2IxOlJXOjg6NDo9MHg3IGFkZHJtYXBfYmFua19iMDpSVzowOjQ6PTB4Nw0KK2RhdGEuc2V0IDB4MDAxNTAyMDggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9BRERSTUFQMiAgICAvIGFkZHJtYXBfY29sX2I1OlJXOjI0OjQ6PTB4MCBhZGRybWFwX2NvbF9iNDpSVzoxNjo0Oj0weDAgYWRkcm1hcF9jb2xfYjM6Ulc6ODo0Oj0weDAgYWRkcm1hcF9jb2xfYjI6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjBjICVsb25nIDB4MGYwMDAwMDAgICAgIC8vVkFMVUVfQUREUk1BUDMgICAgLyBhZGRybWFwX2NvbF9iOTpSVzoyNDo0Oj0weGYgYWRkcm1hcF9jb2xfYjg6Ulc6MTY6NDo9MHgwIGFkZHJtYXBfY29sX2I3OlJXOjg6NDo9MHgwIGFkZHJtYXBfY29sX2I2OlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDIxMCAlbG9uZyAweDAwMDAwZjBmICAgICAvL1ZBTFVFX0FERFJNQVA0ICAgIC8gYWRkcm1hcF9jb2xfYjExOlJXOjg6NDo9MHhmIGFkZHJtYXBfY29sX2IxMDpSVzowOjQ6PTB4Zg0KK2RhdGEuc2V0IDB4MDAxNTAyMTQgJWxvbmcgMHgwNjA2MDYwNiAgICAgLy9WQUxVRV9BRERSTUFQNSAgICAvIGFkZHJtYXBfcm93X2IxMTpSVzoyNDo0Oj0weDYgYWRkcm1hcF9yb3dfYjJfMTA6Ulc6MTY6NDo9MHg2IGFkZHJtYXBfcm93X2IxOlJXOjg6NDo9MHg2IGFkZHJtYXBfcm93X2IwOlJXOjA6NDo9MHg2DQorZGF0YS5zZXQgMHgwMDE1MDIxOCAlbG9uZyAweDBmMGYwZjA2ICAgICAvL1ZBTFVFX0FERFJNQVA2ICAgIC8gYWRkcm1hcF9yb3dfYjE1OlJXOjI0OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTQ6Ulc6MTY6NDo9MHhmIGFkZHJtYXBfcm93X2IxMzpSVzo4OjQ6PTB4ZiBhZGRybWFwX3Jvd19iMTI6Ulc6MDo0Oj0weDYNCitkYXRhLnNldCAweDAwMTUwMjQwICVsb25nIDB4MDQwMDA0MDAgICAgIC8vVkFMVUVfT0RUQ0ZHICAgICAgLyB3cl9vZHRfaG9sZDpSVzoyNDo0Oj0weDQgd3Jfb2R0X2RlbGF5OlJXOjE2OjQ6PTB4MCByZF9vZHRfaG9sZDpSVzo4OjQ6PTB4NCByZF9vZHRfZGVsYXk6Ulc6Mjo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjQ0ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfT0RUTUFQICAgICAgLyByYW5rM19yZF9vZHQ6Ulc6Mjg6NDo9MHgwIHJhbmszX3dyX29kdDpSVzoyNDo0Oj0weDAgcmFuazJfcmRfb2R0OlJXOjIwOjQ6PTB4MCByYW5rMl93cl9vZHQ6Ulc6MTY6NDo9MHgwIHJhbmsxX3JkX29kdDpSVzoxMjo0Oj0weDAgcmFuazFfd3Jfb2R0OlJXOjg6NDo9MHgwIHJhbmswX3JkX29kdDpSVzo0OjQ6PTB4MCByYW5rMF93cl9vZHQ6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwMjUwICVsb25nIDB4MDAwMDE4MDUgICAgIC8vVkFMVUVfU0NIRUQgICAgICAgLyByZHdyX2lkbGVfZ2FwOlJXOjI0Ojc6PTB4MCBnbzJjcml0aWNhbF9oeXN0ZXJlc2lzOlJXOjE2Ojg6PTB4MCBscHJfbnVtX2VudHJpZXM6Ulc6ODo2Oj0weDE4IHBhZ2VjbG9zZTpSVzoyOjE6PTB4MSBwcmVmZXJfd3JpdGU6Ulc6MToxOj0weDAgZm9yY2VfbG93X3ByaV9uOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDI1NCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1NDSEVEMSAgICAgIC8gcGFnZWNsb3NlX3RpbWVyOlJXOjA6ODo9MHgwDQorDQorZGF0YS5zZXQgMHgwMDE1MDMwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCRzAgICAgICAgIC8gZGlzX2NvbGxpc2lvbl9wYWdlX29wdDpSVzo0OjE6PTB4MCBkaXNfYWN0X2J5cGFzczpSVzoyOjE6PTB4MCBkaXNfcmRfYnlwYXNzOlJXOjE6MTo9MHgwIGRpc193YzpSVzowOjE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAzMDQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9EQkcxICAgICAgICAvIGRpc19kcTpSVzoxOjE6PTB4MCBkaXNfaGlnOlJXOjA6MTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDMwYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX0RCR0NNRCAgICAgIC8gY3RybHVwZDpSV1NDOjU6MTo9MHgwIHpxX2NhbGliX3Nob3J0OlJXU0M6NDoxOj0weDAgcmFuazNfcmVmcmVzaDpSV1NDOjM6MTo9MHgwIHJhbmsyX3JlZnJlc2g6UldTQzoyOjE6PTB4MCByYW5rMV9yZWZyZXNoOlJXU0M6MToxOj0weDAgcmFuazBfcmVmcmVzaDpSV1NDOjA6MTo9MHgwDQorDQorZGF0YS5zZXQgMHgwMDE1MDQwMCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDQ0ZHICAgICAgIC8gYmxfZXhwX21vZGU6Ulc6ODoxOj0weDAgcGFnZW1hdGNoX2xpbWl0OlJXOjE6MTo9MHgwIGdvMmNyaXRpY2FsX2VuOlJXOjA6MTo9MHgwDQorICAgIA0KKy8vZGRyX3Byb3JpdHlfY29uZmlnDQorLy9wb3J0IHJlYWQgc3RhdGljIHByaW9yaXR5IGJpdDAtOSwgYml0MC00IHRpbWVvdXQsIGJpdDUtOSBwcm9yaXR5DQorZGF0YS5zZXQgMHgwMDE1MDQwNCAlbG9uZyAweDAwMDAxM2ZmICAgICAvL1ZBTFVFX1BDRkdSXzAgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCitkYXRhLnNldCAweDAwMTUwNGI0ICVsb25nIDB4MDAwMDEwMjAgICAgIC8vVkFMVUVfUENGR1JfMSAgICAgLyByZHdyX29yZGVyZWRfZW46Ulc6MTY6MTo9MHgwIHJkX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCByZF9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgcmRfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgcmVhZF9yZW9yZGVyX2J5cGFzc19lbjpSVzoxMToxOj0weDAgcmRfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDIwDQorZGF0YS5zZXQgMHgwMDE1MDU2NCAlbG9uZyAweDAwMDAxMDAwICAgICAvL1ZBTFVFX1BDRkdSXzIgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDYxNCAlbG9uZyAweDAwMDAxMDA0ICAgICAvL1ZBTFVFX1BDRkdSXzMgICAgIC8gcmR3cl9vcmRlcmVkX2VuOlJXOjE2OjE6PTB4MCByZF9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgcmRfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHJkX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHJlYWRfcmVvcmRlcl9ieXBhc3NfZW46Ulc6MTE6MTo9MHgwIHJkX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHg0DQorLy9wb3J0IHdyaXRlIHN0YXRpYyBwcmlvcml0eSBiaXQwLTkNCitkYXRhLnNldCAweDAwMTUwNDA4ICVsb25nIDB4MDAwMDEzZmYgICAgIC8vVkFMVUVfUENGR1dfMCAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHgzZmYNCitkYXRhLnNldCAweDAwMTUwNGI4ICVsb25nIDB4MDAwMDEwZmYgICAgIC8vVkFMVUVfUENGR1dfMSAgICAgLyB3cl9wb3J0X3BhZ2VtYXRjaF9lbjpSVzoxNDoxOj0weDAgd3JfcG9ydF91cmdlbnRfZW46Ulc6MTM6MTo9MHgwIHdyX3BvcnRfYWdpbmdfZW46Ulc6MTI6MTo9MHgxIHdyX3BvcnRfcHJpb3JpdHk6Ulc6MDoxMDo9MHhmZg0KK2RhdGEuc2V0IDB4MDAxNTA1NjggJWxvbmcgMHgwMDAwMTAzZiAgICAgLy9WQUxVRV9QQ0ZHV18yICAgICAvIHdyX3BvcnRfcGFnZW1hdGNoX2VuOlJXOjE0OjE6PTB4MCB3cl9wb3J0X3VyZ2VudF9lbjpSVzoxMzoxOj0weDAgd3JfcG9ydF9hZ2luZ19lbjpSVzoxMjoxOj0weDEgd3JfcG9ydF9wcmlvcml0eTpSVzowOjEwOj0weDNmDQorZGF0YS5zZXQgMHgwMDE1MDYxOCAlbG9uZyAweDAwMDAxMDVmICAgICAvL1ZBTFVFX1BDRkdXXzMgICAgIC8gd3JfcG9ydF9wYWdlbWF0Y2hfZW46Ulc6MTQ6MTo9MHgwIHdyX3BvcnRfdXJnZW50X2VuOlJXOjEzOjE6PTB4MCB3cl9wb3J0X2FnaW5nX2VuOlJXOjEyOjE6PTB4MSB3cl9wb3J0X3ByaW9yaXR5OlJXOjA6MTA6PTB4NWYNCisvL3BvcnQgcmVhZCByZWdpb24gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDQ5NCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzAgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KK2RhdGEuc2V0IDB4MDAxNTA1NDQgJWxvbmcgMHgwMDIwMDAwZSAgICAgLy9WQUxVRV9QQ0ZHUU9TMF8xICAvIHJxb3NfbWFwX3JlZ2lvbjI6Ulc6MjQ6Mjo9MHgwIHJxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgyIHJxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHJxb3NfbWFwX2xldmVsMjpSVzo4OjQ6PTB4MCBycW9zX21hcF9sZXZlbDE6Ulc6MDo0Oj0weGUNCitkYXRhLnNldCAweDAwMTUwNWY0ICVsb25nIDB4MDAyMDAwMGUgICAgIC8vVkFMVUVfUENGR1FPUzBfMiAgLyBycW9zX21hcF9yZWdpb24yOlJXOjI0OjI6PTB4MCBycW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MiBycW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCBycW9zX21hcF9sZXZlbDI6Ulc6ODo0Oj0weDAgcnFvc19tYXBfbGV2ZWwxOlJXOjA6NDo9MHhlDQorZGF0YS5zZXQgMHgwMDE1MDZhNCAlbG9uZyAweDAwMjAwMDBlICAgICAvL1ZBTFVFX1BDRkdRT1MwXzMgIC8gcnFvc19tYXBfcmVnaW9uMjpSVzoyNDoyOj0weDAgcnFvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDIgcnFvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgcnFvc19tYXBfbGV2ZWwyOlJXOjg6NDo9MHgwIHJxb3NfbWFwX2xldmVsMTpSVzowOjQ6PTB4ZQ0KKy8vcG9ydCB3cml0ZSByZWdpb24gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDQ5YyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8wIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCitkYXRhLnNldCAweDAwMTUwNTRjICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MwXzEgLyB3cW9zX21hcF9yZWdpb24xOlJXOjIwOjI6PTB4MCB3cW9zX21hcF9yZWdpb24wOlJXOjE2OjI6PTB4MCB3cW9zX21hcF9sZXZlbDpSVzowOjQ6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA1ZmMgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzBfMiAvIHdxb3NfbWFwX3JlZ2lvbjE6Ulc6MjA6Mjo9MHgwIHdxb3NfbWFwX3JlZ2lvbjA6Ulc6MTY6Mjo9MHgwIHdxb3NfbWFwX2xldmVsOlJXOjA6NDo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDZhYyAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMF8zIC8gd3Fvc19tYXBfcmVnaW9uMTpSVzoyMDoyOj0weDAgd3Fvc19tYXBfcmVnaW9uMDpSVzoxNjoyOj0weDAgd3Fvc19tYXBfbGV2ZWw6Ulc6MDo0Oj0weDANCisvL3ZwciB0aW1lb3V0LCByZWdpb24yIGlzIHJlZCBxdWV1ZQ0KK2RhdGEuc2V0IDB4MDAxNTA0OTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8wICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU0OCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdRT1MxXzEgIC8gcnFvc19tYXBfdGltZW91dHI6Ulc6MTY6MTE6PTB4MCBycW9zX21hcF90aW1lb3V0YjpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNWY4ICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1FPUzFfMiAgLyBycW9zX21hcF90aW1lb3V0cjpSVzoxNjoxMTo9MHgwIHJxb3NfbWFwX3RpbWVvdXRiOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YTggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHUU9TMV8zICAvIHJxb3NfbWFwX3RpbWVvdXRyOlJXOjE2OjExOj0weDAgcnFvc19tYXBfdGltZW91dGI6Ulc6MDoxMTo9MHgwDQorLy92cHcgdGltZW91dA0KK2RhdGEuc2V0IDB4MDAxNTA0YTAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMCAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorZGF0YS5zZXQgMHgwMDE1MDU1MCAlbG9uZyAweDAwMDAwMDAwICAgICAvL1ZBTFVFX1BDRkdXUU9TMV8xIC8gd3Fvc19tYXBfdGltZW91dDpSVzowOjExOj0weDANCitkYXRhLnNldCAweDAwMTUwNjAwICVsb25nIDB4MDAwMDAwMDAgICAgIC8vVkFMVUVfUENGR1dRT1MxXzIgLyB3cW9zX21hcF90aW1lb3V0OlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTA2YjAgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QQ0ZHV1FPUzFfMyAvIHdxb3NfbWFwX3RpbWVvdXQ6Ulc6MDoxMTo9MHgwDQorLy9pbiBDQU0gc2V0DQorZGF0YS5zZXQgMHgwMDE1MDI1YyAlbG9uZyAweDBmMDAwMDAxICAgICAvL1ZBTFVFX1BFUkZIUFIxICAgIC8gaHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgaHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDI2NCAlbG9uZyAweDBmMDAwMDdmICAgICAvL1ZBTFVFX1BFUkZMUFIxICAgIC8gbHByX3hhY3RfcnVuX2xlbmd0aDpSVzoyNDo4Oj0weGYgbHByX21heF9zdGFydmU6Ulc6MDoxNjo9MHg3Zg0KK2RhdGEuc2V0IDB4MDAxNTAyNmMgJWxvbmcgMHgwZjAwMDA3ZiAgICAgLy9WQUxVRV9QRVJGV1IxICAgICAvIHdfeGFjdF9ydW5fbGVuZ3RoOlJXOjI0Ojg6PTB4ZiB3X21heF9zdGFydmU6Ulc6MDoxNjo9MHg3Zg0KK2RhdGEuc2V0IDB4MDAxNTAyNzQgJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBSMSAgICAvIHZwcl90aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KK2RhdGEuc2V0IDB4MDAxNTAyNzggJWxvbmcgMHgwMDAwMDAwMCAgICAgLy9WQUxVRV9QRVJGVlBXMSAgICAvIHZwd190aW1lb3V0X3JhbmdlOlJXOjA6MTE6PTB4MA0KKy8vcG9ydCBleHRlcm4gc3RhdGljIHByaW9yaXR5CQ0KKy8vZGF0YS5zZXQgMHgwMDEzZDAzNCAlbG9uZyAweGYwZjAwMDAwIC8vcG9ydDAsMSBycW9zPTAoTFBSKTsgcG9ydDIsMyBycW9zPUYoSFBSKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQorLy93YWl0IGFsbCByZWdpc3RlciBjb25maWdlciBkb25lIGluIGhhcmR3YXJlDQorV2FpdCAwLjAxcw0KKw0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvL2N0cm9sbGVyIGFuZCBpbm5vIHBoeSByZWdpc3RlcnMgY29uZmlnZXIgZG9uZQ0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCitkYXRhLnNldCAweDAxMzA2MTAwICVsb25nIDB4MGFmZmZmYzAgLy9yZWxlYXNlIGRkciBjdGwoYml0MTEpIGFuZCBheGlfc24gcmVzZXQoYml0Ni05KSAgYW5kIHBoeSByZXNldChiaXQxMikgIC8vyejWw8+1zbO8xLTmxvfWtQ0KK1dhaXQgMC4wMXMNCisNCisvL3N3IGNvbmZpZyBkb25lDQorZGF0YS5zZXQgMHgwMDE1MDMyMCAlbG9uZyAweDAwMDAwMDAwIC8vU1dDVEwgICAgICAvLyBzd19kb25lOlJXOjA6MTo9MHgwDQorLy9jaGVjayBwaHkgYXV0byBpbml0IGRvbmUsIHdhaXQgMHgwMDE1MDMyNCBiaXQwID0wDQorV2FpdCAwLjAxcw0KKw0KKy8vcG93ZXIgb24gUEhZIFBMTCANCitkYXRhLnNldCAweDAwMTU0M2I0ICVsb25nIDB4MDAwMDAwMTggLy9QSFlSRUdFRCxQTExDTEtPVVRFTjpSVzo0OjE6PTB4MSxSZXNlcnZlZDpSVzoyOjI6PTB4MiwgcGxsX3BkX2VuOlJXOjE6MTo9MHgwLCBmYmRpdls4XTpSVzowOjE6PTB4MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KKy8vd2FpdCBQSFkgUExMICBsb2NrLFBIWVJFR0Y4WzBdUGxsIGxvY2sgaW5kaWNhdGUgc2lnbmFsDQorDQorV2FpdCAwLjAxcw0KKw0KKy8vUEhZIERMTCBpbml0IHN0YXJ0LCBmYWxsIGVkZ2UgdHJpZ2dlcg0KK2RhdGEuc2V0IDB4MDAxNTQxN2MgJWxvbmcgMHgwMDAwMDAwYSAvL1BIWVJFRzVGLCAgUEhZIGluaXQgc3RhcnQ6NToxOj0weDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL3dhaXQgZGxsIGxvY2ssIHBoeSBpbml0IGRvbmUsIFBIWVJFR0Y4WzFdUGh5IGluaXQgY29tcGxldGUgc2lnbmFsDQorV2FpdCAwLjAxcw0KKw0KKy8vZW5hYmxlIGNvbnRyb2xsZXIgZGZpX2luaXRfY29tcGxldGVfZW4gdG8gc3RhcnQgc2RyYW0gaW5pdCwgdGhlbiB3aWxsIHNlbmQgZHJhbSBpbml0IGNtZA0KK2RhdGEuc2V0IDB4MDAxNTAxYjAgJWxvbmcgMHgwMDAwMDAwMSAvL0RGSU1JU0MgICAgLy8gcGh5X2RiaV9tb2RlOlJXOjE6MTo9MHgwIGRmaV9pbml0X2NvbXBsZXRlX2VuOlJXOjA6MTo9MHgxCSAgICDKx7fxyKW19KOsu/LV37bU06bQ3rjEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCisvL2NoZWNrIGNvbnRyb2xsZXIgc3RhdHVzIGlzIHNkcmFtIGluaXQgZG9uZSx3YWl0IDB4MDAxNTAwMDQgYml0MC0yICE9MA0KK1dhaXQgMC4wMXMNCitkYXRhLnNldCAweDAwMTUwMWIwICVsb25nIDB4MDAwMDAwMDAgLy9kZmltaXNjWzBdIHBoeV9kYmlfbW9kZTpSVzoxOjE6PTB4MCBkZmlfaW5pdF9jb21wbGV0ZV9lbjpSVzowOjE6PTB4MA0KKw0KKy8vcGh5IERRUyBnYXRlIHRyYWluaW5nIHN0YXJ0DQorZGF0YS5zZXQgMHgwMDE1NDAwOCAlbG9uZyAweDAwMDAwMDAxIC8vUEhZUkVHMDIsYml0MDpEUVMgZ2F0aW5nIGNhbGlicmF0aW9uIGNvbnRyb2w9MSwgYml0MTpEUVMgZ2F0aW5nIGJ5cGFzcyBtb2RlIHNlbGVjdD0wDQorLy93YWl0IHRyYWluaW5nIGRvbmUNCitXYWl0IDAuMXMNCisvL3BoeSBEUVMgZ2F0ZSB0cmFpbmluZyBzdG9wDQorZGF0YS5zZXQgMHgwMDE1NDAwOCAlbG9uZyAweDAwMDAwMDAwIC8vUEhZUkVHMDIsYml0MDpEUVMgZ2F0aW5nIGNhbGlicmF0aW9uIGNvbnRyb2w9MCwgYml0MTpEUVMgZ2F0aW5nIGJ5cGFzcyBtb2RlIHNlbGVjdD0wDQorDQorLy9lbmFibGUgcG9ydF9uDQorZGF0YS5zZXQgMHgwMDE1MDQ5MCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzAgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQ0KK2RhdGEuc2V0IDB4MDAxNTA1NDAgJWxvbmcgMHgwMDAwMDAwMSAgICAgLy9WQUxVRV9QQ1RSTF8xICAgICAvIHBvcnRfZW46Ulc6MDoxOj0weDENCitkYXRhLnNldCAweDAwMTUwNWYwICVsb25nIDB4MDAwMDAwMDEgICAgIC8vVkFMVUVfUENUUkxfMiAgICAgLyBwb3J0X2VuOlJXOjA6MTo9MHgxDQorZGF0YS5zZXQgMHgwMDE1MDZhMCAlbG9uZyAweDAwMDAwMDAxICAgICAvL1ZBTFVFX1BDVFJMXzMgICAgIC8gcG9ydF9lbjpSVzowOjE6PTB4MQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9qdGFnX3N3aXRjaF9zY3JpcHQuY21tIGIvYXAvYnVpbGQvc2NyaXB0cy90cmFjZTMyL3p4Mjk3NTIwdjMvc3lzL2p0YWdfc3dpdGNoX3NjcmlwdC5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2YzMzJjOQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3N5cy9qdGFnX3N3aXRjaF9zY3JpcHQuY21tCkBAIC0wLDAgKzEsMTc0IEBACithcmVhLnJlc2V0DQorDQorbG9jYWwgJmp0YWdudW0gJmp0YWdmdW5jDQorDQorZW50cnkgJmp0YWdudW0gJmp0YWdmdW5jDQorDQoraWYgc3RhdGUucnVuKCkNCisoDQorCWJyZWFrDQorKQ0KKw0KKztkaXNhYmxlIG1tdQ0KKzsmY3I9ZGF0YS5sb25nKGMxNToweDEpDQorO3RtcD0mY3ImKH4weDEpDQorO3Blci5zIGMxNToweDEgJUxPTkcgJnRtcA0KKw0KKzsgc2V0IEp0YWcgcGFkIA0KKzsgSnRhZzAsIDA6bTAganRhZywgMTpyNyBqdGFnLCAyOnpzcCBqdGFnLCAzOmE1MyBqdGFnDQoraWYgKCZqdGFnbnVtPT0wKQ0KKygNCisgICAgaWYgKCZqdGFnZnVuYz09MCkNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMGMpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyNCkNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZjMDANCisgICAgICAgICZ0bXAxPSZ0bXAxJjB4ZjgzZmZmZmYNCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMGMgJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyNCAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MSkNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMGMpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyNCkNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZjMDANCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4N2MwMDAwMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAwYyAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0yKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAwYykNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmMwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgxNTUNCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4N2MwMDAwMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAwYyAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0zKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAwYykNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmMwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgyYWENCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4N2MwMDAwMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAwYyAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKykNCisNCisNCis7IHNldCBKdGFnIHBhZCANCis7IFNEMC9KdGFnMSwgMDptMCBqdGFnLCAxOnI3IGp0YWcsIDI6enNwIGp0YWcsIDM6YTUzIGp0YWcNCitpZiAoJmp0YWdudW09PTEpDQorKA0KKyAgICBpZiAoJmp0YWdmdW5jPT0wKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAwOCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmMwMGZmZg0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgxNTUwMDANCisgICAgICAgICZ0bXAxPSZ0bXAxJjB4ZmZjMWZmZmYNCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMDggJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyNCAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MSkNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMDgpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyNCkNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZlMDANCisgICAgICAgICZ0bXAwPSZ0bXAwfDB4MTU1DQorICAgICAgICAmdG1wMT0mdG1wMXwweDNlMDAwMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAwOCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKyAgICBpZiAoJmp0YWdmdW5jPT0yKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMTMwMzAwOCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDI0KQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmUwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgyYWENCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4M2UwMDAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDA4ICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMjQgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorICAgIGlmICgmanRhZ2Z1bmM9PTMpDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAxMzAzMDA4KQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMjQpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmZTAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDNmZg0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHgweDNlMDAwMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAwOCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDI0ICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKykNCisNCis7IHNldCBKdGFnIHBhZCANCis7IDA6bTAganRhZywgMTpyNyBqdGFnLCAyOnpzcCBqdGFnLCAzOmE1MyBqdGFnDQoraWYgKCZqdGFnbnVtPT0yKQ0KKygNCisJICBpZiAoJmp0YWdmdW5jPT0wKQ0KKyAgICAoDQorICAgICAgICAmdG1wMD1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAxMCkNCisgICAgICAgICZ0bXAxPWRhdGEubG9uZyhTRDoweDAwMTNjMDJjKQ0KKyAgICAgICAgJnRtcDA9JnRtcDAmMHhmZmZmZmUwMA0KKyAgICAgICAgJnRtcDA9JnRtcDB8MHgyYWENCisgICAgICAgICZ0bXAxPSZ0bXAxJjB4ZmZmZmZmZTANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMTAgJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyYyAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MSkNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMjgpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyYykNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZlMDANCisgICAgICAgICZ0bXAxPSZ0bXAxfDB4MWYNCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDEzMDMwMjggJUxFICVMT05HICAmdG1wMA0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMDEzYzAyYyAlTEUgJUxPTkcgICZ0bXAxDQorICAgICkNCisgICAgaWYgKCZqdGFnZnVuYz09MikNCisgICAgKA0KKyAgICAgICAgJnRtcDA9ZGF0YS5sb25nKFNEOjB4MDEzMDMwMjgpDQorICAgICAgICAmdG1wMT1kYXRhLmxvbmcoU0Q6MHgwMDEzYzAyYykNCisgICAgICAgICZ0bXAwPSZ0bXAwJjB4ZmZmZmZlMDANCisgICAgICAgICZ0bXAwPSZ0bXAwfDB4MTU1DQorICAgICAgICAmdG1wMT0mdG1wMXwweDFmDQorICAgICAgICBkYXRhLnNldCBTRDoweDAxMzAzMDI4ICVMRSAlTE9ORyAgJnRtcDANCisgICAgICAgIGRhdGEuc2V0IFNEOjB4MDAxM2MwMmMgJUxFICVMT05HICAmdG1wMQ0KKyAgICApDQorICAgIGlmICgmanRhZ2Z1bmM9PTMpDQorICAgICgNCisgICAgICAgICZ0bXAwPWRhdGEubG9uZyhTRDoweDAxMzAzMDI4KQ0KKyAgICAgICAgJnRtcDE9ZGF0YS5sb25nKFNEOjB4MDAxM2MwMmMpDQorICAgICAgICAmdG1wMD0mdG1wMCYweGZmZmZmZTAwDQorICAgICAgICAmdG1wMD0mdG1wMHwweDJhYQ0KKyAgICAgICAgJnRtcDE9JnRtcDF8MHgxZg0KKyAgICAgICAgZGF0YS5zZXQgU0Q6MHgwMTMwMzAyOCAlTEUgJUxPTkcgICZ0bXAwDQorICAgICAgICBkYXRhLnNldCBTRDoweDAwMTNjMDJjICVMRSAlTE9ORyAgJnRtcDENCisgICAgKQ0KKykNCisNCisNCisJRElBTE9HDQorCSgNCisJCWhlYWRlciAiSnRhZyBTd2l0Y2giDQorCQkJDQorCQlQT1MgMC4gMC4gNTAuIDUuDQorCQlCT1ggIiIJDQorCQkJCQ0KKwkJUE9TIDEuIDEuIDM5LiAxLg0KKwkJVEVYVCAix9C7u7PJuaajrMfr1tjQwtGh1PFKdGFno6yyorzT1Ni9xbG+LiINCisJCQkJDQorCQlQT1MgMjAuIDMuIDEwLiAxLiANCisJCUJVVFRPTiAiT0siICJESUFMT0cuRU5EIiAJCQ0KKwkpDQorDQorDQorO2V4aXQ6DQorO3Jlc3RvcmUgbW11IGNvbmZpZw0KKztwZXIucyBjMTU6MHgxICVMT05HICZjcg0KK3ByaW50ICJKdGFnICZqdGFnbnVtIHN3aXRjaCB0byBmdW5jdGlvbiAmanRhZ2Z1bmMiDQorDQorZW5kZG8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My92M2VfbGludXhfcG9vbF9kZWJ1Zy5jbW0gYi9hcC9idWlsZC9zY3JpcHRzL3RyYWNlMzIvengyOTc1MjB2My92M2VfbGludXhfcG9vbF9kZWJ1Zy5jbW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDIxMGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL2FwL2J1aWxkL3NjcmlwdHMvdHJhY2UzMi96eDI5NzUyMHYzL3YzZV9saW51eF9wb29sX2RlYnVnLmNtbQpAQCAtMCwwICsxLDYzIEBACisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qDQorLy8qICAgICAgICAgICAgICAgICAgQ29weXJpZ2h0IChjKSAyMDE2IFpURSBDb3Jwb3JhdGlvbi4NCisvLyoNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8gZ2VhbmZlbmcNCisNCisvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQorLy8qIL3Fsb694s72x/jT8g0KKy8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCisvL7S0vajSu7j2tLC/2qO7DQorJndpZHRoPTIwLg0KKyZuYW1lV2lkdGg9MjAuDQorJmZpbGVDb2x1bW5zPTIwMC4NCismZmlsZUxpbmVzPTUwMC4NCisNCithcmVhLmNyZWF0ZSB0cmFjZSAmZmlsZUNvbHVtbnMgICZmaWxlTGluZXMNCithcmVhLmNsZWFyIHRyYWNlDQorYXJlYS5zZWxlY3QgdHJhY2UNCisNCisvL7Tyv6rOxLz+o7sNCismZGlyPW9zLnB3ZCgpKyJcbG9nIg0KK2lmICFvcy5kaXIoJmRpcikNCisoDQorICAgIG1rZGlyICZkaXIgIA0KKykgDQorJmZpbGU9IiZkaXJccmVzdWx0LnR4dCINCithcmVhLm9wZW4gdHJhY2UgJmZpbGUNCithcmVhLnZpZXcgdHJhY2UNCisNCisvL8jnuftUMzLU2tTL0NDSqrbP16Gjuw0KK2lmIHJ1bigpDQorKA0KKyAgICBicmVhaw0KKykNCisNCismbm9kZT12LnZhbHVlKGdfUG9vbEFsbG9jSW5mby5oZWFkLkhFQUQpDQorDQorcHJpbnQgImFsbG9jYXRlZCB1YiBTdGFydDotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCit3aGlsZSAhKCZub2RlPT0wKQ0KKygNCisJJmZpbGU9di52YWx1ZSgoKHBvb2xfZGVidWdfbm9kZV90Kikmbm9kZSktPmZpbGUpDQorCSZsaW5lPXYudmFsdWUoKChwb29sX2RlYnVnX25vZGVfdCopJm5vZGUpLT5saW5lKQ0KKyAgICAmc2l6ZT12LnZhbHVlKCgocG9vbF9kZWJ1Z19ub2RlX3QqKSZub2RlKS0+c2l6ZSkNCisJJnRocmVhZD12LnZhbHVlKCgocG9vbF9kZWJ1Z19ub2RlX3QqKSZub2RlKS0+dGhyZWFkX2lkKQ0KKwkmbmFtZT12LnN0cmluZygoKHN0cnVjdCB0YXNrX3N0cnVjdCopJnRocmVhZCktPmNvbW0pDQorCSZ0aWNrPXYudmFsdWUoKChwb29sX2RlYnVnX25vZGVfdCopJm5vZGUpLT50aW1lKQ0KKw0KKwkmZmlsZT1kYXRhLnN0cmluZyhkOiZmaWxlKQ0KKwkmbGluZT1mb3JtYXQuZGVjaW1hbCgxMC4sICZsaW5lKQ0KKwkmc2l6ZT1mb3JtYXQuZGVjaW1hbCgxMC4sICZzaXplKQ0KKwkmdGljaz1mb3JtYXQuZGVjaW1hbCgxMC4sICZ0aWNrKQ0KKwlwcmludCAibm9kZTogIisiJm5vZGUiKyIgIGFsbG9jX3RpY2s6ICIrIiZ0aWNrIisiICBzaXplOiAiKyImc2l6ZSIrIiAgbGluZTogIisiJmxpbmUiKyIgIGZpbGU6ICIrIiZmaWxlIisiICB0aHJlYWQ6ICIrIiZuYW1lIg0KKwkmbm9kZT12LnZhbHVlKCgoVF9aT3NzX05vZGUqKSZub2RlKS0+bmV4dCkNCispDQorDQorcHJpbnQgImFsbG9jYXRlZCB1YiBFbmQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSINCisNCisNCisNCithcmVhLmNsb3NlIHRyYWNlDQorRU5ERE8NCisvLyoqKirUy9DQveHK+CoqKioqDQo=