TWVnYXBhdGNoIGZyb20gZGViaWFuCgpPcmlnaW5hbCBVUkw6IGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2gvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZi5negoKRmlsdGVyZWQgd2l0aDoKICBmaWx0ZXJkaWZmIC1wMSAteCBSRUFETUUgLXggJ2RlYmlhbi8qJwoKClVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbdW5tYWludGFpbmVkXQoKSW5kZXg6IGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL2RvYy9oZGR0ZW1wLjgKKysrIGhkZHRlbXAtMC4zLWJldGExNS9kb2MvaGRkdGVtcC44CkBAIC01OCw2ICs1OCwxMCBAQCBFeGVjdXRlIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwCiAuQiBcLWYsIFwtXC1maWxlPVxmSWZpbGVcZkkKIFNwZWNpZnkgdGhlIGRhdGFiYXNlIGZpbGUgdG8gdXNlLgogLlRQCisuQiBcLUYsIFwtXC1mb3JlZ3JvdW5kCitEb24ndCBmb3JrIGludG8gdGhlIGJhY2tncm91bmQgZXZlbiBpbiBkYWVtb24gbW9kZS4gIFRoaXMgaXMgdXNlZnVsCit3aGVuIHJ1bm5pbmcgdW5kZXIgYSBwcm9jZXNzIHN1cGVydmlzb3IuCisuVFAKIC5CIFwtbCwgXC1cLWxpc3Rlbj1cZklhZGRyXGZSCiBMaXN0ZW4gb24gYSBzcGVjaWZpYyBhZGRyZXNzLiAgXGZJYWRkclxmUiBpcyBhIHN0cmluZyBjb250YWluaW5nIGEKIGhvc3QgbmFtZSBvciBhIG51bWVyaWMgaG9zdCBhZGRyZXNzIHN0cmluZy4gIFRoZSBudW1lcmljIGhvc3QgYWRkcmVzcwpAQCAtODAsNiArODQsOSBAQCBzZWNvbmRzLgogLkIgXC1xLCBcLVwtcXVpZXQKIERvbid0IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuCiAuVFAKKy5CIFwtdSwgXC1cLXVuaXQ9XGZJQ3xGXGZSCitGb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgRmFocmVuaGVpdC4KKy5UUAogLkIgXC12LCBcLVwtdmVyc2lvbgogRGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLgogLlRQCkBAIC05Niw3ICsxMDMsNyBAQCBMaXN0ZW4gb24gSVB2NiBzb2NrZXRzIG9ubHkuCiAuU0ggIkRSSVZFIERBVEFCQVNFIgogSWYgeW91IGtub3cgeW91ciBkcml2ZSBoYXMgYSB0ZW1wZXJhdHVyZSBzZW5zb3IgYnV0IGl0IGlzIGJlaW5nCiByZXBvcnRlZCB1bnN1cHBvcnRlZCwgdGVsbCBtZSB3aGljaCBtb2RlbCBhbmQgd2hpY2ggbWFudWZhY3R1cmVyIGl0Ci1pcywgYW5kL29yIGp1c3QgYWRkIGEgbmV3IGVudHJ5IGluIC91c3Ivc2hhcmUvbWlzYy9oZGR0ZW1wLmRiLiAgRWFjaAoraXMsIGFuZC9vciBqdXN0IGFkZCBhIG5ldyBlbnRyeSBpbiAvZXRjL2hkZHRlbXAuZGIuICBFYWNoCiBsaW5lIG9mIGhkZHRlbXAuZGIgaXMgZWl0aGVyIGEgY29tbWVudCwgYSBibGFuayBsaW5lIG9yIGEgbGluZQogY29udGFpbmluZzoKIC5UUApAQCAtMTEyLDcgKzExOSw3IEBAIHNldCBvZiBkcml2ZXMgZnJvbSBpdHMgbW9kZWwgbmFtZSBvciBmcm8KIEZlZWRiYWNrIGlzIHdlbGNvbWUgKHNlZSB0aGUgUkVQT1JUIHNlY3Rpb24gYmVsb3cpLgogCiAuU0ggIlRDUC9JUCBEQUVNT04gTU9ERSIKLUV4ZW1wbGUgb2YgdHlwZSBmb3JjaW5nOgorRXhhbXBsZSBvZiB0eXBlIGZvcmNpbmc6CiAuUFAKICMgaGRkdGVtcCBTQVRBOi9kZXYvc2RhIFBBVEE6L2Rldi9oZGEKIC5QUApAQCAtMTIwLDcgKzEyNyw3IEBAIFRvIHRlc3QKIC5CIGhkZHRlbXAKIGluIGRhZW1vbiBtb2RlLCBzdGFydCBpdCBsaWtlIHRoaXM6CiAuUFAKLSMgaGRkdGVtcCAtZCAvZGV2L2hkW2FiY2RdCisjIGhkZHRlbXAgXC1kIC9kZXYvaGRbYWJjZF0KIC5QUAogLlBQCiBhbmQgdXNlCkBAIC0xNjUsOCArMTcyLDggQEAgYW5kIDEyIGFyZSBvZnRlbiByZXBvcnRlZCB0byBtYXRjaCBhIHRlbQogaW52ZXN0aWdhdGlvbiB0aGV5IGRvIG5vdC4gIEJ1dCBmaWVsZHMgMTk0ICh3aGljaCBpcyB0aGUgc3RhbmRhcmQKIGZpZWxkIGZvciB0ZW1wZXJhdHVyZSkgYW5kIDIzMSBhcmUgZ29vZCBjYW5kaWRhdGVzLgogLlBQCi1UaGVuLCB5b3UgY2FuIHNlbmQgbWUgYSByZXBvcnQgd2l0aCBvdXRwdXRzIGZyb20gYGhkZHRlbXAgLS1kZWJ1ZyAuLi4nLAotYHNtYXJ0Y3RsJyBvciBgaGRwYXJtIC1pIC4uLicsIGFuZC9vciBhZGQgYW4gZW50cnkgaW4gaGRkdGVtcC5kYgorVGhlbiwgeW91IGNhbiBzZW5kIG1lIGEgcmVwb3J0IHdpdGggb3V0cHV0cyBmcm9tIGBoZGR0ZW1wIFwtXC1kZWJ1ZyAuLi4nLAorYHNtYXJ0Y3RsJyBvciBgaGRwYXJtIFwtaSAuLi4nLCBhbmQvb3IgYWRkIGFuIGVudHJ5IGluIGhkZHRlbXAuZGIKIHlvdXJzZWxmLgogCiAuU0ggIkJVR1MiCkBAIC0xODMsNSArMTkwLDUgQEAgc3VwcG9ydGVkIG9uIGkzODYgYXJjaGl0ZWN0dXJlcyBvbmx5LgogLlBQCiBFbW1hbnVlbCBWYXJhZ25hdCAoaGRkdGVtcEBndXp1Lm5ldCkuCiAuUFAKLVRoaXMgbWFudWFsIHBhZ2Ugd2FzIG9yaWdpbmFseSB3cml0dGVuIGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbDMyQGRlYmlhbi5vcmc+LAorVGhpcyBtYW51YWwgcGFnZSB3YXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEF1cmVsaWVuIEphcm5vIDxhdXJlbDMyQGRlYmlhbi5vcmc+LAogZm9yIHRoZSBEZWJpYW4gR05VL0xpbnV4IHN5c3RlbSAoYnV0IG1heSBiZSB1c2VkIGJ5IG90aGVycykuCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZnIucG8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vZnIucG8KKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9mci5wbwpAQCAtNyw5ICs3LDkgQEAKIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGZyXG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwMy0wNi0wMyAwMDo1OEdNVCsxXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA4LTMwIDE2OjM4KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEF1cmVsaWVuIEphcm5vIDxhdXJlbGllbkBhdXJlbDMyLm5ldD5cbiIKICJMYW5ndWFnZS1UZWFtOiBGUkFOQ0FJUyA8ZnJAbGkub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0xNywyMyArMTcsNyBAQCBtc2dzdHIgIiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjAuMVxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjExMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotbXNnc3RyICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbGV1ciB8IERlc2NyaXB0aW9uXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCi1tc2dzdHIgIiVzJXN8ICAlNWQgfCAlc1xuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjE2MQorIzogc3JjL2hkZHRlbXAuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDYsNyArMzAsNyBAQCBtc2dzdHIgIiIKICJNb2TobGU6ICVzXG4iCiAiXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisjOiBzcmMvaGRkdGVtcC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCkBAIC02MCw3NSArNDQsNjAgQEAgbXNnc3RyICIiCiAibmV0KS5cbiIKICJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxOTIKKyM6IHNyYy9oZGR0ZW1wLmM6MTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgogbXNnc3RyICIlczogJXMgOiAgcGFzIGRlIGNhcHRldXJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCi0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgotIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCi0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKLW1zZ3N0ciAiIgotIkFUVEVOVElPTiA6IExlIGxlY3RldXIgJXMgbidhcHBhcmFpdCBwYXMgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMgZGVzICIKLSJsZWN0ZXVycyBzdXBwb3J06XNcbiIKLSJBVFRFTlRJT04gOiBNYWlzIGVuIHV0aWxpc2FudCB1bmUgdmFsZXVyIGNvdXJhbnRlLCBpbCByZW52b2llIHF1ZWxxdWUgIgotImNob3NlLlxuIgotIkFUVEVOVElPTiA6IE5vdGV6IHF1ZSBsYSB0ZW1w6XJhdHVyZSByZW52b3npZSBwZXV0IOp0cmUgZXJyb27pZS5cbiIKLSJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKLSJBVFRFTlRJT04gOiBFdCBuJ291YmxpZXogcGFzIGQnYWpvdXRlciB2b3RyZSBsZWN0ZXVyIGF1IGZpY2hpZXIgaGRkdGVtcC5kYlxuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjIwMgorIzogc3JjL2hkZHRlbXAuYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCiBtc2dzdHIgIiVzOiAlcyA6ICAlZCVzQyBvdSAlc0ZcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTQKKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKIG1zZ3N0ciAiJXM6ICVzIDogbGUgbGVjdGV1ciBlc3QgZW4gdmVpbGxlXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE3CisjOiBzcmMvaGRkdGVtcC5jOjI0MgogIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCiBtc2dzdHIgIiIKICIlczogJXM6ICBsZWN0ZXVyIGNvbm51LCBtYWlzIGlsIG5lIHBvc3PoZGUgcGFzIGRlIGNhcHRldXIgZGUgdGVtcOlyYXR1cmUuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisjOiBzcmMvaGRkdGVtcC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgogbXNnc3RyICJFUlJFVVIgOiAlcyA6ICVzIDogc3RhdHVzIGluY29ubnVcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMzUKKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCi0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMwOAorIzogc3JjL2hkZHRlbXAuYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgogbXNnc3RyICJFUlJFVVIgOiBz6XBhcmF0ZXVyIGludmFsaWRlLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMxOQorIzogc3JjL2hkZHRlbXAuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCiBtc2dzdHIgIkVSUkVVUiA6IG51belybyBkZSBwb3J0IGludmFsaWRlLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMyOQotIywgZnV6enksIGMtZm9ybWF0CisjOiBzcmMvaGRkdGVtcC5jOjM3MQorIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKICJcbiIKICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCiAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCiAiXG4iCisiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorIlxuIgogIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgogIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgpAQCAtMTM4LDYgKzEwNyw3IEBAIG1zZ2lkICIiCiAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKICJkZWZhdWx0LilcbiIKICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCkBAIC0xNDUsNiArMTE1LDggQEAgbXNnaWQgIiIKICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorIkZhaHJlbmhlaXQuXG4iCiAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCiAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgogIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCkBAIC0xNTMsMTEgKzEyNSwxNCBAQCBtc2dpZCAiIgogIlxuIgogIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgogbXNnc3RyICIiCi0iIFV0aWxpc2F0aW9uOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNRVUUxIFtESVNRVUUyXS4uLlxuIgorIiBVdGlsaXNhdGlvbjogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU1FVRTEgW1tUWVBFOl1ESVNRVUUyXS4uLlxuIgogIlxuIgogIiAgIGhkZHRlbXAgYWZmaWNoZSBsYSB0ZW1w6XJhdHVyZSBkZXMgbGVjdGV1cnMgcGFzc+lzIGVuIGFyZ3VtZW50LlxuIgogIiAgIExlcyBsZWN0ZXVycyBkb2l2ZW50IGF2b2lyIGxlIHN1cHBvcnQgUy5NLkEuUi5ULlxuIgogIlxuIgorIiAgVFlQRSBwZXV0IOp0cmUgU0FUQSwgUEFUQSBvdSBTQ1NJLiBTaSBsZSB0eXBlIGVzdCBvbWlzLCBoZGR0ZW1wIGVzc2FpZXJhXG4iCisiICBkZSBsZSBkZXZpbmVyLlxuIgorIlxuIgogIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGFmZmljaGUgbGUgY29udGVudSBkdSBmaWNoaWVyIGRlIGJhc2UgZGUgZG9ubullICIKICJxdWkgXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcGVybWV0IOAgaGRkdGVtcCBkZSByZWNvbm5h7nRyZSBsZXMgbGVjdGV1cnMgIgpAQCAtMTcyLDYgKzE0Nyw3IEBAIG1zZ3N0ciAiIgogImTpZmF1dCkuXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmaWUgbGUgZmljaGllciDgIHV0aWxpc2VyIGNvbW1lIGJhc2UgZGUgIgogImRvbm7pZXMuXG4iCisiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgbmUgcGFzIGTpbW9uaXNlciwgcmVzdGVyIGF1IHByZW1pZXIgcGxhbi5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICDpY291dGUgc3VyIHVuZSBpbnRlcmZhY2Ugc3DpY2lmaXF1ZSAoZW4gbW9kZSBk6W1vbiAiCiAiVENQL0lQKS5cbiIKICIgIC1uICAgLS1udW1lcmljICAgICA6ICBhZmZpY2hlIHNldWxlbWVudCBsYSB0ZW1w6XJhdHVyZS5cbiIKQEAgLTE4MCw2ICsxNTYsOCBAQCBtc2dzdHIgIiIKICJk6W1vbiBUQ1AvSVApLlxuIgogIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGVucmVnaXN0cmUgbGEgdGVtcOlyYXR1cmUgZGFucyBzeXNsb2cgdG91cyBsZXMgcyAiCiAic2Vjb25kZXMuXG4iCisiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgYWZmaWNoZSBsYSB0ZW1w6XJhdHVyZSBlbiBkZWdy6XMgQ2Vsc2l1cyBvdSAiCisiRmFocmVuaGVpdC5cbiIKICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuZSB26XJpZmllIHBhcyBzaSBsZSBsZWN0ZXVyIGVzdCBzdXBwb3J06S5cbiIKICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBhZmZpY2hlIGxhIHZlcnNpb24gZGUgaGRkdGVtcC5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICBy6XZlaWxsZXIgbGUgbGVjdGV1ciBzaSBu6WNlc3NhaXJlLlxuIgpAQCAtMTg4LDYyICsxNjYsOTUgQEAgbXNnc3RyICIiCiAiXG4iCiAiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisjOiBzcmMvaGRkdGVtcC5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKIG1zZ3N0ciAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKIG1zZ3N0ciAiRVJSRVVSIDogaW50ZXJ2YWxsZSBpbnZhbGlkZS5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisjLCBjLWZvcm1hdAogbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCiBtc2dzdHIgIlRyb3AgcGV1IGQnYXJndW1lbnRzIDogdm91cyBkZXZleiBzcOljaWZpZXIgYXUgbW9pbnMgdW4gbGVjdGV1ci5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NTcKKyM6IHNyYy9oZGR0ZW1wLmM6NDQ4CisjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBjYW4ndCB1c2UgLS1kZWJ1ZyBhbmQgLS1kYWVtb24gb3IgLS1zeXNsb2cgb3B0aW9ucyB0b2dldGhlci5cbiIKIG1zZ3N0ciAiIgogIkVSUkVVUjogaW1wb3NzaWJsZSBkJ3V0aWxpc2VyIGxlcyBvcHRpb25zIC0tZGVidWcgZXQgLS1kYWVtb24gb3UgLS1zeXNsb2cgZW4gIgogIm3qbWUgdGVtcHMuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisjOiBzcmMvaGRkdGVtcC5jOjUwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgogbXNnc3RyICIiCiAiRVJSRVVSOiAlczogaW1wb3NzaWJsZSBkZSBk6XRlcm1pbmVyIGxlIHR5cGUgZGUgYnVzIChvdSBjZSB0eXBlIGRlIGJ1cyBlc3QgIgogImluY29ubnUpXG4iCiAKLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAogbXNnaWQgInVua25vd24iCiBtc2dzdHIgImluY29ubnUiCiAKLSM6IHNyYy9hdGEuYzo5OAorIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCi1tc2dzdHIgImNoYW1wKCVkKVx0ID0gJWRcbiIKLQotIzogc3JjL2F0YS5jOjE2NwogbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiUy5NLkEuUi5ULiBub24gZGlzcG9uaWJsZSIKIAotIzogc3JjL2RiLmM6MTgwCisjOiBzcmMvZGIuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlZ2V4cCVzfCBWYWxldXIgfCBEZXNjcmlwdGlvblxuIgorIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBzcmMvZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKK21zZ3N0ciAiJXMlc3wgICU1ZCB8ICVzXG4iCisKKyM6IHNyYy9kYi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKIG1zZ3N0ciAiaGRkdGVtcDogbmUgcGV1dCBvdXZyaXIgJTEkczogJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoxOTQKKyM6IHNyYy9kYi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCiBtc2dzdHIgIkVSUkVVUjogZXJyZXVyIGRlIHN5bnRheGUg4CBsYSBsaWduZSAlMSRkOiAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjIwMQorIzogc3JjL2RiLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgogbXNnc3RyICIgIEVSUkVVUjogbGlnbmUgZXjpY2RhbnQgJTEkZCBjYXJhY3TocmVzIGRhbnMgJTIkcy5cbiIKIAotIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKIG1zZ3N0ciAiZWNoZWMgZGUgJ2xvZyBzZW5zZScgOiAlcyAiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorI34gbXNnc3RyICIiCisjfiAiQVRURU5USU9OIDogTGUgbGVjdGV1ciAlcyBuJ2FwcGFyYWl0IHBhcyBkYW5zIGxhIGJhc2UgZGUgZG9ubullcyBkZXMgIgorI34gImxlY3RldXJzIHN1cHBvcnTpc1xuIgorI34gIkFUVEVOVElPTiA6IE1haXMgZW4gdXRpbGlzYW50IHVuZSB2YWxldXIgY291cmFudGUsIGlsIHJlbnZvaWUgcXVlbHF1ZSAiCisjfiAiY2hvc2UuXG4iCisjfiAiQVRURU5USU9OIDogTm90ZXogcXVlIGxhIHRlbXDpcmF0dXJlIHJlbnZveellIHBldXQg6nRyZSBlcnJvbullLlxuIgorI34gIkFUVEVOVElPTiA6IFZvaXIgbGVzIG9wdGlvbnMgLS1oZWxwLCAtLWRlYnVnIGV0IC0tZHJpdmViYXNlLlxuIgorI34gIkFUVEVOVElPTiA6IEV0IG4nb3VibGlleiBwYXMgZCdham91dGVyIHZvdHJlIGxlY3RldXIgYXUgZmljaGllciBoZGR0ZW1wLiIKKyN+ICJkYlxuIgorCisjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorI34gbXNnc3RyICJjaGFtcCglZClcdCA9ICVkXG4iCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vcnUucG8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcnUucG8KKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9ydS5wbwpAQCAtNiw4ICs2LDggQEAKIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGEzXG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTAzLTA4IDE2OjQyKzAzMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE1pY2hhZWwgU2hpZ29yaW4gPG1pa2VAYWx0bGludXgucnU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiA8cnVAbGkub3JnPlxuIgpAQCAtMTUsMjMgKzE1LDcgQEAgbXNnc3RyICIiCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWtvaTgtclxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlxuIgotIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLW1zZ3N0ciAiIgotIlxuIgotIvLFx9zL0yVzfCD6zsHeLiB8IO/QydPBzsnFICAgXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLQotIzogc3JjL2hkZHRlbXAuYzoxMTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBzcmMvaGRkdGVtcC5jOjE2MQorIzogc3JjL2hkZHRlbXAuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDAsNyArMjQsNyBAQCBtc2dpZCAiIgogIlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisjOiBzcmMvaGRkdGVtcC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCkBAIC01Myw3MiArMzcsNTkgQEAgbXNnc3RyICIiCiAi9+7p7eHu6eU6IOXTzMkg19kg1M/ezs8g2s7BxdTFLCDe1M8gxMHU3snLIMXT1NgsIM7B0MnbydTFIGhkZHRlbXBAZ3V6dS5uZXRcbiIKICL37unt4e7p5TogKNPNLiDP0MPJySAtLWhlbHAsIC0tZGVidWcgySAtLWRyaXZlYmFzZSkuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisjOiBzcmMvaGRkdGVtcC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKIG1zZ3N0ciAiJXM6ICVzOiAgzsXUIMTB1N7Jy8FcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxOTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCi0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgotIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCi0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKLW1zZ3N0ciAiIgotIvfu6e3h7unlOiDkydPLICVzIM7FINfLzMDexc4g1yDCwdrVIMTBzs7ZyCDQz8TExdLWydfBxc3ZyCDQ0snXz8TP1y5cbiIKLSL37unt4e7p5Tog7s8g0yDJ09DPzNjaz9fBzsnFzSDSwdPQ0s/T1NLBzsXOztnIINDB0sHNxdTSz9cgz84g3tTPLdTPINfZxMHF1C5cbiIKLSL37unt4e7p5Tog+sHNxdTY1MUsIN7UzyDQz8vB2sHOzsHRINTFzdDF0sHU1dLBIM3P1sXUINTBy8/Xz8ogzsUg0dfM0dTY09EuXG4iCi0i9+7p7eHu6eU6IPPNLiDP0MPJySAtLWhlbHAsIC0tZGVidWcgySAtLWRyaXZlYmFzZS5cbiIKLSL37unt4e7p5Tog6SDOxSDawcLVxNjUxSwg3tTPIM3P1s7PIMTPwsHXydTYINDSydfPxCDXIGhkZHRlbXAuZGJcbiIKLQotIzogc3JjL2hkZHRlbXAuYzoyMDIKKyM6IHNyYy9oZGR0ZW1wLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgogbXNnc3RyICIlczogJXM6ICAlZCVzQyDJzMkgJXNGXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisjOiBzcmMvaGRkdGVtcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCiBtc2dzdHIgIiVzOiAlczogIM7F1CDEwdTeycvBXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIzogc3JjL2hkZHRlbXAuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKIG1zZ3N0ciAiJXM6ICVzOiAgydrXxdPUztnKIMTJ08ssIM7FINPPxMXS1sHdycogxMHU3snLwSDUxc3QxdLB1NXS2S5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMjAKKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCiBtc2dzdHIgIu/76eLr4TogJXM6ICVzOiDOxcna18XT1M7ZyiDT1MHU1dMg18/a19LB1MFcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMzUKKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICJJZiBvbmUgb2YgdGhlIGZpZWxkIHZhbHVlIHNlZW1zIHRvIG1hdGNoIHRoZSB0ZW1wZXJhdHVyZSwgYmUgc3VyZSB0byByZWFkXG4iCi0idGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgbWUgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgorInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMwOAorIzogc3JjL2hkZHRlbXAuYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgogbXNnc3RyICLv++ni6+E6IM7F18XSztnKINLB2sTFzMnUxczYLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMxOQorIzogc3JjL2hkZHRlbXAuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCiBtc2dzdHIgIu/96eLr4TogzsXXxdLO2cogzs/NxdIg0M/S1MEuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CisjOiBzcmMvaGRkdGVtcC5jOjM3MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgotIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCiAiXG4iCiAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgogIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgogIlxuIgorIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKyJcbiIKICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKQEAgLTEyOCw2ICs5OSw3IEBAIG1zZ2lkICIiCiAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKICJkZWZhdWx0LilcbiIKICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCkBAIC0xMzUsNiArMTA3LDggQEAgbXNnaWQgIiIKICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorIkZhaHJlbmhlaXQuXG4iCiAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCiAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgogIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCkBAIC0xNjgsNTkgKzE0Miw5MCBAQCBtc2dzdHIgIiIKICJcbiIKICLzz8/C3cXOydEgz8Igz9vJwsvByCDJIMTBzs7ZxSDEzNEgxMnTy8/XIM/U0NLB18zRytTFIM7BIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1MjIKKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgogbXNnc3RyICL3xdLTydEgaGRkdGVtcDogJXNcbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKIG1zZ3N0ciAi7/vp4uvhOiDOxdfF0s7ZyiDSwdrExczJ1MXM2C5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisjLCBjLWZvcm1hdAogbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NTcKLSMsIGZ1enp5CisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgogbXNnc3RyICLv++ni6+E6IM/Ezs/X0sXNxc7Oz8UgydPQz8zY2s/Xwc7JxSAtLWRlYnVnIMkgLS1kYWVtb24gzsXEz9DV09TJzc8uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisjOiBzcmMvaGRkdGVtcC5jOjUwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgogbXNnc3RyICLv++ni6+E6ICVzOiDOxdfP2s3P1s7PIM/Q0sXExczJ1Ngg1MnQINvJztlcbiIKIAotIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CiBtc2dpZCAidW5rbm93biIKIG1zZ3N0ciAizsXJ2tcuIgogCi0jOiBzcmMvYXRhLmM6OTgKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgotbXNnc3RyICLQz8zFKCVkKVx0ID0gJWRcbiIKLQotIzogc3JjL2F0YS5jOjE2NwogbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiUy5NLkEuUi5ULiDOxcTP09TV0MXOIgogCi0jOiBzcmMvZGIuYzoxODAKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiXG4iCisi8sXH3MvTJXN8IPrOwd4uIHwg79DJ08HOycUgICBcbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBzcmMvZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzcmMvZGIuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCiBtc2dzdHIgImhkZHRlbXA6IM7FIM3Px9Ugz9TL0tnU2CAlMSRzOiAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjE5NAorIzogc3JjL2RiLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKIG1zZ3N0ciAi88nO1MHL08nexdPLwdEg7/vp4uvhINcg09TSz8vFICUxJGQgxsHKzMEgJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoyMDEKKyM6IHNyYy9kYi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKIG1zZ3N0ciAi7/vp4uvhOiDT1NLPy8EgxMzJzs7FxSAlMSRkINPJzdfPzM/XINcgJTIkcy5cbiIKIAotIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKIG1zZ3N0ciAiIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIvfu6e3h7unlOiDkydPLICVzIM7FINfLzMDexc4g1yDCwdrVIMTBzs7ZyCDQz8TExdLWydfBxc3ZyCDQ0snXz8TP1y5cbiIKKyN+ICL37unt4e7p5Tog7s8g0yDJ09DPzNjaz9fBzsnFzSDSwdPQ0s/T1NLBzsXOztnIINDB0sHNxdTSz9cgz84g3tTPLdTPICIKKyN+ICLX2cTBxdQuXG4iCisjfiAi9+7p7eHu6eU6IPrBzcXU2NTFLCDe1M8g0M/LwdrBzs7B0SDUxc3QxdLB1NXSwSDNz9bF1CDUwcvP18/KIM7FICIKKyN+ICLR18zR1NjT0S5cbiIKKyN+ICL37unt4e7p5Tog880uIM/Qw8nJIC0taGVscCwgLS1kZWJ1ZyDJIC0tZHJpdmViYXNlLlxuIgorI34gIvfu6e3h7unlOiDpIM7FINrBwtXE2NTFLCDe1M8gzc/Wzs8gxM/CwdfJ1Ngg0NLJ18/EINcgaGRkdGVtcC5kYlxuIgorCisjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorI34gbXNnc3RyICLQz8zFKCVkKVx0ID0gJWRcbiIKSW5kZXg6IGhkZHRlbXAtMC4zLWJldGExNS9wby9zdi5wbwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9zdi5wbworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL3N2LnBvCkBAIC02LDggKzYsOCBAQAogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE0LTRcbiIKLSJSZXBvcnQtTXNnaWQtQnVncy1UbzogaGRkdGVtcEBndXp1Lm5ldFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDYtMDYtMjkgMTY6MjQrMDIwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDUtMTEtMDIgMTk6MDMrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRGFuaWVsIE55bGFuZGVyIDxwb0BkYW5pZWxueWxhbmRlci5zZT5cbiIKICJMYW5ndWFnZS1UZWFtOiBTd2VkaXNoIDxzdkBsaS5vcmc+XG4iCkBAIC0xNywyMyArMTcsNyBAQCBtc2dzdHIgIiIKICJYLVBvZWRpdC1MYW5ndWFnZTogc3dlXG4iCiAiWC1Qb2VkaXQtQ291bnRyeTogc3dlXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgotIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi1tc2dzdHIgIiIKLSJcbiIKLSJSZWdleHAlc3wgVuRyZGUgfCBCZXNrcml2bmluZ1xuIgotIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCi1tc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisjOiBzcmMvaGRkdGVtcC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00Niw3ICszMCw3IEBAIG1zZ3N0ciAiIgogIk1vZGVsbDogJXNcbiIKICJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTYwLDc2ICs0NCw2MyBAQCBtc2dzdHIgIiIKICJuZXQpLlxuIgogIlZBUk5JTkc6IFNlIC0taGVscCwgLS1kZWJ1ZyBvY2ggLS1kcml2ZWJhc2UgZmxhZ2dvcm5hLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjE5MgorIzogc3JjL2hkZHRlbXAuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCiBtc2dzdHIgIiVzOiAlczogIGluZ2VuIHNlbnNvclxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjE5NwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgotIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCi0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgotbXNnc3RyICIiCi0iVkFSTklORzogRGlza2VuICVzIHZlcmthciBpbnRlIGZpbm5hcyBpIGRhdGFiYXNlbiD2dmVyIGRpc2thciBzb20gc3T2ZHNcbiIKLSJWQVJOSU5HOiBNZW4gYW525G5kZXIgbWFuIGV0dCB2YW5saWd0IHbkcmRlIHJhcHBvcnRlcmFyIGRlbiBu5WdvdC5cbiIKLSJWQVJOSU5HOiBOb3RlcmEgYXR0IHRlbXBlcmF0dXJlbiBzb20gdmlzYXMga2FuIHZhcmEgZmVsYWt0aWcuXG4iCi0iVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCi0iVkFSTklORzogT2NoIGds9m0gaW50ZSBhdHQgZHUga2FuIGzkZ2dhIHRpbGwgZGluIGRpc2sgdGlsbCBoZGR0ZW1wLmRiXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisjOiBzcmMvaGRkdGVtcC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKIG1zZ3N0ciAiJXM6ICVzOiAgJWQlc0MgZWxsZXIgJXNGXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisjOiBzcmMvaGRkdGVtcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCiBtc2dzdHIgIiVzOiAlczogZGlza2VuIHNvdmVyXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorIzogc3JjL2hkZHRlbXAuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKIG1zZ3N0ciAiJXM6ICVzOiAga+RuZCBkaXNrIG1lbiBkZW4gaGFyIGluZ2VuIHRlbXBlcmF0dXJzZW5zb3IuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisjOiBzcmMvaGRkdGVtcC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgogbXNnc3RyICJGRUw6ICVzOiAlczogb2vkbmQgcmV0dXJuZXJhZCBzdGF0dXNcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMzUKLSMsIGMtZm9ybWF0CisjOiBzcmMvaGRkdGVtcC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgogbXNnc3RyICIiCiAiXG4iCiAiT20gZXR0IGF2IGbkbHR25HJkZW5hIHZlcmthciBtYXRjaGEgdGVtcGVyYXR1cmVuLCB2YXIgc+RrZXIgcOUgYXR0IGR1XG4iCiAibORzdCBtYW51YWxzaWRhbiBm9nIgaGRkdGVtcCBm9nJlIGR1IHNraWNrYXIgZW4gcmFwcG9ydCB0aWxsIG1pZyAoc2VrdGlvbmVuXG4iCiAiUkVQT1JUKS4gVGFjay5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMDgKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKIG1zZ3N0ciAiRkVMOiBvZ2lsdGlnIHNlcGFyYXRvci5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMTkKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgogbXNnc3RyICJGRUw6IG9naWx0aWd0IHBvcnRudW1tZXIuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzI5Ci0jLCBjLWZvcm1hdAorIzogc3JjL2hkZHRlbXAuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiIKLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgogIlxuIgogIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKICJcbiIKKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisiXG4iCiAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCiAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCkBAIC0xMzksNiArMTEwLDcgQEAgbXNnaWQgIiIKICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgogImRlZmF1bHQuKVxuIgogIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCiAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKQEAgLTE0Niw2ICsxMTgsOCBAQCBtc2dpZCAiIgogIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisiRmFocmVuaGVpdC5cbiIKICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCiAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKQEAgLTE4NCw2MSArMTU4LDkxIEBAIG1zZ3N0ciAiIgogIlxuIgogIlJhcHBvcnRlcmEgYnVnZ2FyIGVsbGVyIG55YSBo5XJkZGlza2FyIHRpbGwgPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjUyMgorIzogc3JjL2hkZHRlbXAuYzo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCiBtc2dzdHIgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU0NworIzogc3JjL2hkZHRlbXAuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCiBtc2dzdHIgIkZFTDogb2dpbHRpZ3QgaW50ZXJ2YWxsLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU0NworIzogc3JjL2hkZHRlbXAuYzo0MzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKIG1zZ3N0ciAiRvZyIGblIGFyZ3VtZW50OiBkdSBt5XN0ZSBzcGVjaWZpY2VyYSDldG1pbnN0b25lIGVuIGRpc2suXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCiBtc2dzdHIgIiIKICJGRUw6IGthbiBpbnRlIGFuduRuZGEgLS1kZWJ1ZyBvY2ggLS1kYWVtb24gZWxsZXIgLS1zeXNsb2cgZmxhZ2dvcm5hICIKICJ0aWxsc2FtbWFucy5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1ODMKKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCiBtc2dzdHIgIiIKICJGRUw6ICVzOiBrYW4gaW50ZSBmYXN0c3TkbGxhIGJ1c3N0eXAgKGVsbGVyIHPlIORyIGRlbm5hIGJ1c3N0eXAgb2vkbmQpXG4iCiAKLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAogbXNnaWQgInVua25vd24iCiBtc2dzdHIgIm9r5G5kIgogCi0jOiBzcmMvYXRhLmM6OTgKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgotbXNnc3RyICJm5Gx0KCVkKVx0ID0gJWRcbiIKLQotIzogc3JjL2F0YS5jOjE2NwogbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiUy5NLkEuUi5ULiDkciBpbnRlIHRpbGxn5G5nbGlnIgogCi0jOiBzcmMvZGIuYzoxODAKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiXG4iCisiUmVnZXhwJXN8IFbkcmRlIHwgQmVza3Jpdm5pbmdcbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBzcmMvZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKworIzogc3JjL2RiLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgogbXNnc3RyICJoZGR0ZW1wOiBrYW4gaW50ZSD2cHBuYSAlMSRzOiAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjE5NAorIzogc3JjL2RiLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKIG1zZ3N0ciAiRkVMOiBzeW50YXhmZWwgcOUgcmFkICUxJGQgaSAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjIwMQorIzogc3JjL2RiLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgogbXNnc3RyICIgRkVMOiByYWRlbiD2dmVyc3RpZ2VyICUxJGQgdGVja2VuIGkgJTIkcy5cbiIKIAotIzogc3JjL3Njc2kuYzoxMTIgc3JjL3Njc2kuYzoxMzAKKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKIG1zZ3N0ciAiaWdlbmvkbm5pbmcgYXYgbG9nZyBtaXNzbHlja2FkZXMgOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgorI34gIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCisjfiAiV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKKyN+ICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgorI34gIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWQVJOSU5HOiBEaXNrZW4gJXMgdmVya2FyIGludGUgZmlubmFzIGkgZGF0YWJhc2VuIPZ2ZXIgZGlza2FyIHNvbSBzdPZkc1xuIgorI34gIlZBUk5JTkc6IE1lbiBhbnbkbmRlciBtYW4gZXR0IHZhbmxpZ3QgduRyZGUgcmFwcG9ydGVyYXIgZGVuIG7lZ290LlxuIgorI34gIlZBUk5JTkc6IE5vdGVyYSBhdHQgdGVtcGVyYXR1cmVuIHNvbSB2aXNhcyBrYW4gdmFyYSBmZWxha3RpZy5cbiIKKyN+ICJWQVJOSU5HOiBTZSAtLWhlbHAsIC0tZGVidWcgb2NoIC0tZHJpdmViYXNlIGZsYWdnb3JuYS5cbiIKKyN+ICJWQVJOSU5HOiBPY2ggZ2z2bSBpbnRlIGF0dCBkdSBrYW4gbORnZ2EgdGlsbCBkaW4gZGlzayB0aWxsIGhkZHRlbXAuZGJcbiIKKworI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiZuRsdCglZClcdCA9ICVkXG4iCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vcHQucG8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcHQucG8KKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9wdC5wbwpAQCAtNyw3ICs3LDcgQEAgbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0yOSAyMzoyMiswMDAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBNaWd1ZWwgRmlndWVpcmVkbyA8ZWxtaWdAZGViaWFucC5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUG9ydHVndWVzZSA8dHJhZHV6QGRlYmlhbnB0Lm9yZz5cbiIKQEAgLTE1LDIzICsxNSw3IEBAIG1zZ3N0ciAiIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlxuIgotIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLW1zZ3N0ciAiIgotIlxuIgotIlJlZ2V4cCVzfCBWYWxvciB8IERlc2NyacOnw6NvXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCi1tc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisjOiBzcmMvaGRkdGVtcC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00NCw3ICsyOCw3IEBAIG1zZ3N0ciAiIgogIk1vZGVsbzogJXNcbiIKICJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTU0LDc5ICszOCw2OCBAQCBtc2dpZCAiIgogbXNnc3RyICIiCiAiQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgdGVyIHVtIHNlbnNvciBkZSB0ZW1wZXJhdHVyYS5cbiIKICJBVklTTzogSXN0byBuw6NvIHNpZ25pZmljYSBxdWUgbsOjbyB0ZW0gbmVuaHVtLlxuIgotIkFWSVNPOiBTZSB0ZW0gYSBjZXJ0ZXphIHF1ZSB0ZW0gdW0sIHBvciBmYXZvciBjb250YWN0ZS1tZSAoaGRkdGVtcEBndXp1Lm5ldCkuXG4iCisiQVZJU086IFNlIHRlbSBhIGNlcnRlemEgcXVlIHRlbSB1bSwgcG9yIGZhdm9yIGNvbnRhY3RlLW1lIChoZGR0ZW1wQGd1enUuIgorIm5ldCkuXG4iCiAiQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1kcml2ZWJhc2UuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisjOiBzcmMvaGRkdGVtcC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKIG1zZ3N0ciAiJXM6ICVzOiBzZW0gc2Vuc29yXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgotIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgotIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCi1tc2dzdHIgIiIKLSJBVklTTzogTyBkaXNjbyAlcyBuw6NvIHBhcmVjZSBlc3RhciBuYSBiYXNlIGRlIGRhZG9zIGRlIGRpc2NvcyBzdXBvcnRhZG9zXG4iCi0iQVZJU086IE1hcyBhbyB1dGlsaXphciB1bSB2YWxvciB1c3VhbCwgcmVsYXRhIGFsZ3VtYSBjb2lzYS5cbiIKLSJBVklTTzogTm90ZSBxdWUgYSB0ZW1wZXJhdHVyYSBtb3N0cmFkYSBwb2RlIGVzdGFyIGVycmFkYS5cbiIKLSJBVklTTzogVmVqYSBhcyBvcMOnw7VlcyAtLWhlbHAsIC0tZGVidWcgZSAtLWZyaXZlYmFzZS5cbiIKLSJBVklTTzogRSBuw6NvIHNlIGVzcXVlw6dhIGRlIGFkaWNpb25hciBvIHNldSBkaXNjbyBhIGhkZHRlbXAuZGJcbiIKLQotIzogc3JjL2hkZHRlbXAuYzoyMDIKKyM6IHNyYy9oZGR0ZW1wLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgogbXNnc3RyICIlczogJXM6ICVkJXNDIG91ICVzRlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNAorIzogc3JjL2hkZHRlbXAuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgogbXNnc3RyICIlczogJXM6IG8gZGlzY28gZXN0w6EgYWRvcm1lY2lkb1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCiBtc2dzdHIgIiVzOiAlczogZGlzY28gY29uaGVjaWRvLCBtYXMgbsOjbyB0ZW0gdW0gc2Vuc29yIGRlIHRlbXBlcmF0dXJhLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIyMAorIzogc3JjL2hkZHRlbXAuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKIG1zZ3N0ciAiRVJSTzogJXM6ICVzOiBlc3RhZG8gZGV2b2x2aWRvIGRlc2NvbmhlY2lkb1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIzNQotIywgYy1mb3JtYXQKKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgotInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCiBtc2dzdHIgIiIKICJcbiIKLSJTZSB1bSBkb3MgY2FtcG9zIGRlIHZhbG9yZXMgcGFyZWNlciBjb2luY2lkaXIgY29tIGEgdGVtcGVyYXR1cmEsIGFzc2VndXJlLXNlXG4iCisiU2UgdW0gZG9zIGNhbXBvcyBkZSB2YWxvcmVzIHBhcmVjZXIgY29pbmNpZGlyIGNvbSBhIHRlbXBlcmF0dXJhLCBhc3NlZ3VyZS0iCisic2VcbiIKICJxdWUgbMOqIGEgcMOhZ2luYSBkbyBtYW51YWwgaGRkdGVtcCBhbnRlcyBkZSBtZSBlbnZpYXIgdW0gcmVsYXTDs3JpbyAoc2Vjw6fDo29cbiIKICJSRVBPUlQpLiBPYnJpZ2Fkby5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMDgKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKIG1zZ3N0ciAiRVJSTzogc2VwYXJhZG9yIGludsOhbGlkby5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMTkKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgogbXNnc3RyICJFUlJPOiBuw7ptZXJvIGRlIHBvcnQgaW52w6FsaWRvXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzI5Ci0jLCBjLWZvcm1hdAorIzogc3JjL2hkZHRlbXAuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiIKLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgogIlxuIgogIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKICJcbiIKKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisiXG4iCiAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCiAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCkBAIC0xMzYsNiArMTA5LDcgQEAgbXNnaWQgIiIKICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgogImRlZmF1bHQuKVxuIgogIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCiAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKQEAgLTE0Myw2ICsxMTcsOCBAQCBtc2dpZCAiIgogIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisiRmFocmVuaGVpdC5cbiIKICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCiAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKQEAgLTE1NiwxOSArMTMyLDIzIEBAIG1zZ3N0ciAiIgogIiAgIGhkZHRlbXAgbW9zdHJhIGEgdGVtcGVyYXR1cmEgZG9zIGRpc2NvcyBpbmRpY2Fkb3Mgbm8gYXJndW1lbnRvLlxuIgogIiAgIE9zIGRpc2NvcyB0w6ptIGRlIHN1cG9ydGFyIFMuTS5BLlIuVC5cbiIKICJcbiIKLSIgIC1iCSAtLWRyaXZlYmFzZSAgIDogIG1vc3RyYXIgbyBjb250ZcO6ZG8gZG8gZmljaGVpcm8gZGUgYmFzZSBkZSBkYWRvcyBxdWVcbiIKKyIgIC1iXHQgLS1kcml2ZWJhc2UgICA6ICBtb3N0cmFyIG8gY29udGXDumRvIGRvIGZpY2hlaXJvIGRlIGJhc2UgZGUgZGFkb3MgcXVlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0ZSBhbyBoZGR0ZW1wIHJlY29uaGVjZXIgb3MgZGlzY29zIHN1cG9ydGFkb3MuXG4iCi0iICAtRAkgLS1kZWJ1ZyAgICAgICA6ICBtb3N0cmFyIHbDoXJpb3MgY2FtcG9zIFMuTS5BLlIuVC4gZSBvcyBzZXVzIHZhbG9yZXMuXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgw5p0aWwgcGFyYSBlbmNvbnRyYXIgdW0gdmFsb3IgcXVlIHBhcmXDp2EgY29pbmNpZGlyIGNvbSAiCi0iICAgICAgICAgICAgICAgICAgICAgICAgYSB0ZW1wZXJhdHVyYSBlL291IHBhcmEgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8uXG4iCisiICAtRFx0IC0tZGVidWcgICAgICAgOiAgbW9zdHJhciB2w6FyaW9zIGNhbXBvcyBTLk0uQS5SLlQuIGUgb3Mgc2V1cyB2YWxvcmVzLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIMOadGlsIHBhcmEgZW5jb250cmFyIHVtIHZhbG9yIHF1ZSBwYXJlw6dhIGNvaW5jaWRpciAiCisiY29tICAgICAgICAgICAgICAgICAgICAgICAgIGEgdGVtcGVyYXR1cmEgZS9vdSBwYXJhIG1lIGVudmlhciB1bSByZWxhdMOzcmlvLlxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIChmZWl0byBwYXJhIGNhZGEgZGlzY28gaW5kaWNhZG8pLlxuIgotIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGNvcnJlciBvIGhkZHRlbXAgbm8gbW9kbyBkYWVtb24gVENQL0lQXG4gKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCisiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgY29ycmVyIG8gaGRkdGVtcCBubyBtb2RvIGRhZW1vbiBUQ1AvSVBcbiIKKyIgKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgZXNwZWNpZmljYXIgbyBmaWNoZWlybyBkZSBiYXNlIGRlIGRhZG9zIGEgdXRpbGl6YXIuXG4iCi0iICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC9JUCkuXG4iCisiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC8iCisiSVApLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIGVzY3JldmVyIGFwZW5hcyBhIHRlbXBlcmF0dXJhLlxuIgogIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgcGFyYSBlc2N1dGFyIChubyBtb2RvIGRhZW1vbiBUQ1AvSVApLlxuIgotIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYWRvciBhIHV0aWxpemFyIGVudHJlIGNhbXBvcyAobm8gbW9kbyBkYWVtb24gVENQL0lQKS5cbiIKLSIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgc2VndW5kb3MuXG4iCisiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhZG9yIGEgdXRpbGl6YXIgZW50cmUgY2FtcG9zIChubyBtb2RvIGRhZW1vbiAiCisiVENQL0lQKS5cbiIKKyIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgIgorInNlZ3VuZG9zLlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG7Do28gdmVyaWZpY2FyIHNlIG8gZGlzY28gw6kgc3Vwb3J0YWRvLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIG1vc3RyYXIgbyBuw7ptZXJvIGRhIHZlcnPDo28gZG8gaGRkdGVtcC5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICBhY29yZGFyIG8gZGlzY28gc2UgbmVjZXNzw6FyaW8uXG4iCkBAIC0xNzcsNTggKzE1Nyw5MyBAQCBtc2dzdHIgIiIKICJcbiIKICJSZWxhdGFyIGJ1Z3Mgb3Ugbm92b3MgZGlzY29zIHBhcmEgPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjUyMgorIzogc3JjL2hkZHRlbXAuYzo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCiBtc2dzdHIgImhkZHRlbXAgdmVyc8OjbyAlc1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU0NworIzogc3JjL2hkZHRlbXAuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCiBtc2dzdHIgIkVSUk86IGludGVydmFsbyBpbnbDoWxpZG8uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQzOAorIywgYy1mb3JtYXQKIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgotbXNnc3RyICJOw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW5zdWZpY2llbnRlOiB0ZW0gZGUgZXNwZWNpZmljYXIgcGVsbyBtZW5vcyB1bSBkaXNjby5cbiIKK21zZ3N0ciAiIgorIk7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbnN1ZmljaWVudGU6IHRlbSBkZSBlc3BlY2lmaWNhciBwZWxvIG1lbm9zIHVtIGRpc2NvLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU1NworIzogc3JjL2hkZHRlbXAuYzo0NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgotbXNnc3RyICJFUlJPOiBuw6NvIHBvZGUgdXRpbGl6YXIgZW0gY29uanVudG8gYXMgb3DDp8O1ZXMgLS1kZWJ1ZyBlIC0tZGFlbW9uIG91IC0tc3lzbG9nLlxuIgorbXNnc3RyICIiCisiRVJSTzogbsOjbyBwb2RlIHV0aWxpemFyIGVtIGNvbmp1bnRvIGFzIG9ww6fDtWVzIC0tZGVidWcgZSAtLWRhZW1vbiBvdSAtLSIKKyJzeXNsb2cuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisjOiBzcmMvaGRkdGVtcC5jOjUwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgotbXNnc3RyICJFUlJPOiAlczogbsOjbyDDqSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZG8gYnVzIChvdSBlc3RlIHRpcG8gZGUgYnVzIMOpIGRlc2NvbmhlY2lkbylcbiIKK21zZ3N0ciAiIgorIkVSUk86ICVzOiBuw6NvIMOpIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkbyBidXMgKG91IGVzdGUgdGlwbyBkZSBidXMgw6kgIgorImRlc2NvbmhlY2lkbylcbiIKIAotIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CiBtc2dpZCAidW5rbm93biIKIG1zZ3N0ciAiZGVzY29uaGVjaWRvIgogCi0jOiBzcmMvYXRhLmM6OTgKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgotbXNnc3RyICJjYW1wbyglZClcdCA9ICVkXG4iCi0KLSM6IHNyYy9hdGEuYzoxNjcKIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgIlMuTS5BLlIuVC4gbsOjbyBlc3TDoSBkaXNwb27DrXZlbCIKIAotIzogc3JjL2RiLmM6MTgwCisjOiBzcmMvZGIuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlZ2V4cCVzfCBWYWxvciB8IERlc2NyacOnw6NvXG4iCisiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHNyYy9kYi5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgorbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgorCisjOiBzcmMvZGIuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCiBtc2dzdHIgImhkZHRlbXA6IG7Do28gcG9kZSBhYnJpciAlMSRzOiAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjE5NAorIzogc3JjL2RiLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKIG1zZ3N0ciAiRVJSTzogZXJybyBkZSBzaW50YXhlIG5hIGxpbmhhICUxJGQgZW0gJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoyMDEKKyM6IHNyYy9kYi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKIG1zZ3N0ciAiICBFUlJPOiBhIGxpbmhhIGV4ZWNlZGV1ICUxJGQgY2FyYWN0ZXJlcyBlbSAlMiRzLlxuIgogCi0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgogbXNnc3RyICJkZXRlY8Onw6NvIGRlIGxvZyBmYWxob3U6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFWSVNPOiBPIGRpc2NvICVzIG7Do28gcGFyZWNlIGVzdGFyIG5hIGJhc2UgZGUgZGFkb3MgZGUgZGlzY29zIHN1cG9ydGFkb3NcbiIKKyN+ICJBVklTTzogTWFzIGFvIHV0aWxpemFyIHVtIHZhbG9yIHVzdWFsLCByZWxhdGEgYWxndW1hIGNvaXNhLlxuIgorI34gIkFWSVNPOiBOb3RlIHF1ZSBhIHRlbXBlcmF0dXJhIG1vc3RyYWRhIHBvZGUgZXN0YXIgZXJyYWRhLlxuIgorI34gIkFWSVNPOiBWZWphIGFzIG9ww6fDtWVzIC0taGVscCwgLS1kZWJ1ZyBlIC0tZnJpdmViYXNlLlxuIgorI34gIkFWSVNPOiBFIG7Do28gc2UgZXNxdWXDp2EgZGUgYWRpY2lvbmFyIG8gc2V1IGRpc2NvIGEgaGRkdGVtcC5kYlxuIgorCisjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorI34gbXNnc3RyICJjYW1wbyglZClcdCA9ICVkXG4iCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZGUucG8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gL2Rldi9udWxsCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZGUucG8KQEAgLTAsMCArMSwyNTAgQEAKKyMgR2VybWFuIHRyYW5zbGF0aW9uIG9mIGhkZHRlbXAuCisjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGhkZHRlbXAgcGFja2FnZS4KKyMgVmluemVueiBWaWV0emtlIDx2aW56QHYxbnoub3JnPiwgMjAwOC4KKyMgLAorIworIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE1LTQ0XG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAcGFja2FnZXMuZGViaWFuLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA4LTMwIDE2OjQwKzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFZpbnplbnogVmlldHprZSA8dmluekB2MW56Lm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiA8ZGViaWFuLWwxMG4tZ2VybWFuQGxpc3RzLmRlYmlhbi5vcmc+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0IgorCisjOiBzcmMvaGRkdGVtcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiPT09PT09PT09PT09PT09PT0gaGRkdGVtcCAlcyA9PT09PT09PT09PT09PT09PT1cbiIKKyJNb2RlbDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIj09PT09PT09PT09PT09PT09IGhkZHRlbXAgJXMgPT09PT09PT09PT09PT09PT09XG4iCisiTW9kZWxsOiAlc1xuIgorIlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisiV0FSTklORzogVGhpcyBkb2Vzbid0IG1lYW4gaXQgaGFzbid0IGdvdCBvbmUuXG4iCisiV0FSTklORzogSWYgeW91IGFyZSBzdXJlIGl0IGhhcyBvbmUsIHBsZWFzZSBjb250YWN0IG1lIChoZGR0ZW1wQGd1enUuIgorIm5ldCkuXG4iCisiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKK21zZ3N0ciAiIgorIldBUk5VTkc6IExhdWZ3ZXJrICVzIHNjaGVpbnQga2VpbmVuIFRlbXBlcmF0dXItU2Vuc29yIHp1IGhhYmVuLlxuIgorIldBUk5VTkc6IERhcyBiZWRldXRldCBuaWNodCwgZGFzcyBlcyBrZWluZW4gYmVzaXR6dC5cbiIKKyJXQVJOVU5HOiBGYWxscyBTaWUgc2ljaGVyIHNpbmQsIGRhc3MgZXMgZWluZW4gYmVzaXR6dCwga29udGFrdGllcmVuIFNpZSAiCisibWljaCBiaXR0ZSAoaGRkdGVtcEBndXp1Lm5ldCkuXG4iCisiV0FSTlVORzogU2llaGUgT3B0aW9uZW4gLS1oZWxwLCAtLWRlYnVnIHVuZCAtLWRyaXZlYmFzZS5cbiIKKworIzogc3JjL2hkZHRlbXAuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCittc2dzdHIgIiVzOiAlczoga2VpbiBTZW5zb3JcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCittc2dzdHIgIiVzOiAlczogICVkJXPCsEMgb2RlciAlc8KwRlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCittc2dzdHIgIiVzOiAlczogTGF1Zndlcmsgc2NobMOkZnRcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorbXNnc3RyICIiCisiJXM6ICVzOiAgTGF1ZndlcmsgdW50ZXJzdMO8dHp0LCBhYmVyIGVzIGhhdCBrZWluZW4gVGVtcGVyYXR1ci1TZW5zb3IuXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCittc2dzdHIgIkZFSExFUjogJXM6ICVzOiB6dXLDvGNrZ2VnZWJlbmVyIFN0YXR1cyB1bmJla2FubnRcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJGYWxscyBlaW5lciBkZXIgRmVsZHdlcnRlIGRlciBUZW1wZXJhdHVyIHp1IGVudHNwcmVjaGVuIHNjaGVpbnQsIHN0ZWxsZW4gIgorIlNpZVxuIgorInNpY2hlciwgZGllIGhkZHRlbXAtSGFuZGJ1Y2hzZWl0ZSBnZWxlc2VuIHp1IGhhYmVuLCBiZXZvciBTaWUgZWluZW4gIgorIkJlcmljaHRcbiIKKyJzZW5kZW4gKEFic2Nobml0dCBCRVJJQ0hUKS4gRGFua2UuXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKK21zZ3N0ciAiRkVITEVSOiB1bmfDvGx0aWdlcyBUcmVubnplaWNoZW4uXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorbXNnc3RyICJGRUhMRVI6IHVuZ8O8bHRpZ2UgUG9ydG51bW1lci5cbiIKKworIzogc3JjL2hkZHRlbXAuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisiXG4iCisiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorIlxuIgorIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKyJcbiIKKyIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgIgorInRvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciAiCisidmFsdWVzLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIFVzZWZ1bCB0byBmaW5kIGEgdmFsdWUgdGhhdCBzZWVtcyB0byBtYXRjaCB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBhbmQvb3IgdG8gc2VuZCBtZSBhIHJlcG9ydC5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSBmb3IgZXZlcnkgZHJpdmUgc3VwcGxpZWQpLlxuIgorIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisiZGVmYXVsdC4pXG4iCisiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorIm1vZGUpLlxuIgorIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgdG8gbGlzdGVuIHRvIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorIm1vZGUpLlxuIgorIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisiRmFocmVuaGVpdC5cbiIKKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKKyIgIC00ICAgICAgICAgICAgICAgICA6ICBsaXN0ZW4gb24gSVB2NCBzb2NrZXRzIG9ubHkuXG4iCisiICAtNiAgICAgICAgICAgICAgICAgOiAgbGlzdGVuIG9uIElQdjYgc29ja2V0cyBvbmx5LlxuIgorIlxuIgorIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorbXNnc3RyICIiCisiIFZlcndlbmR1bmc6IGhkZHRlbXAgW09QVElPTkVOXSBbVFlQOl1MQVVGV0VSSzEgW1tUWVA6XUxBVUZXRVJLMl0uLi5cbiIKKyJcbiIKKyIgIGhkZHRlbXAgemVpZ3QgZGllIFRlbXBlcmF0dXIgZGVyIHZpYSBBcmd1bWVudCBhbmdlZ2ViZW4gTGF1ZndlcmtlLlxuIgorIiAgTGF1ZndlcmtlIG3DvHNzZW4gUy5NLkEuUi5ULiB1bnRlcnN0w7x0emVuLlxuIgorIlxuIgorIiAgVFlQIGthbm4gU0FUQSwgUEFUQSBvZGVyIFNDU0kgc2Vpbi4gRmFsbHMgYXVzZ2VsYXNzZW4sIHdpcmQgaGRkdGVtcCBcbiIKKyIgIHZlcnN1Y2hlbiwgZGllc2VuIHp1IGVycmF0ZW4uXG4iCisiXG4iCisiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgRGF0ZW5iYW5rLURhdGVpLUluaGFsdCBhbnplaWdlbiwgZGVyIGhkZHRlbXAgIgorImVybGF1YnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bnRlcnN0w7x0enRlIExhdWZ3ZXJrZSB6dSBlcmtlbm5lbi5cbiIKKyIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICB2ZXJzY2hpZWRlbmUgUy5NLkEuUi5ULi1GZWxkZXIgdW5kIGRlcmVuIFdlcnRlICIKKyJhbnplaWdlbi5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIE7DvHR6bGljaCwgdW0gV2VydGUgenUgZmluZGVuLCBkaWUgZGVyIFRlbXBlcmF0dXIgIgorImVudHNwcmVjaGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICB1bmQvb2RlciB1bSBtaXIgZWluZW4gQmVyaWNodCB6dSBzZW5kZW4uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAoYmVyZWl0cyBlcmxlZGlndCBmw7xyIGplZGVzIGJlcmVpdGdlc3RlbGx0ZSAiCisiTGF1ZndlcmspLlxuIgorIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGhkZHRlbXAgaW0gVENQL0lQLURhZW1vbi1Nb2R1cyBhdXNmw7xocmVuICIKKyIoU3RhbmRhcmRtw6TDn2lnIFBvcnQgJWQpXG4iCisiICAtZiAgIC0tZmlsZT1EQVRFSSAgOiAgenUgdmVyd2VuZGVuZGUgRGF0ZW5iYW5rLURhdGVpIGZlc3RsZWdlbi5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBuaWNodCBkYWVtb25pc2llcmVuLCBpbSBWb3JkZXJncnVuZCBibGVpYmVuLlxuIgorIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGF1ZiBlaW5lciBiZXN0aW1tdGVuIFNjaG5pdHRzdGVsbGUgYXVmIEFuZnJhZ2VuICIKKyJ3YXJ0ZW4gKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorIiAgLW4gICAtLW51bWVyaWMgICAgIDogIG51ciBkaWUgVGVtcGVyYXR1ciBhdXNnZWJlbi5cbiIKKyIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBQb3J0LCBhdWYgZGVtIGF1ZiBBbmZyYWdlbiBnZXdhcnRldCB3ZXJkZW4gc29sbCAiCisiKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIFRyZW5uemVpY2hlbiB6dXIgVmVyd2VuZHVuZyB6d2lzY2hlbiBGZWxkZXJuIChpbSAiCisiVENQL0lQLURhZW1vbi1Nb2R1cykuXG4iCisiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgVGVtcGVyYXR1ciBhbGxlIHMgU2VrdW5kZW4gaW4gZGFzIHN5c2xvZyAiCisiZWludHJhZ2VuLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIEF1c2dhYmUgZGVyIFRlbXBlcmF0dXIgZW50d2VkZXIgaW4gQ2Vsc2l1cyBvZGVyICIKKyJGYWhyZW5oZWl0IGVyendpbmdlbi5cbiIKKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuaWNodCBwcsO8ZmVuLCBvYiBkYXMgTGF1ZndlcmsgdW50ZXJzdMO8dHp0IHdpcmQuXG4iCisiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgVmVyc2lvbnNudW1tZXIgdm9uIGhkZHRlbXAgYW56ZWlnZW4uXG4iCisiICAtdyAgIC0td2FrZS11cCAgICAgOiAgTGF1ZndlcmsgYmVpIEJlZGFyZiBhdWZ3ZWNrZW4uXG4iCisiICAtNCAgICAgICAgICAgICAgICAgOiAgbnVyIGF1ZiBJUHY0LVNvY2tldHMgYXVmIEFuZnJhZ2VuIHdhcnRlbi5cbiIKKyIgIC02ICAgICAgICAgICAgICAgICA6ICBudXIgYXVmIElQdjYtU29ja2V0cyBhdWYgQW5mcmFnZW4gd2FydGVuLlxuIgorIlxuIgorIkZlaGxlciBvZGVyIG5ldWUgTGF1ZndlcmtlIGFuIDxoZGR0ZW1wQGd1enUubmV0PiBtZWxkZW4uXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorbXNnc3RyICJoZGR0ZW1wIFZlcnNpb24gJXNcbiIKKworIzogc3JjL2hkZHRlbXAuYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCittc2dzdHIgIkZFSExFUjogdW5nw7xsdGlnZXMgSW50ZXJ2YWxsLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorbXNnc3RyICJadSB3ZW5pZ2UgQXJndW1lbnRlOiBTaWUgbcO8c3NlbiBtaW5kZXN0ZW5zIGVpbiBMYXVmd2VyayBhbmdlYmVuLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCittc2dzdHIgIiIKKyJGRUhMRVI6IGthbm4gT3B0aW9uZW4gLS1kZWJ1ZyB1bmQgLS1kYWVtb24gb2RlciAtLXN5c2xvZyBuaWNodCB6dXNhbW1lbiAiCisidmVyd2VuZGVuLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorbXNnc3RyICIiCisiRkVITEVSOiAlczoga2FubiBCdXMtVHlwIG5pY2h0IGVybWl0dGVsbiAob2RlciBkaWVzZXIgQnVzLVR5cCBpc3QgIgorInVuYmVrYW5udClcbiIKKworIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ1bmJla2FubnQiCisKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorbXNnc3RyICJTLk0uQS5SLlQuIG5pY2h0IHZlcmbDvGdiYXIiCisKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiXG4iCisiUmVnZXhwJXN8IFdlcnQgfCBCZXNjaHJlaWJ1bmdcbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBzcmMvZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKworIzogc3JjL2RiLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorbXNnc3RyICJoZGR0ZW1wOiBrYW5uICUxJHMgbmljaHQgw7ZmZm5lbjogJTIkc1xuIgorCisjOiBzcmMvZGIuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorbXNnc3RyICJGRUhMRVI6IFN5bnRheGZlaGxlciBpbiBaZWlsZSAlMSRkIGluICUyJHNcbiIKKworIzogc3JjL2RiLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorbXNnc3RyICIgIEZFSExFUjogWmVpbGUgw7xiZXJzY2hyZWl0ZXQgJTEkZCBaZWljaGVuIGluICUyJHMuXG4iCisKKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKK21zZ3N0ciAiUHJvdG9rb2xsLUVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbiA6ICVzIgpJbmRleDogaGRkdGVtcC0wLjMtYmV0YTE1L3BvL0xJTkdVQVMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vTElOR1VBUworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL0xJTkdVQVMKQEAgLTEsMiArMSwyIEBACiAjIFNldCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLgotZnIgcHQgcnUgc3YgCitkZSBmciBwdCBydSBzdiAKSW5kZXg6IGhkZHRlbXAtMC4zLWJldGExNS9wby9oZGR0ZW1wLnBvdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9wby9oZGR0ZW1wLnBvdAorKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL2hkZHRlbXAucG90CkBAIC0xLDM1ICsxLDIyIEBACi0KLSMgQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgJ2hkZHRlbXAnIHBhY2thZ2UuCi0jIEVtbWFudWVsIFZBUkFHTkFUIDxoZGR0ZW1wQGd1enUubmV0PiwgMjAwNi4KKyMgU09NRSBERVNDUklQVElWRSBUSVRMRS4KKyMgQ29weXJpZ2h0IChDKSBZRUFSIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgUEFDS0FHRSBwYWNrYWdlLgorIyBGSVJTVCBBVVRIT1IgPEVNQUlMQEFERFJFU1M+LCBZRUFSLgogIwogIywgZnV6enkKIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IFBBQ0tBR0UgVkVSU0lPTlxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBFbW1hbnVlbCBWYXJhZ25hdCA8aGRkdGVtcEBndXp1Lm5ldD5cbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEZVTEwgTkFNRSA8RU1BSUxAQUREUkVTUz5cbiIKICJMYW5ndWFnZS1UZWFtOiBMQU5HVUFHRSA8TExAbGkub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUNIQVJTRVRcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTEyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJcbiIKLSJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgotIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi1tc2dzdHIgIiIKLQotIzogc3JjL2hkZHRlbXAuYzoxMTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKLW1zZ3N0ciAiIgotCi0jOiBzcmMvaGRkdGVtcC5jOjE2MQorIzogc3JjL2hkZHRlbXAuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtMzgsNyArMjUsNyBAQCBtc2dpZCAiIgogIlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisjOiBzcmMvaGRkdGVtcC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCkBAIC00Nyw2NyArMzQsNTkgQEAgbXNnaWQgIiIKICJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCi0jLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlczogIG5vIHNlbnNvclxuIgotbXNnc3RyICIiCi0KICM6IHNyYy9oZGR0ZW1wLmM6MTk3CiAjLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgotIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgotIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCittc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMDIKKyM6IHNyYy9oZGR0ZW1wLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisjOiBzcmMvaGRkdGVtcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTcKKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVzOiAlczogIGtub3duIGRyaXZlLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorbXNnaWQgIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIyMAorIzogc3JjL2hkZHRlbXAuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIzNQorIzogc3JjL2hkZHRlbXAuYzoyNjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisjOiBzcmMvaGRkdGVtcC5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzozMTkKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzI5CisjOiBzcmMvaGRkdGVtcC5jOjM3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCi0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKICJcbiIKICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCiAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCiAiXG4iCisiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorIlxuIgogIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgogIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgpAQCAtMTE3LDYgKzk2LDcgQEAgbXNnaWQgIiIKICIgIC1kICAgLS1kYWVtb24gICAgICA6ICBydW4gaGRkdGVtcCBpbiBUQ1AvSVAgZGFlbW9uIG1vZGUgKHBvcnQgJWQgYnkgIgogImRlZmF1bHQuKVxuIgogIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCiAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1uICAgLS1udW1lcmljICAgICA6ICBwcmludCBvbmx5IHRoZSB0ZW1wZXJhdHVyZS5cbiIKQEAgLTEyNCw2ICsxMDQsOCBAQCBtc2dpZCAiIgogIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisiRmFocmVuaGVpdC5cbiIKICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCiAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKQEAgLTEzMyw1OCArMTE1LDY5IEBAIG1zZ2lkICIiCiAiUmVwb3J0IGJ1Z3Mgb3IgbmV3IGRyaXZlcyB0byA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzo1MjIKKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU0NworIzogc3JjL2hkZHRlbXAuYzo0MzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiVG9vIGZldyBhcmd1bWVudHM6IHlvdSBtdXN0IHNwZWNpZnkgb25lIGRyaXZlLCBhdCBsZWFzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU1NworIzogc3JjL2hkZHRlbXAuYzo0NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisjOiBzcmMvaGRkdGVtcC5jOjUwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY4CisjOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2NAogbXNnaWQgInVua25vd24iCiBtc2dzdHIgIiIKIAotIzogc3JjL2F0YS5jOjk4CisjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCiAjLCBjLWZvcm1hdAotbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKK21zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgIiIKIAotIzogc3JjL2F0YS5jOjE2NwotbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHNyYy9kYi5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9kYi5jOjE4MAorIzogc3JjL2RiLmM6MjM2CiAjLCBjLWZvcm1hdAogbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9kYi5jOjE5NAorIzogc3JjL2RiLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBzeW50YXggZXJyb3IgYXQgbGluZSAlMSRkIGluICUyJHNcbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvZGIuYzoyMDEKKyM6IHNyYy9kYi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvc2NzaS5jOjExMiBzcmMvc2NzaS5jOjEzMAorIzogc3JjL3Njc2kuYzoxMTEgc3JjL3Njc2kuYzoxMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAibG9nIHNlbnNlIGZhaWxlZCA6ICVzIgogbXNnc3RyICIiCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3NhdGEuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2F0YS5jCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3NhdGEuYwpAQCAtMTE4LDExICsxMTgsMjIgQEAgc3RhdGljIGVudW0gZV9nZXR0ZW1wIHNhdGFfZ2V0X3RlbXBlcmF0dQogICBpbnQgICAgICAgICAgICAgIGk7CiAgIHUxNiAqICAgICAgICAgICAgcDsKIAotICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisgIGlmKGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CiAgICAgY2xvc2UoZHNrLT5mZCk7CiAgICAgZHNrLT5mZCA9IC0xOwogICAgIHJldHVybiBHRVRURU1QX05PU0VOU09SOwogICB9CisKKyAgc3dpdGNoKGF0YV9nZXRfcG93ZXJtb2RlKGRzay0+ZmQpKSB7CisgIGNhc2UgUFdNX1NUQU5EQlk6CisgIGNhc2UgUFdNX1NMRUVQSU5HOgorICAgIGlmICghd2FrZXVwKQorICAgICAgcmV0dXJuIEdFVFRFTVBfRFJJVkVfU0xFRVA7CisgIGNhc2UgUFdNX1VOS05PV046CisgIGNhc2UgUFdNX0FDVElWRTogLyogYWN0aXZlIG9yIGlkbGUgKi8KKyAgZGVmYXVsdDoKKyAgICBicmVhazsKKyAgfQogICAKICAgLyogZ2V0IFNNQVJUIHZhbHVlcyAqLwogICBpZihzYXRhX2VuYWJsZV9zbWFydChkc2stPmZkKSAhPSAwKSB7CkBAIC0xNTQsMjQgKzE2NSwxNSBAQCBzdGF0aWMgZW51bSBlX2dldHRlbXAgc2F0YV9nZXRfdGVtcGVyYXR1CiAgIH0KIAogICAvKiB0ZW1wZXJhdHVyZSAqLwotICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA+IDApCi0gICAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7Ci0gIGVsc2UKLSAgICBmaWVsZCA9IHNhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgREVGQVVMVF9BVFRSSUJVVEVfSUQpOworICBmaWVsZCA9IHNhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkKTsKIAogICBpZihmaWVsZCkKICAgICBkc2stPnZhbHVlID0gKihmaWVsZCszKTsKIAogICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+dmFsdWUgIT0gLTEpCiAgICAgcmV0dXJuIEdFVFRFTVBfS05PV047Ci0gIGVsc2UgewotICAgIGlmKGRzay0+dmFsdWUgIT0gLTEpIHsKLSAgICAgIHJldHVybiBHRVRURU1QX0dVRVNTOwotICAgIH0KLSAgICBlbHNlIHsKLSAgICAgIHJldHVybiBHRVRURU1QX1VOS05PV047Ci0gICAgfQotICB9CisgIGVsc2UKKyAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOwogCiAgIC8qIG5ldmVyIHJlYWNoZWQgKi8KIH0KSW5kZXg6IGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2F0YWNtZHMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2F0YWNtZHMuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zYXRhY21kcy5jCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAjaW5jbHVkZSA8c2NzaS9zZy5oPgogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+Ci0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CiAKIC8vIEFwcGxpY2F0aW9uIHNwZWNpZmljIGluY2x1ZGVzCiAjaW5jbHVkZSAic2F0YWNtZHMuaCIKQEAgLTgwLDggKzgwLDggQEAgaW50IHNhdGFfcGFzc190aHJ1KGludCBkZXZpY2UsIHVuc2lnbmVkCiAKICAgcmV0ID0gc2NzaV9TR19JTyhkZXZpY2UsIGNkYiwgc2l6ZW9mKGNkYiksIGJ1ZmZlciwgY21kWzNdICogNTEyLCBzZW5zZSwgc2l6ZW9mKHNlbnNlKSwgZHhmZXJfZGlyZWN0aW9uKTsKICAKLSAgLyogVmVyaWZ5IFNBVEEgbWFnaWNzICovCi0gIGlmIChzZW5zZVswXSAhPSAweDcyIHx8IHNlbnNlWzddICE9IDB4MGUgfHwgc2Vuc2VbOV0gIT0gMHgwZSB8fCBzZW5zZVsxMF0gIT0gMHgwMCkKKyAgLyogVmVyaWZ5IFNBVEEgbWFnaWMgKi8KKyAgaWYgKHNlbnNlWzBdICE9IDB4NzIpCiAgICAgcmV0dXJuIDE7CQkgIAogICBlbHNlIAogICAgIHJldHVybiByZXQ7CkBAIC05NSwxMCArOTUsMTAgQEAgdm9pZCBzYXRhX2ZpeHN0cmluZyh1bnNpZ25lZCBjaGFyICpzLCBpbgogICBwID0gczsKICAgZW5kID0gJnNbYnl0ZWNvdW50ICYgfjFdOyAvKiBieXRlY291bnQgbXVzdCBiZSBldmVuICovCiAKLSAgLyogY29udmVydCBmcm9tIGJpZy1lbmRpYW4gdG8gaG9zdCBieXRlIG9yZGVyICovCisgIC8qIGNvbnZlcnQgZnJvbSBiaWctZW5kaWFuIHRvIHN0cmluZyBvcmRlciAqLwogICBmb3IgKHAgPSBlbmQgOyBwICE9IHM7KSB7CiAgICAgdW5zaWduZWQgc2hvcnQgKnBwID0gKHVuc2lnbmVkIHNob3J0ICopIChwIC09IDIpOwotICAgICpwcCA9IG50b2hzKCpwcCk7CisgICAgKnBwID0gYnN3YXBfMTYoKnBwKTsKICAgfQogCiAgIC8qIHN0cmlwIGxlYWRpbmcgYmxhbmtzICovCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2JhY2t0cmFjZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9iYWNrdHJhY2UuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9iYWNrdHJhY2UuYwpAQCAtMTYsOSArMTYsMTAgQEAKICAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCiAgKi8KIAorI2RlZmluZSBfR05VX1NPVVJDRQogI2luY2x1ZGUgPGZlYXR1cmVzLmg+CiAKLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyNpZiAoZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18pCiAKICNpbmNsdWRlIDxleGVjaW5mby5oPgogCkBAIC0zMSw4ICszMiwxMiBAQAogI2luY2x1ZGUgPGJpdHMvc2lnY29udGV4dC5oPgogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogCi0jZGVmaW5lIF9fVVNFX0dOVQogI2luY2x1ZGUgPHVjb250ZXh0Lmg+CisjaWYgZGVmaW5lZChfX2kzODZfXykKKyMgIGRlZmluZSBSRUdfSVAgUkVHX0VJUAorI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKQorIyAgZGVmaW5lIFJFR19JUCBSRUdfUklQCisjZW5kaWYKIAogI2RlZmluZSBNQVhfQlRTSVpFIDY0CiAKQEAgLTQyLDcgKzQ3LDYgQEAgdm9pZCBiYWNrdHJhY2VfaGFuZGxlcihpbnQgbiwgc2lnaW5mb190CiAgIHN0YXRpYyBjaGFyICoqbWVzc2FnZXMgPSBOVUxMOwogICBzdGF0aWMgc2l6ZV90IGJ0c2l6ZSA9IDA7CiAgIHN0YXRpYyBzaXplX3QgaTsKLSAgc3RhdGljIHVuc2lnbmVkIGludCBvbGRfZWlwLCBvbGRfZWJwOwogICBzdGF0aWMgY2hhciAqc3RyZXJyID0gIj8/PyI7CiAgIHN0YXRpYyBGSUxFICpmc3RybTsKIApAQCAtNjEsMTAgKzY1LDEwIEBAIHZvaWQgYmFja3RyYWNlX2hhbmRsZXIoaW50IG4sIHNpZ2luZm9fdAogICAgICAgU0lDX0NBU0UoU0VHVl9NQVBFUlIpOwogICAgICAgU0lDX0NBU0UoU0VHVl9BQ0NFUlIpOwogICAgIH0KLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IFNFR0ZBVUxUICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gMHglMDh4XG4iLAorICAgIGZwcmludGYoZnN0cm0sICI9PT0gU0VHRkFVTFQgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAlcFxuIiwKIAkgICAgc3RyZXJyLAogCSAgICBpc3QtPnNpX2FkZHIsCi0JICAgIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF0pOworCSAgICAodm9pZCopcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdKTsKICAgICBicmVhazsKICAgY2FzZSBTSUdJTEw6CiAgICAgc3dpdGNoKGlzdC0+c2lfY29kZSkgewpAQCAtNzcsMTAgKzgxLDEwIEBAIHZvaWQgYmFja3RyYWNlX2hhbmRsZXIoaW50IG4sIHNpZ2luZm9fdAogICAgICAgU0lDX0NBU0UoSUxMX0NPUFJPQyk7CiAgICAgICBTSUNfQ0FTRShJTExfQkFEU1RLKTsKICAgICB9Ci0gICAgZnByaW50Zihmc3RybSwgIj09PSBJTExFR0FMIElOU1RSICglcykgOiBpbnZhbGlkIGFjY2VzcyB0byAlcCwgaW4gMHglMDh4XG4iLAorICAgIGZwcmludGYoZnN0cm0sICI9PT0gSUxMRUdBTCBJTlNUUiAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAogCSAgICBzdHJlcnIsCiAJICAgIGlzdC0+c2lfYWRkciwKLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOwogICAgIGJyZWFrOwogICBjYXNlIFNJR0JVUzoKICAgICBzd2l0Y2goaXN0LT5zaV9jb2RlKSB7CkBAIC04OCwxMCArOTIsMTAgQEAgdm9pZCBiYWNrdHJhY2VfaGFuZGxlcihpbnQgbiwgc2lnaW5mb190CiAgICAgICBTSUNfQ0FTRShCVVNfQURSRVJSKTsKICAgICAgIFNJQ19DQVNFKEJVU19PQkpFUlIpOwogICAgIH0KLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAogCSAgICBzdHJlcnIsCiAJICAgIGlzdC0+c2lfYWRkciwKLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOwogICAgIGJyZWFrOwogICB9CiAgIGZmbHVzaChmc3RybSk7CkBAIC0xMDEsNyArMTA1LDcgQEAgdm9pZCBiYWNrdHJhY2VfaGFuZGxlcihpbnQgbiwgc2lnaW5mb190CiAgIC8qCiAgICAgb2xkX2VpcCA9ICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTQpOwogICAgIG9sZF9lYnAgPSAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi04KTsKLSAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi00KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07CisgICAgKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tNCkgPSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF07CiAgICAgKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tOCkgPSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19FQlBdOyAgICAKICAgICAKICAgICBidHNpemUgPSBiYWNrdHJhY2UoYnRpbmZvLCBNQVhfQlRTSVpFKTsKQEAgLTExMSwxNCArMTE1LDE0IEBAIHZvaWQgYmFja3RyYWNlX2hhbmRsZXIoaW50IG4sIHNpZ2luZm9fdAogICAqLwogICAKICAgYnRzaXplID0gYmFja3RyYWNlKGJ0aW5mbywgTUFYX0JUU0laRSk7Ci0gIGJ0aW5mb1sxXSA9ICh2b2lkKikgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXTsKKyAgYnRpbmZvWzFdID0gKHZvaWQqKSBwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF07CiAKICAgbWVzc2FnZXMgPSBiYWNrdHJhY2Vfc3ltYm9scyhidGluZm8sIGJ0c2l6ZSk7CiAKICAgZm9yKGkgPSAxOwogICAgICAgaSA8IGJ0c2l6ZTsKICAgICAgIGkrKykKLSAgICBmcHJpbnRmKGZzdHJtLCAiWyVkXSAjJWQ6ICVzXG4iLCBnZXRwaWQoKSwgaSwgbWVzc2FnZXNbaV0pOworICAgIGZwcmludGYoZnN0cm0sICJbJWRdICMlenU6ICVzXG4iLCBnZXRwaWQoKSwgaSwgbWVzc2FnZXNbaV0pOwogICBmZmx1c2goZnN0cm0pOwogICBmY2xvc2UoZnN0cm0pOwogCkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2RhZW1vbi5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9kYWVtb24uYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9kYWVtb24uYwpAQCAtMTYzLDE5ICsxNjMsMTYgQEAgdm9pZCBkYWVtb25fc2VuZF9tc2coc3RydWN0IGRpc2sgKmxkaXNrcwogCiAgICAgc3dpdGNoKGRzay0+cmV0KSB7CiAgICAgY2FzZSBHRVRURU1QX05PVF9BUFBMSUNBQkxFOgotICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjTkElYyoiLAogICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgIk5BIiwgICAgICAgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICcqJyk7CisgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKICAgICAgIGJyZWFrOwotICAgIGNhc2UgR0VUVEVNUF9HVUVTUzoKICAgICBjYXNlIEdFVFRFTVBfVU5LTk9XTjoKLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY1VOSyVjKiIsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAiVU5LIiwgICAgIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAnKicpOworICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwgCisJCSAgIHNlcGFyYXRvcik7CiAgICAgICBicmVhazsKICAgICBjYXNlIEdFVFRFTVBfS05PV046CiAgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJWQlYyVjIiwKQEAgLTE4NSwyNiArMTgyLDIzIEBAIHZvaWQgZGFlbW9uX3NlbmRfbXNnKHN0cnVjdCBkaXNrICpsZGlza3MKICAgICAgICAgICAgICAgICAgICBnZXRfdW5pdChkc2spKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgR0VUVEVNUF9OT1NFTlNPUjoKLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY05PUyVjKiIsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAogICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAiTk9TIiwgICAgICBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgJyonKTsKKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBHRVRURU1QX0RSSVZFX1NMRUVQOgotICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjU0xQJWMqIiwKICAgICAgICAgICAgICAgICAgICBkc2stPmRyaXZlLCBzZXBhcmF0b3IsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5tb2RlbCwgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICJTTFAiLCAgICAgIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAnKicpOworICAgICAgICAgICAgICAgICAgIHNlcGFyYXRvcik7CiAgICAgICBicmVhazsKICAgICBjYXNlIEdFVFRFTVBfRVJST1I6CiAgICAgZGVmYXVsdDoKLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY0VSUiVjKiIsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IsCiAgICAgICAgICAgICAgICAgICAgKGRzay0+bW9kZWwpID8gZHNrLT5tb2RlbCA6ICI/Pz8iLCBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgIkVSUiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgJyonKTsKKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOwogICAgICAgYnJlYWs7CiAgICAgfQogICAgIHdyaXRlKGNmZCwmc2VwYXJhdG9yLCAxKTsKQEAgLTIyMiwxNCArMjE2LDExIEBAIHZvaWQgZGFlbW9uX3N5c2xvZyhzdHJ1Y3QgZGlzayAqbGRpc2tzKQogICBmb3IoZHNrID0gbGRpc2tzOyBkc2s7IGRzayA9IGRzay0+bmV4dCkgewogICAgIHN3aXRjaChkc2stPnJldCkgewogICAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKLSAgICBjYXNlIEdFVFRFTVBfR1VFU1M6Ci0gICAgICB2YWx1ZV90b191bml0KGRzayk7Ci0KICAgICAgIHN5c2xvZyhMT0dfSU5GTywgIiVzOiAlczogJWQgJWMiLCAKICAgICAgICAgICAgICBkc2stPmRyaXZlLAogCSAgICAgZHNrLT5tb2RlbCwKLQkgICAgIGRzay0+dmFsdWUsCi0JICAgICBkc2stPmRiX2VudHJ5LT51bml0KTsKKwkgICAgIHZhbHVlX3RvX3VuaXQoZHNrKSwKKwkgICAgIGdldF91bml0KGRzaykpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBHRVRURU1QX0RSSVZFX1NMRUVQOgogICAgICAgc3lzbG9nKExPR19XQVJOSU5HLCBfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nIiksIApAQCAtMjcwLDI4ICsyNjEsMzAgQEAgdm9pZCBkb19kYWVtb25fbW9kZShzdHJ1Y3QgZGlzayAqbGRpc2tzKQogICBmZF9zZXQgICAgICAgICAgICAgZGVmZmRzOwogICB0aW1lX3QgICAgICAgICAgICAgbmV4dF90aW1lOwogCi0gIHN3aXRjaChmb3JrKCkpIHsKLSAgY2FzZSAtMToKLSAgICBwZXJyb3IoImZvcmsiKTsKLSAgICBleGl0KDIpOwotICAgIGJyZWFrOwotICBjYXNlIDA6Ci0gICAgYnJlYWs7Ci0gIGRlZmF1bHQ6Ci0gICAgZXhpdCgwKTsKLSAgfQotICAKLSAgc2V0c2lkKCk7Ci0gIAotICBzd2l0Y2goZm9yaygpKSB7Ci0gIGNhc2UgLTE6Ci0gICAgcGVycm9yKCJmb3JrIik7Ci0gICAgZXhpdCgyKTsKLSAgICBicmVhazsKLSAgY2FzZSAwOgotICAgIGJyZWFrOwotICBkZWZhdWx0OgotICAgIGV4aXQoMCk7CitpZiAoIWZvcmVncm91bmQpIHsKKyAgICBzd2l0Y2goZm9yaygpKSB7CisgICAgY2FzZSAtMToKKyAgICAgIHBlcnJvcigiZm9yayIpOworICAgICAgZXhpdCgyKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgMDoKKyAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICBleGl0KDApOworICAgIH0KKworICAgIHNldHNpZCgpOworCisgICAgc3dpdGNoKGZvcmsoKSkgeworICAgIGNhc2UgLTE6CisgICAgICBwZXJyb3IoImZvcmsiKTsKKyAgICAgIGV4aXQoMik7CisgICAgICBicmVhazsKKyAgICBjYXNlIDA6CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgZXhpdCgwKTsKKyAgICB9CiAgIH0KICAgY2hkaXIoIi8iKTsKICAgdW1hc2soMCk7CkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5jCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuYwpAQCAtNzUsNyArNzUsNyBAQCBjaGFyICogICAgICAgICAgICAgbGlzdGVuX2FkZHI7CiBjaGFyICAgICAgICAgICAgICAgc2VwYXJhdG9yID0gU0VQQVJBVE9SOwogCiBzdHJ1Y3QgYnVzdHlwZSAqICAgYnVzW0JVU19UWVBFX01BWF07Ci1pbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCBudW1lcmljLCB3YWtldXAsIGFmX2hpbnQ7CitpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCBudW1lcmljLCB3YWtldXAsIGZvcmVncm91bmQsIGFmX2hpbnQ7CiAKIHN0YXRpYyBlbnVtIHsgREVGQVVMVCwgQ0VMU0lVUywgRkFIUkVOSEVJVCB9IHVuaXQ7CiAKQEAgLTE5NCwyMyArMTk0LDcgQEAgc3RhdGljIHZvaWQgZGlzcGxheV90ZW1wZXJhdHVyZShzdHJ1Y3QgZAogICAgIGlmIChudW1lcmljICYmIHF1aWV0KQogICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKICAgICBlbHNlCi0gICAgICBwcmludGYoXygiJXM6ICVzOiAgbm8gc2Vuc29yXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7Ci0KLSAgICBicmVhazsKLSAgY2FzZSBHRVRURU1QX0dVRVNTOgotCi0gICAgaWYoIXF1aWV0KQotICAgICAgZnByaW50ZihzdGRlcnIsCi0JICAgICAgXygiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKLQkJIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0JCSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgotCQkiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKLQkJIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iKSwgZHNrLT5kcml2ZSk7Ci0KLSAgICBpZiAoISBudW1lcmljKQotICAgICAgcHJpbnRmKF8oIiVzOiAlczogICVkJXNDIG9yICVzRlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwsIGRzay0+dmFsdWUsIGRlZ3JlZSwgZGVncmVlKTsKLSAgICBlbHNlCi0gICAgICBwcmludGYoIiVkXG4iLCB2YWx1ZV90b191bml0KGRzaykpOworICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogIG5vIHNlbnNvclxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOwogCiAgICAgYnJlYWs7CiAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKQEAgLTIzMiwxNCArMjE2LDE0IEBAIHN0YXRpYyB2b2lkIGRpc3BsYXlfdGVtcGVyYXR1cmUoc3RydWN0IGQKICAgICBpZiAobnVtZXJpYyAmJiBxdWlldCkKICAgICAgIHByaW50ZigiMFxuIik7ICAgICAgCiAgICAgZWxzZQotICAgICAgcHJpbnRmKF8oIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKyAgICAgIGZwcmludGYoc3RkZXJyLCBfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CiAKICAgICBicmVhazsKICAgY2FzZSBHRVRURU1QX05PU0VOU09SOgogICAgIGlmIChudW1lcmljICYmIHF1aWV0KQogICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKICAgICBlbHNlCi0gICAgICBwcmludGYoXygiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOworICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKICAgICAgIAogICAgIGJyZWFrOwogICBkZWZhdWx0OgpAQCAtMjY4LDggKzI1Miw5IEBAIHZvaWQgZG9fZGlyZWN0X21vZGUoc3RydWN0IGRpc2sgKmxkaXNrcykKIAogaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogICBpbnQgICAgICAgICAgIGksIGMsIGxpbmRleCA9IDAsIGRiX2xvYWRlZCA9IDA7CisgIGludCAJCXJldCA9IDA7CiAgIGludCAgICAgICAgICAgc2hvd19kYjsKLSAgc3RydWN0IGRpc2sgKiBsZGlza3M7CisgIHN0cnVjdCAgICAgICAgZGlzayAqIGxkaXNrczsKIAogICBiYWNrdHJhY2Vfc2lnc2VndigpOwogICBiYWNrdHJhY2Vfc2lnaWxsKCk7CkBAIC0yODMsNyArMjY4LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogICB0ZXh0ZG9tYWluIChQQUNLQUdFKTsKICNlbmRpZgogICAKLSAgc2hvd19kYiA9IGRlYnVnID0gbnVtZXJpYyA9IHF1aWV0ID0gd2FrZXVwID0gYWZfaGludCA9IHN5c2xvZ19pbnRlcnZhbCA9IDA7CisgIHNob3dfZGIgPSBkZWJ1ZyA9IG51bWVyaWMgPSBxdWlldCA9IHdha2V1cCA9IGFmX2hpbnQgPSBzeXNsb2dfaW50ZXJ2YWwgPSBmb3JlZ3JvdW5kID0gMDsKICAgdW5pdCA9IERFRkFVTFQ7CiAgIHBvcnRudW0gPSBQT1JUX05VTUJFUjsKICAgbGlzdGVuX2FkZHIgPSBOVUxMOwpAQCAtMjk4LDYgKzI4Myw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKICAgICAgIHsiZHJpdmViYXNlIiwgIDAsIE5VTEwsICdiJ30sCiAgICAgICB7ImRlYnVnIiwgICAgICAwLCBOVUxMLCAnRCd9LAogICAgICAgeyJmaWxlIiwgICAgICAgMSwgTlVMTCwgJ2YnfSwKKyAgICAgIHsiZm9yZWdyb3VuZCIsIDAsIE5VTEwsICdGJ30sCiAgICAgICB7Imxpc3RlbiIsICAgICAxLCBOVUxMLCAnbCd9LAogICAgICAgeyJ2ZXJzaW9uIiwgICAgMCwgTlVMTCwgJ3YnfSwKICAgICAgIHsicG9ydCIsICAgICAgIDEsIE5VTEwsICdwJ30sCkBAIC0zMDksNyArMjk1LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogICAgICAgezAsIDAsIDAsIDB9CiAgICAgfTsKICAKLSAgICBjID0gZ2V0b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsICJiRGRmOmw6aHA6cXM6dTp2bnc0NlM6IiwgbG9uZ19vcHRpb25zLCAmbGluZGV4KTsKKyAgICBjID0gZ2V0b3B0X2xvbmcgKGFyZ2MsIGFyZ3YsICJiRGRmOmw6aHA6cXM6dTp2bnc0NkZTOiIsIGxvbmdfb3B0aW9ucywgJmxpbmRleCk7CiAgICAgaWYgKGMgPT0gLTEpCiAgICAgICBicmVhazsKICAgICAKQEAgLTM4NiwxMiArMzcyLDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKIAkJICIgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSBmb3IgZXZlcnkgZHJpdmUgc3VwcGxpZWQpLlxuIgogCQkgIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSBkZWZhdWx0LilcbiIKIAkJICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorCQkgIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgogCQkgIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKICAgICAgICAgICAgICAgICAgIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgogCQkgIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgdG8gbGlzdGVuIHRvIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgogCQkgIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCiAJCSAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCi0gICAgICAgICAgICAgICAgICIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbGl1cyBvciBGYWhyZW5oZWl0LlxuIgorICAgICAgICAgICAgICAgICAiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yIEZhaHJlbmhlaXQuXG4iCiAJCSAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCiAJCSAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgogCQkgIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCkBAIC00MjIsNiArNDA5LDkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogCSAgfQogICAgICAgICB9CiAJYnJlYWs7CisgICAgICBjYXNlICdGJzoKKyAgICAgICAgZm9yZWdyb3VuZCA9IDE7CisJYnJlYWs7CiAgICAgICBkZWZhdWx0OgogCWV4aXQoMSk7CiAgICAgICB9CkBAIC00OTMsNiArNDgzLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogICAgIGlmKCAoZHNrLT5mZCA9IG9wZW4oZHNrLT5kcml2ZSwgT19SRE9OTFkgfCBPX05PTkJMT0NLKSkgPCAwKSB7CiAgICAgICBzbnByaW50Zihkc2stPmVycm9ybXNnLCBNQVhfRVJST1JNU0dfU0laRSwgIm9wZW46ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOwogICAgICAgZHNrLT50eXBlID0gRVJST1I7CisgICAgICByZXQgPSAxOwogICAgICAgY29udGludWU7CiAgICAgfQogCkBAIC01MDUsNiArNDk2LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkgewogCiAgICAgICBsZGlza3MgPSBkc2stPm5leHQ7CiAgICAgICBmcmVlKGRzayk7CisgICAgICByZXQgPSAxOwogICAgICAgY29udGludWU7CiAgICAgfQogCkBAIC01MTgsMTEgKzUxMCwxNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CiAJZGJfbG9hZGVkID0gMTsKICAgICAgIH0gICAgICAKIAorICAgICAgZHNrLT5kYl9lbnRyeSA9IChzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5ICopbWFsbG9jKHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7CiAgICAgICBkYmUgPSBpc19hX3N1cHBvcnRlZF9kcml2ZShkc2stPm1vZGVsKTsKLSAgICAgIGlmKGRiZSkgewotCWRzay0+ZGJfZW50cnkgPSAoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSkpOworICAgICAgaWYoZGJlKQogCW1lbWNweShkc2stPmRiX2VudHJ5LCBkYmUsIHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7Ci0gICAgICB9CQorICAgICAgZWxzZSB7CisgICAgICAgIGRzay0+ZGJfZW50cnktPnJlZ2V4cCAgICAgICA9ICIiOworICAgICAgICBkc2stPmRiX2VudHJ5LT5kZXNjcmlwdGlvbiAgPSAiIjsKKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID0gREVGQVVMVF9BVFRSSUJVVEVfSUQ7CisgICAgICAgIGRzay0+ZGJfZW50cnktPnVuaXQgICAgICAgICA9ICdDJzsKKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+bmV4dCAgICAgICAgID0gTlVMTDsKKyAgICAgIH0KICAgICB9CiAgIH0KIApAQCAtNTM0LDUgKzUzMiw1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyKiBhcmd2W10pIHsKICAgICBkb19kaXJlY3RfbW9kZShsZGlza3MpOwogICB9CiAKLSAgcmV0dXJuIDA7CisgIHJldHVybiByZXQ7CiB9CkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2F0YS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9hdGEuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9hdGEuYwpAQCAtNzUsNyArNzUsNyBAQCBzdGF0aWMgZW51bSBlX2dldHRlbXAgYXRhX2dldF90ZW1wZXJhdHVyCiAgIGludCAgICAgICAgICAgICAgaTsKICAgdTE2ICogICAgICAgICAgICBwOwogCi0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKyAgaWYoZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKICAgICBjbG9zZShkc2stPmZkKTsKICAgICBkc2stPmZkID0gLTE7CiAgICAgcmV0dXJuIEdFVFRFTVBfTk9TRU5TT1I7CkBAIC0xNDAsMjQgKzE0MCwxNSBAQCBzdGF0aWMgZW51bSBlX2dldHRlbXAgYXRhX2dldF90ZW1wZXJhdHVyCiAgICovCiAKICAgLyogdGVtcGVyYXR1cmUgKi8KLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPiAwKQotICAgIGZpZWxkID0gYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7Ci0gIGVsc2UKLSAgICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBERUZBVUxUX0FUVFJJQlVURV9JRCk7CisgIGZpZWxkID0gYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CiAKICAgaWYoZmllbGQpCiAgICAgZHNrLT52YWx1ZSA9ICooZmllbGQrMyk7CiAKLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPnZhbHVlICE9IC0xKQorICBpZihkc2stPnZhbHVlICE9IC0xKQogICAgIHJldHVybiBHRVRURU1QX0tOT1dOOwotICBlbHNlIHsKLSAgICBpZihkc2stPnZhbHVlICE9IC0xKSB7Ci0gICAgICByZXR1cm4gR0VUVEVNUF9HVUVTUzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOwotICAgIH0KLSAgfQorICBlbHNlCisgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKIAogICAvKiBuZXZlciByZWFjaGVkICovCiB9CkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvaGRkdGVtcC5oCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2hkZHRlbXAuaApAQCAtMzksOCArMzksNiBAQCBlbnVtIGVfZ2V0dGVtcCB7CiAgIEdFVFRFTVBfRVJST1IsICAgICAgICAgICAgLyogRXJyb3IgKi8KICAgR0VUVEVNUF9OT1RfQVBQTElDQUJMRSwgICAvKiAqLwogICBHRVRURU1QX1VOS05PV04sICAgICAgICAgIC8qIERyaXZlIGlzIG5vdCBpbiBkYXRhYmFzZSAqLwotICBHRVRURU1QX0dVRVNTLCAgICAgICAgICAgIC8qIE5vdCBpbiBkYXRhYmFzZSwgYnV0IHNvbWV0aGluZyB3YXMgZ3Vlc3NlZCwgdXNlciBtdXN0Ci0JCQkgICAgICAgY2hlY2sgdGhhdCB0aGUgdGVtcGVyYXR1cmUgcmV0dXJuZWQgaXMgY29ycmVjdCAqLwogICBHRVRURU1QX0tOT1dOLCAgICAgICAgICAgIC8qIERyaXZlIGFwcGVhciBpbiBkYXRhYmFzZSAqLwogICBHRVRURU1QX05PU0VOU09SLCAgICAgICAgIC8qIERyaXZlIGFwcGVhciBpbiBkYXRhYmFzZSBidXQgaXMga25vd24gdG8gaGF2ZSBubyBzZW5zb3IgKi8KICAgR0VUVEVNUF9EUklWRV9TTEVFUCAgICAgICAvKiBEcml2ZSBpcyBzbGVlcGluZyAqLwpAQCAtNzgsNyArNzYsNyBAQCBzdHJ1Y3QgYnVzdHlwZSB7CiAKIGV4dGVybiBzdHJ1Y3QgYnVzdHlwZSAqICAgYnVzW0JVU19UWVBFX01BWF07CiBleHRlcm4gY2hhciAgICAgICAgICAgICAgIGVycm9ybXNnW01BWF9FUlJPUk1TR19TSVpFXTsKLWV4dGVybiBpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCB3YWtldXAsIGFmX2hpbnQ7CitleHRlcm4gaW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgd2FrZXVwLCBhZl9oaW50LCBmb3JlZ3JvdW5kOwogZXh0ZXJuIGNoYXIgICAgICAgICAgICAgICBzZXBhcmF0b3I7CiBleHRlcm4gbG9uZyAgICAgICAgICAgICAgIHBvcnRudW0sIHN5c2xvZ19pbnRlcnZhbDsKIGV4dGVybiBjaGFyICogICAgICAgICAgICAgbGlzdGVuX2FkZHI7CkluZGV4OiBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL3Njc2ljbWRzLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL3Njc2ljbWRzLmMKKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2NzaWNtZHMuYwpAQCAtMTQ3LDYgKzE0Nyw3IEBAIGludCBzY3NpX2lucXVpcnkoaW50IGRldmljZSwgdW5zaWduZWQgY2gKICAgICByZXR1cm4gMTsKICAgZWxzZSB7CiAgICAgc2NzaV9maXhzdHJpbmcoYnVmZmVyICsgOCwgMjQpOworICAgIGJ1ZmZlclszMl0gPSAwOwogICAgIHJldHVybiAwOwogICB9CiB9Cg==