ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9kb2NfZW1iZWRkZXJ0ZXN0LmNwcCBiL2ZwZGZzZGsvZnBkZl9kb2NfZW1iZWRkZXJ0ZXN0LmNwcAppbmRleCA5MWEyMzMzLi5hM2Q4YjNhIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfZG9jX2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX2RvY19lbWJlZGRlcnRlc3QuY3BwCkBAIC0yNTcsMTMgKzI1Nyw5MyBAQAogICB1bnNpZ25lZCBsb25nIGJ1ZnNpemUgPSBGUERGQWN0aW9uX0dldEZpbGVQYXRoKGFjdGlvbiwgbnVsbHB0ciwgMCk7CiAgIEVYUEVDVF9FUShrRXhwZWN0ZWRMZW5ndGgsIGJ1ZnNpemUpOwogCi0gIGNoYXIgYnVmW2tFeHBlY3RlZExlbmd0aF07CisgIGNoYXIgYnVmWzEwMjRdOwogICBFWFBFQ1RfRVEoYnVmc2l6ZSwgRlBERkFjdGlvbl9HZXRGaWxlUGF0aChhY3Rpb24sIGJ1ZiwgYnVmc2l6ZSkpOwogICBFWFBFQ1RfU1RSRVEoa0V4cGVjdGVkUmVzdWx0LCBidWYpOwogCi0gIC8vIE90aGVyIHB1YmxpYyBtZXRob2RzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIHRoaXMgYWN0aW9uIHR5cGUuCisgIC8vIE90aGVyIHB1YmxpYyBtZXRob2RzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIGxhdW5jaCBhY3Rpb25zLgogICBFWFBFQ1RfRVEobnVsbHB0ciwgRlBERkFjdGlvbl9HZXREZXN0KGRvY3VtZW50KCksIGFjdGlvbikpOwotICBFWFBFQ1RfRVEoMHUsIEZQREZBY3Rpb25fR2V0VVJJUGF0aChkb2N1bWVudCgpLCBhY3Rpb24sIGJ1ZiwgYnVmc2l6ZSkpOworICBFWFBFQ1RfRVEoMHUsIEZQREZBY3Rpb25fR2V0VVJJUGF0aChkb2N1bWVudCgpLCBhY3Rpb24sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKworICBVbmxvYWRQYWdlKHBhZ2UpOworfQorCitURVNUX0YoRlBERkRvY0VtYmVkZGVydGVzdCwgQWN0aW9uVVJJKSB7CisgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgidXJpX2FjdGlvbi5wZGYiKSk7CisKKyAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKKyAgQVNTRVJUX1RSVUUocGFnZSk7CisKKyAgLy8gVGhlIHRhcmdldCBhY3Rpb24gaXMgbmVhcmx5IHRoZSBzaXplIG9mIHRoZSB3aG9sZSBwYWdlLgorICBGUERGX0xJTksgbGluayA9IEZQREZMaW5rX0dldExpbmtBdFBvaW50KHBhZ2UsIDEwMCwgMTAwKTsKKyAgQVNTRVJUX1RSVUUobGluayk7CisKKyAgRlBERl9BQ1RJT04gYWN0aW9uID0gRlBERkxpbmtfR2V0QWN0aW9uKGxpbmspOworICBBU1NFUlRfVFJVRShhY3Rpb24pOworICBFWFBFQ1RfRVEoc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oUERGQUNUSU9OX1VSSSksCisgICAgICAgICAgICBGUERGQWN0aW9uX0dldFR5cGUoYWN0aW9uKSk7CisKKyAgY29uc3QgY2hhciBrRXhwZWN0ZWRSZXN1bHRbXSA9ICJodHRwczovL2V4YW1wbGUuY29tL3BhZ2UuaHRtbCI7CisgIGNvbnN0IHVuc2lnbmVkIGxvbmcga0V4cGVjdGVkTGVuZ3RoID0gc2l6ZW9mKGtFeHBlY3RlZFJlc3VsdCk7CisgIHVuc2lnbmVkIGxvbmcgYnVmc2l6ZSA9IEZQREZBY3Rpb25fR2V0VVJJUGF0aChkb2N1bWVudCgpLCBhY3Rpb24sIG51bGxwdHIsIDApOworICBBU1NFUlRfRVEoa0V4cGVjdGVkTGVuZ3RoLCBidWZzaXplKTsKKworICBjaGFyIGJ1ZlsxMDI0XTsKKyAgRVhQRUNUX0VRKGJ1ZnNpemUsIEZQREZBY3Rpb25fR2V0VVJJUGF0aChkb2N1bWVudCgpLCBhY3Rpb24sIGJ1ZiwgYnVmc2l6ZSkpOworICBFWFBFQ1RfU1RSRVEoa0V4cGVjdGVkUmVzdWx0LCBidWYpOworCisgIC8vIE90aGVyIHB1YmxpYyBtZXRob2RzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIFVSSSBhY3Rpb25zCisgIEVYUEVDVF9FUShudWxscHRyLCBGUERGQWN0aW9uX0dldERlc3QoZG9jdW1lbnQoKSwgYWN0aW9uKSk7CisgIEVYUEVDVF9FUSgwdSwgRlBERkFjdGlvbl9HZXRGaWxlUGF0aChhY3Rpb24sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKworICBVbmxvYWRQYWdlKHBhZ2UpOworfQorCitURVNUX0YoRlBERkRvY0VtYmVkZGVydGVzdCwgQWN0aW9uR290bykgeworICBFWFBFQ1RfVFJVRShPcGVuRG9jdW1lbnQoImdvdG9fYWN0aW9uLnBkZiIpKTsKKworICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKworICAvLyBUaGUgdGFyZ2V0IGFjdGlvbiBpcyBuZWFybHkgdGhlIHNpemUgb2YgdGhlIHdob2xlIHBhZ2UuCisgIEZQREZfTElOSyBsaW5rID0gRlBERkxpbmtfR2V0TGlua0F0UG9pbnQocGFnZSwgMTAwLCAxMDApOworICBBU1NFUlRfVFJVRShsaW5rKTsKKworICBGUERGX0FDVElPTiBhY3Rpb24gPSBGUERGTGlua19HZXRBY3Rpb24obGluayk7CisgIEFTU0VSVF9UUlVFKGFjdGlvbik7CisgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihQREZBQ1RJT05fR09UTyksCisgICAgICAgICAgICBGUERGQWN0aW9uX0dldFR5cGUoYWN0aW9uKSk7CisKKyAgRVhQRUNUX1RSVUUoRlBERkFjdGlvbl9HZXREZXN0KGRvY3VtZW50KCksIGFjdGlvbikpOworCisgIC8vIE90aGVyIHB1YmxpYyBtZXRob2RzIGFyZSBub3QgYXBwcm9wcmlhdGUgZm9yIEdvVG8gYWN0aW9ucy4KKyAgY2hhciBidWZbMTAyNF07CisgIEVYUEVDVF9FUSgwdSwgRlBERkFjdGlvbl9HZXRGaWxlUGF0aChhY3Rpb24sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyAgRVhQRUNUX0VRKDB1LCBGUERGQWN0aW9uX0dldFVSSVBhdGgoZG9jdW1lbnQoKSwgYWN0aW9uLCBidWYsIHNpemVvZihidWYpKSk7CisKKyAgVW5sb2FkUGFnZShwYWdlKTsKK30KKworVEVTVF9GKEZQREZEb2NFbWJlZGRlcnRlc3QsIEFjdGlvbk5vbmVzdWNoKSB7CisgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgibm9uZXN1Y2hfYWN0aW9uLnBkZiIpKTsKKworICBGUERGX1BBR0UgcGFnZSA9IExvYWRQYWdlKDApOworICBBU1NFUlRfVFJVRShwYWdlKTsKKworICAvLyBUaGUgdGFyZ2V0IGFjdGlvbiBpcyBuZWFybHkgdGhlIHNpemUgb2YgdGhlIHdob2xlIHBhZ2UuCisgIEZQREZfTElOSyBsaW5rID0gRlBERkxpbmtfR2V0TGlua0F0UG9pbnQocGFnZSwgMTAwLCAxMDApOworICBBU1NFUlRfVFJVRShsaW5rKTsKKworICBGUERGX0FDVElPTiBhY3Rpb24gPSBGUERGTGlua19HZXRBY3Rpb24obGluayk7CisgIEFTU0VSVF9UUlVFKGFjdGlvbik7CisgIEVYUEVDVF9FUShzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihQREZBQ1RJT05fVU5TVVBQT1JURUQpLAorICAgICAgICAgICAgRlBERkFjdGlvbl9HZXRUeXBlKGFjdGlvbikpOworCisgIC8vIE5vIHB1YmxpYyBtZXRob2RzIGFyZSBhcHByb3ByaWF0ZSBmb3IgdW5zdXBwb3J0ZWQgYWN0aW9ucy4KKyAgY2hhciBidWZbMTAyNF07CisgIEVYUEVDVF9GQUxTRShGUERGQWN0aW9uX0dldERlc3QoZG9jdW1lbnQoKSwgYWN0aW9uKSk7CisgIEVYUEVDVF9FUSgwdSwgRlBERkFjdGlvbl9HZXRGaWxlUGF0aChhY3Rpb24sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKyAgRVhQRUNUX0VRKDB1LCBGUERGQWN0aW9uX0dldFVSSVBhdGgoZG9jdW1lbnQoKSwgYWN0aW9uLCBidWYsIHNpemVvZihidWYpKSk7CiAKICAgVW5sb2FkUGFnZShwYWdlKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2dvdG9fYWN0aW9uLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvZ290b19hY3Rpb24uaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU3ZDczZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2dvdG9fYWN0aW9uLmluCkBAIC0wLDAgKzEsNDYgQEAKK3t7aGVhZGVyfX0KK3t7b2JqZWN0IDEgMH19IDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCAyMDAgMjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Bbm5vdHMgWzQgMCBSXQorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAgL0EgNSAwIFIKKyAgL0ZUIC9UeAorICAvRmYgMjkzNjAxMjgKKyAgL1QgKHR4dE5hbWUpCisgIC9UeXBlIC9Bbm5vdAorICAvU3VidHlwZSAvTGluaworICAvRiA0CisgIC9NIChEOjIwMTUwNTE0MDcwNDI2KzA1JzMwJykKKyAgL1JlY3QgWzEgMSAxOTkgMTk5XQorICAvQlMgIDw8CisgICAgL1cgMQorICAgIC9TIC9TCisgID4+CisgIC9EQSAoL0hlbHYgMCBUZiAwIDAgMCByZykKKyAgL1YgKCkKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDUgMH19IDw8CisgIC9TIC9Hb1RvCisgIC9EIFsxIDIgM10KKz4+CitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2dvdG9fYWN0aW9uLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2dvdG9fYWN0aW9uLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2JlMzljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvZ290b19hY3Rpb24ucGRmCkBAIC0wLDAgKzEsNTggQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCAyMDAgMjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCiszIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL0Fubm90cyBbNCAwIFJdCis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9BIDUgMCBSCisgIC9GVCAvVHgKKyAgL0ZmIDI5MzYwMTI4CisgIC9UICh0eHROYW1lKQorICAvVHlwZSAvQW5ub3QKKyAgL1N1YnR5cGUgL0xpbmsKKyAgL0YgNAorICAvTSAoRDoyMDE1MDUxNDA3MDQyNiswNSczMCcpCisgIC9SZWN0IFsxIDEgMTk5IDE5OV0KKyAgL0JTICA8PAorICAgIC9XIDEKKyAgICAvUyAvUworICA+PgorICAvREEgKC9IZWx2IDAgVGYgMCAwIDAgcmcpCisgIC9WICgpCis+PgorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9TIC9Hb1RvCisgIC9EIFsxIDIgM10KKz4+CitlbmRvYmoKK3hyZWYKKzAgNgorMDAwMDAwMDAwMCA2NTUzNSBmIAorMDAwMDAwMDAxNSAwMDAwMCBuIAorMDAwMDAwMDA2OCAwMDAwMCBuIAorMDAwMDAwMDE2MSAwMDAwMCBuIAorMDAwMDAwMDIzMCAwMDAwMCBuIAorMDAwMDAwMDQ2NCAwMDAwMCBuIAordHJhaWxlciA8PAorICAvUm9vdCAxIDAgUgorICAvU2l6ZSA2Cis+Pgorc3RhcnR4cmVmCis1MDkKKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy9ub25lc3VjaF9hY3Rpb24uaW4gYi90ZXN0aW5nL3Jlc291cmNlcy9ub25lc3VjaF9hY3Rpb24uaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzIxMmI0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL25vbmVzdWNoX2FjdGlvbi5pbgpAQCAtMCwwICsxLDQ1IEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCisgIC9Db3VudCAxCisgIC9LaWRzIFsgMyAwIFIgXQorPj4KK2VuZG9iagore3tvYmplY3QgMyAwfX0gPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvQW5ub3RzIFs0IDAgUl0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDQgMH19IDw8CisgIC9BIDUgMCBSCisgIC9GVCAvVHgKKyAgL0ZmIDI5MzYwMTI4CisgIC9UICh0eHROYW1lKQorICAvVHlwZSAvQW5ub3QKKyAgL1N1YnR5cGUgL0xpbmsKKyAgL0YgNAorICAvTSAoRDoyMDE1MDUxNDA3MDQyNiswNSczMCcpCisgIC9SZWN0IFsxIDEgMTk5IDE5OV0KKyAgL0JTICA8PAorICAgIC9XIDEKKyAgICAvUyAvUworICA+PgorICAvREEgKC9IZWx2IDAgVGYgMCAwIDAgcmcpCisgIC9WICgpCis+PgorZW5kb2JqCit7e29iamVjdCA1IDB9fSA8PAorICAvUyAvTm9uZVN1Y2gKKz4+CitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL25vbmVzdWNoX2FjdGlvbi5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy9ub25lc3VjaF9hY3Rpb24ucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxODhkNDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy9ub25lc3VjaF9hY3Rpb24ucGRmCkBAIC0wLDAgKzEsNTcgQEAKKyVQREYtMS43CisloPKk9AorMSAwIG9iaiA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCAyMDAgMjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCiszIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL0Fubm90cyBbNCAwIFJdCis+PgorZW5kb2JqCis0IDAgb2JqIDw8CisgIC9BIDUgMCBSCisgIC9GVCAvVHgKKyAgL0ZmIDI5MzYwMTI4CisgIC9UICh0eHROYW1lKQorICAvVHlwZSAvQW5ub3QKKyAgL1N1YnR5cGUgL0xpbmsKKyAgL0YgNAorICAvTSAoRDoyMDE1MDUxNDA3MDQyNiswNSczMCcpCisgIC9SZWN0IFsxIDEgMTk5IDE5OV0KKyAgL0JTICA8PAorICAgIC9XIDEKKyAgICAvUyAvUworICA+PgorICAvREEgKC9IZWx2IDAgVGYgMCAwIDAgcmcpCisgIC9WICgpCis+PgorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9TIC9Ob25lU3VjaAorPj4KK2VuZG9iagoreHJlZgorMCA2CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTYxIDAwMDAwIG4gCiswMDAwMDAwMjMwIDAwMDAwIG4gCiswMDAwMDAwNDY0IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDYKKz4+CitzdGFydHhyZWYKKzUwMAorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL3VyaV9hY3Rpb24uaW4gYi90ZXN0aW5nL3Jlc291cmNlcy91cmlfYWN0aW9uLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlYzdlZjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy91cmlfYWN0aW9uLmluCkBAIC0wLDAgKzEsNDYgQEAKK3t7aGVhZGVyfX0KK3t7b2JqZWN0IDEgMH19IDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgMiAwfX0gPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9NZWRpYUJveCBbIDAgMCAyMDAgMjAwIF0KKyAgL0NvdW50IDEKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Bbm5vdHMgWzQgMCBSXQorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAgL0EgNSAwIFIKKyAgL0ZUIC9UeAorICAvRmYgMjkzNjAxMjgKKyAgL1QgKHR4dE5hbWUpCisgIC9UeXBlIC9Bbm5vdAorICAvU3VidHlwZSAvTGluaworICAvRiA0CisgIC9NIChEOjIwMTUwNTE0MDcwNDI2KzA1JzMwJykKKyAgL1JlY3QgWzEgMSAxOTkgMTk5XQorICAvQlMgIDw8CisgICAgL1cgMQorICAgIC9TIC9TCisgID4+CisgIC9EQSAoL0hlbHYgMCBUZiAwIDAgMCByZykKKyAgL1YgKCkKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDUgMH19IDw8CisgIC9TIC9VUkkKKyAgL1VSSSAoaHR0cHM6Ly9leGFtcGxlLmNvbS9wYWdlLmh0bWwpCis+PgorZW5kb2JqCit7e3hyZWZ9fQore3t0cmFpbGVyfX0KK3t7c3RhcnR4cmVmfX0KKyUlRU9GCmRpZmYgLS1naXQgYS90ZXN0aW5nL3Jlc291cmNlcy91cmlfYWN0aW9uLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL3VyaV9hY3Rpb24ucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkZTBjNWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy91cmlfYWN0aW9uLnBkZgpAQCAtMCwwICsxLDU4IEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCisyIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlcworICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCisgIC9Db3VudCAxCisgIC9LaWRzIFsgMyAwIFIgXQorPj4KK2VuZG9iagorMyAwIG9iaiA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Bbm5vdHMgWzQgMCBSXQorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvQSA1IDAgUgorICAvRlQgL1R4CisgIC9GZiAyOTM2MDEyOAorICAvVCAodHh0TmFtZSkKKyAgL1R5cGUgL0Fubm90CisgIC9TdWJ0eXBlIC9MaW5rCisgIC9GIDQKKyAgL00gKEQ6MjAxNTA1MTQwNzA0MjYrMDUnMzAnKQorICAvUmVjdCBbMSAxIDE5OSAxOTldCisgIC9CUyAgPDwKKyAgICAvVyAxCisgICAgL1MgL1MKKyAgPj4KKyAgL0RBICgvSGVsdiAwIFRmIDAgMCAwIHJnKQorICAvViAoKQorPj4KK2VuZG9iagorNSAwIG9iaiA8PAorICAvUyAvVVJJCisgIC9VUkkgKGh0dHBzOi8vZXhhbXBsZS5jb20vcGFnZS5odG1sKQorPj4KK2VuZG9iagoreHJlZgorMCA2CiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTYxIDAwMDAwIG4gCiswMDAwMDAwMjMwIDAwMDAwIG4gCiswMDAwMDAwNDY0IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDYKKz4+CitzdGFydHhyZWYKKzUzNAorJSVFT0YK