From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25114 invoked from network); 24 Aug 2022 13:41:37 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 24 Aug 2022 13:41:37 -0000 Content-Type: multipart/mixed; boundary="===============5697762475817166293==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5Bci_skip=5D_freecad=3A_update_to_0=2E20=2E1=2C_update_pyside_to_5=2E15=2E5_and_others_related?= To: ml@inbox.vuxu.org From: yopito Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 24 Aug 2022 15:41:36 +0200 List-Id: Message-ID: <20220824134136.E2Zhu_dik2Ys7Rd4UkU5abMCleH_x4LSEL8bgMosdBI@z> GitHub notification mails are now in MIME to allow UTF8. --===============5697762475817166293== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgeW9waXRvIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS95b3Bp dG8vdm9pZC1wYWNrYWdlcyBweXNpZGU1LjE1LjVfYW5kX2ZyZWVjYWQwLjIwCmh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zODg1NgoKW2NpIHNraXBdIGZy ZWVjYWQ6IHVwZGF0ZSB0byAwLjIwLjEsIHVwZGF0ZSBweXNpZGUgdG8gNS4xNS41IGFuZCBvdGhl cnMgcmVsYXRlZAo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9w dGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNo YW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQo8IS0t DQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhlIFtw YWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1w YWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjcGFja2FnZS1yZXF1aXJlbWVudHMp OiAqKllFUyoqfCoqTk8qKg0KLS0+DQoNCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2Vs eSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFzIGRl c2NyaWJlZCBpbg0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9i bG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRl c3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qg b25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBz a2lwcGluZyBDSS4NCi0tPg0KDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0 aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUgKHg4Nl82NC1tdXNsKSA6 ICoqWUVTKioNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVy ZXMgKGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NCAoZ2xpYmMp OiBwYXJ0aWFsLCBzaW5jZSBzb21lIHBhY2thZ2VzIGNhbid0IGJlIGNyb3NzYnVpbGRlZA0KDQoj IyMjIEFkZGl0aW9uYWwgY29tbWVudHMNCg0KKiBydW50aW1lIHRlc3QgYXJlIE9LLCBhcGFydCB0 aGVzZSByZWxhdGVkIHRvIHBpdnksIHNlZSBiZWxvdw0KKiBzdXBlcnNlZWRzIFBSICMzNjM1NiBy ZWdhcmRpbmcgRnJlZUNBRCB1cGRhdGUNCiogYWJvdXQgcGl2eTogc29tZSAgU0lHU0VHViBvbiBy dW5uaW5nIEZyZWVDQUQgd2hlbiBpdCdzIHVzaW5nIENvaW4vcGl2eS4gIA0KICBTZWUgaHR0cHM6 Ly9naXRodWIuY29tL2NvaW4zZC9waXZ5L2lzc3Vlcy85OCAgDQogIEhvd2V2ZXIsIHRoaXMgaXMg YWZmZWN0aW5nIGN1cnJlbnQgRnJlZUNBRCBiaW5hcnkgcGFja2FnaW5nIHRvby4NCg0KcGluZyBA bHV6cGF6IEBrYXJsLW5pbHNzb24gQFBpcmF0eQ0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg4NTYucGF0Y2ggaXMg YXR0YWNoZWQ= --===============5697762475817166293== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-pyside5.15.5_and_freecad0.20-38856.patch" RnJvbSAxMzU2YTI3NDhkMGQxNTIwNWJkNDJmNzEwNjA1OWExNjczM2E0M2I0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiB5b3BpdG8gPHBpZXJyZS5ib3VyZ2luQGZyZWUuZnI+CkRhdGU6 IE1vbiwgMjIgQXVnIDIwMjIgMTM6NDI6MzIgKzAyMDAKU3ViamVjdDogW1BBVENIIDEvN10gc2hp Ym9rZW4yOiB1cGRhdGUgdG8gNS4xNS41CgotLS0KIC4uLi9wYXRjaGVzL2ZpeC1mb3ItbnVtcHkt MS4yMy4wLnBhdGNoICAgICAgICB8ICAxOCArKysKIC4uLi9wYXRjaGVzL25vLXB5dGhvbi1hcmNo LXN1ZmZpeC5wYXRjaCAgICAgICB8ICAgMiArLQogc3JjcGtncy9zaGlib2tlbjIvcGF0Y2hlcy9w eXRob24zMTAucGF0Y2ggICAgIHwgMTE0IC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL3BhdGNoZXMv dGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaCAgICAgICAgIHwgIDkxIC0tLS0tLS0tLS0tLS0tCiBz cmNwa2dzL3NoaWJva2VuMi90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIDUg ZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjA5IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2hpYm9rZW4yL3BhdGNoZXMvZml4LWZvci1udW1weS0xLjIz LjAucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL3B5 dGhvbjMxMC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvc2hpYm9rZW4yL3BhdGNo ZXMvdGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc2hpYm9r ZW4yL3BhdGNoZXMvZml4LWZvci1udW1weS0xLjIzLjAucGF0Y2ggYi9zcmNwa2dzL3NoaWJva2Vu Mi9wYXRjaGVzL2ZpeC1mb3ItbnVtcHktMS4yMy4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNzA4Y2ViZTNmOWZjCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9zaGlib2tlbjIvcGF0Y2hlcy9maXgtZm9yLW51bXB5LTEuMjMuMC5wYXRjaApAQCAtMCww ICsxLDE4IEBACityZXdvcmsgb2YgY29tbWl0IDE0MjJjZjRhN2YyNzdmYjEzZmQyMDlmMjRhOTBk NmMwMjY0MTQ5N2QgKHNoaWJva2VuNikKKworLS0tIGEvc291cmNlcy9zaGlib2tlbjIvbGlic2hp Ym9rZW4vc2JrbnVtcHlhcnJheWNvbnZlcnRlci5jcHAKKysrKyBiL3NvdXJjZXMvc2hpYm9rZW4y L2xpYnNoaWJva2VuL3Nia251bXB5YXJyYXljb252ZXJ0ZXIuY3BwCitAQCAtMTE2LDggKzExNiwx MyBAQAorICAgICAgICAgICAgIHN0ciA8PCAiIE5QWV9BUlJBWV9OT1RTV0FQUEVEIjsKKyAgICAg ICAgIGlmICgoZmxhZ3MgJiBOUFlfQVJSQVlfV1JJVEVBQkxFKSAhPSAwKQorICAgICAgICAgICAg IHN0ciA8PCAiIE5QWV9BUlJBWV9XUklURUFCTEUiOworKyNpZiBOUFlfVkVSU0lPTiA+PSAweDAw MDAwMDEwIC8vIE5QWV8xXzIzX0FQSV9WRVJTSU9OCisrICAgICAgICBpZiAoKGZsYWdzICYgTlBZ X0FSUkFZX1dSSVRFQkFDS0lGQ09QWSkgIT0gMCkKKysgICAgICAgICAgICBzdHIgPDwgIiBOUFlf QVJSQVlfV1JJVEVCQUNLSUZDT1BZIjsKKysjZWxzZQorICAgICAgICAgaWYgKChmbGFncyAmIE5Q WV9BUlJBWV9VUERBVEVJRkNPUFkpICE9IDApCisgICAgICAgICAgICAgc3RyIDw8ICIgTlBZX0FS UkFZX1VQREFURUlGQ09QWSI7CisrI2VuZGlmCisgICAgIH0gZWxzZSB7CisgICAgICAgICBzdHIg PDwgJzAnOworICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL25v LXB5dGhvbi1hcmNoLXN1ZmZpeC5wYXRjaCBiL3NyY3BrZ3Mvc2hpYm9rZW4yL3BhdGNoZXMvbm8t cHl0aG9uLWFyY2gtc3VmZml4LnBhdGNoCmluZGV4IDAyYmFhNjg5NmY3Yi4uMzFlOWM1NWRiNmYy IDEwMDY0NAotLS0gYS9zcmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL25vLXB5dGhvbi1hcmNoLXN1 ZmZpeC5wYXRjaAorKysgYi9zcmNwa2dzL3NoaWJva2VuMi9wYXRjaGVzL25vLXB5dGhvbi1hcmNo LXN1ZmZpeC5wYXRjaApAQCAtMSw1ICsxLDUgQEAKIENvbnNpc3RlbnQgZmlsZSBuYW1pbmcgYWNy b3NzIGFyY2hpdGVjdHVyZXMgZm9yIHNvIGxpYnMgYW5kIGNtYWtlIGZpbGVzOgotcmVtb3ZlIGlu dGVybWVkaWF0ZSBzdWZmaXggbGlrZSAiLmNweXRob24tMzZtLXg4Nl82NC1saW51eC1nbnUiLgor cmVtb3ZlIHB5dGhvbiBzdWZmaXggbGlrZSAiLmNweXRob24tMzZtLXg4Nl82NC1saW51eC1nbnUi LgogQXZvaWQgb3ZlcndyaXRpbmcgdGhlICJyZWFsIiBjbWFrZSBmaWxlIHdpdGggdGhlIGdlbmVy aWMgd3JhcHBlcidzIG9uZSAoc2FtZQogbmFtZSBpbiBzdWNoIGEgY2FzZSkKIApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9zaGlib2tlbjIvcGF0Y2hlcy9weXRob24zMTAucGF0Y2ggYi9zcmNwa2dzL3No aWJva2VuMi9wYXRjaGVzL3B5dGhvbjMxMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMTYwMGRlZGE0NmYyLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9zaGlib2tlbjIv cGF0Y2hlcy9weXRob24zMTAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMTQgKzAsMCBAQAot VGhlIGZpcnN0IHBhdGNoIGlzIHRha2VuIGZyb20gdGhlIGlzc3VlIGFuZCByZXNvbHV0aW9uIGRv Y3VtZW50ZWQgYXQKLQotICAgIGh0dHBzOi8vYnVncmVwb3J0cy5xdC5pby9icm93c2UvUFlTSURF LTE0MzYKLQotTm90ZSB0aGF0IHN0cmluZ3MgY3JlYXRlZCBhcyBwYXJ0IG9mIHRoZSBgc3RhdGlj U3RyaW5ncygpYCBzZXQgdXNlZCBpbiB0aGUKLWBmaW5hbGl6ZVN0YXRpY1N0cmluZ3MoKWAgZnVu Y3Rpb24gYXJlIGNyZWF0ZWQgYnkgYGNyZWF0ZVN0YXRpY1N0cmluZygpYCwgd2hpY2gKLXVzZXMg YFB5VW5pY29kZV9JbnRlcm5Gcm9tU3RyaW5nYCB0byBjcmVhdGUgYW4gb3duZWQgcmVmZXJlbmNl IHRvIGFuIGludGVybmVkCi1QeXRob24gc3RyaW5nICoqYW5kKiogY2FsbHMgUHlfSU5DUkVGIHRv IGZ1cnRoZXIgZ3VhcmQgYWdhaW5zdCB0aGUgc3RyaW5ncwotZGlzYXBwZWFyaW5nLiBUaHVzLCBp biBgZmluYWxpemVTdGF0aWNTdHJpbmdzKClgLCB3ZSBuZWVkICp0d28qIGNhbGxzIHRvCi1QeV9E RUNSRUY6IG9uZSB0byBjbGVhciB0aGUgImd1YXJkIiBpbmNyZW1lbnQgYWZ0ZXIgY3JlYXRpb24g YW5kIG9uZSB0byByZWxlYXNlCi1vd25lcnNoaXAgZnJvbSB0aGUgY3JlYXRpb24gaXRzZWxmLgot Ci1UaGUgc2Vjb25kIGFuZCB0aGlyZCBwYXRjaGVzIGFyZSBhZGFwdGVkIGZyb20KLQotICAgIGh0 dHBzOi8vY29kZXJldmlldy5xdC1wcm9qZWN0Lm9yZy9jL3B5c2lkZS9weXNpZGUtc2V0dXAvKy8z NDgzOTAKLQotVGhlIHNlY29uZCBhZGRyZXNzZXMgdGhlIGRpc2FwcGVhcmFuY2Ugb2YgX1B5X01h bmdsZSBmcm9tIFB5dGhvbiAzLjEwIGJ5Ci1wcm92aWRpbmcgYW4gYWx0ZXJuYXRpdmUgaW1wbGVt ZW50YXRpb24gdGhhdCB3YXMgcHJldmlvdXNseSByZXNlcnZlZCBmb3IKLVB5X0xJTUlURURfQVBJ LgotCi1UaGUgZm91cnRoIHBhdGNoIHdhcyBhZGFwdGVkIGZyb20KLQotICAgIGh0dHBzOi8vY29k ZXJldmlldy5xdC1wcm9qZWN0Lm9yZy9jL3B5c2lkZS9weXNpZGUtc2V0dXAvKy8zNjU0MDMvNAot Ci1Ub2dldGhlciB3aXRoIHRoZSB0aGlyZCBwYXRjaCx0IGhpcyBhZGRyZXNzZXMgY2hhbmdlcyB0 byB0aGUgdHlwaW5nIG1vZHVsZSB0aGF0Ci1jYXVzZWQgdGhlIHB5aSBiaW5kaW5nIGdlbmVyYXRv ciB0byBmYWlsIGluIHNvbWUgY2FzZXMuCi0KLWRpZmYgLXVyIGEvc291cmNlcy9zaGlib2tlbjIv bGlic2hpYm9rZW4vcGVwMzg0aW1wbC5jcHAgYi9zb3VyY2VzL3NoaWJva2VuMi9saWJzaGlib2tl bi9wZXAzODRpbXBsLmNwcAotLS0tIGEvc291cmNlcy9zaGlib2tlbjIvbGlic2hpYm9rZW4vcGVw Mzg0aW1wbC5jcHAJMjAyMC0xMS0xMSAwNzo1MTozMC4wMDAwMDAwMDAgLTA1MDAKLSsrKyBiL3Nv dXJjZXMvc2hpYm9rZW4yL2xpYnNoaWJva2VuL3BlcDM4NGltcGwuY3BwCTIwMjEtMDktMjYgMDg6 NDc6MDAuNjE0MTg0OTI2IC0wNDAwCi1AQCAtNzUxLDE0ICs3NTEsMTQgQEAKLSAjZW5kaWYgLy8g SVNfUFkyCi0gICAgIFNoaWJva2VuOjpBdXRvRGVjUmVmIHByaXZhdGVvYmooUHlPYmplY3RfR2V0 QXR0cigKLSAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8UHlPYmplY3QgKj4oUHlfVFlQRShzZWxm KSksIFNoaWJva2VuOjpQeU1hZ2ljTmFtZTo6bmFtZSgpKSk7Ci0tI2lmbmRlZiBQeV9MSU1JVEVE X0FQSQotLSAgICByZXR1cm4gX1B5X01hbmdsZShwcml2YXRlb2JqLCBuYW1lKTsKLS0jZWxzZQot LSAgICAvLyBGb3Igc29tZSByZWFzb24sIF9QeV9NYW5nbGUgaXMgbm90IGluIHRoZSBMaW1pdGVk IEFQSS4gV2h5PwotLSAgICBzaXplX3QgcGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHByaXZh dGVvYmopOwotKwotKyAgICAvLyBQWVNJREUtMTQzNjogX1B5X01hbmdsZSBpcyBubyBsb25nZXIg ZXhwb3NlZDsgaW1wbGVtZW50IGl0IGFsd2F5cy4KLSsgICAgLy8gVGhlIHJlc3Qgb2YgdGhpcyBm dW5jdGlvbiBpcyBvdXIgb3duIGltcGxlbWVudGF0aW9uIG9mIF9QeV9NYW5nbGUuCi0rICAgIC8v IFBsZWFzZSBjb21wYXJlIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiBpbiBjb21waWxlLmMgLgotKyAg ICBzaXplX3QgcGxlbiA9IFB5VW5pY29kZV9HRVRfTEVOR1RIKHByaXZhdGVvYmoub2JqZWN0KCkp OwotICAgICAvKiBTdHJpcCBsZWFkaW5nIHVuZGVyc2NvcmVzIGZyb20gY2xhc3MgbmFtZSAqLwot ICAgICBzaXplX3QgaXByaXYgPSAwOwotLSAgICB3aGlsZSAoUHlVbmljb2RlX1JFQURfQ0hBUihw cml2YXRlb2JqLCBpcHJpdikgPT0gJ18nKQotKyAgICB3aGlsZSAoUHlVbmljb2RlX1JFQURfQ0hB Uihwcml2YXRlb2JqLm9iamVjdCgpLCBpcHJpdikgPT0gJ18nKQotICAgICAgICAgaXByaXYrKzsK LSAgICAgaWYgKGlwcml2ID09IHBsZW4pIHsKLSAgICAgICAgIFB5X0lOQ1JFRihuYW1lKTsKLUBA IC03ODcsNyArNzg3LDYgQEAKLSAgICAgaWYgKGFtb3VudCA+IGJpZ19zdGFjaykKLSAgICAgICAg IGZyZWUocmVzYnVmKTsKLSAgICAgcmV0dXJuIHJlc3VsdDsKLS0jZW5kaWYgLy8gZWxzZSBQeV9M SU1JVEVEX0FQSQotIH0KLSAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLWRpZmYgLXVyIGEvc291 cmNlcy9zaGlib2tlbjIvbGlic2hpYm9rZW4vc2Jrc3RyaW5nLmNwcCBiL3NvdXJjZXMvc2hpYm9r ZW4yL2xpYnNoaWJva2VuL3Nia3N0cmluZy5jcHAKLS0tLSBhL3NvdXJjZXMvc2hpYm9rZW4yL2xp YnNoaWJva2VuL3Nia3N0cmluZy5jcHAJMjAyMC0xMS0xMSAwNzo1MTozMC4wMDAwMDAwMDAgLTA1 MDAKLSsrKyBiL3NvdXJjZXMvc2hpYm9rZW4yL2xpYnNoaWJva2VuL3Nia3N0cmluZy5jcHAJMjAy MS0wOS0yNiAwODo0NzowMC42MTQxODQ5MjYgLTA0MDAKLUBAIC0yNDcsOCArMjQ3LDE1IEBACi0g ewotICAgICBhdXRvICZzZXQgPSBzdGF0aWNTdHJpbmdzKCk7Ci0gICAgIGZvciAoUHlPYmplY3Qg Km9iIDogc2V0KSB7Ci0rICAgICAgICAvLyBTaW5jZSBQeXRob24gMy4xMCwgaW50ZXJuZWQgc3Ry aW5ncyBhdCBkZWxldGVkIGF0IFB5dGhvbiBleGl0LgotKyNpZiBQWV9WRVJTSU9OX0hFWCA+PSAw eDAzMGEwMDAwCi0rICAgICAgICBQeV9ERUNSRUYob2IpOwotKyAgICAgICAgLy8gY3JlYXRlU3Rh dGljU3RyaW5nKCkgY2FsbHMgUHlfSU5DUkVGKCkKLSsgICAgICAgIFB5X0RFQ1JFRihvYik7Ci0r I2Vsc2UKLSAgICAgICAgIFB5X1JFRkNOVChvYikgPSAxOwotICAgICAgICAgUHlfREVDUkVGKG9i KTsKLSsjZW5kaWYKLSAgICAgfQotICAgICBzZXQuY2xlYXIoKTsKLSB9Ci1kaWZmIC11ciBhL3Nv dXJjZXMvc2hpYm9rZW4yL3NoaWJva2VubW9kdWxlL2ZpbGVzLmRpci9zaGlib2tlbnN1cHBvcnQv c2lnbmF0dXJlL21hcHBpbmcucHkgYi9zb3VyY2VzL3NoaWJva2VuMi9zaGlib2tlbm1vZHVsZS9m aWxlcy5kaXIvc2hpYm9rZW5zdXBwb3J0L3NpZ25hdHVyZS9tYXBwaW5nLnB5Ci0tLS0gYS9zb3Vy Y2VzL3NoaWJva2VuMi9zaGlib2tlbm1vZHVsZS9maWxlcy5kaXIvc2hpYm9rZW5zdXBwb3J0L3Np Z25hdHVyZS9tYXBwaW5nLnB5CTIwMjAtMTEtMTEgMDc6NTE6MzAuMDAwMDAwMDAwIC0wNTAwCi0r KysgYi9zb3VyY2VzL3NoaWJva2VuMi9zaGlib2tlbm1vZHVsZS9maWxlcy5kaXIvc2hpYm9rZW5z dXBwb3J0L3NpZ25hdHVyZS9tYXBwaW5nLnB5CTIwMjEtMDktMjYgMDg6NDc6MDAuNjE0MTg0OTI2 IC0wNDAwCi1AQCAtMzAwLDYgKzMwMCw3IEBACi0gICAgICJ6ZXJvKG9iamVjdCkiOiBOb25lLAot ICAgICAiemVybyhzdHIpIjogIiIsCi0gICAgICJ6ZXJvKHR5cGluZy5BbnkpIjogTm9uZSwKLSsg ICAgInplcm8oQW55KSI6IE5vbmUsCi0gICAgIH0pCi0gCi0gdHlwZV9tYXAudXBkYXRlKHsKLWRp ZmYgLXVyIGEvc291cmNlcy9zaGlib2tlbjIvc2hpYm9rZW5tb2R1bGUvZmlsZXMuZGlyL3NoaWJv a2Vuc3VwcG9ydC9zaWduYXR1cmUvcGFyc2VyLnB5IGIvc291cmNlcy9zaGlib2tlbjIvc2hpYm9r ZW5tb2R1bGUvZmlsZXMuZGlyL3NoaWJva2Vuc3VwcG9ydC9zaWduYXR1cmUvcGFyc2VyLnB5Ci0t LS0gYS9zb3VyY2VzL3NoaWJva2VuMi9zaGlib2tlbm1vZHVsZS9maWxlcy5kaXIvc2hpYm9rZW5z dXBwb3J0L3NpZ25hdHVyZS9wYXJzZXIucHkJMjAyMC0xMS0xMSAwNzo1MTozMC4wMDAwMDAwMDAg LTA1MDAKLSsrKyBiL3NvdXJjZXMvc2hpYm9rZW4yL3NoaWJva2VubW9kdWxlL2ZpbGVzLmRpci9z aGlib2tlbnN1cHBvcnQvc2lnbmF0dXJlL3BhcnNlci5weQkyMDIxLTA5LTI2IDA4OjQ4OjI3Ljc0 MzE3MTU4NyAtMDQwMAotQEAgLTQzLDEwICs0MywxMSBAQAotIGltcG9ydCByZQotIGltcG9ydCB3 YXJuaW5ncwotIGltcG9ydCB0eXBlcwotK2ltcG9ydCB0eXBpbmcKLSBpbXBvcnQga2V5d29yZAot IGltcG9ydCBmdW5jdG9vbHMKLSBmcm9tIHNoaWJva2Vuc3VwcG9ydC5zaWduYXR1cmUubWFwcGlu ZyBpbXBvcnQgKHR5cGVfbWFwLCB1cGRhdGVfbWFwcGluZywKLS0gICAgbmFtZXNwYWNlLCB0eXBp bmcsIF9Ob3RDYWxsZWQsIFJlc3VsdFZhcmlhYmxlLCBBcnJheUxpa2VWYXJpYWJsZSkKLSsgICAg bmFtZXNwYWNlLCBfTm90Q2FsbGVkLCBSZXN1bHRWYXJpYWJsZSwgQXJyYXlMaWtlVmFyaWFibGUp Ci0gZnJvbSBzaGlib2tlbnN1cHBvcnQuc2lnbmF0dXJlLmxpYi50b29sIGltcG9ydCAoU2ltcGxl TmFtZXNwYWNlLAotICAgICBidWlsZF9icmFjZV9wYXR0ZXJuKQotIAotQEAgLTIyMiw3ICsyMjMs NyBAQAotIGRlZiB0b19zdHJpbmcodGhpbmcpOgotICAgICBpZiBpc2luc3RhbmNlKHRoaW5nLCBz dHIpOgotICAgICAgICAgcmV0dXJuIHRoaW5nCi0tICAgIGlmIGhhc2F0dHIodGhpbmcsICJfX25h bWVfXyIpOgotKyAgICBpZiBoYXNhdHRyKHRoaW5nLCAiX19uYW1lX18iKSBhbmQgdGhpbmcuX19t b2R1bGVfXyAhPSAidHlwaW5nIjoKLSAgICAgICAgIGRvdCA9ICIuIiBpbiBzdHIodGhpbmcpCi0g ICAgICAgICBuYW1lID0gZ2V0X25hbWUodGhpbmcpCi0gICAgICAgICByZXR1cm4gdGhpbmcuX19t b2R1bGVfXyArICIuIiArIG5hbWUgaWYgZG90IGVsc2UgbmFtZQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9zaGlib2tlbjIvcGF0Y2hlcy90ZXN0cy1weXRob24tc3ludGF4LnBhdGNoIGIvc3JjcGtncy9z aGlib2tlbjIvcGF0Y2hlcy90ZXN0cy1weXRob24tc3ludGF4LnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAzMjc0M2E2Mjk1Y2UuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L3NoaWJva2VuMi9wYXRjaGVzL3Rlc3RzLXB5dGhvbi1zeW50YXgucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw5MSArMCwwIEBACi1UaGlzIGNoYW5nZXNldCBpcyBhYm91dCBib3RoIHNoaWJva2Vu MiBhbmQgcHl0aG9uMy1weXNpZGUyCi0odGhhdCBhcmUgc2VwYXJhdGVkIHBhY2thZ2VzKQotdXBz dHJlYW06IHllcwotCi1Gcm9tIGM2MTg0ZTAxZTk5M2RjY2E5Nzk4ZjMwNmZiOGU5Y2IzMjJmZGQw ZGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpc3RpYW4gVGlzbWVyIDx0aXNt ZXJAc3RhY2tsZXNzLmNvbT4KLURhdGU6IFRodSwgMyBEZWMgMjAyMCAxMzozODo1OCArMDEwMAot U3ViamVjdDogW1BBVENIXSBmaXggYm90aCBxZmxhZ3NfdGVzdCBhbmQgdGhlIHFmbGFncyBjcHBn ZW5lcmF0b3IgY29kZQotCi1UaGVyZSB3YXMgYSB5ZWFycy1vbGQgcWZsYWdzIHRlc3QgZmFpbGlu ZyBvbiBQeXRob24gMy4KLUl0IHdhcyBibGFja2xpc3RlZCB3aXRoIHRoZSBjb21tZW50Ci0KLSAg ICAiIyAgTmVzdGVkIGV4Y2VwdGlvbiBpbiBQeXRob24gMyIKLQotVGhpcyB3YXMgbm9uc2Vuc2U6 IFRoZSB0ZXN0IHdhcyB3cm9uZyBhbHNvIGZvciBQeXRob24gMi4KLUl0IGp1c3QgaGFwcGVuZWQg dG8gd29yaywgYmVjYXVzZSBQeXRob24gMiBoYWQgc29tZSB3ZWlyZAotZXJyb3JzIGxlYWtpbmcu IFRoZSByZWFsIGJ1ZyB3YXMgaW4gbWlzc2luZyBlcnJvciBoYW5kbGluZwotaW4gY3BwZ2VuZXJh dG9yLmNwcCAuCi0KLVNlZSB0aGUgbWFpbiBkZXNjcmlwdGlvbiBpbiB0aGUgaXNzdWUuCi0KLUNo YW5nZS1JZDogSWEwZjk0NjY2NDBlMGViMzNmMWI4YjI2MTc4ZDMzZjJiZTBiY2IzMmYKLVRhc2st bnVtYmVyOiBQWVNJREUtMTQ0MgotUmV2aWV3ZWQtYnk6IEZyaWVkZW1hbm4gS2xlaW50IDxGcmll ZGVtYW5uLktsZWludEBxdC5pbz4KLShjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI4OGZhZGI3 OTZlYzRlMTFlOTllMzc1MmQ1MzFhZGE3ZWRmMTVkNzUpCi0tLS0KLSBidWlsZF9oaXN0b3J5L2Js YWNrbGlzdC50eHQgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgLS0tCi0gc291cmNlcy9w eXNpZGUyL3Rlc3RzL1F0Q29yZS9xZmxhZ3NfdGVzdC5weSAgICAgICAgICB8IDEyICsrKysrKyst LS0tLQotIC4uLi9zaGlib2tlbjIvZ2VuZXJhdG9yL3NoaWJva2VuMi9jcHBnZW5lcmF0b3IuY3Bw ICAgfCAgMiArKwotIDMgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQotCi1kaWZmIC0tZ2l0IGJ1aWxkX2hpc3RvcnkvYmxhY2tsaXN0LnR4dCBidWlsZF9oaXN0 b3J5L2JsYWNrbGlzdC50eHQKLWluZGV4IDliNjNmOTc4NC4uMmEyYTVkNGM0IDEwMDY0NAotLS0t IGEvYnVpbGRfaGlzdG9yeS9ibGFja2xpc3QudHh0Ci0rKysgYi9idWlsZF9oaXN0b3J5L2JsYWNr bGlzdC50eHQKLUBAIC0xOCw5ICsxOCw2IEBACi0gICAgIGRhcndpbiBweTMKLSBbUXRDb3JlOjpx ZmlsZXJlYWRfdGVzdF0KLSAgICAgZGFyd2luCi0tIyAgTmVzdGVkIGV4Y2VwdGlvbiBpbiBQeXRo b24gMwotLVtRdENvcmU6OnFmbGFnc190ZXN0XQotLSAgICBweTMKLSBbUXRDb3JlOjpxb2JqZWN0 X2Nvbm5lY3Rfbm90aWZ5X3Rlc3RdCi0gICAgIGxpbnV4Ci0gICAgIGRhcndpbgotZGlmZiAtLWdp dCBzb3VyY2VzL3B5c2lkZTIvdGVzdHMvUXRDb3JlL3FmbGFnc190ZXN0LnB5IHNvdXJjZXMvcHlz aWRlMi90ZXN0cy9RdENvcmUvcWZsYWdzX3Rlc3QucHkKLWluZGV4IDA4YTdjNTViMS4uZTFlOTg5 YzFlIDEwMDY0NAotLS0tIGEvc291cmNlcy9weXNpZGUyL3Rlc3RzL1F0Q29yZS9xZmxhZ3NfdGVz dC5weQotKysrIGIvc291cmNlcy9weXNpZGUyL3Rlc3RzL1F0Q29yZS9xZmxhZ3NfdGVzdC5weQot QEAgLTMwLDYgKzMwLDcgQEAKLSAKLSAnJydUZXN0IGNhc2VzIGZvciBRRmxhZ3MnJycKLSAKLStp bXBvcnQgb3BlcmF0b3IKLSBpbXBvcnQgb3MKLSBpbXBvcnQgc3lzCi0gaW1wb3J0IHVuaXR0ZXN0 Ci1AQCAtMTE3LDEyICsxMTgsMTMgQEAgY2xhc3MgUUZsYWdzT25RVmFyaWFudCh1bml0dGVzdC5U ZXN0Q2FzZSk6Ci0gY2xhc3MgUUZsYWdzV3JvbmdUeXBlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAg ICAgZGVmIHRlc3RXcm9uZ1R5cGUoc2VsZik6Ci0gICAgICAgICAnJydXcm9uZyB0eXBlIHBhc3Nl ZCB0byBRRmxhZ3MgYmluYXJ5IG9wZXJhdG9ycycnJwotKyAgICAgICAgZm9yIG9wIGluIG9wZXJh dG9yLm9yXywgb3BlcmF0b3IuYW5kXywgb3BlcmF0b3IueG9yOgotKyAgICAgICAgICAgIGZvciB4 IGluICc0MycsICdqYWJiYScsIFFPYmplY3QsIG9iamVjdDoKLSsgICAgICAgICAgICAgICAgc2Vs Zi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBvcCwgUXQuTm9JdGVtRmxhZ3MsIHgpCi0rICAgICAg ICAgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgb3AsIHgsIFF0Lk5vSXRlbUZs YWdzKQotKyAgICAgICAgIyBtYWtpbmcgc3VyZSB0aGlzIGFjdHVhbGx5IGRvZXMgbm90IGZhaWwg YWxsIHRoZSB0aW1lCi0rICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG9wZXJhdG9yLm9yXyhRdC5O b0l0ZW1GbGFncywgNDMpLCA0MykKLSAKLS0gICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVF cnJvciwgUXQuTm9JdGVtRmxhZ3MgfCAnNDMnKQotLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMo VHlwZUVycm9yLCBRdC5Ob0l0ZW1GbGFncyAmICc0MycpCi0tICAgICAgICBzZWxmLmFzc2VydFJh aXNlcyhUeXBlRXJyb3IsICdqYWJiYScgJiBRdC5Ob0l0ZW1GbGFncykKLS0gICAgICAgIHNlbGYu YXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgJ2h1dCcgJiBRdC5Ob0l0ZW1GbGFncykKLS0gICAgICAg IHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgUXQuTm9JdGVtRmxhZ3MgJiBRT2JqZWN0KCkp Ci0gCi0gaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICAgdW5pdHRlc3QubWFpbigpCi1k aWZmIC0tZ2l0IHNvdXJjZXMvc2hpYm9rZW4yL2dlbmVyYXRvci9zaGlib2tlbjIvY3BwZ2VuZXJh dG9yLmNwcCBzb3VyY2VzL3NoaWJva2VuMi9nZW5lcmF0b3Ivc2hpYm9rZW4yL2NwcGdlbmVyYXRv ci5jcHAKLWluZGV4IGZmNDRkYjk1NS4uODdkZGQ3M2E1IDEwMDY0NAotLS0tIGEvc291cmNlcy9z aGlib2tlbjIvZ2VuZXJhdG9yL3NoaWJva2VuMi9jcHBnZW5lcmF0b3IuY3BwCi0rKysgYi9zb3Vy Y2VzL3NoaWJva2VuMi9nZW5lcmF0b3Ivc2hpYm9rZW4yL2NwcGdlbmVyYXRvci5jcHAKLUBAIC01 MjMwLDYgKzUyMzAsOCBAQCB2b2lkIENwcEdlbmVyYXRvcjo6d3JpdGVGbGFnc0JpbmFyeU9wZXJh dG9yKFFUZXh0U3RyZWFtICZzLCBjb25zdCBBYnN0cmFjdE1ldGFFbgotICAgICBzIDw8IElOREVO VCA8PCAiY3BwQXJnID0gc3RhdGljX2Nhc3Q8IiA8PCBmbGFnc0VudHJ5LT5vcmlnaW5hbE5hbWUo KQotICAgICAgICAgPDwgIj4oaW50KFB5SW50X0FzTG9uZygiIDw8IFBZVEhPTl9BUkcgPDwgIikp KTtcbiI7Ci0gICAgIHMgPDwgIiNlbmRpZlxuXG4iOwotKyAgICBzIDw8IElOREVOVCA8PCAiaWYg KFB5RXJyX09jY3VycmVkKCkpXG4iIDw8IGluZGVudChJTkRFTlQpCi0rICAgICAgICA8PCBJTkRF TlQgPDwgInJldHVybiBudWxscHRyO1xuIiA8PCBvdXRkZW50KElOREVOVCk7Ci0gICAgIHMgPDwg SU5ERU5UIDw8ICJjcHBSZXN1bHQgPSAiIDw8IENQUF9TRUxGX1ZBUiA8PCAiICIgPDwgY3BwT3BO YW1lIDw8ICIgY3BwQXJnO1xuIjsKLSAgICAgcyA8PCBJTkRFTlQgPDwgInJldHVybiAiOwotICAg ICB3cml0ZVRvUHl0aG9uQ29udmVyc2lvbihzLCBmbGFnc1R5cGUsIG51bGxwdHIsIFFMYXRpbjFT dHJpbmcoImNwcFJlc3VsdCIpKTsKLS0tIAotMi4yOS4yCmRpZmYgLS1naXQgYS9zcmNwa2dzL3No aWJva2VuMi90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2hpYm9rZW4yL3RlbXBsYXRlCmluZGV4IGI1NjYx MzIyOWMxMy4uZDAzMzViMjJiZjUxIDEwMDY0NAotLS0gYS9zcmNwa2dzL3NoaWJva2VuMi90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3NoaWJva2VuMi90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3NoaWJva2VuMicKIHBrZ25hbWU9c2hpYm9rZW4yCi12ZXJzaW9u PTUuMTUuMgotcmV2aXNpb249NAordmVyc2lvbj01LjE1LjUKK3JldmlzaW9uPTEKIF9wa2duYW1l PSJweXNpZGUtc2V0dXAtb3BlbnNvdXJjZS1zcmMtJHt2ZXJzaW9ufSIKIHdya3NyYz0iJHtfcGtn bmFtZS8lNS4xNC4yLjEvNS4xNC4yfSIKIGJ1aWxkX3dya3NyYz0ic291cmNlcy9zaGlib2tlbjIi CkBAIC0xNSw3ICsxNSw3IEBAIG1haW50YWluZXI9InlvcGl0byA8cGllcnJlLmJvdXJnaW5AZnJl ZS5mcj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lr aS5xdC5pby9RdF9mb3JfUHl0aG9uL1NoaWJva2VuIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL1F0Rm9yUHl0aG9uL3B5c2lkZTIvUHlTaWRlMi0k e3ZlcnNpb259LXNyYy8ke19wa2duYW1lfS50YXIueHoiCi1jaGVja3N1bT1iMzA2NTA0YjBiODAz NzA3OWE4ZWFiNzcyZWU3NzRiOWU4NzdhMmQ4NGJhYjJkYmVmYmU0ZmE2ZjgzOTQxNDE4CitjaGVj a3N1bT0zOTIwYTRmYjM1MzMwMDI2MGM5YmM0NmZmNzBmMWZiOTc1YzVlN2VmYTIyZTlkNTEyMjI1 ODg5MjhjZTE5YjMzCiAKIHB5dGhvbl92ZXJzaW9uPTMKIGV4cG9ydCBDTEFOR19JTlNUQUxMX0RJ Uj0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyCgpGcm9tIGI4NDk5ZWI2NjUzYmUzOGQ2MzYyMzE2ZjRl YjU1Yzg4ZjE4NGFjOTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IHlvcGl0byA8cGll cnJlLmJvdXJnaW5AZnJlZS5mcj4KRGF0ZTogTW9uLCAyMiBBdWcgMjAyMiAxMzo0MjozNSArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMi83XSBweXRob24zLXB5c2lkZTI6IHVwZGF0ZSB0byA1LjE1LjUK Ci0tLQogLi4uL3BhdGNoZXMvdGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaCAgICAgICAgIHwgMTA2 IC0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9weXRob24zLXB5c2lkZTIvdGVtcGxhdGUgICAg ICAgICAgICAgIHwgICA2ICstCiAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMTA5 IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy1weXNpZGUy L3BhdGNoZXMvdGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cHl0aG9uMy1weXNpZGUyL3BhdGNoZXMvdGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaCBiL3NyY3Br Z3MvcHl0aG9uMy1weXNpZGUyL3BhdGNoZXMvdGVzdHMtcHl0aG9uLXN5bnRheC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2YzYWIxMTcyZjlmLi4wMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9weXRob24zLXB5c2lkZTIvcGF0Y2hlcy90ZXN0cy1weXRob24tc3ludGF4LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLVRoaXMgY2hhbmdlc2V0IGlzIGFi b3V0IGJvdGggc2hpYm9rZW4yIGFuZCBweXRob24zLXB5c2lkZTIKLSh0aGF0IGFyZSBzZXBhcmF0 ZWQgcGFja2FnZXMpCi11cHN0cmVhbTogeWVzCi0KLUZyb20gYzYxODRlMDFlOTkzZGNjYTk3OThm MzA2ZmI4ZTljYjMyMmZkZDBkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlz dGlhbiBUaXNtZXIgPHRpc21lckBzdGFja2xlc3MuY29tPgotRGF0ZTogVGh1LCAzIERlYyAyMDIw IDEzOjM4OjU4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBib3RoIHFmbGFnc190ZXN0IGFu ZCB0aGUgcWZsYWdzIGNwcGdlbmVyYXRvciBjb2RlCi0KLVRoZXJlIHdhcyBhIHllYXJzLW9sZCBx ZmxhZ3MgdGVzdCBmYWlsaW5nIG9uIFB5dGhvbiAzLgotSXQgd2FzIGJsYWNrbGlzdGVkIHdpdGgg dGhlIGNvbW1lbnQKLQotICAgICIjICBOZXN0ZWQgZXhjZXB0aW9uIGluIFB5dGhvbiAzIgotCi1U aGlzIHdhcyBub25zZW5zZTogVGhlIHRlc3Qgd2FzIHdyb25nIGFsc28gZm9yIFB5dGhvbiAyLgot SXQganVzdCBoYXBwZW5lZCB0byB3b3JrLCBiZWNhdXNlIFB5dGhvbiAyIGhhZCBzb21lIHdlaXJk Ci1lcnJvcnMgbGVha2luZy4gVGhlIHJlYWwgYnVnIHdhcyBpbiBtaXNzaW5nIGVycm9yIGhhbmRs aW5nCi1pbiBjcHBnZW5lcmF0b3IuY3BwIC4KLQotU2VlIHRoZSBtYWluIGRlc2NyaXB0aW9uIGlu IHRoZSBpc3N1ZS4KLQotQ2hhbmdlLUlkOiBJYTBmOTQ2NjY0MGUwZWIzM2YxYjhiMjYxNzhkMzNm MmJlMGJjYjMyZgotVGFzay1udW1iZXI6IFBZU0lERS0xNDQyCi1SZXZpZXdlZC1ieTogRnJpZWRl bWFubiBLbGVpbnQgPEZyaWVkZW1hbm4uS2xlaW50QHF0LmlvPgotKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgMjg4ZmFkYjc5NmVjNGUxMWU5OWUzNzUyZDUzMWFkYTdlZGYxNWQ3NSkKLS0tLQot IGJ1aWxkX2hpc3RvcnkvYmxhY2tsaXN0LnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MyAtLS0KLSBzb3VyY2VzL3B5c2lkZTIvdGVzdHMvUXRDb3JlL3FmbGFnc190ZXN0LnB5ICAgICAg ICAgIHwgMTIgKysrKysrKy0tLS0tCi0gLi4uL3NoaWJva2VuMi9nZW5lcmF0b3Ivc2hpYm9rZW4y L2NwcGdlbmVyYXRvci5jcHAgICB8ICAyICsrCi0gMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlv bnMoKyksIDggZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYnVpbGRfaGlzdG9yeS9ibGFja2xp c3QudHh0IGJ1aWxkX2hpc3RvcnkvYmxhY2tsaXN0LnR4dAotaW5kZXggOWI2M2Y5Nzg0Li4yYTJh NWQ0YzQgMTAwNjQ0Ci0tLS0gYS9idWlsZF9oaXN0b3J5L2JsYWNrbGlzdC50eHQKLSsrKyBiL2J1 aWxkX2hpc3RvcnkvYmxhY2tsaXN0LnR4dAotQEAgLTE4LDkgKzE4LDYgQEAKLSAgICAgZGFyd2lu IHB5MwotIFtRdENvcmU6OnFmaWxlcmVhZF90ZXN0XQotICAgICBkYXJ3aW4KLS0jICBOZXN0ZWQg ZXhjZXB0aW9uIGluIFB5dGhvbiAzCi0tW1F0Q29yZTo6cWZsYWdzX3Rlc3RdCi0tICAgIHB5Mwot IFtRdENvcmU6OnFvYmplY3RfY29ubmVjdF9ub3RpZnlfdGVzdF0KLSAgICAgbGludXgKLSAgICAg ZGFyd2luCi1kaWZmIC0tZ2l0IHNvdXJjZXMvcHlzaWRlMi90ZXN0cy9RdENvcmUvcWZsYWdzX3Rl c3QucHkgc291cmNlcy9weXNpZGUyL3Rlc3RzL1F0Q29yZS9xZmxhZ3NfdGVzdC5weQotaW5kZXgg MDhhN2M1NWIxLi5lMWU5ODljMWUgMTAwNjQ0Ci0tLS0gYS9zb3VyY2VzL3B5c2lkZTIvdGVzdHMv UXRDb3JlL3FmbGFnc190ZXN0LnB5Ci0rKysgYi9zb3VyY2VzL3B5c2lkZTIvdGVzdHMvUXRDb3Jl L3FmbGFnc190ZXN0LnB5Ci1AQCAtMzAsNiArMzAsNyBAQAotIAotICcnJ1Rlc3QgY2FzZXMgZm9y IFFGbGFncycnJwotIAotK2ltcG9ydCBvcGVyYXRvcgotIGltcG9ydCBvcwotIGltcG9ydCBzeXMK LSBpbXBvcnQgdW5pdHRlc3QKLUBAIC0xMTcsMTIgKzExOCwxMyBAQCBjbGFzcyBRRmxhZ3NPblFW YXJpYW50KHVuaXR0ZXN0LlRlc3RDYXNlKToKLSBjbGFzcyBRRmxhZ3NXcm9uZ1R5cGUodW5pdHRl c3QuVGVzdENhc2UpOgotICAgICBkZWYgdGVzdFdyb25nVHlwZShzZWxmKToKLSAgICAgICAgICcn J1dyb25nIHR5cGUgcGFzc2VkIHRvIFFGbGFncyBiaW5hcnkgb3BlcmF0b3JzJycnCi0rICAgICAg ICBmb3Igb3AgaW4gb3BlcmF0b3Iub3JfLCBvcGVyYXRvci5hbmRfLCBvcGVyYXRvci54b3I6Ci0r ICAgICAgICAgICAgZm9yIHggaW4gJzQzJywgJ2phYmJhJywgUU9iamVjdCwgb2JqZWN0OgotKyAg ICAgICAgICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIG9wLCBRdC5Ob0l0ZW1G bGFncywgeCkKLSsgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBv cCwgeCwgUXQuTm9JdGVtRmxhZ3MpCi0rICAgICAgICAjIG1ha2luZyBzdXJlIHRoaXMgYWN0dWFs bHkgZG9lcyBub3QgZmFpbCBhbGwgdGhlIHRpbWUKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo b3BlcmF0b3Iub3JfKFF0Lk5vSXRlbUZsYWdzLCA0MyksIDQzKQotIAotLSAgICAgICAgc2VsZi5h c3NlcnRSYWlzZXMoVHlwZUVycm9yLCBRdC5Ob0l0ZW1GbGFncyB8ICc0MycpCi0tICAgICAgICBz ZWxmLmFzc2VydFJhaXNlcyhUeXBlRXJyb3IsIFF0Lk5vSXRlbUZsYWdzICYgJzQzJykKLS0gICAg ICAgIHNlbGYuYXNzZXJ0UmFpc2VzKFR5cGVFcnJvciwgJ2phYmJhJyAmIFF0Lk5vSXRlbUZsYWdz KQotLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCAnaHV0JyAmIFF0Lk5vSXRl bUZsYWdzKQotLSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoVHlwZUVycm9yLCBRdC5Ob0l0ZW1G bGFncyAmIFFPYmplY3QoKSkKLSAKLSBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgICB1 bml0dGVzdC5tYWluKCkKLWRpZmYgLS1naXQgc291cmNlcy9zaGlib2tlbjIvZ2VuZXJhdG9yL3No aWJva2VuMi9jcHBnZW5lcmF0b3IuY3BwIHNvdXJjZXMvc2hpYm9rZW4yL2dlbmVyYXRvci9zaGli b2tlbjIvY3BwZ2VuZXJhdG9yLmNwcAotaW5kZXggZmY0NGRiOTU1Li44N2RkZDczYTUgMTAwNjQ0 Ci0tLS0gYS9zb3VyY2VzL3NoaWJva2VuMi9nZW5lcmF0b3Ivc2hpYm9rZW4yL2NwcGdlbmVyYXRv ci5jcHAKLSsrKyBiL3NvdXJjZXMvc2hpYm9rZW4yL2dlbmVyYXRvci9zaGlib2tlbjIvY3BwZ2Vu ZXJhdG9yLmNwcAotQEAgLTUyMzAsNiArNTIzMCw4IEBAIHZvaWQgQ3BwR2VuZXJhdG9yOjp3cml0 ZUZsYWdzQmluYXJ5T3BlcmF0b3IoUVRleHRTdHJlYW0gJnMsIGNvbnN0IEFic3RyYWN0TWV0YUVu Ci0gICAgIHMgPDwgSU5ERU5UIDw8ICJjcHBBcmcgPSBzdGF0aWNfY2FzdDwiIDw8IGZsYWdzRW50 cnktPm9yaWdpbmFsTmFtZSgpCi0gICAgICAgICA8PCAiPihpbnQoUHlJbnRfQXNMb25nKCIgPDwg UFlUSE9OX0FSRyA8PCAiKSkpO1xuIjsKLSAgICAgcyA8PCAiI2VuZGlmXG5cbiI7Ci0rICAgIHMg PDwgSU5ERU5UIDw8ICJpZiAoUHlFcnJfT2NjdXJyZWQoKSlcbiIgPDwgaW5kZW50KElOREVOVCkK LSsgICAgICAgIDw8IElOREVOVCA8PCAicmV0dXJuIG51bGxwdHI7XG4iIDw8IG91dGRlbnQoSU5E RU5UKTsKLSAgICAgcyA8PCBJTkRFTlQgPDwgImNwcFJlc3VsdCA9ICIgPDwgQ1BQX1NFTEZfVkFS IDw8ICIgIiA8PCBjcHBPcE5hbWUgPDwgIiBjcHBBcmc7XG4iOwotICAgICBzIDw8IElOREVOVCA8 PCAicmV0dXJuICI7Ci0gICAgIHdyaXRlVG9QeXRob25Db252ZXJzaW9uKHMsIGZsYWdzVHlwZSwg bnVsbHB0ciwgUUxhdGluMVN0cmluZygiY3BwUmVzdWx0IikpOwotLS0gCi0yLjI5LjIKLQotRml4 IHB5dGhvbiB3YXJuaW5nIGFib3V0ICdpcyBub3QnIHVzYWdlLgotVGhpcyBkaWZmIGlzIERJU1RJ TkNUIGZyb20gdGhlIHByZXZpb3VzIHBhdGNoCi0KLS0tLSBhL3NvdXJjZXMvcHlzaWRlMi90ZXN0 cy9RdFdpZGdldHMvcXdpZGdldF90ZXN0LnB5CTIwMjAtMTEtMTEgMTM6NTE6MzAuMDAwMDAwMDAw ICswMTAwCi0rKysgYi9zb3VyY2VzL3B5c2lkZTIvdGVzdHMvUXRXaWRnZXRzL3F3aWRnZXRfdGVz dC5weQkyMDIwLTExLTI0IDE0OjI4OjA2LjEwMzA5MzY0OSArMDEwMAotQEAgLTczLDcgKzczLDcg QEAKLSAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShub3Qgd2lkZ2V0LmlzVmlzaWJsZSgpKQotICAg ICAgICAgd2lkZ2V0LnNldFZpc2libGUoVHJ1ZSkKLSAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSh3 aWRnZXQuaXNWaXNpYmxlKCkpCi0tICAgICAgICBzZWxmLmFzc2VydFRydWUod2lkZ2V0Lndpbklk KCkgaXMgbm90IDApCi0rICAgICAgICBzZWxmLmFzc2VydFRydWUod2lkZ2V0LndpbklkKCkgIT0g MCkKLSAgICAgICAgICMgc2tpcCB0aGlzIHRlc3Qgb24gbWFjT1Mgc2luY2Ugbm8gbmF0aXZlIGV2 ZW50cyBhcmUgcmVjZWl2ZWQKLSAgICAgICAgIGlmIHN5cy5wbGF0Zm9ybSA9PSAnZGFyd2luJzoK LSAgICAgICAgICAgICByZXR1cm4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUy L3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLXB5c2lkZTIvdGVtcGxhdGUKaW5kZXggZWRhZDg1 YTUxMTJmLi45NzFiNzdmZTFlZjggMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUy L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXNpZGUyL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy1weXNpZGUyJwogcGtnbmFtZT1w eXRob24zLXB5c2lkZTIKLXZlcnNpb249NS4xNS4yCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTUuMTUu NQorcmV2aXNpb249MQogX3BrZ25hbWU9InB5c2lkZS1zZXR1cC1vcGVuc291cmNlLXNyYy0ke3Zl cnNpb259Igogd3Jrc3JjPSIke19wa2duYW1lLyU1LjE0LjIuMS81LjE0LjJ9IgogYnVpbGRfd3Jr c3JjPSJzb3VyY2VzL3B5c2lkZTIiCkBAIC0yNCw3ICsyNCw3IEBAIG1haW50YWluZXI9InlvcGl0 byA8cGllcnJlLmJvdXJnaW5AZnJlZS5mcj4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vci1sYXRlciIK IGhvbWVwYWdlPSJodHRwczovL3dpa2kucXQuaW8vUXRfZm9yX1B5dGhvbiIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9RdEZvclB5dGhvbi9weXNp ZGUyL1B5U2lkZTItJHt2ZXJzaW9ufS1zcmMvJHtfcGtnbmFtZX0udGFyLnh6IgotY2hlY2tzdW09 YjMwNjUwNGIwYjgwMzcwNzlhOGVhYjc3MmVlNzc0YjllODc3YTJkODRiYWIyZGJlZmJlNGZhNmY4 Mzk0MTQxOAorY2hlY2tzdW09MzkyMGE0ZmIzNTMzMDAyNjBjOWJjNDZmZjcwZjFmYjk3NWM1ZTdl ZmEyMmU5ZDUxMjIyNTg4OTI4Y2UxOWIzMwogCiBidWlsZF9vcHRpb25zPSJ3ZWJlbmdpbmUiCiBk ZXNjX29wdGlvbl93ZWJlbmdpbmU9IkJ1aWxkIFF0NSBXZWJFbmdpbmUgYmluZGluZ3MiCgpGcm9t IGM2YTYyZDM5NjQ3OTgyNWViMTg1YzM4NDRjZjc0NzVkNDIwNzQyNzggTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IHlvcGl0byA8cGllcnJlLmJvdXJnaW5AZnJlZS5mcj4KRGF0ZTogTW9u LCAyMiBBdWcgMjAyMiAxMzo0MjozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMy83XSBweXNpZGUy LXRvb2xzOiB1cGRhdGUgdG8gNS4xNS41CgotLS0KIHNyY3BrZ3MvcHlzaWRlMi10b29scy90ZW1w bGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5c2lkZTItdG9vbHMvdGVtcGxhdGUgYi9zcmNw a2dzL3B5c2lkZTItdG9vbHMvdGVtcGxhdGUKaW5kZXggMzVkMzUzYWJhOTVkLi4wYWEyZDhlYTll ODMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHlzaWRlMi10b29scy90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3B5c2lkZTItdG9vbHMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdweXNpZGUyLXRvb2xzJwogcGtnbmFtZT1weXNpZGUyLXRvb2xzCi12ZXJzaW9uPTUu MTUuMgordmVyc2lvbj01LjE1LjUKIHJldmlzaW9uPTEKIF9wa2duYW1lPSJweXNpZGUtc2V0dXAt b3BlbnNvdXJjZS1zcmMtJHt2ZXJzaW9ufSIKIHdya3NyYz0iJHtfcGtnbmFtZS8lNS4xNC4yLjEv NS4xNC4yfSIKQEAgLTE1LDcgKzE1LDcgQEAgbWFpbnRhaW5lcj0ieW9waXRvIDxwaWVycmUuYm91 cmdpbkBmcmVlLmZyPiIKIGxpY2Vuc2U9IkxHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0 dHBzOi8vd2lraS5xdC5pby9RdF9mb3JfUHl0aG9uL1NoaWJva2VuIgogZGlzdGZpbGVzPSJodHRw czovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL1F0Rm9yUHl0aG9uL3B5c2lkZTIv UHlTaWRlMi0ke3ZlcnNpb259LXNyYy8ke19wa2duYW1lfS50YXIueHoiCi1jaGVja3N1bT1iMzA2 NTA0YjBiODAzNzA3OWE4ZWFiNzcyZWU3NzRiOWU4NzdhMmQ4NGJhYjJkYmVmYmU0ZmE2ZjgzOTQx NDE4CitjaGVja3N1bT0zOTIwYTRmYjM1MzMwMDI2MGM5YmM0NmZmNzBmMWZiOTc1YzVlN2VmYTIy ZTlkNTEyMjI1ODg5MjhjZTE5YjMzCiBweXRob25fdmVyc2lvbj0zCiAKIGlmIFsgJHtDUk9TU19C VUlMRH0gXTsgdGhlbgoKRnJvbSAzM2Q1ZWZkY2FiZjg2ZTBlMDI4YTY5Y2UzYjJjNmRjOGU1YzIx ZGZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiB5b3BpdG8gPHBpZXJyZS5ib3VyZ2lu QGZyZWUuZnI+CkRhdGU6IE1vbiwgMjIgQXVnIDIwMjIgMTM6NDI6MzcgKzAyMDAKU3ViamVjdDog W1BBVENIIDQvN10gcHl0aG9uMy1RdFB5OiByZWJ1aWxkIHdpdGggcHl0aG9uMy1weXNpZGUyIDUu MTUuNQoKLS0tCiBzcmNwa2dzL3B5dGhvbjMtUXRQeS90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcHl0aG9uMy1RdFB5L3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLVF0UHkvdGVtcGxhdGUK aW5kZXggYjlkZGVmMWFmMTkyLi45MmMwYjUwOWRlYzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0 aG9uMy1RdFB5L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1RdFB5L3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy1RdFB5JwogcGtnbmFt ZT1weXRob24zLVF0UHkKIHZlcnNpb249MS45LjAKLXJldmlzaW9uPTMKK3JldmlzaW9uPTQKIHdy a3NyYz1RdFB5LSR7dmVyc2lvbn0KIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCiBob3N0bWFr ZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyIKCkZyb20gZGRmMTQ3NjVkZTgyODk4OGFlMzAw NmRmZTVkMWE1NmZkNGQ4OTA3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogeW9waXRv IDxwaWVycmUuYm91cmdpbkBmcmVlLmZyPgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEzOjQyOjM4 ICswMjAwClN1YmplY3Q6IFtQQVRDSCA1LzddIGxpYnNwbmF2OiB1cGRhdGUgdG8gMS4wLCBmaXgg bGljZW5zaW5nCgotLS0KIC4uLi9wYXRjaGVzL09PLk1ha2VmaWxlLmZpeC1saWJsaW5rcy5wYXRj aCAgICAgICB8IDE2IC0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvbGlic3BuYXYvdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdl ZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9saWJzcG5hdi9wYXRjaGVzL09PLk1ha2VmaWxlLmZpeC1saWJsaW5rcy5wYXRjaAoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlic3BuYXYvcGF0Y2hlcy9PTy5NYWtlZmlsZS5maXgtbGli bGlua3MucGF0Y2ggYi9zcmNwa2dzL2xpYnNwbmF2L3BhdGNoZXMvT08uTWFrZWZpbGUuZml4LWxp YmxpbmtzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTBhYWU1MWZlMDIu LjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2xpYnNwbmF2L3BhdGNoZXMvT08uTWFrZWZpbGUu Zml4LWxpYmxpbmtzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotRml4IGxp bmsgZ2VuZXJhdGlvbiBvZiAuc28gZmlsZXMKLVNvdXJjZTogaHR0cHM6Ly9naXQuYXJjaGxpbnV4 Lm9yZy9zdm50b2dpdC9wYWNrYWdlcy5naXQvcGxhaW4vdHJ1bmsvTWFrZWZpbGUucGF0Y2g/aD1w YWNrYWdlcy9saWJzcG5hdgotCi0tLS0gYS9NYWtlZmlsZS5pbn4JMjAxNS0wMS0xMCAwOTowODoz NS4wNDM0MTc5NTUgKzAwMDAKLSsrKyBiL01ha2VmaWxlLmluCTIwMTUtMDEtMTAgMDk6MDk6MDAu ODMzMzE1MjY5ICswMDAwCi1AQCAtNTQsOCArNTQsOCBAQAotIAljcCAkKGxpYl9zbykgJChERVNU RElSKSQoUFJFRklYKS8kKGxpYmRpcikvJChsaWJfc28pCi0gCVsgLW4gIiQoc29uYW1lKSIgXSAm JiBcCi0gCQlybSAtZiAkKERFU1RESVIpJChQUkVGSVgpLyQobGliZGlyKS8kKHNvbmFtZSkgJChE RVNURElSKSQoUFJFRklYKS8kKGxpYmRpcikvJChkZXZsaW5rKSAmJiBcCi0tCQlsbiAtcyAkKERF U1RESVIpJChQUkVGSVgpLyQobGliZGlyKS8kKGxpYl9zbykgJChERVNURElSKSQoUFJFRklYKS8k KGxpYmRpcikvJChzb25hbWUpICYmIFwKLS0JCWxuIC1zICQoREVTVERJUikkKFBSRUZJWCkvJChs aWJkaXIpLyQoc29uYW1lKSAkKERFU1RESVIpJChQUkVGSVgpLyQobGliZGlyKS8kKGRldmxpbmsp IHx8IFwKLSsJCWxuIC1zICQobGliX3NvKSAkKERFU1RESVIpJChQUkVGSVgpLyQobGliZGlyKS8k KHNvbmFtZSkgJiYgXAotKwkJbG4gLXMgJChzb25hbWUpICQoREVTVERJUikkKFBSRUZJWCkvJChs aWJkaXIpLyQoZGV2bGluaykgfHwgXAotIAkJdHJ1ZQotIAlmb3IgaCBpbiAkKGhkcik7IGRvIGNw IC1wICQoc3JjZGlyKS8kJGggJChERVNURElSKSQoUFJFRklYKS9pbmNsdWRlLzsgZG9uZQotIApk aWZmIC0tZ2l0IGEvc3JjcGtncy9saWJzcG5hdi90ZW1wbGF0ZSBiL3NyY3BrZ3MvbGlic3BuYXYv dGVtcGxhdGUKaW5kZXggZGYzNTA3MmIyNDA0Li4yZTFiY2NkZjI4NWIgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvbGlic3BuYXYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9saWJzcG5hdi90ZW1wbGF0ZQpA QCAtMSwyMSArMSwyNCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbGlic3BuYXYnCiBwa2duYW1l PWxpYnNwbmF2Ci12ZXJzaW9uPTAuMi4zCit2ZXJzaW9uPTEuMAogcmV2aXNpb249MQogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJsZS1vcHQiCiBtYWtl ZGVwZW5kcz0ibGliWDExLWRldmVsIgogc2hvcnRfZGVzYz0iT3BlbiBzb3VyY2UgYWx0ZXJuYXRp dmUgdG8gM0RDb25uZXh0aW9uIGRyaXZlcnMiCiBtYWludGFpbmVyPSJ5b3BpdG8gPHBpZXJyZS5i b3VyZ2luQGZyZWUuZnI+IgotbGljZW5zZT0iR1BMLTMiCitsaWNlbnNlPSJCU0QtMy1DbGF1c2Ui CiBob21lcGFnZT0iaHR0cDovL3NwYWNlbmF2LnNvdXJjZWZvcmdlLm5ldC8iCiBkaXN0ZmlsZXM9 IiR7U09VUkNFRk9SR0VfU0lURX0vc3BhY2VuYXYvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci5n eiIKLWNoZWNrc3VtPTdhZTRkN2JiN2Y2YTVkZGEyOGI0ODc4OTFlMDFhY2NjODU2MzExNDQwZjU4 MjI5OTc2MGRhY2U2ZWU1ZjFmOTMKK2NoZWNrc3VtPTg4NDliN2Y3ODI2ZDc1MGY2OTU2Y2Y4ZjRm NTM5MzdmMjM1OWFiNmRhOTdkNmM4MzRjNzFkNWY3NzEyMTJlN2MKIAogZG9fYnVpbGQoKSB7CiAJ bWFrZSBDQz0iJHtDQ30iIEFSPSIke0FSfSIKIH0KIAorcG9zdF9pbnN0YWxsKCkgeworCXZsaWNl bnNlIExJQ0VOU0UKK30KIGxpYnNwbmF2LWRldmVsX3BhY2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9 IiAtIGRldmVsb3BtZW50IGZpbGVzIgogCWRlcGVuZHM9IiR7bWFrZWRlcGVuZHN9ICR7c291cmNl cGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKQEAgLTIzLDUgKzI2LDkgQEAgbGlic3BuYXYt ZGV2ZWxfcGFja2FnZSgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgInVzci9saWIv Ki5hIgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgorcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNl IExJQ0VOU0UKK30KKwkJdm1vdmUgdXNyL3NoYXJlL3BrZ2NvbmZpZwogCX0KIH0KCkZyb20gNzEz NDJhYWQwMzNiNDA2OTJjOTlmZmM2M2I3NDllNmVhZWU1ZGE1ZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogeW9waXRvIDxwaWVycmUuYm91cmdpbkBmcmVlLmZyPgpEYXRlOiBXZWQsIDI0 IEF1ZyAyMDIyIDE0OjQzOjM4ICswMjAwClN1YmplY3Q6IFtQQVRDSCA2LzddIHB5dGhvbjMtcGl2 eTogZml4IHB5dGhvbiBjYXN0CgpwcmV2ZW50IEZyZWVDQUQgdG8gc2VnZmF1bHRzIG9uIHVzaW5n IGNvaW4vcGl2eQotLS0KIC4uLi9wYXRjaGVzL2ZpeC1weXRob24tY2FzdC5wYXRjaCAgICAgICAg ICAgICB8IDUxICsrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvcHl0aG9uMy1waXZ5L3RlbXBs YXRlICAgICAgICAgICAgICAgICB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMt cGl2eS9wYXRjaGVzL2ZpeC1weXRob24tY2FzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cHl0aG9uMy1waXZ5L3BhdGNoZXMvZml4LXB5dGhvbi1jYXN0LnBhdGNoIGIvc3JjcGtncy9weXRo b24zLXBpdnkvcGF0Y2hlcy9maXgtcHl0aG9uLWNhc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lYjUxMDg4ODY5OTAKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3B5dGhvbjMtcGl2eS9wYXRjaGVzL2ZpeC1weXRob24tY2FzdC5wYXRjaApAQCAtMCww ICsxLDUxIEBACitzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9jb2luM2QvcGl2eS9wdWxsLzk5 IChub3QgbWVyZ2VkIHlldCkKKworRnJvbSBjMTU1ODQxYjljZGZiNDM0Njk2MjYzYmM2OGVhY2E3 N2RhM2FiY2QxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbWFyaW9hbGV4aXMgPG1h cmlvLnBhc3NhZ2xpYUBnbWFpbC5jb20+CitEYXRlOiBUdWUsIDIzIEF1ZyAyMDIyIDE3OjQ3OjQw IC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEZpeCB1bmRlZmluZWQgYmVoYXZpb3IgaW4gY29pbi5j YXN0IGFuZCBzb3F0LmNhc3QgZnVuY3Rpb25zCisKKy0tLQorIGludGVyZmFjZXMvcGl2eV9jb21t b25fdHlwZW1hcHMuaSB8IDQgKystLQorIGludGVyZmFjZXMvc29xdC5pICAgICAgICAgICAgICAg ICB8IDMgKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS9pbnRlcmZhY2VzL3BpdnlfY29tbW9uX3R5cGVtYXBzLmkgYi9p bnRlcmZhY2VzL3BpdnlfY29tbW9uX3R5cGVtYXBzLmkKK2luZGV4IDI3ZTI2YTYuLjQ5MzNiODUg MTAwNjQ0CistLS0gYS9pbnRlcmZhY2VzL3BpdnlfY29tbW9uX3R5cGVtYXBzLmkKKysrKyBiL2lu dGVyZmFjZXMvcGl2eV9jb21tb25fdHlwZW1hcHMuaQorQEAgLTI5LDcgKzI5LDcgQEAgdHlwZWRl ZiBpbnQgUHlfc3NpemVfdDsKKyAjZW5kaWYKKyAKKyBQeU9iamVjdCAqCistY2FzdF9pbnRlcm5h bChQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0ICogb2JqLCBjb25zdCBjaGFyICogdHlwZV9uYW1l LCBpbnQgdHlwZV9sZW4pCisrY2FzdF9pbnRlcm5hbChQeU9iamVjdCAqIHNlbGYsIFB5T2JqZWN0 ICogb2JqLCBjb25zdCBjaGFyICogdHlwZV9uYW1lLCBQeV9zc2l6ZV90IHR5cGVfbGVuKQorIHsK KyAgIHN3aWdfdHlwZV9pbmZvICogc3dpZ190eXBlID0gMDsKKyAgIHZvaWQgKiBjYXN0X29iaiA9 IDA7CitAQCAtNzYsNyArNzYsNyBAQCBTV0lHRVhQT1JUIFB5T2JqZWN0ICoKKyBjYXN0KFB5T2Jq ZWN0ICogc2VsZiwgUHlPYmplY3QgKiBhcmdzKQorIHsKKyAgIGNoYXIgKiB0eXBlX25hbWU7Cist ICBpbnQgdHlwZV9sZW47CisrICBQeV9zc2l6ZV90IHR5cGVfbGVuOworICAgUHlPYmplY3QgKiBv YmogPSAwOworIAorICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxlKGFyZ3MsICJPcyM6Y2FzdCIsICZv YmosICZ0eXBlX25hbWUsICZ0eXBlX2xlbikpIHsKK2RpZmYgLS1naXQgYS9pbnRlcmZhY2VzL3Nv cXQuaSBiL2ludGVyZmFjZXMvc29xdC5pCitpbmRleCAxM2ZiMjI4Li41N2Q2OTQyIDEwMDY0NAor LS0tIGEvaW50ZXJmYWNlcy9zb3F0LmkKKysrKyBiL2ludGVyZmFjZXMvc29xdC5pCitAQCAtMjMs NiArMjMsOSBAQCBvdGhlcndpc2UgaXQgd2lsbCBmYWxsIGJhY2sgdG8gcmVndWxhciBTV0lHIHN0 cnVjdHVyZXMuIgorIAorICVtb2R1bGUocGFja2FnZT0icGl2eS5ndWkiLCBkb2NzdHJpbmc9U09R VF9NT0RVTEVfRE9DU1RSSU5HKSBzb3F0CisgCisrJWJlZ2luICV7CisrI2RlZmluZSBQWV9TU0la RV9UX0NMRUFOCisrJX0KKyAKKyAleworIC8qCistLSAKKzIuMzcuMgorCmRpZmYgLS1naXQgYS9z cmNwa2dzL3B5dGhvbjMtcGl2eS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1waXZ5L3RlbXBs YXRlCmluZGV4IGE0NDJiNmE5NGM4Ny4uNDY2ZmE0MDQzNTk0IDEwMDY0NAotLS0gYS9zcmNwa2dz L3B5dGhvbjMtcGl2eS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3B5dGhvbjMtcGl2eS90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtcGl2eScKIHBr Z25hbWU9cHl0aG9uMy1waXZ5CiB2ZXJzaW9uPTAuNi43Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiB3cmtzcmM9InBpdnktJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRl cGVuZHM9InB5dGhvbjMtZGV2ZWwgc3dpZyIKCkZyb20gMGMzMzQ4ZDU3MzMxMGYwZGVkZDNlNzU1 YmIwOTZlZDRlMjY3ZjY0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogeW9waXRvIDxw aWVycmUuYm91cmdpbkBmcmVlLmZyPgpEYXRlOiBNb24sIDIyIEF1ZyAyMDIyIDEzOjQyOjM5ICsw MjAwClN1YmplY3Q6IFtQQVRDSCA3LzddIGZyZWVjYWQ6IHVwZGF0ZSB0byAwLjIwLjEKCi0tLQog c3JjcGtncy9mcmVlY2FkL3BhdGNoZXMvMDAyLWV4ZWNpbmZvLnBhdGNoICAgIHwgIDMwIC0KIC4u Li9wYXRjaGVzLzAxMC1zYWxvbWVzbWVzaC1leGVjaW5mby5wYXRjaCAgICB8ICAzMCAtCiBzcmNw a2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTAtdnRrOS5wYXRjaCAgICAgICAgfCA3OTYgLS0tLS0tLS0t LS0tLS0tLS0tCiBzcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTItY21ha2UtdnRrOS5wYXRjaCAg fCAgNTMgLS0KIC4uLi9wYXRjaGVzLzE1My1saW1pdHMuaC1mb3ItbXVzbC5wYXRjaCAgICAgICB8 ICAxMyArCiAuLi4vMTU0LXJldmVydC1ndWktdG1wLXJlZGlyZWN0LXN0ZGVyci5wYXRjaCAgfCAg NzMgKysKIHNyY3BrZ3MvZnJlZWNhZC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICB8ICAg OSArLQogNyBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA5MTQgZGVsZXRpb25zKC0p CiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mcmVlY2FkL3BhdGNoZXMvMDAyLWV4ZWNpbmZv LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mcmVlY2FkL3BhdGNoZXMvMDEwLXNh bG9tZXNtZXNoLWV4ZWNpbmZvLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mcmVl Y2FkL3BhdGNoZXMvMTUwLXZ0azkucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Zy ZWVjYWQvcGF0Y2hlcy8xNTItY21ha2UtdnRrOS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzE1My1saW1pdHMuaC1mb3ItbXVzbC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzE1NC1yZXZlcnQtZ3VpLXRtcC1y ZWRpcmVjdC1zdGRlcnIucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hl cy8wMDItZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8wMDItZXhlY2lu Zm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjZGNhNzdhNzJhNC4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzAwMi1leGVjaW5mby5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLS0tLSBhL3NyYy9BcHAvQXBwbGljYXRp b24uY3BwCTIwMjAtMDEtMjIgMjM6Mjc6NDIuNzA5MjczMDg3ICswMTAwCi0rKysgYi9zcmMvQXBw L0FwcGxpY2F0aW9uLmNwcAkyMDIwLTAxLTIyIDIzOjUwOjUzLjkxNTA3NTk1NSArMDEwMAotQEAg LTE0ODUsNyArMTQ4NSw5IEBACi0gI2VuZGlmDQotIA0KLSAjaWYgZGVmaW5lZChGQ19PU19MSU5V WCkNCi0rI2lmZGVmIF9fR0xJQkNfXw0KLSAjaW5jbHVkZSA8ZXhlY2luZm8uaD4NCi0rI2VuZGlm DQotICNpbmNsdWRlIDxkbGZjbi5oPg0KLSAjaW5jbHVkZSA8Y3h4YWJpLmg+DQotIA0KLUBAIC0x NDk3LDYgKzE0OTksNyBAQAotIC8vIFRoaXMgZnVuY3Rpb24gcHJvZHVjZXMgYSBzdGFjayBiYWNr dHJhY2Ugd2l0aCBkZW1hbmdsZWQgZnVuY3Rpb24gJiBtZXRob2QgbmFtZXMuDQotIHZvaWQgcHJp bnRCYWNrdHJhY2Uoc2l6ZV90IHNraXA9MCkNCi0gew0KLSsjaWZkZWYgX19HTElCQ19fDQotICAg ICB2b2lkICpjYWxsc3RhY2tbMTI4XTsNCi0gICAgIHNpemVfdCBuTWF4RnJhbWVzID0gc2l6ZW9m KGNhbGxzdGFjaykgLyBzaXplb2YoY2FsbHN0YWNrWzBdKTsNCi0gICAgIHNpemVfdCBuRnJhbWVz ID0gYmFja3RyYWNlKGNhbGxzdGFjaywgbk1heEZyYW1lcyk7DQotQEAgLTE1MjcsNiArMTUzMCw5 IEBACi0gICAgIH0NCi0gDQotICAgICBmcmVlKHN5bWJvbHMpOw0KLSsjZWxzZQ0KLSsgICAgc3Rk OjpjZXJyIDw8ICJzb3JyeSwgbm8gYmFja3RyYWNlIG9uIG11c2wgbGliYyI7DQotKyNlbmRpZg0K LSB9DQotICNlbmRpZg0KLSANCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8w MTAtc2Fsb21lc21lc2gtZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8w MTAtc2Fsb21lc21lc2gtZXhlY2luZm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGNjNmJkYzlmZjQ4NS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvZnJlZWNhZC9wYXRj aGVzLzAxMC1zYWxvbWVzbWVzaC1leGVjaW5mby5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMw ICswLDAgQEAKLS0tLSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvRHJpdmVyU1RML0Jh c2ljc19VdGlscy5jcHAKLSsrKyBiL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvRHJpdmVy U1RML0Jhc2ljc19VdGlscy5jcHAKLUBAIC0yOSw3ICsyOSw5IEBACi0gI2lmbmRlZiBXSU4zMgot ICNpbmNsdWRlIDx1bmlzdGQuaD4KLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSsjaWZkZWYgX19H TElCQ19fCi0gI2luY2x1ZGUgPGV4ZWNpbmZvLmg+Ci0rI2VuZGlmCi0gI2VuZGlmCi0gCi0gCi1A QCAtMTA5LDYgKzExMSw3IEBACi0gI2lmbmRlZiBXSU4zMgotICAgdm9pZCBwcmludF90cmFjZWJh Y2soKQotICAgewotKyNpZmRlZiBfX0dMSUJDX18KLSAgICAgdm9pZCAqYXJyYXlbNTBdOwotICAg ICBzaXplX3Qgc2l6ZTsKLSAgICAgY2hhciAqKnN0cmluZ3M7Ci1AQCAtMTIzLDYgKzEyNiw5IEBA Ci0gICAgICAgfQotIAotICAgICBmcmVlIChzdHJpbmdzKTsKLSsjZWxzZSAgICAgCi0rICAgc3Rk OjpjZXJyIDw8ICJzb3JyeSwgbm8gYmFja3RyYWNlIG9uIG11c2wgbGliYyI7Ci0rI2VuZGlmCi0g ICB9Ci0gI2Vsc2UKLSAgICNpZiAoX01TQ19WRVIgPj0gMTQwMCkgLy8gVmlzdWFsIFN0dWRpbyAy MDA1CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTAtdnRrOS5wYXRjaCBi L3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzE1MC12dGs5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA5MjY3M2U3YzliOWYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Zy ZWVjYWQvcGF0Y2hlcy8xNTAtdnRrOS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDc5NiArMCww IEBACi1UYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS93d21heWVyL0ZyZWVDQUQvY29tbWl0 L2JiOWJjYmQ1MWRmN2MzY2I3NmM1ODIzMDM4ZTRlYTBmN2UyNWE5ZmYKLWJ1dCByZW1vdmVkIHBh dGNoIG9uIGZpbGUgc3JjL01vZC9GZW0vR3VpL1ZpZXdQcm92aWRlckZlbVBvc3RPYmplY3QuY3Bw IDogYWxyZWFkeSBhcHBsaWVkICgyMDIxLTAxLTIwKQotCi1kaWZmIC0tZ2l0IHNyYy8zcmRQYXJ0 eS9zYWxvbWVzbWVzaC9pbmMvU01EU19NZXNoRWxlbWVudC5oeHggYi9zcmMvM3JkUGFydHkvc2Fs b21lc21lc2gvaW5jL1NNRFNfTWVzaEVsZW1lbnQuaHh4Ci1pbmRleCAxNGE2ZDlhNzYzZi4uMGU5 YjllNmM5MDUgMTAwNjQ0Ci0tLS0gYS9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvaW5jL1NNRFNf TWVzaEVsZW1lbnQuaHh4Ci0rKysgYi9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvaW5jL1NNRFNf TWVzaEVsZW1lbnQuaHh4Ci1AQCAtNDAsMTEgKzQwLDE2IEBACi0gCi0gI2luY2x1ZGUgPHZ0a1R5 cGUuaD4KLSAjaW5jbHVkZSA8dnRrQ2VsbFR5cGUuaD4KLSsjaW5jbHVkZSA8dnRrQ2VsbEFycmF5 Lmg+Ci0gCi0gLy90eXBlZGVmIHVuc2lnbmVkIHNob3J0IFVTaG9ydFR5cGU7Ci0gdHlwZWRlZiBz aG9ydCBTaG9ydFR5cGU7Ci0gdHlwZWRlZiBpbnQgICBMb25nVHlwZTsKLS0KLSsjaWZkZWYgVlRL X0NFTExfQVJSQVlfVjIKLSt0eXBlZGVmIGNvbnN0IHZ0a0lkVHlwZSogdnRrSWRUeXBlUHRyOwot KyNlbHNlCi0rdHlwZWRlZiB2dGtJZFR5cGUqIHZ0a0lkVHlwZVB0cjsKLSsjZW5kaWYKLSBjbGFz cyBTTURTX01lc2hOb2RlOwotIGNsYXNzIFNNRFNfTWVzaEVkZ2U7Ci0gY2xhc3MgU01EU19NZXNo RmFjZTsKLUBAIC0xOTIsNyArMTk3LDcgQEAgcHJvdGVjdGVkOgotICAgLy8hIEVsZW1lbnQgaW5k ZXggaW4gdmVjdG9yIFNNRFNfTWVzaDo6bXlOb2RlcyBvciBTTURTX01lc2g6Om15Q2VsbHMKLSAg IGludCBteUlEOwotICAgLy8hIGluZGV4IGluIHZ0a1Vuc3RydWN0dXJlZEdyaWQKLS0gIGludCBt eVZ0a0lEOwotKyAgdnRrSWRUeXBlIG15VnRrSUQ7Ci0gICAvLyEgU01EU19NZXNoIGlkZW50aWZp Y2F0aW9uIGluIFNNRVNICi0gICBTaG9ydFR5cGUgbXlNZXNoSWQ7Ci0gICAvLyEgU3ViU2hhcGUg YW5kIFN1Yk1lc2ggaWRlbnRpZmljYXRpb24gaW4gU01FU0hEUwotZGlmZiAtLWdpdCBzcmMvM3Jk UGFydHkvc2Fsb21lc21lc2gvaW5jL1NNRFNfVW5zdHJ1Y3R1cmVkR3JpZC5oeHggYi9zcmMvM3Jk UGFydHkvc2Fsb21lc21lc2gvaW5jL1NNRFNfVW5zdHJ1Y3R1cmVkR3JpZC5oeHgKLWluZGV4IDll NGEyM2VkZGZiLi43NzQ2NTgxNDU0MSAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVz bWVzaC9pbmMvU01EU19VbnN0cnVjdHVyZWRHcmlkLmh4eAotKysrIGIvc3JjLzNyZFBhcnR5L3Nh bG9tZXNtZXNoL2luYy9TTURTX1Vuc3RydWN0dXJlZEdyaWQuaHh4Ci1AQCAtOTUsNyArOTUsMTEg QEAgcHVibGljOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6 bWFwPGludCwgc3RkOjptYXA8bG9uZyxpbnQ+ID4mIG5vZGVRdWFkRG9tYWlucyk7Ci0gICB2dGtD ZWxsTGlua3MqIEdldExpbmtzKCkKLSAgIHsKLSsjaWZkZWYgVlRLX0NFTExfQVJSQVlfVjIKLSsg ICAgcmV0dXJuIHN0YXRpY19jYXN0PHZ0a0NlbGxMaW5rcyo+KEdldENlbGxMaW5rcygpKTsKLSsj ZWxzZQotICAgICByZXR1cm4gTGlua3M7Ci0rI2VuZGlmCi0gICB9Ci0gICBTTURTX0Rvd253YXJk KiBnZXREb3duQXJyYXkodW5zaWduZWQgY2hhciB2dGtUeXBlKQotICAgewotZGlmZiAtLWdpdCBz cmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19CYWxsRWxlbWVudC5jcHAgYi9z cmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19CYWxsRWxlbWVudC5jcHAKLWlu ZGV4IDI5OTA5M2M5NGY2Li4yNjgwYzIxNzMwNSAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQYXJ0eS9z YWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX0JhbGxFbGVtZW50LmNwcAotKysrIGIvc3JjLzNyZFBh cnR5L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfQmFsbEVsZW1lbnQuY3BwCi1AQCAtNjcsMTAg KzY3LDE2IEBAIHZvaWQgU01EU19CYWxsRWxlbWVudDo6U2V0RGlhbWV0ZXIoZG91YmxlIGRpYW1l dGVyKQotIGJvb2wgU01EU19CYWxsRWxlbWVudDo6Q2hhbmdlTm9kZSAoY29uc3QgU01EU19NZXNo Tm9kZSAqIG5vZGUpCi0gewotICAgdnRrVW5zdHJ1Y3R1cmVkR3JpZCogZ3JpZCA9IFNNRFNfTWVz aDo6X21lc2hMaXN0W215TWVzaElkXS0+Z2V0R3JpZCgpOwotKyNpZmRlZiBWVEtfQ0VMTF9BUlJB WV9WMgotKyAgdnRrTmV3PHZ0a0lkTGlzdD4gY2VsbFBvaW50czsKLSsgIGdyaWQtPkdldENlbGxQ b2ludHMobXlWdGtJRCwgY2VsbFBvaW50cy5HZXRQb2ludGVyKCkpOwotKyAgY2VsbFBvaW50cy0+ U2V0SWQoMCwgbm9kZS0+Z2V0VnRrSWQoKSk7Ci0rI2Vsc2UKLSAgIHZ0a0lkVHlwZSBucHRzID0g MDsKLSAgIHZ0a0lkVHlwZSogcHRzID0gMDsKLSAgIGdyaWQtPkdldENlbGxQb2ludHMobXlWdGtJ RCwgbnB0cywgcHRzKTsKLSAgIHB0c1swXSA9IG5vZGUtPmdldFZ0a0lkKCk7Ci0rI2VuZGlmCi0g ICBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPnNldE15TW9kaWZpZWQoKTsKLSAgIHJl dHVybiB0cnVlOwotIH0KLUBAIC04Myw3ICs4OSw4IEBAIHZvaWQgU01EU19CYWxsRWxlbWVudDo6 UHJpbnQgKHN0ZDo6b3N0cmVhbSAmIE9TKSBjb25zdAotIGNvbnN0IFNNRFNfTWVzaE5vZGUqIFNN RFNfQmFsbEVsZW1lbnQ6OkdldE5vZGUgKGNvbnN0IGludCBpbmQpIGNvbnN0Ci0gewotICAgdnRr VW5zdHJ1Y3R1cmVkR3JpZCogZ3JpZCA9IFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXS0+ Z2V0R3JpZCgpOwotLSAgdnRrSWRUeXBlIG5wdHMsICpwdHM7Ci0rICB2dGtJZFR5cGUgbnB0czsK LSsgIHZ0a0lkVHlwZVB0ciBwdHM7Ci0gICBncmlkLT5HZXRDZWxsUG9pbnRzKCBteVZ0a0lELCBu cHRzLCBwdHMgKTsKLSAgIHJldHVybiBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPkZp bmROb2RlVnRrKCBwdHNbIDAgXSk7Ci0gfQotZGlmZiAtLWdpdCBzcmMvM3JkUGFydHkvc2Fsb21l c21lc2gvc3JjL1NNRFMvU01EU19Eb3dud2FyZC5jcHAgYi9zcmMvM3JkUGFydHkvc2Fsb21lc21l c2gvc3JjL1NNRFMvU01EU19Eb3dud2FyZC5jcHAKLWluZGV4IGQ2MDQ5YzBiZDE5Li5hNDFmNWMx OGU3OCAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURT X0Rvd253YXJkLmNwcAotKysrIGIvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NN RFNfRG93bndhcmQuY3BwCi1AQCAtMzAzLDcgKzMwMyw3IEBAIGludCBTTURTX0Rvd24xRDo6Z2V0 Tm9kZVNldChpbnQgY2VsbElkLCBpbnQqIG5vZGVTZXQpCi0gdm9pZCBTTURTX0Rvd24xRDo6c2V0 Tm9kZXMoaW50IGNlbGxJZCwgaW50IHZ0a0lkKQotIHsKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsK LS0gIHZ0a0lkVHlwZSAqcHRzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRo ZSBmYWNlCi0rICB2dGtJZFR5cGVQdHIgcHRzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBp ZCdzIG9mIHRoZSBmYWNlCi0gICBfZ3JpZC0+R2V0Q2VsbFBvaW50cyh2dGtJZCwgbnB0cywgcHRz KTsKLSAgIC8vIE1FU1NBR0UodnRrSWQgPDwgIiAiIDw8IG5wdHMgPDwgIiAgIiA8PCBfbmJEb3du Q2VsbHMpOwotICAgLy9BU1NFUlQobnB0cyA9PSBfbmJEb3duQ2VsbHMpOwotQEAgLTM1Nyw3ICsz NTcsNyBAQCBpbnQgU01EU19Eb3duMUQ6OmNvbXB1dGVWdGtDZWxscyhpbnQgKnB0cywgc3RkOjp2 ZWN0b3I8aW50PiYgdnRrSWRzKQotICAgICB7Ci0gICAgICAgdnRrSWRUeXBlIHBvaW50ID0gcHRz W2ldOwotICAgICAgIGludCBudW1DZWxscyA9IF9ncmlkLT5HZXRMaW5rcygpLT5HZXROY2VsbHMo cG9pbnQpOwotLSAgICAgIHZ0a0lkVHlwZSAqY2VsbHMgPSBfZ3JpZC0+R2V0TGlua3MoKS0+R2V0 Q2VsbHMocG9pbnQpOwotKyAgICAgIHZ0a0lkVHlwZVB0ciBjZWxscyA9IF9ncmlkLT5HZXRMaW5r cygpLT5HZXRDZWxscyhwb2ludCk7Ci0gICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBudW1DZWxs czsgaisrKQotICAgICAgICAgewotICAgICAgICAgICBpbnQgdnRrQ2VsbElkID0gY2VsbHNbal07 Ci1AQCAtNTMyLDcgKzUzMiw3IEBAIGludCBTTURTX0Rvd24yRDo6Y29tcHV0ZVZvbHVtZUlkcyhp bnQgY2VsbElkLCBpbnQqIGlkcykKLSAgIC8vIC0tLSBmaW5kIHBvaW50IGlkJ3Mgb2YgdGhlIGZh Y2UKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqcHRzOyAvLyB3aWxs IHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSBmYWNlCi0rICB2dGtJZFR5cGVQdHIgcHRz OyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSBmYWNlCi0gICBfZ3JpZC0+ R2V0Q2VsbFBvaW50cyhjZWxsSWQsIG5wdHMsIHB0cyk7Ci0gICB2ZWN0b3I8aW50PiBub2RlczsK LSAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnB0czsgaSsrKQotQEAgLTU3Nyw3ICs1NzcsNyBAQCBp bnQgU01EU19Eb3duMkQ6OmNvbXB1dGVWb2x1bWVJZHNGcm9tTm9kZXNGYWNlKGludCogcHRzLCBp bnQgbnB0cywgaW50KiBpZHMpCi0gICAgICAgdnRrSWRUeXBlIHBvaW50ID0gcHRzW2ldOwotICAg ICAgIGludCBudW1DZWxscyA9IF9ncmlkLT5HZXRMaW5rcygpLT5HZXROY2VsbHMocG9pbnQpOwot ICAgICAgIC8vTUVTU0FHRSgiY2VsbHMgcG91ciAiIDw8IGkgPDwgIiAiIDw8IG51bUNlbGxzKTsK LS0gICAgICB2dGtJZFR5cGUgKmNlbGxzID0gX2dyaWQtPkdldExpbmtzKCktPkdldENlbGxzKHBv aW50KTsKLSsgICAgICB2dGtJZFR5cGVQdHIgY2VsbHMgPSBfZ3JpZC0+R2V0TGlua3MoKS0+R2V0 Q2VsbHMocG9pbnQpOwotICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbnVtQ2VsbHM7IGorKykK LSAgICAgICAgIHsKLSAgICAgICAgICAgaW50IHZ0a0NlbGxJZCA9IGNlbGxzW2pdOwotQEAgLTYy Nyw3ICs2MjcsNyBAQCBpbnQgU01EU19Eb3duMkQ6OmNvbXB1dGVWb2x1bWVJZHNGcm9tTm9kZXNG YWNlKGludCogcHRzLCBpbnQgbnB0cywgaW50KiBpZHMpCi0gdm9pZCBTTURTX0Rvd24yRDo6c2V0 VGVtcE5vZGVzKGludCBjZWxsSWQsIGludCB2dGtJZCkKLSB7Ci0gICB2dGtJZFR5cGUgbnB0cyA9 IDA7Ci0tICB2dGtJZFR5cGUgKnB0czsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBv ZiB0aGUgZmFjZQotKyAgdnRrSWRUeXBlUHRyIHB0czsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9p bnQgaWQncyBvZiB0aGUgZmFjZQotICAgX2dyaWQtPkdldENlbGxQb2ludHModnRrSWQsIG5wdHMs IHB0cyk7Ci0gICAvLyBNRVNTQUdFKHZ0a0lkIDw8ICIgIiA8PCBucHRzIDw8ICIgICIgPDwgX25i Tm9kZXMpOwotICAgLy9BU1NFUlQobnB0cyA9PSBfbmJOb2Rlcyk7Ci1AQCAtNzk1LDcgKzc5NSw3 IEBAIHZvaWQgU01EU19Eb3duM0Q6OmdldE5vZGVJZHMoaW50IGNlbGxJZCwgc3RkOjpzZXQ8aW50 PiYgbm9kZVNldCkKLSB7Ci0gICBpbnQgdnRrSWQgPSB0aGlzLT5fdnRrQ2VsbElkc1tjZWxsSWRd OwotICAgdnRrSWRUeXBlIG5wdHMgPSAwOwotLSAgdnRrSWRUeXBlICpub2RlczsgLy8gd2lsbCBy ZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1lCi0rICB2dGtJZFR5cGVQdHIgbm9k ZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotICAgX2dy aWQtPkdldENlbGxQb2ludHModnRrSWQsIG5wdHMsIG5vZGVzKTsKLSAgIGZvciAoaW50IGkgPSAw OyBpIDwgbnB0czsgaSsrKQotICAgICBub2RlU2V0Lmluc2VydChub2Rlc1tpXSk7Ci1AQCAtMTEy Niw3ICsxMTI2LDcgQEAgdm9pZCBTTURTX0Rvd25UZXRyYTo6Z2V0T3JkZXJlZE5vZGVzT2ZGYWNl KGludCBjZWxsSWQsIHN0ZDo6dmVjdG9yPHZ0a0lkVHlwZT4mIG8KLSAgIC8vTUVTU0FHRSgiY2Vs bElkID0gIiA8PCBjZWxsSWQpOwotIAotICAgdnRrSWRUeXBlIG5wdHMgPSAwOwotLSAgdnRrSWRU eXBlICpub2RlczsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1l Ci0rICB2dGtJZFR5cGVQdHIgbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mg b2YgdGhlIHZvbHVtZQotICAgX2dyaWQtPkdldENlbGxQb2ludHModGhpcy0+X3Z0a0NlbGxJZHNb Y2VsbElkXSwgbnB0cywgbm9kZXMpOwotIAotICAgc2V0PGludD4gdG9maW5kOwotQEAgLTExNzgs NyArMTE3OCw3IEBAIHZvaWQgU01EU19Eb3duVGV0cmE6OmNvbXB1dGVGYWNlc1dpdGhOb2Rlcyhp bnQgY2VsbElkLCBMaXN0RWxlbUJ5Tm9kZXNUeXBlJiBmYWNlCi0gICAvLyAtLS0gZmluZCBwb2lu dCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gIHZ0a0lk VHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVt ZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdz IG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxsUG9pbnRzKGNlbGxJZCwgbnB0cywgbm9k ZXMpOwotIAotICAgLy8gLS0tIGNyZWF0ZSBhbGwgdGhlIG9yZGVyZWQgbGlzdCBvZiBub2RlIGlk J3MgZm9yIGVhY2ggZmFjZQotQEAgLTEyMzQsNyArMTIzNCw3IEBAIHZvaWQgU01EU19Eb3duUXVh ZFRldHJhOjpnZXRPcmRlcmVkTm9kZXNPZkZhY2UoaW50IGNlbGxJZCwgc3RkOjp2ZWN0b3I8dnRr SWRUeXBlCi0gICAvL01FU1NBR0UoImNlbGxJZCA9ICIgPDwgY2VsbElkKTsKLSAKLSAgIHZ0a0lk VHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhl IHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxs IHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxs UG9pbnRzKHRoaXMtPl92dGtDZWxsSWRzW2NlbGxJZF0sIG5wdHMsIG5vZGVzKTsKLSAKLSAgIHNl dDxpbnQ+IHRvZmluZDsKLUBAIC0xMjg4LDcgKzEyODgsNyBAQCB2b2lkIFNNRFNfRG93blF1YWRU ZXRyYTo6Y29tcHV0ZUZhY2VzV2l0aE5vZGVzKGludCBjZWxsSWQsIExpc3RFbGVtQnlOb2Rlc1R5 cGUmCi0gICAvLyAtLS0gZmluZCBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAKLSAgIHZ0a0lk VHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhl IHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxs IHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxs UG9pbnRzKGNlbGxJZCwgbnB0cywgbm9kZXMpOwotIAotICAgLy8gLS0tIGNyZWF0ZSBhbGwgdGhl IG9yZGVyZWQgbGlzdCBvZiBub2RlIGlkJ3MgZm9yIGVhY2ggZmFjZQotQEAgLTEzNTcsNyArMTM1 Nyw3IEBAIHZvaWQgU01EU19Eb3duUHlyYW1pZDo6Z2V0T3JkZXJlZE5vZGVzT2ZGYWNlKGludCBj ZWxsSWQsIHN0ZDo6dmVjdG9yPHZ0a0lkVHlwZT4mCi0gICAvL01FU1NBR0UoImNlbGxJZCA9ICIg PDwgY2VsbElkKTsKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqbm9k ZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotKyAgdnRr SWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2 b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxsUG9pbnRzKHRoaXMtPl92dGtDZWxsSWRzW2NlbGxJZF0s IG5wdHMsIG5vZGVzKTsKLSAKLSAgIHNldDxpbnQ+IHRvZmluZDsKLUBAIC0xNDM1LDcgKzE0MzUs NyBAQCB2b2lkIFNNRFNfRG93blB5cmFtaWQ6OmNvbXB1dGVGYWNlc1dpdGhOb2RlcyhpbnQgY2Vs bElkLCBMaXN0RWxlbUJ5Tm9kZXNUeXBlJiBmYQotICAgLy8gLS0tIGZpbmQgcG9pbnQgaWQncyBv ZiB0aGUgdm9sdW1lCi0gCi0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0tICB2dGtJZFR5cGUgKm5v ZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSsgIHZ0 a0lkVHlwZVB0ciBub2RlczsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUg dm9sdW1lCi0gICBfZ3JpZC0+R2V0Q2VsbFBvaW50cyhjZWxsSWQsIG5wdHMsIG5vZGVzKTsKLSAK LSAgIC8vIC0tLSBjcmVhdGUgYWxsIHRoZSBvcmRlcmVkIGxpc3Qgb2Ygbm9kZSBpZCdzIGZvciBl YWNoIGZhY2UKLUBAIC0xNTAwLDcgKzE1MDAsNyBAQCB2b2lkIFNNRFNfRG93blF1YWRQeXJhbWlk OjpnZXRPcmRlcmVkTm9kZXNPZkZhY2UoaW50IGNlbGxJZCwgc3RkOjp2ZWN0b3I8dnRrSWRUeQot ICAgLy9NRVNTQUdFKCJjZWxsSWQgPSAiIDw8IGNlbGxJZCk7Ci0gCi0gICB2dGtJZFR5cGUgbnB0 cyA9IDA7Ci0tICB2dGtJZFR5cGUgKm5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBp ZCdzIG9mIHRoZSB2b2x1bWUKLSsgIHZ0a0lkVHlwZVB0ciBub2RlczsgLy8gd2lsbCByZWZlciB0 byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1lCi0gICBfZ3JpZC0+R2V0Q2VsbFBvaW50cyh0 aGlzLT5fdnRrQ2VsbElkc1tjZWxsSWRdLCBucHRzLCBub2Rlcyk7Ci0gCi0gICBzZXQ8aW50PiB0 b2ZpbmQ7Ci1AQCAtMTU4MCw3ICsxNTgwLDcgQEAgdm9pZCBTTURTX0Rvd25RdWFkUHlyYW1pZDo6 Y29tcHV0ZUZhY2VzV2l0aE5vZGVzKGludCBjZWxsSWQsIExpc3RFbGVtQnlOb2Rlc1R5cGUKLSAg IC8vIC0tLSBmaW5kIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotIAotICAgdnRrSWRUeXBlIG5w dHMgPSAwOwotLSAgdnRrSWRUeXBlICpub2RlczsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQg aWQncyBvZiB0aGUgdm9sdW1lCi0rICB2dGtJZFR5cGVQdHIgbm9kZXM7IC8vIHdpbGwgcmVmZXIg dG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotICAgX2dyaWQtPkdldENlbGxQb2ludHMo Y2VsbElkLCBucHRzLCBub2Rlcyk7Ci0gCi0gICAvLyAtLS0gY3JlYXRlIGFsbCB0aGUgb3JkZXJl ZCBsaXN0IG9mIG5vZGUgaWQncyBmb3IgZWFjaCBmYWNlCi1AQCAtMTY2MCw3ICsxNjYwLDcgQEAg dm9pZCBTTURTX0Rvd25QZW50YTo6Z2V0T3JkZXJlZE5vZGVzT2ZGYWNlKGludCBjZWxsSWQsIHN0 ZDo6dmVjdG9yPHZ0a0lkVHlwZT4mIG8KLSAgIC8vTUVTU0FHRSgiY2VsbElkID0gIiA8PCBjZWxs SWQpOwotIAotICAgdnRrSWRUeXBlIG5wdHMgPSAwOwotLSAgdnRrSWRUeXBlICpub2RlczsgLy8g d2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1lCi0rICB2dGtJZFR5cGVQ dHIgbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQot ICAgX2dyaWQtPkdldENlbGxQb2ludHModGhpcy0+X3Z0a0NlbGxJZHNbY2VsbElkXSwgbnB0cywg bm9kZXMpOwotIAotICAgc2V0PGludD4gdG9maW5kOwotQEAgLTE3NDQsNyArMTc0NCw3IEBAIHZv aWQgU01EU19Eb3duUGVudGE6OmNvbXB1dGVGYWNlc1dpdGhOb2RlcyhpbnQgY2VsbElkLCBMaXN0 RWxlbUJ5Tm9kZXNUeXBlJiBmYWNlCi0gICAvLyAtLS0gZmluZCBwb2ludCBpZCdzIG9mIHRoZSB2 b2x1bWUKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8v IHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotKyAgdnRrSWRUeXBl UHRyIG5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUK LSAgIF9ncmlkLT5HZXRDZWxsUG9pbnRzKGNlbGxJZCwgbnB0cywgbm9kZXMpOwotIAotICAgLy8g LS0tIGNyZWF0ZSBhbGwgdGhlIG9yZGVyZWQgbGlzdCBvZiBub2RlIGlkJ3MgZm9yIGVhY2ggZmFj ZQotQEAgLTE4MTAsNyArMTgxMCw3IEBAIHZvaWQgU01EU19Eb3duUXVhZFBlbnRhOjpnZXRPcmRl cmVkTm9kZXNPZkZhY2UoaW50IGNlbGxJZCwgc3RkOjp2ZWN0b3I8dnRrSWRUeXBlCi0gICAvL01F U1NBR0UoImNlbGxJZCA9ICIgPDwgY2VsbElkKTsKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsK LS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2Yg dGhlIHZvbHVtZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBw b2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxsUG9pbnRzKHRoaXMtPl92 dGtDZWxsSWRzW2NlbGxJZF0sIG5wdHMsIG5vZGVzKTsKLSAKLSAgIHNldDxpbnQ+IHRvZmluZDsK LUBAIC0xODk2LDcgKzE4OTYsNyBAQCB2b2lkIFNNRFNfRG93blF1YWRQZW50YTo6Y29tcHV0ZUZh Y2VzV2l0aE5vZGVzKGludCBjZWxsSWQsIExpc3RFbGVtQnlOb2Rlc1R5cGUmCi0gICAvLyAtLS0g ZmluZCBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAKLSAgIHZ0a0lkVHlwZSBucHRzID0gMDsK LS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2Yg dGhlIHZvbHVtZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBw b2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlkLT5HZXRDZWxsUG9pbnRzKGNlbGxJZCwg bnB0cywgbm9kZXMpOwotIAotICAgLy8gLS0tIGNyZWF0ZSBhbGwgdGhlIG9yZGVyZWQgbGlzdCBv ZiBub2RlIGlkJ3MgZm9yIGVhY2ggZmFjZQotQEAgLTE5ODEsNyArMTk4MSw3IEBAIHZvaWQgU01E U19Eb3duSGV4YTo6Z2V0T3JkZXJlZE5vZGVzT2ZGYWNlKGludCBjZWxsSWQsIHN0ZDo6dmVjdG9y PHZ0a0lkVHlwZT4mIG9yCi0gICAvL01FU1NBR0UoImNlbGxJZCA9ICIgPDwgY2VsbElkKTsKLSAK LSAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gIHZ0a0lkVHlwZSAqbm9kZXM7IC8vIHdpbGwgcmVm ZXIgdG8gdGhlIHBvaW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotKyAgdnRrSWRUeXBlUHRyIG5vZGVz OyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSAgIF9ncmlk LT5HZXRDZWxsUG9pbnRzKHRoaXMtPl92dGtDZWxsSWRzW2NlbGxJZF0sIG5wdHMsIG5vZGVzKTsK LSAKLSAgIHNldDxpbnQ+IHRvZmluZDsKLUBAIC0yMDM2LDcgKzIwMzYsNyBAQCB2b2lkIFNNRFNf RG93bkhleGE6OmNvbXB1dGVGYWNlc1dpdGhOb2RlcyhpbnQgY2VsbElkLCBMaXN0RWxlbUJ5Tm9k ZXNUeXBlJiBmYWNlcwotICAgLy8gLS0tIGZpbmQgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1lCi0g Ci0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0tICB2dGtJZFR5cGUgKm5vZGVzOyAvLyB3aWxsIHJl ZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1bWUKLSsgIHZ0a0lkVHlwZVB0ciBub2Rl czsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9sdW1lCi0gICBfZ3Jp ZC0+R2V0Q2VsbFBvaW50cyhjZWxsSWQsIG5wdHMsIG5vZGVzKTsKLSAKLSAgIC8vIC0tLSBjcmVh dGUgYWxsIHRoZSBvcmRlcmVkIGxpc3Qgb2Ygbm9kZSBpZCdzIGZvciBlYWNoIGZhY2UKLUBAIC0y MTEyLDcgKzIxMTIsNyBAQCB2b2lkIFNNRFNfRG93blF1YWRIZXhhOjpnZXRPcmRlcmVkTm9kZXNP ZkZhY2UoaW50IGNlbGxJZCwgc3RkOjp2ZWN0b3I8dnRrSWRUeXBlPgotICAgLy9NRVNTQUdFKCJj ZWxsSWQgPSAiIDw8IGNlbGxJZCk7Ci0gCi0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0tICB2dGtJ ZFR5cGUgKm5vZGVzOyAvLyB3aWxsIHJlZmVyIHRvIHRoZSBwb2ludCBpZCdzIG9mIHRoZSB2b2x1 bWUKLSsgIHZ0a0lkVHlwZVB0ciBub2RlczsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQn cyBvZiB0aGUgdm9sdW1lCi0gICBfZ3JpZC0+R2V0Q2VsbFBvaW50cyh0aGlzLT5fdnRrQ2VsbElk c1tjZWxsSWRdLCBucHRzLCBub2Rlcyk7Ci0gCi0gICBzZXQ8aW50PiB0b2ZpbmQ7Ci1AQCAtMjE2 Nyw3ICsyMTY3LDcgQEAgdm9pZCBTTURTX0Rvd25RdWFkSGV4YTo6Y29tcHV0ZUZhY2VzV2l0aE5v ZGVzKGludCBjZWxsSWQsIExpc3RFbGVtQnlOb2Rlc1R5cGUmIGYKLSAgIC8vIC0tLSBmaW5kIHBv aW50IGlkJ3Mgb2YgdGhlIHZvbHVtZQotIAotICAgdnRrSWRUeXBlIG5wdHMgPSAwOwotLSAgdnRr SWRUeXBlICpub2RlczsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgdm9s dW1lCi0rICB2dGtJZFR5cGVQdHIgbm9kZXM7IC8vIHdpbGwgcmVmZXIgdG8gdGhlIHBvaW50IGlk J3Mgb2YgdGhlIHZvbHVtZQotICAgX2dyaWQtPkdldENlbGxQb2ludHMoY2VsbElkLCBucHRzLCBu b2Rlcyk7Ci0gCi0gICAvLyAtLS0gY3JlYXRlIGFsbCB0aGUgb3JkZXJlZCBsaXN0IG9mIG5vZGUg aWQncyBmb3IgZWFjaCBmYWNlCi1kaWZmIC0tZ2l0IHNyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9z cmMvU01EUy9TTURTX01lc2guY3BwIGIvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTURT L1NNRFNfTWVzaC5jcHAKLWluZGV4IDYxYzhlNzUxZDk0Li4xZWFjMjkwN2QzZCAxMDA2NDQKLS0t LSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX01lc2guY3BwCi0rKysg Yi9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19NZXNoLmNwcAotQEAgLTQ3 NjgsNyArNDc2OCwxMSBAQCB2b2lkIFNNRFNfTWVzaDo6ZHVtcEdyaWQoc3RyaW5nIGZpY2R1bXAp Ci0gICAgICAgICBmaWNjb24gPDwgZW5kbDsKLSAgIH0KLSAgIGZpY2NvbiA8PCAiLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29ubmVjdGl2aXR5ICIgPDwgIG5iUG9pbnRzIDw8IGVu ZGw7Ci0tICAgICAgICB2dGtDZWxsTGlua3MgKmxpbmtzID0gbXlHcmlkLT5HZXRDZWxsTGlua3Mo KTsKLSsjaWZkZWYgVlRLX0NFTExfQVJSQVlfVjIKLSsgIHZ0a0NlbGxMaW5rcyAqbGlua3MgPSBz dGF0aWNfY2FzdDx2dGtDZWxsTGlua3MqPihteUdyaWQtPkdldENlbGxMaW5rcygpKTsKLSsjZWxz ZQotKyAgdnRrQ2VsbExpbmtzICpsaW5rcyA9IG15R3JpZC0+R2V0Q2VsbExpbmtzKCk7Ci0rI2Vu ZGlmCi0gICBmb3IgKGludCBpPTA7IGk8bmJQb2ludHM7IGkrKykKLSAgIHsKLSAgICAgICAgIGlu dCBuY2VsbHMgPSBsaW5rcy0+R2V0TmNlbGxzKGkpOwotZGlmZiAtLWdpdCBzcmMvM3JkUGFydHkv c2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19NZXNoMERFbGVtZW50LmNwcCBiL3NyYy8zcmRQYXJ0 eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX01lc2gwREVsZW1lbnQuY3BwCi1pbmRleCA5NTQz OGVhYjA2NC4uMGRmMzJlM2I5N2MgMTAwNjQ0Ci0tLS0gYS9zcmMvM3JkUGFydHkvc2Fsb21lc21l c2gvc3JjL1NNRFMvU01EU19NZXNoMERFbGVtZW50LmNwcAotKysrIGIvc3JjLzNyZFBhcnR5L3Nh bG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfTWVzaDBERWxlbWVudC5jcHAKLUBAIC0xNDYsNiArMTQ2 LDE3IEBAIGJvb2wgU01EU19NZXNoMERFbGVtZW50OjpDaGFuZ2VOb2Rlcyhjb25zdCBTTURTX01l c2hOb2RlKiBub2Rlc1tdLCBjb25zdCBpbnQgbmJOCi0gICBpZiAoIG5iTm9kZXMgPT0gMSApCi0g ICB7Ci0gICAgIHZ0a1Vuc3RydWN0dXJlZEdyaWQqIGdyaWQgPSBTTURTX01lc2g6Ol9tZXNoTGlz dFtteU1lc2hJZF0tPmdldEdyaWQoKTsKLSsjaWZkZWYgVlRLX0NFTExfQVJSQVlfVjIKLSsgICAg dnRrTmV3PHZ0a0lkTGlzdD4gY2VsbFBvaW50czsKLSsgICAgZ3JpZC0+R2V0Q2VsbFBvaW50cyht eVZ0a0lELCBjZWxsUG9pbnRzLkdldFBvaW50ZXIoKSk7Ci0rICAgIGlmIChuYk5vZGVzICE9IGNl bGxQb2ludHMtPkdldE51bWJlck9mSWRzKCkpCi0rICAgIHsKLSsgICAgICBNRVNTQUdFKCJDaGFu Z2VOb2RlcyBwcm9ibGVtOiBub3QgdGhlIHNhbWUgbnVtYmVyIG9mIG5vZGVzICIgPDwgY2VsbFBv aW50cy0+R2V0TnVtYmVyT2ZJZHMoKSA8PCAiIC0+ICIgPDwgbmJOb2Rlcyk7Ci0rICAgICAgcmV0 dXJuIGZhbHNlOwotKyAgICB9Ci0rICAgIG15Tm9kZSA9IG5vZGVzWzBdOwotKyAgICBjZWxsUG9p bnRzLT5TZXRJZCgwLCBteU5vZGUtPmdldFZ0a0lkKCkpOwotKyNlbHNlCi0gICAgIHZ0a0lkVHlw ZSBucHRzID0gMDsKLSAgICAgdnRrSWRUeXBlKiBwdHMgPSAwOwotICAgICBncmlkLT5HZXRDZWxs UG9pbnRzKG15VnRrSUQsIG5wdHMsIHB0cyk7Ci1AQCAtMTU2LDYgKzE2Nyw3IEBAIGJvb2wgU01E U19NZXNoMERFbGVtZW50OjpDaGFuZ2VOb2Rlcyhjb25zdCBTTURTX01lc2hOb2RlKiBub2Rlc1td LCBjb25zdCBpbnQgbmJOCi0gICAgIH0KLSAgICAgbXlOb2RlID0gbm9kZXNbMF07Ci0gICAgIHB0 c1swXSA9IG15Tm9kZS0+Z2V0VnRrSWQoKTsKLSsjZW5kaWYKLSAKLSAgICAgU01EU19NZXNoOjpf bWVzaExpc3RbbXlNZXNoSWRdLT5zZXRNeU1vZGlmaWVkKCk7Ci0gICAgIHJldHVybiB0cnVlOwot ZGlmZiAtLWdpdCBzcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19NZXNoTm9k ZS5jcHAgYi9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19NZXNoTm9kZS5j cHAKLWluZGV4IGY2NDdhNWYxYjhmLi41YjkwM2M4ZmI1NSAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQ YXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX01lc2hOb2RlLmNwcAotKysrIGIvc3JjLzNy ZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfTWVzaE5vZGUuY3BwCi1AQCAtMTkxLDcg KzE5MSw3IEBAIGNsYXNzIFNNRFNfTWVzaE5vZGVfTXlJbnZJdGVyYXRvcjogcHVibGljIFNNRFNf RWxlbUl0ZXJhdG9yCi0gU01EU19FbGVtSXRlcmF0b3JQdHIgU01EU19NZXNoTm9kZTo6Ci0gR2V0 SW52ZXJzZUVsZW1lbnRJdGVyYXRvcihTTURTQWJzX0VsZW1lbnRUeXBlIHR5cGUpIGNvbnN0Ci0g ewotLSAgdnRrQ2VsbExpbmtzOjpMaW5rIGwgPSBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJ ZF0tPmdldEdyaWQoKS0+R2V0Q2VsbExpbmtzKCktPkdldExpbmsobXlWdGtJRCk7Ci0rICB2dGtD ZWxsTGlua3M6OkxpbmsgbCA9IHN0YXRpY19jYXN0PHZ0a0NlbGxMaW5rcyo+KFNNRFNfTWVzaDo6 X21lc2hMaXN0W215TWVzaElkXS0+Z2V0R3JpZCgpLT5HZXRDZWxsTGlua3MoKSktPkdldExpbmso bXlWdGtJRCk7Ci0gICAvL01FU1NBR0UoIm15SUQgIiA8PCBteUlEIDw8ICIgbmNlbGxzICIgPDwg bC5uY2VsbHMpOwotICAgcmV0dXJuIFNNRFNfRWxlbUl0ZXJhdG9yUHRyKG5ldyBTTURTX01lc2hO b2RlX015SW52SXRlcmF0b3IoU01EU19NZXNoOjpfbWVzaExpc3RbbXlNZXNoSWRdLCBsLmNlbGxz LCBsLm5jZWxscywgdHlwZSkpOwotIH0KLUBAIC0yNTEsNyArMjUxLDcgQEAgZWxlbWVudHNJdGVy YXRvcihTTURTQWJzX0VsZW1lbnRUeXBlIHR5cGUpIGNvbnN0Ci0gICAgIHJldHVybiBTTURTX01l c2hFbGVtZW50OjplbGVtZW50c0l0ZXJhdG9yKFNNRFNBYnNfTm9kZSk7Ci0gICBlbHNlCi0gICB7 Ci0tICAgIHZ0a0NlbGxMaW5rczo6TGluayBsID0gU01EU19NZXNoOjpfbWVzaExpc3RbbXlNZXNo SWRdLT5nZXRHcmlkKCktPkdldENlbGxMaW5rcygpLT5HZXRMaW5rKG15VnRrSUQpOwotKyAgICB2 dGtDZWxsTGlua3M6OkxpbmsgbCA9IHN0YXRpY19jYXN0PHZ0a0NlbGxMaW5rcyo+KFNNRFNfTWVz aDo6X21lc2hMaXN0W215TWVzaElkXS0+Z2V0R3JpZCgpLT5HZXRDZWxsTGlua3MoKSktPkdldExp bmsobXlWdGtJRCk7Ci0gICAgIHJldHVybiBTTURTX0VsZW1JdGVyYXRvclB0cihuZXcgU01EU19N ZXNoTm9kZV9NeUl0ZXJhdG9yKFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXSwgbC5jZWxs cywgbC5uY2VsbHMsIHR5cGUpKTsKLSAgIH0KLSB9Ci1AQCAtMzUwLDcgKzM1MCw3IEBAIHZvaWQg U01EU19NZXNoTm9kZTo6QWRkSW52ZXJzZUVsZW1lbnQoY29uc3QgU01EU19NZXNoRWxlbWVudCog TUUpCi0gICBjb25zdCBTTURTX01lc2hDZWxsICpjZWxsID0gZHluYW1pY19jYXN0PGNvbnN0IFNN RFNfTWVzaENlbGwqPiAoTUUpOwotICAgYXNzZXJ0KGNlbGwpOwotICAgU01EU19VbnN0cnVjdHVy ZWRHcmlkKiBncmlkID0gU01EU19NZXNoOjpfbWVzaExpc3RbbXlNZXNoSWRdLT5nZXRHcmlkKCk7 Ci0tICB2dGtDZWxsTGlua3MgKkxpbmtzID0gZ3JpZC0+R2V0Q2VsbExpbmtzKCk7Ci0rICB2dGtD ZWxsTGlua3MgKkxpbmtzID0gc3RhdGljX2Nhc3Q8dnRrQ2VsbExpbmtzKj4oZ3JpZC0+R2V0Q2Vs bExpbmtzKCkpOwotICAgTGlua3MtPlJlc2l6ZUNlbGxMaXN0KG15VnRrSUQsIDEpOwotICAgTGlu a3MtPkFkZENlbGxSZWZlcmVuY2UoY2VsbC0+Z2V0VnRrSWQoKSwgbXlWdGtJRCk7Ci0gfQotQEAg LTM2Niw3ICszNjYsNyBAQCB2b2lkIFNNRFNfTWVzaE5vZGU6OkNsZWFySW52ZXJzZUVsZW1lbnRz KCkKLSAKLSBib29sIFNNRFNfTWVzaE5vZGU6OmVtcHR5SW52ZXJzZUVsZW1lbnRzKCkKLSB7Ci0t ICB2dGtDZWxsTGlua3M6OkxpbmsgbCA9IFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXS0+ Z2V0R3JpZCgpLT5HZXRDZWxsTGlua3MoKS0+R2V0TGluayhteVZ0a0lEKTsKLSsgIHZ0a0NlbGxM aW5rczo6TGluayBsID0gc3RhdGljX2Nhc3Q8dnRrQ2VsbExpbmtzKj4oU01EU19NZXNoOjpfbWVz aExpc3RbbXlNZXNoSWRdLT5nZXRHcmlkKCktPkdldENlbGxMaW5rcygpKS0+R2V0TGluayhteVZ0 a0lEKTsKLSAgIHJldHVybiAobC5uY2VsbHMgPT0gMCk7Ci0gfQotIAotQEAgLTM3OCw3ICszNzgs NyBAQCBib29sIFNNRFNfTWVzaE5vZGU6OmVtcHR5SW52ZXJzZUVsZW1lbnRzKCkKLSAKLSBpbnQg U01EU19NZXNoTm9kZTo6TmJJbnZlcnNlRWxlbWVudHMoU01EU0Fic19FbGVtZW50VHlwZSB0eXBl KSBjb25zdAotIHsKLS0gIHZ0a0NlbGxMaW5rczo6TGluayBsID0gU01EU19NZXNoOjpfbWVzaExp c3RbbXlNZXNoSWRdLT5nZXRHcmlkKCktPkdldENlbGxMaW5rcygpLT5HZXRMaW5rKG15VnRrSUQp OwotKyAgdnRrQ2VsbExpbmtzOjpMaW5rIGwgPSBzdGF0aWNfY2FzdDx2dGtDZWxsTGlua3MqPihT TURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPmdldEdyaWQoKS0+R2V0Q2VsbExpbmtzKCkp LT5HZXRMaW5rKG15VnRrSUQpOwotIAotICAgaWYgKCB0eXBlID09IFNNRFNBYnNfQWxsICkKLSAg ICAgcmV0dXJuIGwubmNlbGxzOwotZGlmZiAtLWdpdCBzcmMvM3JkUGFydHkvc2Fsb21lc21lc2gv c3JjL1NNRFMvU01EU19VbnN0cnVjdHVyZWRHcmlkLmNwcCBiL3NyYy8zcmRQYXJ0eS9zYWxvbWVz bWVzaC9zcmMvU01EUy9TTURTX1Vuc3RydWN0dXJlZEdyaWQuY3BwCi1pbmRleCBmYmQ5MDNiMWU3 NC4uZmYyYjgxZTk2OTQgMTAwNjQ0Ci0tLS0gYS9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3Jj L1NNRFMvU01EU19VbnN0cnVjdHVyZWRHcmlkLmNwcAotKysrIGIvc3JjLzNyZFBhcnR5L3NhbG9t ZXNtZXNoL3NyYy9TTURTL1NNRFNfVW5zdHJ1Y3R1cmVkR3JpZC5jcHAKLUBAIC0xMzksOCArMTM5 LDggQEAgaW50IFNNRFNfVW5zdHJ1Y3R1cmVkR3JpZDo6SW5zZXJ0TmV4dExpbmtlZENlbGwoaW50 IHR5cGUsIGludCBucHRzLCB2dGtJZFR5cGUgKnAKLSAgIGZvciAoOyBpdCAhPSBzZXRPZk5vZGVz LmVuZCgpOyArK2l0KQotICAgICB7Ci0gICAgICAgLy9NRVNTQUdFKCJyZXZlcnNlIGxpbmsgZm9y IG5vZGUgIiA8PCAqaXQgPDwgIiBjZWxsICIgPDwgY2VsbGlkKTsKLS0gICAgICB0aGlzLT5MaW5r cy0+UmVzaXplQ2VsbExpc3QoKml0LCAxKTsKLS0gICAgICB0aGlzLT5MaW5rcy0+QWRkQ2VsbFJl ZmVyZW5jZShjZWxsaWQsICppdCk7Ci0rICAgICAgdGhpcy0+R2V0TGlua3MoKS0+UmVzaXplQ2Vs bExpc3QoKml0LCAxKTsKLSsgICAgICB0aGlzLT5HZXRMaW5rcygpLT5BZGRDZWxsUmVmZXJlbmNl KGNlbGxpZCwgKml0KTsKLSAgICAgfQotIAotICAgcmV0dXJuIGNlbGxpZDsKLUBAIC0zMzIsOSAr MzMyLDEzIEBAIHZvaWQgU01EU19VbnN0cnVjdHVyZWRHcmlkOjpjb3B5QmxvYyh2dGtVbnNpZ25l ZENoYXJBcnJheSAqbmV3VHlwZXMsCi0gICAgIHsKLSAgICAgICBuZXdUeXBlcy0+U2V0VmFsdWUo YWxyZWFkeUNvcGllZCwgdGhpcy0+VHlwZXMtPkdldFZhbHVlKGopKTsKLSAgICAgICBpZENlbGxz T2xkVG9OZXdbal0gPSBhbHJlYWR5Q29waWVkOyAvLyBvbGQgdnRrSWQgLS0+IG5ldyB2dGtJZAot KyNpZmRlZiBWVEtfQ0VMTF9BUlJBWV9WMgotKyAgICAgIHZ0a0lkVHlwZSBvbGRMb2MgPSB0aGlz LT5HZXRDZWxsTG9jYXRpb25zQXJyYXkoKS0+R2V0VmFsdWUoaik7Ci0rI2Vsc2UKLSAgICAgICB2 dGtJZFR5cGUgb2xkTG9jID0gdGhpcy0+TG9jYXRpb25zLT5HZXRWYWx1ZShqKTsKLSsjZW5kaWYK LSAgICAgICB2dGtJZFR5cGUgbmJwdHM7Ci0tICAgICAgdnRrSWRUeXBlICpvbGRQdHNDZWxsID0g MDsKLSsgICAgICB2dGtJZFR5cGVQdHIgb2xkUHRzQ2VsbCA9IDA7Ci0gICAgICAgdGhpcy0+Q29u bmVjdGl2aXR5LT5HZXRDZWxsKG9sZExvYywgbmJwdHMsIG9sZFB0c0NlbGwpOwotICAgICAgIGFz c2VydChuYnB0cyA8IE5CTUFYTk9ERVNJTkNFTEwpOwotICAgICAgIC8vTUVTU0FHRShqIDw8ICIg IiA8PCBhbHJlYWR5Q29waWVkIDw8ICIgIiA8PCAoaW50KXRoaXMtPlR5cGVzLT5HZXRWYWx1ZShq KSA8PCAiICIgPDwgb2xkTG9jIDw8ICIgIiA8PCBuYnB0cyApOwotQEAgLTk1Miw2ICs5NTYsMjEg QEAgdm9pZCBTTURTX1Vuc3RydWN0dXJlZEdyaWQ6OkdldE5vZGVJZHMoc3RkOjpzZXQ8aW50PiYg bm9kZVNldCwgaW50IGRvd25JZCwgdW5zaWcKLSAgKi8KLSB2b2lkIFNNRFNfVW5zdHJ1Y3R1cmVk R3JpZDo6TW9kaWZ5Q2VsbE5vZGVzKGludCB2dGtWb2xJZCwgc3RkOjptYXA8aW50LCBpbnQ+IGxv Y2FsQ2xvbmVkTm9kZUlkcykKLSB7Ci0rI2lmZGVmIFZUS19DRUxMX0FSUkFZX1YyCi0rICB2dGtO ZXc8dnRrSWRMaXN0PiBjZWxsUG9pbnRzOwotKyAgdGhpcy0+R2V0Q2VsbFBvaW50cyh2dGtWb2xJ ZCwgY2VsbFBvaW50cy5HZXRQb2ludGVyKCkpOwotKyAgZm9yICh2dGtJZFR5cGUgaSA9IDA7IGkg PCBjZWxsUG9pbnRzLT5HZXROdW1iZXJPZklkcygpOyBpKyspCi0rICAgIHsKLSsgICAgICBpZiAo bG9jYWxDbG9uZWROb2RlSWRzLmNvdW50KGNlbGxQb2ludHMtPkdldElkKGkpKSkKLSsgICAgICAg IHsKLSsgICAgICAgICAgdnRrSWRUeXBlIG9sZHB0ID0gY2VsbFBvaW50cy0+R2V0SWQoaSk7Ci0r ICAgICAgICAgIGNlbGxQb2ludHMtPlNldElkKGksIGxvY2FsQ2xvbmVkTm9kZUlkc1tvbGRwdF0p OwotKyAgICAgICAgICAvL01FU1NBR0Uob2xkcHQgPDwgIiAtLT4gIiA8PCBwdHNbaV0pOwotKyAg ICAgICAgICAvL3RoaXMtPlJlbW92ZVJlZmVyZW5jZVRvQ2VsbChvbGRwdCwgdnRrVm9sSWQpOwot KyAgICAgICAgICAvL3RoaXMtPkFkZFJlZmVyZW5jZVRvQ2VsbChwdHNbaV0sIHZ0a1ZvbElkKTsK LSsgICAgICAgIH0KLSsgICAgfQotKyNlbHNlCi0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0gICB2 dGtJZFR5cGUgKnB0czsgLy8gd2lsbCByZWZlciB0byB0aGUgcG9pbnQgaWQncyBvZiB0aGUgZmFj ZQotICAgdGhpcy0+R2V0Q2VsbFBvaW50cyh2dGtWb2xJZCwgbnB0cywgcHRzKTsKLUBAIC05NjYs NiArOTg1LDcgQEAgdm9pZCBTTURTX1Vuc3RydWN0dXJlZEdyaWQ6Ok1vZGlmeUNlbGxOb2Rlcyhp bnQgdnRrVm9sSWQsIHN0ZDo6bWFwPGludCwgaW50PiBsb2MKLSAgICAgICAgICAgLy90aGlzLT5B ZGRSZWZlcmVuY2VUb0NlbGwocHRzW2ldLCB2dGtWb2xJZCk7Ci0gICAgICAgICB9Ci0gICAgIH0K LSsjZW5kaWYKLSB9Ci0gCi0gLyohIHJlb3JkZXIgdGhlIG5vZGVzIG9mIGEgZmFjZQotQEAgLTk5 NSwxMSArMTAxNSwyMCBAQCB2b2lkIFNNRFNfVW5zdHJ1Y3R1cmVkR3JpZDo6QnVpbGRMaW5rcygp Ci0gICAgIHRoaXMtPkxpbmtzLT5VblJlZ2lzdGVyKHRoaXMpOwotICAgICB9Ci0gCi0rI2lmZGVm IFZUS19DRUxMX0FSUkFZX1YyCi0rICB0aGlzLT5MaW5rcyA9IFNNRFNfQ2VsbExpbmtzOjpOZXco KTsKLSsgIEdldExpbmtzKCktPkFsbG9jYXRlKHRoaXMtPkdldE51bWJlck9mUG9pbnRzKCkpOwot KyAgR2V0TGlua3MoKS0+UmVnaXN0ZXIodGhpcyk7Ci0rLy9GSVhNRTogdnRrOQotKyAgR2V0TGlu a3MoKS0+QnVpbGRMaW5rcyh0aGlzKTsKLSsgIEdldExpbmtzKCktPkRlbGV0ZSgpOwotKyNlbHNl Ci0gICB0aGlzLT5MaW5rcyA9IFNNRFNfQ2VsbExpbmtzOjpOZXcoKTsKLSAgIHRoaXMtPkxpbmtz LT5BbGxvY2F0ZSh0aGlzLT5HZXROdW1iZXJPZlBvaW50cygpKTsKLSAgIHRoaXMtPkxpbmtzLT5S ZWdpc3Rlcih0aGlzKTsKLSAgIHRoaXMtPkxpbmtzLT5CdWlsZExpbmtzKHRoaXMsIHRoaXMtPkNv bm5lY3Rpdml0eSk7Ci0gICB0aGlzLT5MaW5rcy0+RGVsZXRlKCk7Ci0rI2VuZGlmCi0gfQotIAot IC8qISBDcmVhdGUgYSB2b2x1bWUgKHByaXNtIG9yIGhleGFoZWRyb24pIGJ5IGR1cGxpY2F0aW9u IG9mIGEgZmFjZS4KLWRpZmYgLS1naXQgc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTURT L1NNRFNfVnRrQ2VsbEl0ZXJhdG9yLmNwcCBiL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMv U01EUy9TTURTX1Z0a0NlbGxJdGVyYXRvci5jcHAKLWluZGV4IGRlYjA1OTg1ZjAwLi42M2I2ZWFi YjcwNCAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURT X1Z0a0NlbGxJdGVyYXRvci5jcHAKLSsrKyBiL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMv U01EUy9TTURTX1Z0a0NlbGxJdGVyYXRvci5jcHAKLUBAIC0zMyw3ICszMyw4IEBAIFNNRFNfVnRr Q2VsbEl0ZXJhdG9yOjpTTURTX1Z0a0NlbGxJdGVyYXRvcihTTURTX01lc2gqIG1lc2gsIGludCB2 dGtDZWxsSWQsIFNNRFNBCi0gICB9Ci0gICBlbHNlCi0gICB7Ci0tICAgIHZ0a0lkVHlwZSBucHRz LCAqcHRzOwotKyAgICB2dGtJZFR5cGUgbnB0czsKLSsgICAgdnRrSWRUeXBlUHRyIHB0czsKLSAg ICAgZ3JpZC0+R2V0Q2VsbFBvaW50cyggX2NlbGxJZCwgbnB0cywgcHRzICk7Ci0gICAgIF92dGtJ ZExpc3QtPlNldE51bWJlck9mSWRzKCBfbmJOb2RlcyA9IG5wdHMgKTsKLSAgICAgZm9yIChpbnQg aSA9IDA7IGkgPCBfbmJOb2RlczsgaSsrKQotQEAgLTY3LDcgKzY4LDcgQEAgU01EU19WdGtDZWxs SXRlcmF0b3JUb1VOVjo6U01EU19WdGtDZWxsSXRlcmF0b3JUb1VOVihTTURTX01lc2gqIG1lc2gs IGludCB2dGtDZWwKLSAgIC8vTUVTU0FHRSgiU01EU19WdGtDZWxsSW50ZXJsYWNlZEl0ZXJhdG9y IChVTlYpIiA8PCBfdHlwZSk7Ci0gCi0gICBfdnRrSWRMaXN0ID0gdnRrSWRMaXN0OjpOZXcoKTsK LS0gIHZ0a0lkVHlwZSogcHRzOwotKyAgdnRrSWRUeXBlUHRyIHB0czsKLSAgIHZ0a0lkVHlwZSBu cHRzOwotICAgdnRrVW5zdHJ1Y3R1cmVkR3JpZCogZ3JpZCA9IF9tZXNoLT5nZXRHcmlkKCk7Ci0g ICBncmlkLT5HZXRDZWxsUG9pbnRzKCh2dGtJZFR5cGUpX2NlbGxJZCwgbnB0cywgcHRzKTsKLUBA IC0xODIsNyArMTgzLDcgQEAgU01EU19WdGtDZWxsSXRlcmF0b3JQb2x5SDo6U01EU19WdGtDZWxs SXRlcmF0b3JQb2x5SChTTURTX01lc2gqIG1lc2gsIGludCB2dGtDZWwKLSAgIHsKLSAgICAgLy9N RVNTQUdFKCJTTURTX1Z0a0NlbGxJdGVyYXRvciBQb2x5aGVkcmEiKTsKLSAgICAgdnRrSWRUeXBl IG5GYWNlcyA9IDA7Ci0tICAgIHZ0a0lkVHlwZSogcHRJZHMgPSAwOwotKyAgICB2dGtJZFR5cGVQ dHIgcHRJZHMgPSAwOwotICAgICBncmlkLT5HZXRGYWNlU3RyZWFtKF9jZWxsSWQsIG5GYWNlcywg cHRJZHMpOwotICAgICBpbnQgaWQgPSAwOwotICAgICBfbmJOb2Rlc0luRmFjZXMgPSAwOwotZGlm ZiAtLWdpdCBzcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19WdGtFZGdlLmNw cCBiL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX1Z0a0VkZ2UuY3BwCi1p bmRleCA5Nzg2YWJmOWFhZS4uNmQ3NzJhM2NkNGEgMTAwNjQ0Ci0tLS0gYS9zcmMvM3JkUGFydHkv c2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19WdGtFZGdlLmNwcAotKysrIGIvc3JjLzNyZFBhcnR5 L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfVnRrRWRnZS5jcHAKLUBAIC02Nyw2ICs2NywxOSBA QCBib29sIFNNRFNfVnRrRWRnZTo6Q2hhbmdlTm9kZXMoY29uc3QgU01EU19NZXNoTm9kZSAqIG5v ZGUxLCBjb25zdCBTTURTX01lc2hOb2RlCi0gYm9vbCBTTURTX1Z0a0VkZ2U6OkNoYW5nZU5vZGVz KGNvbnN0IFNNRFNfTWVzaE5vZGUqIG5vZGVzW10sIGNvbnN0IGludCBuYk5vZGVzKQotIHsKLSAg IHZ0a1Vuc3RydWN0dXJlZEdyaWQqIGdyaWQgPSBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJ ZF0tPmdldEdyaWQoKTsKLSsjaWZkZWYgVlRLX0NFTExfQVJSQVlfVjIKLSsgIHZ0a05ldzx2dGtJ ZExpc3Q+IGNlbGxQb2ludHM7Ci0rICBncmlkLT5HZXRDZWxsUG9pbnRzKG15VnRrSUQsIGNlbGxQ b2ludHMuR2V0UG9pbnRlcigpKTsKLSsgIGlmIChuYk5vZGVzICE9IGNlbGxQb2ludHMtPkdldE51 bWJlck9mSWRzKCkpCi0rICAgIHsKLSsgICAgICBNRVNTQUdFKCJDaGFuZ2VOb2RlcyBwcm9ibGVt OiBub3QgdGhlIHNhbWUgbnVtYmVyIG9mIG5vZGVzICIgPDwgY2VsbFBvaW50cy0+R2V0TnVtYmVy T2ZJZHMoKSA8PCAiIC0+ICIgPDwgbmJOb2Rlcyk7Ci0rICAgICAgcmV0dXJuIGZhbHNlOwotKyAg ICB9Ci0rICBmb3IgKGludCBpID0gMDsgaSA8IG5iTm9kZXM7IGkrKykKLSsgICAgewotKyAgICAg IGNlbGxQb2ludHMtPlNldElkKGksIG5vZGVzW2ldLT5nZXRWdGtJZCgpKTsKLSsgICAgfQotKyNl bHNlCi0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0gICB2dGtJZFR5cGUqIHB0cyA9IDA7Ci0gICBn cmlkLT5HZXRDZWxsUG9pbnRzKG15VnRrSUQsIG5wdHMsIHB0cyk7Ci1AQCAtNzksNiArOTIsNyBA QCBib29sIFNNRFNfVnRrRWRnZTo6Q2hhbmdlTm9kZXMoY29uc3QgU01EU19NZXNoTm9kZSogbm9k ZXNbXSwgY29uc3QgaW50IG5iTm9kZXMpCi0gICAgIHsKLSAgICAgICBwdHNbaV0gPSBub2Rlc1tp XS0+Z2V0VnRrSWQoKTsKLSAgICAgfQotKyNlbmRpZgotICAgU01EU19NZXNoOjpfbWVzaExpc3Rb bXlNZXNoSWRdLT5zZXRNeU1vZGlmaWVkKCk7Ci0gICByZXR1cm4gdHJ1ZTsKLSB9Ci1AQCAtODcs NyArMTAxLDcgQEAgYm9vbCBTTURTX1Z0a0VkZ2U6OklzTWVkaXVtTm9kZShjb25zdCBTTURTX01l c2hOb2RlKiBub2RlKSBjb25zdAotIHsKLSAgIHZ0a1Vuc3RydWN0dXJlZEdyaWQqIGdyaWQgPSBT TURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPmdldEdyaWQoKTsKLSAgIHZ0a0lkVHlwZSBu cHRzID0gMDsKLS0gIHZ0a0lkVHlwZSogcHRzID0gMDsKLSsgIHZ0a0lkVHlwZVB0ciBwdHMgPSAw OwotICAgZ3JpZC0+R2V0Q2VsbFBvaW50cyhteVZ0a0lELCBucHRzLCBwdHMpOwotICAgLy9NRVNT QUdFKCJJc01lZGl1bU5vZGUgIiA8PCBucHRzICA8PCAiICIgPDwgKG5vZGUtPmdldFZ0a0lkKCkg PT0gcHRzW25wdHMtMV0pKTsKLSAgIHJldHVybiAoKG5wdHMgPT0gMykgJiYgKG5vZGUtPmdldFZ0 a0lkKCkgPT0gcHRzWzJdKSk7Ci1AQCAtMTM3LDcgKzE1MSw4IEBAIGNvbnN0IFNNRFNfTWVzaE5v ZGUqCi0gU01EU19WdGtFZGdlOjpHZXROb2RlKGNvbnN0IGludCBpbmQpIGNvbnN0Ci0gewotICAg dnRrVW5zdHJ1Y3R1cmVkR3JpZCogZ3JpZCA9IFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElk XS0+Z2V0R3JpZCgpOwotLSAgdnRrSWRUeXBlIG5wdHMsICpwdHM7Ci0rICB2dGtJZFR5cGUgbnB0 czsKLSsgIHZ0a0lkVHlwZVB0ciBwdHM7Ci0gICBncmlkLT5HZXRDZWxsUG9pbnRzKCB0aGlzLT5t eVZ0a0lELCBucHRzLCBwdHMgKTsKLSAgIHJldHVybiBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1l c2hJZF0tPkZpbmROb2RlVnRrKCBwdHNbIGluZCBdKTsKLSB9Ci1kaWZmIC0tZ2l0IHNyYy8zcmRQ YXJ0eS9zYWxvbWVzbWVzaC9zcmMvU01EUy9TTURTX1Z0a0ZhY2UuY3BwIGIvc3JjLzNyZFBhcnR5 L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfVnRrRmFjZS5jcHAKLWluZGV4IDEzODllMGQzNTg1 Li5jYjk4MWJmYjE4ZSAxMDA2NDQKLS0tLSBhL3NyYy8zcmRQYXJ0eS9zYWxvbWVzbWVzaC9zcmMv U01EUy9TTURTX1Z0a0ZhY2UuY3BwCi0rKysgYi9zcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3Jj L1NNRFMvU01EU19WdGtGYWNlLmNwcAotQEAgLTEwMSw2ICsxMDEsMTkgQEAgdm9pZCBTTURTX1Z0 a0ZhY2U6OmluaXRRdWFkUG9seShjb25zdCBzdGQ6OnZlY3Rvcjx2dGtJZFR5cGU+JiBub2RlSWRz LCBTTURTX01lc2gKLSBib29sIFNNRFNfVnRrRmFjZTo6Q2hhbmdlTm9kZXMoY29uc3QgU01EU19N ZXNoTm9kZSogbm9kZXNbXSwgY29uc3QgaW50IG5iTm9kZXMpCi0gewotICAgdnRrVW5zdHJ1Y3R1 cmVkR3JpZCogZ3JpZCA9IFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXS0+Z2V0R3JpZCgp OwotKyNpZmRlZiBWVEtfQ0VMTF9BUlJBWV9WMgotKyAgdnRrTmV3PHZ0a0lkTGlzdD4gY2VsbFBv aW50czsKLSsgIGdyaWQtPkdldENlbGxQb2ludHMobXlWdGtJRCwgY2VsbFBvaW50cy5HZXRQb2lu dGVyKCkpOwotKyAgaWYgKG5iTm9kZXMgIT0gY2VsbFBvaW50cy0+R2V0TnVtYmVyT2ZJZHMoKSkK LSsgICAgewotKyAgICAgIE1FU1NBR0UoIkNoYW5nZU5vZGVzIHByb2JsZW06IG5vdCB0aGUgc2Ft ZSBudW1iZXIgb2Ygbm9kZXMgIiA8PCBjZWxsUG9pbnRzLT5HZXROdW1iZXJPZklkcygpIDw8ICIg LT4gIiA8PCBuYk5vZGVzKTsKLSsgICAgICByZXR1cm4gZmFsc2U7Ci0rICAgIH0KLSsgIGZvciAo aW50IGkgPSAwOyBpIDwgbmJOb2RlczsgaSsrKQotKyAgICB7Ci0rICAgICAgY2VsbFBvaW50cy0+ U2V0SWQoaSwgbm9kZXNbaV0tPmdldFZ0a0lkKCkpOwotKyAgICB9Ci0rI2Vsc2UKLSAgIHZ0a0lk VHlwZSBucHRzID0gMDsKLSAgIHZ0a0lkVHlwZSogcHRzID0gMDsKLSAgIGdyaWQtPkdldENlbGxQ b2ludHMobXlWdGtJRCwgbnB0cywgcHRzKTsKLUBAIC0xMTMsNiArMTI2LDcgQEAgYm9vbCBTTURT X1Z0a0ZhY2U6OkNoYW5nZU5vZGVzKGNvbnN0IFNNRFNfTWVzaE5vZGUqIG5vZGVzW10sIGNvbnN0 IGludCBuYk5vZGVzKQotICAgICB7Ci0gICAgICAgcHRzW2ldID0gbm9kZXNbaV0tPmdldFZ0a0lk KCk7Ci0gICAgIH0KLSsjZW5kaWYKLSAgIFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXS0+ c2V0TXlNb2RpZmllZCgpOwotICAgcmV0dXJuIHRydWU7Ci0gfQotQEAgLTE3Myw3ICsxODcsOCBA QCBjb25zdCBTTURTX01lc2hOb2RlKgotIFNNRFNfVnRrRmFjZTo6R2V0Tm9kZShjb25zdCBpbnQg aW5kKSBjb25zdAotIHsKLSAgIHZ0a1Vuc3RydWN0dXJlZEdyaWQqIGdyaWQgPSBTTURTX01lc2g6 Ol9tZXNoTGlzdFtteU1lc2hJZF0tPmdldEdyaWQoKTsKLS0gIHZ0a0lkVHlwZSBucHRzLCAqcHRz OwotKyAgdnRrSWRUeXBlIG5wdHM7Ci0rICB2dGtJZFR5cGVQdHIgcHRzOwotICAgZ3JpZC0+R2V0 Q2VsbFBvaW50cyggdGhpcy0+bXlWdGtJRCwgbnB0cywgcHRzICk7Ci0gICByZXR1cm4gU01EU19N ZXNoOjpfbWVzaExpc3RbbXlNZXNoSWRdLT5GaW5kTm9kZVZ0ayggcHRzWyBpbmQgXSk7Ci0gfQot QEAgLTE4Niw3ICsyMDEsOCBAQCBTTURTX1Z0a0ZhY2U6OkdldE5vZGUoY29uc3QgaW50IGluZCkg Y29uc3QKLSBpbnQgU01EU19WdGtGYWNlOjpHZXROb2RlSW5kZXgoIGNvbnN0IFNNRFNfTWVzaE5v ZGUqIG5vZGUgKSBjb25zdAotIHsKLSAgIHZ0a1Vuc3RydWN0dXJlZEdyaWQqIGdyaWQgPSBTTURT X01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPmdldEdyaWQoKTsKLS0gIHZ0a0lkVHlwZSBucHRz LCAqcHRzOwotKyAgdnRrSWRUeXBlIG5wdHM7Ci0rICB2dGtJZFR5cGVQdHIgcHRzOwotICAgZ3Jp ZC0+R2V0Q2VsbFBvaW50cyggdGhpcy0+bXlWdGtJRCwgbnB0cywgcHRzICk7Ci0gICBmb3IgKCB2 dGtJZFR5cGUgaSA9IDA7IGkgPCBucHRzOyArK2kgKQotICAgICBpZiAoIHB0c1tpXSA9PSBub2Rl LT5nZXRWdGtJZCgpICkKLUBAIC0yNTEsNyArMjY3LDcgQEAgYm9vbCBTTURTX1Z0a0ZhY2U6Oklz TWVkaXVtTm9kZShjb25zdCBTTURTX01lc2hOb2RlKiBub2RlKSBjb25zdAotICAgICByZXR1cm4g ZmFsc2U7Ci0gICB9Ci0gICB2dGtJZFR5cGUgbnB0cyA9IDA7Ci0tICB2dGtJZFR5cGUqIHB0cyA9 IDA7Ci0rICB2dGtJZFR5cGVQdHIgcHRzID0gMDsKLSAgIGdyaWQtPkdldENlbGxQb2ludHMobXlW dGtJRCwgbnB0cywgcHRzKTsKLSAgIHZ0a0lkVHlwZSBub2RlSWQgPSBub2RlLT5nZXRWdGtJZCgp OwotICAgZm9yIChpbnQgcmFuayA9IDA7IHJhbmsgPCBucHRzOyByYW5rKyspCi1AQCAtMzU2LDEx ICszNzIsMTggQEAgU01EU19Ob2RlSXRlcmF0b3JQdHIgU01EU19WdGtGYWNlOjppbnRlcmxhY2Vk Tm9kZXNJdGVyYXRvcigpIGNvbnN0Ci0gdm9pZCBTTURTX1Z0a0ZhY2U6OkNoYW5nZUFwZXgoU01E U19NZXNoTm9kZSogbm9kZSkKLSB7Ci0gICB2dGtVbnN0cnVjdHVyZWRHcmlkKiBncmlkID0gU01E U19NZXNoOjpfbWVzaExpc3RbbXlNZXNoSWRdLT5nZXRHcmlkKCk7Ci0rI2lmZGVmIFZUS19DRUxM X0FSUkFZX1YyCi0rICB2dGtOZXc8dnRrSWRMaXN0PiBjZWxsUG9pbnRzOwotKyAgZ3JpZC0+R2V0 Q2VsbFBvaW50cyhteVZ0a0lELCBjZWxsUG9pbnRzLkdldFBvaW50ZXIoKSk7Ci0rICBncmlkLT5S ZW1vdmVSZWZlcmVuY2VUb0NlbGwoY2VsbFBvaW50cy0+R2V0SWQoMCksIG15VnRrSUQpOwotKyAg Y2VsbFBvaW50cy0+U2V0SWQoMCwgbm9kZS0+Z2V0VnRrSWQoKSk7Ci0rI2Vsc2UKLSAgIHZ0a0lk VHlwZSBucHRzID0gMDsKLSAgIHZ0a0lkVHlwZSogcHRzID0gMDsKLSAgIGdyaWQtPkdldENlbGxQ b2ludHMobXlWdGtJRCwgbnB0cywgcHRzKTsKLSAgIGdyaWQtPlJlbW92ZVJlZmVyZW5jZVRvQ2Vs bChwdHNbMF0sIG15VnRrSUQpOwotICAgcHRzWzBdID0gbm9kZS0+Z2V0VnRrSWQoKTsKLSsjZW5k aWYKLSAgIG5vZGUtPkFkZEludmVyc2VFbGVtZW50KHRoaXMpLAotICAgU01EU19NZXNoOjpfbWVz aExpc3RbbXlNZXNoSWRdLT5zZXRNeU1vZGlmaWVkKCk7Ci0gfQotZGlmZiAtLWdpdCBzcmMvM3Jk UGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRFMvU01EU19WdGtWb2x1bWUuY3BwIGIvc3JjLzNyZFBh cnR5L3NhbG9tZXNtZXNoL3NyYy9TTURTL1NNRFNfVnRrVm9sdW1lLmNwcAotaW5kZXggMDE1ZWRm NzVmZDIuLjE5ZWJkMDc0NmM4IDEwMDY0NAotLS0tIGEvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNo L3NyYy9TTURTL1NNRFNfVnRrVm9sdW1lLmNwcAotKysrIGIvc3JjLzNyZFBhcnR5L3NhbG9tZXNt ZXNoL3NyYy9TTURTL1NNRFNfVnRrVm9sdW1lLmNwcAotQEAgLTEzMyw2ICsxMzMsMTkgQEAgdm9p ZCBTTURTX1Z0a1ZvbHVtZTo6aW5pdFBvbHkoY29uc3Qgc3RkOjp2ZWN0b3I8dnRrSWRUeXBlPiYg bm9kZUlkcywKLSBib29sIFNNRFNfVnRrVm9sdW1lOjpDaGFuZ2VOb2Rlcyhjb25zdCBTTURTX01l c2hOb2RlKiBub2Rlc1tdLCBjb25zdCBpbnQgbmJOb2RlcykKLSB7Ci0gICB2dGtVbnN0cnVjdHVy ZWRHcmlkKiBncmlkID0gU01EU19NZXNoOjpfbWVzaExpc3RbbXlNZXNoSWRdLT5nZXRHcmlkKCk7 Ci0rI2lmZGVmIFZUS19DRUxMX0FSUkFZX1YyCi0rICB2dGtOZXc8dnRrSWRMaXN0PiBjZWxsUG9p bnRzOwotKyAgZ3JpZC0+R2V0Q2VsbFBvaW50cyhteVZ0a0lELCBjZWxsUG9pbnRzLkdldFBvaW50 ZXIoKSk7Ci0rICBpZiAobmJOb2RlcyAhPSBjZWxsUG9pbnRzLT5HZXROdW1iZXJPZklkcygpKQot KyAgICB7Ci0rICAgICAgTUVTU0FHRSgiQ2hhbmdlTm9kZXMgcHJvYmxlbTogbm90IHRoZSBzYW1l IG51bWJlciBvZiBub2RlcyAiIDw8IGNlbGxQb2ludHMtPkdldE51bWJlck9mSWRzKCkgPDwgIiAt PiAiIDw8IG5iTm9kZXMpOwotKyAgICAgIHJldHVybiBmYWxzZTsKLSsgICAgfQotKyAgZm9yIChp bnQgaSA9IDA7IGkgPCBuYk5vZGVzOyBpKyspCi0rICAgIHsKLSsgICAgICBjZWxsUG9pbnRzLT5T ZXRJZChpLCBub2Rlc1tpXS0+Z2V0VnRrSWQoKSk7Ci0rICAgIH0KLSsjZWxzZQotICAgdnRrSWRU eXBlIG5wdHMgPSAwOwotICAgdnRrSWRUeXBlKiBwdHMgPSAwOwotICAgZ3JpZC0+R2V0Q2VsbFBv aW50cyhteVZ0a0lELCBucHRzLCBwdHMpOwotQEAgLTE0NSw2ICsxNTgsNyBAQCBib29sIFNNRFNf VnRrVm9sdW1lOjpDaGFuZ2VOb2Rlcyhjb25zdCBTTURTX01lc2hOb2RlKiBub2Rlc1tdLCBjb25z dCBpbnQgbmJOb2RlcwotICAgICB7Ci0gICAgICAgcHRzW2ldID0gbm9kZXNbaV0tPmdldFZ0a0lk KCk7Ci0gICAgIH0KLSsjZW5kaWYKLSAgIFNNRFNfTWVzaDo6X21lc2hMaXN0W215TWVzaElkXS0+ c2V0TXlNb2RpZmllZCgpOwotICAgcmV0dXJuIHRydWU7Ci0gfQotQEAgLTIwNyw3ICsyMjEsNyBA QCBpbnQgU01EU19WdGtWb2x1bWU6Ok5iRmFjZXMoKSBjb25zdAotICAgICBjYXNlIFZUS19QT0xZ SEVEUk9OOgotICAgICAgIHsKLSAgICAgICAgIHZ0a0lkVHlwZSBuRmFjZXMgPSAwOwotLSAgICAg ICAgdnRrSWRUeXBlKiBwdElkcyA9IDA7Ci0rICAgICAgICB2dGtJZFR5cGVQdHIgcHRJZHMgPSAw OwotICAgICAgICAgZ3JpZC0+R2V0RmFjZVN0cmVhbSh0aGlzLT5teVZ0a0lELCBuRmFjZXMsIHB0 SWRzKTsKLSAgICAgICAgIG5iRmFjZXMgPSBuRmFjZXM7Ci0gICAgICAgICBicmVhazsKLUBAIC0y MzYsNyArMjUwLDcgQEAgaW50IFNNRFNfVnRrVm9sdW1lOjpOYk5vZGVzKCkgY29uc3QKLSAgIGVs c2UKLSAgICAgewotICAgICAgIHZ0a0lkVHlwZSBuRmFjZXMgPSAwOwotLSAgICAgIHZ0a0lkVHlw ZSogcHRJZHMgPSAwOwotKyAgICAgIHZ0a0lkVHlwZVB0ciBwdElkcyA9IDA7Ci0gICAgICAgZ3Jp ZC0+R2V0RmFjZVN0cmVhbSh0aGlzLT5teVZ0a0lELCBuRmFjZXMsIHB0SWRzKTsKLSAgICAgICBp bnQgaWQgPSAwOwotICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbkZhY2VzOyBpKyspCi1AQCAt Mjc2LDcgKzI5MCw3IEBAIGludCBTTURTX1Z0a1ZvbHVtZTo6TmJFZGdlcygpIGNvbnN0Ci0gICAg IGNhc2UgVlRLX1BPTFlIRURST046Ci0gICAgICAgewotICAgICAgICAgdnRrSWRUeXBlIG5GYWNl cyA9IDA7Ci0tICAgICAgICB2dGtJZFR5cGUqIHB0SWRzID0gMDsKLSsgICAgICAgIHZ0a0lkVHlw ZVB0ciBwdElkcyA9IDA7Ci0gICAgICAgICBncmlkLT5HZXRGYWNlU3RyZWFtKHRoaXMtPm15VnRr SUQsIG5GYWNlcywgcHRJZHMpOwotICAgICAgICAgbmJFZGdlcyA9IDA7Ci0gICAgICAgICBpbnQg aWQgPSAwOwotQEAgLTMxMiw3ICszMjYsNyBAQCBpbnQgU01EU19WdGtWb2x1bWU6Ok5iRmFjZU5v ZGVzKGNvbnN0IGludCBmYWNlX2luZCkgY29uc3QKLSAgIGlmIChhVnRrVHlwZSA9PSBWVEtfUE9M WUhFRFJPTikKLSAgICAgewotICAgICAgIHZ0a0lkVHlwZSBuRmFjZXMgPSAwOwotLSAgICAgIHZ0 a0lkVHlwZSogcHRJZHMgPSAwOwotKyAgICAgIHZ0a0lkVHlwZVB0ciBwdElkcyA9IDA7Ci0gICAg ICAgZ3JpZC0+R2V0RmFjZVN0cmVhbSh0aGlzLT5teVZ0a0lELCBuRmFjZXMsIHB0SWRzKTsKLSAg ICAgICBpbnQgaWQgPSAwOwotICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbkZhY2VzOyBpKysp Ci1AQCAtMzQyLDcgKzM1Niw3IEBAIGNvbnN0IFNNRFNfTWVzaE5vZGUqIFNNRFNfVnRrVm9sdW1l OjpHZXRGYWNlTm9kZShjb25zdCBpbnQgZmFjZV9pbmQsIGNvbnN0IGludCBuCi0gICBpZiAoYVZ0 a1R5cGUgPT0gVlRLX1BPTFlIRURST04pCi0gICAgIHsKLSAgICAgICB2dGtJZFR5cGUgbkZhY2Vz ID0gMDsKLS0gICAgICB2dGtJZFR5cGUqIHB0SWRzID0gMDsKLSsgICAgICB2dGtJZFR5cGVQdHIg cHRJZHMgPSAwOwotICAgICAgIGdyaWQtPkdldEZhY2VTdHJlYW0odGhpcy0+bXlWdGtJRCwgbkZh Y2VzLCBwdElkcyk7Ci0gICAgICAgaW50IGlkID0gMDsKLSAgICAgICBmb3IgKGludCBpID0gMDsg aSA8IG5GYWNlczsgaSsrKQotQEAgLTM3Miw3ICszODYsNyBAQCBzdGQ6OnZlY3RvcjxpbnQ+IFNN RFNfVnRrVm9sdW1lOjpHZXRRdWFudGl0aWVzKCkgY29uc3QKLSAgIGlmIChhVnRrVHlwZSA9PSBW VEtfUE9MWUhFRFJPTikKLSAgICAgewotICAgICAgIHZ0a0lkVHlwZSBuRmFjZXMgPSAwOwotLSAg ICAgIHZ0a0lkVHlwZSogcHRJZHMgPSAwOwotKyAgICAgIHZ0a0lkVHlwZVB0ciBwdElkcyA9IDA7 Ci0gICAgICAgZ3JpZC0+R2V0RmFjZVN0cmVhbSh0aGlzLT5teVZ0a0lELCBuRmFjZXMsIHB0SWRz KTsKLSAgICAgICBpbnQgaWQgPSAwOwotICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbkZhY2Vz OyBpKyspCi1AQCAtNDMwLDcgKzQ0NCw3IEBAIGNvbnN0IFNNRFNfTWVzaE5vZGUqIFNNRFNfVnRr Vm9sdW1lOjpHZXROb2RlKGNvbnN0IGludCBpbmQpIGNvbnN0Ci0gICBpZiAoIGFWdGtUeXBlID09 IFZUS19QT0xZSEVEUk9OKQotICAgewotICAgICB2dGtJZFR5cGUgbkZhY2VzID0gMDsKLS0gICAg dnRrSWRUeXBlKiBwdElkcyA9IDA7Ci0rICAgIHZ0a0lkVHlwZVB0ciBwdElkcyA9IDA7Ci0gICAg IGdyaWQtPkdldEZhY2VTdHJlYW0odGhpcy0+bXlWdGtJRCwgbkZhY2VzLCBwdElkcyk7Ci0gICAg IGludCBpZCA9IDAsIG5iUG9pbnRzID0gMDsKLSAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuRmFj ZXM7IGkrKykKLUBAIC00NDMsNyArNDU3LDggQEAgY29uc3QgU01EU19NZXNoTm9kZSogU01EU19W dGtWb2x1bWU6OkdldE5vZGUoY29uc3QgaW50IGluZCkgY29uc3QKLSAgICAgfQotICAgICByZXR1 cm4gMDsKLSAgIH0KLS0gIHZ0a0lkVHlwZSBucHRzLCAqcHRzOwotKyAgdnRrSWRUeXBlIG5wdHM7 Ci0rICB2dGtJZFR5cGVQdHIgcHRzOwotICAgZ3JpZC0+R2V0Q2VsbFBvaW50cyggdGhpcy0+bXlW dGtJRCwgbnB0cywgcHRzICk7Ci0gICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+JiBpbnRlcmxhY2Ug PSBTTURTX01lc2hDZWxsOjpmcm9tVnRrT3JkZXIoIFZUS0NlbGxUeXBlKCBhVnRrVHlwZSApKTsK LSAgIHJldHVybiBTTURTX01lc2g6Ol9tZXNoTGlzdFtteU1lc2hJZF0tPkZpbmROb2RlVnRrKCBw dHNbIGludGVybGFjZS5lbXB0eSgpID8gaW5kIDogaW50ZXJsYWNlW2luZF1dICk7Ci1AQCAtNDYw LDcgKzQ3NSw3IEBAIGludCBTTURTX1Z0a1ZvbHVtZTo6R2V0Tm9kZUluZGV4KCBjb25zdCBTTURT X01lc2hOb2RlKiBub2RlICkgY29uc3QKLSAgIGlmICggYVZ0a1R5cGUgPT0gVlRLX1BPTFlIRURS T04pCi0gICB7Ci0gICAgIHZ0a0lkVHlwZSBuRmFjZXMgPSAwOwotLSAgICB2dGtJZFR5cGUqIHB0 SWRzID0gMDsKLSsgICAgdnRrSWRUeXBlUHRyIHB0SWRzID0gMDsKLSAgICAgZ3JpZC0+R2V0RmFj ZVN0cmVhbSh0aGlzLT5teVZ0a0lELCBuRmFjZXMsIHB0SWRzKTsKLSAgICAgaW50IGlkID0gMDsK LSAgICAgZm9yIChpbnQgaUYgPSAwOyBpRiA8IG5GYWNlczsgaUYrKykKLUBAIC00NzMsNyArNDg4 LDggQEAgaW50IFNNRFNfVnRrVm9sdW1lOjpHZXROb2RlSW5kZXgoIGNvbnN0IFNNRFNfTWVzaE5v ZGUqIG5vZGUgKSBjb25zdAotICAgICB9Ci0gICAgIHJldHVybiAtMTsKLSAgIH0KLS0gIHZ0a0lk VHlwZSBucHRzLCAqcHRzOwotKyAgdnRrSWRUeXBlIG5wdHM7Ci0rICB2dGtJZFR5cGVQdHIgcHRz OwotICAgZ3JpZC0+R2V0Q2VsbFBvaW50cyggdGhpcy0+bXlWdGtJRCwgbnB0cywgcHRzICk7Ci0g ICBmb3IgKCB2dGtJZFR5cGUgaSA9IDA7IGkgPCBucHRzOyArK2kgKQotICAgICBpZiAoIHB0c1tp XSA9PSBub2RlLT5nZXRWdGtJZCgpICkKLUBAIC01MzQsNyArNTUwLDcgQEAgYm9vbCBTTURTX1Z0 a1ZvbHVtZTo6SXNNZWRpdW1Ob2RlKGNvbnN0IFNNRFNfTWVzaE5vZGUqIG5vZGUpIGNvbnN0Ci0g ICAgICAgcmV0dXJuIGZhbHNlOwotICAgfQotICAgdnRrSWRUeXBlIG5wdHMgPSAwOwotLSAgdnRr SWRUeXBlKiBwdHMgPSAwOwotKyAgdnRrSWRUeXBlUHRyIHB0cyA9IDA7Ci0gICBncmlkLT5HZXRD ZWxsUG9pbnRzKG15VnRrSUQsIG5wdHMsIHB0cyk7Ci0gICB2dGtJZFR5cGUgbm9kZUlkID0gbm9k ZS0+Z2V0VnRrSWQoKTsKLSAgIGZvciAoaW50IHJhbmsgPSAwOyByYW5rIDwgbnB0czsgcmFuaysr KQotZGlmZiAtLWdpdCBzcmMvM3JkUGFydHkvc2Fsb21lc21lc2gvc3JjL1NNRVNIL1NNRVNIX01l c2hFZGl0b3IuY3BwIGIvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTUVTSC9TTUVTSF9N ZXNoRWRpdG9yLmNwcAotaW5kZXggZmNkMDQ0YjAwZjIuLmY1NGMyNGY4NjE4IDEwMDY0NAotLS0t IGEvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTUVTSC9TTUVTSF9NZXNoRWRpdG9yLmNw cAotKysrIGIvc3JjLzNyZFBhcnR5L3NhbG9tZXNtZXNoL3NyYy9TTUVTSC9TTUVTSF9NZXNoRWRp dG9yLmNwcAotQEAgLTExMzQ4LDcgKzExMzQ4LDcgQEAgYm9vbCBTTUVTSF9NZXNoRWRpdG9yOjpE b3VibGVOb2Rlc09uR3JvdXBCb3VuZGFyaWVzKCBjb25zdCBzdGQ6OnZlY3RvcjxUSURTb3J0ZWQK LSAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICBpbnQgb2xkSWQgPSAqaXRuOwotICAgICAg ICAgICAgICAgLy9NRVNTQUdFKCIgICAgIG5vZGUgIiA8PCBvbGRJZCk7Ci0tICAgICAgICAgICAg ICB2dGtDZWxsTGlua3M6OkxpbmsgbCA9IGdyaWQtPkdldENlbGxMaW5rcygpLT5HZXRMaW5rKG9s ZElkKTsKLSsgICAgICAgICAgICAgIHZ0a0NlbGxMaW5rczo6TGluayBsID0gc3RhdGljX2Nhc3Q8 dnRrQ2VsbExpbmtzKj4oZ3JpZC0+R2V0Q2VsbExpbmtzKCkpLT5HZXRMaW5rKG9sZElkKTsKLSAg ICAgICAgICAgICAgIGZvciAoaW50IGk9MDsgaTxsLm5jZWxsczsgaSsrKQotICAgICAgICAgICAg ICAgICB7Ci0gICAgICAgICAgICAgICAgICAgaW50IHZ0a0lkID0gbC5jZWxsc1tpXTsKLUBAIC0x MTUyNyw3ICsxMTUyNyw3IEBAIGJvb2wgU01FU0hfTWVzaEVkaXRvcjo6RG91YmxlTm9kZXNPbkdy b3VwQm91bmRhcmllcyggY29uc3Qgc3RkOjp2ZWN0b3I8VElEU29ydGVkCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9NRVNTQUdFKCIgIGRvbWFpbiAiIDw8IGlk b20gPDwgIiB2b2x1bWUgIiA8PCBlbGVtLT5HZXRJRCgpKTsKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkb3VibGUgdmFsdWVzWzNdOwotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ0a0lkVHlwZSBucHRzID0gMDsKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2dGtJZFR5cGUqIHB0cyA9IDA7Ci0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnRrSWRUeXBlUHRyIHB0 cyA9IDA7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC0+ R2V0Q2VsbFBvaW50cyh2dGtWb2xJZHNbaXZvbF0sIG5wdHMsIHB0cyk7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU01EU19WdGtWb2x1bWU6OmdyYXZpdHlDZW50 ZXIoZ3JpZCwgcHRzLCBucHRzLCB2YWx1ZXMpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGlmIChpZCA9PTApCi1AQCAtMTE3MDgsNyArMTE3MDgsNyBAQCBib29s IFNNRVNIX01lc2hFZGl0b3I6OkRvdWJsZU5vZGVzT25Hcm91cEJvdW5kYXJpZXMoIGNvbnN0IHN0 ZDo6dmVjdG9yPFRJRFNvcnRlZAotICAgICAgICAgewotICAgICAgICAgICBpbnQgb2xkSWQgPSBp dG5vZC0+Zmlyc3Q7Ci0gICAgICAgICAgIC8vTUVTU0FHRSgiICAgICBub2RlICIgPDwgb2xkSWQp OwotLSAgICAgICAgICB2dGtDZWxsTGlua3M6OkxpbmsgbCA9IGdyaWQtPkdldENlbGxMaW5rcygp LT5HZXRMaW5rKG9sZElkKTsKLSsgICAgICAgICAgdnRrQ2VsbExpbmtzOjpMaW5rIGwgPSBzdGF0 aWNfY2FzdDx2dGtDZWxsTGlua3MqPihncmlkLT5HZXRDZWxsTGlua3MoKSktPkdldExpbmsob2xk SWQpOwotICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGwubmNlbGxzOyBpKyspCi0gICAg ICAgICAgICAgewotICAgICAgICAgICAgICAgaW50IHZ0a0lkID0gbC5jZWxsc1tpXTsKLUBAIC0x MjE2NSw3ICsxMjE2NSw3IEBAIHZvaWQgU01FU0hfTWVzaEVkaXRvcjo6Q3JlYXRlSG9sZVNraW4o ZG91YmxlIHJhZGl1cywKLSAgICAgICAgICAgTUVTU0FHRSgidm9sdW1lIHRvIGNoZWNrLCAgdnRr SWQgIiA8PCB2dGtJZCA8PCAiIHNtZHNJZCAiIDw8IG1lc2hEUy0+ZnJvbVZ0a1RvU21kcyh2dGtJ ZCkpOwotICAgICAgICAgICBib29sIHZvbEluc2lkZSA9IGZhbHNlOwotICAgICAgICAgICB2dGtJ ZFR5cGUgbnB0cyA9IDA7Ci0tICAgICAgICAgIHZ0a0lkVHlwZSogcHRzID0gMDsKLSsgICAgICAg ICAgdnRrSWRUeXBlUHRyIHB0cyA9IDA7Ci0gICAgICAgICAgIGdyaWQtPkdldENlbGxQb2ludHMo dnRrSWQsIG5wdHMsIHB0cyk7Ci0gICAgICAgICAgIGZvciAoaW50IGk9MDsgaTxucHRzOyBpKysp Ci0gICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVlY2FkL3BhdGNoZXMvMTUy LWNtYWtlLXZ0azkucGF0Y2ggYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTItY21ha2UtdnRr OS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FiZmZjZjU3ZTg0Li4wMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9mcmVlY2FkL3BhdGNoZXMvMTUyLWNtYWtlLXZ0azkucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0tLS0gYS9jTWFrZS9GcmVlQ0FEX0hl bHBlcnMvU2V0dXBTYWxvbWVTTUVTSC5jbWFrZQkyMDIwLTExLTI2IDE1OjU5OjI3LjAwMDAwMDAw MCArMDEwMAotKysrIGIvY01ha2UvRnJlZUNBRF9IZWxwZXJzL1NldHVwU2Fsb21lU01FU0guY21h a2UJMjAyMC0xMS0yNiAyMzowOToxMi43NzgyNjI2MzYgKzAxMDAKLUBAIC0xMSw2ICsxMSw4IEBA Ci0gICAgICAgICBzZXQoU01FU0hfVkVSU0lPTl9UV0VBSyAwKQotIAotICAgICAgICAgI2lmIHdl IHVzZSBzbWVzaCB3ZSBkZWZpbml0ZWx5IGFsc28gbmVlZCB2dGssIG5vIG1hdHRlciBvZiBleHRl cm5hbCBvciBpbnRlcm5hbCBzbWVzaAotKyAgICAgICAgZmluZF9wYWNrYWdlKFZUSyBSRVFVSVJF RCBOT19NT0RVTEUpCi0rICAgICAgICBpZigke1ZUS19NQUpPUl9WRVJTSU9OfSBMRVNTIDkpCi0g ICAgICAgICBzZXQgKFZUS19DT01QT05FTlRTCi0gICAgICAgICAgICAgdnRrQ29tbW9uQ29yZQot ICAgICAgICAgICAgIHZ0a0NvbW1vbkRhdGFNb2RlbAotQEAgLTIzLDE4ICsyNSwzNyBAQAotICAg ICAgICAgICAgIHZ0a0ZpbHRlcnNTb3VyY2VzCi0gICAgICAgICAgICAgdnRrRmlsdGVyc0dlb21l dHJ5Ci0gICAgICAgICApCi0tCi0tICAgICAgICAjIGNoZWNrIHdoaWNoIG1vZHVsZXMgYXJlIGF2 YWlsYWJsZQotLSAgICAgICAgaWYoVU5JWCBPUiBXSU4zMikKLSAgICAgICAgICAgICBmaW5kX3Bh Y2thZ2UoVlRLIENPTVBPTkVOVFMgdnRrQ29tbW9uQ29yZSBSRVFVSVJFRCBOT19NT0RVTEUpCi0g ICAgICAgICAgICAgbGlzdChBUFBFTkQgVlRLX0NPTVBPTkVOVFMgdnRrSU9NUElQYXJhbGxlbCB2 dGtQYXJhbGxlbE1QSSB2dGtoZGY1IHZ0a0ZpbHRlcnNQYXJhbGxlbERJWTIgdnRrUmVuZGVyaW5n Q29yZSB2dGtJbnRlcmFjdGlvblN0eWxlIHZ0a1JlbmRlcmluZ0ZyZWVUeXBlIHZ0a1JlbmRlcmlu Z09wZW5HTDIpCi0rICAgICAgICBlbHNlKCkKLSsgICAgICAgICAgICAjIFZUSyA5IGNoYW5nZWQg aXRzIGNvbXBvbmVudCBuYW1lcwotKyAgICAgICAgICAgIHNldCAoVlRLX0NPTVBPTkVOVFMKLSsg ICAgICAgICAgICAgICAgQ29tbW9uQ29yZQotKyAgICAgICAgICAgICAgICBDb21tb25EYXRhTW9k ZWwKLSsgICAgICAgICAgICAgICAgRmlsdGVyc1ZlcmRpY3QKLSsgICAgICAgICAgICAgICAgSU9Y TUwKLSsgICAgICAgICAgICAgICAgRmlsdGVyc0NvcmUKLSsgICAgICAgICAgICAgICAgRmlsdGVy c0dlbmVyYWwKLSsgICAgICAgICAgICAgICAgSU9MZWdhY3kKLSsgICAgICAgICAgICAgICAgRmls dGVyc0V4dHJhY3Rpb24KLSsgICAgICAgICAgICAgICAgRmlsdGVyc1NvdXJjZXMKLSsgICAgICAg ICAgICAgICAgRmlsdGVyc0dlb21ldHJ5Ci0rICAgICAgICAgICAgKQotKyAgICAgICAgICAgIGZp bmRfcGFja2FnZShWVEsgQ09NUE9ORU5UUyBDb21tb25Db3JlIFJFUVVJUkVEIE5PX01PRFVMRSkK LSsgICAgICAgICAgICBsaXN0KEFQUEVORCBWVEtfQ09NUE9ORU5UUyBJT01QSVBhcmFsbGVsIFBh cmFsbGVsTVBJIGhkZjUgRmlsdGVyc1BhcmFsbGVsRElZMiBSZW5kZXJpbmdDb3JlIEludGVyYWN0 aW9uU3R5bGUgUmVuZGVyaW5nRnJlZVR5cGUgUmVuZGVyaW5nT3BlbkdMMikKLSsgICAgICAgIGVu ZGlmKCkKLSsKLSsgICAgICAgICMgY2hlY2sgd2hpY2ggbW9kdWxlcyBhcmUgYXZhaWxhYmxlCi0g ICAgICAgICAgICAgZm9yZWFjaChfbW9kdWxlICR7VlRLX0NPTVBPTkVOVFN9KQotKyAgICAgICAg ICAgIGlmKCR7VlRLX01BSk9SX1ZFUlNJT059IExFU1MgOSkKLSAgICAgICAgICAgICAgICAgbGlz dCAoRklORCBWVEtfTU9EVUxFU19FTkFCTEVEICR7X21vZHVsZX0gX2luZGV4KQotKyAgICAgICAg ICAgIGVsc2UoKQotKyAgICAgICAgICAgICAgICBsaXN0IChGSU5EIFZUS19BVkFJTEFCTEVfQ09N UE9ORU5UUyAke19tb2R1bGV9IF9pbmRleCkKLSsgICAgICAgICAgICBlbmRpZigpCi0gICAgICAg ICAgICAgICAgIGlmICgke19pbmRleH0gR1JFQVRFUiAtMSkKLSAgICAgICAgICAgICAgICAgICAg IGxpc3QoQVBQRU5EIEFWQUlMQUJMRV9WVEtfQ09NUE9ORU5UUyAke19tb2R1bGV9KQotICAgICAg ICAgICAgICAgICBlbmRpZigpCi0gICAgICAgICAgICAgZW5kZm9yZWFjaCgpCi0tICAgICAgICBl bmRpZigpCi0gCi0gICAgICAgICAjIGRvbid0IGNoZWNrIFZFUlNJT04gNiBhcyB0aGlzIHdvdWxk IGV4Y2x1ZGUgVkVSU0lPTiA3Ci0gICAgICAgICBpZihBVkFJTEFCTEVfVlRLX0NPTVBPTkVOVFMp CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTMtbGltaXRzLmgtZm9yLW11 c2wucGF0Y2ggYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTMtbGltaXRzLmgtZm9yLW11c2wu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41OWIwZmYxNzhl ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8xNTMtbGltaXRz LmgtZm9yLW11c2wucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvc3JjL0ZDQ29uZmlnLmgu T1JJRworKysrIGIvc3JjL0ZDQ29uZmlnLmgKK0BAIC0zMjEsNCArMzIxLDEwIEBACisgLy8jCWRl ZmluZSBfUHJlQ29tcF8gICAgICAgICAgICAgICAgICAvLyB1c2UgcHJlY29tcGlsZWQgaGVhZGVy DQorICNlbmRpZg0KKyANCisrI2lmIGRlZmluZWQoRkNfT1NfTElOVVgpIHx8IGRlZmluZWQoRkNf T1NfTUFDT1NYKSB8fCBkZWZpbmVkKEZDX09TX0JTRCkNCisrI2lmICghZGVmaW5lZChQQVRIX01B WCkpDQorKyNpbmNsdWRlIDxsaW1pdHMuaD4NCisrI2VuZGlmDQorKyNlbmRpZg0KKysNCisgI2Vu ZGlmIC8vRkNfQ09ORklHX0gNCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVjYWQvcGF0Y2hlcy8x NTQtcmV2ZXJ0LWd1aS10bXAtcmVkaXJlY3Qtc3RkZXJyLnBhdGNoIGIvc3JjcGtncy9mcmVlY2Fk L3BhdGNoZXMvMTU0LXJldmVydC1ndWktdG1wLXJlZGlyZWN0LXN0ZGVyci5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI4NzE3OWEyM2MzYwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvZnJlZWNhZC9wYXRjaGVzLzE1NC1yZXZlcnQtZ3VpLXRtcC1yZWRp cmVjdC1zdGRlcnIucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorc2VlIGh0dHBzOi8vZ2l0aHViLmNv bS9GcmVlQ0FEL0ZyZWVDQUQvY29tbWl0L2NmZTk0YjAwZDM0MzRmM2UyYzhiNTExNGQyOTA5ZjYy OGMzMzBmYTgjY29tbWl0Y29tbWVudC03MTQxMzQwNworCit1cHN0cmVhbTogeWVzCisKK0Zyb20g N2IzNzdhMjE2YjkxODU5NjBlNGNlZTk4MGE2NTA0ZGMxYTc1NWY1MCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IHdtYXllciA8d21heWVyQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KK0Rh dGU6IFdlZCwgMjkgSnVuIDIwMjIgMTU6MTk6MTggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gR3Vp OiByZW1vdmUgd29ya2Fyb3VuZCBmb3Igc3BuYXYgMC4yMyBkdWUgdG8gYnVpbGQgZmFpbHVyZQor IHdpdGggbXVzbCBsaWJjCisKKy0tLQorIHNyYy9HdWkvM0Rjb25uZXhpb24vR3VpTmF0aXZlRXZl bnRMaW51eC5jcHAgfCAyNyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwg MjcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvR3VpLzNEY29ubmV4aW9uL0d1aU5h dGl2ZUV2ZW50TGludXguY3BwIGIvc3JjL0d1aS8zRGNvbm5leGlvbi9HdWlOYXRpdmVFdmVudExp bnV4LmNwcAoraW5kZXggN2YwZGRkNzVkLi40NTVlY2UwYjMgMTAwNjQ0CistLS0gYS9zcmMvR3Vp LzNEY29ubmV4aW9uL0d1aU5hdGl2ZUV2ZW50TGludXguY3BwCisrKysgYi9zcmMvR3VpLzNEY29u bmV4aW9uL0d1aU5hdGl2ZUV2ZW50TGludXguY3BwCitAQCAtMjEsNDIgKzIxLDE3IEBACisgICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKi8KKyAKKyAjaW5jbHVkZSA8RkNDb25maWcuaD4KKy0jaW5jbHVkZSA8 Y3N0ZGlvPgorIAorICNpbmNsdWRlICJHdWlOYXRpdmVFdmVudExpbnV4LmgiCisgCisgI2luY2x1 ZGUgIkd1aUFwcGxpY2F0aW9uTmF0aXZlRXZlbnRBd2FyZS5oIgorICNpbmNsdWRlIDxCYXNlL0Nv bnNvbGUuaD4KKy0jaW5jbHVkZSA8QmFzZS9GaWxlSW5mby5oPgorICNpbmNsdWRlIDxRTWFpbldp bmRvdz4KKyAKKyAjaW5jbHVkZSA8UVNvY2tldE5vdGlmaWVyPgorIAorICNpbmNsdWRlIDxzcG5h di5oPgorIAorLW5hbWVzcGFjZSB7CistY2xhc3MgUmVkaXJlY3RTdGRFcnIKKy17CistcHVibGlj OgorLSAgICBSZWRpcmVjdFN0ZEVycigpCistICAgICAgICA6IGZpKEJhc2U6OkZpbGVJbmZvOjpn ZXRUZW1wRmlsZU5hbWUoKSkKKy0gICAgICAgICwgZmlsZShzdGRlcnIpCistICAgIHsKKy0gICAg ICAgIHN0ZGVyciA9IGZvcGVuKGZpLmZpbGVQYXRoKCkuY19zdHIoKSwgInciKTsKKy0gICAgfQor LSAgICB+UmVkaXJlY3RTdGRFcnIoKQorLSAgICB7CistICAgICAgICBmY2xvc2Uoc3RkZXJyKTsK Ky0gICAgICAgIGZpLmRlbGV0ZUZpbGUoKTsKKy0gICAgICAgIHN0ZGVyciA9IGZpbGU7CistICAg IH0KKy0KKy1wcml2YXRlOgorLSAgICBCYXNlOjpGaWxlSW5mbyBmaTsKKy0gICAgRklMRSogZmls ZTsKKy19OworLX0KKy0KKyBHdWk6Okd1aU5hdGl2ZUV2ZW50OjpHdWlOYXRpdmVFdmVudChHdWk6 OkdVSUFwcGxpY2F0aW9uTmF0aXZlRXZlbnRBd2FyZSAqYXBwKQorIDogR3VpQWJzdHJhY3ROYXRp dmVFdmVudChhcHApCisgeworQEAgLTcyLDggKzQ3LDYgQEAgR3VpOjpHdWlOYXRpdmVFdmVudDo6 fkd1aU5hdGl2ZUV2ZW50KCkKKyAKKyB2b2lkIEd1aTo6R3VpTmF0aXZlRXZlbnQ6OmluaXRTcGFj ZWJhbGwoUU1haW5XaW5kb3cgKndpbmRvdykKKyB7CistICAgIC8vIHRtcC4gcmVkaXJlY3Qgc3Rk ZXJyIHRvIGEgZmlsZSB0byBzdXBwcmVzcyBhbiBlcnJvciBtZXNzYWdlIGZyb20gc3BuYXZfb3Bl bigpCistICAgIFJlZGlyZWN0U3RkRXJyIGVycjsKKyAgICAgUV9VTlVTRUQod2luZG93KQorICAg ICBpZiAoc3BuYXZfb3BlbigpID09IC0xKSB7CisgICAgICAgICBCYXNlOjpDb25zb2xlKCkuTG9n KCJDb3VsZG4ndCBjb25uZWN0IHRvIHNwYWNlbmF2IGRhZW1vbi4gUGxlYXNlIGlnbm9yZSBpZiB5 b3UgZG9uJ3QgaGF2ZSBhIHNwYWNlbW91c2UuXG4iKTsKKy0tIAorMi4zNy4xCisKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvZnJlZWNhZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvZnJlZWNhZC90ZW1wbGF0ZQpp bmRleCAxZTJhZWMwMjRmZDcuLmU5YzY5N2FkYmUxYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9mcmVl Y2FkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZnJlZWNhZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZyZWVjYWQnCiBwa2duYW1lPWZyZWVjYWQKLXZlcnNp b249MC4xOS40Cit2ZXJzaW9uPTAuMjAuMQogcmV2aXNpb249MQogd3Jrc3JjPSJGcmVlQ0FELSR7 dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQpAQCAtMjMsMTAgKzIzLDkgQEAgbWFrZWRlcGVu ZHM9InB5dGhvbjMtZGV2ZWwgYm9vc3QtZGV2ZWwgbGlieGVyY2VzLWMtZGV2ZWwgemxpYi1kZXZl bCBvY2N0LWRldmVsCiAgY29pbjMtZGV2ZWwgbGlic2hpYm9rZW4yLWRldmVsIGxpYnNwbmF2LWRl dmVsIHB5c2lkZTItdG9vbHMKICBsaWJsejQtZGV2ZWwgbGlicHlzaWRlMi1weXRob24zLWRldmVs IHB5dGhvbjMtbWF0cGxvdGxpYiBuZXRjZGYtZGV2ZWwKICBqc29uY3BwLWRldmVsIHF0NS1kZXZl bCBxdDUtc3ZnLWRldmVsIHF0NS10b29scy1kZXZlbCBxdDUtd2Via2l0LWRldmVsCi0gcXQ1LXht bHBhdHRlcm5zLWRldmVsIGNvaW4zLWRvYyBnbGV3LWRldmVsIgorIHF0NS14bWxwYXR0ZXJucy1k ZXZlbCBjb2luMy1kb2MgZ2xldy1kZXZlbCBweXRob24zLXBpdnkiCiAKLSMgRnJlZUNBRCBoZWxw OiBxdDUvYXNzaXN0YW50IHdpdGggU1FMaXRlIHN0b3JhZ2UKLWRlcGVuZHM9InB5dGhvbjMtbWF0 cGxvdGxpYiBweXRob24zLXB5c2lkZTIgcXQ1LXBsdWdpbi1zcWxpdGUgcHl0aG9uMy1waXZ5Igor ZGVwZW5kcz0icHl0aG9uMy1tYXRwbG90bGliIHB5dGhvbjMtcHlzaWRlMi13ZWJlbmdpbmUgcHl0 aG9uMy1waXZ5IgogCiBweXRob25fdmVyc2lvbj0zCiBweWNvbXBpbGVfZGlycz0idXNyL2xpYi8k e3BrZ25hbWV9L01vZCIKQEAgLTM2LDcgKzM1LDcgQEAgbWFpbnRhaW5lcj0ieW9waXRvIDxwaWVy cmUuYm91cmdpbkBmcmVlLmZyPiIKIGxpY2Vuc2U9IkxHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBh Z2U9Imh0dHBzOi8vZnJlZWNhZHdlYi5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5j b20vRnJlZUNBRC9GcmVlQ0FEL2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT1l NDBhMWMzNDM5NTZlMTNjNTZjYzg1NzhkMDI1YWU4M2Q2OGQ5ZDIwYWNkYTE3MzI5NTNiYzhhMzg4 M2U5NzIyCitjaGVja3N1bT03MGMxNWY3YzFjNjc2ZTMzNzZjZGMyYTY2YzEzNjAzMGM1NTAyZjk4 MDI5MzVlNWI2MjZjYThjZTNmODgxMmVkCiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9IG11 c2wgXTsgdGhlbgogCW1ha2VkZXBlbmRzKz0iIGxpYmV4ZWNpbmZvLWRldmVsIgo= --===============5697762475817166293==--