TWVnYXBhdGNoIGZyb20gZGViaWFuCgpPcmlnaW5hbCBVUkw6IGh0dHA6Ly9mdHAuZGViaWFuLm9yZy9kZWJpYW4vcG9vbC9tYWluL2gvaGRkdGVtcC9oZGR0ZW1wXzAuMy1iZXRhMTUtNTIuZGlmZi5negoKRmlsdGVyZWQgd2l0aDoKICBmaWx0ZXJkaWZmIC1wMSAteCBSRUFETUUgLXggJ2RlYmlhbi8qJwoKClVwc3RyZWFtLVN0YXR1czogdW5tYWludGFpbmVkCgotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvZG9jL2hkZHRlbXAuOAorKysgaGRkdGVtcC0wLjMtYmV0YTE1L2RvYy9oZGR0ZW1wLjgKQEAgLTU4LDYgKzU4LDEwIEBACiAuQiBcLWYsIFwtXC1maWxlPVxmSWZpbGVcZkkKIFNwZWNpZnkgdGhlIGRhdGFiYXNlIGZpbGUgdG8gdXNlLgogLlRQCisuQiBcLUYsIFwtXC1mb3JlZ3JvdW5kCitEb24ndCBmb3JrIGludG8gdGhlIGJhY2tncm91bmQgZXZlbiBpbiBkYWVtb24gbW9kZS4gIFRoaXMgaXMgdXNlZnVsCit3aGVuIHJ1bm5pbmcgdW5kZXIgYSBwcm9jZXNzIHN1cGVydmlzb3IuCisuVFAKIC5CIFwtbCwgXC1cLWxpc3Rlbj1cZklhZGRyXGZSCiBMaXN0ZW4gb24gYSBzcGVjaWZpYyBhZGRyZXNzLiAgXGZJYWRkclxmUiBpcyBhIHN0cmluZyBjb250YWluaW5nIGEKIGhvc3QgbmFtZSBvciBhIG51bWVyaWMgaG9zdCBhZGRyZXNzIHN0cmluZy4gIFRoZSBudW1lcmljIGhvc3QgYWRkcmVzcwpAQCAtODAsNiArODQsOSBAQAogLkIgXC1xLCBcLVwtcXVpZXQKIERvbid0IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuCiAuVFAKKy5CIFwtdSwgXC1cLXVuaXQ9XGZJQ3xGXGZSCitGb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgRmFocmVuaGVpdC4KKy5UUAogLkIgXC12LCBcLVwtdmVyc2lvbgogRGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLgogLlRQCkBAIC05Niw3ICsxMDMsNyBAQAogLlNIICJEUklWRSBEQVRBQkFTRSIKIElmIHlvdSBrbm93IHlvdXIgZHJpdmUgaGFzIGEgdGVtcGVyYXR1cmUgc2Vuc29yIGJ1dCBpdCBpcyBiZWluZwogcmVwb3J0ZWQgdW5zdXBwb3J0ZWQsIHRlbGwgbWUgd2hpY2ggbW9kZWwgYW5kIHdoaWNoIG1hbnVmYWN0dXJlciBpdAotaXMsIGFuZC9vciBqdXN0IGFkZCBhIG5ldyBlbnRyeSBpbiAvdXNyL3NoYXJlL21pc2MvaGRkdGVtcC5kYi4gIEVhY2gKK2lzLCBhbmQvb3IganVzdCBhZGQgYSBuZXcgZW50cnkgaW4gL2V0Yy9oZGR0ZW1wLmRiLiAgRWFjaAogbGluZSBvZiBoZGR0ZW1wLmRiIGlzIGVpdGhlciBhIGNvbW1lbnQsIGEgYmxhbmsgbGluZSBvciBhIGxpbmUKIGNvbnRhaW5pbmc6CiAuVFAKQEAgLTExMiw3ICsxMTksNyBAQAogRmVlZGJhY2sgaXMgd2VsY29tZSAoc2VlIHRoZSBSRVBPUlQgc2VjdGlvbiBiZWxvdykuCiAKIC5TSCAiVENQL0lQIERBRU1PTiBNT0RFIgotRXhlbXBsZSBvZiB0eXBlIGZvcmNpbmc6CitFeGFtcGxlIG9mIHR5cGUgZm9yY2luZzoKIC5QUAogIyBoZGR0ZW1wIFNBVEE6L2Rldi9zZGEgUEFUQTovZGV2L2hkYQogLlBQCkBAIC0xMjAsNyArMTI3LDcgQEAKIC5CIGhkZHRlbXAKIGluIGRhZW1vbiBtb2RlLCBzdGFydCBpdCBsaWtlIHRoaXM6CiAuUFAKLSMgaGRkdGVtcCAtZCAvZGV2L2hkW2FiY2RdCisjIGhkZHRlbXAgXC1kIC9kZXYvaGRbYWJjZF0KIC5QUAogLlBQCiBhbmQgdXNlCkBAIC0xNjUsOCArMTcyLDggQEAKIGludmVzdGlnYXRpb24gdGhleSBkbyBub3QuICBCdXQgZmllbGRzIDE5NCAod2hpY2ggaXMgdGhlIHN0YW5kYXJkCiBmaWVsZCBmb3IgdGVtcGVyYXR1cmUpIGFuZCAyMzEgYXJlIGdvb2QgY2FuZGlkYXRlcy4KIC5QUAotVGhlbiwgeW91IGNhbiBzZW5kIG1lIGEgcmVwb3J0IHdpdGggb3V0cHV0cyBmcm9tIGBoZGR0ZW1wIC0tZGVidWcgLi4uJywKLWBzbWFydGN0bCcgb3IgYGhkcGFybSAtaSAuLi4nLCBhbmQvb3IgYWRkIGFuIGVudHJ5IGluIGhkZHRlbXAuZGIKK1RoZW4sIHlvdSBjYW4gc2VuZCBtZSBhIHJlcG9ydCB3aXRoIG91dHB1dHMgZnJvbSBgaGRkdGVtcCBcLVwtZGVidWcgLi4uJywKK2BzbWFydGN0bCcgb3IgYGhkcGFybSBcLWkgLi4uJywgYW5kL29yIGFkZCBhbiBlbnRyeSBpbiBoZGR0ZW1wLmRiCiB5b3Vyc2VsZi4KIAogLlNIICJCVUdTIgpAQCAtMTgzLDUgKzE5MCw1IEBACiAuUFAKIEVtbWFudWVsIFZhcmFnbmF0IChoZGR0ZW1wQGd1enUubmV0KS4KIC5QUAotVGhpcyBtYW51YWwgcGFnZSB3YXMgb3JpZ2luYWx5IHdyaXR0ZW4gYnkgQXVyZWxpZW4gSmFybm8gPGF1cmVsMzJAZGViaWFuLm9yZz4sCitUaGlzIG1hbnVhbCBwYWdlIHdhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgQXVyZWxpZW4gSmFybm8gPGF1cmVsMzJAZGViaWFuLm9yZz4sCiBmb3IgdGhlIERlYmlhbiBHTlUvTGludXggc3lzdGVtIChidXQgbWF5IGJlIHVzZWQgYnkgb3RoZXJzKS4KLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2ZyLnBvCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZnIucG8KQEAgLTcsOSArNyw5IEBACiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBmclxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDMtMDYtMDMgMDA6NThHTVQrMVxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0wOC0zMCAxNjozOCswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBdXJlbGllbiBKYXJubyA8YXVyZWxpZW5AYXVyZWwzMi5uZXQ+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogRlJBTkNBSVMgPGZyQGxpLm9yZz5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtMTcsMjMgKzE3LDcgQEAKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCiAiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjAuMVxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjExMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotbXNnc3RyICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbGV1ciB8IERlc2NyaXB0aW9uXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTE4Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCi1tc2dzdHIgIiVzJXN8ICAlNWQgfCAlc1xuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjE2MQorIzogc3JjL2hkZHRlbXAuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDYsNyArMzAsNyBAQAogIk1vZOhsZTogJXNcbiIKICJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTYwLDc1ICs0NCw2MCBAQAogIm5ldCkuXG4iCiAiQVRURU5USU9OIDogVm9pciBsZXMgb3B0aW9ucyAtLWhlbHAsIC0tZGVidWcgZXQgLS1kcml2ZWJhc2UuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisjOiBzcmMvaGRkdGVtcC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKIG1zZ3N0ciAiJXM6ICVzIDogIHBhcyBkZSBjYXB0ZXVyXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgotIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgotIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCi1tc2dzdHIgIiIKLSJBVFRFTlRJT04gOiBMZSBsZWN0ZXVyICVzIG4nYXBwYXJhaXQgcGFzIGRhbnMgbGEgYmFzZSBkZSBkb25u6WVzIGRlcyAiCi0ibGVjdGV1cnMgc3VwcG9ydOlzXG4iCi0iQVRURU5USU9OIDogTWFpcyBlbiB1dGlsaXNhbnQgdW5lIHZhbGV1ciBjb3VyYW50ZSwgaWwgcmVudm9pZSBxdWVscXVlICIKLSJjaG9zZS5cbiIKLSJBVFRFTlRJT04gOiBOb3RleiBxdWUgbGEgdGVtcOlyYXR1cmUgcmVudm956WUgcGV1dCDqdHJlIGVycm9u6WUuXG4iCi0iQVRURU5USU9OIDogVm9pciBsZXMgb3B0aW9ucyAtLWhlbHAsIC0tZGVidWcgZXQgLS1kcml2ZWJhc2UuXG4iCi0iQVRURU5USU9OIDogRXQgbidvdWJsaWV6IHBhcyBkJ2Fqb3V0ZXIgdm90cmUgbGVjdGV1ciBhdSBmaWNoaWVyIGhkZHRlbXAuZGJcbiIKLQotIzogc3JjL2hkZHRlbXAuYzoyMDIKKyM6IHNyYy9oZGR0ZW1wLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgogbXNnc3RyICIlczogJXMgOiAgJWQlc0Mgb3UgJXNGXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjE0CisjOiBzcmMvaGRkdGVtcC5jOjIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCiBtc2dzdHIgIiVzOiAlcyA6IGxlIGxlY3RldXIgZXN0IGVuIHZlaWxsZVxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNworIzogc3JjL2hkZHRlbXAuYzoyNDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgogbXNnc3RyICIiCiAiJXM6ICVzOiAgbGVjdGV1ciBjb25udSwgbWFpcyBpbCBuZSBwb3Nz6GRlIHBhcyBkZSBjYXB0ZXVyIGRlIHRlbXDpcmF0dXJlLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIyMAorIzogc3JjL2hkZHRlbXAuYzoyNDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVzOiAlczogdW5rbm93biByZXR1cm5lZCBzdGF0dXNcbiIKIG1zZ3N0ciAiRVJSRVVSIDogJXMgOiAlcyA6IHN0YXR1cyBpbmNvbm51XG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisjOiBzcmMvaGRkdGVtcC5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgotInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzozMDgKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKIG1zZ3N0ciAiRVJSRVVSIDogc+lwYXJhdGV1ciBpbnZhbGlkZS5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMTkKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgogbXNnc3RyICJFUlJFVVIgOiBudW3pcm8gZGUgcG9ydCBpbnZhbGlkZS5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3JjL2hkZHRlbXAuYzozNzEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgotIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCiAiXG4iCiAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgogIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgogIlxuIgorIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKyJcbiIKICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKQEAgLTEzOCw2ICsxMDcsNyBAQAogIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCiAiZGVmYXVsdC4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgpAQCAtMTQ1LDYgKzExNSw4IEBACiAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKyJGYWhyZW5oZWl0LlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgpAQCAtMTUzLDExICsxMjUsMTQgQEAKICJcbiIKICJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKIG1zZ3N0ciAiIgotIiBVdGlsaXNhdGlvbjogaGRkdGVtcCBbT1BUSU9OU10gRElTUVVFMSBbRElTUVVFMl0uLi5cbiIKKyIgVXRpbGlzYXRpb246IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNRVUUxIFtbVFlQRTpdRElTUVVFMl0uLi5cbiIKICJcbiIKICIgICBoZGR0ZW1wIGFmZmljaGUgbGEgdGVtcOlyYXR1cmUgZGVzIGxlY3RldXJzIHBhc3PpcyBlbiBhcmd1bWVudC5cbiIKICIgICBMZXMgbGVjdGV1cnMgZG9pdmVudCBhdm9pciBsZSBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKICJcbiIKKyIgIFRZUEUgcGV1dCDqdHJlIFNBVEEsIFBBVEEgb3UgU0NTSS4gU2kgbGUgdHlwZSBlc3Qgb21pcywgaGRkdGVtcCBlc3NhaWVyYVxuIgorIiAgZGUgbGUgZGV2aW5lci5cbiIKKyJcbiIKICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBhZmZpY2hlIGxlIGNvbnRlbnUgZHUgZmljaGllciBkZSBiYXNlIGRlIGRvbm7pZSAiCiAicXVpIFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1ldCDgIGhkZHRlbXAgZGUgcmVjb25uYe50cmUgbGVzIGxlY3RldXJzICIKQEAgLTE3Miw2ICsxNDcsNyBAQAogImTpZmF1dCkuXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmaWUgbGUgZmljaGllciDgIHV0aWxpc2VyIGNvbW1lIGJhc2UgZGUgIgogImRvbm7pZXMuXG4iCisiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgbmUgcGFzIGTpbW9uaXNlciwgcmVzdGVyIGF1IHByZW1pZXIgcGxhbi5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICDpY291dGUgc3VyIHVuZSBpbnRlcmZhY2Ugc3DpY2lmaXF1ZSAoZW4gbW9kZSBk6W1vbiAiCiAiVENQL0lQKS5cbiIKICIgIC1uICAgLS1udW1lcmljICAgICA6ICBhZmZpY2hlIHNldWxlbWVudCBsYSB0ZW1w6XJhdHVyZS5cbiIKQEAgLTE4MCw2ICsxNTYsOCBAQAogImTpbW9uIFRDUC9JUCkuXG4iCiAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgZW5yZWdpc3RyZSBsYSB0ZW1w6XJhdHVyZSBkYW5zIHN5c2xvZyB0b3VzIGxlcyBzICIKICJzZWNvbmRlcy5cbiIKKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBhZmZpY2hlIGxhIHRlbXDpcmF0dXJlIGVuIGRlZ3LpcyBDZWxzaXVzIG91ICIKKyJGYWhyZW5oZWl0LlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG5lIHbpcmlmaWUgcGFzIHNpIGxlIGxlY3RldXIgZXN0IHN1cHBvcnTpLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGFmZmljaGUgbGEgdmVyc2lvbiBkZSBoZGR0ZW1wLlxuIgogIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHLpdmVpbGxlciBsZSBsZWN0ZXVyIHNpIG7pY2Vzc2FpcmUuXG4iCkBAIC0xODgsNjIgKzE2Niw5NSBAQAogIlxuIgogIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjUyMgorIzogc3JjL2hkZHRlbXAuYzo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCiBtc2dzdHIgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU0NworIzogc3JjL2hkZHRlbXAuYzo0MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCiBtc2dzdHIgIkVSUkVVUiA6IGludGVydmFsbGUgaW52YWxpZGUuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQzOAorIywgYy1mb3JtYXQKIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgogbXNnc3RyICJUcm9wIHBldSBkJ2FyZ3VtZW50cyA6IHZvdXMgZGV2ZXogc3DpY2lmaWVyIGF1IG1vaW5zIHVuIGxlY3RldXIuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCiBtc2dzdHIgIiIKICJFUlJFVVI6IGltcG9zc2libGUgZCd1dGlsaXNlciBsZXMgb3B0aW9ucyAtLWRlYnVnIGV0IC0tZGFlbW9uIG91IC0tc3lzbG9nIGVuICIKICJt6m1lIHRlbXBzLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU4MworIzogc3JjL2hkZHRlbXAuYzo1MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6ICVzOiBjYW4ndCBkZXRlcm1pbmUgYnVzIHR5cGUgKG9yIHRoaXMgYnVzIHR5cGUgaXMgdW5rbm93bilcbiIKIG1zZ3N0ciAiIgogIkVSUkVVUjogJXM6IGltcG9zc2libGUgZGUgZOl0ZXJtaW5lciBsZSB0eXBlIGRlIGJ1cyAob3UgY2UgdHlwZSBkZSBidXMgZXN0ICIKICJpbmNvbm51KVxuIgogCi0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKIG1zZ2lkICJ1bmtub3duIgogbXNnc3RyICJpbmNvbm51IgogCi0jOiBzcmMvYXRhLmM6OTgKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgotbXNnc3RyICJjaGFtcCglZClcdCA9ICVkXG4iCi0KLSM6IHNyYy9hdGEuYzoxNjcKIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgIlMuTS5BLlIuVC4gbm9uIGRpc3BvbmlibGUiCiAKLSM6IHNyYy9kYi5jOjE4MAorIzogc3JjL2RiLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZWdleHAlc3wgVmFsZXVyIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3JjL2RiLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCittc2dzdHIgIiVzJXN8ICAlNWQgfCAlc1xuIgorCisjOiBzcmMvZGIuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCiBtc2dzdHIgImhkZHRlbXA6IG5lIHBldXQgb3V2cmlyICUxJHM6ICUyJHNcbiIKIAotIzogc3JjL2RiLmM6MTk0CisjOiBzcmMvZGIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgogbXNnc3RyICJFUlJFVVI6IGVycmV1ciBkZSBzeW50YXhlIOAgbGEgbGlnbmUgJTEkZDogJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoyMDEKKyM6IHNyYy9kYi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKIG1zZ3N0ciAiICBFUlJFVVI6IGxpZ25lIGV46WNkYW50ICUxJGQgY2FyYWN06HJlcyBkYW5zICUyJHMuXG4iCiAKLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCiBtc2dzdHIgImVjaGVjIGRlICdsb2cgc2Vuc2UnIDogJXMgIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCisjfiAiV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKKyN+ICJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgorI34gIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCisjfiAiV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFUVEVOVElPTiA6IExlIGxlY3RldXIgJXMgbidhcHBhcmFpdCBwYXMgZGFucyBsYSBiYXNlIGRlIGRvbm7pZXMgZGVzICIKKyN+ICJsZWN0ZXVycyBzdXBwb3J06XNcbiIKKyN+ICJBVFRFTlRJT04gOiBNYWlzIGVuIHV0aWxpc2FudCB1bmUgdmFsZXVyIGNvdXJhbnRlLCBpbCByZW52b2llIHF1ZWxxdWUgIgorI34gImNob3NlLlxuIgorI34gIkFUVEVOVElPTiA6IE5vdGV6IHF1ZSBsYSB0ZW1w6XJhdHVyZSByZW52b3npZSBwZXV0IOp0cmUgZXJyb27pZS5cbiIKKyN+ICJBVFRFTlRJT04gOiBWb2lyIGxlcyBvcHRpb25zIC0taGVscCwgLS1kZWJ1ZyBldCAtLWRyaXZlYmFzZS5cbiIKKyN+ICJBVFRFTlRJT04gOiBFdCBuJ291YmxpZXogcGFzIGQnYWpvdXRlciB2b3RyZSBsZWN0ZXVyIGF1IGZpY2hpZXIgaGRkdGVtcC4iCisjfiAiZGJcbiIKKworI34gbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiY2hhbXAoJWQpXHQgPSAlZFxuIgotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcnUucG8KKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9ydS5wbwpAQCAtNiw4ICs2LDggQEAKIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGhkZHRlbXAgMC4zLWJldGEzXG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTAzLTA4IDE2OjQyKzAzMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE1pY2hhZWwgU2hpZ29yaW4gPG1pa2VAYWx0bGludXgucnU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUnVzc2lhbiA8cnVAbGkub3JnPlxuIgpAQCAtMTUsMjMgKzE1LDcgQEAKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9a29pOC1yXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjExMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotbXNnc3RyICIiCi0iXG4iCi0i8sXH3MvTJXN8IPrOwd4uIHwg79DJ08HOycUgICBcbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjExOAotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisjOiBzcmMvaGRkdGVtcC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC00MCw3ICsyNCw3IEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTUzLDcyICszNyw1OSBAQAogIvfu6e3h7unlOiDl08zJINfZINTP3s7PINrOwcXUxSwg3tTPIMTB1N7JyyDF09TYLCDOwdDJ28nUxSBoZGR0ZW1wQGd1enUubmV0XG4iCiAi9+7p7eHu6eU6ICjTzS4gz9DDyckgLS1oZWxwLCAtLWRlYnVnIMkgLS1kcml2ZWJhc2UpLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjE5MgorIzogc3JjL2hkZHRlbXAuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCiBtc2dzdHIgIiVzOiAlczogIM7F1CDEwdTeycvBXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgotIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgotIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCi1tc2dzdHIgIiIKLSL37unt4e7p5Tog5MnTyyAlcyDOxSDXy8zA3sXOINcgwsHa1SDEwc7O2cgg0M/ExMXS1snXwcXN2cgg0NLJ18/Ez9cuXG4iCi0i9+7p7eHu6eU6IO7PINMgydPQz8zY2s/Xwc7Jxc0g0sHT0NLP09TSwc7Fzs7ZyCDQwdLBzcXU0s/XIM/OIN7Uzy3UzyDX2cTBxdQuXG4iCi0i9+7p7eHu6eU6IPrBzcXU2NTFLCDe1M8g0M/LwdrBzs7B0SDUxc3QxdLB1NXSwSDNz9bF1CDUwcvP18/KIM7FINHXzNHU2NPRLlxuIgotIvfu6e3h7unlOiDzzS4gz9DDyckgLS1oZWxwLCAtLWRlYnVnIMkgLS1kcml2ZWJhc2UuXG4iCi0i9+7p7eHu6eU6IOkgzsUg2sHC1cTY1MUsIN7UzyDNz9bOzyDEz8LB18nU2CDQ0snXz8Qg1yBoZGR0ZW1wLmRiXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisjOiBzcmMvaGRkdGVtcC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKIG1zZ3N0ciAiJXM6ICVzOiAgJWQlc0MgyczJICVzRlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNAorIzogc3JjL2hkZHRlbXAuYzoyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIgogbXNnc3RyICIlczogJXM6ICDOxdQgxMHU3snLwVxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNwotIywgYy1mb3JtYXQKLW1zZ2lkICIlczogJXM6ICBrbm93biBkcml2ZSwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKKyM6IHNyYy9oZGR0ZW1wLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCiBtc2dzdHIgIiVzOiAlczogIMna18XT1M7ZyiDEydPLLCDOxSDTz8TF0tbB3cnKIMTB1N7Jy8Eg1MXN0MXSwdTV0tkuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisjOiBzcmMvaGRkdGVtcC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgogbXNnc3RyICLv++ni6+E6ICVzOiAlczogzsXJ2tfF09TO2cog09TB1NXTINfP2tfSwdTBXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisjOiBzcmMvaGRkdGVtcC5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgotInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzozMDgKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKIG1zZ3N0ciAi7/vp4uvhOiDOxdfF0s7ZyiDSwdrExczJ1MXM2C5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMTkKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgogbXNnc3RyICLv/eni6+E6IM7F18XSztnKIM7PzcXSINDP0tTBLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMyOQorIzogc3JjL2hkZHRlbXAuYzozNzEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiIKLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgogIlxuIgogIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKICJcbiIKKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisiXG4iCiAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCiAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCkBAIC0xMjgsNiArOTksNyBAQAogIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCiAiZGVmYXVsdC4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgpAQCAtMTM1LDYgKzEwNyw4IEBACiAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKyJGYWhyZW5oZWl0LlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgpAQCAtMTY4LDU5ICsxNDIsOTAgQEAKICJcbiIKICLzz8/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/EINcgaGRkdGVtcC5kYlxuIgorCisjfiBtc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorI34gbXNnc3RyICLQz8zFKCVkKVx0ID0gJWRcbiIKLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL3N2LnBvCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vc3YucG8KQEAgLTYsOCArNiw4IEBACiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBoZGR0ZW1wIDAuMy1iZXRhMTQtNFxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBoZGR0ZW1wQGd1enUubmV0XG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDUtMDItMjUgMjI6NDMrMDEwMFxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNS0xMS0wMiAxOTowMyswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBEYW5pZWwgTnlsYW5kZXIgPHBvQGRhbmllbG55bGFuZGVyLnNlPlxuIgogIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHN2QGxpLm9yZz5cbiIKQEAgLTE3LDIzICsxNyw3IEBACiAiWC1Qb2VkaXQtTGFuZ3VhZ2U6IHN3ZVxuIgogIlgtUG9lZGl0LUNvdW50cnk6IHN3ZVxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjExMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotbXNnc3RyICIiCi0iXG4iCi0iUmVnZXhwJXN8IFbkcmRlIHwgQmVza3Jpdm5pbmdcbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjExOAotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgotbXNnc3RyICIlcyVzfCAlNWQgfCAlc1xuIgotCi0jOiBzcmMvaGRkdGVtcC5jOjE2MQorIzogc3JjL2hkZHRlbXAuYzoxNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgpAQCAtNDYsNyArMzAsNyBAQAogIk1vZGVsbDogJXNcbiIKICJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTYwLDc2ICs0NCw2MyBAQAogIm5ldCkuXG4iCiAiVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTkyCisjOiBzcmMvaGRkdGVtcC5jOjE5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKIG1zZ3N0ciAiJXM6ICVzOiAgaW5nZW4gc2Vuc29yXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTk3Ci0jLCBjLWZvcm1hdAotbXNnaWQgIiIKLSJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IGFwcGVhciBpbiB0aGUgZGF0YWJhc2Ugb2Ygc3VwcG9ydGVkIGRyaXZlc1xuIgotIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0iV0FSTklORzogTm90ZSB0aGF0IHRoZSB0ZW1wZXJhdHVyZSBzaG93biBjb3VsZCBiZSB3cm9uZy5cbiIKLSJXQVJOSU5HOiBTZWUgLS1oZWxwLCAtLWRlYnVnIGFuZCAtLWRyaXZlYmFzZSBvcHRpb25zLlxuIgotIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iCi1tc2dzdHIgIiIKLSJWQVJOSU5HOiBEaXNrZW4gJXMgdmVya2FyIGludGUgZmlubmFzIGkgZGF0YWJhc2VuIPZ2ZXIgZGlza2FyIHNvbSBzdPZkc1xuIgotIlZBUk5JTkc6IE1lbiBhbnbkbmRlciBtYW4gZXR0IHZhbmxpZ3QgduRyZGUgcmFwcG9ydGVyYXIgZGVuIG7lZ290LlxuIgotIlZBUk5JTkc6IE5vdGVyYSBhdHQgdGVtcGVyYXR1cmVuIHNvbSB2aXNhcyBrYW4gdmFyYSBmZWxha3RpZy5cbiIKLSJWQVJOSU5HOiBTZSAtLWhlbHAsIC0tZGVidWcgb2NoIC0tZHJpdmViYXNlIGZsYWdnb3JuYS5cbiIKLSJWQVJOSU5HOiBPY2ggZ2z2bSBpbnRlIGF0dCBkdSBrYW4gbORnZ2EgdGlsbCBkaW4gZGlzayB0aWxsIGhkZHRlbXAuZGJcbiIKLQotIzogc3JjL2hkZHRlbXAuYzoyMDIKKyM6IHNyYy9oZGR0ZW1wLmM6MjExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogICVkJXNDIG9yICVzRlxuIgogbXNnc3RyICIlczogJXM6ICAlZCVzQyBlbGxlciAlc0ZcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTQKKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKIG1zZ3N0ciAiJXM6ICVzOiBkaXNrZW4gc292ZXJcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisjOiBzcmMvaGRkdGVtcC5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgogbXNnc3RyICIlczogJXM6ICBr5G5kIGRpc2sgbWVuIGRlbiBoYXIgaW5nZW4gdGVtcGVyYXR1cnNlbnNvci5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMjAKKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCiBtc2dzdHIgIkZFTDogJXM6ICVzOiBva+RuZCByZXR1cm5lcmFkIHN0YXR1c1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIzNQotIywgYy1mb3JtYXQKKyM6IHNyYy9oZGR0ZW1wLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgotInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCiBtc2dzdHIgIiIKICJcbiIKICJPbSBldHQgYXYgZuRsdHbkcmRlbmEgdmVya2FyIG1hdGNoYSB0ZW1wZXJhdHVyZW4sIHZhciBz5GtlciBw5SBhdHQgZHVcbiIKICJs5HN0IG1hbnVhbHNpZGFuIGb2ciBoZGR0ZW1wIGb2cmUgZHUgc2tpY2thciBlbiByYXBwb3J0IHRpbGwgbWlnIChzZWt0aW9uZW5cbiIKICJSRVBPUlQpLiBUYWNrLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMwOAorIzogc3JjL2hkZHRlbXAuYzozMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgc2VwYXJhdG9yLlxuIgogbXNnc3RyICJGRUw6IG9naWx0aWcgc2VwYXJhdG9yLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMxOQorIzogc3JjL2hkZHRlbXAuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCiBtc2dzdHIgIkZFTDogb2dpbHRpZ3QgcG9ydG51bW1lci5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzozMjkKLSMsIGMtZm9ybWF0CisjOiBzcmMvaGRkdGVtcC5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgotIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gRElTSzEgW0RJU0syXS4uLlxuIgorIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCiAiXG4iCiAiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgogIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgogIlxuIgorIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKyJcbiIKICIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgdG9cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICByZWNvZ25pemUgc3VwcG9ydGVkIGRyaXZlcy5cbiIKICIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICBkaXNwbGF5IHZhcmlvdXMgUy5NLkEuUi5ULiBmaWVsZHMgYW5kIHRoZWlyIHZhbHVlcy5cbiIKQEAgLTEzOSw2ICsxMTAsNyBAQAogIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCiAiZGVmYXVsdC4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgpAQCAtMTQ2LDYgKzExOCw4IEBACiAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKyJGYWhyZW5oZWl0LlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgpAQCAtMTg0LDYxICsxNTgsOTEgQEAKICJcbiIKICJSYXBwb3J0ZXJhIGJ1Z2dhciBlbGxlciBueWEgaOVyZGRpc2thciB0aWxsIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1MjIKKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgogbXNnc3RyICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgogbXNnc3RyICJGRUw6IG9naWx0aWd0IGludGVydmFsbC5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisjLCBjLWZvcm1hdAogbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCiBtc2dzdHIgIkb2ciBm5SBhcmd1bWVudDogZHUgbeVzdGUgc3BlY2lmaWNlcmEg5XRtaW5zdG9uZSBlbiBkaXNrLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjU1NworIzogc3JjL2hkZHRlbXAuYzo0NDgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGNhbid0IHVzZSAtLWRlYnVnIGFuZCAtLWRhZW1vbiBvciAtLXN5c2xvZyBvcHRpb25zIHRvZ2V0aGVyLlxuIgogbXNnc3RyICIiCiAiRkVMOiBrYW4gaW50ZSBhbnbkbmRhIC0tZGVidWcgb2NoIC0tZGFlbW9uIGVsbGVyIC0tc3lzbG9nIGZsYWdnb3JuYSAiCiAidGlsbHNhbW1hbnMuXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTgzCisjOiBzcmMvaGRkdGVtcC5jOjUwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgogbXNnc3RyICIiCiAiRkVMOiAlczoga2FuIGludGUgZmFzdHN05GxsYSBidXNzdHlwIChlbGxlciBz5SDkciBkZW5uYSBidXNzdHlwIG9r5G5kKVxuIgogCi0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKIG1zZ2lkICJ1bmtub3duIgogbXNnc3RyICJva+RuZCIKIAotIzogc3JjL2F0YS5jOjk4CisjOiBzcmMvYXRhLmM6ODUgc3JjL2F0YS5jOjEwNCBzcmMvc2NzaS5jOjkxCiAjLCBjLWZvcm1hdAotbXNnaWQgImZpZWxkKCVkKVx0ID0gJWRcbiIKLW1zZ3N0ciAiZuRsdCglZClcdCA9ICVkXG4iCi0KLSM6IHNyYy9hdGEuYzoxNjcKIG1zZ2lkICJTLk0uQS5SLlQuIG5vdCBhdmFpbGFibGUiCiBtc2dzdHIgIlMuTS5BLlIuVC4g5HIgaW50ZSB0aWxsZ+RuZ2xpZyIKIAotIzogc3JjL2RiLmM6MTgwCisjOiBzcmMvZGIuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCisiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlZ2V4cCVzfCBW5HJkZSB8IEJlc2tyaXZuaW5nXG4iCisiLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3JjL2RiLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCittc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCisKKyM6IHNyYy9kYi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKIG1zZ3N0ciAiaGRkdGVtcDoga2FuIGludGUg9nBwbmEgJTEkczogJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoxOTQKKyM6IHNyYy9kYi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogc3ludGF4IGVycm9yIGF0IGxpbmUgJTEkZCBpbiAlMiRzXG4iCiBtc2dzdHIgIkZFTDogc3ludGF4ZmVsIHDlIHJhZCAlMSRkIGkgJTIkc1xuIgogCi0jOiBzcmMvZGIuYzoyMDEKKyM6IHNyYy9kYi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgIEVSUk9SOiBsaW5lIGV4Y2VlZCAlMSRkIGNoYXJhY3RlcnMgaW4gJTIkcy5cbiIKIG1zZ3N0ciAiIEZFTDogcmFkZW4g9nZlcnN0aWdlciAlMSRkIHRlY2tlbiBpICUyJHMuXG4iCiAKLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCiBtc2dzdHIgImlnZW5r5G5uaW5nIGF2IGxvZ2cgbWlzc2x5Y2thZGVzIDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorI34gbXNnc3RyICIiCisjfiAiVkFSTklORzogRGlza2VuICVzIHZlcmthciBpbnRlIGZpbm5hcyBpIGRhdGFiYXNlbiD2dmVyIGRpc2thciBzb20gc3T2ZHNcbiIKKyN+ICJWQVJOSU5HOiBNZW4gYW525G5kZXIgbWFuIGV0dCB2YW5saWd0IHbkcmRlIHJhcHBvcnRlcmFyIGRlbiBu5WdvdC5cbiIKKyN+ICJWQVJOSU5HOiBOb3RlcmEgYXR0IHRlbXBlcmF0dXJlbiBzb20gdmlzYXMga2FuIHZhcmEgZmVsYWt0aWcuXG4iCisjfiAiVkFSTklORzogU2UgLS1oZWxwLCAtLWRlYnVnIG9jaCAtLWRyaXZlYmFzZSBmbGFnZ29ybmEuXG4iCisjfiAiVkFSTklORzogT2NoIGds9m0gaW50ZSBhdHQgZHUga2FuIGzkZ2dhIHRpbGwgZGluIGRpc2sgdGlsbCBoZGR0ZW1wLmRiXG4iCisKKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisjfiBtc2dzdHIgImbkbHQoJWQpXHQgPSAlZFxuIgotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vcHQucG8KKysrIGhkZHRlbXAtMC4zLWJldGExNS9wby9wdC5wbwpAQCAtNyw3ICs3LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE0XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA1LTAyLTI1IDIyOjQzKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNi0wNi0yOSAxNjoyNCswMjAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0yOSAyMzoyMiswMDAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBNaWd1ZWwgRmlndWVpcmVkbyA8ZWxtaWdAZGViaWFucC5vcmc+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogUG9ydHVndWVzZSA8dHJhZHV6QGRlYmlhbnB0Lm9yZz5cbiIKQEAgLTE1LDIzICsxNSw3IEBACiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjExMgotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotbXNnc3RyICIiCi0iXG4iCi0iUmVnZXhwJXN8IFZhbG9yIHwgRGVzY3Jpw6fDo29cbiIKLSItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLQotIzogc3JjL2hkZHRlbXAuYzoxMTgKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKLW1zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKLQotIzogc3JjL2hkZHRlbXAuYzoxNjEKKyM6IHNyYy9oZGR0ZW1wLmM6MTU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKQEAgLTQ0LDcgKzI4LDcgQEAKICJNb2RlbG86ICVzXG4iCiAiXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MTg4CisjOiBzcmMvaGRkdGVtcC5jOjE4OQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCkBAIC01NCw3OSArMzgsNjggQEAKIG1zZ3N0ciAiIgogIkFWSVNPOiBPIGRpc2NvICVzIG7Do28gcGFyZWNlIHRlciB1bSBzZW5zb3IgZGUgdGVtcGVyYXR1cmEuXG4iCiAiQVZJU086IElzdG8gbsOjbyBzaWduaWZpY2EgcXVlIG7Do28gdGVtIG5lbmh1bS5cbiIKLSJBVklTTzogU2UgdGVtIGEgY2VydGV6YSBxdWUgdGVtIHVtLCBwb3IgZmF2b3IgY29udGFjdGUtbWUgKGhkZHRlbXBAZ3V6dS5uZXQpLlxuIgorIkFWSVNPOiBTZSB0ZW0gYSBjZXJ0ZXphIHF1ZSB0ZW0gdW0sIHBvciBmYXZvciBjb250YWN0ZS1tZSAoaGRkdGVtcEBndXp1LiIKKyJuZXQpLlxuIgogIkFWSVNPOiBWZWphIGFzIG9ww6fDtWVzIC0taGVscCwgLS1kZWJ1ZyBlIC0tZHJpdmViYXNlLlxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjE5MgorIzogc3JjL2hkZHRlbXAuYzoxOTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCiBtc2dzdHIgIiVzOiAlczogc2VtIHNlbnNvclxuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjE5NwotIywgYy1mb3JtYXQKLW1zZ2lkICIiCi0iV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKLSJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgotIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCi0iV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKLSJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgotbXNnc3RyICIiCi0iQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgZXN0YXIgbmEgYmFzZSBkZSBkYWRvcyBkZSBkaXNjb3Mgc3Vwb3J0YWRvc1xuIgotIkFWSVNPOiBNYXMgYW8gdXRpbGl6YXIgdW0gdmFsb3IgdXN1YWwsIHJlbGF0YSBhbGd1bWEgY29pc2EuXG4iCi0iQVZJU086IE5vdGUgcXVlIGEgdGVtcGVyYXR1cmEgbW9zdHJhZGEgcG9kZSBlc3RhciBlcnJhZGEuXG4iCi0iQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1mcml2ZWJhc2UuXG4iCi0iQVZJU086IEUgbsOjbyBzZSBlc3F1ZcOnYSBkZSBhZGljaW9uYXIgbyBzZXUgZGlzY28gYSBoZGR0ZW1wLmRiXG4iCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MjAyCisjOiBzcmMvaGRkdGVtcC5jOjIxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6ICAlZCVzQyBvciAlc0ZcbiIKIG1zZ3N0ciAiJXM6ICVzOiAlZCVzQyBvdSAlc0ZcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTQKKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKIG1zZ3N0ciAiJXM6ICVzOiBvIGRpc2NvIGVzdMOhIGFkb3JtZWNpZG9cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTcKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisjOiBzcmMvaGRkdGVtcC5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgogbXNnc3RyICIlczogJXM6IGRpc2NvIGNvbmhlY2lkbywgbWFzIG7Do28gdGVtIHVtIHNlbnNvciBkZSB0ZW1wZXJhdHVyYS5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMjAKKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCiBtc2dzdHIgIkVSUk86ICVzOiAlczogZXN0YWRvIGRldm9sdmlkbyBkZXNjb25oZWNpZG9cbiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMzUKLSMsIGMtZm9ybWF0CisjOiBzcmMvaGRkdGVtcC5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKLSJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBtZSBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCisidGhlIGhkZHRlbXAgbWFuIHBhZ2UgYmVmb3JlIHNlbmRpbmcgYSByZXBvcnQgKHNlY3Rpb24gUkVQT1JUKS4gVGhhbmtzLlxuIgogbXNnc3RyICIiCiAiXG4iCi0iU2UgdW0gZG9zIGNhbXBvcyBkZSB2YWxvcmVzIHBhcmVjZXIgY29pbmNpZGlyIGNvbSBhIHRlbXBlcmF0dXJhLCBhc3NlZ3VyZS1zZVxuIgorIlNlIHVtIGRvcyBjYW1wb3MgZGUgdmFsb3JlcyBwYXJlY2VyIGNvaW5jaWRpciBjb20gYSB0ZW1wZXJhdHVyYSwgYXNzZWd1cmUtIgorInNlXG4iCiAicXVlIGzDqiBhIHDDoWdpbmEgZG8gbWFudWFsIGhkZHRlbXAgYW50ZXMgZGUgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8gKHNlY8Onw6NvXG4iCiAiUkVQT1JUKS4gT2JyaWdhZG8uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzA4CisjOiBzcmMvaGRkdGVtcC5jOjMzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBzZXBhcmF0b3IuXG4iCiBtc2dzdHIgIkVSUk86IHNlcGFyYWRvciBpbnbDoWxpZG8uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MzE5CisjOiBzcmMvaGRkdGVtcC5jOjM0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBwb3J0IG51bWJlci5cbiIKIG1zZ3N0ciAiRVJSTzogbsO6bWVybyBkZSBwb3J0IGludsOhbGlkb1xuIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMyOQotIywgYy1mb3JtYXQKKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIiCi0iIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBESVNLMSBbRElTSzJdLi4uXG4iCisiIFVzYWdlOiBoZGR0ZW1wIFtPUFRJT05TXSBbVFlQRTpdRElTSzEgW1tUWVBFOl1ESVNLMl0uLi5cbiIKICJcbiIKICIgICBoZGR0ZW1wIGRpc3BsYXlzIHRoZSB0ZW1wZXJhdHVyZSBvZiBkcml2ZXMgc3VwcGxpZWQgaW4gYXJndW1lbnQuXG4iCiAiICAgRHJpdmVzIG11c3Qgc3VwcG9ydCBTLk0uQS5SLlQuXG4iCiAiXG4iCisiICBUWVBFIGNvdWxkIGJlIFNBVEEsIFBBVEEgb3IgU0NTSS4gSWYgb21pdHRlZCBoZGR0ZW1wIHdpbGwgdHJ5IHRvIGd1ZXNzLlxuIgorIlxuIgogIiAgLWIgICAtLWRyaXZlYmFzZSAgIDogIGRpc3BsYXkgZGF0YWJhc2UgZmlsZSBjb250ZW50IHRoYXQgYWxsb3cgaGRkdGVtcCB0b1xuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIHJlY29nbml6ZSBzdXBwb3J0ZWQgZHJpdmVzLlxuIgogIiAgLUQgICAtLWRlYnVnICAgICAgIDogIGRpc3BsYXkgdmFyaW91cyBTLk0uQS5SLlQuIGZpZWxkcyBhbmQgdGhlaXIgdmFsdWVzLlxuIgpAQCAtMTM2LDYgKzEwOSw3IEBACiAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5ICIKICJkZWZhdWx0LilcbiIKICIgIC1mICAgLS1maWxlPUZJTEUgICA6ICBzcGVjaWZ5IGRhdGFiYXNlIGZpbGUgdG8gdXNlLlxuIgorIiAgLUYgICAtLWZvcmVncm91bmQgIDogIGRvbid0IGRhZW1vbml6ZSwgc3RheSBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGxpc3RlbiBvbiBhIHNwZWNpZmljIGludGVyZmFjZSAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCkBAIC0xNDMsNiArMTE3LDggQEAKICIgIC1zICAgLS1zZXBhcmF0b3I9QyA6ICBzZXBhcmF0b3IgdG8gdXNlIGJldHdlZW4gZmllbGRzIChpbiBUQ1AvSVAgZGFlbW9uICIKICJtb2RlKS5cbiIKICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKKyIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgIgorIkZhaHJlbmhlaXQuXG4iCiAiICAtcSAgIC0tcXVpZXQgICAgICAgOiAgZG8gbm90IGNoZWNrIGlmIHRoZSBkcml2ZSBpcyBzdXBwb3J0ZWQuXG4iCiAiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgZGlzcGxheSBoZGR0ZW1wIHZlcnNpb24gbnVtYmVyLlxuIgogIiAgLXcgICAtLXdha2UtdXAgICAgIDogIHdha2UtdXAgdGhlIGRyaXZlIGlmIG5lZWQuXG4iCkBAIC0xNTYsMTkgKzEzMiwyMyBAQAogIiAgIGhkZHRlbXAgbW9zdHJhIGEgdGVtcGVyYXR1cmEgZG9zIGRpc2NvcyBpbmRpY2Fkb3Mgbm8gYXJndW1lbnRvLlxuIgogIiAgIE9zIGRpc2NvcyB0w6ptIGRlIHN1cG9ydGFyIFMuTS5BLlIuVC5cbiIKICJcbiIKLSIgIC1iCSAtLWRyaXZlYmFzZSAgIDogIG1vc3RyYXIgbyBjb250ZcO6ZG8gZG8gZmljaGVpcm8gZGUgYmFzZSBkZSBkYWRvcyBxdWVcbiIKKyIgIC1iXHQgLS1kcml2ZWJhc2UgICA6ICBtb3N0cmFyIG8gY29udGXDumRvIGRvIGZpY2hlaXJvIGRlIGJhc2UgZGUgZGFkb3MgcXVlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcGVybWl0ZSBhbyBoZGR0ZW1wIHJlY29uaGVjZXIgb3MgZGlzY29zIHN1cG9ydGFkb3MuXG4iCi0iICAtRAkgLS1kZWJ1ZyAgICAgICA6ICBtb3N0cmFyIHbDoXJpb3MgY2FtcG9zIFMuTS5BLlIuVC4gZSBvcyBzZXVzIHZhbG9yZXMuXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgw5p0aWwgcGFyYSBlbmNvbnRyYXIgdW0gdmFsb3IgcXVlIHBhcmXDp2EgY29pbmNpZGlyIGNvbSAiCi0iICAgICAgICAgICAgICAgICAgICAgICAgYSB0ZW1wZXJhdHVyYSBlL291IHBhcmEgbWUgZW52aWFyIHVtIHJlbGF0w7NyaW8uXG4iCisiICAtRFx0IC0tZGVidWcgICAgICAgOiAgbW9zdHJhciB2w6FyaW9zIGNhbXBvcyBTLk0uQS5SLlQuIGUgb3Mgc2V1cyB2YWxvcmVzLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIMOadGlsIHBhcmEgZW5jb250cmFyIHVtIHZhbG9yIHF1ZSBwYXJlw6dhIGNvaW5jaWRpciAiCisiY29tICAgICAgICAgICAgICAgICAgICAgICAgIGEgdGVtcGVyYXR1cmEgZS9vdSBwYXJhIG1lIGVudmlhciB1bSByZWxhdMOzcmlvLlxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgIChmZWl0byBwYXJhIGNhZGEgZGlzY28gaW5kaWNhZG8pLlxuIgotIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGNvcnJlciBvIGhkZHRlbXAgbm8gbW9kbyBkYWVtb24gVENQL0lQXG4gKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCisiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgY29ycmVyIG8gaGRkdGVtcCBubyBtb2RvIGRhZW1vbiBUQ1AvSVBcbiIKKyIgKHBvcnRvICVkIHBvciBvbWlzc8Ojby4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgZXNwZWNpZmljYXIgbyBmaWNoZWlybyBkZSBiYXNlIGRlIGRhZG9zIGEgdXRpbGl6YXIuXG4iCi0iICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC9JUCkuXG4iCisiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgZXNjdXRhciB1bSBpbnRlcmZhY2UgZXNwZWPDrWZpY28gKG5vIG1vZG8gZGFlbW9uIFRDUC8iCisiSVApLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIGVzY3JldmVyIGFwZW5hcyBhIHRlbXBlcmF0dXJhLlxuIgogIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgcGFyYSBlc2N1dGFyIChubyBtb2RvIGRhZW1vbiBUQ1AvSVApLlxuIgotIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYWRvciBhIHV0aWxpemFyIGVudHJlIGNhbXBvcyAobm8gbW9kbyBkYWVtb24gVENQL0lQKS5cbiIKLSIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgc2VndW5kb3MuXG4iCisiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhZG9yIGEgdXRpbGl6YXIgZW50cmUgY2FtcG9zIChubyBtb2RvIGRhZW1vbiAiCisiVENQL0lQKS5cbiIKKyIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICByZWdpc3RhciBhIHRlbXBlcmF0dXJhIHBhcmEgbyBzeXNsb2cgYSBjYWRhIHMgIgorInNlZ3VuZG9zLlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIG7Do28gdmVyaWZpY2FyIHNlIG8gZGlzY28gw6kgc3Vwb3J0YWRvLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIG1vc3RyYXIgbyBuw7ptZXJvIGRhIHZlcnPDo28gZG8gaGRkdGVtcC5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICBhY29yZGFyIG8gZGlzY28gc2UgbmVjZXNzw6FyaW8uXG4iCkBAIC0xNzcsNTggKzE1Nyw5MyBAQAogIlxuIgogIlJlbGF0YXIgYnVncyBvdSBub3ZvcyBkaXNjb3MgcGFyYSA8aGRkdGVtcEBndXp1Lm5ldD4uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTIyCisjOiBzcmMvaGRkdGVtcC5jOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZGR0ZW1wIHZlcnNpb24gJXNcbiIKIG1zZ3N0ciAiaGRkdGVtcCB2ZXJzw6NvICVzXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogaW52YWxpZCBpbnRlcnZhbC5cbiIKIG1zZ3N0ciAiRVJSTzogaW50ZXJ2YWxvIGludsOhbGlkby5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDM4CisjLCBjLWZvcm1hdAogbXNnaWQgIlRvbyBmZXcgYXJndW1lbnRzOiB5b3UgbXVzdCBzcGVjaWZ5IG9uZSBkcml2ZSwgYXQgbGVhc3QuXG4iCi1tc2dzdHIgIk7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbnN1ZmljaWVudGU6IHRlbSBkZSBlc3BlY2lmaWNhciBwZWxvIG1lbm9zIHVtIGRpc2NvLlxuIgorbXNnc3RyICIiCisiTsO6bWVybyBkZSBhcmd1bWVudG9zIGluc3VmaWNpZW50ZTogdGVtIGRlIGVzcGVjaWZpY2FyIHBlbG8gbWVub3MgdW0gZGlzY28uXG4iCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCi1tc2dzdHIgIkVSUk86IG7Do28gcG9kZSB1dGlsaXphciBlbSBjb25qdW50byBhcyBvcMOnw7VlcyAtLWRlYnVnIGUgLS1kYWVtb24gb3UgLS1zeXNsb2cuXG4iCittc2dzdHIgIiIKKyJFUlJPOiBuw6NvIHBvZGUgdXRpbGl6YXIgZW0gY29uanVudG8gYXMgb3DDp8O1ZXMgLS1kZWJ1ZyBlIC0tZGFlbW9uIG91IC0tIgorInN5c2xvZy5cbiIKIAotIzogc3JjL2hkZHRlbXAuYzo1ODMKKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCi1tc2dzdHIgIkVSUk86ICVzOiBuw6NvIMOpIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkbyBidXMgKG91IGVzdGUgdGlwbyBkZSBidXMgw6kgZGVzY29uaGVjaWRvKVxuIgorbXNnc3RyICIiCisiRVJSTzogJXM6IG7Do28gw6kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0aXBvIGRvIGJ1cyAob3UgZXN0ZSB0aXBvIGRlIGJ1cyDDqSAiCisiZGVzY29uaGVjaWRvKVxuIgogCi0jOiBzcmMvYXRhLmM6NjYgc3JjL3Njc2kuYzo2OAorIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKIG1zZ2lkICJ1bmtub3duIgogbXNnc3RyICJkZXNjb25oZWNpZG8iCiAKLSM6IHNyYy9hdGEuYzo5OAorIzogc3JjL2F0YS5jOjg1IHNyYy9hdGEuYzoxMDQgc3JjL3Njc2kuYzo5MQogIywgYy1mb3JtYXQKLW1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCi1tc2dzdHIgImNhbXBvKCVkKVx0ID0gJWRcbiIKLQotIzogc3JjL2F0YS5jOjE2NwogbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiUy5NLkEuUi5ULiBuw6NvIGVzdMOhIGRpc3BvbsOtdmVsIgogCi0jOiBzcmMvZGIuYzoxODAKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbG9yIHwgRGVzY3Jpw6fDo29cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3JjL2RiLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCittc2dzdHIgIiVzJXN8ICU1ZCB8ICVzXG4iCisKKyM6IHNyYy9kYi5jOjIzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJoZGR0ZW1wOiBjYW4ndCBvcGVuICUxJHM6ICUyJHNcbiIKIG1zZ3N0ciAiaGRkdGVtcDogbsOjbyBwb2RlIGFicmlyICUxJHM6ICUyJHNcbiIKIAotIzogc3JjL2RiLmM6MTk0CisjOiBzcmMvZGIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgogbXNnc3RyICJFUlJPOiBlcnJvIGRlIHNpbnRheGUgbmEgbGluaGEgJTEkZCBlbSAlMiRzXG4iCiAKLSM6IHNyYy9kYi5jOjIwMQorIzogc3JjL2RiLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgogbXNnc3RyICIgIEVSUk86IGEgbGluaGEgZXhlY2VkZXUgJTEkZCBjYXJhY3RlcmVzIGVtICUyJHMuXG4iCiAKLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCiBtc2dzdHIgImRldGVjw6fDo28gZGUgbG9nIGZhbGhvdTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKKyN+ICJXQVJOSU5HOiBCdXQgdXNpbmcgYSBjb21tb24gdmFsdWUsIGl0IHJlcG9ydHMgc29tZXRoaW5nLlxuIgorI34gIldBUk5JTkc6IE5vdGUgdGhhdCB0aGUgdGVtcGVyYXR1cmUgc2hvd24gY291bGQgYmUgd3JvbmcuXG4iCisjfiAiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKKyN+ICJXQVJOSU5HOiBBbmQgZG9uJ3QgZm9yZ2V0IHlvdSBjYW4gYWRkIHlvdXIgZHJpdmUgdG8gaGRkdGVtcC5kYlxuIgorI34gbXNnc3RyICIiCisjfiAiQVZJU086IE8gZGlzY28gJXMgbsOjbyBwYXJlY2UgZXN0YXIgbmEgYmFzZSBkZSBkYWRvcyBkZSBkaXNjb3Mgc3Vwb3J0YWRvc1xuIgorI34gIkFWSVNPOiBNYXMgYW8gdXRpbGl6YXIgdW0gdmFsb3IgdXN1YWwsIHJlbGF0YSBhbGd1bWEgY29pc2EuXG4iCisjfiAiQVZJU086IE5vdGUgcXVlIGEgdGVtcGVyYXR1cmEgbW9zdHJhZGEgcG9kZSBlc3RhciBlcnJhZGEuXG4iCisjfiAiQVZJU086IFZlamEgYXMgb3DDp8O1ZXMgLS1oZWxwLCAtLWRlYnVnIGUgLS1mcml2ZWJhc2UuXG4iCisjfiAiQVZJU086IEUgbsOjbyBzZSBlc3F1ZcOnYSBkZSBhZGljaW9uYXIgbyBzZXUgZGlzY28gYSBoZGR0ZW1wLmRiXG4iCisKKyN+IG1zZ2lkICJmaWVsZCglZClcdCA9ICVkXG4iCisjfiBtc2dzdHIgImNhbXBvKCVkKVx0ID0gJWRcbiIKLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2RlLnBvCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vZGUucG8KQEAgLTAsMCArMSwyNTAgQEAKKyMgR2VybWFuIHRyYW5zbGF0aW9uIG9mIGhkZHRlbXAuCisjIENvcHlyaWdodCAoQykgMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGhkZHRlbXAgcGFja2FnZS4KKyMgVmluemVueiBWaWV0emtlIDx2aW56QHYxbnoub3JnPiwgMjAwOC4KKyMgLAorIworIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogaGRkdGVtcCAwLjMtYmV0YTE1LTQ0XG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAcGFja2FnZXMuZGViaWFuLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTA4LTMwIDE2OjQwKzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFZpbnplbnogVmlldHprZSA8dmluekB2MW56Lm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiA8ZGViaWFuLWwxMG4tZ2VybWFuQGxpc3RzLmRlYmlhbi5vcmc+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0IgorCisjOiBzcmMvaGRkdGVtcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiPT09PT09PT09PT09PT09PT0gaGRkdGVtcCAlcyA9PT09PT09PT09PT09PT09PT1cbiIKKyJNb2RlbDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIj09PT09PT09PT09PT09PT09IGhkZHRlbXAgJXMgPT09PT09PT09PT09PT09PT09XG4iCisiTW9kZWxsOiAlc1xuIgorIlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBzZWVtIHRvIGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCisiV0FSTklORzogVGhpcyBkb2Vzbid0IG1lYW4gaXQgaGFzbid0IGdvdCBvbmUuXG4iCisiV0FSTklORzogSWYgeW91IGFyZSBzdXJlIGl0IGhhcyBvbmUsIHBsZWFzZSBjb250YWN0IG1lIChoZGR0ZW1wQGd1enUuIgorIm5ldCkuXG4iCisiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKK21zZ3N0ciAiIgorIldBUk5VTkc6IExhdWZ3ZXJrICVzIHNjaGVpbnQga2VpbmVuIFRlbXBlcmF0dXItU2Vuc29yIHp1IGhhYmVuLlxuIgorIldBUk5VTkc6IERhcyBiZWRldXRldCBuaWNodCwgZGFzcyBlcyBrZWluZW4gYmVzaXR6dC5cbiIKKyJXQVJOVU5HOiBGYWxscyBTaWUgc2ljaGVyIHNpbmQsIGRhc3MgZXMgZWluZW4gYmVzaXR6dCwga29udGFrdGllcmVuIFNpZSAiCisibWljaCBiaXR0ZSAoaGRkdGVtcEBndXp1Lm5ldCkuXG4iCisiV0FSTlVORzogU2llaGUgT3B0aW9uZW4gLS1oZWxwLCAtLWRlYnVnIHVuZCAtLWRyaXZlYmFzZS5cbiIKKworIzogc3JjL2hkZHRlbXAuYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCittc2dzdHIgIiVzOiAlczoga2VpbiBTZW5zb3JcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCittc2dzdHIgIiVzOiAlczogICVkJXPCsEMgb2RlciAlc8KwRlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iCittc2dzdHIgIiVzOiAlczogTGF1Zndlcmsgc2NobMOkZnRcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgorbXNnc3RyICIiCisiJXM6ICVzOiAgTGF1ZndlcmsgdW50ZXJzdMO8dHp0LCBhYmVyIGVzIGhhdCBrZWluZW4gVGVtcGVyYXR1ci1TZW5zb3IuXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiAlczogJXM6IHVua25vd24gcmV0dXJuZWQgc3RhdHVzXG4iCittc2dzdHIgIkZFSExFUjogJXM6ICVzOiB6dXLDvGNrZ2VnZWJlbmVyIFN0YXR1cyB1bmJla2FubnRcbiIKKworIzogc3JjL2hkZHRlbXAuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIklmIG9uZSBvZiB0aGUgZmllbGQgdmFsdWUgc2VlbXMgdG8gbWF0Y2ggdGhlIHRlbXBlcmF0dXJlLCBiZSBzdXJlIHRvIHJlYWRcbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJGYWxscyBlaW5lciBkZXIgRmVsZHdlcnRlIGRlciBUZW1wZXJhdHVyIHp1IGVudHNwcmVjaGVuIHNjaGVpbnQsIHN0ZWxsZW4gIgorIlNpZVxuIgorInNpY2hlciwgZGllIGhkZHRlbXAtSGFuZGJ1Y2hzZWl0ZSBnZWxlc2VuIHp1IGhhYmVuLCBiZXZvciBTaWUgZWluZW4gIgorIkJlcmljaHRcbiIKKyJzZW5kZW4gKEFic2Nobml0dCBCRVJJQ0hUKS4gRGFua2UuXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKK21zZ3N0ciAiRkVITEVSOiB1bmfDvGx0aWdlcyBUcmVubnplaWNoZW4uXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHBvcnQgbnVtYmVyLlxuIgorbXNnc3RyICJGRUhMRVI6IHVuZ8O8bHRpZ2UgUG9ydG51bW1lci5cbiIKKworIzogc3JjL2hkZHRlbXAuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiBVc2FnZTogaGRkdGVtcCBbT1BUSU9OU10gW1RZUEU6XURJU0sxIFtbVFlQRTpdRElTSzJdLi4uXG4iCisiXG4iCisiICAgaGRkdGVtcCBkaXNwbGF5cyB0aGUgdGVtcGVyYXR1cmUgb2YgZHJpdmVzIHN1cHBsaWVkIGluIGFyZ3VtZW50LlxuIgorIiAgIERyaXZlcyBtdXN0IHN1cHBvcnQgUy5NLkEuUi5ULlxuIgorIlxuIgorIiAgVFlQRSBjb3VsZCBiZSBTQVRBLCBQQVRBIG9yIFNDU0kuIElmIG9taXR0ZWQgaGRkdGVtcCB3aWxsIHRyeSB0byBndWVzcy5cbiIKKyJcbiIKKyIgIC1iICAgLS1kcml2ZWJhc2UgICA6ICBkaXNwbGF5IGRhdGFiYXNlIGZpbGUgY29udGVudCB0aGF0IGFsbG93IGhkZHRlbXAgIgorInRvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCisiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciAiCisidmFsdWVzLlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIFVzZWZ1bCB0byBmaW5kIGEgdmFsdWUgdGhhdCBzZWVtcyB0byBtYXRjaCB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wZXJhdHVyZSBhbmQvb3IgdG8gc2VuZCBtZSBhIHJlcG9ydC5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSBmb3IgZXZlcnkgZHJpdmUgc3VwcGxpZWQpLlxuIgorIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCisiZGVmYXVsdC4pXG4iCisiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKKyIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgorIm1vZGUpLlxuIgorIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgorIiAgLXAgICAtLXBvcnQ9IyAgICAgIDogIHBvcnQgdG8gbGlzdGVuIHRvIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgorIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIHNlcGFyYXRvciB0byB1c2UgYmV0d2VlbiBmaWVsZHMgKGluIFRDUC9JUCBkYWVtb24gIgorIm1vZGUpLlxuIgorIiAgLVMgICAtLXN5c2xvZz1zICAgIDogIGxvZyB0ZW1wZXJhdHVyZSB0byBzeXNsb2cgZXZlcnkgcyBzZWNvbmRzLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2Vsc2l1cyBvciAiCisiRmFocmVuaGVpdC5cbiIKKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKKyIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCisiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKKyIgIC00ICAgICAgICAgICAgICAgICA6ICBsaXN0ZW4gb24gSVB2NCBzb2NrZXRzIG9ubHkuXG4iCisiICAtNiAgICAgICAgICAgICAgICAgOiAgbGlzdGVuIG9uIElQdjYgc29ja2V0cyBvbmx5LlxuIgorIlxuIgorIlJlcG9ydCBidWdzIG9yIG5ldyBkcml2ZXMgdG8gPGhkZHRlbXBAZ3V6dS5uZXQ+LlxuIgorbXNnc3RyICIiCisiIFZlcndlbmR1bmc6IGhkZHRlbXAgW09QVElPTkVOXSBbVFlQOl1MQVVGV0VSSzEgW1tUWVA6XUxBVUZXRVJLMl0uLi5cbiIKKyJcbiIKKyIgIGhkZHRlbXAgemVpZ3QgZGllIFRlbXBlcmF0dXIgZGVyIHZpYSBBcmd1bWVudCBhbmdlZ2ViZW4gTGF1ZndlcmtlLlxuIgorIiAgTGF1ZndlcmtlIG3DvHNzZW4gUy5NLkEuUi5ULiB1bnRlcnN0w7x0emVuLlxuIgorIlxuIgorIiAgVFlQIGthbm4gU0FUQSwgUEFUQSBvZGVyIFNDU0kgc2Vpbi4gRmFsbHMgYXVzZ2VsYXNzZW4sIHdpcmQgaGRkdGVtcCBcbiIKKyIgIHZlcnN1Y2hlbiwgZGllc2VuIHp1IGVycmF0ZW4uXG4iCisiXG4iCisiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgRGF0ZW5iYW5rLURhdGVpLUluaGFsdCBhbnplaWdlbiwgZGVyIGhkZHRlbXAgIgorImVybGF1YnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bnRlcnN0w7x0enRlIExhdWZ3ZXJrZSB6dSBlcmtlbm5lbi5cbiIKKyIgIC1EICAgLS1kZWJ1ZyAgICAgICA6ICB2ZXJzY2hpZWRlbmUgUy5NLkEuUi5ULi1GZWxkZXIgdW5kIGRlcmVuIFdlcnRlICIKKyJhbnplaWdlbi5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIE7DvHR6bGljaCwgdW0gV2VydGUgenUgZmluZGVuLCBkaWUgZGVyIFRlbXBlcmF0dXIgIgorImVudHNwcmVjaGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICB1bmQvb2RlciB1bSBtaXIgZWluZW4gQmVyaWNodCB6dSBzZW5kZW4uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAoYmVyZWl0cyBlcmxlZGlndCBmw7xyIGplZGVzIGJlcmVpdGdlc3RlbGx0ZSAiCisiTGF1ZndlcmspLlxuIgorIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIGhkZHRlbXAgaW0gVENQL0lQLURhZW1vbi1Nb2R1cyBhdXNmw7xocmVuICIKKyIoU3RhbmRhcmRtw6TDn2lnIFBvcnQgJWQpXG4iCisiICAtZiAgIC0tZmlsZT1EQVRFSSAgOiAgenUgdmVyd2VuZGVuZGUgRGF0ZW5iYW5rLURhdGVpIGZlc3RsZWdlbi5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBuaWNodCBkYWVtb25pc2llcmVuLCBpbSBWb3JkZXJncnVuZCBibGVpYmVuLlxuIgorIiAgLWwgICAtLWxpc3Rlbj1hZGRyIDogIGF1ZiBlaW5lciBiZXN0aW1tdGVuIFNjaG5pdHRzdGVsbGUgYXVmIEFuZnJhZ2VuICIKKyJ3YXJ0ZW4gKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorIiAgLW4gICAtLW51bWVyaWMgICAgIDogIG51ciBkaWUgVGVtcGVyYXR1ciBhdXNnZWJlbi5cbiIKKyIgIC1wICAgLS1wb3J0PSMgICAgICA6ICBQb3J0LCBhdWYgZGVtIGF1ZiBBbmZyYWdlbiBnZXdhcnRldCB3ZXJkZW4gc29sbCAiCisiKGltIFRDUC9JUC1EYWVtb24tTW9kdXMpLlxuIgorIiAgLXMgICAtLXNlcGFyYXRvcj1DIDogIFRyZW5uemVpY2hlbiB6dXIgVmVyd2VuZHVuZyB6d2lzY2hlbiBGZWxkZXJuIChpbSAiCisiVENQL0lQLURhZW1vbi1Nb2R1cykuXG4iCisiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgVGVtcGVyYXR1ciBhbGxlIHMgU2VrdW5kZW4gaW4gZGFzIHN5c2xvZyAiCisiZWludHJhZ2VuLlxuIgorIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIEF1c2dhYmUgZGVyIFRlbXBlcmF0dXIgZW50d2VkZXIgaW4gQ2Vsc2l1cyBvZGVyICIKKyJGYWhyZW5oZWl0IGVyendpbmdlbi5cbiIKKyIgIC1xICAgLS1xdWlldCAgICAgICA6ICBuaWNodCBwcsO8ZmVuLCBvYiBkYXMgTGF1ZndlcmsgdW50ZXJzdMO8dHp0IHdpcmQuXG4iCisiICAtdiAgIC0tdmVyc2lvbiAgICAgOiAgVmVyc2lvbnNudW1tZXIgdm9uIGhkZHRlbXAgYW56ZWlnZW4uXG4iCisiICAtdyAgIC0td2FrZS11cCAgICAgOiAgTGF1ZndlcmsgYmVpIEJlZGFyZiBhdWZ3ZWNrZW4uXG4iCisiICAtNCAgICAgICAgICAgICAgICAgOiAgbnVyIGF1ZiBJUHY0LVNvY2tldHMgYXVmIEFuZnJhZ2VuIHdhcnRlbi5cbiIKKyIgIC02ICAgICAgICAgICAgICAgICA6ICBudXIgYXVmIElQdjYtU29ja2V0cyBhdWYgQW5mcmFnZW4gd2FydGVuLlxuIgorIlxuIgorIkZlaGxlciBvZGVyIG5ldWUgTGF1ZndlcmtlIGFuIDxoZGR0ZW1wQGd1enUubmV0PiBtZWxkZW4uXG4iCisKKyM6IHNyYy9oZGR0ZW1wLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgImhkZHRlbXAgdmVyc2lvbiAlc1xuIgorbXNnc3RyICJoZGR0ZW1wIFZlcnNpb24gJXNcbiIKKworIzogc3JjL2hkZHRlbXAuYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6IGludmFsaWQgaW50ZXJ2YWwuXG4iCittc2dzdHIgIkZFSExFUjogdW5nw7xsdGlnZXMgSW50ZXJ2YWxsLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgorbXNnc3RyICJadSB3ZW5pZ2UgQXJndW1lbnRlOiBTaWUgbcO8c3NlbiBtaW5kZXN0ZW5zIGVpbiBMYXVmd2VyayBhbmdlYmVuLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCittc2dzdHIgIiIKKyJGRUhMRVI6IGthbm4gT3B0aW9uZW4gLS1kZWJ1ZyB1bmQgLS1kYWVtb24gb2RlciAtLXN5c2xvZyBuaWNodCB6dXNhbW1lbiAiCisidmVyd2VuZGVuLlxuIgorCisjOiBzcmMvaGRkdGVtcC5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJFUlJPUjogJXM6IGNhbid0IGRldGVybWluZSBidXMgdHlwZSAob3IgdGhpcyBidXMgdHlwZSBpcyB1bmtub3duKVxuIgorbXNnc3RyICIiCisiRkVITEVSOiAlczoga2FubiBCdXMtVHlwIG5pY2h0IGVybWl0dGVsbiAob2RlciBkaWVzZXIgQnVzLVR5cCBpc3QgIgorInVuYmVrYW5udClcbiIKKworIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjQKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ1bmJla2FubnQiCisKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorbXNnc3RyICJTLk0uQS5SLlQuIG5pY2h0IHZlcmbDvGdiYXIiCisKKyM6IHNyYy9kYi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiUmVnZXhwJXN8IFZhbHVlIHwgRGVzY3JpcHRpb25cbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiXG4iCisiUmVnZXhwJXN8IFdlcnQgfCBCZXNjaHJlaWJ1bmdcbiIKKyItLS0tLS0lcy0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBzcmMvZGIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlc3wgJTVkIHwgJXNcbiIKK21zZ3N0ciAiJXMlc3wgJTVkIHwgJXNcbiIKKworIzogc3JjL2RiLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImhkZHRlbXA6IGNhbid0IG9wZW4gJTEkczogJTIkc1xuIgorbXNnc3RyICJoZGR0ZW1wOiBrYW5uICUxJHMgbmljaHQgw7ZmZm5lbjogJTIkc1xuIgorCisjOiBzcmMvZGIuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgorbXNnc3RyICJGRUhMRVI6IFN5bnRheGZlaGxlciBpbiBaZWlsZSAlMSRkIGluICUyJHNcbiIKKworIzogc3JjL2RiLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgorbXNnc3RyICIgIEZFSExFUjogWmVpbGUgw7xiZXJzY2hyZWl0ZXQgJTEkZCBaZWljaGVuIGluICUyJHMuXG4iCisKKyM6IHNyYy9zY3NpLmM6MTExIHNyYy9zY3NpLmM6MTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZyBzZW5zZSBmYWlsZWQgOiAlcyIKK21zZ3N0ciAiUHJvdG9rb2xsLUVya2VubnVuZyBmZWhsZ2VzY2hsYWdlbiA6ICVzIgotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvcG8vTElOR1VBUworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3BvL0xJTkdVQVMKQEAgLTEsMiArMSwyIEBACiAjIFNldCBvZiBhdmFpbGFibGUgbGFuZ3VhZ2VzLgotZnIgcHQgcnUgc3YgCitkZSBmciBwdCBydSBzdiAKLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3BvL2hkZHRlbXAucG90CisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvcG8vaGRkdGVtcC5wb3QKQEAgLTEsMzUgKzEsMjIgQEAKLQotIyBDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0jIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSAnaGRkdGVtcCcgcGFja2FnZS4KLSMgRW1tYW51ZWwgVkFSQUdOQVQgPGhkZHRlbXBAZ3V6dS5uZXQ+LCAyMDA2LgorIyBTT01FIERFU0NSSVBUSVZFIFRJVExFLgorIyBDb3B5cmlnaHQgKEMpIFlFQVIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBQQUNLQUdFIHBhY2thZ2UuCisjIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIFlFQVIuCiAjCiAjLCBmdXp6eQogbXNnaWQgIiIKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCi0iUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGhkZHRlbXBAZ3V6dS5uZXRcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNS0wMi0yNSAyMjo0MyswMTAwXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA2LTA2LTI5IDE2OjI0KzAyMDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiBZRUFSLU1PLURBIEhPOk1JK1pPTkVcbiIKLSJMYXN0LVRyYW5zbGF0b3I6IEVtbWFudWVsIFZhcmFnbmF0IDxoZGR0ZW1wQGd1enUubmV0PlxuIgorIkxhc3QtVHJhbnNsYXRvcjogRlVMTCBOQU1FIDxFTUFJTEBBRERSRVNTPlxuIgogIkxhbmd1YWdlLVRlYW06IExBTkdVQUdFIDxMTEBsaS5vcmc+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Q0hBUlNFVFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKIAotIzogc3JjL2hkZHRlbXAuYzoxMTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIlxuIgotIlJlZ2V4cCVzfCBWYWx1ZSB8IERlc2NyaXB0aW9uXG4iCi0iLS0tLS0tJXMtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLW1zZ3N0ciAiIgotCi0jOiBzcmMvaGRkdGVtcC5jOjExOAotIywgYy1mb3JtYXQKLW1zZ2lkICIlcyVzfCAlNWQgfCAlc1xuIgotbXNnc3RyICIiCi0KLSM6IHNyYy9oZGR0ZW1wLmM6MTYxCisjOiBzcmMvaGRkdGVtcC5jOjE1NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0zOCw3ICsyNSw3IEBACiAiXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoxODgKKyM6IHNyYy9oZGR0ZW1wLmM6MTg5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJXQVJOSU5HOiBEcml2ZSAlcyBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIKQEAgLTQ3LDY3ICszNCw1OSBAQAogIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoxOTIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiAgbm8gc2Vuc29yXG4iCi1tc2dzdHIgIiIKLQogIzogc3JjL2hkZHRlbXAuYzoxOTcKICMsIGMtZm9ybWF0Ci1tc2dpZCAiIgotIldBUk5JTkc6IERyaXZlICVzIGRvZXNuJ3QgYXBwZWFyIGluIHRoZSBkYXRhYmFzZSBvZiBzdXBwb3J0ZWQgZHJpdmVzXG4iCi0iV0FSTklORzogQnV0IHVzaW5nIGEgY29tbW9uIHZhbHVlLCBpdCByZXBvcnRzIHNvbWV0aGluZy5cbiIKLSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgotIldBUk5JTkc6IFNlZSAtLWhlbHAsIC0tZGVidWcgYW5kIC0tZHJpdmViYXNlIG9wdGlvbnMuXG4iCi0iV0FSTklORzogQW5kIGRvbid0IGZvcmdldCB5b3UgY2FuIGFkZCB5b3VyIGRyaXZlIHRvIGhkZHRlbXAuZGJcbiIKK21zZ2lkICIlczogJXM6ICBubyBzZW5zb3JcbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIwMgorIzogc3JjL2hkZHRlbXAuYzoyMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiAgJWQlc0Mgb3IgJXNGXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzoyMTQKKyM6IHNyYy9oZGR0ZW1wLmM6MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogZHJpdmUgaXMgc2xlZXBpbmdcbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjIxNworIzogc3JjL2hkZHRlbXAuYzoyNDIKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJXM6ICVzOiAga25vd24gZHJpdmUsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iCittc2dpZCAiJXM6ICVzOiAgZHJpdmUgc3VwcG9ydGVkLCBidXQgaXQgZG9lc24ndCBoYXZlIGEgdGVtcGVyYXR1cmUgc2Vuc29yLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjIwCisjOiBzcmMvaGRkdGVtcC5jOjI0NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogJXM6ICVzOiB1bmtub3duIHJldHVybmVkIHN0YXR1c1xuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6MjM1CisjOiBzcmMvaGRkdGVtcC5jOjI2MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiSWYgb25lIG9mIHRoZSBmaWVsZCB2YWx1ZSBzZWVtcyB0byBtYXRjaCB0aGUgdGVtcGVyYXR1cmUsIGJlIHN1cmUgdG8gcmVhZFxuIgotInRoZSBoZGR0ZW1wIG1hbiBwYWdlIGJlZm9yZSBzZW5kaW5nIG1lIGEgcmVwb3J0IChzZWN0aW9uIFJFUE9SVCkuIFRoYW5rcy5cbiIKKyJ0aGUgaGRkdGVtcCBtYW4gcGFnZSBiZWZvcmUgc2VuZGluZyBhIHJlcG9ydCAoc2VjdGlvbiBSRVBPUlQpLiBUaGFua3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzozMDgKKyM6IHNyYy9oZGR0ZW1wLmM6MzM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIHNlcGFyYXRvci5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjMxOQorIzogc3JjL2hkZHRlbXAuYzozNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IGludmFsaWQgcG9ydCBudW1iZXIuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzozMjkKKyM6IHNyYy9oZGR0ZW1wLmM6MzcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKLSIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIERJU0sxIFtESVNLMl0uLi5cbiIKKyIgVXNhZ2U6IGhkZHRlbXAgW09QVElPTlNdIFtUWVBFOl1ESVNLMSBbW1RZUEU6XURJU0syXS4uLlxuIgogIlxuIgogIiAgIGhkZHRlbXAgZGlzcGxheXMgdGhlIHRlbXBlcmF0dXJlIG9mIGRyaXZlcyBzdXBwbGllZCBpbiBhcmd1bWVudC5cbiIKICIgICBEcml2ZXMgbXVzdCBzdXBwb3J0IFMuTS5BLlIuVC5cbiIKICJcbiIKKyIgIFRZUEUgY291bGQgYmUgU0FUQSwgUEFUQSBvciBTQ1NJLiBJZiBvbWl0dGVkIGhkZHRlbXAgd2lsbCB0cnkgdG8gZ3Vlc3MuXG4iCisiXG4iCiAiICAtYiAgIC0tZHJpdmViYXNlICAgOiAgZGlzcGxheSBkYXRhYmFzZSBmaWxlIGNvbnRlbnQgdGhhdCBhbGxvdyBoZGR0ZW1wIHRvXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgcmVjb2duaXplIHN1cHBvcnRlZCBkcml2ZXMuXG4iCiAiICAtRCAgIC0tZGVidWcgICAgICAgOiAgZGlzcGxheSB2YXJpb3VzIFMuTS5BLlIuVC4gZmllbGRzIGFuZCB0aGVpciB2YWx1ZXMuXG4iCkBAIC0xMTcsNiArOTYsNyBAQAogIiAgLWQgICAtLWRhZW1vbiAgICAgIDogIHJ1biBoZGR0ZW1wIGluIFRDUC9JUCBkYWVtb24gbW9kZSAocG9ydCAlZCBieSAiCiAiZGVmYXVsdC4pXG4iCiAiICAtZiAgIC0tZmlsZT1GSUxFICAgOiAgc3BlY2lmeSBkYXRhYmFzZSBmaWxlIHRvIHVzZS5cbiIKKyIgIC1GICAgLS1mb3JlZ3JvdW5kICA6ICBkb24ndCBkYWVtb25pemUsIHN0YXkgaW4gZm9yZWdyb3VuZC5cbiIKICIgIC1sICAgLS1saXN0ZW49YWRkciA6ICBsaXN0ZW4gb24gYSBzcGVjaWZpYyBpbnRlcmZhY2UgKGluIFRDUC9JUCBkYWVtb24gIgogIm1vZGUpLlxuIgogIiAgLW4gICAtLW51bWVyaWMgICAgIDogIHByaW50IG9ubHkgdGhlIHRlbXBlcmF0dXJlLlxuIgpAQCAtMTI0LDYgKzEwNCw4IEBACiAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiAiCiAibW9kZSkuXG4iCiAiICAtUyAgIC0tc3lzbG9nPXMgICAgOiAgbG9nIHRlbXBlcmF0dXJlIHRvIHN5c2xvZyBldmVyeSBzIHNlY29uZHMuXG4iCisiICAtdSAgIC0tdW5pdD1bQ3xGXSAgOiAgZm9yY2Ugb3V0cHV0IHRlbXBlcmF0dXJlIGVpdGhlciBpbiBDZWxzaXVzIG9yICIKKyJGYWhyZW5oZWl0LlxuIgogIiAgLXEgICAtLXF1aWV0ICAgICAgIDogIGRvIG5vdCBjaGVjayBpZiB0aGUgZHJpdmUgaXMgc3VwcG9ydGVkLlxuIgogIiAgLXYgICAtLXZlcnNpb24gICAgIDogIGRpc3BsYXkgaGRkdGVtcCB2ZXJzaW9uIG51bWJlci5cbiIKICIgIC13ICAgLS13YWtlLXVwICAgICA6ICB3YWtlLXVwIHRoZSBkcml2ZSBpZiBuZWVkLlxuIgpAQCAtMTMzLDU4ICsxMTUsNjkgQEAKICJSZXBvcnQgYnVncyBvciBuZXcgZHJpdmVzIHRvIDxoZGR0ZW1wQGd1enUubmV0Pi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvaGRkdGVtcC5jOjUyMgorIzogc3JjL2hkZHRlbXAuYzo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcCB2ZXJzaW9uICVzXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzo1NDcKKyM6IHNyYy9oZGR0ZW1wLmM6NDE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiBpbnZhbGlkIGludGVydmFsLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTQ3CisjOiBzcmMvaGRkdGVtcC5jOjQzOAorIywgYy1mb3JtYXQKIG1zZ2lkICJUb28gZmV3IGFyZ3VtZW50czogeW91IG11c3Qgc3BlY2lmeSBvbmUgZHJpdmUsIGF0IGxlYXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9oZGR0ZW1wLmM6NTU3CisjOiBzcmMvaGRkdGVtcC5jOjQ0OAorIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogY2FuJ3QgdXNlIC0tZGVidWcgYW5kIC0tZGFlbW9uIG9yIC0tc3lzbG9nIG9wdGlvbnMgdG9nZXRoZXIuXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2hkZHRlbXAuYzo1ODMKKyM6IHNyYy9oZGR0ZW1wLmM6NTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkVSUk9SOiAlczogY2FuJ3QgZGV0ZXJtaW5lIGJ1cyB0eXBlIChvciB0aGlzIGJ1cyB0eXBlIGlzIHVua25vd24pXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2F0YS5jOjY2IHNyYy9zY3NpLmM6NjgKKyM6IHNyYy9hdGEuYzo2NiBzcmMvc2NzaS5jOjY0CiBtc2dpZCAidW5rbm93biIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvYXRhLmM6OTgKKyM6IHNyYy9hdGEuYzo4NSBzcmMvYXRhLmM6MTA0IHNyYy9zY3NpLmM6OTEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiZmllbGQoJWQpXHQgPSAlZFxuIgorbXNnaWQgIlMuTS5BLlIuVC4gbm90IGF2YWlsYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBzcmMvYXRhLmM6MTY3Ci1tc2dpZCAiUy5NLkEuUi5ULiBub3QgYXZhaWxhYmxlIgorIzogc3JjL2RiLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJSZWdleHAlc3wgVmFsdWUgfCBEZXNjcmlwdGlvblxuIgorIi0tLS0tLSVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3JjL2RiLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXN8ICU1ZCB8ICVzXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2RiLmM6MTgwCisjOiBzcmMvZGIuYzoyMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGRkdGVtcDogY2FuJ3Qgb3BlbiAlMSRzOiAlMiRzXG4iCiBtc2dzdHIgIiIKIAotIzogc3JjL2RiLmM6MTk0CisjOiBzcmMvZGIuYzoyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRVJST1I6IHN5bnRheCBlcnJvciBhdCBsaW5lICUxJGQgaW4gJTIkc1xuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9kYi5jOjIwMQorIzogc3JjL2RiLmM6MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgRVJST1I6IGxpbmUgZXhjZWVkICUxJGQgY2hhcmFjdGVycyBpbiAlMiRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNyYy9zY3NpLmM6MTEyIHNyYy9zY3NpLmM6MTMwCisjOiBzcmMvc2NzaS5jOjExMSBzcmMvc2NzaS5jOjEyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJsb2cgc2Vuc2UgZmFpbGVkIDogJXMiCiBtc2dzdHIgIiIKLS0tIGhkZHRlbXAtMC4zLWJldGExNS5vcmlnL3NyYy9zYXRhLmMKKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvc2F0YS5jCkBAIC0xMTgsMTEgKzExOCwyMiBAQAogICBpbnQgICAgICAgICAgICAgIGk7CiAgIHUxNiAqICAgICAgICAgICAgcDsKIAotICBpZihkc2stPmRiX2VudHJ5ICYmIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CisgIGlmKGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCA9PSAwKSB7CiAgICAgY2xvc2UoZHNrLT5mZCk7CiAgICAgZHNrLT5mZCA9IC0xOwogICAgIHJldHVybiBHRVRURU1QX05PU0VOU09SOwogICB9CisKKyAgc3dpdGNoKGF0YV9nZXRfcG93ZXJtb2RlKGRzay0+ZmQpKSB7CisgIGNhc2UgUFdNX1NUQU5EQlk6CisgIGNhc2UgUFdNX1NMRUVQSU5HOgorICAgIGlmICghd2FrZXVwKQorICAgICAgcmV0dXJuIEdFVFRFTVBfRFJJVkVfU0xFRVA7CisgIGNhc2UgUFdNX1VOS05PV046CisgIGNhc2UgUFdNX0FDVElWRTogLyogYWN0aXZlIG9yIGlkbGUgKi8KKyAgZGVmYXVsdDoKKyAgICBicmVhazsKKyAgfQogICAKICAgLyogZ2V0IFNNQVJUIHZhbHVlcyAqLwogICBpZihzYXRhX2VuYWJsZV9zbWFydChkc2stPmZkKSAhPSAwKSB7CkBAIC0xNTQsMjQgKzE2NSwxNSBAQAogICB9CiAKICAgLyogdGVtcGVyYXR1cmUgKi8KLSAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQgPiAwKQotICAgIGZpZWxkID0gc2F0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOwotICBlbHNlCi0gICAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIERFRkFVTFRfQVRUUklCVVRFX0lEKTsKKyAgZmllbGQgPSBzYXRhX3NlYXJjaF90ZW1wZXJhdHVyZSh2YWx1ZXMsIGRzay0+ZGJfZW50cnktPmF0dHJpYnV0ZV9pZCk7CiAKICAgaWYoZmllbGQpCiAgICAgZHNrLT52YWx1ZSA9ICooZmllbGQrMyk7CiAKICAgaWYoZHNrLT5kYl9lbnRyeSAmJiBkc2stPnZhbHVlICE9IC0xKQogICAgIHJldHVybiBHRVRURU1QX0tOT1dOOwotICBlbHNlIHsKLSAgICBpZihkc2stPnZhbHVlICE9IC0xKSB7Ci0gICAgICByZXR1cm4gR0VUVEVNUF9HVUVTUzsKLSAgICB9Ci0gICAgZWxzZSB7Ci0gICAgICByZXR1cm4gR0VUVEVNUF9VTktOT1dOOwotICAgIH0KLSAgfQorICBlbHNlCisgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKIAogICAvKiBuZXZlciByZWFjaGVkICovCiB9Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2F0YWNtZHMuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zYXRhY21kcy5jCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CiAjaW5jbHVkZSA8c2NzaS9zZy5oPgogI2luY2x1ZGUgPGxpbnV4L2hkcmVnLmg+Ci0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2luY2x1ZGUgPGJ5dGVzd2FwLmg+CiAKIC8vIEFwcGxpY2F0aW9uIHNwZWNpZmljIGluY2x1ZGVzCiAjaW5jbHVkZSAic2F0YWNtZHMuaCIKQEAgLTgwLDggKzgwLDggQEAKIAogICByZXQgPSBzY3NpX1NHX0lPKGRldmljZSwgY2RiLCBzaXplb2YoY2RiKSwgYnVmZmVyLCBjbWRbM10gKiA1MTIsIHNlbnNlLCBzaXplb2Yoc2Vuc2UpLCBkeGZlcl9kaXJlY3Rpb24pOwogIAotICAvKiBWZXJpZnkgU0FUQSBtYWdpY3MgKi8KLSAgaWYgKHNlbnNlWzBdICE9IDB4NzIgfHwgc2Vuc2VbN10gIT0gMHgwZSB8fCBzZW5zZVs5XSAhPSAweDBlIHx8IHNlbnNlWzEwXSAhPSAweDAwKQorICAvKiBWZXJpZnkgU0FUQSBtYWdpYyAqLworICBpZiAoc2Vuc2VbMF0gIT0gMHg3MikKICAgICByZXR1cm4gMTsJCSAgCiAgIGVsc2UgCiAgICAgcmV0dXJuIHJldDsKQEAgLTk1LDEwICs5NSwxMCBAQAogICBwID0gczsKICAgZW5kID0gJnNbYnl0ZWNvdW50ICYgfjFdOyAvKiBieXRlY291bnQgbXVzdCBiZSBldmVuICovCiAKLSAgLyogY29udmVydCBmcm9tIGJpZy1lbmRpYW4gdG8gaG9zdCBieXRlIG9yZGVyICovCisgIC8qIGNvbnZlcnQgZnJvbSBiaWctZW5kaWFuIHRvIHN0cmluZyBvcmRlciAqLwogICBmb3IgKHAgPSBlbmQgOyBwICE9IHM7KSB7CiAgICAgdW5zaWduZWQgc2hvcnQgKnBwID0gKHVuc2lnbmVkIHNob3J0ICopIChwIC09IDIpOwotICAgICpwcCA9IG50b2hzKCpwcCk7CisgICAgKnBwID0gYnN3YXBfMTYoKnBwKTsKICAgfQogCiAgIC8qIHN0cmlwIGxlYWRpbmcgYmxhbmtzICovCi0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvYmFja3RyYWNlLmMKKysrIGhkZHRlbXAtMC4zLWJldGExNS9zcmMvYmFja3RyYWNlLmMKQEAgLTE2LDkgKzE2LDEwIEBACiAgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQogICovCiAKKyNkZWZpbmUgX0dOVV9TT1VSQ0UKICNpbmNsdWRlIDxmZWF0dXJlcy5oPgogCi0jaWYgZGVmaW5lZChfX2kzODZfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisjaWYgKGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykpICYmIGRlZmluZWQoX19HTElCQ19fKQogCiAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KIApAQCAtMzEsOCArMzIsMTIgQEAKICNpbmNsdWRlIDxiaXRzL3NpZ2NvbnRleHQuaD4KICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KIAotI2RlZmluZSBfX1VTRV9HTlUKICNpbmNsdWRlIDx1Y29udGV4dC5oPgorI2lmIGRlZmluZWQoX19pMzg2X18pCisjICBkZWZpbmUgUkVHX0lQIFJFR19FSVAKKyNlbGlmIGRlZmluZWQoX194ODZfNjRfXykKKyMgIGRlZmluZSBSRUdfSVAgUkVHX1JJUAorI2VuZGlmCiAKICNkZWZpbmUgTUFYX0JUU0laRSA2NAogCkBAIC00Miw3ICs0Nyw2IEBACiAgIHN0YXRpYyBjaGFyICoqbWVzc2FnZXMgPSBOVUxMOwogICBzdGF0aWMgc2l6ZV90IGJ0c2l6ZSA9IDA7CiAgIHN0YXRpYyBzaXplX3QgaTsKLSAgc3RhdGljIHVuc2lnbmVkIGludCBvbGRfZWlwLCBvbGRfZWJwOwogICBzdGF0aWMgY2hhciAqc3RyZXJyID0gIj8/PyI7CiAgIHN0YXRpYyBGSUxFICpmc3RybTsKIApAQCAtNjEsMTAgKzY1LDEwIEBACiAgICAgICBTSUNfQ0FTRShTRUdWX01BUEVSUik7CiAgICAgICBTSUNfQ0FTRShTRUdWX0FDQ0VSUik7CiAgICAgfQotICAgIGZwcmludGYoZnN0cm0sICI9PT0gU0VHRkFVTFQgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAweCUwOHhcbiIsCisgICAgZnByaW50Zihmc3RybSwgIj09PSBTRUdGQVVMVCAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAogCSAgICBzdHJlcnIsCiAJICAgIGlzdC0+c2lfYWRkciwKLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOwogICAgIGJyZWFrOwogICBjYXNlIFNJR0lMTDoKICAgICBzd2l0Y2goaXN0LT5zaV9jb2RlKSB7CkBAIC03NywxMCArODEsMTAgQEAKICAgICAgIFNJQ19DQVNFKElMTF9DT1BST0MpOwogICAgICAgU0lDX0NBU0UoSUxMX0JBRFNUSyk7CiAgICAgfQotICAgIGZwcmludGYoZnN0cm0sICI9PT0gSUxMRUdBTCBJTlNUUiAoJXMpIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IElMTEVHQUwgSU5TVFIgKCVzKSA6IGludmFsaWQgYWNjZXNzIHRvICVwLCBpbiAlcFxuIiwKIAkgICAgc3RyZXJyLAogCSAgICBpc3QtPnNpX2FkZHIsCi0JICAgIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF0pOworCSAgICAodm9pZCopcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdKTsKICAgICBicmVhazsKICAgY2FzZSBTSUdCVVM6CiAgICAgc3dpdGNoKGlzdC0+c2lfY29kZSkgewpAQCAtODgsMTAgKzkyLDEwIEBACiAgICAgICBTSUNfQ0FTRShCVVNfQURSRVJSKTsKICAgICAgIFNJQ19DQVNFKEJVU19PQkpFUlIpOwogICAgIH0KLSAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluIDB4JTA4eFxuIiwKKyAgICBmcHJpbnRmKGZzdHJtLCAiPT09IEJVUyBFUlJPUiAoJXApIDogaW52YWxpZCBhY2Nlc3MgdG8gJXAsIGluICVwXG4iLAogCSAgICBzdHJlcnIsCiAJICAgIGlzdC0+c2lfYWRkciwKLQkgICAgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXSk7CisJICAgICh2b2lkKilwdWMtPnVjX21jb250ZXh0LmdyZWdzW1JFR19JUF0pOwogICAgIGJyZWFrOwogICB9CiAgIGZmbHVzaChmc3RybSk7CkBAIC0xMDEsNyArMTA1LDcgQEAKICAgLyoKICAgICBvbGRfZWlwID0gKih1bnNpZ25lZCBpbnQqKSgodm9pZCopJm4tNCk7CiAgICAgb2xkX2VicCA9ICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTgpOwotICAgICoodW5zaWduZWQgaW50KikoKHZvaWQqKSZuLTQpID0gcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfRUlQXTsKKyAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi00KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0lQXTsKICAgICAqKHVuc2lnbmVkIGludCopKCh2b2lkKikmbi04KSA9IHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VCUF07ICAgIAogICAgIAogICAgIGJ0c2l6ZSA9IGJhY2t0cmFjZShidGluZm8sIE1BWF9CVFNJWkUpOwpAQCAtMTExLDE0ICsxMTUsMTQgQEAKICAgKi8KICAgCiAgIGJ0c2l6ZSA9IGJhY2t0cmFjZShidGluZm8sIE1BWF9CVFNJWkUpOwotICBidGluZm9bMV0gPSAodm9pZCopIHB1Yy0+dWNfbWNvbnRleHQuZ3JlZ3NbUkVHX0VJUF07CisgIGJ0aW5mb1sxXSA9ICh2b2lkKikgcHVjLT51Y19tY29udGV4dC5ncmVnc1tSRUdfSVBdOwogCiAgIG1lc3NhZ2VzID0gYmFja3RyYWNlX3N5bWJvbHMoYnRpbmZvLCBidHNpemUpOwogCiAgIGZvcihpID0gMTsKICAgICAgIGkgPCBidHNpemU7CiAgICAgICBpKyspCi0gICAgZnByaW50Zihmc3RybSwgIlslZF0gIyVkOiAlc1xuIiwgZ2V0cGlkKCksIGksIG1lc3NhZ2VzW2ldKTsKKyAgICBmcHJpbnRmKGZzdHJtLCAiWyVkXSAjJXp1OiAlc1xuIiwgZ2V0cGlkKCksIGksIG1lc3NhZ2VzW2ldKTsKICAgZmZsdXNoKGZzdHJtKTsKICAgZmNsb3NlKGZzdHJtKTsKIAotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2RhZW1vbi5jCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2RhZW1vbi5jCkBAIC0xNjMsMTkgKzE2MywxNiBAQAogCiAgICAgc3dpdGNoKGRzay0+cmV0KSB7CiAgICAgY2FzZSBHRVRURU1QX05PVF9BUFBMSUNBQkxFOgotICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlYyVzJWMlYyIsCisgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjTkElYyoiLAogICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgIk5BIiwgICAgICAgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICcqJyk7CisgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKICAgICAgIGJyZWFrOwotICAgIGNhc2UgR0VUVEVNUF9HVUVTUzoKICAgICBjYXNlIEdFVFRFTVBfVU5LTk9XTjoKLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY1VOSyVjKiIsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAiVU5LIiwgICAgIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAnKicpOworICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwgCisJCSAgIHNlcGFyYXRvcik7CiAgICAgICBicmVhazsKICAgICBjYXNlIEdFVFRFTVBfS05PV046CiAgICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJWQlYyVjIiwKQEAgLTE4NSwyNiArMTgyLDIzIEBACiAgICAgICAgICAgICAgICAgICAgZ2V0X3VuaXQoZHNrKSk7CiAgICAgICBicmVhazsKICAgICBjYXNlIEdFVFRFTVBfTk9TRU5TT1I6Ci0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNOT1MlYyoiLAogICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsIHNlcGFyYXRvciwKICAgICAgICAgICAgICAgICAgICBkc2stPm1vZGVsLCBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgIk5PUyIsICAgICAgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICcqJyk7CisgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKICAgICAgIGJyZWFrOwogICAgIGNhc2UgR0VUVEVNUF9EUklWRV9TTEVFUDoKLSAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWMlcyVjJWMiLAorICAgICAgbiA9IHNucHJpbnRmKG1zZywgc2l6ZW9mKG1zZyksICIlcyVjJXMlY1NMUCVjKiIsCiAgICAgICAgICAgICAgICAgICAgZHNrLT5kcml2ZSwgc2VwYXJhdG9yLAogICAgICAgICAgICAgICAgICAgIGRzay0+bW9kZWwsIHNlcGFyYXRvciwKLSAgICAgICAgICAgICAgICAgICAiU0xQIiwgICAgICBzZXBhcmF0b3IsCi0gICAgICAgICAgICAgICAgICAgJyonKTsKKyAgICAgICAgICAgICAgICAgICBzZXBhcmF0b3IpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBHRVRURU1QX0VSUk9SOgogICAgIGRlZmF1bHQ6Ci0gICAgICBuID0gc25wcmludGYobXNnLCBzaXplb2YobXNnKSwgIiVzJWMlcyVjJXMlYyVjIiwKKyAgICAgIG4gPSBzbnByaW50Zihtc2csIHNpemVvZihtc2cpLCAiJXMlYyVzJWNFUlIlYyoiLAogICAgICAgICAgICAgICAgICAgIGRzay0+ZHJpdmUsICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yLAogICAgICAgICAgICAgICAgICAgIChkc2stPm1vZGVsKSA/IGRzay0+bW9kZWwgOiAiPz8/Iiwgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICJFUlIiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yLAotICAgICAgICAgICAgICAgICAgICcqJyk7CisgICAgICAgICAgICAgICAgICAgc2VwYXJhdG9yKTsKICAgICAgIGJyZWFrOwogICAgIH0KICAgICB3cml0ZShjZmQsJnNlcGFyYXRvciwgMSk7CkBAIC0yMjIsMTQgKzIxNiwxMSBAQAogICBmb3IoZHNrID0gbGRpc2tzOyBkc2s7IGRzayA9IGRzay0+bmV4dCkgewogICAgIHN3aXRjaChkc2stPnJldCkgewogICAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKLSAgICBjYXNlIEdFVFRFTVBfR1VFU1M6Ci0gICAgICB2YWx1ZV90b191bml0KGRzayk7Ci0KICAgICAgIHN5c2xvZyhMT0dfSU5GTywgIiVzOiAlczogJWQgJWMiLCAKICAgICAgICAgICAgICBkc2stPmRyaXZlLAogCSAgICAgZHNrLT5tb2RlbCwKLQkgICAgIGRzay0+dmFsdWUsCi0JICAgICBkc2stPmRiX2VudHJ5LT51bml0KTsKKwkgICAgIHZhbHVlX3RvX3VuaXQoZHNrKSwKKwkgICAgIGdldF91bml0KGRzaykpOwogICAgICAgYnJlYWs7CiAgICAgY2FzZSBHRVRURU1QX0RSSVZFX1NMRUVQOgogICAgICAgc3lzbG9nKExPR19XQVJOSU5HLCBfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nIiksIApAQCAtMjcwLDI4ICsyNjEsMzAgQEAKICAgZmRfc2V0ICAgICAgICAgICAgIGRlZmZkczsKICAgdGltZV90ICAgICAgICAgICAgIG5leHRfdGltZTsKIAotICBzd2l0Y2goZm9yaygpKSB7Ci0gIGNhc2UgLTE6Ci0gICAgcGVycm9yKCJmb3JrIik7Ci0gICAgZXhpdCgyKTsKLSAgICBicmVhazsKLSAgY2FzZSAwOgotICAgIGJyZWFrOwotICBkZWZhdWx0OgotICAgIGV4aXQoMCk7Ci0gIH0KLSAgCi0gIHNldHNpZCgpOwotICAKLSAgc3dpdGNoKGZvcmsoKSkgewotICBjYXNlIC0xOgotICAgIHBlcnJvcigiZm9yayIpOwotICAgIGV4aXQoMik7Ci0gICAgYnJlYWs7Ci0gIGNhc2UgMDoKLSAgICBicmVhazsKLSAgZGVmYXVsdDoKLSAgICBleGl0KDApOworaWYgKCFmb3JlZ3JvdW5kKSB7CisgICAgc3dpdGNoKGZvcmsoKSkgeworICAgIGNhc2UgLTE6CisgICAgICBwZXJyb3IoImZvcmsiKTsKKyAgICAgIGV4aXQoMik7CisgICAgICBicmVhazsKKyAgICBjYXNlIDA6CisgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgZXhpdCgwKTsKKyAgICB9CisKKyAgICBzZXRzaWQoKTsKKworICAgIHN3aXRjaChmb3JrKCkpIHsKKyAgICBjYXNlIC0xOgorICAgICAgcGVycm9yKCJmb3JrIik7CisgICAgICBleGl0KDIpOworICAgICAgYnJlYWs7CisgICAgY2FzZSAwOgorICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIGV4aXQoMCk7CisgICAgfQogICB9CiAgIGNoZGlyKCIvIik7CiAgIHVtYXNrKDApOwotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmMKQEAgLTc1LDcgKzc1LDcgQEAKIGNoYXIgICAgICAgICAgICAgICBzZXBhcmF0b3IgPSBTRVBBUkFUT1I7CiAKIHN0cnVjdCBidXN0eXBlICogICBidXNbQlVTX1RZUEVfTUFYXTsKLWludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIG51bWVyaWMsIHdha2V1cCwgYWZfaGludDsKK2ludCAgICAgICAgICAgICAgICB0Y3BfZGFlbW9uLCBkZWJ1ZywgcXVpZXQsIG51bWVyaWMsIHdha2V1cCwgZm9yZWdyb3VuZCwgYWZfaGludDsKIAogc3RhdGljIGVudW0geyBERUZBVUxULCBDRUxTSVVTLCBGQUhSRU5IRUlUIH0gdW5pdDsKIApAQCAtMTk0LDIzICsxOTQsNyBAQAogICAgIGlmIChudW1lcmljICYmIHF1aWV0KQogICAgICAgcHJpbnRmKCIwXG4iKTsgICAgICAKICAgICBlbHNlCi0gICAgICBwcmludGYoXygiJXM6ICVzOiAgbm8gc2Vuc29yXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7Ci0KLSAgICBicmVhazsKLSAgY2FzZSBHRVRURU1QX0dVRVNTOgotCi0gICAgaWYoIXF1aWV0KQotICAgICAgZnByaW50ZihzdGRlcnIsCi0JICAgICAgXygiV0FSTklORzogRHJpdmUgJXMgZG9lc24ndCBhcHBlYXIgaW4gdGhlIGRhdGFiYXNlIG9mIHN1cHBvcnRlZCBkcml2ZXNcbiIKLQkJIldBUk5JTkc6IEJ1dCB1c2luZyBhIGNvbW1vbiB2YWx1ZSwgaXQgcmVwb3J0cyBzb21ldGhpbmcuXG4iCi0JCSJXQVJOSU5HOiBOb3RlIHRoYXQgdGhlIHRlbXBlcmF0dXJlIHNob3duIGNvdWxkIGJlIHdyb25nLlxuIgotCQkiV0FSTklORzogU2VlIC0taGVscCwgLS1kZWJ1ZyBhbmQgLS1kcml2ZWJhc2Ugb3B0aW9ucy5cbiIKLQkJIldBUk5JTkc6IEFuZCBkb24ndCBmb3JnZXQgeW91IGNhbiBhZGQgeW91ciBkcml2ZSB0byBoZGR0ZW1wLmRiXG4iKSwgZHNrLT5kcml2ZSk7Ci0KLSAgICBpZiAoISBudW1lcmljKQotICAgICAgcHJpbnRmKF8oIiVzOiAlczogICVkJXNDIG9yICVzRlxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwsIGRzay0+dmFsdWUsIGRlZ3JlZSwgZGVncmVlKTsKLSAgICBlbHNlCi0gICAgICBwcmludGYoIiVkXG4iLCB2YWx1ZV90b191bml0KGRzaykpOworICAgICAgZnByaW50ZihzdGRlcnIsIF8oIiVzOiAlczogIG5vIHNlbnNvclxuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOwogCiAgICAgYnJlYWs7CiAgIGNhc2UgR0VUVEVNUF9LTk9XTjoKQEAgLTIzMiwxNCArMjE2LDE0IEBACiAgICAgaWYgKG51bWVyaWMgJiYgcXVpZXQpCiAgICAgICBwcmludGYoIjBcbiIpOyAgICAgIAogICAgIGVsc2UKLSAgICAgIHByaW50ZihfKCIlczogJXM6IGRyaXZlIGlzIHNsZWVwaW5nXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CisgICAgICBmcHJpbnRmKHN0ZGVyciwgXygiJXM6ICVzOiBkcml2ZSBpcyBzbGVlcGluZ1xuIiksIGRzay0+ZHJpdmUsIGRzay0+bW9kZWwpOwogCiAgICAgYnJlYWs7CiAgIGNhc2UgR0VUVEVNUF9OT1NFTlNPUjoKICAgICBpZiAobnVtZXJpYyAmJiBxdWlldCkKICAgICAgIHByaW50ZigiMFxuIik7ICAgICAgCiAgICAgZWxzZQotICAgICAgcHJpbnRmKF8oIiVzOiAlczogIGRyaXZlIHN1cHBvcnRlZCwgYnV0IGl0IGRvZXNuJ3QgaGF2ZSBhIHRlbXBlcmF0dXJlIHNlbnNvci5cbiIpLCBkc2stPmRyaXZlLCBkc2stPm1vZGVsKTsKKyAgICAgIGZwcmludGYoc3RkZXJyLCBfKCIlczogJXM6ICBkcml2ZSBzdXBwb3J0ZWQsIGJ1dCBpdCBkb2Vzbid0IGhhdmUgYSB0ZW1wZXJhdHVyZSBzZW5zb3IuXG4iKSwgZHNrLT5kcml2ZSwgZHNrLT5tb2RlbCk7CiAgICAgICAKICAgICBicmVhazsKICAgZGVmYXVsdDoKQEAgLTI2OCw4ICsyNTIsOSBAQAogCiBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKSB7CiAgIGludCAgICAgICAgICAgaSwgYywgbGluZGV4ID0gMCwgZGJfbG9hZGVkID0gMDsKKyAgaW50IAkJcmV0ID0gMDsKICAgaW50ICAgICAgICAgICBzaG93X2RiOwotICBzdHJ1Y3QgZGlzayAqIGxkaXNrczsKKyAgc3RydWN0ICAgICAgICBkaXNrICogbGRpc2tzOwogCiAgIGJhY2t0cmFjZV9zaWdzZWd2KCk7CiAgIGJhY2t0cmFjZV9zaWdpbGwoKTsKQEAgLTI3OSw3ICsyNjQsNyBAQAogICBiaW5kdGV4dGRvbWFpbiAoUEFDS0FHRSwgTE9DQUxFRElSKTsKICAgdGV4dGRvbWFpbiAoUEFDS0FHRSk7CiAgIAotICBzaG93X2RiID0gZGVidWcgPSBudW1lcmljID0gcXVpZXQgPSB3YWtldXAgPSBhZl9oaW50ID0gc3lzbG9nX2ludGVydmFsID0gMDsKKyAgc2hvd19kYiA9IGRlYnVnID0gbnVtZXJpYyA9IHF1aWV0ID0gd2FrZXVwID0gYWZfaGludCA9IHN5c2xvZ19pbnRlcnZhbCA9IGZvcmVncm91bmQgPSAwOwogICB1bml0ID0gREVGQVVMVDsKICAgcG9ydG51bSA9IFBPUlRfTlVNQkVSOwogICBsaXN0ZW5fYWRkciA9IE5VTEw7CkBAIC0yOTQsNiArMjc5LDcgQEAKICAgICAgIHsiZHJpdmViYXNlIiwgIDAsIE5VTEwsICdiJ30sCiAgICAgICB7ImRlYnVnIiwgICAgICAwLCBOVUxMLCAnRCd9LAogICAgICAgeyJmaWxlIiwgICAgICAgMSwgTlVMTCwgJ2YnfSwKKyAgICAgIHsiZm9yZWdyb3VuZCIsIDAsIE5VTEwsICdGJ30sCiAgICAgICB7Imxpc3RlbiIsICAgICAxLCBOVUxMLCAnbCd9LAogICAgICAgeyJ2ZXJzaW9uIiwgICAgMCwgTlVMTCwgJ3YnfSwKICAgICAgIHsicG9ydCIsICAgICAgIDEsIE5VTEwsICdwJ30sCkBAIC0zMDUsNyArMjkxLDcgQEAKICAgICAgIHswLCAwLCAwLCAwfQogICAgIH07CiAgCi0gICAgYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYkRkZjpsOmhwOnFzOnU6dm53NDZTOiIsIGxvbmdfb3B0aW9ucywgJmxpbmRleCk7CisgICAgYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYkRkZjpsOmhwOnFzOnU6dm53NDZGUzoiLCBsb25nX29wdGlvbnMsICZsaW5kZXgpOwogICAgIGlmIChjID09IC0xKQogICAgICAgYnJlYWs7CiAgICAgCkBAIC0zODIsMTIgKzM2OCwxMyBAQAogCQkgIiAgICAgICAgICAgICAgICAgICAgICAgIChkb25lIGZvciBldmVyeSBkcml2ZSBzdXBwbGllZCkuXG4iCiAJCSAiICAtZCAgIC0tZGFlbW9uICAgICAgOiAgcnVuIGhkZHRlbXAgaW4gVENQL0lQIGRhZW1vbiBtb2RlIChwb3J0ICVkIGJ5IGRlZmF1bHQuKVxuIgogCQkgIiAgLWYgICAtLWZpbGU9RklMRSAgIDogIHNwZWNpZnkgZGF0YWJhc2UgZmlsZSB0byB1c2UuXG4iCisJCSAiICAtRiAgIC0tZm9yZWdyb3VuZCAgOiAgZG9uJ3QgZGFlbW9uaXplLCBzdGF5IGluIGZvcmVncm91bmQuXG4iCiAJCSAiICAtbCAgIC0tbGlzdGVuPWFkZHIgOiAgbGlzdGVuIG9uIGEgc3BlY2lmaWMgaW50ZXJmYWNlIChpbiBUQ1AvSVAgZGFlbW9uIG1vZGUpLlxuIgogICAgICAgICAgICAgICAgICAiICAtbiAgIC0tbnVtZXJpYyAgICAgOiAgcHJpbnQgb25seSB0aGUgdGVtcGVyYXR1cmUuXG4iCiAJCSAiICAtcCAgIC0tcG9ydD0jICAgICAgOiAgcG9ydCB0byBsaXN0ZW4gdG8gKGluIFRDUC9JUCBkYWVtb24gbW9kZSkuXG4iCiAJCSAiICAtcyAgIC0tc2VwYXJhdG9yPUMgOiAgc2VwYXJhdG9yIHRvIHVzZSBiZXR3ZWVuIGZpZWxkcyAoaW4gVENQL0lQIGRhZW1vbiBtb2RlKS5cbiIKIAkJICIgIC1TICAgLS1zeXNsb2c9cyAgICA6ICBsb2cgdGVtcGVyYXR1cmUgdG8gc3lzbG9nIGV2ZXJ5IHMgc2Vjb25kcy5cbiIKLSAgICAgICAgICAgICAgICAgIiAgLXUgICAtLXVuaXQ9W0N8Rl0gIDogIGZvcmNlIG91dHB1dCB0ZW1wZXJhdHVyZSBlaXRoZXIgaW4gQ2VsaXVzIG9yIEZhaHJlbmhlaXQuXG4iCisgICAgICAgICAgICAgICAgICIgIC11ICAgLS11bml0PVtDfEZdICA6ICBmb3JjZSBvdXRwdXQgdGVtcGVyYXR1cmUgZWl0aGVyIGluIENlbHNpdXMgb3IgRmFocmVuaGVpdC5cbiIKIAkJICIgIC1xICAgLS1xdWlldCAgICAgICA6ICBkbyBub3QgY2hlY2sgaWYgdGhlIGRyaXZlIGlzIHN1cHBvcnRlZC5cbiIKIAkJICIgIC12ICAgLS12ZXJzaW9uICAgICA6ICBkaXNwbGF5IGhkZHRlbXAgdmVyc2lvbiBudW1iZXIuXG4iCiAJCSAiICAtdyAgIC0td2FrZS11cCAgICAgOiAgd2FrZS11cCB0aGUgZHJpdmUgaWYgbmVlZC5cbiIKQEAgLTQxOCw2ICs0MDUsOSBAQAogCSAgfQogICAgICAgICB9CiAJYnJlYWs7CisgICAgICBjYXNlICdGJzoKKyAgICAgICAgZm9yZWdyb3VuZCA9IDE7CisJYnJlYWs7CiAgICAgICBkZWZhdWx0OgogCWV4aXQoMSk7CiAgICAgICB9CkBAIC00ODksNiArNDc5LDcgQEAKICAgICBpZiggKGRzay0+ZmQgPSBvcGVuKGRzay0+ZHJpdmUsIE9fUkRPTkxZIHwgT19OT05CTE9DSykpIDwgMCkgewogICAgICAgc25wcmludGYoZHNrLT5lcnJvcm1zZywgTUFYX0VSUk9STVNHX1NJWkUsICJvcGVuOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKICAgICAgIGRzay0+dHlwZSA9IEVSUk9SOworICAgICAgcmV0ID0gMTsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KIApAQCAtNTAxLDYgKzQ5Miw3IEBACiAKICAgICAgIGxkaXNrcyA9IGRzay0+bmV4dDsKICAgICAgIGZyZWUoZHNrKTsKKyAgICAgIHJldCA9IDE7CiAgICAgICBjb250aW51ZTsKICAgICB9CiAKQEAgLTUxNCwxMSArNTA2LDE3IEBACiAJZGJfbG9hZGVkID0gMTsKICAgICAgIH0gICAgICAKIAorICAgICAgZHNrLT5kYl9lbnRyeSA9IChzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5ICopbWFsbG9jKHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7CiAgICAgICBkYmUgPSBpc19hX3N1cHBvcnRlZF9kcml2ZShkc2stPm1vZGVsKTsKLSAgICAgIGlmKGRiZSkgewotCWRzay0+ZGJfZW50cnkgPSAoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IGhhcmRkcml2ZV9lbnRyeSkpOworICAgICAgaWYoZGJlKQogCW1lbWNweShkc2stPmRiX2VudHJ5LCBkYmUsIHNpemVvZihzdHJ1Y3QgaGFyZGRyaXZlX2VudHJ5KSk7Ci0gICAgICB9CQorICAgICAgZWxzZSB7CisgICAgICAgIGRzay0+ZGJfZW50cnktPnJlZ2V4cCAgICAgICA9ICIiOworICAgICAgICBkc2stPmRiX2VudHJ5LT5kZXNjcmlwdGlvbiAgPSAiIjsKKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID0gREVGQVVMVF9BVFRSSUJVVEVfSUQ7CisgICAgICAgIGRzay0+ZGJfZW50cnktPnVuaXQgICAgICAgICA9ICdDJzsKKyAgICAgICAgZHNrLT5kYl9lbnRyeS0+bmV4dCAgICAgICAgID0gTlVMTDsKKyAgICAgIH0KICAgICB9CiAgIH0KIApAQCAtNTMwLDUgKzUyOCw1IEBACiAgICAgZG9fZGlyZWN0X21vZGUobGRpc2tzKTsKICAgfQogCi0gIHJldHVybiAwOworICByZXR1cm4gcmV0OwogfQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2F0YS5jCisrKyBoZGR0ZW1wLTAuMy1iZXRhMTUvc3JjL2F0YS5jCkBAIC03NSw3ICs3NSw3IEBACiAgIGludCAgICAgICAgICAgICAgaTsKICAgdTE2ICogICAgICAgICAgICBwOwogCi0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKKyAgaWYoZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID09IDApIHsKICAgICBjbG9zZShkc2stPmZkKTsKICAgICBkc2stPmZkID0gLTE7CiAgICAgcmV0dXJuIEdFVFRFTVBfTk9TRU5TT1I7CkBAIC0xNDAsMjQgKzE0MCwxNSBAQAogICAqLwogCiAgIC8qIHRlbXBlcmF0dXJlICovCi0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT5kYl9lbnRyeS0+YXR0cmlidXRlX2lkID4gMCkKLSAgICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOwotICBlbHNlCi0gICAgZmllbGQgPSBhdGFfc2VhcmNoX3RlbXBlcmF0dXJlKHZhbHVlcywgREVGQVVMVF9BVFRSSUJVVEVfSUQpOworICBmaWVsZCA9IGF0YV9zZWFyY2hfdGVtcGVyYXR1cmUodmFsdWVzLCBkc2stPmRiX2VudHJ5LT5hdHRyaWJ1dGVfaWQpOwogCiAgIGlmKGZpZWxkKQogICAgIGRzay0+dmFsdWUgPSAqKGZpZWxkKzMpOwogCi0gIGlmKGRzay0+ZGJfZW50cnkgJiYgZHNrLT52YWx1ZSAhPSAtMSkKKyAgaWYoZHNrLT52YWx1ZSAhPSAtMSkKICAgICByZXR1cm4gR0VUVEVNUF9LTk9XTjsKLSAgZWxzZSB7Ci0gICAgaWYoZHNrLT52YWx1ZSAhPSAtMSkgewotICAgICAgcmV0dXJuIEdFVFRFTVBfR1VFU1M7Ci0gICAgfQotICAgIGVsc2UgewotICAgICAgcmV0dXJuIEdFVFRFTVBfVU5LTk9XTjsKLSAgICB9Ci0gIH0KKyAgZWxzZQorICAgIHJldHVybiBHRVRURU1QX1VOS05PV047CiAKICAgLyogbmV2ZXIgcmVhY2hlZCAqLwogfQotLS0gaGRkdGVtcC0wLjMtYmV0YTE1Lm9yaWcvc3JjL2hkZHRlbXAuaAorKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9oZGR0ZW1wLmgKQEAgLTM5LDggKzM5LDYgQEAKICAgR0VUVEVNUF9FUlJPUiwgICAgICAgICAgICAvKiBFcnJvciAqLwogICBHRVRURU1QX05PVF9BUFBMSUNBQkxFLCAgIC8qICovCiAgIEdFVFRFTVBfVU5LTk9XTiwgICAgICAgICAgLyogRHJpdmUgaXMgbm90IGluIGRhdGFiYXNlICovCi0gIEdFVFRFTVBfR1VFU1MsICAgICAgICAgICAgLyogTm90IGluIGRhdGFiYXNlLCBidXQgc29tZXRoaW5nIHdhcyBndWVzc2VkLCB1c2VyIG11c3QKLQkJCSAgICAgICBjaGVjayB0aGF0IHRoZSB0ZW1wZXJhdHVyZSByZXR1cm5lZCBpcyBjb3JyZWN0ICovCiAgIEdFVFRFTVBfS05PV04sICAgICAgICAgICAgLyogRHJpdmUgYXBwZWFyIGluIGRhdGFiYXNlICovCiAgIEdFVFRFTVBfTk9TRU5TT1IsICAgICAgICAgLyogRHJpdmUgYXBwZWFyIGluIGRhdGFiYXNlIGJ1dCBpcyBrbm93biB0byBoYXZlIG5vIHNlbnNvciAqLwogICBHRVRURU1QX0RSSVZFX1NMRUVQICAgICAgIC8qIERyaXZlIGlzIHNsZWVwaW5nICovCkBAIC03OCw3ICs3Niw3IEBACiAKIGV4dGVybiBzdHJ1Y3QgYnVzdHlwZSAqICAgYnVzW0JVU19UWVBFX01BWF07CiBleHRlcm4gY2hhciAgICAgICAgICAgICAgIGVycm9ybXNnW01BWF9FUlJPUk1TR19TSVpFXTsKLWV4dGVybiBpbnQgICAgICAgICAgICAgICAgdGNwX2RhZW1vbiwgZGVidWcsIHF1aWV0LCB3YWtldXAsIGFmX2hpbnQ7CitleHRlcm4gaW50ICAgICAgICAgICAgICAgIHRjcF9kYWVtb24sIGRlYnVnLCBxdWlldCwgd2FrZXVwLCBhZl9oaW50LCBmb3JlZ3JvdW5kOwogZXh0ZXJuIGNoYXIgICAgICAgICAgICAgICBzZXBhcmF0b3I7CiBleHRlcm4gbG9uZyAgICAgICAgICAgICAgIHBvcnRudW0sIHN5c2xvZ19pbnRlcnZhbDsKIGV4dGVybiBjaGFyICogICAgICAgICAgICAgbGlzdGVuX2FkZHI7Ci0tLSBoZGR0ZW1wLTAuMy1iZXRhMTUub3JpZy9zcmMvc2NzaWNtZHMuYworKysgaGRkdGVtcC0wLjMtYmV0YTE1L3NyYy9zY3NpY21kcy5jCkBAIC0xNDcsNiArMTQ3LDcgQEAKICAgICByZXR1cm4gMTsKICAgZWxzZSB7CiAgICAgc2NzaV9maXhzdHJpbmcoYnVmZmVyICsgOCwgMjQpOworICAgIGJ1ZmZlclszMl0gPSAwOwogICAgIHJldHVybiAwOwogICB9CiB9Cg==