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 autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1219 invoked from network); 24 Jul 2021 12:32:30 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 24 Jul 2021 12:32:30 -0000 Content-Type: multipart/mixed; boundary="===============8395060388903183075==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_tbb=3A_update_to_2021=2E3=2E0?= To: ml@inbox.vuxu.org From: Logarithmus Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 24 Jul 2021 14:32:30 +0200 List-Id: Message-ID: <20210724123230.AoD2GDzyeGEnlcz7GZU_90og-hdH_7BgTbbZz6ZqdwI@z> GitHub notification mails are now in MIME to allow UTF8. --===============8395060388903183075== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgTG9nYXJpdGhtdXMgYWdhaW5zdCBt YXN0ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29t L0xvZ2FyaXRobXVzL3ZvaWQtcGFja2FnZXMgdGJiLTIwMjEKaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMyMTY2Cgp0YmI6IHVwZGF0ZSB0byAyMDIxLjMu MApGb2xsb3ctdXAgb2YgaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdl cy9wdWxsLzI3NzQ2LCBAdGh5cG9uICYgQG9sYWZtZXJzbWFubiBtaWdodCBiZSBpbnRlcmVzdGVk Lg0KKipUT0RPKiogZml4IHJldmVyc2UgZGVwZW5kZW5jaWVzOg0KLSBbIF0gT3BlblN1YmRpdjog dXBkYXRlIHRvIDMuNC40Lg0KLSBbIF0gUHJ1c2FTbGljZXI6IHVwZGF0ZSB0byAyLjMuMy4NCi0g WyBdIGxlbmRlcjogdXBkYXRlIHRvIDIuOTMuMS4NCi0gWyBdIGVtYnJlZTogdXBkYXRlIHRvIDMu MTMuMC4NCi0gWyBdIG9wZW5pbWFnZWlvOiB1cGRhdGUgdG8gMi4yLjE2LjAuDQotIFsgXSBvcGVu aW1hZ2VkZW5vaXNlOiB1cGRhdGUgdG8gMS40LjEuDQotIFsgXSBvcGVudmRiOiB1cGRhdGUgdG8g OC4xLjAuDQotIFsgXSBwYXJhdmlldzogdXBkYXRlIHRvIDUuOS4xLg0KLSBbIF0gb2NjdDogcmV2 YnVtcCBkdWUgdG8gdGJiIHVwZGF0ZQ0KDQojIyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHBy b3Bvc2VkIGNoYW5nZXMgYmVlbiB0ZXN0ZWQ/DQotIFt4XSBJIHVzZSB0aGUgcGFja2FnZXMgYWZm ZWN0ZWQgYnkgdGhlIHByb3Bvc2VkIGNoYW5nZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25m aXJtIHRoaXMgUFIgd29ya3MgZm9yIG1lDQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0 aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjE2Ni5wYXRjaCBpcyBhdHRh Y2hlZA== --===============8395060388903183075== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-tbb-2021-32166.patch" RnJvbSA4MGU1NmVlYmQzZTdiYzZmN2I5NDg2ZjNhN2M3NWRjYTVhZDc2NmZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBcnR1ciBTaW5pbGEgPGZyZWVzb2Z0d2FyZUBsb2dhcml0aG11 cy5kZXY+CkRhdGU6IFNhdCwgMTcgSnVsIDIwMjEgMjM6NTc6NTIgKzAzMDAKU3ViamVjdDogW1BB VENIIDAxLzExXSBod2xvYzogYWRkIGxpYnBjaWFjY2Vzcy1kZXZlbCBtYWtlIGRlcGVuZGVuY3kK Ci0tLQogLi4uL3BhdGNoZXMvMDAtZ2V0LWFyZWEtbWVtbG9jYXRpb24ucGF0Y2ggICAgICB8IDE4 ICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9od2xvYy90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA4ICsrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9od2xvYy9wYXRj aGVzLzAwLWdldC1hcmVhLW1lbWxvY2F0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9o d2xvYy9wYXRjaGVzLzAwLWdldC1hcmVhLW1lbWxvY2F0aW9uLnBhdGNoIGIvc3JjcGtncy9od2xv Yy9wYXRjaGVzLzAwLWdldC1hcmVhLW1lbWxvY2F0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTM5OGE4MGUwNDZkCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9od2xvYy9wYXRjaGVzLzAwLWdldC1hcmVhLW1lbWxvY2F0aW9uLnBhdGNoCkBAIC0w LDAgKzEsMTggQEAKK2RpZmYgLS1naXQgYS90ZXN0cy9od2xvYy9od2xvY19nZXRfYXJlYV9tZW1s b2NhdGlvbi5jIGIvdGVzdHMvaHdsb2MvaHdsb2NfZ2V0X2FyZWFfbWVtbG9jYXRpb24uYworaW5k ZXggNDk4ZGZhZS4uOTk5ZDk1YiAxMDA2NDQKKy0tLSBhL3Rlc3RzL2h3bG9jL2h3bG9jX2dldF9h cmVhX21lbWxvY2F0aW9uLmMKKysrKyBiL3Rlc3RzL2h3bG9jL2h3bG9jX2dldF9hcmVhX21lbWxv Y2F0aW9uLmMKK0BAIC0zNCwxMSArMzQsMTMgQEAgaW50IG1haW4odm9pZCkKKyAgIGFzc2VydChi dWZmZXIpOworICAgcHJpbnRmKCJidWZmZXIgJXAgbGVuZ3RoICVkXG4iLCBidWZmZXIsIExFTik7 CisgCisrICBmcHJpbnRmKHN0ZGVyciwgIkJlZm9yZSBtZW1sb2F0aW9uXG5lcnIgPT0gJWksIGVy cm5vID09ICVzXG4iLCBlcnIsIHN0cmVycm9yKGVycm5vKSk7CisgICBlcnIgPSBod2xvY19nZXRf YXJlYV9tZW1sb2NhdGlvbih0b3BvbG9neSwgYnVmZmVyLCBMRU4sIHNldCwgSFdMT0NfTUVNQklO RF9CWU5PREVTRVQpOworICAgaWYgKGVyciA8IDAgJiYgZXJybm8gPT0gRU5PU1lTKSB7CisgICAg IGZwcmludGYoc3RkZXJyLCAiaHdsb2NfZ2V0X2FyZWFfbWVtbG9jYXRpb24oKSBmYWlsZWQgd2l0 aCBFTk9TWVMsIGFib3J0aW5nXG4iKTsKKyAgICAgZ290byBvdXRfd2l0aF9idWZmZXI7CisgICB9 CisrICBmcHJpbnRmKHN0ZGVyciwgIkFmdGVyIG1lbWxvY2F0aW9uXG5lcnIgPT0gJWksIGVycm5v ID09ICVzXG4iLCBlcnIsIHN0cmVycm9yKGVycm5vKSk7CisgICBhc3NlcnQoIWVycik7CisgICBo d2xvY19iaXRtYXBfYXNwcmludGYoJnMsIHNldCk7CisgICBwcmludGYoImFkZHJlc3MgJXAgbGVu Z3RoICVkIGFsbG9jYXRlZCBpbiBub2Rlc2V0ICVzXG4iLCBidWZmZXIsIExFTiwgcyk7CmRpZmYg LS1naXQgYS9zcmNwa2dzL2h3bG9jL3RlbXBsYXRlIGIvc3JjcGtncy9od2xvYy90ZW1wbGF0ZQpp bmRleCA4MThkYjI2OWNlYmIuLjZlZWM2NjJkMGQ2ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9od2xv Yy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2h3bG9jL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEyIEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdod2xvYycKIHBrZ25hbWU9aHdsb2MKIHZlcnNpb249Mi41 LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGhv c3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKLW1ha2VkZXBlbmRzPSJjYWlyby1kZXZlbCBuY3Vy c2VzLWRldmVsIGxpYnhtbDItZGV2ZWwgZXVkZXYtbGlidWRldi1kZXZlbCIKK21ha2VkZXBlbmRz PSJjYWlyby1kZXZlbCBuY3Vyc2VzLWRldmVsIGxpYnhtbDItZGV2ZWwgbGlicGNpYWNjZXNzLWRl dmVsIGV1ZGV2LWxpYnVkZXYtZGV2ZWwiCitjaGVja2RlcGVuZHM9InRhciIKK21ha2VfY2hlY2tf YXJncz0iVkVSQk9TRT0xIgogc2hvcnRfZGVzYz0iUG9ydGFibGUgYWJzdHJhY3Rpb24gb2YgaGll cmFyY2hpY2FsIGhhcmR3YXJlIGFyY2hpdGVjdHVyZXMiCiBtYWludGFpbmVyPSJMZWFoIE5ldWtp cmNoZW4gPGxlYWhAdnV4dS5vcmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgpAQCAtMzEsNyAr MzMsNyBAQCBsaWJod2xvY19wYWNrYWdlKCkgewogCiBsaWJod2xvYy1kZXZlbF9wYWNrYWdlKCkg ewogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKLQlkZXBlbmRzPSJsaWJod2xv Yz49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKKwlkZXBlbmRzPSIke21ha2VkZXBlbmRzfSBsaWJo d2xvYz49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUg dXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL3NoYXJlL21hbi9tYW4zCgpGcm9tIDE0YWQxYmZhNDBi ZTFlZGEwOGJmZTkxY2MwMTAwMmFkMzM4MzA0NTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTogTW9u LCA1IEp1bCAyMDIxIDAyOjUwOjI2ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwMi8xMV0gdGJiOiB1 cGRhdGUgdG8gMjAyMS4zLjAuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICA2ICstCiBzcmNwa2dzL3RiYi9wYXRjaGVzLzAwLWh3bG9jLTIuNS5w YXRjaCAgICAgICB8IDM2NyArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3RiYi9wYXRjaGVz LzAxLWh3bG9jLXBrZ2NvbmZpZy5wYXRjaCB8ICA1MiArKysKIHNyY3BrZ3MvdGJiL3BhdGNoZXMv aG9zdG5hbWUtdXNhZ2UucGF0Y2ggICAgIHwgIDExIC0KIHNyY3BrZ3MvdGJiL3BhdGNoZXMvbXVz bC5wYXRjaCAgICAgICAgICAgICAgIHwgICA0ICstCiBzcmNwa2dzL3RiYi90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA2MyArLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDQzMyBpbnNl cnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Ri Yi9wYXRjaGVzLzAwLWh3bG9jLTIuNS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv dGJiL3BhdGNoZXMvMDEtaHdsb2MtcGtnY29uZmlnLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy90YmIvcGF0Y2hlcy9ob3N0bmFtZS11c2FnZS5wYXRjaAoKZGlmZiAtLWdpdCBhL2Nv bW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGE3YWZiZjJhNTZmNy4uNmI3Y2E1ZmJj MjQ5IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTIz NzYsMTIgKzIzNzYsMTAgQEAgbGliYW50aHktdW5pY29kZS5zby4wIGxpYmFudGh5LXVuaWNvZGUt MS4wLjAuMjAyMDExMDlfMQogbGliYW50aHlkaWMtdW5pY29kZS5zby4wIGxpYmFudGh5LXVuaWNv ZGUtMS4wLjAuMjAyMDExMDlfMQogbGliYW50aHlpbnB1dC11bmljb2RlLnNvLjAgbGliYW50aHkt dW5pY29kZS0xLjAuMC4yMDIwMTEwOV8xCiBsaWJhbnRoeWdvYmplY3QtMS4wLnNvLjUgaWJ1cy1h bnRoeS0xLjUuNl8xCi1saWJ0YmJtYWxsb2NfcHJveHlfZGVidWcuc28uMiB0YmItNC4zXzEKIGxp YnRiYm1hbGxvY19wcm94eS5zby4yIHRiYi00LjNfMQogbGlidGJibWFsbG9jLnNvLjIgdGJiLTQu M18xCi1saWJ0YmJfZGVidWcuc28uMiB0YmItNC4zXzEKLWxpYnRiYi5zby4yIHRiYi00LjNfMQot bGlidGJibWFsbG9jX2RlYnVnLnNvLjIgdGJiLTQuM18xCitsaWJ0YmIuc28uMTIgdGJiLTIwMjEu My4wXzEKK2xpYnRiYmJpbmRfMl81LnNvLjMgdGJiLTIwMjEuMy4wXzEKIGxpYmVtYnJlZS5zby4y IGVtYnJlZS0yLjUuMV8xCiBsaWJndGtpbWFnZXZpZXcuc28uMCBndGtpbWFnZXZpZXctMS42LjRf MQogbGliZ29vY2FudmFzLTIuMC5zby45IGdvb2NhbnZhcy0yLjAuNF8xCmRpZmYgLS1naXQgYS9z cmNwa2dzL3RiYi9wYXRjaGVzLzAwLWh3bG9jLTIuNS5wYXRjaCBiL3NyY3BrZ3MvdGJiL3BhdGNo ZXMvMDAtaHdsb2MtMi41LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uOWM0YzkyODVjNzFkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90YmIvcGF0Y2hl cy8wMC1od2xvYy0yLjUucGF0Y2gKQEAgLTAsMCArMSwzNjcgQEAKK0FkanVzdGVkIGJ5IEFydHVy IFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KKworRnJvbSBlOTZkYmY0YjQ4 ZTY4OWFiODEwYjA0MjhkMDg1OGE2YWJjMmM4M2JkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogSXZhbiBLb2NoaW4gPGl2LmtvY2hpbkBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDEgSnVs IDIwMjEgMTU6MDc6MzkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gVXBncmFkZSBmcm9tIEhXTE9D IDIuNCB0byBIV0xPQyAyLjUgKCM0NDgpCisKKyogVXBncmFkZSBmcm9tIEhXTE9DIDIuNCB0byBI V0xPQyAyLjUKKyogSW50cm9kdWNlIHRiYmJpbmRfMl81IGxpYnJhcnkKKyogUmVtb3ZlIHRiYmJp bmRfMl80IGxpYnJhcnkKKyogVXNlIHRoZSBIV0xPQ19UT1BPTE9HWV9GTEFHX1JFU1RSSUNUX1RP X0NQVUJJTkRJTkcgdG9wb2xvZ3kgZmxhZyAoaW50cm9kdWNlcyBhcyBhIHBhcnQgb2YgSFdMT0Mg Mi41KSB0byByZXN0cmljdCB0b3BvbG9neSBkaXNjb3ZlcmluZyB0byBwcm9jZXNzIGJpbmRpbmcK KyogRml4IHRlc3Rpbmcgb24gTGludXgKKyogQXBwbHkgcmV2aWV3IGNvbW1lbnRzCisqIEltcHJv dmUgd29yZGluZzogdmFyaWFibGUgLT4gc3Vic3RyaW5nCisqIFVzZSByaWdodCB0YmJiaW5kIHZl cnNpb24gZm9yIGluY29tcGF0aWJsZSBod2xvY3MgdGVzdAorKiBSZXdvcmsgb3B0aW9uIHNlbWFu dGljCisqIFVwZGF0ZSBSRUFETUUubWQgZm9yIENNYWtlCisqIFJld29yayByZWFkbWUKKyogVXBk YXRlIGNtYWtlL1JFQURNRS5tZAorCitTaWduZWQtb2ZmLWJ5OiBLb2NoaW4sIEl2YW4gPGtvY2hp bi5pdmFuQGludGVsLmNvbT4KKworQ28tYXV0aG9yZWQtYnk6IEFsZWtzZWkgRmVkb3RvdiA8YWxl a3NlaS5mZWRvdG92QGludGVsLmNvbT4KKy0tLQorIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDMgKystCisgY21ha2UvUkVBRE1FLm1kICAgICAgICAgICAgICAgICAg ICAgICAgfCAxMSArKysrKy0tLQorIGNtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZSAgICAgICAg ICAgIHwgIDkgKysrKy0tLQorIHNyYy90YmIvZ292ZXJub3IuY3BwICAgICAgICAgICAgICAgICAg IHwgIDQgKy0tCisgc3JjL3RiYmJpbmQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgfCAgMiAr LQorIHNyYy90YmJiaW5kL3RiYl9iaW5kLmNwcCAgICAgICAgICAgICAgIHwgMjMgKysrKysrKysr KystLS0tLQorIHRlc3QvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgIHwgMzAgKysr KysrKysrKy0tLS0tLS0tLS0tCisgdGVzdC9jb21tb24vY29tbW9uX2FyZW5hX2NvbnN0cmFpbnRz LmggfCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLQorIDggZmlsZXMgY2hhbmdlZCwgODIg aW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9DTWFrZUxpc3Rz LnR4dCBiL0NNYWtlTGlzdHMudHh0CitpbmRleCAzNGEyM2Q0MDAuLjMwMTg5OWFjYSAxMDA2NDQK Ky0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAgLTEwMCw2ICsx MDAsNyBAQCBvcHRpb24oVEJCX05PX0FQUENPTlRBSU5FUiAiQXBwbHkgL0FQUENPTlRBSU5FUjpO TyAoZm9yIHRlc3RpbmcgYmluYXJpZXMgZm9yIFdpbgorIG9wdGlvbihUQkI0UFlfQlVJTEQgIkVu YWJsZSB0YmI0cHkgYnVpbGQiIE9GRikKKyBvcHRpb24oVEJCX0NQRiAiRW5hYmxlIHByZXZpZXcg ZmVhdHVyZXMgb2YgdGhlIGxpYnJhcnkiIE9GRikKKyBvcHRpb24oVEJCX0ZJTkRfUEFDS0FHRSAi RW5hYmxlIHNlYXJjaCBmb3IgZXh0ZXJuYWwgb25lVEJCIHVzaW5nIGZpbmRfcGFja2FnZSBpbnN0 ZWFkIG9mIGJ1aWxkIGZyb20gc291cmNlcyIgT0ZGKQorK29wdGlvbihUQkJfRElTQUJMRV9IV0xP Q19BVVRPTUFUSUNfU0VBUkNIICJEaXNhYmxlIEhXTE9DIGF1dG9tYXRpYyBzZWFyY2ggYnkgcGtn LWNvbmZpZyB0b29sIiBPRkYpCisgCisgaWYgKE5PVCBERUZJTkVEIEJVSUxEX1NIQVJFRF9MSUJT KQorICAgICBzZXQoQlVJTERfU0hBUkVEX0xJQlMgT04pCitAQCAtMTk1LDcgKzE5Niw3IEBAIGVs c2UoKQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeShzcmMvdGJibWFsbG9jKQorICAgICAgICAg YWRkX3N1YmRpcmVjdG9yeShzcmMvdGJibWFsbG9jX3Byb3h5KQorICAgICAgICAgaWYgKEFQUExF KQorLSAgICAgICAgICAgIG1lc3NhZ2UoU1RBVFVTICJUQkJCaW5kIGJ1aWxkIHRhcmdldCBpcyBk aXNhYmxlZCBkdWUgdG8gdW5zdXBwb3J0ZWQgZW52aXJvbm1lbnQiKQorKyAgICAgICAgICAgIG1l c3NhZ2UoU1RBVFVTICJUQkJCaW5kIGJ1aWxkIHRhcmdldHMgYXJlIGRpc2FibGVkIGR1ZSB0byB1 bnN1cHBvcnRlZCBlbnZpcm9ubWVudCIpCisgICAgICAgICBlbHNlKCkKKyAgICAgICAgICAgICBh ZGRfc3ViZGlyZWN0b3J5KHNyYy90YmJiaW5kKQorICAgICAgICAgZW5kaWYoKQorZGlmZiAtLWdp dCBhL2NtYWtlL1JFQURNRS5tZCBiL2NtYWtlL1JFQURNRS5tZAoraW5kZXggMzZmYzMwM2Y5Li5i NThjMmZmNmEgMTAwNjQ0CistLS0gYS9jbWFrZS9SRUFETUUubWQKKysrKyBiL2NtYWtlL1JFQURN RS5tZAorQEAgLTEzLDYgKzEzLDcgQEAgVEJCNFBZX0JVSUxEOkJPT0wgLSBFbmFibGUgIEludGVs KFIpIG9uZUFQSSBUaHJlYWRpbmcgQnVpbGRpbmcgQmxvY2tzIChvbmVUQkIpIFAKKyBUQkJfQ1BG OkJPT0wgLSBFbmFibGUgcHJldmlldyBmZWF0dXJlcyBvZiB0aGUgbGlicmFyeSAoT0ZGIGJ5IGRl ZmF1bHQpCisgVEJCX0lOU1RBTExfVkFSUzpCT09MIC0gRW5hYmxlIGF1dG8tZ2VuZXJhdGVkIHZh cnMgaW5zdGFsbGF0aW9uKHBhY2thZ2VzIGdlbmVyYXRlZCBieSBgY3BhY2tgIGFuZCBgbWFrZSBp bnN0YWxsYCB3aWxsIGFsc28gaW5jbHVkZSB0aGUgdmFycyBzY3JpcHQpKE9GRiBieSBkZWZhdWx0 KQorIFRCQl9WQUxHUklORF9NRU1DSEVDSzpCT09MIC0gRW5hYmxlIHNjYW4gZm9yIG1lbW9yeSBs ZWFrcyB1c2luZyBWYWxncmluZCAoT0ZGIGJ5IGRlZmF1bHQpCisrVEJCX0RJU0FCTEVfSFdMT0Nf QVVUT01BVElDX1NFQVJDSCAtIERpc2FibGUgSFdMT0MgYXV0b21hdGljIHNlYXJjaCBieSBwa2ct Y29uZmlnIHRvb2wgKE9GRiBieSBkZWZhdWx0KQorIGBgYAorIAorICMjIENvbmZpZ3VyZSwgYnVp bGQgYW5kIHRlc3QKK0BAIC00Miw5ICs0Myw5IEBAIFNvbWUgdXNlZnVsIG9wdGlvbnM6CisgCisg IyMjIyBUQkJCaW5kIGxpYnJhcnkgY29uZmlndXJhdGlvbgorIAorLVRoZSBUQkJiaW5kIGxpYnJh cnkgaGFzIHR3byB2ZXJzaW9uczogYHRiYmJpbmRgIGFuZCBgdGJiYmluZF8yXzBgLiBFYWNoIG9m IHRoZXNlIHZlcnNpb25zIGlzIGxpbmtlZCB3aXRoIGNvcnJlc3BvbmRpbmcgSFdMT0MgbGlicmFy eSB2ZXJzaW9uOiBgdGJiYmluZGAgbGlua3Mgd2l0aCBIV0xPQyAxLjExLnggLCBgdGJiYmluZF8y XzBgIGxpbmtzIHdpdGggSFdMT0MgMi54LgorK1RoZSBUQkJiaW5kIGxpYnJhcnkgaGFzIHRocmVl IHZlcnNpb25zOiBgdGJiYmluZGAsIGB0YmJiaW5kXzJfMGAgYW5kIGB0YmJiaW5kXzJfNWAuIEVh Y2ggb2YgdGhlc2UgdmVyc2lvbnMgaXMgbGlua2VkIHdpdGggY29ycmVzcG9uZGluZyBIV0xPQyBs aWJyYXJ5IHZlcnNpb246IGB0YmJiaW5kYCBsaW5rcyB3aXRoIEhXTE9DIDEuMTEueCAsIGB0YmJi aW5kXzJfMGAgbGlua3Mgd2l0aCBIV0xPQyAyLjEtMi40LCBgdGJiYmluZF8yXzVgIGxpbmtzIHdp dGggSFdMT0MgMi41IGFuZCBsYXRlci4KKyAKKy1UbyBlbmFibGUgdGhlIFRCQkJpbmQgbGlicmFy eSBidWlsZCBvciBzcGVjaWFsIHRlc3RzIHRoYXQgcGVyZm9ybWVkIGluc2lkZSB0aGUgSFdMT0Mg ZW52aXJvbm1lbnQsIHBsZWFzZSBzcGVjaWZ5IHRoZSBmb2xsb3dpbmcgQ01ha2UgdmFyaWFibGVz OgorK1RoZSBzZWFyY2ggZm9yIGEgc3VpdGFibGUgdmVyc2lvbiBvZiB0aGUgSFdMT0MgbGlicmFy eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQsIGJ1dCBpZiB5b3Ugd2FudCB0byB1c2UgYSBzcGVjaWZp YyB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCB5b3UgY2FuIHNwZWNpZnkgdGhlIHBhdGggdG8gaXQg bWFudWFsbHkgdXNpbmcgdGhlIGZvbGxvd2luZyBDTWFrZSB2YXJpYWJsZXM6CisgCisgIC0gYENN QUtFX0hXTE9DXzxIV0xPQ19WRVI+X0xJQlJBUllfUEFUSGAgLSBwYXRoIHRvIHRoZSBjb3JyZXNw b25kaW5nIEhXTE9DIHZlcnNpb24gc2hhcmVkIGxpYnJhcnkgb24gTGludXggb3IgcGF0aCB0byBg LmxpYmAgZmlsZSBvbiBXaW5kb3dzLgorICAtIGBDTUFLRV9IV0xPQ188SFdMT0NfVkVSPl9JTkNM VURFX1BBVEhgIC0gcGF0aCB0byB0aGUgY29ycmVzcG9uZGluZyBIV0xPQyB2ZXJzaW9uIGluY2x1 ZGVzIGRpcmVjdG9yeS4KK0BAIC01Miw3ICs1MywxMSBAQCBUbyBlbmFibGUgdGhlIFRCQkJpbmQg bGlicmFyeSBidWlsZCBvciBzcGVjaWFsIHRlc3RzIHRoYXQgcGVyZm9ybWVkIGluc2lkZSB0aGUg SAorIFdpbmRvd3MgcmVxdWlyZXMgb25lIGFkZGl0aW9uYWwgdmFyaWFibGUgZm9yIGNvcnJlY3Qg VEJCQmluZCBsaWJyYXJ5IGJ1aWxkaW5nOgorICAtIGBDTUFLRV9IV0xPQ188SFdMT0NfVkVSPl9E TExfUEFUSGAgLSBwYXRoIHRvIHRoZSBjb3JyZXNwb25kaW5nIEhXTE9DIHZlcnNpb24gYC5kbGxg IGZpbGUuCisgCistYEhXTE9DX1ZFUmAgdmFyaWFibGUgdXNlZCBhYm92ZSBjYW4gYmUgcmVwbGFj ZWQgd2l0aCBvbmUgb2YgdGhlIHR3byB2YWx1ZXM6IGAxXzExYCBmb3IgdGhlIGB0YmJiaW5kYCBs aWJyYXJ5IGNvbmZpZ3VyYXRpb24gYW5kIGAyYCBmb3IgdGhlIGB0YmJiaW5kXzJfMGAgbGlicmFy eSBjb25maWd1cmF0aW9uLgorK2BIV0xPQ19WRVJgIHN1YnN0cmluZyB1c2VkIGFib3ZlIGNhbiBi ZSByZXBsYWNlZCB3aXRoIG9uZSBvZiB0aGUgdGhyZWUgdmFsdWVzOiBgMV8xMWAgZm9yIHRoZSBg dGJiYmluZGAgbGlicmFyeSBjb25maWd1cmF0aW9uLCBgMmAgZm9yIHRoZSBgdGJiYmluZF8yXzBg LCBhbmQgYDJfNWAgZm9yIHRoZSBgdGJiYmluZF8yXzVgIGxpYnJhcnkgY29uZmlndXJhdGlvbi4K KysKKytJZiB5b3Ugc3BlY2lmeSB2YXJpYWJsZXMgZm9yIHNldmVyYWwgVEJCQmluZCB2ZXJzaW9u cywgdGhlbiBidWlsZGluZyBwcm9jZXNzIGZvciBhbGwgb2YgdGhlc2UgdmVyc2lvbnMgd2lsbCBi ZSBwZXJmb3JtZWQgZHVyaW5nIHNpbmdsZSBidWlsZCBzZXNzaW9uLgorKworK1NwZWNpZnkgdGhl IGBUQkJfRElTQUJMRV9IV0xPQ19BVVRPTUFUSUNfU0VBUkNIYCB0byBkaXNhYmxlIEhXTE9DIGxp YnJhcmllcyBhdXRvbWF0aWMgc2VhcmNoLgorIAorICMjIyBCdWlsZAorIAorZGlmZiAtLWdpdCBh L2NtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZSBiL2NtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFr ZQoraW5kZXggZTFlZWNhNWZhLi5kZTdmM2MwNDcgMTAwNjQ0CistLS0gYS9jbWFrZS9od2xvY19k ZXRlY3Rpb24uY21ha2UKKysrKyBiL2NtYWtlL2h3bG9jX2RldGVjdGlvbi5jbWFrZQorQEAgLTEy LDcgKzEyLDcgQEAKKyAjIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdl IGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKyAjIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNl bnNlLgorIAorLWxpc3QoQVBQRU5EIEhXTE9DX1JFUVVJUkVEX1ZFUlNJT05TIDFfMTEgMiAyXzQp CisrbGlzdChBUFBFTkQgSFdMT0NfUkVRVUlSRURfVkVSU0lPTlMgMV8xMSAyIDJfNSkKKyAKKyBm b3JlYWNoKGh3bG9jX3ZlcnNpb24gJHtIV0xPQ19SRVFVSVJFRF9WRVJTSU9OU30pCisgICAgIGlm IChOT1QgV0lOMzIpCitAQCAtNTUsMTAgKzU2LDEwIEBAIGlmIChOT1QgSFdMT0NfVEFSR0VUX0VY UExJQ0lUTFlfREVGSU5FRCBBTkQKKyAgICAgICAgIGlmIChIV0xPQ19GT1VORCkKKyAgICAgICAg ICAgICBpZiAoSFdMT0NfVkVSU0lPTiBWRVJTSU9OX0xFU1MgMikKKyAgICAgICAgICAgICAgICAg c2V0KFRCQkJJTkRfTElCUkFSWV9OQU1FIHRiYmJpbmQpCistICAgICAgICAgICAgZWxzZWlmKEhX TE9DX1ZFUlNJT04gVkVSU0lPTl9MRVNTIDIuNCkKKysgICAgICAgICAgICBlbHNlaWYoSFdMT0Nf VkVSU0lPTiBWRVJTSU9OX0xFU1MgMi41KQorICAgICAgICAgICAgICAgICBzZXQoVEJCQklORF9M SUJSQVJZX05BTUUgdGJiYmluZF8yXzApCisgICAgICAgICAgICAgZWxzZSgpCistICAgICAgICAg ICAgICAgIHNldChUQkJCSU5EX0xJQlJBUllfTkFNRSB0YmJiaW5kXzJfNCkKKysgICAgICAgICAg ICAgICAgc2V0KFRCQkJJTkRfTElCUkFSWV9OQU1FIHRiYmJpbmRfMl81KQorICAgICAgICAgICAg IGVuZGlmKCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZW5kaWYoKQorZGlmZiAtLWdpdCBhL3Ny Yy90YmIvZ292ZXJub3IuY3BwIGIvc3JjL3RiYi9nb3Zlcm5vci5jcHAKK2luZGV4IGJmNGU0MDJk MS4uYjg0MmUwNzVmIDEwMDY0NAorLS0tIGEvc3JjL3RiYi9nb3Zlcm5vci5jcHAKKysrKyBiL3Ny Yy90YmIvZ292ZXJub3IuY3BwCitAQCAtMzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBjb25zdCB1bnNp Z25lZCBMaW5rVGFibGVTaXplID0gc2l6ZW9mKFRiYkJpbmRMaW5rVGFibGUpIC8gc2l6ZW9mKGR5 bmFtaWNfCisgCisgI2RlZmluZSBUQkJCSU5EX05BTUUgTElCUkFSWV9QUkVGSVggInRiYmJpbmQi IERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVOU0lPTgorICNkZWZpbmUgVEJCQklORF8yXzBfTkFN RSBMSUJSQVJZX1BSRUZJWCAidGJiYmluZF8yXzAiIERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVO U0lPTgorLSNkZWZpbmUgVEJCQklORF8yXzRfTkFNRSBMSUJSQVJZX1BSRUZJWCAidGJiYmluZF8y XzQiIERFQlVHX1NVRkZJWCBMSUJSQVJZX0VYVEVOU0lPTgorKyNkZWZpbmUgVEJCQklORF8yXzVf TkFNRSBMSUJSQVJZX1BSRUZJWCAidGJiYmluZF8yXzUiIERFQlVHX1NVRkZJWCBMSUJSQVJZX0VY VEVOU0lPTgorICNlbmRpZiAvKiBfV0lOMzIgfHwgX1dJTjY0IHx8IF9fbGludXhfXyAqLworIAor IC8vIFJlcHJlc2VudGF0aW9uIG9mIHN5c3RlbSBoYXJkd2FyZSB0b3BvbG9neSBpbmZvcm1hdGlv biBvbiB0aGUgVEJCIHNpZGUuCitAQCAtMzg5LDcgKzM4OSw3IEBAIGNvbnN0IGNoYXIqIGxvYWRf dGJiYmluZF9zaGFyZWRfb2JqZWN0KCkgeworICAgICBHZXROYXRpdmVTeXN0ZW1JbmZvKCZzaSk7 CisgICAgIGlmIChzaS5kd051bWJlck9mUHJvY2Vzc29ycyA+IDMyKSByZXR1cm4gbnVsbHB0cjsK KyAjZW5kaWYgLyogX1dJTjMyICYmICFfV0lONjQgKi8KKy0gICAgZm9yIChjb25zdCBhdXRvJiB0 YmJiaW5kX3ZlcnNpb24gOiB7VEJCQklORF8yXzRfTkFNRSwgVEJCQklORF8yXzBfTkFNRSwgVEJC QklORF9OQU1FfSkgeworKyAgICBmb3IgKGNvbnN0IGF1dG8mIHRiYmJpbmRfdmVyc2lvbiA6IHtU QkJCSU5EXzJfNV9OQU1FLCBUQkJCSU5EXzJfMF9OQU1FLCBUQkJCSU5EX05BTUV9KSB7CisgICAg ICAgICBpZiAoZHluYW1pY19saW5rKHRiYmJpbmRfdmVyc2lvbiwgVGJiQmluZExpbmtUYWJsZSwg TGlua1RhYmxlU2l6ZSkpIHsKKyAgICAgICAgICAgICByZXR1cm4gdGJiYmluZF92ZXJzaW9uOwor ICAgICAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0IGIvc3Jj L3RiYmJpbmQvQ01ha2VMaXN0cy50eHQKK2luZGV4IDAyOTg5Mzc1MS4uZTVjZGJmOGJiIDEwMDY0 NAorLS0tIGEvc3JjL3RiYmJpbmQvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy90YmJiaW5kL0NN YWtlTGlzdHMudHh0CitAQCAtOTksNyArOTksNyBAQCBpZiAoTk9UIERFRklORUQgSFdMT0NfVEFS R0VUX0VYUExJQ0lUTFlfREVGSU5FRCBBTkQgREVGSU5FRCBIV0xPQ19MSUJSQVJJRVMpCisgZWxz ZSgpCisgICAgIHRiYmJpbmRfYnVpbGQodGJiYmluZCAgICAgSFdMT0M6Omh3bG9jXzFfMTEpCisg ICAgIHRiYmJpbmRfYnVpbGQodGJiYmluZF8yXzAgSFdMT0M6Omh3bG9jXzIgICApCistICAgIHRi YmJpbmRfYnVpbGQodGJiYmluZF8yXzQgSFdMT0M6Omh3bG9jXzJfNCApCisrICAgIHRiYmJpbmRf YnVpbGQodGJiYmluZF8yXzUgSFdMT0M6Omh3bG9jXzJfNSApCisgZW5kaWYoKQorIAorIAorZGlm ZiAtLWdpdCBhL3NyYy90YmJiaW5kL3RiYl9iaW5kLmNwcCBiL3NyYy90YmJiaW5kL3RiYl9iaW5k LmNwcAoraW5kZXggOTdiZTMwOGM3Li44OGM5NTZhY2IgMTAwNjQ0CistLS0gYS9zcmMvdGJiYmlu ZC90YmJfYmluZC5jcHAKKysrKyBiL3NyYy90YmJiaW5kL3RiYl9iaW5kLmNwcAorQEAgLTM0LDcg KzM0LDggQEAKKyAjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHBvcAorICNlbmRpZgorIAorLSNkZWZp bmUgX19IV0xPQ19IWUJSSURfQ1BVU19JTlRFUkZBQ0VTX1BSRVNFTlQgKEhXTE9DX0FQSV9WRVJT SU9OID49IDB4MjA0MDApCisrI2RlZmluZSBfX1RCQkJJTkRfSFdMT0NfSFlCUklEX0NQVVNfSU5U RVJGQUNFU19QUkVTRU5UIChIV0xPQ19BUElfVkVSU0lPTiA+PSAweDIwNDAwKQorKyNkZWZpbmUg X19UQkJCSU5EX0hXTE9DX1RPUE9MT0dZX0ZMQUdfUkVTVFJJQ1RfVE9fQ1BVQklORElOR19QUkVT RU5UIChIV0xPQ19BUElfVkVSU0lPTiA+PSAweDIwNTAwKQorIAorIC8vIE1vc3Qgb2YgaHdsb2Mg Y2FsbHMgcmV0dXJucyBuZWdhdGl2ZSBleGl0IGNvZGUgb24gZXJyb3IuCisgLy8gVGhpcyBtYWNy byB0cmFja3MgZXJyb3IgY29kZXMgdGhhdCBhcmUgcmV0dXJuZWQgZnJvbSB0aGUgaHdsb2MgaW50 ZXJmYWNlcy4KK0BAIC04NSw2ICs4NiwxNiBAQCBjbGFzcyBwbGF0Zm9ybV90b3BvbG9neSB7Cisg ICAgICAgICAvLyBQYXJzZSB0b3BvbG9neQorICAgICAgICAgaWYgKCBod2xvY190b3BvbG9neV9p bml0KCAmdG9wb2xvZ3kgKSA9PSAwICkgeworICAgICAgICAgICAgIGluaXRpYWxpemF0aW9uX3N0 YXRlID0gdG9wb2xvZ3lfYWxsb2NhdGVkOworKyNpZiBfX1RCQkJJTkRfSFdMT0NfVE9QT0xPR1lf RkxBR19SRVNUUklDVF9UT19DUFVCSU5ESU5HX1BSRVNFTlQKKysgICAgICAgICAgICBpZiAoIGdy b3Vwc19udW0gPT0gMSAmJgorKyAgICAgICAgICAgICAgICAgaHdsb2NfdG9wb2xvZ3lfc2V0X2Zs YWdzKHRvcG9sb2d5LAorKyAgICAgICAgICAgICAgICAgICAgIEhXTE9DX1RPUE9MT0dZX0ZMQUdf SVNfVEhJU1NZU1RFTSB8CisrICAgICAgICAgICAgICAgICAgICAgSFdMT0NfVE9QT0xPR1lfRkxB R19SRVNUUklDVF9UT19DUFVCSU5ESU5HCisrICAgICAgICAgICAgICAgICApICE9IDAKKysgICAg ICAgICAgICApIHsKKysgICAgICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgICAgIH0KKysj ZW5kaWYKKyAgICAgICAgICAgICBpZiAoIGh3bG9jX3RvcG9sb2d5X2xvYWQoIHRvcG9sb2d5ICkg PT0gMCApIHsKKyAgICAgICAgICAgICAgICAgaW5pdGlhbGl6YXRpb25fc3RhdGUgPSB0b3BvbG9n eV9sb2FkZWQ7CisgICAgICAgICAgICAgfQorQEAgLTEzNSw3ICsxNDYsNyBAQCBjbGFzcyBwbGF0 Zm9ybV90b3BvbG9neSB7CisgICAgICAgICAgICAgbnVtYV9pbmRleGVzX2xpc3QucmVzaXplKG51 bWFfbm9kZXNfY291bnQpOworICAgICAgICAgICAgIGh3bG9jX29ial90IG5vZGVfYnVmZmVyOwor ICAgICAgICAgICAgIGh3bG9jX2JpdG1hcF9mb3JlYWNoX2JlZ2luKGksIHByb2Nlc3Nfbm9kZV9h ZmZpbml0eV9tYXNrKSB7CistICAgICAgICAgICAgICAgIG5vZGVfYnVmZmVyID0gaHdsb2NfZ2V0 X29ial9ieV90eXBlKHRvcG9sb2d5LCBIV0xPQ19PQkpfTlVNQU5PREUsIGkpOworKyAgICAgICAg ICAgICAgICBub2RlX2J1ZmZlciA9IGh3bG9jX2dldF9udW1hbm9kZV9vYmpfYnlfb3NfaW5kZXgo dG9wb2xvZ3ksIGkpOworICAgICAgICAgICAgICAgICBudW1hX2luZGV4ZXNfbGlzdFtjb3VudGVy XSA9IHN0YXRpY19jYXN0PGludD4obm9kZV9idWZmZXItPmxvZ2ljYWxfaW5kZXgpOworIAorICAg ICAgICAgICAgICAgICBpZiAoIG51bWFfaW5kZXhlc19saXN0W2NvdW50ZXJdID4gbWF4X251bWFf aW5kZXggKSB7CitAQCAtMTUwLDcgKzE2MSw3IEBAIGNsYXNzIHBsYXRmb3JtX3RvcG9sb2d5IHsK KyAgICAgICAgICAgICBudW1hX2FmZmluaXR5X21hc2tzX2xpc3QucmVzaXplKG1heF9udW1hX2lu ZGV4ICsgMSk7CisgICAgICAgICAgICAgaW50IGluZGV4ID0gMDsKKyAgICAgICAgICAgICBod2xv Y19iaXRtYXBfZm9yZWFjaF9iZWdpbihpLCBwcm9jZXNzX25vZGVfYWZmaW5pdHlfbWFzaykgewor LSAgICAgICAgICAgICAgICBub2RlX2J1ZmZlciA9IGh3bG9jX2dldF9vYmpfYnlfdHlwZSh0b3Bv bG9neSwgSFdMT0NfT0JKX05VTUFOT0RFLCBpKTsKKysgICAgICAgICAgICAgICAgbm9kZV9idWZm ZXIgPSBod2xvY19nZXRfbnVtYW5vZGVfb2JqX2J5X29zX2luZGV4KHRvcG9sb2d5LCBpKTsKKyAg ICAgICAgICAgICAgICAgaW5kZXggPSBzdGF0aWNfY2FzdDxpbnQ+KG5vZGVfYnVmZmVyLT5sb2dp Y2FsX2luZGV4KTsKKyAKKyAgICAgICAgICAgICAgICAgaHdsb2NfY3B1c2V0X3QmIGN1cnJlbnRf bWFzayA9IG51bWFfYWZmaW5pdHlfbWFza3NfbGlzdFtpbmRleF07CitAQCAtMTY4LDcgKzE3OSw3 IEBAIGNsYXNzIHBsYXRmb3JtX3RvcG9sb2d5IHsKKyAgICAgICAgICAgICBjb3JlX3R5cGVzX2lu ZGV4ZXNfbGlzdC5wdXNoX2JhY2soLTEpOworICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg IH0KKy0jaWYgX19IV0xPQ19IWUJSSURfQ1BVU19JTlRFUkZBQ0VTX1BSRVNFTlQKKysjaWYgX19U QkJCSU5EX0hXTE9DX0hZQlJJRF9DUFVTX0lOVEVSRkFDRVNfUFJFU0VOVAorICAgICAgICAgX19U QkJfQVNTRVJUKGh3bG9jX2dldF9hcGlfdmVyc2lvbigpID49IDB4MjA0MDAsICJIeWJyaWQgQ1BV cyBzdXBwb3J0IGludGVyZmFjZXMgcmVxdWlyZWQgSFdMT0MgPj0gMi40Iik7CisgICAgICAgICAv LyBQYXJzaW5nIHRoZSBoeWJyaWQgQ1BVIHRvcG9sb2d5CisgICAgICAgICBpbnQgY29yZV90eXBl c19udW1iZXIgPSBod2xvY19jcHVraW5kc19nZXRfbnIodG9wb2xvZ3ksIDApOworQEAgLTE5Niw5 ICsyMDcsOSBAQCBjbGFzcyBwbGF0Zm9ybV90b3BvbG9neSB7CisgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICB9CisgICAgICAgICB9CistI2Vsc2UgLyohX19IV0xPQ19IWUJSSURfQ1BV U19JTlRFUkZBQ0VTX1BSRVNFTlQqLworKyNlbHNlIC8qIV9fVEJCQklORF9IV0xPQ19IWUJSSURf Q1BVU19JTlRFUkZBQ0VTX1BSRVNFTlQqLworICAgICAgICAgYm9vbCBjb3JlX3R5cGVzX3BhcnNp bmdfYnJva2Vue3RydWV9OworLSNlbmRpZiAvKl9fSFdMT0NfSFlCUklEX0NQVVNfSU5URVJGQUNF U19QUkVTRU5UKi8KKysjZW5kaWYgLypfX1RCQkJJTkRfSFdMT0NfSFlCUklEX0NQVVNfSU5URVJG QUNFU19QUkVTRU5UKi8KKyAKKyAgICAgICAgIGlmIChjb3JlX3R5cGVzX3BhcnNpbmdfYnJva2Vu KSB7CisgICAgICAgICAgICAgZm9yIChhdXRvJiBjb3JlX3R5cGVfbWFzayA6IGNvcmVfdHlwZXNf YWZmaW5pdHlfbWFza3NfbGlzdCkgeworZGlmZiAtLWdpdCBhL3Rlc3QvQ01ha2VMaXN0cy50eHQg Yi90ZXN0L0NNYWtlTGlzdHMudHh0CitpbmRleCBiZGFlOWUyYjEuLmMyYjlkNmRiYSAxMDA2NDQK Ky0tLSBhL3Rlc3QvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3QvQ01ha2VMaXN0cy50eHQKK0BA IC0yNzUsOSArMjc1LDkgQEAgZnVuY3Rpb24odGJiX2FkZF90YmJiaW5kX3Rlc3QpCisgICAgICAg ICBGQUlMX1JFR1VMQVJfRVhQUkVTU0lPTiAiU3RhdHVzOi4qRkFJTFVSRSIKKyAgICAgKQorIAor LSAgICBpZiAoVEFSR0VUIEhXTE9DOjpod2xvY18yXzQgQU5EIE5PVCBIV0xPQ18yXzRfVEVTVFNf U1RBVFVTX1NIT1dOKQorLSAgICAgICAgbWVzc2FnZShTVEFUVVMgIkhXTE9DIDIuNCBkZXBlbmRl bnQgdGVzdHMgd2VyZSBlbmFibGVkLiIpCistICAgICAgICBzZXQoSFdMT0NfMl80X1RFU1RTX1NU QVRVU19TSE9XTiBUUlVFIFBBUkVOVF9TQ09QRSkKKysgICAgaWYgKFRBUkdFVCBIV0xPQzo6aHds b2NfMl81IEFORCBOT1QgSFdMT0NfMl81X1RFU1RTX1NUQVRVU19TSE9XTikKKysgICAgICAgIG1l c3NhZ2UoU1RBVFVTICJIV0xPQyAyLjUgZGVwZW5kZW50IHRlc3RzIHdlcmUgZW5hYmxlZC4iKQor KyAgICAgICAgc2V0KEhXTE9DXzJfNV9URVNUU19TVEFUVVNfU0hPV04gVFJVRSBQQVJFTlRfU0NP UEUpCisgICAgIGVuZGlmKCkKKyAKKyAgICAgaWYgKFRBUkdFVCBIV0xPQzo6aHdsb2NfMiBBTkQg Tk9UIEhXTE9DXzJfVEVTVFNfU1RBVFVTX1NIT1dOKQorQEAgLTI5MSwyMiArMjkxLDIyIEBAIGZ1 bmN0aW9uKHRiYl9hZGRfdGJiYmluZF90ZXN0KQorICAgICBlbmRpZigpCisgCisgICAgIGxpc3Qo QVBQRU5EIEhXTE9DX1RFU1RfQ0FTRVMKKy0gICAgICAgIGh3bG9jXzJfNAorKyAgICAgICAgaHds b2NfMl81CisgICAgICAgICBod2xvY18yCisgICAgICAgICBod2xvY18xXzExCistICAgICAgICBo d2xvY18yXzRfaHdsb2NfMgorLSAgICAgICAgaHdsb2NfMl80X2h3bG9jXzFfMTEKKysgICAgICAg IGh3bG9jXzJfNV9od2xvY18yCisrICAgICAgICBod2xvY18yXzVfaHdsb2NfMV8xMQorICAgICAg ICAgaHdsb2NfMl9od2xvY18xXzExCistICAgICAgICBod2xvY18yXzRfaHdsb2NfMl9od2xvY18x XzExCisrICAgICAgICBod2xvY18yXzVfaHdsb2NfMl9od2xvY18xXzExCisgICAgICkKKyAKKy0g ICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzBfVkFSUyB0YmJiaW5kXzJfNCAiaHdsb2Nf Ml80IikKKysgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzBfVkFSUyB0YmJiaW5kXzJf NSAiaHdsb2NfMl81IikKKyAgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzFfVkFSUyB0 YmJiaW5kXzIgICAiaHdsb2NfMiIpCisgICAgIGxpc3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV8y X1ZBUlMgdGJiYmluZCAgICAgImh3bG9jXzFfMTEiKQorLSAgICBsaXN0KEFQUEVORCBIV0xPQ19U RVNUX0NBU0VfM19WQVJTIHRiYmJpbmRfMl80ICJod2xvY18yXzQsaHdsb2NfMiIpCistICAgIGxp c3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV80X1ZBUlMgdGJiYmluZF8yXzQgImh3bG9jXzJfNCxo d2xvY18xXzExIikKKysgICAgbGlzdChBUFBFTkQgSFdMT0NfVEVTVF9DQVNFXzNfVkFSUyB0YmJi aW5kXzJfNSAiaHdsb2NfMl81LGh3bG9jXzIiKQorKyAgICBsaXN0KEFQUEVORCBIV0xPQ19URVNU X0NBU0VfNF9WQVJTIHRiYmJpbmRfMl81ICJod2xvY18yXzUsaHdsb2NfMV8xMSIpCisgICAgIGxp c3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV81X1ZBUlMgdGJiYmluZF8yICAgImh3bG9jXzIsaHds b2NfMV8xMSIpCistICAgIGxpc3QoQVBQRU5EIEhXTE9DX1RFU1RfQ0FTRV82X1ZBUlMgdGJiYmlu ZF8yXzQgImh3bG9jXzJfNCxod2xvY18yLGh3bG9jXzFfMTEiKQorKyAgICBsaXN0KEFQUEVORCBI V0xPQ19URVNUX0NBU0VfNl9WQVJTIHRiYmJpbmRfMl81ICJod2xvY18yXzUsaHdsb2NfMixod2xv Y18xXzExIikKKyAKKyAgICAgZm9yZWFjaChURVNUX0NBU0UgJHtIV0xPQ19URVNUX0NBU0VTfSkK KyAgICAgICAgIGxpc3QoRklORCBIV0xPQ19URVNUX0NBU0VTICR7VEVTVF9DQVNFfSBURVNUX0NB U0VfSU5ERVgpCitAQCAtMzMxLDcgKzMzMSw3IEBAIGVuZGZ1bmN0aW9uKCkKKyAjIENvcHkgbGli cmFyaWVzIHRvIHRlc3QgZm9sZGVyIHRvIG1ha2UgaXQgdmlzaWJsZSBkdXJpbmcgdGVzdHMgZXhl Y3V0aW9uIGlmIGV4dGVybmFsIFRCQiBpcyB0ZXN0ZWQuCisgIyBUT0RPOiBjaGVjayBhbmQgdXBk YXRlIGZvciBtdWx0aS1jb25maWcgZ2VuZXJhdG9ycy4KKyBpZiAoVEJCX0ZPVU5EKQorLSAgICBs aXN0KEFQUEVORCBfdGJiX3Rlc3RfY29tcG9uZW50cyB0YmIgdGJibWFsbG9jIHRiYm1hbGxvY19w cm94eSB0YmJiaW5kIHRiYmJpbmRfMl8wIHRiYmJpbmRfMl80KQorKyAgICBsaXN0KEFQUEVORCBf dGJiX3Rlc3RfY29tcG9uZW50cyB0YmIgdGJibWFsbG9jIHRiYm1hbGxvY19wcm94eSB0YmJiaW5k IHRiYmJpbmRfMl8wIHRiYmJpbmRfMl81KQorICAgICBmb3JlYWNoKF9jb21wb25lbnQgJHtfdGJi X3Rlc3RfY29tcG9uZW50c30pCisgICAgICAgICBpZiAoVEFSR0VUIFRCQjo6JHtfY29tcG9uZW50 fSkKKyAgICAgICAgICAgICBnZXRfcHJvcGVydHkoJHtfY29tcG9uZW50fV9saWJfZmlsZV9sb2Nh dGlvbiBUQVJHRVQgVEJCOjoke19jb21wb25lbnR9IFBST1BFUlRZIExPQ0FUSU9OKQorQEAgLTU5 Myw2ICs1OTMsNiBAQCBpZiAoTk9UICIke0NNQUtFX1NZU1RFTV9QUk9DRVNTT1J9IiBNQVRDSEVT ICJtaXBzIikKKyAgICAgdGJiX2FkZF90ZXN0KFNVQkRJUiB0YmJtYWxsb2MgTkFNRSB0ZXN0X21h bGxvY19uZXdfaGFuZGxlciBERVBFTkRFTkNJRVMgVEJCOjp0YmJtYWxsb2NfcHJveHkpCisgZW5k aWYoKQorIAorLXVuc2V0KEhXTE9DXzJfNF9URVNUU19TVEFUVVNfU0hPV04pCisrdW5zZXQoSFdM T0NfMl81X1RFU1RTX1NUQVRVU19TSE9XTikKKyB1bnNldChIV0xPQ18yX1RFU1RTX1NUQVRVU19T SE9XTikKKyB1bnNldChIV0xPQ18xXzExX1RFU1RTX1NUQVRVU19TSE9XTikKK2RpZmYgLS1naXQg YS90ZXN0L2NvbW1vbi9jb21tb25fYXJlbmFfY29uc3RyYWludHMuaCBiL3Rlc3QvY29tbW9uL2Nv bW1vbl9hcmVuYV9jb25zdHJhaW50cy5oCitpbmRleCAyYTBiMWVhOTcuLjVlZmM3MTA4MiAxMDA2 NDQKKy0tLSBhL3Rlc3QvY29tbW9uL2NvbW1vbl9hcmVuYV9jb25zdHJhaW50cy5oCisrKysgYi90 ZXN0L2NvbW1vbi9jb21tb25fYXJlbmFfY29uc3RyYWludHMuaAorQEAgLTM4LDkgKzM4LDI2IEBA CisgCisgI2lmIChfV0lOMzIgfHwgX1dJTjY0KSAmJiBfX1RCQl9IV0xPQ19WQUxJRF9FTlZJUk9O TUVOVAorICNpbmNsdWRlIDx3aW5kb3dzLmg+CistaW50IGdldF9wcm9jZXNzb3JzX2dyb3Vwc19j b3VudCgpIHsgcmV0dXJuIEdldEFjdGl2ZVByb2Nlc3Nvckdyb3VwQ291bnQoKTsgfQorK2ludCBn ZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpIHsKKysgICAgU1lTVEVNX0lORk8gc2k7CisrICAg IEdldE5hdGl2ZVN5c3RlbUluZm8oJnNpKTsKKysgICAgRFdPUkRfUFRSIHBhbSwgc2FtLCBtID0g MTsKKysgICAgR2V0UHJvY2Vzc0FmZmluaXR5TWFzayggR2V0Q3VycmVudFByb2Nlc3MoKSwgJnBh bSwgJnNhbSApOworKyAgICBpbnQgbnByb2MgPSAwOworKyAgICBmb3IgKCBzdGQ6OnNpemVfdCBp ID0gMDsgaSA8IHNpemVvZihEV09SRF9QVFIpICogQ0hBUl9CSVQ7ICsraSwgbSA8PD0gMSApIHsK KysgICAgICAgIGlmICggcGFtICYgbSApCisrICAgICAgICAgICAgKytucHJvYzsKKysgICAgfQor KyAgICAvLyBTZXR0aW5nIHVwIHByb2Nlc3NvciBncm91cHMgaW4gY2FzZSB0aGUgcHJvY2VzcyBk b2VzIG5vdCByZXN0cmljdCBhZmZpbml0eSBtYXNrIGFuZCBtb3JlIHRoYW4gb25lIHByb2Nlc3Nv ciBncm91cCBpcyBwcmVzZW50CisrICAgIGlmICggbnByb2MgPT0gKGludClzaS5kd051bWJlck9m UHJvY2Vzc29ycyAgKSB7CisrICAgICAgICAvLyBUaGUgcHJvY2VzcyBkb2VzIG5vdCBoYXZlIHJl c3RyaWN0aW5nIGFmZmluaXR5IG1hc2sgYW5kIG11bHRpcGxlIHByb2Nlc3NvciBncm91cHMgYXJl IHBvc3NpYmxlCisrICAgICAgICByZXR1cm4gKGludClHZXRBY3RpdmVQcm9jZXNzb3JHcm91cENv dW50KCk7CisrICAgIH0gZWxzZSB7CisrICAgICAgICByZXR1cm4gMTsKKysgICAgfQorK30KKyAj ZWxzZQorLWludCBnZXRfcHJvY2Vzc29yc19ncm91cHNfY291bnQoKSB7IHJldHVybiAxOyB9Cisr aW50IGdldF9wcm9jZXNzb3JzX2dyb3VwX2NvdW50KCkgeyByZXR1cm4gMTsgfQorICNlbmRpZgor IAorIC8vVE9ETzogV3JpdGUgYSB0ZXN0IHRoYXQgY2hlY2tzIGZvciBtZW1vcnkgbGVha3MgZHVy aW5nIGR5bmFtaWMgbGluay91bmxpbmsgb2YgVEJCYmluZC4KK0BAIC02OSw2ICs4Niw3IEBAIGlu dCBnZXRfcHJvY2Vzc29yc19ncm91cHNfY291bnQoKSB7IHJldHVybiAxOyB9CisgI2VuZGlmCisg CisgI2RlZmluZSBfX0hXTE9DX0hZQlJJRF9DUFVTX0lOVEVSRkFDRVNfUFJFU0VOVCAoSFdMT0Nf QVBJX1ZFUlNJT04gPj0gMHgyMDQwMCkKKysjZGVmaW5lIF9fSFdMT0NfVE9QT0xPR1lfRkxBR19S RVNUUklDVF9UT19DUFVCSU5ESU5HX1BSRVNFTlQgKEhXTE9DX0FQSV9WRVJTSU9OID49IDB4MjA1 MDApCisgLy8gQXQgdGhpcyBtb21lbnQgdGhlIGh5YnJpZCBDUFVzIEhXTE9DIGludGVyZmFjZXMg cmV0dXJucyB1bmV4cGVjdGVkIHJlc3VsdHMgb24gc29tZSBXaW5kb3dzIG1hY2hpbmVzCisgLy8g aW4gdGhlIDMyLWJpdCBhcmNoIG1vZGUuCisgI2RlZmluZSBfX0hXTE9DX0hZQlJJRF9DUFVTX0lO VEVSRkFDRVNfVkFMSUQgKCFfV0lOMzIgfHwgX1dJTjY0KQorQEAgLTE1Myw5ICsxNzEsMTggQEAg Y2xhc3Mgc3lzdGVtX2luZm8geworIAorICAgICBzeXN0ZW1faW5mbygpIHsKKyAgICAgICAgIGh3 bG9jX3JlcXVpcmVfZXgoaHdsb2NfdG9wb2xvZ3lfaW5pdCwgJnRvcG9sb2d5KTsKKysjaWYgX19I V0xPQ19UT1BPTE9HWV9GTEFHX1JFU1RSSUNUX1RPX0NQVUJJTkRJTkdfUFJFU0VOVAorKyAgICAg ICAgaWYgKCBnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID09IDEgKSB7CisrICAgICAgICAg ICAgUkVRVUlSRSgKKysgICAgICAgICAgICAgICAgaHdsb2NfdG9wb2xvZ3lfc2V0X2ZsYWdzKHRv cG9sb2d5LAorKyAgICAgICAgICAgICAgICAgICAgSFdMT0NfVE9QT0xPR1lfRkxBR19JU19USElT U1lTVEVNIHwKKysgICAgICAgICAgICAgICAgICAgIEhXTE9DX1RPUE9MT0dZX0ZMQUdfUkVTVFJJ Q1RfVE9fQ1BVQklORElORykgPT0gMAorKyAgICAgICAgICAgICk7CisrICAgICAgICB9CisrI2Vu ZGlmCisgICAgICAgICBod2xvY19yZXF1aXJlX2V4KGh3bG9jX3RvcG9sb2d5X2xvYWQsIHRvcG9s b2d5KTsKKyAKKy0gICAgICAgIGlmICggZ2V0X3Byb2Nlc3NvcnNfZ3JvdXBzX2NvdW50KCkgPiAx ICkgeworKyAgICAgICAgaWYgKCBnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID4gMSApIHsK KyAgICAgICAgICAgICBwcm9jZXNzX2NwdXNldCA9IGh3bG9jX2JpdG1hcF9kdXAoaHdsb2NfdG9w b2xvZ3lfZ2V0X2NvbXBsZXRlX2NwdXNldCh0b3BvbG9neSkpOworICAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgICBwcm9jZXNzX2NwdXNldCA9IGh3bG9jX2JpdG1hcF9hbGxvYygpOworQEAg LTQzNCw3ICs0NjEsNyBAQCBzeXN0ZW1faW5mbzo6YWZmaW5pdHlfbWFzayBnZXRfYXJlbmFfYWZm aW5pdHkodGJiOjp0YXNrX2FyZW5hJiB0YSkgeworICAgICAgICAgICAgICAgICBiYXJyaWVyLndh aXQoKTsKKyAgICAgICAgICAgICAgICAgdGJiOjpzcGluX211dGV4OjpzY29wZWRfbG9jayBsb2Nr KGFmZmluaXR5X211dGV4KTsKKyAgICAgICAgICAgICAgICAgc3lzdGVtX2luZm86OmFmZmluaXR5 X21hc2sgdGhyZWFkX2FmZmluaXR5ID0gc3lzdGVtX2luZm86OmFsbG9jYXRlX2N1cnJlbnRfYWZm aW5pdHlfbWFzaygpOworLSAgICAgICAgICAgICAgICBpZiAoZ2V0X3Byb2Nlc3NvcnNfZ3JvdXBz X2NvdW50KCkgPT0gMSkgeworKyAgICAgICAgICAgICAgICBpZiAoZ2V0X3Byb2Nlc3NvcnNfZ3Jv dXBfY291bnQoKSA9PSAxKSB7CisgICAgICAgICAgICAgICAgICAgICBSRVFVSVJFX01FU1NBR0Uo aHdsb2NfYml0bWFwX2lzZXF1YWwodGhyZWFkX2FmZmluaXR5LCBhcmVuYV9hZmZpbml0eSksCisg ICAgICAgICAgICAgICAgICAgICAgICAgIlRocmVhZHMgaGF2ZSBkaWZmZXJlbnQgbWFza3Mgb24g bWFjaGluZSB3aXRob3V0IHNldmVyYWwgcHJvY2Vzc29ycyBncm91cHMuIik7CisgICAgICAgICAg ICAgICAgIH0KK0BAIC01MzIsNyArNTU5LDcgQEAgY29uc3RyYWludHNfY29udGFpbmVyIGdlbmVy YXRlX2NvbnN0cmFpbnRzX3ZhcmlldHkoKSB7CisgICAgICAgICB9CisgCisgICAgICAgICAvLyBT b21lIGNvbnN0cmFpbnRzIG1heSBjYXVzZSB1bmV4cGVjdGVkIGJlaGF2aW9yLCB3aGljaCB3b3Vs ZCBiZSBmaXhlZCBsYXRlci4KKy0gICAgICAgIGlmIChnZXRfcHJvY2Vzc29yc19ncm91cHNfY291 bnQoKSA+IDEpIHsKKysgICAgICAgIGlmIChnZXRfcHJvY2Vzc29yc19ncm91cF9jb3VudCgpID4g MSkgeworICAgICAgICAgICAgIGZvcihhdXRvIGl0ID0gcmVzdWx0cy5iZWdpbigpOyBpdCAhPSBy ZXN1bHRzLmVuZCgpOyArK2l0KSB7CisgICAgICAgICAgICAgICAgIGlmIChpdC0+bWF4X3RocmVh ZHNfcGVyX2NvcmUgIT0gdGJiOjp0YXNrX2FyZW5hOjphdXRvbWF0aWMKKyAgICAgICAgICAgICAg ICAgICAgJiYgKGl0LT5udW1hX2lkID09IHRiYjo6dGFza19hcmVuYTo6YXV0b21hdGljIHx8IHRi Yjo6aW5mbzo6bnVtYV9ub2RlcygpLnNpemUoKSA9PSAxKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90 YmIvcGF0Y2hlcy8wMS1od2xvYy1wa2djb25maWcucGF0Y2ggYi9zcmNwa2dzL3RiYi9wYXRjaGVz LzAxLWh3bG9jLXBrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjI3OWViYzQzOTdjZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvdGJiL3Bh dGNoZXMvMDEtaHdsb2MtcGtnY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsNTIgQEAKK0Jhc2VkIG9u IGh0dHBzOi8vZ2l0aHViLmNvbS9vbmVhcGktc3JjL29uZVRCQi9wdWxsLzQ5OAorVHdlYWtlZCBh IGJpdCB0byB3b3JrIG9uIGB2MjAyMS4zLjBgCisKK2RpZmYgLS1naXQgYS9zcmMvdGJiYmluZC9D TWFrZUxpc3RzLnR4dCBiL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0CitpbmRleCBlNWNkYmY4 YmIuLmE0MDMzMjEwYSAxMDA2NDQKKy0tLSBhL3NyYy90YmJiaW5kL0NNYWtlTGlzdHMudHh0Cisr KysgYi9zcmMvdGJiYmluZC9DTWFrZUxpc3RzLnR4dAorQEAgLTM3LDYgKzM3LDEwIEBAIGZ1bmN0 aW9uKHRiYmJpbmRfYnVpbGQgVEJCQklORF9OQU1FIFJFUVVJUkVEX0hXTE9DX1RBUkdFVCkKKyAg ICAgICAgICQ8SU5TVEFMTF9JTlRFUkZBQ0U6JHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9Pgor ICAgICAgICAgJHtIV0xPQ19JTkNMVURFX0RJUlN9ICMgcGtnLWNvbmZpZyBkZWZpbmVkCisgICAg ICkKKysJdGFyZ2V0X2xpbmtfZGlyZWN0b3JpZXMoJHtUQkJCSU5EX05BTUV9CisrCQlQUklWQVRF CisrCQkke0hXTE9DX0xJQlJBUllfRElSU30gIyBwa2ctY29uZmlnIGRlZmluZWQKKysJKQorIAor ICAgICB0YXJnZXRfY29tcGlsZV9vcHRpb25zKCR7VEJCQklORF9OQU1FfQorICAgICAgICAgUFJJ VkFURQorQEAgLTY5LDcgKzY5LDYgQEAgZnVuY3Rpb24odGJiYmluZF9idWlsZCBUQkJCSU5EX05B TUUgUkVRVUlSRURfSFdMT0NfVEFSR0VUKQorICAgICAgICAgICAgIFBSSVZBVEUKKyAgICAgICAg ICAgICAke1RCQl9MSUJfTElOS19GTEFHU30KKyAgICAgICAgICAgICAke1RCQl9DT01NT05fTElO S19GTEFHU30KKy0gICAgICAgICAgICAke0hXTE9DX0xJQlJBUllfRElSU30gIyBwa2ctY29uZmln IGRlZmluZWQKKyAgICAgICAgICkKKyAgICAgZWxzZSgpCisgICAgICAgICB0YXJnZXRfbGlua19s aWJyYXJpZXMoJHtUQkJCSU5EX05BTUV9CitAQCAtNzYsNyArNzYsNiBAQCBmdW5jdGlvbih0YmJi aW5kX2J1aWxkIFRCQkJJTkRfTkFNRSBSRVFVSVJFRF9IV0xPQ19UQVJHRVQpCisgICAgICAgICAg ICAgUFJJVkFURQorICAgICAgICAgICAgICR7VEJCX0xJQl9MSU5LX0ZMQUdTfQorICAgICAgICAg ICAgICR7VEJCX0NPTU1PTl9MSU5LX0ZMQUdTfQorLSAgICAgICAgICAgICR7SFdMT0NfTElCUkFS WV9ESVJTfSAjIHBrZy1jb25maWcgZGVmaW5lZAorICAgICAgICAgKQorICAgICBlbmRpZigpCisg CitkaWZmIC0tZ2l0IGEvdGVzdC9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvQ01ha2VMaXN0cy50eHQK K2luZGV4IGI3Njg3NTlkNS4uM2ViODM1N2U2IDEwMDY0NAorLS0tIGEvdGVzdC9DTWFrZUxpc3Rz LnR4dAorKysrIGIvdGVzdC9DTWFrZUxpc3RzLnR4dAorQEAgLTI1OCw3ICsyNTgsMTIgQEAgZnVu Y3Rpb24odGJiX2FkZF90YmJiaW5kX3Rlc3QpCisgICAgICAgICApCisgICAgICAgICBzZXRfcHJv cGVydHkoCisgICAgICAgICAgICAgVEFSR0VUICR7X3RiYmJpbmRfdGVzdF9OQU1FfQorLSAgICAg ICAgICAgIFBST1BFUlRZIExJTktfTElCUkFSSUVTICR7SFdMT0NfTElCUkFSWV9ESVJTfSAke0hX TE9DX0xJQlJBUklFU30KKysgICAgICAgICAgICBQUk9QRVJUWSBMSU5LX0xJQlJBUklFUyAke0hX TE9DX0xJQlJBUklFU30KKysgICAgICAgICAgICBBUFBFTkQKKysgICAgICAgICkKKysgICAgICAg IHNldF9wcm9wZXJ0eSgKKysgICAgICAgICAgICBUQVJHRVQgJHtfdGJiYmluZF90ZXN0X05BTUV9 CisrCQkJUFJPUEVSVFkgTElOS19ESVJFQ1RPUklFUyAke0hXTE9DX0xJQlJBUllfRElSU30KKyAg ICAgICAgICAgICBBUFBFTkQKKyAgICAgICAgICkKKyAgICAgICAgIHNldF9wcm9wZXJ0eSgKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvdGJiL3BhdGNoZXMvaG9zdG5hbWUtdXNhZ2UucGF0Y2ggYi9zcmNw a2dzL3RiYi9wYXRjaGVzL2hvc3RuYW1lLXVzYWdlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA0YWVmZWZmMTkyYjUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3RiYi9w YXRjaGVzL2hvc3RuYW1lLXVzYWdlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBA QAotLS0tIGEvYnVpbGQvdmVyc2lvbl9pbmZvX2xpbnV4LnNoCi0rKysgYi9idWlsZC92ZXJzaW9u X2luZm9fbGludXguc2gKLUBAIC0yMCw3ICsyMCw3IEBACi0gCi0gIyBTY3JpcHQgdXNlZCB0byBn ZW5lcmF0ZSB2ZXJzaW9uIGluZm8gc3RyaW5nCi0gZWNobyAiI2RlZmluZSBfX1RCQl9WRVJTSU9O X1NUUklOR1MoTikgXFwiCi0tZWNobyAnI04iOiBCVUlMRF9IT1NUJyJcdFx0ImBob3N0bmFtZSAt c2AiICgiYHVuYW1lIC1tYCIpIiciIEVOREwgXCcKLStlY2hvICcjTiI6IEJVSUxEX0hPU1QnIlx0 XHQiYGhvc3RuYW1lYCIgKCJgdW5hbWUgLW1gIikiJyIgRU5ETCBcJwotICMgZmluZCBPUyBuYW1l IGluICotcmVsZWFzZSBhbmQgaXNzdWUqIGZpbGVzIGJ5IGZpbHRlcmluZyBibGFuayBsaW5lcyBh bmQgbHNiLXJlbGVhc2UgY29udGVudCBvdXQKLSBlY2hvICcjTiI6IEJVSUxEX09TJyJcdFx0ImBs c2JfcmVsZWFzZSAtc2QgMj4vZGV2L251bGwgfCBncmVwIC1paCAnW2Etel0gJyAtIC9ldGMvKnJl bGVhc2UgL2V0Yy9pc3N1ZSAyPi9kZXYvbnVsbCB8IGhlYWQgLTEgfCBzZWQgLWUgJ3MvWyJcXFxc XS8vZydgJyIgRU5ETCBcJwotIGVjaG8gJyNOIjogQlVJTERfS0VSTkVMJyJcdCJgdW5hbWUgLXNy dmAnIiBFTkRMIFwnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2gg Yi9zcmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2gKaW5kZXggYTg4NjdlYjUzNzkzLi5lYzg5 YzZhOTVmYzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGJiL3BhdGNoZXMvbXVzbC5wYXRjaAorKysg Yi9zcmNwa2dzL3RiYi9wYXRjaGVzL211c2wucGF0Y2gKQEAgLTEsNSArMSw1IEBACi0tLS0gYS9z cmMvdGJibWFsbG9jL3Byb3h5LmNwcAkyMDE4LTEwLTE3IDE0OjA1OjMxLjMxMTcyMzAxMyArMDIw MAotKysrIGIvc3JjL3RiYm1hbGxvYy9wcm94eS5jcHAJMjAxOC0xMC0xNyAxNDowNjozMi45NzI3 MjYxOTQgKzAyMDAKKy0tLSBhL3NyYy90YmJtYWxsb2NfcHJveHkvcHJveHkuY3BwCTIwMTgtMTAt MTcgMTQ6MDU6MzEuMzExNzIzMDEzICswMjAwCisrKysgYi9zcmMvdGJibWFsbG9jX3Byb3h5L3By b3h5LmNwcAkyMDE4LTEwLTE3IDE0OjA2OjMyLjk3MjcyNjE5NCArMDIwMAogQEAgLTI4LDYgKzI4 LDcgQEAKICAvLyBvZiBhbGlnbmVkX2FsbG9jIGFzIHJlcXVpcmVkIGJ5IG5ldyBDKysgc3RhbmRh cmQsIHRoaXMgbWFrZXMgaXQgaGFyZCB0bwogIC8vIHJlZGVmaW5lIGFsaWduZWRfYWxsb2MgaGVy ZS4gSG93ZXZlciwgcnVubmluZyBvbiBzeXN0ZW1zIHdpdGggbmV3IGxpYmMKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvdGJiL3RlbXBsYXRlIGIvc3JjcGtncy90YmIvdGVtcGxhdGUKaW5kZXggYWVlZjZl YmRkMDYxLi40NzY1NTgyOWY3NDQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvdGJiL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvdGJiL3RlbXBsYXRlCkBAIC0xLDc2ICsxLDMzIEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICd0YmInCiBwa2duYW1lPXRiYgotdmVyc2lvbj0yMDIwLlUzCit2ZXJzaW9uPTIwMjEu My4wCiByZXZpc2lvbj0xCi0jIHZlcnNpb24gcmV3cml0ZTogMjAxN19VNyAodXBzdHJlYW0pID0+ IDIwMTcuNyAoeGJwcykKLV92ZXI9JHt2ZXJzaW9uLy4vX30KLXdya3NyYz0ib25lVEJCLSR7X3Zl cn0iCi1idWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKLWhvc3RtYWtlZGVwZW5kcz0iY21ha2UiCit3 cmtzcmM9Im9uZVRCQi0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK21ha2VkZXBlbmRz PSJsaWJod2xvYy1kZXZlbCBsaWJnb21wLWRldmVsIgogc2hvcnRfZGVzYz0iSW50ZWwgVGhyZWFk aW5nIEJ1aWxkaW5nIEJsb2NrcyIKIG1haW50YWluZXI9IkFuZHJlYSBCcmFuY2FsZW9uaSA8YWJj QHBvbXBlbC5tZT4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3 LnRocmVhZGluZ2J1aWxkaW5nYmxvY2tzLm9yZyIKLWRpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIu Y29tL29uZWFwaS1zcmMvb25lVEJCL2FyY2hpdmUvJHtfdmVyfS50YXIuZ3oiCi1jaGVja3N1bT0y MTAzY2M2MjM4YzkzNTY2NGY4NzY4MDYxOGY2Njg0ZDU3NTAxZDRhMmZhOGVhOGY2Yzk3YWQ2ZmY3 ZGM3MjJhCi0KLWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgotCXg4Nl82NCopCi0JCW1h a2VfYnVpbGRfYXJncz0iYXJjaD1pbnRlbDY0IgotCQk7OwotCWk2ODYqKQotCQltYWtlX2J1aWxk X2FyZ3M9ImFyY2g9aWEzMiIKLQkJOzsKLQlhcm12N2wqKQotCQltYWtlX2J1aWxkX2FyZ3M9ImFy Y2g9YXJtdjciCi0JCTs7Ci0JYWFyY2g2NCopCi0JCW1ha2VfYnVpbGRfYXJncz0iYXJjaD1hcm02 NCIKLQkJOzsKLQlwcGM2NCopCi0JCW1ha2VfYnVpbGRfYXJncz0iYXJjaD1wcGM2NCIKLQkJOzsK LQlwcGMqKQotCQltYWtlX2J1aWxkX2FyZ3M9ImFyY2g9cHBjMzIiCi0JCTs7Ci0JKikKLQkJIyBt YWtlIHN1cmUgdG8gZmFsbCBiYWNrIGluc3RlYWQgb2YgbGV0dGluZyBob3N0IHVuYW1lIGNvbnRy b2wgaXQKLQkJbWFrZV9idWlsZF9hcmdzPSJhcmNoPWdlbmVyaWMiCi0JCTs7Ci1lc2FjCi0KLXBv c3RfZXh0cmFjdCgpIHsKLQlzZWQgLWkgJ3N8Q1BMVVMgPSBnLi58Q1BMVVMgPSAkKENYWCl8Zycg YnVpbGQvbGludXguZ2NjLmluYwotCXNlZCAtaSAnc3xDT05MWSA9IGdjY3xDT05MWSA9ICQoQ0Mp fGcnIGJ1aWxkL2xpbnV4LmdjYy5pbmMKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9naXRodWIuY29tL29u ZWFwaS1zcmMvb25lVEJCL2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09OGY2 MTY1NjE2MDM2OTViYmI4Mzg3MTg3NWQyYzYwNTFlYTI4ZjgxODdkYmU1OTI5OTk2MTM2OTkwNGQx ZDQ5ZQogCitwcmVfcGF0Y2goKSB7CiAJIyBhbHRlcm5hdGl2ZSBtaWdodCBiZToKIAkjIGh0dHBz Oi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9jZ2l0L2Fwb3J0cy90cmVlL3Rlc3RpbmcvbGlidGJiL2ds aWJjLXN0cnVjdC1tYWxsaW5mby5wYXRjaAogCWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9ICJt dXNsIiBdOyB0aGVuCiAJCXZzZWQgLWUgInNAI2RlZmluZSBNQUxMT0NfVU5JWExJS0VfT1ZFUkxP QURfRU5BQkxFRCBfX2xpbnV4X19AQCIgXAotCQkgIC1pIHNyYy90YmJtYWxsb2MvcHJveHkuaAor CQkgIC1pIHNyYy90YmJtYWxsb2NfcHJveHkvcHJveHkuaAogCWZpCiB9CiAKLWRvX2luc3RhbGwo KSB7Ci0Jdm1rZGlyIHVzci9saWIKLQl2Y29weSBidWlsZC9saW51eF8qLyouc28qIHVzci9saWIK LQl2bWtkaXIgdXNyL2luY2x1ZGUvdGJiCi0JdmNvcHkgaW5jbHVkZS90YmIvKiB1c3IvaW5jbHVk ZS90YmIKLQotCWNtYWtlIFwKLQkJLURJTlNUQUxMX0RJUj0kREVTVERJUi91c3IvbGliL2NtYWtl L1RCQiBcCi0JCS1EU1lTVEVNX05BTUU9TGludXggXAotCQktRExJQl9SRUxfUEFUSD0uLi8uLiBc Ci0JCS1ESU5DX1JFTF9QQVRIPS4uLy4uLy4uL2luY2x1ZGUgXAotCQktUCBjbWFrZS90YmJfY29u ZmlnX2luc3RhbGxlci5jbWFrZQotfQotCiB0YmItZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAt IGRldmVsb3BtZW50IGZpbGVzIgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVk ZQotCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3Zl IHVzci9saWIvcGtnY29uZmlnCisJCXZtb3ZlIHVzci9saWIvKi5zbwogCX0KIH0KCkZyb20gNThh YzlhZTVkNTRiZDJlMzUyMzIzMzk3NmI1NGNlZmVmNGU3ZjZiNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpE YXRlOiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM4ICswMzAwClN1YmplY3Q6IFtQQVRDSCAwMy8x MV0gT3BlblN1YmRpdjogdXBkYXRlIHRvIDMuNC40LgoKLS0tCiBzcmNwa2dzL09wZW5TdWJkaXYv dGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9PcGVuU3ViZGl2L3RlbXBsYXRlIGIvc3Jj cGtncy9PcGVuU3ViZGl2L3RlbXBsYXRlCmluZGV4IGI3YTVlMTZlZmJjZi4uZGZiZjI5Y2MxYTUy IDEwMDY0NAotLS0gYS9zcmNwa2dzL09wZW5TdWJkaXYvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9P cGVuU3ViZGl2L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn T3BlblN1YmRpdicKIHBrZ25hbWU9T3BlblN1YmRpdgotdmVyc2lvbj0zLjQuMwordmVyc2lvbj0z LjQuNAogcmV2aXNpb249MQogd3Jrc3JjPSJPcGVuU3ViZGl2LSR7dmVyc2lvbi8vLi9ffSIKIGJ1 aWxkX3N0eWxlPWNtYWtlCkBAIC0xMyw3ICsxMyw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpv aG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9tZXBhZ2U9Imh0dHA6Ly9n cmFwaGljcy5waXhhci5jb20vb3BlbnN1YmRpdi9kb2NzL2ludHJvLmh0bWwiCiBkaXN0ZmlsZXM9 Imh0dHBzOi8vZ2l0aHViLmNvbS9QaXhhckFuaW1hdGlvblN0dWRpb3MvT3BlblN1YmRpdi9hcmNo aXZlL3Yke3ZlcnNpb24vLy4vX30udGFyLmd6IgotY2hlY2tzdW09N2IyMmViMjdkNjM2YWIwYzFl MDM3MjJjN2E1YTViZDRmMTE2NjRlZTY1YzliNDhmMzQxYTZkMGNlN2YzNjc0NQorY2hlY2tzdW09 MjBkNDlmODBhMmI3NzhhZDRkMDFmMDkxYWQ4OGQ4YzJmOTFjZjZjNzM2Mzk0MGM2MjEzMjQxY2U2 ZjEwNDhmYgogCiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMr PSIgT3BlblN1YmRpdiIKCkZyb20gMGNjZTlhOWM1NjljOGVhZDYxYTVjNjE5OTVmYTRiM2M4N2Zl NjEwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29m dHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpEYXRlOiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM4ICsw MzAwClN1YmplY3Q6IFtQQVRDSCAwNC8xMV0gUHJ1c2FTbGljZXI6IHVwZGF0ZSB0byAyLjMuMy4K Ci0tLQogc3JjcGtncy9QcnVzYVNsaWNlci9wYXRjaGVzL2Nyb3NzLnBhdGNoIHwgMTEgLS0tLS0t LS0tLS0KIHNyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUgICAgICAgICAgICB8ICA0ICsrLS0K IDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2ggYi9zcmNw a2dzL1BydXNhU2xpY2VyL3BhdGNoZXMvY3Jvc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGQ2NGE0NTBkOWU5Zi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvUHJ1c2FT bGljZXIvcGF0Y2hlcy9jcm9zcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAK LS0tLSBhL3NyYy9hdnJkdWRlL0NNYWtlTGlzdHMudHh0CTIwMjAtMDYtMDQgMDk6MTk6MjYuMDE3 MjUxMjE1ICswMjAwCi0rKysgYi9zcmMvYXZyZHVkZS9DTWFrZUxpc3RzLnR4dAkyMDIwLTA2LTA0 IDA5OjE5OjM2LjQ2ODI1MDc3MSArMDIwMAotQEAgLTgzLDcgKzgzLDcgQEAgYWRkX2V4ZWN1dGFi bGUoYXZyZHVkZS1jb25mLWdlbiBjb25mLWdlbgotIGFkZF9jdXN0b21fY29tbWFuZCgKLSAgICAg REVQRU5EUyBhdnJkdWRlLWNvbmYtZ2VuICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9hdnJk dWRlLXNsaWMzci5jb25mCi0gICAgIE9VVFBVVCAke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0v YXZyZHVkZS1zbGljM3IuY29uZi5oCi0tICAgIENPTU1BTkQgJDxUQVJHRVRfRklMRTphdnJkdWRl LWNvbmYtZ2VuPiBhdnJkdWRlLXNsaWMzci5jb25mIGF2cmR1ZGVfc2xpYzNyX2NvbmYgJHtDTUFL RV9DVVJSRU5UX0JJTkFSWV9ESVJ9L2F2cmR1ZGUtc2xpYzNyLmNvbmYuaAotKyAgICBDT01NQU5E IGF2cmR1ZGUtY29uZi1nZW4gYXZyZHVkZS1zbGljM3IuY29uZiBhdnJkdWRlX3NsaWMzcl9jb25m ICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9hdnJkdWRlLXNsaWMzci5jb25mLmgKLSAgICAg V09SS0lOR19ESVJFQ1RPUlkgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ci0gKQotIApkaWZm IC0tZ2l0IGEvc3JjcGtncy9QcnVzYVNsaWNlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvUHJ1c2FTbGlj ZXIvdGVtcGxhdGUKaW5kZXggZGQwZTc2Y2I4MDE3Li5hOTM4MzJhYzAyZTQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvUHJ1c2FTbGljZXIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9QcnVzYVNsaWNlci90 ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ1BydXNhU2xpY2Vy JwogcGtnbmFtZT1QcnVzYVNsaWNlcgotdmVyc2lvbj0yLjMuMAordmVyc2lvbj0yLjMuMwogcmV2 aXNpb249MQogd3Jrc3JjPSJQcnVzYVNsaWNlci12ZXJzaW9uXyR7dmVyc2lvbn0iCiBidWlsZF9z dHlsZT1jbWFrZQpAQCAtMTYsNyArMTYsNyBAQCBtYWludGFpbmVyPSJKYXNwZXIgQ2hhbiA8amFz cGVyY2hhbjUxNUBnbWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVw YWdlPSJodHRwczovL3d3dy5wcnVzYTNkLmNvbS9wcnVzYXNsaWNlci8iCiBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9wcnVzYTNkL1BydXNhc2xpY2VyL2FyY2hpdmUvdmVyc2lvbl8ke3Zl cnNpb259LnRhci5neiIKLWNoZWNrc3VtPWNkM2JhYzVlMjliNTQ0MWZjNDY5MGYyOGNkN2IxMDY0 ZTk3ZGMwMDIwN2JiZGM4OGY3YmQ3ODMyMzA4ZDZjYTUKK2NoZWNrc3VtPWRlZGEyMDk1MDVmNzQw YWMzZDZmNTljYjJhOTYwZjRkZjkwODI2OWVlMDliZDMwY2Q0ZWRiOWZjNDcyZDI5YWMKIG5vY3Jv c3M9Imh0dHBzOi8vYnVpbGQudm9pZGxpbnV4Lm9yZy9idWlsZGVycy9hcm12N2xfYnVpbGRlci9i dWlsZHMvMjUyMzAvc3RlcHMvc2hlbGxfMy9sb2dzL3N0ZGlvIgogCiBTbGljM3JQRV9wYWNrYWdl KCkgewoKRnJvbSA2ZTUxZGViODEwNjE3MGFjNjg2ZWJmZDIyMDVmNmQ4OTUyNDk2OGFkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcnR1ciBTaW5pbGEgPGZyZWVzb2Z0d2FyZUBsb2dh cml0aG11cy5kZXY+CkRhdGU6IFN1biwgMTggSnVsIDIwMjEgMTg6Mjk6MzkgKzAzMDAKU3ViamVj dDogW1BBVENIIDA1LzExXSBibGVuZGVyOiB1cGRhdGUgdG8gMi45My4xLgoKLS0tCiBzcmNwa2dz L2JsZW5kZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUgYi9z cmNwa2dzL2JsZW5kZXIvdGVtcGxhdGUKaW5kZXggYWY5NDZjMmI3OTk5Li44MzE4MzE3YzgyYmYg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYmxlbmRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2JsZW5k ZXIvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdibGVuZGVy JwogcGtnbmFtZT1ibGVuZGVyCi12ZXJzaW9uPTIuOTMuMAordmVyc2lvbj0yLjkzLjEKIHJldmlz aW9uPTEKIGFyY2hzPSJ4ODZfNjQqIHBwYzY0KiIKIGJ1aWxkX3N0eWxlPSJjbWFrZSIKCkZyb20g OWMzMmRkMTk5YWFkNmQ0MWFmNDE5N2E0Y2RlZGNiM2QwNWIxMzZmZCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogQXJ0dXIgU2luaWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2 PgpEYXRlOiBTdW4sIDE4IEp1bCAyMDIxIDE4OjI5OjM5ICswMzAwClN1YmplY3Q6IFtQQVRDSCAw Ni8xMV0gZW1icmVlOiB1cGRhdGUgdG8gMy4xMy4wLgoKLS0tCiBzcmNwa2dzL2VtYnJlZS90ZW1w bGF0ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRlIGIvc3JjcGtncy9l bWJyZWUvdGVtcGxhdGUKaW5kZXggNTc1YjliY2I0MDFjLi5iNmYzNzZkMzBlZmEgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZW1icmVlL3RlbXBsYXRl CkBAIC0xLDggKzEsOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnZW1icmVlJwogcGtnbmFtZT1l bWJyZWUKLXZlcnNpb249Mi4xNy43Ci1yZXZpc2lvbj0yCi1hcmNocz0ieDg2XzY0IgordmVyc2lv bj0zLjEzLjAKK3JldmlzaW9uPTEKK2FyY2hzPSJ4ODZfNjQqIgogYnVpbGRfc3R5bGU9Y21ha2UK IGNvbmZpZ3VyZV9hcmdzPSItRFRCQl9ST09UPS91c3IgLURFTUJSRUVfSUdOT1JFX0NNQUtFX0NY WF9GTEFHUz1PRkYiCiBob3N0bWFrZWRlcGVuZHM9ImlzcGMiCgpGcm9tIGM3ZWU2YjU2Y2E1M2Fl ZTI0N2VkZjExNWRlODhmMzE4MWI5NmMyYmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTogU2F0LCAy NCBKdWwgMjAyMSAwMzozNDo0MyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMTFdIG9wZW5pbWFn ZWlvOiB1cGRhdGUgdG8gMi4yLjE2LjAuCgotLS0KIHNyY3BrZ3Mvb3BlbmltYWdlaW8vdGVtcGxh dGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL29wZW5pbWFnZWlvL3RlbXBsYXRlIGIvc3JjcGtn cy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZQppbmRleCBkZThlMWNkMDQ0MDkuLjNiZmRkNGUwZWQxZSAx MDA2NDQKLS0tIGEvc3JjcGtncy9vcGVuaW1hZ2Vpby90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL29w ZW5pbWFnZWlvL3RlbXBsYXRlCkBAIC0xLDExICsxLDExIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdvcGVuaW1hZ2VpbycKIHBrZ25hbWU9b3BlbmltYWdlaW8KLXZlcnNpb249Mi4yLjE1LjEKK3Zl cnNpb249Mi4yLjE2LjAKIHJldmlzaW9uPTEKIHdya3NyYz0ib2lpby1SZWxlYXNlLSR7dmVyc2lv bn0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1EVVNFX09QRU5HTD0wIC1E VVNFX1FUPTAgLURVU0VfUFlUSE9OPTAgLURPSUlPX0JVSUxEX1RFU1RTPTEKLSAtRFNUT1BfT05f V0FSTklORz0wIC1EVVNFX1NURF9SRUdFWF9FWElUQ09ERT0wIgorIC1EU1RPUF9PTl9XQVJOSU5H PTAgLURVU0VfU1REX1JFR0VYX0VYSVRDT0RFPTAgLURDTUFLRV9DWFhfU1RBTkRBUkQ9MTQiCiBo b3N0bWFrZWRlcGVuZHM9InBrZy1jb25maWcgZ2l0IgogbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVs IGdpZmxpYi1kZXZlbCBsaWJyYXctZGV2ZWwgbGlib3BlbmpwZWctZGV2ZWwgbGlid2VicC1kZXZl bAogIGxpYmpwZWctdHVyYm8tZGV2ZWwgdGlmZi1kZXZlbCBsaWJwbmctZGV2ZWwgbGlib3BlbmV4 ci1kZXZlbCBmcmVldHlwZS1kZXZlbApAQCAtMTcsNyArMTcsNyBAQCBsaWNlbnNlPSJCU0QtMy1D bGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly9zaXRlcy5nb29nbGUuY29tL3NpdGUvb3BlbmltYWdl aW8vaG9tZSIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL09w ZW5JbWFnZUlPL29paW8vcmVsZWFzZS9DSEFOR0VTLm1kIgogZGlzdGZpbGVzPSJodHRwczovL2dp dGh1Yi5jb20vT3BlbkltYWdlSU8vb2lpby9hcmNoaXZlL1JlbGVhc2UtJHt2ZXJzaW9ufS50YXIu Z3oiCi1jaGVja3N1bT1mMjIyYzZiNTFhNDBhYWJiYzgwZGRmNDA1NTUzNWJlOWFmMWZmYTkwNzQ1 MmZhNmQxZmZhNzY3NDg1NGFhYjE3CitjaGVja3N1bT1kMWE1OWYzMmRiYmEzYmE3MWFkMmU2MmUx MDcwMzRkMWM1Mjg3YmNhMWIwNjk2NDc0ZTkyN2Q1MDRjZDA1ZWY0CiAjIFJ1bnMgY2hlY2tzIGV2 ZW4gZm9yIGZlYXR1cmVzIHdlIGRpc2FibGVkLgogbWFrZV9jaGVjaz1ubwogCgpGcm9tIDc0OWRm MzAwNTVmY2JkYWUxMmJkYWQyMzI0N2JlZjU1ZjlmOWVlMTQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0 ZTogU3VuLCAxOCBKdWwgMjAyMSAxODoyOTo0MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMTFd IG9wZW5pbWFnZWRlbm9pc2U6IHVwZGF0ZSB0byAxLjQuMS4KCi0tLQogc3JjcGtncy9vcGVuaW1h Z2VkZW5vaXNlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3Rl bXBsYXRlIGIvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCmluZGV4IGM3MzkxM2I0 ZTlkNy4uMTQwNTVhZmYxYzI3IDEwMDY0NAotLS0gYS9zcmNwa2dzL29wZW5pbWFnZWRlbm9pc2Uv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVuaW1hZ2VkZW5vaXNlL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnb3BlbmltYWdlZGVub2lzZScKIHBrZ25hbWU9 b3BlbmltYWdlZGVub2lzZQotdmVyc2lvbj0xLjQuMAordmVyc2lvbj0xLjQuMQogcmV2aXNpb249 MQogYXJjaHM9Ing4Nl82NCoiCiB3cmtzcmM9b2lkbi0ke3ZlcnNpb259CgpGcm9tIGUzMGNkODE4 ZjNmMWQ1MDNhNWVmZDVlYzViYWIxZGM5YzY0Nzk0YTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0ZTog U3VuLCAxOCBKdWwgMjAyMSAxODoyOTo0MCArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIG9w ZW52ZGI6IHVwZGF0ZSB0byA4LjEuMC4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAyICstCiBzcmNwa2dzL29wZW52ZGIvcGF0Y2hlcy8wMC10YmIt MjAyMS5wYXRjaCB8IDEzMjAgKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL29wZW52ZGIv dGVtcGxhdGUgICAgICAgICAgICAgICAgICB8ICAgMTYgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTMy NSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL29wZW52ZGIvcGF0Y2hlcy8wMC10YmItMjAyMS5wYXRjaAoKZGlmZiAtLWdpdCBhL2NvbW1v bi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IDZiN2NhNWZiYzI0OS4uMmE3YWNkYjI1M2E3 IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxpYnMKQEAgLTM4ODMs NyArMzg4Myw3IEBAIGxpYmphbmV0LnNvLjEuMTYgamFuZXQtMS4xNi4wXzEKIGxpYk9wZW5JbWFn ZURlbm9pc2Uuc28uMSBvcGVuaW1hZ2VkZW5vaXNlLTEuMy4wXzEKIGxpYmNiYW5nMC5zbyBjYmFu Zy0xLjYuMF8zCiBsaWJibG9zYy5zby4xIGMtYmxvc2MtMS4xNy4xXzEKLWxpYm9wZW52ZGIuc28u Ny4wIG9wZW52ZGItNy4wLjBfMQorbGlib3BlbnZkYi5zby44LjEgb3BlbnZkYi04LjEuMF8xCiBs aWJBbGVtYmljLnNvLjEuNyBhbGVtYmljLTEuNy4xM18xCiBsaWJtb2RzZWN1cml0eS5zby4zIG1v ZHNlY3VyaXR5LTMuMC40XzEKIGxpYnJhdmVuLnNvLjAgYnVkZ2llLWRlc2t0b3AtMTAuNS4xXzEK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbnZkYi9wYXRjaGVzLzAwLXRiYi0yMDIxLnBhdGNoIGIv c3JjcGtncy9vcGVudmRiL3BhdGNoZXMvMDAtdGJiLTIwMjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNzExMDRhZjNkZjkKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL29wZW52ZGIvcGF0Y2hlcy8wMC10YmItMjAyMS5wYXRjaApAQCAtMCwwICsxLDEz MjAgQEAKK2h0dHBzOi8vZ2l0aHViLmNvbS9BY2FkZW15U29mdHdhcmVGb3VuZGF0aW9uL29wZW52 ZGIvcHVsbC8xMDI3CitTaG91bGQgYmUgZHJvcHBlZCBhZnRlciA4LjEuMSByZWxlYXNlLgorCitk aWZmIC0tZ2l0IGEvY21ha2UvRmluZFRCQi5jbWFrZSBiL2NtYWtlL0ZpbmRUQkIuY21ha2UKK2lu ZGV4IGQ0MTQzNmIxYy4uMDZkZTJiM2YzIDEwMDY0NAorLS0tIGEvY21ha2UvRmluZFRCQi5jbWFr ZQorKysrIGIvY21ha2UvRmluZFRCQi5jbWFrZQorQEAgLTE2OSw4ICsxNjksMjIgQEAgZmluZF9w YXRoKFRiYl9JTkNMVURFX0RJUiB0YmIvdGJiX3N0ZGRlZi5oCisgICBQQVRIX1NVRkZJWEVTICR7 Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfSBpbmNsdWRlCisgKQorIAorLWlmKEVYSVNUUyAiJHtU YmJfSU5DTFVERV9ESVJ9L3RiYi90YmJfc3RkZGVmLmgiKQorLSAgZmlsZShTVFJJTkdTICIke1Ri Yl9JTkNMVURFX0RJUn0vdGJiL3RiYl9zdGRkZWYuaCIKKytzZXQoX3RiYl92ZXJzaW9uX2ZpbGUg IiR7VGJiX0lOQ0xVREVfRElSfS90YmIvdGJiX3N0ZGRlZi5oIikKKysKKytpZihOT1QgRVhJU1RT ICR7X3RiYl92ZXJzaW9uX2ZpbGV9KQorKyAgIyBGcm9tIFRCQiAyMDIxLCB0YmJfc3RkZGVmIGlz IHJlbW92ZWQgYW5kIHRoZSBkaXJlY3RvcnkgaW5jbHVkZS90YmIgaXMKKysgICMgc2ltcGx5IGFu IGFsaWFzIGZvciBpbmNsdWRlL29uZWFwaS90YmIuIFRyeSBhbmQgZmluZCB0aGUgdmVyc2lvbiBo ZWFkZXIKKysgICMgaW4gb25lYXBpL3RiYgorKyAgZmluZF9wYXRoKFRiYl9JTkNMVURFX0RJUiBv bmVhcGkvdGJiL3ZlcnNpb24uaAorKyAgICAke19GSU5EX1RCQl9BRERJVElPTkFMX09QVElPTlN9 CisrICAgIFBBVEhTICR7X1RCQl9JTkNMVURFX1NFQVJDSF9ESVJTfQorKyAgICBQQVRIX1NVRkZJ WEVTICR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfSBpbmNsdWRlCisrICApCisrICBzZXQoX3Ri Yl92ZXJzaW9uX2ZpbGUgIiR7VGJiX0lOQ0xVREVfRElSfS9vbmVhcGkvdGJiL3ZlcnNpb24uaCIp CisrZW5kaWYoKQorKworK2lmKEVYSVNUUyAke190YmJfdmVyc2lvbl9maWxlfSkKKysgIGZpbGUo U1RSSU5HUyAke190YmJfdmVyc2lvbl9maWxlfQorICAgICBfdGJiX3ZlcnNpb25fbWFqb3Jfc3Ry aW5nIFJFR0VYICIjZGVmaW5lIFRCQl9WRVJTSU9OX01BSk9SICIKKyAgICkKKyAgIHN0cmluZyhS RUdFWCBSRVBMQUNFICIjZGVmaW5lIFRCQl9WRVJTSU9OX01BSk9SIiAiIgorQEAgLTE3OCw3ICsx OTIsNyBAQCBpZihFWElTVFMgIiR7VGJiX0lOQ0xVREVfRElSfS90YmIvdGJiX3N0ZGRlZi5oIikK KyAgICkKKyAgIHN0cmluZyhTVFJJUCAiJHtfdGJiX3ZlcnNpb25fbWFqb3Jfc3RyaW5nfSIgVGJi X1ZFUlNJT05fTUFKT1IpCisgCistICBmaWxlKFNUUklOR1MgIiR7VGJiX0lOQ0xVREVfRElSfS90 YmIvdGJiX3N0ZGRlZi5oIgorKyAgZmlsZShTVFJJTkdTICR7X3RiYl92ZXJzaW9uX2ZpbGV9Cisg ICAgICBfdGJiX3ZlcnNpb25fbWlub3Jfc3RyaW5nIFJFR0VYICIjZGVmaW5lIFRCQl9WRVJTSU9O X01JTk9SICIKKyAgICkKKyAgIHN0cmluZyhSRUdFWCBSRVBMQUNFICIjZGVmaW5lIFRCQl9WRVJT SU9OX01JTk9SIiAiIgorQEAgLTE5Miw2ICsyMDYsOCBAQCBpZihFWElTVFMgIiR7VGJiX0lOQ0xV REVfRElSfS90YmIvdGJiX3N0ZGRlZi5oIikKKyAgIHNldChUYmJfVkVSU0lPTiAke1RiYl9WRVJT SU9OX01BSk9SfS4ke1RiYl9WRVJTSU9OX01JTk9SfSkKKyBlbmRpZigpCisgCisrdW5zZXQoX3Ri Yl92ZXJzaW9uX2ZpbGUpCisrCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAjICBTZWFyY2ggZm9yIFRC QiBsaWIgRElSCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52 ZGIvQ01ha2VMaXN0cy50eHQgYi9vcGVudmRiL29wZW52ZGIvQ01ha2VMaXN0cy50eHQKK2luZGV4 IDg4NTQzZGYzYS4uOTI5ZmU5NGQxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL0NNYWtl TGlzdHMudHh0CisrKysgYi9vcGVudmRiL29wZW52ZGIvQ01ha2VMaXN0cy50eHQKK0BAIC00Mzcs NiArNDM3LDEwIEBAIHNldChPUEVOVkRCX0xJQlJBUllfVVRJTF9JTkNMVURFX0ZJTEVTCisgICB1 dGlsL1V0aWwuaAorICkKKyAKKytzZXQoT1BFTlZEQl9MSUJSQVJZX1RIUkVBRF9JTkNMVURFX0ZJ TEVTCisrICB0aHJlYWQvVGhyZWFkaW5nLmgKKyspCisrCisgIyBAdG9kbyBDTWFrZSA+PSAzLjEy LCB1c2UgYW4gb2JqZWN0IGxpYnJhcnkgdG8gY29uc29saWRhdGUgc2hhcmVkL3N0YXRpYworICMg YnVpbGRzLiBUaGVyZSBhcmUgbGltaXRhdGlvbnMgd2l0aCBlYXJsaWVyIHZlcnNpb25zIG9mIENN YWtlIHdoZW4gdXNlZCB3aXRoCisgIyBpbXBvcnRlZCB0YXJnZXRzLgorQEAgLTU5MiwzICs1OTYs NCBAQCBpbnN0YWxsKEZJTEVTICR7T1BFTlZEQl9MSUJSQVJZX1BPSU5UU19JTkNMVURFX0ZJTEVT fSBERVNUSU5BVElPTiAke09QRU5WREJfSU5TVAorIGluc3RhbGwoRklMRVMgJHtPUEVOVkRCX0xJ QlJBUllfVE9PTFNfSU5DTFVERV9GSUxFU30gREVTVElOQVRJT04gJHtPUEVOVkRCX0lOU1RBTExf SU5DTFVERURJUn0vdG9vbHMpCisgaW5zdGFsbChGSUxFUyAke09QRU5WREJfTElCUkFSWV9UUkVF X0lOQ0xVREVfRklMRVN9IERFU1RJTkFUSU9OICR7T1BFTlZEQl9JTlNUQUxMX0lOQ0xVREVESVJ9 L3RyZWUpCisgaW5zdGFsbChGSUxFUyAke09QRU5WREJfTElCUkFSWV9VVElMX0lOQ0xVREVfRklM RVN9IERFU1RJTkFUSU9OICR7T1BFTlZEQl9JTlNUQUxMX0lOQ0xVREVESVJ9L3V0aWwpCisraW5z dGFsbChGSUxFUyAke09QRU5WREJfTElCUkFSWV9USFJFQURfSU5DTFVERV9GSUxFU30gREVTVElO QVRJT04gJHtPUEVOVkRCX0lOU1RBTExfSU5DTFVERURJUn0vdGhyZWFkKQorZGlmZiAtLWdpdCBh L29wZW52ZGIvb3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MgYi9vcGVudmRiL29wZW52ZGIv Y21kL29wZW52ZGJfcmVuZGVyLmNjCitpbmRleCBlZTViNzM3YzUuLjJjOTgzMWJhMyAxMDA2NDQK Ky0tLSBhL29wZW52ZGIvb3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MKKysrKyBiL29wZW52 ZGIvb3BlbnZkYi9jbWQvb3BlbnZkYl9yZW5kZXIuY2MKK0BAIC0xOSw3ICsxOSwxNCBAQAorICNp bmNsdWRlIDxPcGVuRVhSL0ltZkhlYWRlci5oPgorICNpbmNsdWRlIDxPcGVuRVhSL0ltZk91dHB1 dEZpbGUuaD4KKyAjaW5jbHVkZSA8T3BlbkVYUi9JbWZQaXhlbFR5cGUuaD4KKy0jaW5jbHVkZSA8 dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4KKysKKysvLyB0YmIvdGFza19zY2hlZHVsZXJfaW5p dC5oIHdhcyByZW1vdmVkIGluIFRCQiAyMDIxLiBUaGUgYmVzdCBjb25zdHJ1Y3QgdG8gc3dhcAor Ky8vIHRvIGlzIHRiYi9nbG9iYWxfY29udHJvbCAoZm9yIGV4ZWN1dGFibGVzKS4gZ2xvYmFsX2Nv bnRyb2wgd2FzIG9ubHkgb2ZmaWNpYWxseQorKy8vIGFkZGVkIGluIFRCQiAyMDE5VTQgYnV0IGV4 aXN0cyBpbiAyMDE4IGFzIGEgcHJldmlldyBmZWF0dXJlLiBUbyBhdm9pZCBtb3JlCisrLy8gY29t cGlsZSB0aW1lIGJyYW5jaGluZyAoYXMgd2Ugc3RpbGwgc3VwcG9ydCAyMDE4KSwgd2UgdXNlIGl0 IGluIDIwMTggdG9vIGJ5CisrLy8gZW5hYmxpbmcgdGhlIGJlbG93IGRlZmluZS4KKysjZGVmaW5l IFRCQl9QUkVWSUVXX0dMT0JBTF9DT05UUk9MIDEKKysjaW5jbHVkZSA8dGJiL2dsb2JhbF9jb250 cm9sLmg+CisgI2luY2x1ZGUgPHRiYi90aWNrX2NvdW50Lmg+CisgCisgI2luY2x1ZGUgPGFsZ29y aXRobT4KK0BAIC02MDYsOCArNjEzLDEyIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK KyAgICAgfQorIAorICAgICB0cnkgeworLSAgICAgICAgdGJiOjp0YXNrX3NjaGVkdWxlcl9pbml0 IHNjaGVkdWxlckluaXQoCistICAgICAgICAgICAgKG9wdHMudGhyZWFkcyA9PSAwKSA/IHRiYjo6 dGFza19zY2hlZHVsZXJfaW5pdDo6YXV0b21hdGljIDogb3B0cy50aHJlYWRzKTsKKysgICAgICAg IHN0ZDo6dW5pcXVlX3B0cjx0YmI6Omdsb2JhbF9jb250cm9sPiBjb250cm9sOworKyAgICAgICAg aWYgKG9wdHMudGhyZWFkcyA+IDApIHsKKysgICAgICAgICAgICAvLyBub3RlLCBvcHRzLnRocmVh ZHMgPT0gMCBtZWFucyB1c2UgYWxsIHRocmVhZHMgKGRlZmF1bHQpLCBzbyBkb24ndAorKyAgICAg ICAgICAgIC8vIG1hbnVhbGx5IGNyZWF0ZSBhIHRiYjo6Z2xvYmFsX2NvbnRyb2wgaW4gdGhpcyBj YXNlCisrICAgICAgICAgICAgY29udHJvbC5yZXNldChuZXcgdGJiOjpnbG9iYWxfY29udHJvbCh0 YmI6Omdsb2JhbF9jb250cm9sOjptYXhfYWxsb3dlZF9wYXJhbGxlbGlzbSwgb3B0cy50aHJlYWRz KSk7CisrICAgICAgICB9CisgCisgICAgICAgICBvcGVudmRiOjppbml0aWFsaXplKCk7CisgCitk aWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL2lvL1F1ZXVlLmNjIGIvb3BlbnZkYi9vcGVudmRi L2lvL1F1ZXVlLmNjCitpbmRleCBlZjVkMjk2MWEuLjIwZmYxYTBjMSAxMDA2NDQKKy0tLSBhL29w ZW52ZGIvb3BlbnZkYi9pby9RdWV1ZS5jYworKysrIGIvb3BlbnZkYi9vcGVudmRiL2lvL1F1ZXVl LmNjCitAQCAtNSwyMCArNSwyMiBAQAorIC8vLyBAYXV0aG9yIFBldGVyIEN1Y2thCisgCisgI2lu Y2x1ZGUgIlF1ZXVlLmgiCistCisgI2luY2x1ZGUgIkZpbGUuaCIKKyAjaW5jbHVkZSAiU3RyZWFt LmgiCistI2luY2x1ZGUgPG9wZW52ZGIvRXhjZXB0aW9ucy5oPgorLSNpbmNsdWRlIDxvcGVudmRi L3V0aWwvbG9nZ2luZy5oPgorKyNpbmNsdWRlICJvcGVudmRiL0V4Y2VwdGlvbnMuaCIKKysjaW5j bHVkZSAib3BlbnZkYi91dGlsL2xvZ2dpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL2NvbmN1cnJl bnRfaGFzaF9tYXAuaD4KKy0jaW5jbHVkZSA8dGJiL3Rhc2suaD4KKy0jaW5jbHVkZSA8dGJiL3Ri Yl90aHJlYWQuaD4gLy8gZm9yIHRiYjo6dGhpc190YmJfdGhyZWFkOjpzbGVlcCgpCistI2luY2x1 ZGUgPHRiYi90aWNrX2NvdW50Lmg+CisrI2luY2x1ZGUgPHRiYi90YXNrX2FyZW5hLmg+CisrCisr I2luY2x1ZGUgPHRocmVhZD4KKyAjaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBmb3Igc3RkOjptYXgo KQorICNpbmNsdWRlIDxhdG9taWM+CisgI2luY2x1ZGUgPGlvc3RyZWFtPgorICNpbmNsdWRlIDxt YXA+CisgI2luY2x1ZGUgPG11dGV4PgorKyNpbmNsdWRlIDxjaHJvbm8+CisrCisgCisgbmFtZXNw YWNlIG9wZW52ZGIgeworIE9QRU5WREJfVVNFX1ZFUlNJT05fTkFNRVNQQUNFCitAQCAtMjgsMTgg KzMwLDE5IEBAIG5hbWVzcGFjZSBpbyB7CisgbmFtZXNwYWNlIHsKKyAKKyAvLyBBYnN0cmFjdCBi YXNlIGNsYXNzIGZvciBxdWV1YWJsZSBUQkIgdGFza3MgdGhhdCBhZGRzIGEgdGFzayBjb21wbGV0 aW9uIGNhbGxiYWNrCistY2xhc3MgVGFzazogcHVibGljIHRiYjo6dGFzaworK2NsYXNzIFRhc2sK KyB7CisgcHVibGljOgorICAgICBUYXNrKFF1ZXVlOjpJZCBpZCk6IG1JZChpZCkge30KKy0gICAg flRhc2soKSBvdmVycmlkZSB7fQorKyAgICB2aXJ0dWFsIH5UYXNrKCkge30KKyAKKyAgICAgUXVl dWU6OklkIGlkKCkgY29uc3QgeyByZXR1cm4gbUlkOyB9CisgCisgICAgIHZvaWQgc2V0Tm90aWZp ZXIoUXVldWU6Ok5vdGlmaWVyJiBub3RpZmllcikgeyBtTm90aWZ5ID0gbm90aWZpZXI7IH0KKysg ICAgdmlydHVhbCB2b2lkIGV4ZWN1dGUoKSBjb25zdCA9IDA7CisgCisgcHJvdGVjdGVkOgorLSAg ICB2b2lkIG5vdGlmeShRdWV1ZTo6U3RhdHVzIHN0YXR1cykgeyBpZiAobU5vdGlmeSkgbU5vdGlm eSh0aGlzLT5pZCgpLCBzdGF0dXMpOyB9CisrICAgIHZvaWQgbm90aWZ5KFF1ZXVlOjpTdGF0dXMg c3RhdHVzKSBjb25zdCB7IGlmIChtTm90aWZ5KSBtTm90aWZ5KHRoaXMtPmlkKCksIHN0YXR1cyk7 IH0KKyAKKyBwcml2YXRlOgorICAgICBRdWV1ZTo6SWQgbUlkOworQEAgLTQ4LDcgKzUxLDcgQEAg Y2xhc3MgVGFzazogcHVibGljIHRiYjo6dGFzaworIAorIAorIC8vIFF1ZXVhYmxlIFRCQiB0YXNr IHRoYXQgd3JpdGVzIG9uZSBvciBtb3JlIGdyaWRzIHRvIGEgLnZkYiBmaWxlIG9yIGFuIG91dHB1 dCBzdHJlYW0KKy1jbGFzcyBPdXRwdXRUYXNrOiBwdWJsaWMgVGFzaworK2NsYXNzIE91dHB1dFRh c2sgOiBwdWJsaWMgVGFzaworIHsKKyBwdWJsaWM6CisgICAgIE91dHB1dFRhc2soUXVldWU6Oklk IGlkLCBjb25zdCBHcmlkQ1B0clZlYyYgZ3JpZHMsIGNvbnN0IEFyY2hpdmUmIGFyY2hpdmUsCitA QCAtNTYsMTAgKzU5LDEwIEBAIGNsYXNzIE91dHB1dFRhc2s6IHB1YmxpYyBUYXNrCisgICAgICAg ICA6IFRhc2soaWQpCisgICAgICAgICAsIG1HcmlkcyhncmlkcykKKyAgICAgICAgICwgbUFyY2hp dmUoYXJjaGl2ZS5jb3B5KCkpCistICAgICAgICAsIG1NZXRhZGF0YShtZXRhZGF0YSkKKy0gICAg e30KKysgICAgICAgICwgbU1ldGFkYXRhKG1ldGFkYXRhKSB7fQorKyAgICB+T3V0cHV0VGFzaygp IG92ZXJyaWRlIHt9CisgCistICAgIHRiYjo6dGFzayogZXhlY3V0ZSgpIG92ZXJyaWRlCisrICAg IHZvaWQgZXhlY3V0ZSgpIGNvbnN0IG92ZXJyaWRlCisgICAgIHsKKyAgICAgICAgIFF1ZXVlOjpT dGF0dXMgc3RhdHVzID0gUXVldWU6OkZBSUxFRDsKKyAgICAgICAgIHRyeSB7CitAQCAtNjksMTAg KzcyLDggQEAgY2xhc3MgT3V0cHV0VGFzazogcHVibGljIFRhc2sKKyAgICAgICAgICAgICBpZiAo Y29uc3QgY2hhciogbXNnID0gZS53aGF0KCkpIHsKKyAgICAgICAgICAgICAgICAgT1BFTlZEQl9M T0dfRVJST1IobXNnKTsKKyAgICAgICAgICAgICB9CistICAgICAgICB9IGNhdGNoICguLi4pIHsK Ky0gICAgICAgIH0KKysgICAgICAgIH0gY2F0Y2ggKC4uLikge30KKyAgICAgICAgIHRoaXMtPm5v dGlmeShzdGF0dXMpOworLSAgICAgICAgcmV0dXJuIG51bGxwdHI7IC8vIG5vIHN1Y2Nlc3NvciB0 byB0aGlzIHRhc2sKKyAgICAgfQorIAorIHByaXZhdGU6CitAQCAtOTQsNyArOTUsNiBAQCBzdHJ1 Y3QgUXVldWU6OkltcGwKKyAgICAgLy8vIEB0b2RvIFByb3ZpZGUgbW9yZSBpbmZvcm1hdGlvbiB0 aGFuIGp1c3QgInN1Y2NlZWRlZCIgb3IgImZhaWxlZCI/CisgICAgIHVzaW5nIFN0YXR1c01hcCA9 IHRiYjo6Y29uY3VycmVudF9oYXNoX21hcDxRdWV1ZTo6SWQsIFF1ZXVlOjpTdGF0dXM+OworIAor LQorICAgICBJbXBsKCkKKyAgICAgICAgIDogbVRpbWVvdXQoUXVldWU6OkRFRkFVTFRfVElNRU9V VCkKKyAgICAgICAgICwgbUNhcGFjaXR5KFF1ZXVlOjpERUZBVUxUX0NBUEFDSVRZKQorQEAgLTE1 OSwxMiArMTU5LDE1IEBAIHN0cnVjdCBRdWV1ZTo6SW1wbAorIAorICAgICBib29sIGNhbkVucXVl dWUoKSBjb25zdCB7IHJldHVybiBtTnVtVGFza3MgPCBJbnQ2NChtQ2FwYWNpdHkpOyB9CisgCist ICAgIHZvaWQgZW5xdWV1ZShUYXNrJiB0YXNrKQorKyAgICB2b2lkIGVucXVldWUoT3V0cHV0VGFz ayYgdGFzaykKKyAgICAgeworLSAgICAgICAgdGJiOjp0aWNrX2NvdW50IHN0YXJ0ID0gdGJiOjp0 aWNrX2NvdW50Ojpub3coKTsKKysgICAgICAgIGF1dG8gc3RhcnQgPSBzdGQ6OmNocm9ubzo6c3Rl YWR5X2Nsb2NrOjpub3coKTsKKyAgICAgICAgIHdoaWxlICghY2FuRW5xdWV1ZSgpKSB7CistICAg ICAgICAgICAgdGJiOjp0aGlzX3RiYl90aHJlYWQ6OnNsZWVwKHRiYjo6dGlja19jb3VudDo6aW50 ZXJ2YWxfdCgwLjUvKnNlYyovKSk7CistICAgICAgICAgICAgaWYgKCh0YmI6OnRpY2tfY291bnQ6 Om5vdygpIC0gc3RhcnQpLnNlY29uZHMoKSA+IGRvdWJsZShtVGltZW91dCkpIHsKKysgICAgICAg ICAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoLyowLjVzKi9zdGQ6OmNocm9ubzo6bWls bGlzZWNvbmRzKDUwMCkpOworKyAgICAgICAgICAgIGF1dG8gZHVyYXRpb24gPSBzdGQ6OmNocm9u bzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPigKKysgICAgICAgICAg ICAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkgLSBzdGFydCk7CisrICAgICAg ICAgICAgY29uc3QgZG91YmxlIHNlY29uZHMgPSBkb3VibGUoZHVyYXRpb24uY291bnQoKSkgLyAx MDAwLjA7CisrICAgICAgICAgICAgaWYgKHNlY29uZHMgPiBkb3VibGUobVRpbWVvdXQpKSB7Cisg ICAgICAgICAgICAgICAgIE9QRU5WREJfVEhST1coUnVudGltZUVycm9yLAorICAgICAgICAgICAg ICAgICAgICAgInVuYWJsZSB0byBxdWV1ZSBJL08gdGFzazsgIiA8PCBtVGltZW91dCA8PCAiLXNl Y29uZCB0aW1lIGxpbWl0IGV4cGlyZWQiKTsKKyAgICAgICAgICAgICB9CitAQCAtMTczLDcgKzE3 NiwxMCBAQCBzdHJ1Y3QgUXVldWU6OkltcGwKKyAgICAgICAgICAgICBzdGQ6OnBsYWNlaG9sZGVy czo6XzEsIHN0ZDo6cGxhY2Vob2xkZXJzOjpfMik7CisgICAgICAgICB0YXNrLnNldE5vdGlmaWVy KG5vdGlmeSk7CisgICAgICAgICB0aGlzLT5zZXRTdGF0dXModGFzay5pZCgpLCBRdWV1ZTo6UEVO RElORyk7CistICAgICAgICB0YmI6OnRhc2s6OmVucXVldWUodGFzayk7CisrCisrICAgICAgICAv LyBnZXQgdGhlIGdsb2JhbCB0YXNrIGFyZW5hCisrICAgICAgICB0YmI6OnRhc2tfYXJlbmEgYXJl bmEodGJiOjp0YXNrX2FyZW5hOjphdHRhY2h7fSk7CisrICAgICAgICBhcmVuYS5lbnF1ZXVlKFt0 YXNrID0gc3RkOjptb3ZlKHRhc2spXSB7IHRhc2suZXhlY3V0ZSgpOyB9KTsKKyAgICAgICAgICsr bU51bVRhc2tzOworICAgICB9CisgCitAQCAtMjA0LDcgKzIxMCw3IEBAIFF1ZXVlOjp+UXVldWUo KQorICAgICAvLy8gKGUuZy4sIGJ5IGtlZXBpbmcgYSBzdGF0aWMgcmVnaXN0cnkgb2YgcXVldWVz IHRoYXQgYWxzbyBkaXNwYXRjaGVzCisgICAgIC8vLyBvciBibG9ja3Mgbm90aWZpY2F0aW9ucyk/ CisgICAgIHdoaWxlIChtSW1wbC0+bU51bVRhc2tzID4gMCkgeworLSAgICAgICAgdGJiOjp0aGlz X3RiYl90aHJlYWQ6OnNsZWVwKHRiYjo6dGlja19jb3VudDo6aW50ZXJ2YWxfdCgwLjUvKnNlYyov KSk7CisrICAgICAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoLyowLjVzKi9zdGQ6OmNo cm9ubzo6bWlsbGlzZWNvbmRzKDUwMCkpOworICAgICB9CisgfQorIAorQEAgLTI5MCwxNiArMjk2 LDggQEAgUXVldWU6OklkCisgUXVldWU6OndyaXRlR3JpZFZlYyhjb25zdCBHcmlkQ1B0clZlYyYg Z3JpZHMsIGNvbnN0IEFyY2hpdmUmIGFyY2hpdmUsIGNvbnN0IE1ldGFNYXAmIG1ldGFkYXRhKQor IHsKKyAgICAgY29uc3QgUXVldWU6OklkIHRhc2tJZCA9IG1JbXBsLT5tTmV4dElkKys7CistICAg IC8vIEZyb20gdGhlICJHVUkgVGhyZWFkIiBjaGFwdGVyIGluIHRoZSBUQkIgRGVzaWduIFBhdHRl cm5zIGd1aWRlCistICAgIE91dHB1dFRhc2sqIHRhc2sgPQorLSAgICAgICAgbmV3KHRiYjo6dGFz azo6YWxsb2NhdGVfcm9vdCgpKSBPdXRwdXRUYXNrKHRhc2tJZCwgZ3JpZHMsIGFyY2hpdmUsIG1l dGFkYXRhKTsKKy0gICAgdHJ5IHsKKy0gICAgICAgIG1JbXBsLT5lbnF1ZXVlKCp0YXNrKTsKKy0g ICAgfSBjYXRjaCAob3BlbnZkYjo6UnVudGltZUVycm9yJikgeworLSAgICAgICAgLy8gRGVzdHJv eSB0aGUgdGFzayBpZiBpdCBjb3VsZCBub3QgYmUgZW5xdWV1ZWQsIHRoZW4gcmV0aHJvdyB0aGUg ZXhjZXB0aW9uLgorLSAgICAgICAgdGJiOjp0YXNrOjpkZXN0cm95KCp0YXNrKTsKKy0gICAgICAg IHRocm93OworLSAgICB9CisrICAgIE91dHB1dFRhc2sgdGFzayh0YXNrSWQsIGdyaWRzLCBhcmNo aXZlLCBtZXRhZGF0YSk7CisrICAgIG1JbXBsLT5lbnF1ZXVlKHRhc2spOworICAgICByZXR1cm4g dGFza0lkOworIH0KKyAKK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvbWF0aC9Db29yZC5o IGIvb3BlbnZkYi9vcGVudmRiL21hdGgvQ29vcmQuaAoraW5kZXggNTA0YjVlOWE0Li4yZTljZmVk NWQgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvbWF0aC9Db29yZC5oCisrKysgYi9vcGVu dmRiL29wZW52ZGIvbWF0aC9Db29yZC5oCitAQCAtMTMsOCArMTMsNyBAQAorICNpbmNsdWRlICJN YXRoLmgiCisgI2luY2x1ZGUgIlZlYzMuaCIKKyAKKy1uYW1lc3BhY2UgdGJiIHsgY2xhc3Mgc3Bs aXQ7IH0gLy8gZm9yd2FyZCBkZWNsYXJhdGlvbgorLQorKyNpbmNsdWRlIDx0YmIvYmxvY2tlZF9y YW5nZS5oPiAvLyBmb3IgdGJiOjpzcGxpdAorIAorIG5hbWVzcGFjZSBvcGVudmRiIHsKKyBPUEVO VkRCX1VTRV9WRVJTSU9OX05BTUVTUEFDRQorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi9w b2ludHMvUG9pbnRTYW1wbGUuaCBiL29wZW52ZGIvb3BlbnZkYi9wb2ludHMvUG9pbnRTYW1wbGUu aAoraW5kZXggYTEyMmNjNGZiLi4yN2VjM2ZiMjkgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52 ZGIvcG9pbnRzL1BvaW50U2FtcGxlLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi9wb2ludHMvUG9p bnRTYW1wbGUuaAorQEAgLTEwLDggKzEwLDkgQEAKKyAjaWZuZGVmIE9QRU5WREJfUE9JTlRTX1BP SU5UX1NBTVBMRV9IQVNfQkVFTl9JTkNMVURFRAorICNkZWZpbmUgT1BFTlZEQl9QT0lOVFNfUE9J TlRfU0FNUExFX0hBU19CRUVOX0lOQ0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9O dWxsSW50ZXJydXB0ZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90b29scy9JbnRlcnBvbGF0aW9u Lmg+CisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVk ZSAib3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdG9vbHMv SW50ZXJwb2xhdGlvbi5oIgorIAorICNpbmNsdWRlICJQb2ludERhdGFHcmlkLmgiCisgI2luY2x1 ZGUgIlBvaW50QXR0cmlidXRlLmgiCitAQCAtMTksNyArMjAsNiBAQAorICNpbmNsdWRlIDxzc3Ry ZWFtPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKy0KKyBuYW1lc3BhY2Ugb3BlbnZkYiB7 CisgT1BFTlZEQl9VU0VfVkVSU0lPTl9OQU1FU1BBQ0UKKyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJT SU9OX05BTUUgeworQEAgLTI5OSw3ICsyOTksNyBAQCBjbGFzcyBQb2ludERhdGFTYW1wbGVyCisg ICAgICAgICAgICAgdXNpbmcgVGFyZ2V0SGFuZGxlVCA9IEF0dHJpYnV0ZVdyaXRlSGFuZGxlPHR5 cGVuYW1lIFNhbXBsZXJXcmFwcGVyVDo6VmFsdWVUeXBlPjsKKyAKKyAgICAgICAgICAgICBpZiAo dXRpbDo6d2FzSW50ZXJydXB0ZWQoaW50ZXJydXB0ZXIpKSB7CistICAgICAgICAgICAgICAgIHRi Yjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICAg ICAgdGhyZWFkOjpjYW5jZWxHcm91cEV4ZWN1dGlvbigpOworICAgICAgICAgICAgICAgICByZXR1 cm47CisgICAgICAgICAgICAgfQorIAorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90aHJl YWQvVGhyZWFkaW5nLmggYi9vcGVudmRiL29wZW52ZGIvdGhyZWFkL1RocmVhZGluZy5oCituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi4wYzNiMzU2ZTMKKy0tLSAvZGV2L251 bGwKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgKK0BAIC0wLDAgKzEs NTQgQEAKKysvLyBDb3B5cmlnaHQgQ29udHJpYnV0b3JzIHRvIHRoZSBPcGVuVkRCIFByb2plY3QK KysvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMAorKy8vCisrLy8vIEBmaWxlIFRo cmVhZGluZy5oCisrCisrI2lmbmRlZiBPUEVOVkRCX1RIUkVBRF9USFJFQURJTkdfSEFTX0JFRU5f SU5DTFVERUQKKysjZGVmaW5lIE9QRU5WREJfVEhSRUFEX1RIUkVBRElOR19IQVNfQkVFTl9JTkNM VURFRAorKworKyNpbmNsdWRlICJvcGVudmRiL3ZlcnNpb24uaCIKKysKKysvLy8gQG5vdGUgdGJi L2Jsb2NrZWRfcmFuZ2UuaCBpcyB0aGUgT05MWSBpbmNsdWRlIHRoYXQgcGVyc2lzdHMgZnJvbSBU QkIgMjAyMAorKy8vLyAgIHRvIFRCQiAyMDIxIHRoYXQgaXRzZWxmIGluY2x1ZGVzIHRoZSBUQkIg c3BlY2lmaWMgdmVyc2lvbiBoZWFkZXIgZmlsZXMuCisrLy8vICAgSW4gVEJCIDIwMjAsIHRoZSB2 ZXJzaW9uIGhlYWRlciB3YXMgY2FsbGVkIHRiYi9zdGRkZWYuaC4gSW4gMjAyMSwgaXQncworKy8v LyAgIGNhbGxlZCB0YmIvdmVyc2lvbi5oLiBXZSBpbmNsdWRlIHRiYi9ibG9ja2VkX3JhbmdlLmgg aGVyZSB0byBpbmRpcmVjdGx5CisrLy8vICAgYWNjZXNzIHRoZSB2ZXJzaW9uIGRlZmluZXMgaW4g YSBjb25zaXN0ZW50IHdheSBzbyB0aGF0IGRvd25zdHJlYW0KKysvLy8gICBzb2Z0d2FyZSBkb2Vz bid0IG5lZWQgdG8gcHJvdmlkZSBjb21waWxlIHRpbWUgZGVmaW5lcy4KKysjaW5jbHVkZSA8dGJi L2Jsb2NrZWRfcmFuZ2UuaD4KKysjaW5jbHVkZSA8dGJiL3Rhc2suaD4KKysjaW5jbHVkZSA8dGJi L3Rhc2tfZ3JvdXAuaD4KKysKKytuYW1lc3BhY2Ugb3BlbnZkYiB7CisrT1BFTlZEQl9VU0VfVkVS U0lPTl9OQU1FU1BBQ0UKKytuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9OX05BTUUgeworK25hbWVz cGFjZSB0aHJlYWQgeworKworK2lubGluZSBib29sIGNhbmNlbEdyb3VwRXhlY3V0aW9uKCkKKyt7 CisrICAgIC8vIEBub3RlIDEyMDAwIHdhcyB0aGUgMjAyMS4xLWJldGEwNSByZWxlYXNlLiBUaGUg MjAyMS4xLWJldGEwOCByZWxlYXNlCisrICAgIC8vICAgaW50cm9kdWNlZCBjdXJyZW50X2NvbnRl eHQoKS4KKysjaWYgVEJCX0lOVEVSRkFDRV9WRVJTSU9OID49IDEyMDAyCisrICAgIGF1dG8gY3R4 ID0gdGJiOjp0YXNrOjpjdXJyZW50X2NvbnRleHQoKTsKKysgICAgcmV0dXJuIGN0eCA/IGN0eC0+ Y2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpIDogZmFsc2U7CisrI2Vsc2UKKysgICAgcmV0dXJuIHRi Yjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysjZW5kaWYKKyt9Cisr CisraW5saW5lIGJvb2wgaXNHcm91cEV4ZWN1dGlvbkNhbmNlbGxlZCgpCisreworKyAgICAvLyBA bm90ZSAxMjAwMCB3YXMgdGhlIDIwMjEuMS1iZXRhMDUgcmVsZWFzZS4gVGhlIDIwMjEuMS1iZXRh MDggcmVsZWFzZQorKyAgICAvLyAgIGludHJvZHVjZWQgY3VycmVudF9jb250ZXh0KCkuCisrI2lm IFRCQl9JTlRFUkZBQ0VfVkVSU0lPTiA+PSAxMjAwMgorKyAgICBhdXRvIGN0eCA9IHRiYjo6dGFz azo6Y3VycmVudF9jb250ZXh0KCk7CisrICAgIHJldHVybiBjdHggPyBjdHgtPmlzX2dyb3VwX2V4 ZWN1dGlvbl9jYW5jZWxsZWQoKSA6IGZhbHNlOworKyNlbHNlCisrICAgIHJldHVybiB0YmI6OnRh c2s6OnNlbGYoKS5pc19jYW5jZWxsZWQoKTsKKysjZW5kaWYKKyt9CisrCisrfSAvLyBuYW1lc3Bh Y2UgdGhyZWFkCisrfSAvLyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJTSU9OX05BTUUKKyt9IC8vIG5h bWVzcGFjZSBvcGVudmRiCisrCisrI2VuZGlmIC8vIE9QRU5WREJfVEhSRUFEX1RIUkVBRElOR19I QVNfQkVFTl9JTkNMVURFRAorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21w b3NpdGUuaCBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21wb3NpdGUuaAoraW5kZXggNmJjMTcw YmY3Li44OGZmODZmOWYgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvQ29tcG9z aXRlLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Db21wb3NpdGUuaAorQEAgLTI0LDcg KzI0LDYgQEAKKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIv cGFyYWxsZWxfcmVkdWNlLmg+CisgI2luY2x1ZGUgPHRiYi90YXNrX2dyb3VwLmg+CistI2luY2x1 ZGUgPHRiYi90YXNrX3NjaGVkdWxlcl9pbml0Lmg+CisgCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRz PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90 b29scy9EaWFnbm9zdGljcy5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0RpYWdub3N0aWNzLmgK K2luZGV4IDY5NGQyMTU1Zi4uZTU4NDRlNDQ4IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRi L3Rvb2xzL0RpYWdub3N0aWNzLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9EaWFnbm9z dGljcy5oCitAQCAtMTEsMTQgKzExLDE3IEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX0RJQUdO T1NUSUNTX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX0RJQUdOT1NU SUNTX0hBU19CRUVOX0lOQ0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNp bmNsdWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvVmVj My5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvU3RlbmNpbHMuaD4KKy0jaW5jbHVkZSA8b3Bl bnZkYi9tYXRoL09wZXJhdG9ycy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3RyZWUvTGVhZk1hbmFn ZXIuaD4KKysjaW5jbHVkZSAib3BlbnZkYi9HcmlkLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0 aC9NYXRoLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9WZWMzLmgiCisrI2luY2x1ZGUgIm9w ZW52ZGIvbWF0aC9TdGVuY2lscy5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvT3BlcmF0b3Jz LmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5oIgorKyNpbmNsdWRlICJv cGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL2Jsb2NrZWRfcmFu Z2UuaD4KKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX3JlZHVjZS5oPgorKworICNpbmNsdWRlIDxj bWF0aD4gLy8gZm9yIHN0ZDo6aXNuYW4oKSwgc3RkOjppc2Zpbml0ZSgpCisgI2luY2x1ZGUgPHNl dD4KKyAjaW5jbHVkZSA8c3N0cmVhbT4KK0BAIC0yNiw3ICsyOSw2IEBACisgI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCistCisgbmFtZXNwYWNlIG9wZW52ZGIg eworIE9QRU5WREJfVVNFX1ZFUlNJT05fTkFNRVNQQUNFCisgbmFtZXNwYWNlIE9QRU5WREJfVkVS U0lPTl9OQU1FIHsKK0BAIC0xMTYwLDEzICsxMTYyLDEzIEBAIEluYWN0aXZlVm94ZWxWYWx1ZXM8 VHJlZVR5cGU+OjpvcGVyYXRvcigpKGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxzaXplX3Q+JiBy YW5nCisgeworICAgICB0eXBlbmFtZSBUcmVlVHlwZTo6TGVhZk5vZGVUeXBlOjpWYWx1ZU9mZkNJ dGVyIGl0ZXI7CisgCistICAgIGZvciAoc2l6ZV90IG4gPSByYW5nZS5iZWdpbigpOyBuIDwgcmFu Z2UuZW5kKCkgJiYgIXRiYjo6dGFzazo6c2VsZigpLmlzX2NhbmNlbGxlZCgpOyArK24pIHsKKysg ICAgZm9yIChzaXplX3QgbiA9IHJhbmdlLmJlZ2luKCk7IG4gPCByYW5nZS5lbmQoKSAmJiAhdGhy ZWFkOjppc0dyb3VwRXhlY3V0aW9uQ2FuY2VsbGVkKCk7ICsrbikgeworICAgICAgICAgZm9yIChp dGVyID0gbUxlYWZBcnJheS5sZWFmKG4pLmNiZWdpblZhbHVlT2ZmKCk7IGl0ZXI7ICsraXRlcikg eworICAgICAgICAgICAgIG1JbmFjdGl2ZVZhbHVlcy5pbnNlcnQoaXRlci5nZXRWYWx1ZSgpKTsK KyAgICAgICAgIH0KKyAKKyAgICAgICAgIGlmIChtSW5hY3RpdmVWYWx1ZXMuc2l6ZSgpID4gbU51 bVZhbHVlcykgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9l eGVjdXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7 CisgICAgICAgICB9CisgICAgIH0KKyB9CitAQCAtMTI1MCwxNCArMTI1MiwxNCBAQCB0ZW1wbGF0 ZTx0eXBlbmFtZSBUcmVlVHlwZT4KKyBpbmxpbmUgdm9pZAorIEluYWN0aXZlVGlsZVZhbHVlczxU cmVlVHlwZT46Om9wZXJhdG9yKCkoSXRlclJhbmdlJiByYW5nZSkKKyB7CistICAgIGZvciAoOyBy YW5nZSAmJiAhdGJiOjp0YXNrOjpzZWxmKCkuaXNfY2FuY2VsbGVkKCk7ICsrcmFuZ2UpIHsKKysg ICAgZm9yICg7IHJhbmdlICYmICF0aHJlYWQ6OmlzR3JvdXBFeGVjdXRpb25DYW5jZWxsZWQoKTsg KytyYW5nZSkgeworICAgICAgICAgdHlwZW5hbWUgVHJlZVR5cGU6OlZhbHVlT2ZmQ0l0ZXIgaXRl ciA9IHJhbmdlLml0ZXJhdG9yKCk7CisgICAgICAgICBmb3IgKDsgaXRlcjsgKytpdGVyKSB7Cisg ICAgICAgICAgICAgbUluYWN0aXZlVmFsdWVzLmluc2VydChpdGVyLmdldFZhbHVlKCkpOworICAg ICAgICAgfQorIAorICAgICAgICAgaWYgKG1JbmFjdGl2ZVZhbHVlcy5zaXplKCkgPiBtTnVtVmFs dWVzKSB7CistICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4ZWN1 dGlvbigpOworKyAgICAgICAgICAgIHRocmVhZDo6Y2FuY2VsR3JvdXBFeGVjdXRpb24oKTsKKyAg ICAgICAgIH0KKyAgICAgfQorIH0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdG9vbHMv RmlsdGVyLmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvRmlsdGVyLmgKK2luZGV4IDQwOGM3NTU0 MS4uYjcwMjEyNTIwIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0ZpbHRlci5o CisrKysgYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvRmlsdGVyLmgKK0BAIC0xNCwyMSArMTQsMjQg QEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfRklMVEVSX0hBU19CRUVOX0lOQ0xVREVECisgI2Rl ZmluZSBPUEVOVkRCX1RPT0xTX0ZJTFRFUl9IQVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRl IDx0YmIvcGFyYWxsZWxfZm9yLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5j bHVkZSA8b3BlbnZkYi9tYXRoL01hdGguaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL1N0ZW5j aWxzLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9UcmFuc2Zvcm0uaD4KKy0jaW5jbHVkZSA8 b3BlbnZkYi90cmVlL05vZGVNYW5hZ2VyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFm TWFuYWdlci5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3V0aWwvTnVsbEludGVycnVwdGVyLmg+Cist I2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9VdGlsLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5o PgorKyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5o IgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvTWF0aC5oIgorKyNpbmNsdWRlICJvcGVudmRiL21h dGgvU3RlbmNpbHMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL1RyYW5zZm9ybS5oIgorKyNp bmNsdWRlICJvcGVudmRiL3RyZWUvTm9kZU1hbmFnZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90 cmVlL0xlYWZNYW5hZ2VyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0 ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL1V0aWwuaCIKKysjaW5jbHVkZSAib3BlbnZk Yi90aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIkludGVycG9sYXRpb24uaCIKKysKKysj aW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorKyNpbmNsdWRlIDx0YmIvY29uY3VycmVudF92 ZWN0b3IuaD4KKysKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBmb3Igc3RkOjptYXgoKQorICNp bmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKy0jaW5jbHVkZSA8 dGJiL2NvbmN1cnJlbnRfdmVjdG9yLmg+CisgCisgbmFtZXNwYWNlIG9wZW52ZGIgeworIE9QRU5W REJfVVNFX1ZFUlNJT05fTkFNRVNQQUNFCitAQCAtODMzLDcgKzgzNiw3IEBAIGlubGluZSBib29s CisgRmlsdGVyPEdyaWRULCBNYXNrVCwgSW50ZXJydXB0VD46Ondhc0ludGVycnVwdGVkKCkKKyB7 CisgICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAg ICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0 aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgfQorICAgICByZXR1cm4gZmFsc2U7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rv b2xzL0dyaWRPcGVyYXRvcnMuaCBiL29wZW52ZGIvb3BlbnZkYi90b29scy9HcmlkT3BlcmF0b3Jz LmgKK2luZGV4IDMxMzA1YTFhYi4uNzhmYWZlYWQ5IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVu dmRiL3Rvb2xzL0dyaWRPcGVyYXRvcnMuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0dy aWRPcGVyYXRvcnMuaAorQEAgLTksMTQgKzksMTUgQEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNf R1JJRF9PUEVSQVRPUlNfSEFTX0JFRU5fSU5DTFVERUQKKyAjZGVmaW5lIE9QRU5WREJfVE9PTFNf R1JJRF9PUEVSQVRPUlNfSEFTX0JFRU5fSU5DTFVERUQKKyAKKy0jaW5jbHVkZSA8b3BlbnZkYi9H cmlkLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9PcGVyYXRvcnMuaD4KKy0jaW5jbHVkZSA8 b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorLSNpbmNsdWRlIDxvcGVudmRiL3RyZWUv TGVhZk1hbmFnZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90cmVlL1ZhbHVlQWNjZXNzb3IuaD4K KysjaW5jbHVkZSAib3BlbnZkYi9HcmlkLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9PcGVy YXRvcnMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oIgorKyNp bmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90 cmVlL0xlYWZNYW5hZ2VyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdHJlZS9WYWx1ZUFjY2Vzc29y LmgiCisgI2luY2x1ZGUgIlZhbHVlVHJhbnNmb3JtZXIuaCIgLy8gZm9yIHRvb2xzOjpmb3JlYWNo KCkKKy0jaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorIAorKyNpbmNsdWRlIDx0YmIvcGFy YWxsZWxfZm9yLmg+CisgCisgbmFtZXNwYWNlIG9wZW52ZGIgeworIE9QRU5WREJfVVNFX1ZFUlNJ T05fTkFNRVNQQUNFCitAQCAtMzgzLDcgKzM4NCw5IEBAIGNsYXNzIEdyaWRPcGVyYXRvcgorICAg ICAvLy8gVEJCIHRocmVhZHMgb25seSEKKyAgICAgdm9pZCBvcGVyYXRvcigpKGNvbnN0IHR5cGVu YW1lIExlYWZNYW5hZ2VyVDo6TGVhZlJhbmdlJiByYW5nZSkgY29uc3QKKyAgICAgeworLSAgICAg ICAgaWYgKHV0aWw6Ondhc0ludGVycnVwdGVkKG1JbnRlcnJ1cHQpKSB0YmI6OnRhc2s6OnNlbGYo KS5jYW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICBpZiAodXRpbDo6d2FzSW50ZXJy dXB0ZWQobUludGVycnVwdCkpIHsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhl Y3V0aW9uKCk7CisrICAgICAgICB9CisgCisgICAgICAgICBmb3IgKHR5cGVuYW1lIExlYWZNYW5h Z2VyVDo6TGVhZlJhbmdlOjpJdGVyYXRvciBsZWFmPXJhbmdlLmJlZ2luKCk7IGxlYWY7ICsrbGVh ZikgeworICAgICAgICAgICAgIGZvciAodHlwZW5hbWUgT3V0TGVhZlQ6OlZhbHVlT25JdGVyIHZh bHVlPWxlYWYtPmJlZ2luVmFsdWVPbigpOyB2YWx1ZTsgKyt2YWx1ZSkgeworZGlmZiAtLWdpdCBh L29wZW52ZGIvb3BlbnZkYi90b29scy9MZXZlbFNldE1lYXN1cmUuaCBiL29wZW52ZGIvb3BlbnZk Yi90b29scy9MZXZlbFNldE1lYXN1cmUuaAoraW5kZXggZWZlMTkwNzRkLi41OTk2OWNkY2YgMTAw NjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTGV2ZWxTZXRNZWFzdXJlLmgKKysrKyBi L29wZW52ZGIvb3BlbnZkYi90b29scy9MZXZlbFNldE1lYXN1cmUuaAorQEAgLTgsMTggKzgsMjEg QEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfTEVWRUxTRVRNRUFTVVJFX0hBU19CRUVOX0lOQ0xV REVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX0xFVkVMU0VUTUVBU1VSRV9IQVNfQkVFTl9JTkNM VURFRAorIAorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVu dmRiL1R5cGVzLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNpbmNsdWRlIDxvcGVu dmRiL3RyZWUvTGVhZk1hbmFnZXIuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi90cmVlL1ZhbHVlQWNj ZXNzb3IuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaD4KKy0j aW5jbHVkZSA8b3BlbnZkYi9tYXRoL09wZXJhdG9ycy5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21h dGgvU3RlbmNpbHMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5o PgorKyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5o IgorKyNpbmNsdWRlICJvcGVudmRiL3RyZWUvTGVhZk1hbmFnZXIuaCIKKysjaW5jbHVkZSAib3Bl bnZkYi90cmVlL1ZhbHVlQWNjZXNzb3IuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL01hdGgu aCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaCIKKysjaW5jbHVk ZSAib3BlbnZkYi9tYXRoL09wZXJhdG9ycy5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvU3Rl bmNpbHMuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oIgorKyNp bmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIKKysKKyAjaW5jbHVkZSA8dGJiL3Bh cmFsbGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfc29ydC5oPgorICNpbmNsdWRl IDx0YmIvcGFyYWxsZWxfaW52b2tlLmg+CisrCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIAor IG5hbWVzcGFjZSBvcGVudmRiIHsKK0BAIC0zMjksNyArMzMyLDcgQEAgaW5saW5lIGJvb2wKKyBM ZXZlbFNldE1lYXN1cmU8R3JpZFQsIEludGVycnVwdFQ+OjpjaGVja0ludGVycnVwdGVyKCkKKyB7 CisgICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAg ICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0 aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICByZXR1cm4gZmFsc2U7Cisg ICAgIH0KKyAgICAgcmV0dXJuIHRydWU7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rv b2xzL0xldmVsU2V0VHJhY2tlci5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL0xldmVsU2V0VHJh Y2tlci5oCitpbmRleCBjYmRjMjY3ZTguLmJmYzgwMDRlNyAxMDA2NDQKKy0tLSBhL29wZW52ZGIv b3BlbnZkYi90b29scy9MZXZlbFNldFRyYWNrZXIuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rv b2xzL0xldmVsU2V0VHJhY2tlci5oCitAQCAtMTIsMjQgKzEyLDI2IEBACisgI2lmbmRlZiBPUEVO VkRCX1RPT0xTX0xFVkVMX1NFVF9UUkFDS0VSX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBP UEVOVkRCX1RPT0xTX0xFVkVMX1NFVF9UUkFDS0VSX0hBU19CRUVOX0lOQ0xVREVECisgCistI2lu Y2x1ZGUgPHRiYi9wYXJhbGxlbF9mb3IuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9UeXBlcy5oPgor LSNpbmNsdWRlIDxvcGVudmRiL21hdGgvTWF0aC5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgv RmluaXRlRGlmZmVyZW5jZS5oPgorLSNpbmNsdWRlIDxvcGVudmRiL21hdGgvT3BlcmF0b3JzLmg+ CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9TdGVuY2lscy5oPgorLSNpbmNsdWRlIDxvcGVudmRi L21hdGgvVHJhbnNmb3JtLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPgorLSNpbmNsdWRl IDxvcGVudmRiL3V0aWwvTnVsbEludGVycnVwdGVyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJl ZS9WYWx1ZUFjY2Vzc29yLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5o PgorKyNpbmNsdWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvR3JpZC5o IgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvTWF0aC5oIgorKyNpbmNsdWRlICJvcGVudmRiL21h dGgvRmluaXRlRGlmZmVyZW5jZS5oIgorKyNpbmNsdWRlICJvcGVudmRiL21hdGgvT3BlcmF0b3Jz LmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9TdGVuY2lscy5oIgorKyNpbmNsdWRlICJvcGVu dmRiL21hdGgvVHJhbnNmb3JtLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJy dXB0ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisrI2luY2x1 ZGUgIm9wZW52ZGIvdHJlZS9WYWx1ZUFjY2Vzc29yLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdHJl ZS9MZWFmTWFuYWdlci5oIgorICNpbmNsdWRlICJDaGFuZ2VCYWNrZ3JvdW5kLmgiLy8gZm9yIGNo YW5nZUxldmVsU2V0QmFja2dyb3VuZAorICNpbmNsdWRlICJNb3JwaG9sb2d5LmgiLy9mb3IgZGls YXRlQWN0aXZlVmFsdWVzCisgI2luY2x1ZGUgIlBydW5lLmgiLy8gZm9yIHBydW5lTGV2ZWxTZXQK KysKKysjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorKworICNpbmNsdWRlIDxmdW5jdGlv bmFsPgorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKy0KKyBuYW1lc3BhY2Ugb3BlbnZkYiB7 CisgT1BFTlZEQl9VU0VfVkVSU0lPTl9OQU1FU1BBQ0UKKyBuYW1lc3BhY2UgT1BFTlZEQl9WRVJT SU9OX05BTUUgeworQEAgLTM4Myw3ICszODUsNyBAQCBMZXZlbFNldFRyYWNrZXI8R3JpZFQsIElu dGVycnVwdFQ+OjoKKyBjaGVja0ludGVycnVwdGVyKCkKKyB7CisgICAgIGlmICh1dGlsOjp3YXNJ bnRlcnJ1cHRlZChtSW50ZXJydXB0ZXIpKSB7CistICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5j YW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhl Y3V0aW9uKCk7CisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAgICAgcmV0dXJuIHRy dWU7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oIGIv b3BlbnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oCitpbmRleCA2NjQzYzhmMDUuLmRl MzQwNmVkYSAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9NZXNoVG9Wb2x1bWUu aAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL01lc2hUb1ZvbHVtZS5oCitAQCAtMTYsMTIg KzE2LDEzIEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX01FU0hfVE9fVk9MVU1FX0hBU19CRUVO X0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX01FU0hfVE9fVk9MVU1FX0hBU19CRUVO X0lOQ0xVREVECisgCistI2luY2x1ZGUgPG9wZW52ZGIvUGxhdGZvcm0uaD4gLy8gZm9yIE9QRU5W REJfSEFTX0NYWDExCistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3Bl bnZkYi9tYXRoL0Zpbml0ZURpZmZlcmVuY2UuaD4gLy8gZm9yIEdvZHVub3ZzTm9ybVNxcmQKKy0j aW5jbHVkZSA8b3BlbnZkYi9tYXRoL1Byb3hpbWl0eS5oPiAvLyBmb3IgY2xvc2VzdFBvaW50T25U cmlhbmdsZVRvUG9pbnQKKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5o PgorLSNpbmNsdWRlIDxvcGVudmRiL3V0aWwvVXRpbC5oPgorKyNpbmNsdWRlICJvcGVudmRiL1Bs YXRmb3JtLmgiIC8vIGZvciBPUEVOVkRCX0hBU19DWFgxMQorKyNpbmNsdWRlICJvcGVudmRiL1R5 cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9GaW5pdGVEaWZmZXJlbmNlLmgiIC8vIGZv ciBHb2R1bm92c05vcm1TcXJkCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9Qcm94aW1pdHkuaCIg Ly8gZm9yIGNsb3Nlc3RQb2ludE9uVHJpYW5nbGVUb1BvaW50CisrI2luY2x1ZGUgIm9wZW52ZGIv dXRpbC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL1V0aWwuaCIK KysjaW5jbHVkZSAib3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisgCisgI2luY2x1ZGUgIkNo YW5nZUJhY2tncm91bmQuaCIKKyAjaW5jbHVkZSAiUHJ1bmUuaCIgLy8gZm9yIHBydW5lSW5hY3Rp dmUgYW5kIHBydW5lTGV2ZWxTZXQKK0BAIC0zMyw3ICszNCw3IEBACisgI2luY2x1ZGUgPHRiYi9w YXJhbGxlbF9yZWR1Y2UuaD4KKyAjaW5jbHVkZSA8dGJiL3BhcnRpdGlvbmVyLmg+CisgI2luY2x1 ZGUgPHRiYi90YXNrX2dyb3VwLmg+CistI2luY2x1ZGUgPHRiYi90YXNrX3NjaGVkdWxlcl9pbml0 Lmg+CisrI2luY2x1ZGUgPHRiYi90YXNrX2FyZW5hLmg+CisgCisgI2luY2x1ZGUgPGFsZ29yaXRo bT4gLy8gZm9yIHN0ZDo6c29ydCgpCisgI2luY2x1ZGUgPGNtYXRoPiAvLyBmb3Igc3RkOjppc2Zp bml0ZSgpLCBzdGQ6OmlzbmFuKCkKK0BAIC0xMTMyLDcgKzExMzMsNyBAQCBpbmxpbmUgdm9pZAor IGZpbGxBcnJheShWYWx1ZVR5cGUqIGFycmF5LCBjb25zdCBWYWx1ZVR5cGUgdmFsLCBjb25zdCBz aXplX3QgbGVuZ3RoKQorIHsKKyAgICAgY29uc3QgYXV0byBncmFpblNpemUgPSBzdGQ6Om1heDxz aXplX3Q+KAorLSAgICAgICAgbGVuZ3RoIC8gdGJiOjp0YXNrX3NjaGVkdWxlcl9pbml0OjpkZWZh dWx0X251bV90aHJlYWRzKCksIDEwMjQpOworKyAgICAgICAgbGVuZ3RoIC8gdGJiOjp0aGlzX3Rh c2tfYXJlbmE6Om1heF9jb25jdXJyZW5jeSgpLCAxMDI0KTsKKyAgICAgY29uc3QgdGJiOjpibG9j a2VkX3JhbmdlPHNpemVfdD4gcmFuZ2UoMCwgbGVuZ3RoLCBncmFpblNpemUpOworICAgICB0YmI6 OnBhcmFsbGVsX2ZvcihyYW5nZSwgRmlsbEFycmF5PFZhbHVlVHlwZT4oYXJyYXksIHZhbCksIHRi Yjo6c2ltcGxlX3BhcnRpdGlvbmVyKCkpOworIH0KK0BAIC0xOTg5LDcgKzE5OTAsNyBAQCBjbGFz cyBWb3hlbGl6ZVBvbHlnb25zCisgICAgICAgICBmb3IgKHNpemVfdCBuID0gcmFuZ2UuYmVnaW4o KSwgTiA9IHJhbmdlLmVuZCgpOyBuIDwgTjsgKytuKSB7CisgCisgICAgICAgICAgICAgaWYgKHRo aXMtPndhc0ludGVycnVwdGVkKCkpIHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxm KCkuY2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNh bmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg ICAgIH0KKyAKK0BAIC0yMTQzLDcgKzIxNDQsNyBAQCBjbGFzcyBWb3hlbGl6ZVBvbHlnb25zCisg CisgICAgICAgICB3aGlsZSAoIWNvb3JkTGlzdC5lbXB0eSgpKSB7CisgICAgICAgICAgICAgaWYg KGludGVycnVwdGVyICYmIGludGVycnVwdGVyLT53YXNJbnRlcnJ1cHRlZCgpKSB7CistICAgICAg ICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysg ICAgICAgICAgICAgICAgdGhyZWFkOjpjYW5jZWxHcm91cEV4ZWN1dGlvbigpOworICAgICAgICAg ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgZm9yIChJbnQzMiBw YXNzID0gMDsgcGFzcyA8IDEwNDg1NzYgJiYgIWNvb3JkTGlzdC5lbXB0eSgpOyArK3Bhc3MpIHsK K2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oIGIvb3BlbnZk Yi9vcGVudmRiL3Rvb2xzL01vcnBob2xvZ3kuaAoraW5kZXggNzM2OTgyZWY1Li4wYTFlNzEwMDkg MTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oCisrKysgYi9v cGVudmRiL29wZW52ZGIvdG9vbHMvTW9ycGhvbG9neS5oCitAQCAtMjQsNyArMjQsNyBAQAorICNp bmNsdWRlICJvcGVudmRiL3RyZWUvVmFsdWVBY2Nlc3Nvci5oIgorICNpbmNsdWRlICJvcGVudmRi L3RyZWUvTGVhZk1hbmFnZXIuaCIKKyAKKy0jaW5jbHVkZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2lu aXQuaD4KKysjaW5jbHVkZSA8dGJiL3Rhc2tfYXJlbmEuaD4KKyAjaW5jbHVkZSA8dGJiL2VudW1l cmFibGVfdGhyZWFkX3NwZWNpZmljLmg+CisgI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9mb3IuaD4K KyAKK0BAIC03MjYsNyArNzI2LDcgQEAgdm9pZCBNb3JwaG9sb2d5PFRyZWVUeXBlPjo6ZGlsYXRl Vm94ZWxzKGNvbnN0IHNpemVfdCBpdGVyLAorICAgICAgICAgfQorIAorICAgICAgICAgLy8gQG5v dGUgdGhpcyBncmFpbiBzaXplIGlzIHVzZWQgZm9yIG9wdGltYWwgdGhyZWFkaW5nCistICAgICAg ICBjb25zdCBzaXplX3QgbnVtVGhyZWFkcyA9IHNpemVfdCh0YmI6OnRhc2tfc2NoZWR1bGVyX2lu aXQ6OmRlZmF1bHRfbnVtX3RocmVhZHMoKSk7CisrICAgICAgICBjb25zdCBzaXplX3QgbnVtVGhy ZWFkcyA9IHNpemVfdCh0YmI6OnRoaXNfdGFza19hcmVuYTo6bWF4X2NvbmN1cnJlbmN5KCkpOwor ICAgICAgICAgY29uc3Qgc2l6ZV90IHN1YlRyZWVTaXplID0gbWF0aDo6TWF4KHNpemVfdCgxKSwg YXJyYXkuc2l6ZSgpLygyKm51bVRocmVhZHMpKTsKKyAKKyAgICAgICAgIC8vIHBlcmZvcm0gcmVj dXJzaXZlIGRpbGF0aW9uIHRvIHN1YiB0cmVlcworZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZk Yi90b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvUGFy dGljbGVzVG9MZXZlbFNldC5oCitpbmRleCA3MzlhZjJiNjkuLmY5YzE5OTExYyAxMDA2NDQKKy0t LSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmgKKysrKyBiL29w ZW52ZGIvb3BlbnZkYi90b29scy9QYXJ0aWNsZXNUb0xldmVsU2V0LmgKK0BAIC02MiwxOSArNjIs MjMgQEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfUEFSVElDTEVTX1RPX0xFVkVMU0VUX0hBU19C RUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX1BBUlRJQ0xFU19UT19MRVZFTFNF VF9IQVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfcmVkdWNlLmg+ CistI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvVHlw ZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9HcmlkLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0 aC9NYXRoLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvbWF0aC9UcmFuc2Zvcm0uaD4KKy0jaW5jbHVk ZSA8b3BlbnZkYi90cmVlL0xlYWZNYW5hZ2VyLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9s b2dnaW5nLmg+CistI2luY2x1ZGUgPG9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaD4KKysj aW5jbHVkZSAib3BlbnZkYi9UeXBlcy5oIgorKyNpbmNsdWRlICJvcGVudmRiL0dyaWQuaCIKKysj aW5jbHVkZSAib3BlbnZkYi9tYXRoL01hdGguaCIKKysjaW5jbHVkZSAib3BlbnZkYi9tYXRoL1Ry YW5zZm9ybS5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RyZWUvTGVhZk1hbmFnZXIuaCIKKysjaW5j bHVkZSAib3BlbnZkYi91dGlsL2xvZ2dpbmcuaCIKKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051 bGxJbnRlcnJ1cHRlci5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIK KysKKyAjaW5jbHVkZSAiQ29tcG9zaXRlLmgiIC8vIGZvciBjc2dVbmlvbigpCisgI2luY2x1ZGUg IlBvaW50UGFydGl0aW9uZXIuaCIKKyAjaW5jbHVkZSAiUHJ1bmUuaCIKKyAjaW5jbHVkZSAiU2ln bmVkRmxvb2RGaWxsLmgiCisrCisrI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9yZWR1Y2UuaD4KKysj aW5jbHVkZSA8dGJiL2Jsb2NrZWRfcmFuZ2UuaD4KKysKKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4K KyAjaW5jbHVkZSA8aW9zdHJlYW0+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorQEAgLTczOCw3 ICs3NDIsNyBAQCBzdHJ1Y3QgUGFydGljbGVzVG9MZXZlbFNldDxTZGZHcmlkVCwgQXR0cmlidXRl VCwgSW50ZXJydXB0ZXJUPjo6UmFzdGVyCisgICAgICAgICBmb3IgKENvb3JkIGMgPSBsbzsgYy54 KCkgPD0gaGkueCgpOyArK2MueCgpKSB7CisgICAgICAgICAgICAgLy9vbmx5IGNoZWNrIGludGVy cnVwdGVyIGV2ZXJ5IDMyJ3RoIHNjYW4gaW4geAorICAgICAgICAgICAgIGlmICghKGNvdW50Kysg JiAoKDE8PDUpLTEpKSAmJiB1dGlsOjp3YXNJbnRlcnJ1cHRlZChtUGFyZW50Lm1JbnRlcnJ1cHRl cikpIHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4 ZWN1dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9u KCk7CisgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgY29uc3QgUmVhbCB4MiA9IG1hdGg6OlBvdzIoYy54KCkgLSBQWzBdKTsKK0BAIC04 MDQsNyArODA4LDcgQEAgc3RydWN0IFBhcnRpY2xlc1RvTGV2ZWxTZXQ8U2RmR3JpZFQsIEF0dHJp YnV0ZVQsIEludGVycnVwdGVyVD46OlJhc3RlcgorICAgICAgICAgLy8gRGVuc2VseSBmaWxsIHRo ZSByZW1haW5pbmcgcmVnaW9ucy4KKyAgICAgICAgIGZvciAoY29uc3QgYXV0byYgYmJveDogcGFk ZGluZykgeworICAgICAgICAgICAgIGlmICh1dGlsOjp3YXNJbnRlcnJ1cHRlZChtUGFyZW50Lm1J bnRlcnJ1cHRlcikpIHsKKy0gICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2Vs X2dyb3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3Vw RXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgY29uc3QgQ29vcmQgJmJtaW4gPSBiYm94Lm1pbigpLCAmYm1heCA9 IGJib3gubWF4KCk7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50QWR2 ZWN0LmggYi9vcGVudmRiL29wZW52ZGIvdG9vbHMvUG9pbnRBZHZlY3QuaAoraW5kZXggMTJiMTE3 N2FkLi5lNDg3YmZiM2UgMTAwNjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdG9vbHMvUG9pbnRB ZHZlY3QuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50QWR2ZWN0LmgKK0BAIC0x MCwxNiArMTAsMTkgQEAKKyAjaWZuZGVmIE9QRU5WREJfVE9PTFNfUE9JTlRfQURWRUNUX0hBU19C RUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRCX1RPT0xTX1BPSU5UX0FEVkVDVF9IQVNfQkVF Tl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDxvcGVudmRiL29wZW52ZGIuaD4KKy0jaW5jbHVkZSA8 b3BlbnZkYi9tYXRoL01hdGguaD4gICAgICAgICAgICAgLy8gbWluCistI2luY2x1ZGUgPG9wZW52 ZGIvVHlwZXMuaD4gICAgICAgICAgICAgICAgIC8vIFZlYzMgdHlwZXMgYW5kIHZlcnNpb24gbnVt YmVyCistI2luY2x1ZGUgPG9wZW52ZGIvR3JpZC5oPiAgICAgICAgICAgICAgICAgIC8vIGdyaWQK Ky0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorKyNpbmNsdWRlICJv cGVudmRiL29wZW52ZGIuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9UeXBlcy5oIiAgICAgICAgICAg ICAgICAgLy8gVmVjMyB0eXBlcyBhbmQgdmVyc2lvbiBudW1iZXIKKysjaW5jbHVkZSAib3BlbnZk Yi9HcmlkLmgiICAgICAgICAgICAgICAgICAgLy8gZ3JpZAorKyNpbmNsdWRlICJvcGVudmRiL21h dGgvTWF0aC5oIiAgICAgICAgICAgICAvLyBtaW4KKysjaW5jbHVkZSAib3BlbnZkYi91dGlsL051 bGxJbnRlcnJ1cHRlci5oIgorKyNpbmNsdWRlICJvcGVudmRiL3RocmVhZC9UaHJlYWRpbmcuaCIK KyAjaW5jbHVkZSAiSW50ZXJwb2xhdGlvbi5oIiAgICAgICAgICAgICAgICAgLy8gc2FtcGxpbmcK KyAjaW5jbHVkZSAiVmVsb2NpdHlGaWVsZHMuaCIgICAgICAgICAgICAgICAgLy8gVmVsb2NpdHlJ bnRlZ3JhdG9yCisrCisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+ICAgICAgICAgICAg IC8vIHRocmVhZGluZworICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+ICAgICAgICAgICAg ICAvLyB0aHJlYWRpbmcKKyAjaW5jbHVkZSA8dGJiL3Rhc2suaD4gICAgICAgICAgICAgICAgICAg ICAgLy8gZm9yIGNhbmNlbAorKworICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgCitAQCAtMTY3LDcg KzE3MCw3IEBAIGNsYXNzIFBvaW50QWR2ZWN0CisgICAgIHZvaWQgb3BlcmF0b3IoKSAoY29uc3Qg dGJiOjpibG9ja2VkX3JhbmdlPHNpemVfdD4gJnJhbmdlKSBjb25zdAorICAgICB7CisgICAgICAg ICBpZiAobUludGVycnVwdGVyICYmIG1JbnRlcnJ1cHRlci0+d2FzSW50ZXJydXB0ZWQoKSkgewor LSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVjdXRpb24oKTsK KysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7CisgICAgICAgICB9 CisgCisgICAgICAgICBWZWxvY2l0eUZpZWxkSW50ZWdyYXRvciAgdmVsRmllbGQoKm1WZWxHcmlk KTsKK0BAIC0zMDcsNyArMzEwLDcgQEAgY2xhc3MgQ29uc3RyYWluZWRQb2ludEFkdmVjdAorICAg ICB2b2lkIG9wZXJhdG9yKCkgKGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxzaXplX3Q+ICZyYW5n ZSkgY29uc3QKKyAgICAgeworICAgICAgICAgaWYgKG1JbnRlcnJ1cHRlciAmJiBtSW50ZXJydXB0 ZXItPndhc0ludGVycnVwdGVkKCkpIHsKKy0gICAgICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5j YW5jZWxfZ3JvdXBfZXhlY3V0aW9uKCk7CisrICAgICAgICAgICAgdGhyZWFkOjpjYW5jZWxHcm91 cEV4ZWN1dGlvbigpOworICAgICAgICAgfQorIAorICAgICAgICAgVmVsb2NpdHlJbnRlZ3JhdG9y VHlwZSB2ZWxGaWVsZCgqbVZlbEdyaWQpOworZGlmZiAtLWdpdCBhL29wZW52ZGIvb3BlbnZkYi90 b29scy9Qb2ludEluZGV4R3JpZC5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50SW5kZXhH cmlkLmgKK2luZGV4IGU5ZWJmOTZmNy4uYjJlMzc4YTc5IDEwMDY0NAorLS0tIGEvb3BlbnZkYi9v cGVudmRiL3Rvb2xzL1BvaW50SW5kZXhHcmlkLmgKKysrKyBiL29wZW52ZGIvb3BlbnZkYi90b29s cy9Qb2ludEluZGV4R3JpZC5oCitAQCAtMTYsNiArMTYsNyBAQAorICNpZm5kZWYgT1BFTlZEQl9U T09MU19QT0lOVF9JTkRFWF9HUklEX0hBU19CRUVOX0lOQ0xVREVECisgI2RlZmluZSBPUEVOVkRC X1RPT0xTX1BPSU5UX0lOREVYX0dSSURfSEFTX0JFRU5fSU5DTFVERUQKKyAKKysjaW5jbHVkZSAi b3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIlBvaW50UGFydGl0aW9uZXIu aCIKKyAKKyAjaW5jbHVkZSA8b3BlbnZkYi92ZXJzaW9uLmg+CitAQCAtMzU1LDcgKzM1Niw3IEBA IHN0cnVjdCBWYWxpZFBhcnRpdGlvbmluZ09wCisgICAgIHZvaWQgb3BlcmF0b3IoKShMZWFmVCAm bGVhZiwgc2l6ZV90IC8qbGVhZkluZGV4Ki8pIGNvbnN0CisgICAgIHsKKyAgICAgICAgIGlmICgo Km1IYXNDaGFuZ2VkKSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9n cm91cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0 aW9uKCk7CisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorZGlmZiAtLWdpdCBh L29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmggYi9vcGVudmRiL29wZW52 ZGIvdG9vbHMvUG9pbnRQYXJ0aXRpb25lci5oCitpbmRleCBjY2Y1MGFiMDUuLmY3ZjZmYzEzZCAx MDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmgKKysr KyBiL29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludFBhcnRpdGlvbmVyLmgKK0BAIC0yMyw3ICsy Myw3IEBACisgCisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CisgI2luY2x1ZGUgPHRi Yi9wYXJhbGxlbF9mb3IuaD4KKy0jaW5jbHVkZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4K KysjaW5jbHVkZSA8dGJiL3Rhc2tfYXJlbmEuaD4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgor ICNpbmNsdWRlIDxjbWF0aD4gLy8gZm9yIHN0ZDo6aXNmaW5pdGUoKQorQEAgLTc2NCw3ICs3NjQs NyBAQCBpbmxpbmUgdm9pZCBiaW5BbmRTZWdtZW50KAorICAgICB1c2luZyBJbmRleFBhaXJMaXN0 TWFwID0gc3RkOjptYXA8Q29vcmQsIEluZGV4UGFpckxpc3RQdHI+OworICAgICB1c2luZyBJbmRl eFBhaXJMaXN0TWFwUHRyID0gc3RkOjpzaGFyZWRfcHRyPEluZGV4UGFpckxpc3RNYXA+OworIAor LSAgICBzaXplX3QgbnVtVGFza3MgPSAxLCBudW1UaHJlYWRzID0gc2l6ZV90KHRiYjo6dGFza19z Y2hlZHVsZXJfaW5pdDo6ZGVmYXVsdF9udW1fdGhyZWFkcygpKTsKKysgICAgc2l6ZV90IG51bVRh c2tzID0gMSwgbnVtVGhyZWFkcyA9IHNpemVfdCh0YmI6OnRoaXNfdGFza19hcmVuYTo6bWF4X2Nv bmN1cnJlbmN5KCkpOworICAgICBpZiAocG9pbnRzLnNpemUoKSA+IChudW1UaHJlYWRzICogMikp IG51bVRhc2tzID0gbnVtVGhyZWFkcyAqIDI7CisgICAgIGVsc2UgaWYgKHBvaW50cy5zaXplKCkg PiBudW1UaHJlYWRzKSBudW1UYXNrcyA9IG51bVRocmVhZHM7CisgCitkaWZmIC0tZ2l0IGEvb3Bl bnZkYi9vcGVudmRiL3Rvb2xzL1BvaW50c1RvTWFzay5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xz L1BvaW50c1RvTWFzay5oCitpbmRleCA1OTJhYjdhMTUuLjhhMjc2ZmIwNCAxMDA2NDQKKy0tLSBh L29wZW52ZGIvb3BlbnZkYi90b29scy9Qb2ludHNUb01hc2suaAorKysrIGIvb3BlbnZkYi9vcGVu dmRiL3Rvb2xzL1BvaW50c1RvTWFzay5oCitAQCAtNDYsMTQgKzQ2LDE4IEBACisgI2lmbmRlZiBP UEVOVkRCX1RPT0xTX1BPSU5UU1RPTUFTS19IQVNfQkVFTl9JTkNMVURFRAorICNkZWZpbmUgT1BF TlZEQl9UT09MU19QT0lOVFNUT01BU0tfSEFTX0JFRU5fSU5DTFVERUQKKyAKKysKKysjaW5jbHVk ZSAib3BlbnZkYi9vcGVudmRiLmgiIC8vIGZvciBNYXNrR3JpZAorKyNpbmNsdWRlICJvcGVudmRi L0dyaWQuaCIKKysjaW5jbHVkZSAib3BlbnZkYi9UeXBlcy5oIgorKyNpbmNsdWRlICJvcGVudmRi L3V0aWwvTnVsbEludGVycnVwdGVyLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvdGhyZWFkL1RocmVh ZGluZy5oIgorKworICNpbmNsdWRlIDx0YmIvZW51bWVyYWJsZV90aHJlYWRfc3BlY2lmaWMuaD4K KyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgorICNpbmNsdWRlIDx0YmIvcGFyYWxsZWxf cmVkdWNlLmg+CisgI2luY2x1ZGUgPHRiYi9ibG9ja2VkX3JhbmdlLmg+CistI2luY2x1ZGUgPG9w ZW52ZGIvb3BlbnZkYi5oPiAvLyBmb3IgTWFza0dyaWQKKy0jaW5jbHVkZSA8b3BlbnZkYi9Hcmlk Lmg+CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGls L051bGxJbnRlcnJ1cHRlci5oPgorKworICNpbmNsdWRlIDx2ZWN0b3I+CisgCisgCitAQCAtMTUw LDcgKzE1NCw3IEBAIGNsYXNzIFBvaW50c1RvTWFzaworICAgICBib29sIGludGVycnVwdCgpIGNv bnN0CisgICAgIHsKKyAgICAgICAgIGlmIChtSW50ZXJydXB0ZXIgJiYgdXRpbDo6d2FzSW50ZXJy dXB0ZWQobUludGVycnVwdGVyKSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNh bmNlbF9ncm91cF9leGVjdXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3Vw RXhlY3V0aW9uKCk7CisgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICB9CisgICAg ICAgICByZXR1cm4gZmFsc2U7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1Zv bHVtZUFkdmVjdC5oIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZUFkdmVjdC5oCitpbmRl eCBlN2VlYzc0MGUuLmYzOGVhYTljMiAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29s cy9Wb2x1bWVBZHZlY3QuaAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZUFkdmVj dC5oCitAQCAtMTMsMTUgKzEzLDE4IEBACisgI2lmbmRlZiBPUEVOVkRCX1RPT0xTX1ZPTFVNRV9B RFZFQ1RfSEFTX0JFRU5fSU5DTFVERUQKKyAjZGVmaW5lIE9QRU5WREJfVE9PTFNfVk9MVU1FX0FE VkVDVF9IQVNfQkVFTl9JTkNMVURFRAorIAorLSNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+ CistI2luY2x1ZGUgPG9wZW52ZGIvVHlwZXMuaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi9tYXRoL01h dGguaD4KKy0jaW5jbHVkZSA8b3BlbnZkYi91dGlsL051bGxJbnRlcnJ1cHRlci5oPgorKyNpbmNs dWRlICJvcGVudmRiL1R5cGVzLmgiCisrI2luY2x1ZGUgIm9wZW52ZGIvbWF0aC9NYXRoLmgiCisr I2luY2x1ZGUgIm9wZW52ZGIvdXRpbC9OdWxsSW50ZXJydXB0ZXIuaCIKKysjaW5jbHVkZSAib3Bl bnZkYi90aHJlYWQvVGhyZWFkaW5nLmgiCisgI2luY2x1ZGUgIkludGVycG9sYXRpb24uaCIvLyBm b3IgU2FtcGxlcgorICNpbmNsdWRlICJWZWxvY2l0eUZpZWxkcy5oIiAvLyBmb3IgVmVsb2NpdHlJ bnRlZ3JhdG9yCisgI2luY2x1ZGUgIk1vcnBob2xvZ3kuaCIvL2ZvciBkaWxhdGVBY3RpdmVWYWx1 ZXMKKyAjaW5jbHVkZSAiUHJ1bmUuaCIvLyBmb3IgcHJ1bmUKKyAjaW5jbHVkZSAiU3RhdGlzdGlj cy5oIiAvLyBmb3IgZXh0cmVtYQorKworKyNpbmNsdWRlIDx0YmIvcGFyYWxsZWxfZm9yLmg+Cisr CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgCisgCitAQCAtMjk0LDcgKzI5Nyw3IEBAIGNsYXNz IFZvbHVtZUFkdmVjdGlvbgorICAgICBib29sIGludGVycnVwdCgpIGNvbnN0CisgICAgIHsKKyAg ICAgICAgIGlmIChtSW50ZXJydXB0ZXIgJiYgdXRpbDo6d2FzSW50ZXJydXB0ZWQobUludGVycnVw dGVyKSkgeworLSAgICAgICAgICAgIHRiYjo6dGFzazo6c2VsZigpLmNhbmNlbF9ncm91cF9leGVj dXRpb24oKTsKKysgICAgICAgICAgICB0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9uKCk7Cisg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICB9CisgICAgICAgICByZXR1cm4gZmFs c2U7CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oIGIv b3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oCitpbmRleCBhODM0ZGQzYjMuLmE0 NDZmODA2YSAxMDA2NDQKKy0tLSBhL29wZW52ZGIvb3BlbnZkYi90b29scy9Wb2x1bWVUb01lc2gu aAorKysrIGIvb3BlbnZkYi9vcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oCitAQCAtMTgsNyAr MTgsNyBAQAorICNpbmNsdWRlIDx0YmIvYmxvY2tlZF9yYW5nZS5oPgorICNpbmNsdWRlIDx0YmIv cGFyYWxsZWxfZm9yLmg+CisgI2luY2x1ZGUgPHRiYi9wYXJhbGxlbF9yZWR1Y2UuaD4KKy0jaW5j bHVkZSA8dGJiL3Rhc2tfc2NoZWR1bGVyX2luaXQuaD4KKysjaW5jbHVkZSA8dGJiL3Rhc2tfYXJl bmEuaD4KKyAKKyAjaW5jbHVkZSA8Y21hdGg+IC8vIGZvciBzdGQ6OmlzZmluaXRlKCkKKyAjaW5j bHVkZSA8bWFwPgorQEAgLTM4OCw3ICszODgsNyBAQCBpbmxpbmUgdm9pZAorIGZpbGxBcnJheShW YWx1ZVR5cGUqIGFycmF5LCBjb25zdCBWYWx1ZVR5cGUmIHZhbCwgY29uc3Qgc2l6ZV90IGxlbmd0 aCkKKyB7CisgICAgIGNvbnN0IGF1dG8gZ3JhaW5TaXplID0gc3RkOjptYXg8c2l6ZV90PigKKy0g ICAgICAgIGxlbmd0aCAvIHRiYjo6dGFza19zY2hlZHVsZXJfaW5pdDo6ZGVmYXVsdF9udW1fdGhy ZWFkcygpLCAxMDI0KTsKKysgICAgICAgIGxlbmd0aCAvIHRiYjo6dGhpc190YXNrX2FyZW5hOjpt YXhfY29uY3VycmVuY3koKSwgMTAyNCk7CisgICAgIGNvbnN0IHRiYjo6YmxvY2tlZF9yYW5nZTxz aXplX3Q+IHJhbmdlKDAsIGxlbmd0aCwgZ3JhaW5TaXplKTsKKyAgICAgdGJiOjpwYXJhbGxlbF9m b3IocmFuZ2UsIEZpbGxBcnJheTxWYWx1ZVR5cGU+KGFycmF5LCB2YWwpLCB0YmI6OnNpbXBsZV9w YXJ0aXRpb25lcigpKTsKKyB9CitkaWZmIC0tZ2l0IGEvb3BlbnZkYi9vcGVudmRiL3VuaXR0ZXN0 L1Rlc3RDb29yZC5jYyBiL29wZW52ZGIvb3BlbnZkYi91bml0dGVzdC9UZXN0Q29vcmQuY2MKK2lu ZGV4IGJlMWMyNGNlZC4uMTQ4NjkwMDQxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3Vu aXR0ZXN0L1Rlc3RDb29yZC5jYworKysrIGIvb3BlbnZkYi9vcGVudmRiL3VuaXR0ZXN0L1Rlc3RD b29yZC5jYworQEAgLTIsOSArMiw5IEBACisgLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1Q TC0yLjAKKyAKKyAjaW5jbHVkZSA8b3BlbnZkYi9UeXBlcy5oPgorKyNpbmNsdWRlIDxvcGVudmRi L21hdGgvQ29vcmQuaD4KKyAKKyAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKy0jaW5jbHVkZSA8 dGJiL3RiYl9zdGRkZWYuaD4gLy8gZm9yIHRiYjo6c3BsaXQKKyAKKyAjaW5jbHVkZSA8dW5vcmRl cmVkX21hcD4KKyAjaW5jbHVkZSA8c3N0cmVhbT4KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52 ZGIvdW5pdHRlc3QvVGVzdEZpbGUuY2MgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdEZp bGUuY2MKK2luZGV4IDgwNzQxNjZkMi4uMDUzNDQ4ZjMwIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9v cGVudmRiL3VuaXR0ZXN0L1Rlc3RGaWxlLmNjCisrKysgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRl c3QvVGVzdEZpbGUuY2MKK0BAIC0xMyw4ICsxMywxMSBAQAorICNpbmNsdWRlIDxvcGVudmRiL3Zl cnNpb24uaD4KKyAjaW5jbHVkZSA8b3BlbnZkYi9vcGVudmRiLmg+CisgI2luY2x1ZGUgInV0aWwu aCIgLy8gZm9yIHVuaXR0ZXN0X3V0aWw6Om1ha2VTcGhlcmUoKQorKworICNpbmNsdWRlIDxndGVz dC9ndGVzdC5oPgorLSNpbmNsdWRlIDx0YmIvdGJiX3RocmVhZC5oPiAvLyBmb3IgdGJiOjp0aGlz X3RiYl90aHJlYWQ6OnNsZWVwKCkKKysKKysjaW5jbHVkZSA8dGhyZWFkPgorKyNpbmNsdWRlIDxj aHJvbm8+CisgI2luY2x1ZGUgPGFsZ29yaXRobT4gLy8gZm9yIHN0ZDo6c29ydCgpCisgI2luY2x1 ZGUgPGNzdGRpbz4gLy8gZm9yIHJlbW92ZSgpIGFuZCByZW5hbWUoKQorICNpbmNsdWRlIDxmc3Ry ZWFtPgorQEAgLTIzNDUsMTIgKzIzNDgsMTQgQEAgVEVTVF9GKFRlc3RGaWxlLCB0ZXN0QXN5bmMp CisgICAgICAgICAgICAgaGVscGVyLmluc2VydChpZCwgZmlsZW5hbWUpOworICAgICAgICAgfQor IAorLSAgICAgICAgdGJiOjp0aWNrX2NvdW50IHN0YXJ0ID0gdGJiOjp0aWNrX2NvdW50Ojpub3co KTsKKysgICAgICAgIGF1dG8gc3RhcnQgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3co KTsKKyAgICAgICAgIHdoaWxlICghaGVscGVyLmlkcy5lbXB0eSgpKSB7CistICAgICAgICAgICAg aWYgKCh0YmI6OnRpY2tfY291bnQ6Om5vdygpIC0gc3RhcnQpLnNlY29uZHMoKSA+IDYwKSBicmVh azsgLy8gdGltZSBvdXQgYWZ0ZXIgMSBtaW51dGUKKysgICAgICAgICAgICBhdXRvIGR1cmF0aW9u ID0gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86OnNlY29uZHM+KAorKyAg ICAgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIHN0YXJ0KTsK KysgICAgICAgICAgICBpZiAoc2l6ZV90KGR1cmF0aW9uLmNvdW50KCkpID4gNjApICBicmVhazsg Ly8gdGltZSBvdXQgYWZ0ZXIgMSBtaW51dGUKKyAKKyAgICAgICAgICAgICAvLyBXYWl0IG9uZSBz ZWNvbmQgZm9yIHRhc2tzIHRvIGNvbXBsZXRlLgorLSAgICAgICAgICAgIHRiYjo6dGhpc190YmJf dGhyZWFkOjpzbGVlcCh0YmI6OnRpY2tfY291bnQ6OmludGVydmFsX3QoMS4wLypzZWMqLykpOwor KyAgICAgICAgICAgIHN0ZDo6dGhpc190aHJlYWQ6OnNsZWVwX2ZvcihzdGQ6OmNocm9ubzo6c2Vj b25kcygxKSk7CisgCisgICAgICAgICAgICAgLy8gUG9sbCBlYWNoIHRhc2sgaW4gdGhlIHBlbmRp bmcgbWFwLgorICAgICAgICAgICAgIHN0ZDo6c2V0PGlvOjpRdWV1ZTo6SWQ+IGlkcyA9IGhlbHBl ci5pZHM7IC8vIGl0ZXJhdGUgb3ZlciBhIGNvcHkKK0BAIC0yMzgwLDcgKzIzODUsNyBAQCBURVNU X0YoVGVzdEZpbGUsIHRlc3RBc3luYykKKyAgICAgICAgICAgICBoZWxwZXIuaW5zZXJ0KGlkLCBm aWxlbmFtZSk7CisgICAgICAgICB9CisgICAgICAgICB3aGlsZSAoIXF1ZXVlLmVtcHR5KCkpIHsK Ky0gICAgICAgICAgICB0YmI6OnRoaXNfdGJiX3RocmVhZDo6c2xlZXAodGJiOjp0aWNrX2NvdW50 OjppbnRlcnZhbF90KDEuMC8qc2VjKi8pKTsKKysgICAgICAgICAgICBzdGQ6OnRoaXNfdGhyZWFk OjpzbGVlcF9mb3Ioc3RkOjpjaHJvbm86OnNlY29uZHMoMSkpOworICAgICAgICAgfQorICAgICB9 CisgICAgIHsKK0BAIC0yNDA1LDcgKzI0MTAsNyBAQCBURVNUX0YoVGVzdEZpbGUsIHRlc3RBc3lu YykKKyAgICAgICAgIEVYUEVDVF9USFJPVyhxdWV1ZS53cml0ZShncmlkcywgaW86OlN0cmVhbShm aWxlMikpLCBvcGVudmRiOjpSdW50aW1lRXJyb3IpOworIAorICAgICAgICAgd2hpbGUgKCFxdWV1 ZS5lbXB0eSgpKSB7CistICAgICAgICAgICAgdGJiOjp0aGlzX3RiYl90aHJlYWQ6OnNsZWVwKHRi Yjo6dGlja19jb3VudDo6aW50ZXJ2YWxfdCgxLjAvKnNlYyovKSk7CisrICAgICAgICAgICAgc3Rk Ojp0aGlzX3RocmVhZDo6c2xlZXBfZm9yKHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDEpKTsKKyAgICAg ICAgIH0KKyAgICAgfQorIH0KK2RpZmYgLS1naXQgYS9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3Qv VGVzdFV0aWwuY2MgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFV0aWwuY2MKK2luZGV4 IDcwZTdkZjVmNy4uNmIyMjA0NzcxIDEwMDY0NAorLS0tIGEvb3BlbnZkYi9vcGVudmRiL3VuaXR0 ZXN0L1Rlc3RVdGlsLmNjCisrKysgYi9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFV0aWwu Y2MKK0BAIC04LDcgKzgsNiBAQAorIAorICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgorIAorLSNp bmNsdWRlIDx0YmIvdGFza19zY2hlZHVsZXJfaW5pdC5oPgorICNpbmNsdWRlIDx0YmIvZW51bWVy YWJsZV90aHJlYWRfc3BlY2lmaWMuaD4KKyAjaW5jbHVkZSA8dGJiL3BhcmFsbGVsX2Zvci5oPgor ICNpbmNsdWRlIDx0YmIvYmxvY2tlZF9yYW5nZS5oPgorZGlmZiAtLWdpdCBhL29wZW52ZGIvb3Bl bnZkYi91bml0dGVzdC9UZXN0VmFsdWVBY2Nlc3Nvci5jYyBiL29wZW52ZGIvb3BlbnZkYi91bml0 dGVzdC9UZXN0VmFsdWVBY2Nlc3Nvci5jYworaW5kZXggZmQyZGQ1ZDgxLi41YzFjYmIxOGIgMTAw NjQ0CistLS0gYS9vcGVudmRiL29wZW52ZGIvdW5pdHRlc3QvVGVzdFZhbHVlQWNjZXNzb3IuY2MK KysrKyBiL29wZW52ZGIvb3BlbnZkYi91bml0dGVzdC9UZXN0VmFsdWVBY2Nlc3Nvci5jYworQEAg LTYsNiArNiw3IEBACisgCisgI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CisgI2luY2x1ZGUgPHRi Yi90YXNrLmg+CisrI2luY2x1ZGUgPHRiYi90YXNrX2dyb3VwLmg+CisgCisgI2luY2x1ZGUgPHR5 cGVfdHJhaXRzPgorIAorQEAgLTM3OCwyMiArMzc5LDIxIEBAIFRFU1RfRihUZXN0VmFsdWVBY2Nl c3NvciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgLy91c2luZyBBY2Nlc3NvclQg PSBvcGVudmRiOjp0cmVlOjpWYWx1ZUFjY2Vzc29yPFRyZWU0VHlwZT47CisgCisgICAgIC8vIFRh c2sgdG8gcGVyZm9ybSBtdWx0aXBsZSByZWFkcyB0aHJvdWdoIGEgc2hhcmVkIGFjY2Vzc29yCist ICAgIHN0cnVjdCBSZWFkVGFzazogcHVibGljIHRiYjo6dGFzayB7CisrICAgIHN0cnVjdCBSZWFk VGFzayB7CisgICAgICAgICBBY2Nlc3NvclQmIGFjYzsKKyAgICAgICAgIFJlYWRUYXNrKEFjY2Vz c29yVCYgYyk6IGFjYyhjKSB7fQorLSAgICAgICAgdGJiOjp0YXNrKiBleGVjdXRlKCkKKysgICAg ICAgIHZvaWQgZXhlY3V0ZSgpCisgICAgICAgICB7CisgICAgICAgICAgICAgZm9yIChpbnQgaSA9 IC1NQVhfQ09PUkQ7IGkgPCBNQVhfQ09PUkQ7ICsraSkgeworICAgICAgICAgICAgICAgICBBU1NF UlRfRE9VQkxFU19FWEFDVExZX0VRVUFMKGRvdWJsZShpKSwgYWNjLmdldFZhbHVlKG9wZW52ZGI6 OkNvb3JkKGkpKSk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHJldHVybiBudWxscHRy OworICAgICAgICAgfQorICAgICB9OworICAgICAvLyBUYXNrIHRvIHBlcmZvcm0gbXVsdGlwbGUg d3JpdGVzIHRocm91Z2ggYSBzaGFyZWQgYWNjZXNzb3IKKy0gICAgc3RydWN0IFdyaXRlVGFzazog cHVibGljIHRiYjo6dGFzayB7CisrICAgIHN0cnVjdCBXcml0ZVRhc2sgeworICAgICAgICAgQWNj ZXNzb3JUJiBhY2M7CisgICAgICAgICBXcml0ZVRhc2soQWNjZXNzb3JUJiBjKTogYWNjKGMpIHt9 CistICAgICAgICB0YmI6OnRhc2sqIGV4ZWN1dGUoKQorKyAgICAgICAgdm9pZCBleGVjdXRlKCkK KyAgICAgICAgIHsKKyAgICAgICAgICAgICBmb3IgKGludCBpID0gLU1BWF9DT09SRDsgaSA8IE1B WF9DT09SRDsgKytpKSB7CisgICAgICAgICAgICAgICAgIGZsb2F0IGYgPSBhY2MuZ2V0VmFsdWUo b3BlbnZkYjo6Q29vcmQoaSkpOworQEAgLTQwMSwyNiArNDAxLDIwIEBAIFRFU1RfRihUZXN0VmFs dWVBY2Nlc3NvciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgICAgICAgICAgICAg YWNjLnNldFZhbHVlKG9wZW52ZGI6OkNvb3JkKGkpLCBmbG9hdChpKSk7CisgICAgICAgICAgICAg ICAgIEFTU0VSVF9ET1VCTEVTX0VYQUNUTFlfRVFVQUwoZmxvYXQoaSksIGFjYy5nZXRWYWx1ZShv cGVudmRiOjpDb29yZChpKSkpOworICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICByZXR1cm4g bnVsbHB0cjsKKyAgICAgICAgIH0KKyAgICAgfTsKKyAgICAgLy8gUGFyZW50IHRhc2sgdG8gc3Bh d24gbXVsdGlwbGUgcGFyYWxsZWwgcmVhZCBhbmQgd3JpdGUgdGFza3MKKy0gICAgc3RydWN0IFJv b3RUYXNrOiBwdWJsaWMgdGJiOjp0YXNrIHsKKysgICAgc3RydWN0IFJvb3RUYXNrIHsKKyAgICAg ICAgIEFjY2Vzc29yVCYgYWNjOworICAgICAgICAgUm9vdFRhc2soQWNjZXNzb3JUJiBjKTogYWNj KGMpIHt9CistICAgICAgICB0YmI6OnRhc2sqIGV4ZWN1dGUoKQorKyAgICAgICAgdm9pZCBleGVj dXRlKCkKKyAgICAgICAgIHsKKy0gICAgICAgICAgICBSZWFkVGFzayogclszXTsgV3JpdGVUYXNr KiB3WzNdOworKyAgICAgICAgICAgIHRiYjo6dGFza19ncm91cCB0YXNrczsKKyAgICAgICAgICAg ICBmb3IgKGludCBpID0gMDsgaSA8IDM7ICsraSkgeworLSAgICAgICAgICAgICAgICByW2ldID0g bmV3KGFsbG9jYXRlX2NoaWxkKCkpIFJlYWRUYXNrKGFjYyk7CistICAgICAgICAgICAgICAgIHdb aV0gPSBuZXcoYWxsb2NhdGVfY2hpbGQoKSkgV3JpdGVUYXNrKGFjYyk7CisrICAgICAgICAgICAg ICAgIHRhc2tzLnJ1bihbJl0geyBSZWFkVGFzayByKGFjYyk7IHIuZXhlY3V0ZSgpOyB9KTsKKysg ICAgICAgICAgICAgICAgdGFza3MucnVuKFsmXSB7IFdyaXRlVGFzayB3KGFjYyk7IHcuZXhlY3V0 ZSgpOyB9KTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgc2V0X3JlZl9jb3VudCg2IC8q Y2hpbGRyZW4qLyArIDEgLyp3YWl0Ki8pOworLSAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgMzsgKytpKSB7CistICAgICAgICAgICAgICAgIHNwYXduKCpyW2ldKTsgc3Bhd24oKndbaV0p OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICB3YWl0X2Zvcl9hbGwoKTsKKy0gICAgICAg ICAgICByZXR1cm4gbnVsbHB0cjsKKysgICAgICAgICAgICB0YXNrcy53YWl0KCk7CisgICAgICAg ICB9CisgICAgIH07CisgCitAQCAtNDMyLDggKzQyNiw4IEBAIFRFU1RfRihUZXN0VmFsdWVBY2Nl c3NvciwgdGVzdE11bHRpdGhyZWFkZWRBY2Nlc3NvcikKKyAgICAgfQorIAorICAgICAvLyBSdW4g bXVsdGlwbGUgcmVhZCBhbmQgd3JpdGUgdGFza3MgaW4gcGFyYWxsZWwuCistICAgIFJvb3RUYXNr JiByb290ID0gKm5ldyh0YmI6OnRhc2s6OmFsbG9jYXRlX3Jvb3QoKSkgUm9vdFRhc2soYWNjKTsK Ky0gICAgdGJiOjp0YXNrOjpzcGF3bl9yb290X2FuZF93YWl0KHJvb3QpOworKyAgICBSb290VGFz ayByb290KGFjYyk7CisrICAgIHJvb3QuZXhlY3V0ZSgpOworIAorICN1bmRlZiBNQVhfQ09PUkQK KyB9CitkaWZmIC0tZ2l0IGEvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGluaS9TT1BfT3Bl blZEQl9SYXN0ZXJpemVfUG9pbnRzLmNjIGIvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGlu aS9TT1BfT3BlblZEQl9SYXN0ZXJpemVfUG9pbnRzLmNjCitpbmRleCAwZTFiNGQ4NTUuLjZkOWJi NTI4YiAxMDA2NDQKKy0tLSBhL29wZW52ZGJfaG91ZGluaS9vcGVudmRiX2hvdWRpbmkvU09QX09w ZW5WREJfUmFzdGVyaXplX1BvaW50cy5jYworKysrIGIvb3BlbnZkYl9ob3VkaW5pL29wZW52ZGJf aG91ZGluaS9TT1BfT3BlblZEQl9SYXN0ZXJpemVfUG9pbnRzLmNjCitAQCAtMjAsNiArMjAsNyBA QAorICNpbmNsdWRlIDxvcGVudmRiL3Rvb2xzL0dyaWRUcmFuc2Zvcm1lci5oPgorICNpbmNsdWRl IDxvcGVudmRiL3Rvb2xzL1BvaW50SW5kZXhHcmlkLmg+CisgI2luY2x1ZGUgPG9wZW52ZGIvdG9v bHMvUHJ1bmUuaD4KKysjaW5jbHVkZSA8b3BlbnZkYi90aHJlYWQvVGhyZWFkaW5nLmg+CisgCisg I2luY2x1ZGUgPENIL0NIX01hbmFnZXIuaD4KKyAjaW5jbHVkZSA8Q1ZFWC9DVkVYX0NvbnRleHQu aD4KK0BAIC03ODYsNyArNzg3LDcgQEAgc3RydWN0IENvbnN0cnVjdENhbmRpZGF0ZVZveGVsTWFz aworICAgICAgICAgZm9yIChzaXplX3QgbiA9IHJhbmdlLmJlZ2luKCksIE4gPSByYW5nZS5lbmQo KTsgbiAhPSBOOyArK24pIHsKKyAKKyAgICAgICAgICAgICBpZiAodGhpcy0+d2FzSW50ZXJydXB0 ZWQoKSkgeworLSAgICAgICAgICAgICAgICB0YmI6OnRhc2s6OnNlbGYoKS5jYW5jZWxfZ3JvdXBf ZXhlY3V0aW9uKCk7CisrICAgICAgICAgICAgICAgIG9wZW52ZGI6OnRocmVhZDo6Y2FuY2VsR3Jv dXBFeGVjdXRpb24oKTsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQor IAorQEAgLTIwOTIsNyArMjA5Myw3IEBAIHN0cnVjdCBSYXN0ZXJpemVQb2ludHMKKyAgICAgICAg IGZvciAoc2l6ZV90IG4gPSByYW5nZS5iZWdpbigpLCBOID0gcmFuZ2UuZW5kKCk7IG4gIT0gTjsg KytuKSB7CisgCisgICAgICAgICAgICAgaWYgKHRoaXMtPndhc0ludGVycnVwdGVkKCkpIHsKKy0g ICAgICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxmKCkuY2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigp OworKyAgICAgICAgICAgICAgICBvcGVudmRiOjp0aHJlYWQ6OmNhbmNlbEdyb3VwRXhlY3V0aW9u KCk7CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIH0KKyAKK2RpZmYgLS1n aXQgYS9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1NhbXBsZV9Q b2ludHMuY2MgYi9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1Nh bXBsZV9Qb2ludHMuY2MKK2luZGV4IDc1N2ZkYzhjNi4uZGJlZTc0YjMyIDEwMDY0NAorLS0tIGEv b3BlbnZkYl9ob3VkaW5pL29wZW52ZGJfaG91ZGluaS9TT1BfT3BlblZEQl9TYW1wbGVfUG9pbnRz LmNjCisrKysgYi9vcGVudmRiX2hvdWRpbmkvb3BlbnZkYl9ob3VkaW5pL1NPUF9PcGVuVkRCX1Nh bXBsZV9Qb2ludHMuY2MKK0BAIC0xNiwxMyArMTYsMTEgQEAKKyAjaW5jbHVkZSA8b3BlbnZkYl9o b3VkaW5pL1NPUF9Ob2RlVkRCLmg+CisgCisgI2luY2x1ZGUgPG9wZW52ZGIvdG9vbHMvSW50ZXJw b2xhdGlvbi5oPiAgLy8gZm9yIGJveCBzYW1wbGVyCisrI2luY2x1ZGUgPG9wZW52ZGIvdGhyZWFk L1RocmVhZGluZy5oPgorICNpbmNsdWRlIDxvcGVudmRiL3BvaW50cy9Qb2ludENvdW50Lmg+Cisg I2luY2x1ZGUgPG9wZW52ZGIvcG9pbnRzL1BvaW50U2FtcGxlLmg+CisgI2luY2x1ZGUgPG9wZW52 ZGIvcG9pbnRzL0luZGV4RmlsdGVyLmg+ICAgLy8gZm9yIE11bHRpR3JvdXBGaWx0ZXIKKyAKKy0j aW5jbHVkZSA8dGJiL3RpY2tfY291bnQuaD4gICAgICAgICAgICAgICAgIC8vIGZvciB0aW1pbmcK Ky0jaW5jbHVkZSA8dGJiL3Rhc2suaD4gICAgICAgICAgICAgICAgICAgICAgIC8vIGZvciBjYW5j ZWwKKy0KKyAjaW5jbHVkZSA8VVQvVVRfSW50ZXJydXB0Lmg+CisgI2luY2x1ZGUgPEdBL0dBX1Bh Z2VIYW5kbGUuaD4KKyAjaW5jbHVkZSA8R0EvR0FfUGFnZUl0ZXJhdG9yLmg+CitAQCAtMzgsNiAr MzYsNyBAQAorICNpbmNsdWRlIDxzdGRleGNlcHQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5j bHVkZSA8dmVjdG9yPgorKyNpbmNsdWRlIDxjaHJvbm8+CisgCisgCisgCitAQCAtMzI3LDcgKzMy Niw3IEBAIGNsYXNzIFBvaW50U2FtcGxlcgorICAgICB7CisgCisgICAgICAgICBpZiAobUludGVy cnVwdGVyLT53YXNJbnRlcnJ1cHRlZCgpKSB7CistICAgICAgICAgICAgdGJiOjp0YXNrOjpzZWxm KCkuY2FuY2VsX2dyb3VwX2V4ZWN1dGlvbigpOworKyAgICAgICAgICAgIG9wZW52ZGI6OnRocmVh ZDo6Y2FuY2VsR3JvdXBFeGVjdXRpb24oKTsKKyAgICAgICAgIH0KKyAgICAgICAgIGNvbnN0IEdy aWRUeXBlJiBncmlkID0gVVR2ZGJHcmlkQ2FzdDxHcmlkVHlwZT4obUdyaWQpOworICAgICAgICAg Ly8gdGFzayBsb2NhbCBncmlkIGFjY2Vzc29yCitAQCAtNDgxLDcgKzQ4MCw3IEBAIFNPUF9PcGVu VkRCX1NhbXBsZV9Qb2ludHM6OkNhY2hlOjpjb29rVkRCU29wKE9QX0NvbnRleHQmIGNvbnRleHQp CisgICAgICAgICBpbnQgbnVtVW5uYW1lZEdyaWRzID0gMDsKKyAKKyAgICAgICAgIC8vIHN0YXJ0 IHRpbWUKKy0gICAgICAgIHRiYjo6dGlja19jb3VudCB0aW1lX3N0YXJ0ID0gdGJiOjp0aWNrX2Nv dW50Ojpub3coKTsKKysgICAgICAgIGF1dG8gdGltZV9zdGFydCA9IHN0ZDo6Y2hyb25vOjpzdGVh ZHlfY2xvY2s6Om5vdygpOworICAgICAgICAgVVRfQXV0b0ludGVycnVwdCBwcm9ncmVzcygiU2Ft cGxpbmcgZnJvbSBWREIgZ3JpZHMiKTsKKyAKKyAgICAgICAgIGZvciAoaHZkYjo6VmRiUHJpbUNJ dGVyYXRvciBpdChiR2RwLCBncm91cCk7IGl0OyArK2l0KSB7CitAQCAtNzA2LDE1ICs3MDUsMTYg QEAgU09QX09wZW5WREJfU2FtcGxlX1BvaW50czo6Q2FjaGU6OmNvb2tWREJTb3AoT1BfQ29udGV4 dCYgY29udGV4dCkKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CisgCistICAgICAgICAvLyB0 aW1pbmc6IGVuZCB0aW1lCistICAgICAgICB0YmI6OnRpY2tfY291bnQgdGltZV9lbmQgPSB0YmI6 OnRpY2tfY291bnQ6Om5vdygpOworLQorICAgICAgICAgaWYgKHZlcmJvc2UpIHsKKysgICAgICAg ICAgICAvLyB0aW1pbmc6IGVuZCB0aW1lCisrICAgICAgICAgICAgYXV0byBkdXJhdGlvbiA9IHN0 ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KAorKyAg ICAgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSAtIHRpbWVfc3Rh cnQpOworKyAgICAgICAgICAgIGNvbnN0IGRvdWJsZSBzZWNvbmRzID0gZG91YmxlKGR1cmF0aW9u LmNvdW50KCkpIC8gMTAwMC4wOworICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiU2FtcGxpbmcg IiA8PCBuUG9pbnRzICsgblZEQlBvaW50cyA8PCAiIHBvaW50cyBpbiAiCisgICAgICAgICAgICAg ICAgICAgICAgIDw8IG51bVZlY3RvckdyaWRzIDw8ICIgdmVjdG9yIGdyaWQiIDw8IChudW1WZWN0 b3JHcmlkcyA9PSAxID8gIiIgOiAicyIpCisgICAgICAgICAgICAgICAgICAgICAgIDw8ICIgYW5k ICIgPDwgbnVtU2NhbGFyR3JpZHMgPDwgIiBzY2FsYXIgZ3JpZCIKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIDw8IChudW1TY2FsYXJHcmlkcyA9PSAxID8gIiIgOiAicyIpCistICAgICAgICAg ICAgICAgICAgICAgIDw8ICIgdG9vayAiIDw8ICh0aW1lX2VuZCAtIHRpbWVfc3RhcnQpLnNlY29u ZHMoKSA8PCAiIHNlY29uZHNcbiAiCisrICAgICAgICAgICAgICAgICAgICAgIDw8ICIgdG9vayAi IDw8IHNlY29uZHMgPDwgIiBzZWNvbmRzXG4gIgorICAgICAgICAgICAgICAgICAgICAgICA8PCAo dGhyZWFkZWQgPyAidGhyZWFkZWQiIDogIm5vbi10aHJlYWRlZCIpIDw8IHN0ZDo6ZW5kbDsKKyAg ICAgICAgIH0KKyAKK2RpZmYgLS1naXQgYS9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5W REJQbHVnaW4uY2MgYi9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJQbHVnaW4uY2MK K2luZGV4IDNkNTU5ZjhjYy4uZDYzZWQxNTkxIDEwMDY0NAorLS0tIGEvb3BlbnZkYl9tYXlhL29w ZW52ZGJfbWF5YS9PcGVuVkRCUGx1Z2luLmNjCisrKysgYi9vcGVudmRiX21heWEvb3BlbnZkYl9t YXlhL09wZW5WREJQbHVnaW4uY2MKK0BAIC00NywxMSArNDcsOCBAQCBzdHJ1Y3QgTm9kZUluZm8g eworIAorIHR5cGVkZWYgc3RkOjp2ZWN0b3I8Tm9kZUluZm8+IE5vZGVMaXN0OworIAorLXR5cGVk ZWYgdGJiOjptdXRleCBNdXRleDsKKy10eXBlZGVmIE11dGV4OjpzY29wZWRfbG9jayBMb2NrOwor LQorIC8vIERlY2xhcmUgdGhpcyBhdCBmaWxlIHNjb3BlIHRvIGVuc3VyZSB0aHJlYWQtc2FmZSBp bml0aWFsaXphdGlvbi4KKy1NdXRleCBzUmVnaXN0cnlNdXRleDsKKytzdGQ6Om11dGV4IHNSZWdp c3RyeU11dGV4OworIAorIE5vZGVMaXN0ICogZ05vZGVzID0gTlVMTDsKKyAKK0BAIC03MCw3ICs2 Nyw3IEBAIE5vZGVSZWdpc3RyeTo6Tm9kZVJlZ2lzdHJ5KGNvbnN0IE1TdHJpbmcmIHR5cGVOYW1l LCBjb25zdCBNVHlwZUlkJiB0eXBlSWQsCisgICAgIG5vZGUudHlwZSAgICAgICAgICAgICAgID0g dHlwZTsKKyAgICAgbm9kZS5jbGFzc2lmaWNhdGlvbiAgICAgPSBjbGFzc2lmaWNhdGlvbjsKKyAK Ky0gICAgTG9jayBsb2NrKHNSZWdpc3RyeU11dGV4KTsKKysgICAgc3RkOjpsb2NrX2d1YXJkPHN0 ZDo6bXV0ZXg+IGxvY2soc1JlZ2lzdHJ5TXV0ZXgpOworIAorICAgICBpZiAoIWdOb2Rlcykgewor ICAgICAgICAgT1BFTlZEQl9TVEFSVF9USFJFQURTQUZFX1NUQVRJQ19XUklURQorQEAgLTg1LDcg KzgyLDcgQEAgTm9kZVJlZ2lzdHJ5OjpOb2RlUmVnaXN0cnkoY29uc3QgTVN0cmluZyYgdHlwZU5h bWUsIGNvbnN0IE1UeXBlSWQmIHR5cGVJZCwKKyB2b2lkCisgTm9kZVJlZ2lzdHJ5OjpyZWdpc3Rl ck5vZGVzKE1GblBsdWdpbiYgcGx1Z2luLCBNU3RhdHVzJiBzdGF0dXMpCisgeworLSAgICBMb2Nr IGxvY2soc1JlZ2lzdHJ5TXV0ZXgpOworKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4g bG9jayhzUmVnaXN0cnlNdXRleCk7CisgCisgICAgIGlmIChnTm9kZXMpIHsKKyAgICAgICAgIGZv ciAoc2l6ZV90IG4gPSAwLCBOID0gZ05vZGVzLT5zaXplKCk7IG4gPCBOOyArK24pIHsKK0BAIC0x MDksNyArMTA2LDcgQEAgTm9kZVJlZ2lzdHJ5OjpyZWdpc3Rlck5vZGVzKE1GblBsdWdpbiYgcGx1 Z2luLCBNU3RhdHVzJiBzdGF0dXMpCisgdm9pZAorIE5vZGVSZWdpc3RyeTo6ZGVyZWdpc3Rlck5v ZGVzKE1GblBsdWdpbiYgcGx1Z2luLCBNU3RhdHVzJiBzdGF0dXMpCisgeworLSAgICBMb2NrIGxv Y2soc1JlZ2lzdHJ5TXV0ZXgpOworKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8c3RkOjptdXRleD4gbG9j ayhzUmVnaXN0cnlNdXRleCk7CisgCisgICAgIGlmIChnTm9kZXMpIHsKKyAgICAgICAgIGZvciAo c2l6ZV90IG4gPSAwLCBOID0gZ05vZGVzLT5zaXplKCk7IG4gPCBOOyArK24pIHsKK2RpZmYgLS1n aXQgYS9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmggYi9vcGVudmRiX21h eWEvb3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmgKK2luZGV4IGI1OGJkNmYyYy4uNmEwNGIxZWFm IDEwMDY0NAorLS0tIGEvb3BlbnZkYl9tYXlhL29wZW52ZGJfbWF5YS9PcGVuVkRCVXRpbC5oCisr KysgYi9vcGVudmRiX21heWEvb3BlbnZkYl9tYXlhL09wZW5WREJVdGlsLmgKK0BAIC0xNCw4ICsx NCw3IEBACisgI2luY2x1ZGUgPG9wZW52ZGIvdHJlZS9MZWFmTWFuYWdlci5oPgorICNpbmNsdWRl IDxvcGVudmRiL3Rvb2xzL1ZvbHVtZVRvTWVzaC5oPgorICNpbmNsdWRlIDxvcGVudmRiL3V0aWwv Rm9ybWF0cy5oPiAvLyBwcmludEJ5dGVzCistCistI2luY2x1ZGUgPHRiYi90aWNrX2NvdW50Lmg+ CisrI2luY2x1ZGUgPG9wZW52ZGIvdGhyZWFkL1RocmVhZGluZy5oPgorIAorICNpbmNsdWRlIDxt YXlhL00zZFZpZXcuaD4KKyAjaW5jbHVkZSA8bWF5YS9NU3RyaW5nLmg+CitAQCAtNDAsNiArMzks NyBAQAorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorICNpbmNs dWRlIDx2ZWN0b3I+CisrI2luY2x1ZGUgPGNocm9ubz4KKyAKKyAKKyAvLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCitAQCAtMTE2LDExICsxMTYsMTUgQEAgaW5zZXJ0RnJh bWVOdW1iZXIoc3RkOjpzdHJpbmcmIHN0ciwgY29uc3QgTVRpbWUmIHRpbWUsIGludCBudW1iZXJp bmdTY2hlbWUgPSAwKTsKKyAKKyBzdHJ1Y3QgVGltZXIKKyB7CistICAgIFRpbWVyKCkgOiBtU3Rh bXAodGJiOjp0aWNrX2NvdW50Ojpub3coKSkgeyB9CisrICAgIFRpbWVyKCkgOiBtU3RhbXAoc3Rk OjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpIHsgfQorIAorLSAgICB2b2lkIHJlc2V0KCkg eyBtU3RhbXAgPSB0YmI6OnRpY2tfY291bnQ6Om5vdygpOyB9CisrICAgIHZvaWQgcmVzZXQoKSB7 IG1TdGFtcCA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOyB9CisgCistICAgIGRv dWJsZSBzZWNvbmRzKCkgY29uc3QgeyByZXR1cm4gKHRiYjo6dGlja19jb3VudDo6bm93KCkgLSBt U3RhbXApLnNlY29uZHMoKTsgfQorKyAgICBkb3VibGUgc2Vjb25kcygpIGNvbnN0IHsKKysgICAg ICAgIGF1dG8gZHVyYXRpb24gPSBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9u bzo6bWlsbGlzZWNvbmRzPigKKysgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2Nr Ojpub3coKSAtIG1TdGFtcCk7CisrICAgICAgICByZXR1cm4gZG91YmxlKGR1cmF0aW9uLmNvdW50 KCkpIC8gMTAwMC4wOworKyAgICB9CisgCisgICAgIHN0ZDo6c3RyaW5nIGVsYXBzZWRUaW1lKCkg Y29uc3QgeworICAgICAgICAgZG91YmxlIHNlYyA9IHNlY29uZHMoKTsKK0BAIC0xMjgsNyArMTMy LDcgQEAgc3RydWN0IFRpbWVyCisgICAgIH0KKyAKKyBwcml2YXRlOgorLSAgICB0YmI6OnRpY2tf Y291bnQgbVN0YW1wOworKyAgICAgc3RkOjpjaHJvbm86OnRpbWVfcG9pbnQ8c3RkOjpjaHJvbm86 OnN0ZWFkeV9jbG9jaz4gbVN0YW1wOworIH07CisgCisgCitkaWZmIC0tZ2l0IGEvcGVuZGluZ2No YW5nZXMvdGJiMjAyMS50eHQgYi9wZW5kaW5nY2hhbmdlcy90YmIyMDIxLnR4dAorbmV3IGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMC4uODEwOWMyNTUyCistLS0gL2Rldi9udWxsCisr KysgYi9wZW5kaW5nY2hhbmdlcy90YmIyMDIxLnR4dAorQEAgLTAsMCArMSw2IEBACisrSW1wcm92 ZW1lbnRzOgorKyAgLSBNb3ZlZCBmcm9tIHRoZSBkZXByZWNhdGVkIFRCQiB0YXNrIHNjaGVkdWxl ciB0byBUQkIgYXJlbmFzLiBWYXJpb3VzIG1ldGhvZHMgbm93IHJlc3BlY3QgdGhlIFRCQiBhcmVu YSBzdGF0ZSB0aGV5IHdlcmUgaW52b2tlZCBmcm9tLgorKyAgLSBJbnRyb2R1Y2VkIGEgbmV3IHRo cmVhZC9UaHJlYWRpbmcuaCBoZWFkZXIgdG8gY29uc29saWRhdGUgY2FsbHMgdG8gdGhpcmQtcGFy dHkgdGhyZWFkaW5nIG1ldGhvZHMuCisrCisrQnVpbGQ6CisrICAtIEFkZGVkIHN1cHBvcnQgZm9y IFRCQiAyMDIxLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vcGVudmRiL3RlbXBsYXRlIGIvc3JjcGtn cy9vcGVudmRiL3RlbXBsYXRlCmluZGV4IDcyZmRlNWJjNjM3NS4uZDQyMGEzZWU1ZjVkIDEwMDY0 NAotLS0gYS9zcmNwa2dzL29wZW52ZGIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vcGVudmRiL3Rl bXBsYXRlCkBAIC0xLDI2ICsxLDE4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdvcGVudmRiJwog cGtnbmFtZT1vcGVudmRiCi12ZXJzaW9uPTcuMC4wCit2ZXJzaW9uPTguMS4wCiByZXZpc2lvbj0x CiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ET1BFTlZEQl9CVUlMRF9WREJf VklFVz0xIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgotbWFrZWRlcGVuZHM9ImJvb3N0 LWRldmVsIHRiYi1kZXZlbCBpbG1iYXNlLWRldmVsIGxpYm9wZW5leHItZGV2ZWwgYy1ibG9zYy1k ZXZlbCBnbGZ3LWRldmVsIgorbWFrZWRlcGVuZHM9ImJvb3N0LWRldmVsIHRiYi1kZXZlbCBpbG1i YXNlLWRldmVsIGxpYm9wZW5leHItZGV2ZWwgYy1ibG9zYy1kZXZlbAorIGdsZnctZGV2ZWwgamVt YWxsb2MtZGV2ZWwiCiBzaG9ydF9kZXNjPSJTcGFyc2Ugdm9sdW1lIGRhdGEgc3RydWN0dXJlIGFu ZCB0b29scyIKIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBs aWNlbnNlPSJNUEwtMi4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vb3BlbnZkYi5vcmciCiBkaXN0Zmls ZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9BY2FkZW15U29mdHdhcmVGb3VuZGF0aW9uL29wZW52ZGIv YXJjaGl2ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT05N2JjOGFlMzVlZjdjY2JmNDlh NGUyNWNiNzNlOGMyZWNjYWU2YjIzNWJhYzg2ZjIxNTA3MDdlZmNkMWU5MTBkCi0KLWlmIFsgIiRY QlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCi0JbWFrZWRlcGVuZHMrPSIgbGliYXRvbWlj LWRldmVsIgotZmkKLQotcG9zdF9wYXRjaCgpIHsKLQlbICIkWEJQU19UQVJHRVRfTk9fQVRPTUlD OCIgXSB8fCByZXR1cm4gMAotCXZzZWQgLWkgJ3MsWkxJQjo6WkxJQixaTElCOjpaTElCIGF0b21p YywnIG9wZW52ZGIvQ01ha2VMaXN0cy50eHQKLX0KK2NoZWNrc3VtPTNlMDlkNDczMzE0MjliZTc0 MDlhM2EzYzI3ZmRkM2MyOTdmOTZkMzFkMjE1M2ZlYmUxOTRlNjY0YTk5ZDYxODMKIAogcG9zdF9p bnN0YWxsKCkgewogCXZsaWNlbnNlIExJQ0VOU0UKCkZyb20gMmU4YmJjOTE0MDU5MTM2ZDgwZDM4 OTU3N2FlZDM1N2E5YWY0NjcyZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJ0dXIg U2luaWxhIDxmcmVlc29mdHdhcmVAbG9nYXJpdGhtdXMuZGV2PgpEYXRlOiBTdW4sIDE4IEp1bCAy MDIxIDE4OjI5OjQwICswMzAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gcGFyYXZpZXc6IHVwZGF0 ZSB0byA1LjkuMS4KCi0tLQogc3JjcGtncy9wYXJhdmlldy90ZW1wbGF0ZSB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3BhcmF2aWV3L3RlbXBsYXRlIGIvc3JjcGtncy9wYXJhdmlldy90ZW1wbGF0ZQpp bmRleCAyMGE3ZjU1ODk2NzcuLmU2YzM5NDFjZTkwYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9wYXJh dmlldy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3BhcmF2aWV3L3RlbXBsYXRlCkBAIC0xLDcgKzEs NyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncGFyYXZpZXcnCiBwa2duYW1lPXBhcmF2aWV3Ci12 ZXJzaW9uPTUuOC4xCi1yZXZpc2lvbj0zCit2ZXJzaW9uPTUuOS4xCityZXZpc2lvbj0xCiB3cmtz cmM9UGFyYVZpZXctdiR7dmVyc2lvbn0KIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJn cz0iLURDTUFLRV9QUkVGSVhfUEFUSD0ke1hCUFNfQ1JPU1NfQkFTRX0vdXNyCgpGcm9tIDNlM2Vl ZjAxN2VlYmQ5YWExZjU2MjdjMGI0NjU3YjkyZTU0Y2FiOWMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEFydHVyIFNpbmlsYSA8ZnJlZXNvZnR3YXJlQGxvZ2FyaXRobXVzLmRldj4KRGF0 ZTogU3VuLCAxOCBKdWwgMjAyMSAxODoyOTozOSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTFd IG9jY3Q6IHJldmJ1bXAgZHVlIHRvIHRiYiB1cGRhdGUKCi0tLQogc3JjcGtncy9vY2N0L3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9vY2N0L3RlbXBsYXRlIGIvc3JjcGtncy9vY2N0L3RlbXBs YXRlCmluZGV4IDkyOThlZGM3NmUwOC4uMDA2Zjg5ZWJiOGNlIDEwMDY0NAotLS0gYS9zcmNwa2dz L29jY3QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9vY2N0L3RlbXBsYXRlCkBAIC0yLDcgKzIsNyBA QAogcGtnbmFtZT1vY2N0CiByZXZlcnRzPTcuNS4wXzEKIHZlcnNpb249Ny40LjBwMQotcmV2aXNp b249MworcmV2aXNpb249NAogX2dpdHRhZz0iViR7dmVyc2lvbi8vLi9ffSIKIHdya3NyYz1vY2N0 LSR7X2dpdHRhZ30KIGJ1aWxkX3N0eWxlPWNtYWtlCg== --===============8395060388903183075==--