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 6600 invoked from network); 4 Sep 2021 17:01:16 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 4 Sep 2021 17:01:16 -0000 Content-Type: multipart/mixed; boundary="===============0346804663235593801==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_93=2E0=2E4577=2E63=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 04 Sep 2021 19:01:15 +0200 List-Id: Message-ID: <20210904170115.aOVybuDhlcG8UgcnSu941NZuBACTaEGqYJObSkDipPU@z> GitHub notification mails are now in MIME to allow UTF8. --===============0346804663235593801== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTkzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zMjgzMQoKY2hyb21pdW06IHVwZGF0ZSB0byA5My4wLjQ1 NzcuNjMuCltjaSBza2lwXQ0KDQotIFt4XSB4ODZfNjQtZ2xpYmMNCi0gW3hdIHg4Nl82NC1tdXNs DQotIFsgXSBpNjg2CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzI4MzEucGF0Y2ggaXMgYXR0YWNoZWQ= --===============0346804663235593801== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-93-32831.patch" RnJvbSA2NzUyOTEzOTU2ZDMzMzVlYWVhNGUyY2UyYjIwZDY5ODE5ZmU3M2M4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFNhdCwgNCBTZXAgMjAyMSAxNDozMToxNiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVt OiB1cGRhdGUgdG8gOTMuMC40NTc3LjYzLgoKLS0tCiAuLi4vZGVmYXVsdC1wdGhyZWFkLXN0YWNr c2l6ZS5wYXRjaCAgICAgICAgICAgfCAgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL25v LW1hbGxpbmZvLnBhdGNoICAgICAgfCAgIDc1ICstCiAuLi5lM2RmY2QwNjkwZGYwZTdiMjEyZmVk Y2I5NTQwMmYxNjkzNWQucGF0Y2ggfCAgIDM2ICsKIC4uLjE0MDUxMjEwMzg4YmZjZmY2MDU1NzBk MzNmMDhjZmE3YmNhYS5wYXRjaCB8ICAgMzYgKwogLi4uYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0 MWYxNzE1NDNmMWRmLnBhdGNoIHwgICA0MiArCiAuLi45ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2Rm MzdmNWRjZWNkMWUucGF0Y2ggfCAgIDM2ICsKIC4uLjVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUw MmE1MTcyNTM5Ni5wYXRjaCB8ICAgMzYgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMt Mi4zMy5wYXRjaCAgICAgIHwgIDE0NCAtLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVn LTQuNC5wYXRjaCAgICAgIHwgICAzNiArCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05My1wZGZpdW0t aW5jbHVkZS5wYXRjaCAgfCAgMTE3ICsrCiAuLi4vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxl LnBhdGNoICAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2ggICB8ICAgNDUgLQogLi4uL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2lu Zy1jYXN0LnBhdGNoIHwgICA1MyArCiAuLi4vbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFz aC5wYXRjaCAgICAgfCAxMzg0ICsrKysrKysrKysrKysrKysrCiAuLi5tLWRpc3RpbGxlci1wcm90 b2MtcGx1Z2luLWNhbGwtcHkyLjcucGF0Y2ggfCAgIDM3IC0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1leGVjaW5mby5wYXRjaCAgICB8ICAgNjEgKy0KIC4uLi9wYXRjaGVzL3JlbW92ZS1s bHZtMTMtd2FybmluZy1mbGFncy5wYXRjaCB8ICAgMTMgKwogLi4uL3BhdGNoZXMvcmVtb3ZlLXN0 cmlwX2JpbmFyeS5wYXRjaCAgICAgICAgIHwgICAzMiArCiBzcmNwa2dzL2Nocm9taXVtL3RlbXBs YXRlICAgICAgICAgICAgICAgICAgICAgfCAgMTEyICstCiAxOSBmaWxlcyBjaGFuZ2VkLCAxOTYx IGluc2VydGlvbnMoKyksIDM1OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1NDAyZjE2 OTM1ZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8y ZjU1MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0 NjM1ZTQxZjE3MTU0M2YxZGYucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUx NTUxYWYyNmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZt cGVnLTQuNC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS05My1wZGZpdW0taW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1jcmFzaC1pbi1UaGVtZVNl cnZpY2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Zml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0YXQtY3Jhc2gucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVy LXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2Jp bmFyeS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRj aGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCmluZGV4IDE2 ZTRkMjFlNmVkOC4uMjY4ODRmNmNjOTM3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCisrKyBiL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3Np emUucGF0Y2gKQEAgLTQsOSArNCw5IEBACiAtICByZXR1cm4gMDsKICsgIC8vIHVzZSA4bWIgbGlr ZSBnbGliYyB0byBhdm9pZCBydW5uaW5nIG91dCBvZiBzcGFjZQogKyAgcmV0dXJuICgxIDw8IDIz KTsKLS0tLSBjaHJvbWUvYXBwL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYy5vcmln Ci0rKysgY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLUBAIC0x ODQsMTEgKzE4NCwxOSBAQAorLS0tIGNocm9tZS9icm93c2VyL3NodXRkb3duX3NpZ25hbF9oYW5k bGVyc19wb3NpeC5jYy5vcmlnCisrKysgY2hyb21lL2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFsX2hh bmRsZXJzX3Bvc2l4LmNjCitAQCAtMTg3LDExICsxODcsMTkgQEAKICAgIGdfc2h1dGRvd25fcGlw ZV9yZWFkX2ZkID0gcGlwZWZkWzBdOwogICAgZ19zaHV0ZG93bl9waXBlX3dyaXRlX2ZkID0gcGlw ZWZkWzFdOwogICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2gKaW5kZXgg YjBjOTgzMjUxNWQwLi41ZmQzZGMyYjM3OWMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21p dW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1hbGxpbmZvLnBhdGNoCkBAIC0xLDMzICsxLDU2IEBA Ci0tLS0gYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYy5vcmlnCi0rKysg YmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYwotQEAgLTI0Myw3ICsyNDMs NyBAQAotICAgYWxsb2NhdGVkX29iamVjdHNfY291bnQgPSBtYWluX2hlYXBfaW5mby5ibG9ja19j b3VudDsKKy0tLSAuL2Jhc2UvdHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2Mub3Jp ZworKysrIC4vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAgLTIx Miw3ICsyMTIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19j b3VudCk7CiAgI2VsaWYgZGVmaW5lZChPU19GVUNIU0lBKQogIC8vIFRPRE8oZnVjaHNpYSk6IFBv cnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCiAtI2Vsc2UKICsjZWxpZiBkZWZpbmVk KF9fR0xJQkNfXykKLSAgIHN0cnVjdCBtYWxsaW5mbyBpbmZvID0gbWFsbGluZm8oKTsKLSAgIERD SEVDS19HRShpbmZvLmFyZW5hICsgaW5mby5oYmxraGQsIGluZm8udW9yZGJsa3MpOworICNpZiBk ZWZpbmVkKF9fR0xJQkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElC Q19QUkVSRVEoMiwgMzMpCisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQworLS0tIC4v YmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIC4vYmFzZS9wcm9jZXNz L3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQAogIAotLS0tIGJh c2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2Mub3JpZwkyMDIwLTExLTE4IDIzOjUw OjMzLjk1ODIyMzQ5NyAtMDUwMAotKysrIGJhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9z aXguY2MJMjAyMC0xMS0xOCAyMzo1Mzo1Mi4wMjQ1ODkzMTYgLTA1MDAKLUBAIC0xMTksMTQgKzEx OSwxNCBAQAorICNlbmRpZiAgLy8gIWRlZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVmaW5l ZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lE KQorKyNpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZp bmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsKKyAK KyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywxNiBA QAorIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQoT1NfTElOVVgp IHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKysjZW5kaWYg IC8vIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQo T1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3QgUHJvY2Vzc01l dHJpY3M6OkdldE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExFKQogICAgbWFs bG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKICAgIG1hbGxvY196b25lX3N0YXRpc3RpY3Mo bnVsbHB0ciwgJnN0YXRzKTsKICAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsKIC0jZWxpZiBk ZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpCi0rI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pIHx8IGRlZmluZWQoT1NfQ0hST01FT1Mp IHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKLSAgIHN0cnVjdCBtYWxsaW5mbyBtaW5mbyA9IG1hbGxp bmZvKCk7Ci0gI2lmIEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCi0gICByZXR1cm4gbWluZm8udW9y ZGJsa3M7Ci0gI2Vsc2UKLSAgIHJldHVybiBtaW5mby5oYmxraGQgKyBtaW5mby5hcmVuYTsKLSAj ZW5kaWYKKysjZWxpZiAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8 fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgICByZXR1cm4g R2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpOwogLSNlbGlmIGRlZmluZWQoT1NfRlVDSFNJQSkKICsj ZWxzZQogICAgLy8gVE9ETyhmdWNoc2lhKTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRwczov L2NyYnVnLmNvbS83MzUwODcuCiAgICByZXR1cm4gMDsKICAjZW5kaWYKKy0tLSB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2Mub3Jp ZworKysrIHRoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9t ZW1vcnlfaW5mby5jYworQEAgLTM1LDcgKzM1LDcgQEAKKyAKKyBNZW1vcnlVc2FnZSBHZXRNZW1v cnlVc2FnZSgpIHsKKyAgIE1lbW9yeVVzYWdlIHJlc3VsdDsKKy0jaWZkZWYgX19saW51eF9fCisr I2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJ1c2FnZSBy ZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAgIHJl c3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKIC0tLSB0aGlyZF9wYXJ0eS9zd2lmdHNo YWRlci90aGlyZF9wYXJ0eS9sbHZtLXN1Ynplcm8vbGliL1N1cHBvcnQvVW5peC9Qcm9jZXNzLmlu YwogKysrIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9s aWIvU3VwcG9ydC9Vbml4L1Byb2Nlc3MuaW5jLm9yaWcKIEBAIC04NCw3ICs4NCw3IEBACkBAIC01 MiwyMyArNzUsMyBAQAogIAogIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9j Lmg+IGhlYWRlciBmaWxlLiAqLwogICNkZWZpbmUgSEFWRV9NQUxMT0NfSCAxCi0tLS0gdGhpcmRf cGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNj Lm9yaWcJMjAyMS0wNC0xNiAxNzozNDozNi42NjYzODUyMDcgLTA0MDAKLSsrKyB0aGlyZF9wYXJ0 eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcvbWVtb3J5X2luZm8uY2MJMjAy MS0wNC0xNiAxNzozNjowMS4xOTc2MDI5NTMgLTA0MDAKLUBAIC0yNyw3ICsyNyw3IEBACi0gY29u c3QgaW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOwotIAotIGJvb2wgTWVtb3J5VXNh Z2U6OklzU3VwcG9ydGVkKCkgewotLSNpZmRlZiBfX2xpbnV4X18KLSsjaWZkZWYgZGVmaW5lZChf X0dMSUJDX18pCi0gICByZXR1cm4gdHJ1ZTsKLSAjZW5kaWYKLSAgIHJldHVybiBmYWxzZTsKLUBA IC0zNSw3ICszNSw3IEBACi0gCi0gTWVtb3J5VXNhZ2UgR2V0TWVtb3J5VXNhZ2UoKSB7Ci0gICBN ZW1vcnlVc2FnZSByZXN1bHQ7Ci0tI2lmZGVmIF9fbGludXhfXwotKyNpZmRlZiBkZWZpbmVkKF9f R0xJQkNfXykKLSAgIHJ1c2FnZSByZXM7Ci0gICBpZiAoZ2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAm cmVzKSA9PSAwKSB7Ci0gICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1X21heHJzczsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8xN2QwZTNkZmNkMDY5MGRmMGU3YjIx MmZlZGNiOTU0MDJmMTY5MzVkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzE3ZDBl M2RmY2QwNjkwZGYwZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5jNDNkYThkZmQ4YWIKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMTdkMGUzZGZjZDA2OTBkZjBlN2IyMTJmZWRjYjk1 NDAyZjE2OTM1ZC5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDE3ZDBlM2RmY2QwNjkwZGYw ZTdiMjEyZmVkY2I5NTQwMmYxNjkzNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBK b3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0RhdGU6IEZyaSwgMjMgSnVsIDIw MjEgMTA6MTc6NDkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSVdZVTogbWlzc2luZyBpbmNsdWRl IGZvciB1c2luZyBzdGQ6OnZlY3RvciBpbiBoYXNoIHBhc3N3b3JkCisgbWFuYWdlci4KK01JTUUt VmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0Nv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRml4IGJ1aWxkIGJyZWFrYWdlOgorLi4v Li4vY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3Jk X21hbmFnZXIuaDo0NDo4OiBlcnJvcjog4oCYdmVjdG9y4oCZIGluIG5hbWVzcGFjZSDigJhzdGTi gJkgZG9lcyBub3QgbmFtZSBhIHRlbXBsYXRlIHR5cGUKKyAgIDQ0IHwgICBzdGQ6OnZlY3RvcjxQ YXNzd29yZEhhc2hEYXRhPiBSZXRyaWV2ZUFsbFBhc3N3b3JkSGFzaGVzKCk7CisgICAgICB8ICAg ICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSThjOGE0ZWMzOTcyZWVkYjg3 YTMxMmM1ZWM1NmFkZjRhMjFiMWIyYTIKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJl dmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTA0NgorQ29tbWl0LVF1 ZXVlOiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5 OiBWYXNpbGlpIFN1a2hhbm92IDx2YXNpbGlpQGNocm9taXVtLm9yZz4KK0NyLUNvbW1pdC1Qb3Np dGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDQ2OTZ9CistLS0KKyBjb21wb25lbnRzL3Bhc3N3 b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIHwgMSArCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9jb21wb25lbnRz L3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2hhc2hfcGFzc3dvcmRfbWFuYWdlci5oIGIv Y29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9oYXNoX3Bhc3N3b3JkX21h bmFnZXIuaAoraW5kZXggYzc2MmM1YThjNzcxMy4uODVlNjU2ZWRjYmExMSAxMDA2NDQKKy0tLSBh L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvaGFzaF9wYXNzd29yZF9t YW5hZ2VyLmgKKysrKyBiL2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIv aGFzaF9wYXNzd29yZF9tYW5hZ2VyLmgKK0BAIC02LDYgKzYsNyBAQAorICNkZWZpbmUgQ09NUE9O RU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9IQVNIX1BBU1NXT1JEX01BTkFHRVJf SF8KKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisgCisgI2luY2x1 ZGUgImJhc2UvY2FsbGJhY2suaCIKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFja19saXN0LmgiCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvMmY1NTE0MDUxMjEwMzg4YmZjZmY2 MDU1NzBkMzNmMDhjZmE3YmNhYS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy8yZjU1 MTQwNTEyMTAzODhiZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODc1N2ViNWMzNmE5Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzJmNTUxNDA1MTIxMDM4OGJmY2ZmNjA1NTcwZDMz ZjA4Y2ZhN2JjYWEucGF0Y2gKQEAgLTAsMCArMSwzNiBAQAorRnJvbSAyZjU1MTQwNTEyMTAzODhi ZmNmZjYwNTU3MGQzM2YwOGNmYTdiY2FhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog Sm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAy MDIxIDA4OjM0OjU4ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IHVzYWdlIG9mIHVuaXF1 ZV9wdHIgcmVxdWlyZXMgaW5jbHVkaW5nIDxtZW1vcnk+IGluCisgYmx1ZXRvb3RoIGxvdyBlbmVy Z3kgc2NhbiBmaWx0ZXIuCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0Zp eCBidWlsZCBiZWNhdXNlIG9mIG1pc3NpbmcgaW5jbHVkZToKKy4uLy4uL2RldmljZS9ibHVldG9v dGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaDo1NzoxNTogZXJyb3I6IOKAmHVu aXF1ZV9wdHLigJkgaW4gbmFtZXNwYWNlIOKAmHN0ZOKAmSBkb2VzIG5vdCBuYW1lIGEgdGVtcGxh dGUgdHlwZQorICAgNTcgfCAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8Qmx1ZXRvb3RoTG93RW5l cmd5U2NhbkZpbHRlcj4gQ3JlYXRlKAorICAgICAgfCAgICAgICAgICAgICAgIF5+fn5+fn5+fn4K KworQnVnOiA4MTkyOTQKK0NoYW5nZS1JZDogSTM0Nzk1M2EwODNmMWJjZGY3NDRmZDg2ZTFhNzM5 NTRjNmY4NmIzMmUKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzA0MTE1NQorUmV2aWV3ZWQtYnk6IFJlaWxseSBH cmFudCA8cmVpbGx5Z0BjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQ YXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9t YXN0ZXJAeyM5MDM4MTl9CistLS0KKyBkZXZpY2UvYmx1ZXRvb3RoL2JsdWV0b290aF9sb3dfZW5l cmd5X3NjYW5fZmlsdGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykK KworZGlmZiAtLWdpdCBhL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nh bl9maWx0ZXIuaCBiL2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9m aWx0ZXIuaAoraW5kZXggYTA0MzZjMTg0YTk2Ny4uN2FlNjA2Y2NhMDE0ZSAxMDA2NDQKKy0tLSBh L2RldmljZS9ibHVldG9vdGgvYmx1ZXRvb3RoX2xvd19lbmVyZ3lfc2Nhbl9maWx0ZXIuaAorKysr IGIvZGV2aWNlL2JsdWV0b290aC9ibHVldG9vdGhfbG93X2VuZXJneV9zY2FuX2ZpbHRlci5oCitA QCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGlu dC5oPgorKyNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVk ZSAiYmFzZS90aW1lL3RpbWUuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy84MmUyYzhiNDg0YzE4YzYyMWQ0YjE5NDYzNWU0MWYxNzE1NDNmMWRmLnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzLzgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2Yx ZGYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWJmZGIz Njc2NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvODJlMmM4 YjQ4NGMxOGM2MjFkNGIxOTQ2MzVlNDFmMTcxNTQzZjFkZi5wYXRjaApAQCAtMCwwICsxLDQyIEBA CitGcm9tIDgyZTJjOGI0ODRjMThjNjIxZDRiMTk0NjM1ZTQxZjE3MTU0M2YxZGYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNv bT4KK0RhdGU6IFR1ZSwgMjcgSnVsIDIwMjEgMDg6MDk6MzkgKzAwMDAKK1N1YmplY3Q6IFtQQVRD SF0gSVdZVTogdXNhZ2Ugb2Ygc3RkOjpzdHJjcHkgcmVxdWlyZXMgaW5jbHVkaW5nIGNzdHJpbmcs IGluCisgZXh0ZW5zaW9uIGRpYWxvZyBhdXRvIGNvbmZpcm0uCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK0ZpeCBidWlsZCBicmVha2FnZSB3aXRoIGxpYnN0ZGMrKzoKKyAg ICAuLi8uLi9leHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0u Y2M6IEluIGRlc3RydWN0b3Ig4oCYZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25m aXJtOjp+U2NvcGVkVGVzdERpYWxvZ0F1dG9Db25maXJtKCnigJk6CisgICAgLi4vLi4vZXh0ZW5z aW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNjOjQzOjg6IGVycm9y OiDigJhzdHJjcHnigJkgaXMgbm90IGEgbWVtYmVyIG9mIOKAmHN0ZOKAmQorICAgICAgIDQzIHwg ICBzdGQ6OnN0cmNweShnX2V4dGVuc2lvbl9kaWFsb2dfanVzdGlmaWNhdGlvbiwgb2xkX2p1c3Rp ZmljYXRpb25fLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorICAgIC4uLy4u L2V4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYzogSW4g bWVtYmVyIGZ1bmN0aW9uIOKAmHZvaWQgZXh0ZW5zaW9uczo6U2NvcGVkVGVzdERpYWxvZ0F1dG9D b25maXJtOjpzZXRfanVzdGlmaWNhdGlvbihjb25zdCBzdHJpbmcmKeKAmToKKyAgICAuLi8uLi9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2M6NjY6ODog ZXJyb3I6IOKAmHN0cmNweeKAmSBpcyBub3QgYSBtZW1iZXIgb2Yg4oCYc3Rk4oCZCisgICAgICAg NjYgfCAgIHN0ZDo6c3RyY3B5KGdfZXh0ZW5zaW9uX2RpYWxvZ19qdXN0aWZpY2F0aW9uLCBqdXN0 aWZpY2F0aW9uLmNfc3RyKCkpOworICAgICAgICAgIHwgICAgICAgIF5+fn5+fgorCitCdWc6IDk1 NzUxOQorQ2hhbmdlLUlkOiBJMzEzYzM4ZjIyY2FiNTk5ZmI4ZjBlNGEzMzllODE0M2FmNWJkYTNl ZQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20v Yy9jaHJvbWl1bS9zcmMvKy8zMDQxMDAxCitSZXZpZXdlZC1ieTogRGF2aWQgQmVydG9uaSA8ZGJl cnRvbmlAY2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IEJlbiBXZWxscyA8YmVud2VsbHNAY2hy b21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBKb3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxp YS5jb20+CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTA1NjM0fQor LS0tCisgZXh0ZW5zaW9ucy9icm93c2VyL2V4dGVuc2lvbl9kaWFsb2dfYXV0b19jb25maXJtLmNj IHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9l eHRlbnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MgYi9leHRl bnNpb25zL2Jyb3dzZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKK2luZGV4IGFk YjRhYzNmOTJlYzguLmJlOGIxNjFiYzE2NTggMTAwNjQ0CistLS0gYS9leHRlbnNpb25zL2Jyb3dz ZXIvZXh0ZW5zaW9uX2RpYWxvZ19hdXRvX2NvbmZpcm0uY2MKKysrKyBiL2V4dGVuc2lvbnMvYnJv d3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29uZmlybS5jYworQEAgLTQsNiArNCw3IEBACisg CisgI2luY2x1ZGUgImV4dGVuc2lvbnMvYnJvd3Nlci9leHRlbnNpb25fZGlhbG9nX2F1dG9fY29u ZmlybS5oIgorIAorKyNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5PgorIAor ICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvOGFlOTllZTQ0N2NmNWYwMTYwZWE0YWU5NzhjZGYzN2Y1ZGNlY2QxZS5wYXRjaCBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy84YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVk Y2VjZDFlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTUx Zjc2YTRiM2MwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzhh ZTk5ZWU0NDdjZjVmMDE2MGVhNGFlOTc4Y2RmMzdmNWRjZWNkMWUucGF0Y2gKQEAgLTAsMCArMSwz NiBAQAorRnJvbSA4YWU5OWVlNDQ3Y2Y1ZjAxNjBlYTRhZTk3OGNkZjM3ZjVkY2VjZDFlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxp YS5jb20+CitEYXRlOiBXZWQsIDIxIEp1bCAyMDIxIDA4OjM2OjIwICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdIElXWVU6IG1pc3NpbmcgbWVtb3J5IGluY2x1ZGUgZm9yIHVuaXF1ZV9wdHIgdXNhZ2Ug aW4KKyBjbGFzc19wcm9wZXJ0eS5oCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CisKK0ZpeCBHQ0MgYnVpbGQgYnJlYWthZ2UgYmVjYXVzZSBvZiBtaXNzaW5nIGluY2xpZGU6Cisu Ly4uL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaDoxMjA6NTg6IGVycm9yOiDigJhzdGQ6OnVuaXF1 ZV9wdHLigJkgaGFzIG5vdCBiZWVuIGRlY2xhcmVkCisgIDEyMCB8ICAgVCogU2V0UHJvcGVydHko Y29uc3QgQ2xhc3NQcm9wZXJ0eTxUKj4qIHByb3BlcnR5LCBzdGQ6OnVuaXF1ZV9wdHI8VD4gdmFs dWUpOworICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+CisKK0J1ZzogODE5Mjk0CitDaGFuZ2UtSWQ6IEk0NmI5 MjE4NzY3MDJiOGQ0NDY3NDY4OWJiYjVhY2RjMTA3ZGIyMWU1CitSZXZpZXdlZC1vbjogaHR0cHM6 Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMwNDEw MzAKK1Jldmlld2VkLWJ5OiBQZXRlciBCb3N0csO2bSA8cGJvc0BjaHJvbWl1bS5vcmc+CitDb21t aXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNvbT4KK0NyLUNvbW1p dC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDM4MjB9CistLS0KKyB1aS9iYXNlL2Ns YXNzX3Byb3BlcnR5LmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKwor ZGlmZiAtLWdpdCBhL3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaCBiL3VpL2Jhc2UvY2xhc3NfcHJv cGVydHkuaAoraW5kZXggZjdiMmY1NTk4NThiNy4uODhiNDkzODZhZTBhZCAxMDA2NDQKKy0tLSBh L3VpL2Jhc2UvY2xhc3NfcHJvcGVydHkuaAorKysrIGIvdWkvYmFzZS9jbGFzc19wcm9wZXJ0eS5o CitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUgPG1h cD4KKysjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzZXQ+CisgI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzLzljNjc1YTEw NTE1NTFhZjI2YWFlZmM2ZmNkMzM1MDJhNTE3MjUzOTYucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvOWM2NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5Ni5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJhYjY0YTgxNGIyZgotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy85YzY3NWExMDUxNTUxYWYy NmFhZWZjNmZjZDMzNTAyYTUxNzI1Mzk2LnBhdGNoCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb20gOWM2 NzVhMTA1MTU1MWFmMjZhYWVmYzZmY2QzMzUwMmE1MTcyNTM5NiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEpvc2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgorRGF0ZTog TW9uLCAyNiBKdWwgMjAyMSAxNzoxNDo1MSArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lVOiBt aXNzaW5nIGluY2x1ZGUgZm9yIHN0ZDo6dmVjdG9yIHVzYWdlIGluIGRldnRvb2xzCisgZW1iZWRk ZWQgbWVzc2FnZSBkaXNwYXRjaGVyLgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAorCitGaXggR0NDIGJ1aWxkIGJyZWFrYWdlOgorICAgIC4uLy4uL2Nocm9tZS9icm93c2VyL2Rl dnRvb2xzL2RldnRvb2xzX2VtYmVkZGVyX21lc3NhZ2VfZGlzcGF0Y2hlci5oOjExNjozNjogZXJy b3I6IOKAmHZlY3RvcuKAmSBpbiBuYW1lc3BhY2Ug4oCYc3Rk4oCZIGRvZXMgbm90IG5hbWUgYSB0 ZW1wbGF0ZSB0eXBlCisgICAgICAxMTYgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBz dGQ6OnZlY3RvcjxiYXNlOjpWYWx1ZT4mIHBhcmFtcykgPSAwOworICAgICAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KKworQnVnOiA4MTkyOTQKK0NoYW5n ZS1JZDogSTM3OWJmMTQ0MTZjM2JmZDNjMGNkYWM3YmIyNTQyYjc5NzgxMjYxZWMKK1Jldmlld2Vk LW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0v c3JjLysvMzA0MTE1NgorUmV2aWV3ZWQtYnk6IEpvZSBNYXNvbiA8am9lbm90Y2hhcmxlc0BjaHJv bWl1bS5vcmc+CitDb21taXQtUXVldWU6IEpvc8OpIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlh LmNvbT4KK0NyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM5MDUzMDB9Cist LS0KKyBjaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rp c3BhdGNoZXIuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZm IC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvZGV2dG9vbHMvZGV2dG9vbHNfZW1iZWRkZXJfbWVzc2Fn ZV9kaXNwYXRjaGVyLmggYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0b29sc19lbWJlZGRl cl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAoraW5kZXggMTJmODUwMGI3ODExZC4uNDAwNzExMmYzOTQx MCAxMDA2NDQKKy0tLSBhL2Nocm9tZS9icm93c2VyL2RldnRvb2xzL2RldnRvb2xzX2VtYmVkZGVy X21lc3NhZ2VfZGlzcGF0Y2hlci5oCisrKysgYi9jaHJvbWUvYnJvd3Nlci9kZXZ0b29scy9kZXZ0 b29sc19lbWJlZGRlcl9tZXNzYWdlX2Rpc3BhdGNoZXIuaAorQEAgLTgsNiArOCw3IEBACisgI2lu Y2x1ZGUgPG1hcD4KKyAjaW5jbHVkZSA8bWVtb3J5PgorICNpbmNsdWRlIDxzdHJpbmc+CisrI2lu Y2x1ZGUgPHZlY3Rvcj4KKyAKKyAjaW5jbHVkZSAiYmFzZS9jYWxsYmFjay5oIgorICNpbmNsdWRl ICJ1aS9nZngvZ2VvbWV0cnkvaW5zZXRzLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkNTIyOGNlN2I3NmEuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE0NCArMCwwIEBACi0jIFBhdGNoIG1hZGUgYnkgS2V2aW4gS29mbGVyIDxLZXZpbkB0aWdj Yy50aWNhbGMub3JnPgotIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dp P2lkPTE5MDQ2NTIKLQotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MuZnN0YXRmaXggY2hyb21p dW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGlu ZV9wb2xpY3kuY2MKLS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNl bGluZV9wb2xpY3kuY2MuZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxMTo0NS40Mjc0MzYzOTggLTA1 MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xp Y3kuY2MJMjAyMS0wMS0yNSAxMDoxMjo1MS4zMzc2OTkwMDMgLTA1MDAKLUBAIC0yNTcsNiArMjU3 LDE4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKLSAgICAgcmV0 dXJuIFJlc3RyaWN0S2lsbFRhcmdldChjdXJyZW50X3BpZCwgc3lzbm8pOwotICAgfQotIAotKyNp ZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgIGlmIChzeXNubyA9PSBfX05SX25ld2ZzdGF0 YXQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0rI2VuZGlm Ci0rCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICBpZiAoc3lzbm8gPT0gX19OUl9m c3RhdGF0NjQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0rICB9Ci0r I2VuZGlmCi0rCi0gICBpZiAoU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShzeXNubykgfHwKLSAg ICAgICBTeXNjYWxsU2V0czo6SXNDdXJyZW50RGlyZWN0b3J5KHN5c25vKSkgewotICAgICByZXR1 cm4gRXJyb3IoZnNfZGVuaWVkX2Vycm5vKTsKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45 Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZz dGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCi0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTM6MTAu MTc5Nzc0MDgxIC0wNTAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMv c2lnc3lzX2hhbmRsZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTY6MTguNzkwNTI1NzQ2IC0wNTAwCi1A QCAtNiw2ICs2LDggQEAKLSAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5oIgotIAotKyNpbmNsdWRlIDxlcnJuby5oPgotKyNpbmNs dWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAjaW5jbHVkZSA8c3RkaW50Lmg+ Ci0gI2luY2x1ZGUgPHN0cmluZy5oPgotQEAgLTM1NSw2ICszNTcsMzUgQEAgaW50cHRyX3QgU0lH U1lTU2NoZWRIYW5kbGVyKGNvbnN0IHN0cnVjdAotICAgcmV0dXJuIC1FTk9TWVM7Ci0gfQotIAot K2ludHB0cl90IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBf ZGF0YSYgYXJncywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpIHsK LSsgIHN3aXRjaCAoYXJncy5ucikgewotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsg ICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19OUl9mc3Rh dGF0NjQpCi0rICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0rI2VuZGlmCi0rI2lmIGRlZmluZWQo X19OUl9uZXdmc3RhdGF0KSB8fCBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAgIGlmICgq cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyICo+KGFyZ3MuYXJnc1sxXSkgPT0gJ1wwJwotKyAg ICAgICAgICAmJiBhcmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8dWludDY0X3Q+KEFUX0VNUFRZ X1BBVEgpKSB7Ci0rICAgICAgICByZXR1cm4gc2FuZGJveDo6c3lzX2ZzdGF0NjQoc3RhdGljX2Nh c3Q8aW50PihhcmdzLmFyZ3NbMF0pLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHN0YXQ2NCAqPihhcmdzLmFyZ3NbMl0pKTsKLSsg ICAgICB9IGVsc2UgewotKyAgICAgICAgZXJybm8gPSBFQUNDRVM7Ci0rICAgICAgICByZXR1cm4g LTE7Ci0rICAgICAgfQotKyAgICAgIGJyZWFrOwotKyNlbmRpZgotKyAgfQotKwotKyAgQ3Jhc2hT SUdTWVNfSGFuZGxlcihhcmdzLCBhdXgpOwotKwotKyAgLy8gU2hvdWxkIG5ldmVyIGJlIHJlYWNo ZWQuCi0rICBSQVdfQ0hFQ0soZmFsc2UpOwotKyAgcmV0dXJuIC1FTk9TWVM7Ci0rfQotKwotIGJw Zl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVMoKSB7Ci0gICByZXR1cm4gYnBmX2RzbDo6VHJh cChDcmFzaFNJR1NZU19IYW5kbGVyLCBOVUxMKTsKLSB9Ci1AQCAtMzg3LDYgKzQxOCwxMCBAQCBi cGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJR1NZUygpCi0gICByZXR1cm4gYnBmX2Rz bDo6VHJhcChTSUdTWVNTY2hlZEhhbmRsZXIsIE5VTEwpOwotIH0KLSAKLSticGZfZHNsOjpSZXN1 bHRFeHByIFJld3JpdGVGc3RhdGF0U0lHU1lTKCkgewotKyAgcmV0dXJuIGJwZl9kc2w6OlRyYXAo U0lHU1lTRnN0YXRhdEhhbmRsZXIsIE5VTEwpOwotK30KLSsKLSB2b2lkIEFsbG9jYXRlQ3Jhc2hL ZXlzKCkgewotICNpZiAhZGVmaW5lZChPU19OQUNMX05PTlNGSSkKLSAgIGlmIChzZWNjb21wX2Ny YXNoX2tleSkKLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmguZnN0YXRmaXggY2hyb21pdW0tODgu MC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxl cnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5k bGVycy5oLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTY6MzYuOTgyNTk4MjM2IC0wNTAwCi0rKysg Yi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmgJMjAy MS0wMS0yNSAxMDoxODo0NS43MDUxMTEwMjcgLTA1MDAKLUBAIC02Miw2ICs2MiwxMCBAQCBTQU5E Qk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNQdHJhY2VGYWlsCi0gLy8gc2NoZWRfc2V0cGFyYW0o KSwgc2NoZWRfc2V0c2NoZWR1bGVyKCkKLSBTQU5EQk9YX0VYUE9SVCBpbnRwdHJfdCBTSUdTWVNT Y2hlZEhhbmRsZXIoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQqIGF1eCk7Ci0rLy8gSWYgdGhlIGZz dGF0YXQgc3lzY2FsbCBpcyBhY3R1YWxseSBhIGRpc2d1aXNlZCBmc3RhdCwgY2FsbHMgdGhlIHJl Z3VsYXIgZnN0YXQKLSsvLyBzeXNjYWxsLCBvdGhlcndpc2UsIGNyYXNoZXMgaW4gdGhlIHNhbWUg d2F5IGFzIENyYXNoU0lHU1lTX0hhbmRsZXIuCi0rU0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lH U1lTRnN0YXRhdEhhbmRsZXIoY29uc3Qgc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLCAK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgp OwotIAotIC8vIFZhcmlhbnRzIG9mIHRoZSBhYm92ZSBmdW5jdGlvbnMgZm9yIHVzZSB3aXRoIGJw Zl9kc2wuCi0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZUygp OwotQEAgLTcyLDYgKzc2LDcgQEAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBD cmFzaAotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNGdXRl eCgpOwotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdTWVNQdHJh Y2UoKTsKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVTY2hlZFNJ R1NZUygpOwotK1NBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZUZzdGF0 YXRTSUdTWVMoKTsKLSAKLSAvLyBBbGxvY2F0ZXMgYSBjcmFzaCBrZXkgc28gdGhhdCBTZWNjb21w IGluZm9ybWF0aW9uIGNhbiBiZSByZWNvcmRlZC4KLSB2b2lkIEFsbG9jYXRlQ3Jhc2hLZXlzKCk7 Ci1kaWZmIC11cCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9z eXNjYWxsX3dyYXBwZXJzLmNjLmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94 L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLS0tLSBhL3NhbmRib3gvbGludXgv c2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjE4OjUz LjMwNzE0MTMxMSAtMDUwMAotKysrIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTk6NDYuOTgyMzU1MjkzIC0wNTAwCi1AQCAtMjYxLDQg KzI2MSwxMyBAQCBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAotIAotICNlbmRpZiAgLy8g ZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQotIAotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0 YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1ZikKLSt7Ci0rI2lmIGRlZmluZWQoX19OUl9m c3RhdDY0KQotKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0NjQsIGZkLCBidWYpOwotKyNl bHNlCi0rICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0YXQsIGZkLCBidWYpOwotKyNlbmRpZgot K30KLSsKLSB9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAotZGlmZiAtdXAgY2hyb21pdW0tODguMC40 MzI0Ljk2L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZzdGF0Zml4 IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3Jh cHBlcnMuaAotLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgu ZnN0YXRmaXgJMjAyMS0wMS0yNSAxMDoxOTo1My4xMTUzNzk3NDEgLTA1MDAKLSsrKyBiL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCTIwMjEtMDEtMjUgMTA6MjA6NDUu NDg1NTg4NDIxIC0wNTAwCi1AQCAtMTcsNiArMTcsNyBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKLSBz dHJ1Y3QgcmxpbWl0NjQ7Ci0gc3RydWN0IGNhcF9oZHI7Ci0gc3RydWN0IGNhcF9kYXRhOwotK3N0 cnVjdCBzdGF0NjQ7Ci0gCi0gbmFtZXNwYWNlIHNhbmRib3ggewotIAotQEAgLTg0LDYgKzg1LDkg QEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZwotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc2lnYWN0aW9uKiBvbGRhY3QpOwot IAotKy8vIFJlY2VudCBnbGliYyByZXdyaXRlcyBmc3RhdCB0byBmc3RhdGF0LgotK1NBTkRCT1hf RVhQT1JUIGludCBzeXNfZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7Ci0rCi0g fSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKLSAKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VS VklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTkzLWZmbXBlZy00LjQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tOTMtZmZtcGVnLTQuNC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmYwZWM3MzZmOThiYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoCkBAIC0wLDAg KzEsMzYgQEAKK2RpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjIGIv bWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYworaW5kZXggYWM0NzEzYjA3MjY4Li40OTJh OWEzN2QwOTYgMTAwNjQ0CistLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCisr KysgYi9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCitAQCAtNDI3LDExICs0MjcsMTEg QEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0 IHBhY2tldCkgeworICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7CisgCisg ICBpZiAodHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKKy0gICAgc2l6ZV90IGlkX3Np emUgPSAwOworKyAgICBpbnQgaWRfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIGlkX2RhdGEgPSBh dl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RB VEFfV0VCVlRUX0lERU5USUZJRVIsICZpZF9zaXplKTsKKyAKKy0gICAgc2l6ZV90IHNldHRpbmdz X3NpemUgPSAwOworKyAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7CisgICAgIHVpbnQ4X3QqIHNl dHRpbmdzX2RhdGEgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKKyAgICAgICAgIHBhY2tldC5n ZXQoKSwgQVZfUEtUX0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7CisgCitA QCAtNDQzLDcgKzQ0Myw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tl dChTY29wZWRBVlBhY2tldCBwYWNrZXQpIHsKKyAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZlcjo6 Q29weUZyb20ocGFja2V0LT5kYXRhLCBwYWNrZXQtPnNpemUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkpOwor ICAgfSBlbHNlIHsKKy0gICAgc2l6ZV90IHNpZGVfZGF0YV9zaXplID0gMDsKKysgICAgaW50IHNp ZGVfZGF0YV9zaXplID0gMDsKKyAgICAgdWludDhfdCogc2lkZV9kYXRhID0gYXZfcGFja2V0X2dl dF9zaWRlX2RhdGEoCisgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX01BVFJPU0tB X0JMT0NLQURESVRJT05BTCwgJnNpZGVfZGF0YV9zaXplKTsKKyAKK0BAIC01MDQsNyArNTA0LDcg QEAgdm9pZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0 IHBhY2tldCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2tl dC0+c2l6ZSAtIGRhdGFfb2Zmc2V0KTsKKyAgICAgfQorIAorLSAgICBzaXplX3Qgc2tpcF9zYW1w bGVzX3NpemUgPSAwOworKyAgICBpbnQgc2tpcF9zYW1wbGVzX3NpemUgPSAwOworICAgICBjb25z dCB1aW50MzJfdCogc2tpcF9zYW1wbGVzX3B0ciA9CisgICAgICAgICByZWludGVycHJldF9jYXN0 PGNvbnN0IHVpbnQzMl90Kj4oYXZfcGFja2V0X2dldF9zaWRlX2RhdGEoCisgICAgICAgICAgICAg cGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9TS0lQX1NBTVBMRVMsICZza2lwX3NhbXBsZXNfc2l6 ZSkpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkzLXBk Zml1bS1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTkz LXBkZml1bS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uNzJmMmFiZDNlN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTkzLXBkZml1bS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTE3IEBA CitGcm9tIDdhNjI4OWM1YWNlNTJjZjg4ZjBlMTljYWE1Zjc4YjdjMTVkMGU3YTYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBNaWtsb3MgVmFqbmEgPHZtaWtsb3NAY29sbGFib3JhLmNv LnVrPgorRGF0ZTogV2VkLCAyMSBKdWwgMjAyMSAxNzo0MjozMCArMDAwMAorU3ViamVjdDogW1BB VENIXSBmeGNvZGVjLCBmeGdlOiBmaXggbWlzc2luZyBpbmNsdWRlcyB3aXRoIGxpYnN0ZGMrKwor CitUaGVzZSBtaXNzaW5nIGluY2x1ZGVzIGJyZWFrIHRoZSBidWlsZCB3aXRoIGdjYy9saWJzdGRj KyssIHRoZXkgd2VyZSBub3QKK2EgcHJvYmxlbSBpbiBwcmFjdGljZSB3aXRoIGNsYW5nL2xpYmMr Ky4KKworQ2hhbmdlLUlkOiBJNDAwMTNmOTdiYTdhYjA2ZjMyYWE1OWY4N2IwNGFlYzA2YTE5NDc4 YworUmV2aWV3ZWQtb246IGh0dHBzOi8vcGRmaXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mv cGRmaXVtLysvODMyMTAKK0NvbW1pdC1RdWV1ZTogTGVpIFpoYW5nIDx0aGVzdGlnQGNocm9taXVt Lm9yZz4KK1Jldmlld2VkLWJ5OiBMZWkgWmhhbmcgPHRoZXN0aWdAY2hyb21pdW0ub3JnPgorLS0t CisKK2RpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBl Z21vZHVsZS5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21v ZHVsZS5jcHAKK2luZGV4IGNlYTA2NzkuLjAzNmYyNTAgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9wZGZpdW0vY29yZS9meGNvZGVjL2pwZWcvanBlZ21vZHVsZS5jcHAKKysrKyBiL3RoaXJkX3Bh cnR5L3BkZml1bS9jb3JlL2Z4Y29kZWMvanBlZy9qcGVnbW9kdWxlLmNwcAorQEAgLTcsNiArNyw3 IEBACisgI2luY2x1ZGUgImNvcmUvZnhjb2RlYy9qcGVnL2pwZWdtb2R1bGUuaCIKKyAKKyAjaW5j bHVkZSA8c2V0am1wLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorIAorICNpbmNsdWRlIDxtZW1v cnk+CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVt L2NvcmUvZnhjb2RlYy9qcHgvY2pweF9kZWNvZGVyLmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9j b3JlL2Z4Y29kZWMvanB4L2NqcHhfZGVjb2Rlci5jcHAKK2luZGV4IGM2Njk4NWEuLjljMTEyMmIg MTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4X2Rl Y29kZXIuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGNvZGVjL2pweC9janB4 X2RlY29kZXIuY3BwCitAQCAtNiw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGNvZGVj L2pweC9janB4X2RlY29kZXIuaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1 ZGUgPGFsZ29yaXRobT4KKyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDx1dGlsaXR5Pgor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvY2Z4X2NsaXByZ24uY3Bw IGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhfY2xpcHJnbi5jcHAKK2luZGV4IDUz NjlkNTIuLmQxOTg4NTIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdl L2NmeF9jbGlwcmduLmNwcAorKysrIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9jZnhf Y2xpcHJnbi5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvY2Z4 X2NsaXByZ24uaCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxp dHk+CisgCisgI2luY2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcGNvbXBvc2Vy LmNwcCBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBjb21wb3Nl ci5jcHAKK2luZGV4IDZmOWI0MjAuLjBmMWZmYWUgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0eS9w ZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCisrKysgYi90aGlyZF9w YXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIuY3BwCitAQCAtNiw2 ICs2LDggQEAKKyAKKyAjaW5jbHVkZSAiY29yZS9meGdlL2RpYi9jZnhfYml0bWFwY29tcG9zZXIu aCIKKyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgImNvcmUvZnhnZS9jZnhf Y2xpcHJnbi5oIgorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAor ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBz dG9yZXIuY3BwIGIvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0 b3Jlci5jcHAKK2luZGV4IGY1N2MwMGUuLjQ1YTBhMTggMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfYml0bWFwc3RvcmVyLmNwcAorKysrIGIvdGhpcmRf cGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2JpdG1hcHN0b3Jlci5jcHAKK0BAIC02LDYg KzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2NmeF9iaXRtYXBzdG9yZXIuaCIK KyAKKysjaW5jbHVkZSA8c3RyaW5nLmg+CisrCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCisgI2lu Y2x1ZGUgImNvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmgiCitkaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwIGIvdGhpcmRfcGFydHkv cGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYmJhc2UuY3BwCitpbmRleCA0ZWMwZGRiLi5hMWRl MmZiIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2Rp YmJhc2UuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGli YmFzZS5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGliL2Nm eF9kaWJiYXNlLmgiCisgCisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworICNpbmNsdWRlIDxhbGdv cml0aG0+CisgI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KK2RpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfZGliaXRtYXAuY3BwIGIv dGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X2RpYml0bWFwLmNwcAoraW5kZXgg ZDdjY2Y2Yy4uOTRlOGFjYyAxMDA2NDQKKy0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKKysrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4 Z2UvZGliL2NmeF9kaWJpdG1hcC5jcHAKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlICJj b3JlL2Z4Z2UvZGliL2NmeF9kaWJpdG1hcC5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysK KyAjaW5jbHVkZSA8bGltaXRzPgorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUgPHV0aWxp dHk+CitkaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL2NvcmUvZnhnZS9kaWIvY2Z4X3Nj YW5saW5lY29tcG9zaXRvci5jcHAgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9j Znhfc2NhbmxpbmVjb21wb3NpdG9yLmNwcAoraW5kZXggZTgzNjJkNy4uYzA0YzZkYyAxMDA2NDQK Ky0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS9jb3JlL2Z4Z2UvZGliL2NmeF9zY2FubGluZWNvbXBv c2l0b3IuY3BwCisrKysgYi90aGlyZF9wYXJ0eS9wZGZpdW0vY29yZS9meGdlL2RpYi9jZnhfc2Nh bmxpbmVjb21wb3NpdG9yLmNwcAorQEAgLTYsNiArNiw4IEBACisgCisgI2luY2x1ZGUgImNvcmUv ZnhnZS9kaWIvY2Z4X3NjYW5saW5lY29tcG9zaXRvci5oIgorIAorKyNpbmNsdWRlIDxzdHJpbmcu aD4KKysKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorIAorICNpbmNsdWRlICJjb3JlL2Z4Z2UvZGli L2Z4X2RpYi5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2N1cnNlZF5V c2NvcGVkX2ZpbGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Vyc2VkXlVzY29w ZWRfZmlsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJl NTQzM2Y3YWJjZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j dXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBhL2Jhc2UvZmls ZXMvc2NvcGVkX2ZpbGVfbGludXguY2Mub3JpZworKysrIGIvYmFzZS9maWxlcy9zY29wZWRfZmls ZV9saW51eC5jYworQEAgLTc3LDE1ICs3NywzIEBACisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBi YXNlCistCistZXh0ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJp YnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBm ZCkgeworLSAgaWYgKGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3Jj ZWQpCistICAgIENyYXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xv c2UoZmQpOworLX0KKy0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9maXgtY3Jhc2gtaW4tVGhlbWVTZXJ2aWNlLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMmE2OTZhM2E3MzUuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWNyYXNoLWluLVRoZW1lU2VydmljZS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gYzJkMDEzM2Y0N2FmYjU5YjRjZTY0 ZTQyMjE1ZDFkMDUzZjE1MjUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBo YW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFR1ZSwgMTMgQXByIDIw MjEgMjM6MjE6NDIgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gZml4IGNyYXNoIGluIFRoZW1lU2Vy dmljZQotCi1UaGVtZVN5bmNhYmxlU2VydmljZSBhbmQgVGhlbWVTZXJ2aWNlIGFyZSBvd25lZCBi eSBlYWNoIG90aGVyLiBPbgotZGVzdHJ1Y3Rpb24gb2YgVGhlbWVTZXJ2aWNlLCBUaGVtZVN5bmNh YmxlU2VydmljZSBnZXRzIGRlc3RydWN0ZWQgYXMKLXdlbGwsIGJ1dCBjYWxscyBSZW1vdmVPYnNl cnZlciBvZiBwYXJ0bHkgZGVzdHJ1Y3RlZCBUaGVtZVNlcnZpY2Ugb2JqZWN0LgotVG8gYXZvaWQg YWxyZWFkeSBkZXN0cnVjdGVkIHxvYnNlcnZlcnNffCBsaXN0LCBtb3ZlIGl0IGJlZm9yZQotfHRo ZW1lX3N5bmNhYmxlX3NlcnZpY2VffCBkZWZpbml0aW9uLgotCi1CdWc6IDExOTA1NjEKLUNoYW5n ZS1JZDogSTRkYzJjOTkwZDU4OTA3MWQ5N2I3ZmE3MzdhZmVmNTQ0NjNjODQ3NTEKLVJldmlld2Vk LW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0v c3JjLysvMjgyMTMxMQotQ29tbWl0LVF1ZXVlOiBQZXRlciBLYXN0aW5nIDxwa2FzdGluZ0BjaHJv bWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogUGV0ZXIgS2FzdGluZyA8cGthc3RpbmdAY2hyb21pdW0u b3JnPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MjE2NH0KLS0t LQotIGNocm9tZS9icm93c2VyL3RoZW1lcy90aGVtZV9zZXJ2aWNlLmggfCA2ICsrKystLQotIDEg ZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaCBjaHJvbWUvYnJvd3Nlci90 aGVtZXMvdGhlbWVfc2VydmljZS5oCi1pbmRleCA1OTJkNDBhZTlkZTBmLi4zMzdkZmFjOWEwNDBm IDEwMDY0NAotLS0tIGEvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotKysr IGIvY2hyb21lL2Jyb3dzZXIvdGhlbWVzL3RoZW1lX3NlcnZpY2UuaAotQEAgLTI5OSw2ICsyOTks MTAgQEAgY2xhc3MgVGhlbWVTZXJ2aWNlIDogcHVibGljIEtleWVkU2VydmljZSwKLSAgIC8vIFRo ZSBudW1iZXIgb2YgaW5mb2JhcnMgY3VycmVudGx5IGRpc3BsYXllZC4KLSAgIGludCBudW1iZXJf b2ZfcmVpbnN0YWxsZXJzXyA9IDA7Ci0gCi0rICAvLyBEZWNsYXJlZCBiZWZvcmUgfHRoZW1lX3N5 bmNhYmxlX3NlcnZpY2VffCwgYmVjYXVzZSBUaGVtZVN5bmNhYmxlU2VydmljZQotKyAgLy8gcmVt b3ZlcyBpdHNlbGYgZnJvbSB0aGUgfG9ic2VydmVyc198IGxpc3Qgb24gZGVzdHJ1Y3Rpb24uCi0r ICBiYXNlOjpPYnNlcnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0r Ci0gICBzdGQ6OnVuaXF1ZV9wdHI8VGhlbWVTeW5jYWJsZVNlcnZpY2U+IHRoZW1lX3N5bmNhYmxl X3NlcnZpY2VfOwotIAotICNpZiBCVUlMREZMQUcoRU5BQkxFX0VYVEVOU0lPTlMpCi1AQCAtMzIw LDggKzMyNCw2IEBAIGNsYXNzIFRoZW1lU2VydmljZSA6IHB1YmxpYyBLZXllZFNlcnZpY2UsCi0g ICBTY29wZWRPYnNlcnZlcjx1aTo6TmF0aXZlVGhlbWUsIHVpOjpOYXRpdmVUaGVtZU9ic2VydmVy PgotICAgICAgIG5hdGl2ZV90aGVtZV9vYnNlcnZlcl97dGhpc307Ci0gCi0tICBiYXNlOjpPYnNl cnZlckxpc3Q8VGhlbWVTZXJ2aWNlT2JzZXJ2ZXI+IG9ic2VydmVyc187Ci0tCi0gICBiYXNlOjpX ZWFrUHRyRmFjdG9yeTxUaGVtZVNlcnZpY2U+IHdlYWtfcHRyX2ZhY3Rvcnlfe3RoaXN9OwotIAot ICAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFRoZW1lU2VydmljZSk7CmRpZmYgLS1naXQgYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXJyb3dpbmctY2FzdC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmFmZDQyYTE0ODlhZQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAg LTAsMCArMSw1MyBAQAorLS0tIGEvYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKKysrKyBi L2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCitAQCAtMjMsMTQgKzIzLDE0IEBACisgCisg ICAvLyBOb3QgYWxsIHBvc3NpYmxlIHxzdGF0ZnNfYnVmLmZfdHlwZXwgdmFsdWVzIGFyZSBpbiBs aW51eC9tYWdpYy5oLgorICAgLy8gTWlzc2luZyB2YWx1ZXMgYXJlIGNvcGllZCBmcm9tIHRoZSBz dGF0ZnMgbWFuIHBhZ2UuCistICBzd2l0Y2ggKHN0YXRmc19idWYuZl90eXBlKSB7CisrICBzd2l0 Y2ggKHN0YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdGZzX2J1Zi5mX3R5cGUpKSB7CisgICAgIGNh c2UgMDoKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNXzA7CisgICAgICAgYnJlYWs7CisgICAg IGNhc2UgRVhUMl9TVVBFUl9NQUdJQzogIC8vIEFsc28gZXh0MyBhbmQgZXh0NAorICAgICBjYXNl IE1TRE9TX1NVUEVSX01BR0lDOgorICAgICBjYXNlIFJFSVNFUkZTX1NVUEVSX01BR0lDOgorLSAg ICBjYXNlIHN0YXRpY19jYXN0PGludD4oQlRSRlNfU1VQRVJfTUFHSUMpOgorKyAgICBjYXNlIEJU UkZTX1NVUEVSX01BR0lDOgorICAgICBjYXNlIDB4NTM0NjU0NEU6ICAvLyBOVEZTCisgICAgIGNh c2UgMHg1ODQ2NTM0MjogIC8vIFhGUworICAgICBjYXNlIDB4MzE1MzQ2NEE6ICAvLyBKRlMKK0BA IC00MCwxNCArNDAsMTQgQEAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAg ICBicmVhazsKKyAgICAgY2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nh c3Q8aW50PigweEZGNTM0RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8g Q0lGUworICAgICAgICp0eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAg ICBjYXNlIENPREFfU1VQRVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RB OworICAgICAgIGJyZWFrOworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01B R0lDKToKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2Fz ZSBIVUdFVExCRlNfTUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1Q RlNfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJl YWs7CistLS0gYS9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYworKysrIGIvYmFzZS9zeXN0 ZW0vc3lzX2luZm9fcG9zaXguY2MKK0BAIC0xMDAsMTAgKzEwMCwxMCBAQAorICAgaWYgKEhBTkRM RV9FSU5UUihzdGF0ZnMocGF0aC52YWx1ZSgpLmNfc3RyKCksICZzdGF0cykpICE9IDApCisgICAg IHJldHVybiBmYWxzZTsKKyAKKy0gIHN3aXRjaCAoc3RhdHMuZl90eXBlKSB7CisrICBzd2l0Y2gg KHN0YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdHMuZl90eXBlKSkgeworICAgICBjYXNlIFRNUEZT X01BR0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0g ICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExC RlNfTUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgICAgcmV0dXJuIHRydWU7Cisg ICB9CisgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvbGludXgtc2FuZGJveC1maXgtZnN0YXRhdC1jcmFzaC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9saW51eC1zYW5kYm94LWZpeC1mc3RhdGF0LWNyYXNoLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGE5OWYxZGUyODc0Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpbnV4LXNhbmRib3gtZml4LWZzdGF0 YXQtY3Jhc2gucGF0Y2gKQEAgLTAsMCArMSwxMzg0IEBACitGcm9tIDRiNDM4MzIzZDY4ODQwNDUz YjVlZjgyNmMzOTk3NTY4ZTJlMGU4YzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBN YXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorRGF0ZTogTW9uLCAxOSBKdWwg MjAyMSAxNDowMzoxMyArMDAwMAorU3ViamVjdDogW1BBVENIXSBSZWxhbmQgIlJlbGFuZCAiTGlu dXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdAorIGtlcm5lbF9zdGF0IiIKKwor VGhpcyByZXZlcnRzIGNvbW1pdCBmZjI3N2E1MmVjZTBiMjE2NjE3ZDc3MGYyMDFlZDY2OTU1ZmU3 MGI5LgorCitSZWFzb24gZm9yIHJldmVydDogcmVsYW5kCisKK1RoZSBmaXggaW5jbHVkZWQgaW4g dGhlIHJlbGFuZCBpcyB0aGF0IGZzdGF0YXQ2NCgpIG5lZWRzIHRvIGJlCithbGxvd2VkIGluIHRo ZSBicm9rZXIgcHJvY2VzcydzIHNlY2NvbXAgcG9saWN5LgorCitUaGlzIENMIGFsc28gaW5jbHVk ZXMgc29tZSBleHRyYSB0ZXN0cyB0aGF0IHRoZSBrZXJuZWxfc3RhdCBzdHJ1Y3R1cmVzCittYXRj aCB0aGUgbGF5b3V0IHRoZSBrZXJuZWwgZXhwZWN0cy4KKworQnVnOiAxMTY0OTc1LCAxMTk5NDMx CitUZXN0OiB0cm9nZG9yIENocm9tZWJvb2sgc3VjY2Vzc2Z1bGx5IGJvb3RzIGFuZCBhbGxvd3Mg bG9naW4uCisKK09yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiBSZXZlcnQgIlJlbGFu ZCAiTGludXggc2FuZGJveCBzeXNjYWxsIGJyb2tlcjogdXNlIHN0cnVjdCBrZXJuZWxfc3RhdCIi Cis+Cis+IFRoaXMgcmV2ZXJ0cyBjb21taXQgY2ZmYmM0NDMyYWY3OWY3MjBhZTNjNzVkZmYzODBi ODUzNzAxYmQ2NC4KKz4KKz4gUmVhc29uIGZvciByZXZlcnQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1 bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTExOTk0MzEKKz4KKz4gT3JpZ2luYWwg Y2hhbmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gUmVsYW5kICJMaW51eCBzYW5kYm94IHN5c2NhbGwg YnJva2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0IgorPiA+Cis+ID4gVGhpcyByZXZlcnRzIGNv bW1pdCAyMzAzMGRjNjUwY2RmYTIyNjMxZjI1YmVmOTM3OTA1ZjI3ZjA2YTJjLgorPiA+Cis+ID4g T3JpZ2luYWwgY2hhbmdlJ3MgZGVzY3JpcHRpb246Cis+ID4gPiBSZXZlcnQgIkxpbnV4IHNhbmRi b3ggc3lzY2FsbCBicm9rZXI6IHVzZSBzdHJ1Y3Qga2VybmVsX3N0YXQiCis+ID4gPgorPiA+ID4g VGhpcyByZXZlcnRzIGNvbW1pdCA3ODRiMGZjZDhhM2NhNmJjZDNhY2I5Y2ZkNjI0ZWM5Y2JiYWMy Nzg5LgorPiA+ID4KKz4gPiA+IFJlYXNvbiBmb3IgcmV2ZXJ0OiBDYXVzaW5nIGZhaWx1cmUgaW4K Kz4gPiA+IFN0ZXAgInNhbmRib3hfbGludXhfdW5pdHRlc3RzIiBmYWlsaW5nIG9uIGJ1aWxkZXIg IkxpbnV4IENocm9taXVtT1MgTVNhbiBUZXN0cyIKKz4gPiA+IFNlZSBjcmJ1Zy5jb20vMTE5ODQ4 MAorPiA+ID4KKz4gPiA+IE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorPiA+ID4gPiBM aW51eCBzYW5kYm94IHN5c2NhbGwgYnJva2VyOiB1c2Ugc3RydWN0IGtlcm5lbF9zdGF0Cis+ID4g PiA+Cis+ID4gPiA+IFRoZSBzdHJ1Y3Qgc3RhdCB1c2VkIGluIGxpYmMgaXMgZGlmZmVyZW50IChp biBzaXplIGFuZCBmaWVsZCBvcmRlcmluZykKKz4gPiA+ID4gZnJvbSB0aGUgc3RydWN0dXJlIGFz c3VtZWQgYnkgdGhlIExpbnV4IGtlcm5lbC4gU28sIHdoZW4gZW11bGF0aW5nCis+ID4gPiA+IHN5 c3RlbSBjYWxscywgd2UgbmVlZCB0byB1c2UgdGhlIHN0cnVjdCBkZWZpbml0aW9uIHRoZSBrZXJu ZWwgZXhwZWN0cy4KKz4gPiA+ID4KKz4gPiA+ID4gVGhpcyBDTCBhZGRzIGxpbnV4X3N0YXQuaCB0 aGF0IGluY2x1ZGVzIGRlZmluaXRpb25zIG9mIHRoZSBkaWZmZXJlbnQKKz4gPiA+ID4ga2VybmVs IHN0cnVjdHMuCis+ID4gPiA+Cis+ID4gPiA+IENoYW5nZS1JZDogSTUzY2FkMzVjMjI1MWRmZjBm NmI3ZWE3NzUyOGNmYTU4ZWYzY2FiNGEKKz4gPiA+ID4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hy b21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yNzgwODc2Cis+ ID4gPiA+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9y Zz4KKz4gPiA+ID4gUmV2aWV3ZWQtYnk6IFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9y Zz4KKz4gPiA+ID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MTc2 N30KKz4gPiA+Cis+ID4gPiBDaGFuZ2UtSWQ6IEljYmVjMzhmMjEwM2M4NDI0ZGVjNzlhYjE4NzBi OTdjM2U4M2Y5MzYxCis+ID4gPiBOby1QcmVzdWJtaXQ6IHRydWUKKz4gPiA+IE5vLVRyZWUtQ2hl Y2tzOiB0cnVlCis+ID4gPiBOby1Ucnk6IHRydWUKKz4gPiA+IFJldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyMTgx MgorPiA+ID4gQXV0by1TdWJtaXQ6IFZpY3RvciBWaWFubmEgPHZpY3RvcnZpYW5uYUBnb29nbGUu Y29tPgorPiA+ID4gT3duZXJzLU92ZXJyaWRlOiBWaWN0b3IgVmlhbm5hIDx2aWN0b3J2aWFubmFA Z29vZ2xlLmNvbT4KKz4gPiA+IENvbW1pdC1RdWV1ZTogUnViYmVyIFN0YW1wZXIgPHJ1YmJlci1z dGFtcGVyQGFwcHNwb3QuZ3NlcnZpY2VhY2NvdW50LmNvbT4KKz4gPiA+IEJvdC1Db21taXQ6IFJ1 YmJlciBTdGFtcGVyIDxydWJiZXItc3RhbXBlckBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20+ Cis+ID4gPiBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjODcxODgyfQor PiA+Cis+ID4gQ2hhbmdlLUlkOiBJMWYzOWJiNTI0Mjk2MTQ3NGRlZjU5NGZmN2RiZWE1MjAwOWYy Y2VlNAorPiA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjgyNDExNQorPiA+IEF1dG8tU3VibWl0OiBNYXR0aGV3 IERlbnRvbiA8bXBkZW50b25AY2hyb21pdW0ub3JnPgorPiA+IENvbW1pdC1RdWV1ZTogTWF0dGhl dyBEZW50b24gPG1wZGVudG9uQGNocm9taXVtLm9yZz4KKz4gPiBSZXZpZXdlZC1ieTogUm9iZXJ0 IFNlc2VrIDxyc2VzZWtAY2hyb21pdW0ub3JnPgorPiA+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVm cy9oZWFkcy9tYXN0ZXJAeyM4NzI4MTJ9Cis+Cis+IEZpeGVkOiAxMTk5NDMxCis+IENoYW5nZS1J ZDogSWViZmMwYzQ4MjAxYmYyMmZmOWM1NGQ4ZDVjOGE0M2QyNmE4ODAwOTgKKz4gTm8tUHJlc3Vi bWl0OiB0cnVlCis+IE5vLVRyZWUtQ2hlY2tzOiB0cnVlCis+IE5vLVRyeTogdHJ1ZQorPiBSZXZp ZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9t aXVtL3NyYy8rLzI4MzA0NTkKKz4gQXV0by1TdWJtaXQ6IEt5bGUgSG9yaW1vdG8gPGtob3JpbW90 b0BjaHJvbWl1bS5vcmc+Cis+IENvbW1pdC1RdWV1ZTogTWF0dGhldyBEZW50b24gPG1wZGVudG9u QGNocm9taXVtLm9yZz4KKz4gQ29tbWl0LVF1ZXVlOiBLaW51a28gWWFzdWRhIDxraW51a29AY2hy b21pdW0ub3JnPgorPiBSZXZpZXdlZC1ieTogTWF0dGhldyBEZW50b24gPG1wZGVudG9uQGNocm9t aXVtLm9yZz4KKz4gUmV2aWV3ZWQtYnk6IEtpbnVrbyBZYXN1ZGEgPGtpbnVrb0BjaHJvbWl1bS5v cmc+Cis+IE93bmVycy1PdmVycmlkZTogS2ludWtvIFlhc3VkYSA8a2ludWtvQGNocm9taXVtLm9y Zz4KKz4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7Izg3MzE3M30KKwor Q2hhbmdlLUlkOiBJYmU2YTQ4NTA3MGYzMzQ4OWFhYTE1N2I1MWI5MDhjMmQyM2QxNzRkNworUmV2 aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJv bWl1bS9zcmMvKy8yODQ4OTM2CitSZXZpZXdlZC1ieTogUm9iZXJ0IFNlc2VrIDxyc2VzZWtAY2hy b21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBNYXR0aGV3IERlbnRvbiA8bXBkZW50b25AY2hyb21p dW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7IzkwMjk4MX0K Ky0tLQorIHNhbmRib3gvbGludXgvQlVJTEQuZ24gICAgICAgICAgICAgICAgICAgICAgICB8ICAg MSArCisgLi4uL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MgICAgICAgIHwgIDQw ICsrKy0KKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUyAgICAgICAgfCAg IDEgLQorIC4uLnNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zX3VuaXR0ZXN0cy5jYyB8ICAg NCAtCisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjICAgIHwgIDUw ICsrKystCisgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmggICAgIHwg IDE1ICsrCisgLi4uL3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnNfdW5pdHRlc3QuY2MgICAgIHwg MTI5ICsrKysrKysrKysrLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUyAgICAg ICAgICAgICB8ICAgMyArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2Ns aWVudC5jYyB8ICAgNCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2Ns aWVudC5oICB8ICAgNCArLQorIHNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hv c3QuY2MgICB8ICAyMyArKy0KKyAuLi4vc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5p dHRlc3QuY2MgfCAgNzQgKysrLS0tLQorIC4uLi9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91 bml0dGVzdC5jYyAgICB8ICAzNiArKy0tCisgLi4uL3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlz cGF0Y2hlci5jYyAgICAgIHwgIDY3ICsrKystLS0KKyAuLi4vbGludXgvc3lzY2FsbF9icm9rZXIv c3lzY2FsbF9kaXNwYXRjaGVyLmggfCAgMjcgKystCisgc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9saW51eF9zdGF0LmggICAgIHwgMTg4ICsrKysrKysrKysrKysrKysrKworIHNhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oICAgICB8ICAyNiArKysKKyBzYW5kYm94 L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuY2MgICAgICAgICAgICAgfCAgMTUgKysKKyBzYW5kYm94 L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaCAgICAgICAgICAgICAgfCAgIDIgKworIC4uLi9wb2xp Y3kvbGludXgvYnBmX2Jyb2tlcl9wb2xpY3lfbGludXguY2MgICB8ICAgNCArLQorIDIwIGZpbGVz IGNoYW5nZWQsIDU5NSBpbnNlcnRpb25zKCspLCAxMTggZGVsZXRpb25zKC0pCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IHNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisKK2Rp ZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L0JVSUxELmduIGIvc2FuZGJveC9saW51eC9CVUlMRC5n bgoraW5kZXggMmY3NzhkZDBiY2FiMi4uY2NiYmM5MTcxNmU3MSAxMDA2NDQKKy0tLSBhL3NhbmRi b3gvbGludXgvQlVJTEQuZ24KKysrKyBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24KK0BAIC00NDMs NiArNDQzLDcgQEAgc291cmNlX3NldCgic2FuZGJveF9zZXJ2aWNlc19oZWFkZXJzIikgeworICAg ICAic3lzdGVtX2hlYWRlcnMvbGludXhfcHRyYWNlLmgiLAorICAgICAic3lzdGVtX2hlYWRlcnMv bGludXhfc2VjY29tcC5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIiwK KysgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIsCisgICAgICJzeXN0ZW1faGVhZGVy cy9saW51eF9zeXNjYWxscy5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaCIs CisgICAgICJzeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oIiwKK2RpZmYgLS1naXQgYS9z YW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2VyX3Byb2Nlc3NfdW5p dHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJva2Vy X3Byb2Nlc3NfdW5pdHRlc3QuY2MKK2luZGV4IDlkYTljNjg5MTE0MjguLjhhOTQxOTgzYjE5OGQg MTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L2ludGVncmF0aW9uX3Rlc3RzL3NlY2NvbXBfYnJv a2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvaW50ZWdyYXRpb25f dGVzdHMvc2VjY29tcF9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5jYworQEAgLTM0LDYgKzM0LDcg QEAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9w ZXJtaXNzaW9uLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJv a2VyX3Byb2Nlc3MuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zZWNjb21wLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bGludXhfc3RhdC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xp bnV4X3N5c2NhbGxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvc2NvcGVkX3Rl bXBvcmFyeV9maWxlLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGls cy5oIgorQEAgLTIwMiw2ICsyMDMsMjYgQEAgbmFtZXNwYWNlIHsKKyAvLyBub3QgYWNjZXB0IHRo aXMgYXMgYSB2YWxpZCBlcnJvciBudW1iZXIuIEUuZy4gYmlvbmljIGFjY2VwdHMgdXAgdG8gMjU1 LCBnbGliYworIC8vIGFuZCBtdXNsIHVwIHRvIDQwOTYuCisgY29uc3QgaW50IGtGYWtlRXJybm9T ZW50aW5lbCA9IDI1NDsKKysKKyt2b2lkIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChkZWZh dWx0X3N0YXRfc3RydWN0JiBpbl9zdGF0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBzdGF0JiBvdXRfc3RhdCkgeworKyAgb3V0X3N0YXQuc3RfZGV2ID0gaW5fc3Rh dC5zdF9kZXY7CisrICBvdXRfc3RhdC5zdF9pbm8gPSBpbl9zdGF0LnN0X2lubzsKKysgIG91dF9z dGF0LnN0X21vZGUgPSBpbl9zdGF0LnN0X21vZGU7CisrICBvdXRfc3RhdC5zdF9ubGluayA9IGlu X3N0YXQuc3Rfbmxpbms7CisrICBvdXRfc3RhdC5zdF91aWQgPSBpbl9zdGF0LnN0X3VpZDsKKysg IG91dF9zdGF0LnN0X2dpZCA9IGluX3N0YXQuc3RfZ2lkOworKyAgb3V0X3N0YXQuc3RfcmRldiA9 IGluX3N0YXQuc3RfcmRldjsKKysgIG91dF9zdGF0LnN0X3NpemUgPSBpbl9zdGF0LnN0X3NpemU7 CisrICBvdXRfc3RhdC5zdF9ibGtzaXplID0gaW5fc3RhdC5zdF9ibGtzaXplOworKyAgb3V0X3N0 YXQuc3RfYmxvY2tzID0gaW5fc3RhdC5zdF9ibG9ja3M7CisrICBvdXRfc3RhdC5zdF9hdGltLnR2 X3NlYyA9IGluX3N0YXQuc3RfYXRpbWVfOworKyAgb3V0X3N0YXQuc3RfYXRpbS50dl9uc2VjID0g aW5fc3RhdC5zdF9hdGltZV9uc2VjXzsKKysgIG91dF9zdGF0LnN0X210aW0udHZfc2VjID0gaW5f c3RhdC5zdF9tdGltZV87CisrICBvdXRfc3RhdC5zdF9tdGltLnR2X25zZWMgPSBpbl9zdGF0LnN0 X210aW1lX25zZWNfOworKyAgb3V0X3N0YXQuc3RfY3RpbS50dl9zZWMgPSBpbl9zdGF0LnN0X2N0 aW1lXzsKKysgIG91dF9zdGF0LnN0X2N0aW0udHZfbnNlYyA9IGluX3N0YXQuc3RfY3RpbWVfbnNl Y187CisrfQorIH0gIC8vIG5hbWVzcGFjZQorIAorIC8vIFRoZXJlIGFyZSBhIHZhcmlldHkgb2Yg d2F5cyB0byBtYWtlIHN5c2NhbGxzIGluIGEgc2FuZGJveGVkIHByb2Nlc3MuIE9uZSBpcworQEAg LTIxNyw2ICsyMzgsMTAgQEAgY2xhc3MgU3lzY2FsbGVyIHsKKyAKKyAgIHZpcnR1YWwgaW50IE9w ZW4oY29uc3QgY2hhciogZmlsZXBhdGgsIGludCBmbGFncykgPSAwOworICAgdmlydHVhbCBpbnQg QWNjZXNzKGNvbnN0IGNoYXIqIGZpbGVwYXRoLCBpbnQgbW9kZSkgPSAwOworKyAgLy8gTk9URTog d2UgdXNlIHN0cnVjdCBzdGF0IGluc3RlYWQgb2YgZGVmYXVsdF9zdGF0X3N0cnVjdCwgdG8gbWFr ZSB0aGUgbGliYworKyAgLy8gc3lzY2FsbGVyIHNpbXBsZXIuIENvcHlpbmcgZnJvbSBkZWZhdWx0 X3N0YXRfc3RydWN0ICh0aGUgc3RydWN0dXJlIHJldHVybmVkCisrICAvLyBmcm9tIGEgc3RhdCBz eWNhbGwpIHRvIHN0cnVjdCBzdGF0ICh0aGUgc3RydWN0dXJlIGV4cG9zZWQgYnkgYSBsaWJjIHRv IGl0cworKyAgLy8gdXNlcnMpIGlzIHNpbXBsZXIgdGhhbiBnb2luZyBpbiB0aGUgb3Bwb3NpdGUg ZGlyZWN0aW9uLgorICAgdmlydHVhbCBpbnQgU3RhdChjb25zdCBjaGFyKiBmaWxlcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBzdGF0KiBzdGF0YnVmKSA9IDA7CitAQCAtMjQzLDggKzI2OCwxMiBAQCBjbGFzcyBJ UENTeXNjYWxsZXIgOiBwdWJsaWMgU3lzY2FsbGVyIHsKKyAgIGludCBTdGF0KGNvbnN0IGNoYXIq IGZpbGVwYXRoLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisgICAgICAgICAgICBz dHJ1Y3Qgc3RhdCogc3RhdGJ1Zikgb3ZlcnJpZGUgeworLSAgICByZXR1cm4gYnJva2VyXy0+R2V0 QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdChmaWxlcGF0aCwgZm9sbG93X2xpbmtzLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dGF0YnVmKTsKKysgICAgZGVmYXVsdF9zdGF0X3N0cnVjdCBidWY7CisrICAgIGludCByZXQgPSBi cm9rZXJfLT5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rp bmcoCisrICAgICAgICBmaWxlcGF0aCwgZm9sbG93X2xpbmtzLCAmYnVmKTsKKysgICAgaWYgKHJl dCA+PSAwKQorKyAgICAgIENvbnZlcnRLZXJuZWxTdGF0VG9MaWJjU3RhdChidWYsICpzdGF0YnVm KTsKKysgICAgcmV0dXJuIHJldDsKKyAgIH0KKyAKKyAgIGludCBSZW5hbWUoY29uc3QgY2hhciog b2xkcGF0aCwgY29uc3QgY2hhciogbmV3cGF0aCkgb3ZlcnJpZGUgeworQEAgLTMwMCwxMCArMzI5 LDEzIEBAIGNsYXNzIERpcmVjdFN5c2NhbGxlciA6IHB1YmxpYyBTeXNjYWxsZXIgeworICAgaW50 IFN0YXQoY29uc3QgY2hhciogZmlsZXBhdGgsCisgICAgICAgICAgICBib29sIGZvbGxvd19saW5r cywKKyAgICAgICAgICAgIHN0cnVjdCBzdGF0KiBzdGF0YnVmKSBvdmVycmlkZSB7CistICAgIGlu dCByZXQgPSBmb2xsb3dfbGlua3MgPyBzeXNjYWxsKF9fTlJfc3RhdCwgZmlsZXBhdGgsIHN0YXRi dWYpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBzeXNjYWxsKF9fTlJfbHN0YXQsIGZp bGVwYXRoLCBzdGF0YnVmKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IGJ1ZjsKKysgICAgaW50 IHJldCA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgZmlsZXBhdGgsICZidWYs CisrICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19saW5rcyA/IDAgOiBBVF9TWU1MSU5LX05P Rk9MTE9XKTsKKyAgICAgaWYgKHJldCA8IDApCisgICAgICAgcmV0dXJuIC1lcnJubzsKKysKKysg ICAgQ29udmVydEtlcm5lbFN0YXRUb0xpYmNTdGF0KGJ1ZiwgKnN0YXRidWYpOworICAgICByZXR1 cm4gcmV0OworICAgfQorIAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9ERVBTIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL0RFUFMKK2lu ZGV4IDQ0MTlmZDFkYTM0ZTguLjk1ZDFiYjZjYmJhYmYgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvREVQUworKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL0RFUFMKK0BAIC0zLDUgKzMsNCBAQCBpbmNsdWRlX3J1bGVzID0gWworICAg IitzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmIiwKKyAgICIrc2FuZGJveC9saW51eC9zZXJ2aWNl cyIsCisgICAiK3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMiLAorLSAgIit0aGlyZF9wYXJ0 eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgiLAorIF0KK2RpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9u c191bml0dGVzdHMuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKK2luZGV4IDkwM2U3MDJlYWIx NGIuLjc2YzM5MzAzMmMxZmUgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9uc191bml0dGVzdHMuY2MKKysr KyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNf cmVzdHJpY3Rpb25zX3VuaXR0ZXN0cy5jYworQEAgLTM3LDEwICszNyw2IEBACisgI2luY2x1ZGUg InNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oIgorICNpbmNsdWRlICJz YW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAKKy0jaWYgIWRlZmluZWQoT1NfQU5E Uk9JRCkKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5o IiAgLy8gZm9yIE1BS0VfUFJPQ0VTU19DUFVDTE9DSworLSNlbmRpZgorLQorIG5hbWVzcGFjZSBz YW5kYm94IHsKKyAKKyBuYW1lc3BhY2UgeworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2Vy dmljZXMvc3lzY2FsbF93cmFwcGVycy5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2Fs bF93cmFwcGVycy5jYworaW5kZXggZmNmZDJhYTEyOWQ0Yi4uM2JlYzE4YTE0ZTkxZSAxMDA2NDQK Ky0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysrIGIv c2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCitAQCAtNCw2ICs0LDcg QEAKKyAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJz LmgiCisgCisrI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyAjaW5j bHVkZSA8c2NoZWQuaD4KKyAjaW5jbHVkZSA8c2V0am1wLmg+CitAQCAtMTQsMTEgKzE1LDEzIEBA CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxjc3RyaW5nPgorIAorKyNpbmNsdWRl ICJiYXNlL2NoZWNrLmgiCisgI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lmaWMuaCIKKyAj aW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5o IgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2NhcGFiaWxpdHkuaCIK KyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaCIK KysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisg I2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIK KyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMjE3LDcgKzIyMCw3IEBAIGFzbSgKKyAjdW5k ZWYgU1RSCisgI3VuZGVmIFhTVFIKKyAKKy0jZW5kaWYKKysjZW5kaWYgIC8vIGRlZmluZWQoQVJD SF9DUFVfWDg2X0ZBTUlMWSkKKyAKKyBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAorICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzaWdhY3Rpb24qIGFjdCwKK0BAIC0yNDEsNyAr MjQ0LDcgQEAgaW50IHN5c19zaWdhY3Rpb24oaW50IHNpZ251bSwKKyAjZXJyb3IgIlVuc3VwcG9y dGVkIGFyY2hpdGVjdHVyZS4iCisgI2VuZGlmCisgICAgIH0KKy0jZW5kaWYKKysjZW5kaWYgIC8v IGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAgIH0KKyAKKyAgIExpbnV4U2lnQWN0aW9u IGxpbnV4X29sZGFjdCA9IHt9OworQEAgLTI1OSw2ICsyNjIsNDcgQEAgaW50IHN5c19zaWdhY3Rp b24oaW50IHNpZ251bSwKKyAgIHJldHVybiByZXN1bHQ7CisgfQorIAorLSNlbmRpZiAgLy8gZGVm aW5lZChNRU1PUllfU0FOSVRJWkVSKQorKyNlbmRpZiAgLy8gIWRlZmluZWQoT1NfTkFDTF9OT05T RkkpCisrCisraW50IHN5c19zdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3Rh dCogc3RhdF9idWYpIHsKKysgIGludCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfc3RhdCkKKysg IHJlcyA9IHN5c2NhbGwoX19OUl9uZXdmc3RhdGF0LCBBVF9GRENXRCwgcGF0aCwgc3RhdF9idWYs IDApOworKyNlbHNlCisrICByZXMgPSBzeXNjYWxsKF9fTlJfc3RhdCwgcGF0aCwgc3RhdF9idWYp OworKyNlbmRpZgorKyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9JU09OKHN0YXRfYnVm LCBzaXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworK30KKysKKytpbnQgc3lzX2xz dGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3RhdF9idWYpIHsKKysg IGludCByZXM7CisrI2lmICFkZWZpbmVkKF9fTlJfbHN0YXQpCisrICByZXMgPSBzeXNjYWxsKF9f TlJfbmV3ZnN0YXRhdCwgQVRfRkRDV0QsIHBhdGgsIHN0YXRfYnVmLCBBVF9TWU1MSU5LX05PRk9M TE9XKTsKKysjZWxzZQorKyAgcmVzID0gc3lzY2FsbChfX05SX2xzdGF0LCBwYXRoLCBzdGF0X2J1 Zik7CisrI2VuZGlmCisrICBpZiAocmVzID09IDApCisrICAgIE1TQU5fVU5QT0lTT04oc3RhdF9i dWYsIHNpemVvZigqc3RhdF9idWYpKTsKKysgIHJldHVybiByZXM7CisrfQorKworK2ludCBzeXNf ZnN0YXRhdDY0KGludCBkaXJmZCwKKysgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwYXRo bmFtZSwKKysgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc3RhdF9idWYs CisrICAgICAgICAgICAgICAgICAgaW50IGZsYWdzKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3Rh dGF0NjQpCisrICBpbnQgcmVzID0gc3lzY2FsbChfX05SX2ZzdGF0YXQ2NCwgZGlyZmQsIHBhdGhu YW1lLCBzdGF0X2J1ZiwgZmxhZ3MpOworKyAgaWYgKHJlcyA9PSAwKQorKyAgICBNU0FOX1VOUE9J U09OKHN0YXRfYnVmLCBzaXplb2YoKnN0YXRfYnVmKSk7CisrICByZXR1cm4gcmVzOworKyNlbHNl ICAvLyBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgLy8gV2Ugc2hvdWxkIG5vdCByZWFjaCBo ZXJlIG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25seQorKyAgLy8g bmVjZXNzYXJ5IG9uIDMyLWJpdC4KKysgIFJBV19DSEVDSyhmYWxzZSk7CisrICByZXR1cm4gLUVO T1NZUzsKKysjZW5kaWYKKyt9CisgCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1n aXQgYS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCBiL3NhbmRib3gv bGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oCitpbmRleCAxOTc1YmZiZDg4YTZkLi5i NTUzNDBlNGEyNmI3IDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxs X3dyYXBwZXJzLmgKKysrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVy cy5oCitAQCAtMTcsNiArMTcsOCBAQCBzdHJ1Y3Qgc29ja19mcHJvZzsKKyBzdHJ1Y3QgcmxpbWl0 NjQ7Cisgc3RydWN0IGNhcF9oZHI7Cisgc3RydWN0IGNhcF9kYXRhOworK3N0cnVjdCBrZXJuZWxf c3RhdDsKKytzdHJ1Y3Qga2VybmVsX3N0YXQ2NDsKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7Cisg CitAQCAtODQsNiArODYsMTkgQEAgU0FOREJPWF9FWFBPUlQgaW50IHN5c19zaWdhY3Rpb24oaW50 IHNpZ251bSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg c2lnYWN0aW9uKiBhY3QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHNpZ2FjdGlvbiogb2xkYWN0KTsKKyAKKysvLyBTb21lIGFyY2hpdGVjdHVyZXMgZG8gbm90IGhh dmUgc3RhdCgpIGFuZCBsc3RhdCgpIHN5c2NhbGxzLiBJbiB0aGF0IGNhc2UsCisrLy8gdGhlc2Ug d3JhcHBlcnMgd2lsbCB1c2UgbmV3ZnN0YXRhdCgpLCB3aGljaCBpcyBhdmFpbGFibGUgb24gYWxs IG90aGVyCisrLy8gYXJjaGl0ZWN0dXJlcywgd2l0aCB0aGUgc2FtZSBjYXBhYmlsaXRpZXMgYXMg c3RhdCgpIGFuZCBsc3RhdCgpLgorK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfc3RhdChjb25zdCBj aGFyKiBwYXRoLCBzdHJ1Y3Qga2VybmVsX3N0YXQqIHN0YXRfYnVmKTsKKytTQU5EQk9YX0VYUE9S VCBpbnQgc3lzX2xzdGF0KGNvbnN0IGNoYXIqIHBhdGgsIHN0cnVjdCBrZXJuZWxfc3RhdCogc3Rh dF9idWYpOworKworKy8vIFRha2VzIGNhcmUgb2YgdW5wb2lzb25pbmcgfHN0YXRfYnVmfCBmb3Ig TVNBTi4gQ2hlY2stZmFpbHMgaWYgZnN0YXRhdDY0KCkgaXMKKysvLyBub3QgYSBzdXBwb3J0ZWQg c3lzY2FsbCBvbiB0aGUgY3VycmVudCBwbGF0Zm9ybS4KKytTQU5EQk9YX0VYUE9SVCBpbnQgc3lz X2ZzdGF0YXQ2NChpbnQgZGlyZmQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciogcGF0aG5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGtlcm5lbF9zdGF0NjQqIHN0YXRfYnVmLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBmbGFncyk7CisrCisgfSAgLy8gbmFtZXNwYWNlIHNhbmRib3gKKyAKKyAj ZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU0VSVklDRVNfU1lTQ0FMTF9XUkFQUEVSU19IXworZGlm ZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVz dC5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5j YworaW5kZXggMzI4MjBmNjBhOGNlZS4uNjRiOWNlYTgwZjMxOSAxMDA2NDQKKy0tLSBhL3NhbmRi b3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVyc191bml0dGVzdC5jYworKysrIGIvc2Fu ZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzX3VuaXR0ZXN0LmNjCitAQCAtNSwx NSArNSwxOSBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3Jh cHBlcnMuaCIKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgor ICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5j bHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8dW5pc3RkLmg+CistI2luY2x1ZGUgPGNzdHJp bmc+CisgCisrI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9y eS9wYWdlX3NpemUuaCIKKyAjaW5jbHVkZSAiYmFzZS9wb3NpeC9laW50cl93cmFwcGVyLmgiCisg I2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NpZ25hbC5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCIKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC90 ZXN0cy9zY29wZWRfdGVtcG9yYXJ5X2ZpbGUuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC90 ZXN0cy90ZXN0X3V0aWxzLmgiCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdW5pdF90 ZXN0cy5oIgorICNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIK K0BAIC05Myw2ICs5NywxMjkgQEAgVEVTVChTeXNjYWxsV3JhcHBlcnMsIExpbnV4U2lnU2V0KSB7 CisgICAgICAgICAgICAgbGludXhfc2lnc2V0KTsKKyB9CisgCisrVEVTVChTeXNjYWxsV3JhcHBl cnMsIFN0YXQpIHsKKysgIC8vIENyZWF0ZSBhIGZpbGUgdG8gc3RhdCwgd2l0aCAxMiBieXRlcyBv ZiBkYXRhLgorKyAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTsKKysgIEVYUEVDVF9FUSgx Miwgd3JpdGUodG1wX2ZpbGUuZmQoKSwgImJsYWhibGFoYmxhaCIsIDEyKSk7CisrCisrICAvLyBU byB0ZXN0IHdlIGhhdmUgdGhlIGNvcnJlY3Qgc3RhdCBzdHJ1Y3R1cmVzIGZvciBlYWNoIGtlcm5l bC9wbGF0Zm9ybSwgd2UKKysgIC8vIHdpbGwgcmlnaHQtYWxpZ24gdGhlbSBvbiBhIHBhZ2UsIHdp dGggYSBndWFyZCBwYWdlIGFmdGVyLgorKyAgY2hhciogdHdvX3BhZ2VzID0gc3RhdGljX2Nhc3Q8 Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0VXRpbHM6Ok1wcm90 ZWN0TGFzdFBhZ2VPckRpZSh0d29fcGFnZXMsIDIpOworKyAgY2hhciogcGFnZTFfZW5kID0gdHdv X3BhZ2VzICsgYmFzZTo6R2V0UGFnZVNpemUoKTsKKysKKysgIC8vIEZpcnN0LCBjaGVjayB0aGF0 IGNhbGxpbmcgc3RhdCB3aXRoIHxzdGF0X2J1ZnwgcG9pbnRpbmcgdG8gdGhlIGxhc3QgYnl0ZSBv bgorKyAgLy8gYSBwYWdlIGNhdXNlcyBFRkFVTFQuCisrICBpbnQgcmVzID0gc3lzX3N0YXQodG1w X2ZpbGUuZnVsbF9maWxlX25hbWUoKSwKKysgICAgICAgICAgICAgICAgICAgICByZWludGVycHJl dF9jYXN0PHN0cnVjdCBrZXJuZWxfc3RhdCo+KHBhZ2UxX2VuZCAtIDEpKTsKKysgIEFTU0VSVF9F UShyZXMsIC0xKTsKKysgIEFTU0VSVF9FUShlcnJubywgRUZBVUxUKTsKKysKKysgIC8vIE5vdywg Y2hlY2sgdGhhdCB3ZSBoYXZlIHRoZSBjb3JyZWN0bHkgc2l6ZWQgc3RhdCBzdHJ1Y3R1cmUuCisr ICBzdHJ1Y3Qga2VybmVsX3N0YXQqIHNiID0gcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVs X3N0YXQqPigKKysgICAgICBwYWdlMV9lbmQgLSBzaXplb2Yoc3RydWN0IGtlcm5lbF9zdGF0KSk7 CisrICAvLyBNZW1zZXQgdG8gYydzIHNvIHdlIGNhbiBjaGVjayB0aGUga2VybmVsIHplcm8nZCB0 aGUgcGFkZGluZy4uLgorKyAgbWVtc2V0KHNiLCAnYycsIHNpemVvZihzdHJ1Y3Qga2VybmVsX3N0 YXQpKTsKKysgIHJlcyA9IHN5c19zdGF0KHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCksIHNiKTsK KysgIEFTU0VSVF9FUShyZXMsIDApOworKworKyAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2 ZXIgYmUgY29uc2lzdGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgorKyAgLy8gRG9uJ3QgdHJ1 c3QgdGhlIHBsYXRmb3JtIHRvIGRlZmluZSBmaWVsZHMgd2l0aCBhbnkgcGFydGljdWxhciBzaWdu LgorKyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9kZXYp KTsKKysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfaW5v KSk7CisrICBFWFBFQ1RfTkUoMHUsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X21v ZGUpKTsKKysgIEVYUEVDVF9ORSgwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3Rf Ymxrc2l6ZSkpOworKyAgRVhQRUNUX05FKDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNi LT5zdF9ibG9ja3MpKTsKKysKKysvLyBXZSBhcmUgdGhlIG9uZXMgdGhhdCBtYWRlIHRoZSBmaWxl LgorKy8vIE5vdGU6IG5vcm1hbGx5IGdpZCBhbmQgdWlkIG92ZXJmbG93IG9uIGJhY2t3YXJkcy1j b21wYXRpYmxlIDMyLWJpdCBzeXN0ZW1zCisrLy8gYW5kIHdlIGVuZCB1cCB3aXRoIGR1bW15IHVp ZHMgYW5kIGdpZHMgaW4gcGxhY2UgaGVyZS4KKysjaWYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRT KQorKyAgRVhQRUNUX0VRKGdldGV1aWQoKSwgc2ItPnN0X3VpZCk7CisrICBFWFBFQ1RfRVEoZ2V0 ZWdpZCgpLCBzYi0+c3RfZ2lkKTsKKysjZW5kaWYKKysKKysgIC8vIFdyb3RlIDEyIGJ5dGVzIGFi b3ZlIHdoaWNoIHNob3VsZCBmaXQgaW4gb25lIGJsb2NrLgorKyAgRVhQRUNUX0VRKDEydSwgc2It PnN0X3NpemUpOworKworKyAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAw MDAgd2FzIHNvbWUgdGltZSBhZ28uCisrICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0YXRpY19j YXN0PHVuc2lnbmVkIGludD4oc2ItPnN0X2F0aW1lXykpOworKyAgRVhQRUNUX0xUKDE1MDAwMDAw MDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLT5zdF9tdGltZV8pKTsKKysgIEVYUEVD VF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi0+c3RfY3RpbWVf KSk7CisrCisrICAvLyBDaGVja2luZyB0aGUgcGFkZGluZyBmb3IgZ29vZCBtZWFzdXJlLgorKyNp ZiBkZWZpbmVkKF9feDg2XzY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDApOworKyAg RVhQRUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0WzBdKTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9f dW51c2VkNFsxXSk7CisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3VudXNlZDRbMl0pOworKyNlbGlm IGRlZmluZWQoX19hYXJjaDY0X18pCisrICBFWFBFQ1RfRVEoMHUsIHNiLT5fX3BhZDEpOworKyAg RVhQRUNUX0VRKDAsIHNiLT5fX3BhZDIpOworKyAgRVhQRUNUX0VRKDB1LCBzYi0+X191bnVzZWQ0 KTsKKysgIEVYUEVDVF9FUSgwdSwgc2ItPl9fdW51c2VkNSk7CisrI2VuZGlmCisrfQorKworK1RF U1QoU3lzY2FsbFdyYXBwZXJzLCBMU3RhdCkgeworKyAgLy8gQ3JlYXRlIGEgZmlsZSB0byBzdGF0 LCB3aXRoIDEyIGJ5dGVzIG9mIGRhdGEuCisrICBTY29wZWRUZW1wb3JhcnlGaWxlIHRtcF9maWxl OworKyAgRVhQRUNUX0VRKDEyLCB3cml0ZSh0bXBfZmlsZS5mZCgpLCAiYmxhaGJsYWhibGFoIiwg MTIpKTsKKysKKysgIC8vIEFsc28gY3JlYXRlIGEgc3ltbGluay4KKysgIHN0ZDo6c3RyaW5nIHN5 bWxpbmtfbmFtZTsKKysgIHsKKysgICAgU2NvcGVkVGVtcG9yYXJ5RmlsZSB0bXBfZmlsZTI7Cisr ICAgIHN5bWxpbmtfbmFtZSA9IHRtcF9maWxlMi5mdWxsX2ZpbGVfbmFtZSgpOworKyAgfQorKyAg aW50IHJjID0gc3ltbGluayh0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgpLCBzeW1saW5rX25hbWUu Y19zdHIoKSk7CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVSUk9SKSA8PCAiQ291bGRu J3Qgc3ltbGluayAiIDw8IHN5bWxpbmtfbmFtZSA8PCAiIHRvIHRhcmdldCAiCisrICAgICAgICAg ICAgICAgIDw8IHRtcF9maWxlLmZ1bGxfZmlsZV9uYW1lKCk7CisrICAgIEdURVNUX0ZBSUwoKTsK KysgIH0KKysKKysgIHN0cnVjdCBrZXJuZWxfc3RhdCBsc3RhdF9pbmZvOworKyAgcmMgPSBzeXNf bHN0YXQoc3ltbGlua19uYW1lLmNfc3RyKCksICZsc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAg JiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7CisrICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlm IChyYyAhPSAwKSB7CisrICAgIFBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBzeXNfbHN0YXQgIiA8 PCBzeW1saW5rX25hbWU7CisrICAgIEdURVNUX0ZBSUwoKTsKKysgIH0KKysKKysgIHN0cnVjdCBr ZXJuZWxfc3RhdCBzdGF0X2luZm87CisrICByYyA9IHN5c19zdGF0KHN5bWxpbmtfbmFtZS5jX3N0 cigpLCAmc3RhdF9pbmZvKTsKKysgIGlmIChyYyA8IDAgJiYgZXJybm8gPT0gRU9WRVJGTE9XKSB7 CisrICAgIEdURVNUX1NLSVAoKTsKKysgIH0KKysgIGlmIChyYyAhPSAwKSB7CisrICAgIFBMT0co RVJST1IpIDw8ICJDb3VsZG4ndCBzeXNfc3RhdCAiIDw8IHN5bWxpbmtfbmFtZTsKKysgICAgR1RF U1RfRkFJTCgpOworKyAgfQorKworKyAgc3RydWN0IGtlcm5lbF9zdGF0IHRtcF9maWxlX3N0YXRf aW5mbzsKKysgIHJjID0gc3lzX3N0YXQodG1wX2ZpbGUuZnVsbF9maWxlX25hbWUoKSwgJnRtcF9m aWxlX3N0YXRfaW5mbyk7CisrICBpZiAocmMgPCAwICYmIGVycm5vID09IEVPVkVSRkxPVykgewor KyAgICBHVEVTVF9TS0lQKCk7CisrICB9CisrICBpZiAocmMgIT0gMCkgeworKyAgICBQTE9HKEVS Uk9SKSA8PCAiQ291bGRuJ3Qgc3lzX3N0YXQgIiA8PCB0bXBfZmlsZS5mdWxsX2ZpbGVfbmFtZSgp OworKyAgICBHVEVTVF9GQUlMKCk7CisrICB9CisrCisrICAvLyBsc3RhdCBzaG91bGQgcHJvZHVj ZSBpbmZvcm1hdGlvbiBhYm91dCBhIHN5bWxpbmsuCisrICBBU1NFUlRfVFJVRShTX0lTTE5LKGxz dGF0X2luZm8uc3RfbW9kZSkpOworKworKyAgLy8gc3RhdC1pbmcgc3ltbGlua19uYW1lIGFuZCB0 bXBfZmlsZSBzaG91bGQgcHJvZHVjZSB0aGUgc2FtZSBpbm9kZS4KKysgIEFTU0VSVF9FUShzdGF0 X2luZm8uc3RfaW5vLCB0bXBfZmlsZV9zdGF0X2luZm8uc3RfaW5vKTsKKysKKysgIC8vIGxzdGF0 LWluZyBzeW1saW5rX25hbWUgc2hvdWxkIGdpdmUgYSBkaWZmZXJlbnQgaW5vZGUgdGhhbiBzdGF0 LWluZworKyAgLy8gc3ltbGlua19uYW1lLgorKyAgQVNTRVJUX05FKHN0YXRfaW5mby5zdF9pbm8s IGxzdGF0X2luZm8uc3RfaW5vKTsKKyt9CisrCisgfSAgLy8gbmFtZXNwYWNlCisgCisgfSAgLy8g bmFtZXNwYWNlIHNhbmRib3gKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJv a2VyL0RFUFMgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL0RFUFMKK2luZGV4IGM0Nzdm N2QzNjM5NGIuLjE0OWM0NjNiMDY4MzkgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2Nh bGxfYnJva2VyL0RFUFMKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvREVQUwor QEAgLTEsNCArMSw1IEBACisgaW5jbHVkZV9ydWxlcyA9IFsKKy0gICIrc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycyIsCisgICAiK3NhbmRib3gvbGludXgvYnBmX2RzbCIsCisrICAiK3NhbmRi b3gvbGludXgvc2VydmljZXMiLAorKyAgIitzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzIiwK KyBdCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xp ZW50LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCitp bmRleCA2YjFiNWJlNDMzODk5Li5lMjRmNjU5ZmNmODcyIDEwMDY0NAorLS0tIGEvc2FuZGJveC9s aW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmNjCisrKysgYi9zYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuY2MKK0BAIC0xNjYsNyArMTY2LDcgQEAgaW50 IEJyb2tlckNsaWVudDo6Um1kaXIoY29uc3QgY2hhciogcGF0aCkgY29uc3QgeworIAorIGludCBC cm9rZXJDbGllbnQ6OlN0YXQoY29uc3QgY2hhciogcGF0aG5hbWUsCisgICAgICAgICAgICAgICAg ICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBzdGF0KiBzYikgY29uc3QgeworKyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5l bF9zdGF0KiBzYikgY29uc3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVy biAtRUZBVUxUOworIAorQEAgLTE4MSw3ICsxODEsNyBAQCBpbnQgQnJva2VyQ2xpZW50OjpTdGF0 KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorIAorIGludCBCcm9rZXJDbGllbnQ6OlN0YXQ2NChjb25z dCBjaGFyKiBwYXRobmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3df bGlua3MsCistICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzdGF0NjQqIHNiKSBjb25z dCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdDY0KiBzYikg Y29uc3QgeworICAgaWYgKCFwYXRobmFtZSB8fCAhc2IpCisgICAgIHJldHVybiAtRUZBVUxUOwor IAorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2NsaWVu dC5oIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK2luZGV4 IDA1ZTE0YzgzZjIwMTAuLjI2Y2E3ODEwMWM3MWMgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9jbGllbnQuaAorKysrIGIvc2FuZGJveC9saW51eC9zeXNj YWxsX2Jyb2tlci9icm9rZXJfY2xpZW50LmgKK0BAIC02MSwxMCArNjEsMTAgQEAgY2xhc3MgU0FO REJPWF9FWFBPUlQgQnJva2VyQ2xpZW50IDogcHVibGljIFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAg IGludCBSbWRpcihjb25zdCBjaGFyKiBwYXRoKSBjb25zdCBvdmVycmlkZTsKKyAgIGludCBTdGF0 KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCist ICAgICAgICAgICBzdHJ1Y3Qgc3RhdCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAgICAg c3RydWN0IGtlcm5lbF9zdGF0KiBzYikgY29uc3Qgb3ZlcnJpZGU7CisgICBpbnQgU3RhdDY0KGNv bnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0g ICAgICAgICAgICAgc3RydWN0IHN0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworKyAgICAgICAg ICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2NCogc2IpIGNvbnN0IG92ZXJyaWRlOworICAgaW50IFVu bGluayhjb25zdCBjaGFyKiB1bmxpbmspIGNvbnN0IG92ZXJyaWRlOworIAorICBwcml2YXRlOgor ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2hvc3QuY2Mg Yi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9ob3N0LmNjCitpbmRleCAxY2Qw M2ExOGRmODA5Li4xY2RjMDFhODg4ZjQxIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNj YWxsX2Jyb2tlci9icm9rZXJfaG9zdC5jYworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jy b2tlci9icm9rZXJfaG9zdC5jYworQEAgLTIwLDkgKzIwLDExIEBACisgI2luY2x1ZGUgImJhc2Uv ZmlsZXMvc2NvcGVkX2ZpbGUuaCIKKyAjaW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisgI2luY2x1 ZGUgImJhc2UvcG9zaXgvZWludHJfd3JhcHBlci5oIgorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9z eXNjYWxsX2Jyb2tlci9icm9rZXJfY29tbWFuZC5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wZXJtaXNzaW9uX2xpc3QuaCIKKyAjaW5jbHVkZSAic2Fu ZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfc2ltcGxlX21lc3NhZ2UuaCIKKysjaW5j bHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisgI2luY2x1 ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCIKKyAKKyBu YW1lc3BhY2Ugc2FuZGJveCB7CitAQCAtMTkzLDEwICsxOTUsMTIgQEAgdm9pZCBTdGF0RmlsZUZv cklQQyhjb25zdCBCcm9rZXJDb21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBS QVdfQ0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgtcGVybWlzc2lvbl9saXN0LmRlbmllZF9l cnJubygpKSk7CisgICAgIHJldHVybjsKKyAgIH0KKysKKyAgIGlmIChjb21tYW5kX3R5cGUgPT0g Q09NTUFORF9TVEFUKSB7CistICAgIHN0cnVjdCBzdGF0IHNiOworLSAgICBpbnQgc3RzID0KKy0g ICAgICAgIGZvbGxvd19saW5rcyA/IHN0YXQoZmlsZV90b19hY2Nlc3MsICZzYikgOiBsc3RhdChm aWxlX3RvX2FjY2VzcywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0IHNiOworKworKyAg ICBpbnQgc3RzID0gZm9sbG93X2xpbmtzID8gc2FuZGJveDo6c3lzX3N0YXQoZmlsZV90b19hY2Nl c3MsICZzYikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHNhbmRib3g6OnN5c19sc3Rh dChmaWxlX3RvX2FjY2VzcywgJnNiKTsKKyAgICAgaWYgKHN0cyA8IDApIHsKKyAgICAgICBSQVdf Q0hFQ0socmVwbHktPkFkZEludFRvTWVzc2FnZSgtZXJybm8pKTsKKyAgICAgICByZXR1cm47CitA QCAtMjA1LDEwICsyMDksMTIgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJDb21t YW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0soCisgICAgICAgICBy ZXBseS0+QWRkRGF0YVRvTWVzc2FnZShyZWludGVycHJldF9jYXN0PGNoYXIqPigmc2IpLCBzaXpl b2Yoc2IpKSk7CisgICB9IGVsc2UgeworKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorICAg ICBEQ0hFQ0soY29tbWFuZF90eXBlID09IENPTU1BTkRfU1RBVDY0KTsKKy0gICAgc3RydWN0IHN0 YXQ2NCBzYjsKKy0gICAgaW50IHN0cyA9IGZvbGxvd19saW5rcyA/IHN0YXQ2NChmaWxlX3RvX2Fj Y2VzcywgJnNiKQorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIDogbHN0YXQ2NChmaWxlX3Rv X2FjY2VzcywgJnNiKTsKKysgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQgc2I7CisrCisrICAgIGlu dCBzdHMgPSBzYW5kYm94OjpzeXNfZnN0YXRhdDY0KEFUX0ZEQ1dELCBmaWxlX3RvX2FjY2Vzcywg JnNiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfbGlua3Mg PyAwIDogQVRfU1lNTElOS19OT0ZPTExPVyk7CisgICAgIGlmIChzdHMgPCAwKSB7CisgICAgICAg UkFXX0NIRUNLKHJlcGx5LT5BZGRJbnRUb01lc3NhZ2UoLWVycm5vKSk7CisgICAgICAgcmV0dXJu OworQEAgLTIxNiw2ICsyMjIsMTEgQEAgdm9pZCBTdGF0RmlsZUZvcklQQyhjb25zdCBCcm9rZXJD b21tYW5kU2V0JiBhbGxvd2VkX2NvbW1hbmRfc2V0LAorICAgICBSQVdfQ0hFQ0socmVwbHktPkFk ZEludFRvTWVzc2FnZSgwKSk7CisgICAgIFJBV19DSEVDSygKKyAgICAgICAgIHJlcGx5LT5BZGRE YXRhVG9NZXNzYWdlKHJlaW50ZXJwcmV0X2Nhc3Q8Y2hhcio+KCZzYiksIHNpemVvZihzYikpKTsK KysjZWxzZSAgLy8gZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysgICAgLy8gV2Ugc2hvdWxkIG5v dCByZWFjaCBoZXJlIG9uIDY0LWJpdCBzeXN0ZW1zLCBhcyB0aGUgKnN0YXQqNjQoKSBhcmUgb25s eQorKyAgICAvLyBuZWNlc3Nhcnkgb24gMzItYml0LgorKyAgICBSQVdfQ0hFQ0soZmFsc2UpOwor KyNlbmRpZgorICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL2Jyb2tlcl9wcm9jZXNzX3VuaXR0ZXN0LmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9icm9rZXJfcHJvY2Vzc191bml0dGVzdC5jYworaW5kZXggNTViYTZiY2NiMjllYy4u YzY1ZjI1YTc4YTk5OSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKKysrKyBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9i cm9rZXIvYnJva2VyX3Byb2Nlc3NfdW5pdHRlc3QuY2MKK0BAIC04MTEsNyArODExLDcgQEAgdm9p ZCBUZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19s aW5rcykgeworICAgY29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDUgPSAiL21ib2dvL2ZpY3Rp dGlvdXgiOworICAgY29uc3QgY2hhciogYmFkX2xlYWRpbmdfcGF0aDYgPSAiL21ib2dvL2ZpY3Rp dGlvdXNhIjsKKyAKKy0gIHN0cnVjdCBzdGF0IHNiOworKyAgZGVmYXVsdF9zdGF0X3N0cnVjdCBz YjsKKyAKKyAgIHsKKyAgICAgLy8gQWN0dWFsIGZpbGUgd2l0aCBwZXJtaXNzaW9ucyB0byBzZWUg ZmlsZSBidXQgY29tbWFuZCBub3QgYWxsb3dlZC4KK0BAIC04MjQsNyArODI0LDcgQEAgdm9pZCBU ZXN0U3RhdEhlbHBlcihib29sIGZhc3RfY2hlY2tfaW5fY2xpZW50LCBib29sIGZvbGxvd19saW5r cykgeworIAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKyAgICAgRVhQRUNUX0VR KC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIu R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAg ICAgICAgICAgICAgICAgIHRlbXBmaWxlX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9 CisgCitAQCAtODQwLDcgKzg0MCw3IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2No ZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAKKyAgICAgbWVtc2V0KCZzYiwg MCwgc2l6ZW9mKHNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3Rh dCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBub25lc3VjaF9u YW1lLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgfQorICAgeworQEAgLTg1Miw3ICs4NTIsNyBA QCB2b2lkIFRlc3RTdGF0SGVscGVyKGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9s bG93X2xpbmtzKSB7CisgCisgICAgIG1lbXNldCgmc2IsIDAsIHNpemVvZihzYikpOworICAgICBF WFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2Vy LkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVu X2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rp bmcoCisgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2Ip KTsKKyAgIH0KKyAgIHsKK0BAIC04NjQsMzggKzg2NCwzOSBAQCB2b2lkIFRlc3RTdGF0SGVscGVy KGJvb2wgZmFzdF9jaGVja19pbl9jbGllbnQsIGJvb2wgZm9sbG93X2xpbmtzKSB7CisgICAgIEFT U0VSVF9UUlVFKG9wZW5fYnJva2VyLkluaXQoYmFzZTo6QmluZE9uY2UoJk5vT3BDYWxsYmFjaykp KTsKKyAKKyAgICAgbWVtc2V0KCZzYiwgMCwgc2l6ZW9mKHNiKSk7CistICAgIEVYUEVDVF9FUSgt RU5PRU5ULCBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywg JnNiKSk7CisrICAgIEVYUEVDVF9FUSgtRU5PRU5ULAorKyAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAor KyAgICAgICAgICAgICAgICAgIG5vbmVzdWNoX25hbWUsIGZvbGxvd19saW5rcywgJnNiKSk7Cisg CisgICAgIC8vIEdldHMgZGVuaWVkIGFsbCB0aGUgd2F5IGJhY2sgdG8gcm9vdCBzaW5jZSBubyBj cmVhdGUgcGVybWlzc2lvbi4KKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCist ICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5T dGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFz ZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGxlYWRpbmdf cGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1Nl bnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFs QmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAg ICBsZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtG YWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAg ICAgICAgICAgICAgbGVhZGluZ19wYXRoMywgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAg Ly8gTm90IGZvb2xlZCBieSBzdWJzdHJpbmdzLgorICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9T ZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25h bEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGll bnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAg ICAgYmFkX2xlYWRpbmdfcGF0aDEsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9F USgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJv a2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2Vy LkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAg ICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVu X2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAg ICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRG b3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGgzLCBmb2xsb3df bGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5lbCwKKy0gICAg ICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQo CisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgp LT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFkX2xlYWRpbmdf cGF0aDQsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1Nl bnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFs QmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVu dFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAg ICBiYWRfbGVhZGluZ19wYXRoNSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VR KC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9r ZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIu R2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAg ICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg2LCBmb2xsb3dfbGlua3MsICZzYikpOwor ICAgfQorICAgeworQEAgLTkwNywzNyArOTA4LDQxIEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9v bCBmYXN0X2NoZWNrX2luX2NsaWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNTRVJU X1RSVUUob3Blbl9icm9rZXIuSW5pdChiYXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkpOwor IAorICAgICBtZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKC1FTk9F TlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2Ip KTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5H ZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAg ICAgICAgICAgICAgICAgbm9uZXN1Y2hfbmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAg ICAgLy8gR2V0cyBFTk9FTlQgYWxsIHRoZSB3YXkgYmFjayB0byByb290IHNpbmNlIGl0IGhhcyBj cmVhdGUgcGVybWlzc2lvbi4KKy0gICAgRVhQRUNUX0VRKC1FTk9FTlQsIG9wZW5fYnJva2VyLkdl dEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKy0gICAgRVhQRUNUX0VR KC1FTk9FTlQsIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPlN0YXQo CistICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtz LCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jy b2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3Rpbmco CisrICAgICAgICAgICAgICAgICAgbGVhZGluZ19wYXRoMSwgZm9sbG93X2xpbmtzLCAmc2IpKTsK KysgICAgRVhQRUNUX0VRKC1FTk9FTlQsCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisrICAgICAg ICAgICAgICAgICAgbGVhZGluZ19wYXRoMiwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAKKyAgICAg Ly8gQnV0IGNhbiBhbHdheXMgZ2V0IHRoZSByb290LgorLSAgICBFWFBFQ1RfRVEoMCwgb3Blbl9i cm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKy0gICAgICAgICAgICAg ICAgICAgICBsZWFkaW5nX3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworKyAgICBFWFBFQ1Rf RVEoMCwKKysgICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJh c2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVzdGluZygKKysgICAgICAgICAgICAgICAgICBsZWFkaW5n X3BhdGgzLCBmb2xsb3dfbGlua3MsICZzYikpOworIAorICAgICAvLyBOb3QgZm9vbGVkIGJ5IHN1 YnN0cmluZ3MuCisgICAgIEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAg ICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysg ICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRl ZmF1bHRTdGF0Rm9yVGVzdGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRo MSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGlu ZWwsCistICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNl ZCgpLT5TdGF0KAorKyAgICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2ln bmFsQmFzZWQoKS0+RGVmYXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJh ZF9sZWFkaW5nX3BhdGgyLCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtG YWtlRXJybm9TZW50aW5lbCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRC cm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAg ICAgICAgICAgICAgYmFkX2xlYWRpbmdfcGF0aDMsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICAg IEVYUEVDVF9FUSgta0Zha2VFcnJub1NlbnRpbmVsLAorLSAgICAgICAgICAgICAgb3Blbl9icm9r ZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+U3RhdCgKKysgICAgICAgICAgICAgIG9w ZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2VkKCktPkRlZmF1bHRTdGF0Rm9yVGVz dGluZygKKyAgICAgICAgICAgICAgICAgICBiYWRfbGVhZGluZ19wYXRoNCwgZm9sbG93X2xpbmtz LCAmc2IpKTsKKyAgICAgRVhQRUNUX0VRKC1rRmFrZUVycm5vU2VudGluZWwsCistICAgICAgICAg ICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5TdGF0KAorKyAg ICAgICAgICAgICAgb3Blbl9icm9rZXIuR2V0QnJva2VyQ2xpZW50U2lnbmFsQmFzZWQoKS0+RGVm YXVsdFN0YXRGb3JUZXN0aW5nKAorICAgICAgICAgICAgICAgICAgIGJhZF9sZWFkaW5nX3BhdGg1 LCBmb2xsb3dfbGlua3MsICZzYikpOworICAgICBFWFBFQ1RfRVEoLWtGYWtlRXJybm9TZW50aW5l bCwKKy0gICAgICAgICAgICAgIG9wZW5fYnJva2VyLkdldEJyb2tlckNsaWVudFNpZ25hbEJhc2Vk KCktPlN0YXQoCisrICAgICAgICAgICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWdu YWxCYXNlZCgpLT5EZWZhdWx0U3RhdEZvclRlc3RpbmcoCisgICAgICAgICAgICAgICAgICAgYmFk X2xlYWRpbmdfcGF0aDYsIGZvbGxvd19saW5rcywgJnNiKSk7CisgICB9CisgICB7CitAQCAtOTQ5 LDggKzk1NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2NsaWVu dCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgQVNTRVJUX1RSVUUob3Blbl9icm9rZXIuSW5p dChiYXNlOjpCaW5kT25jZSgmTm9PcENhbGxiYWNrKSkpOworIAorICAgICBtZW1zZXQoJnNiLCAw LCBzaXplb2Yoc2IpKTsKKy0gICAgRVhQRUNUX0VRKDAsIG9wZW5fYnJva2VyLkdldEJyb2tlckNs aWVudFNpZ25hbEJhc2VkKCktPlN0YXQoCistICAgICAgICAgICAgICAgICAgICAgdGVtcGZpbGVf bmFtZSwgZm9sbG93X2xpbmtzLCAmc2IpKTsKKysgICAgRVhQRUNUX0VRKDAsCisrICAgICAgICAg ICAgICBvcGVuX2Jyb2tlci5HZXRCcm9rZXJDbGllbnRTaWduYWxCYXNlZCgpLT5EZWZhdWx0U3Rh dEZvclRlc3RpbmcoCisrICAgICAgICAgICAgICAgICAgdGVtcGZpbGVfbmFtZSwgZm9sbG93X2xp bmtzLCAmc2IpKTsKKyAKKyAgICAgLy8gRm9sbG93aW5nIGZpZWxkcyBtYXkgbmV2ZXIgYmUgY29u c2lzdGVudCBidXQgc2hvdWxkIGJlIG5vbi16ZXJvLgorICAgICAvLyBEb24ndCB0cnVzdCB0aGUg cGxhdGZvcm0gdG8gZGVmaW5lIGZpZWxkcyB3aXRoIGFueSBwYXJ0aWN1bGFyIHNpZ24uCitAQCAt OTY4LDkgKzk3NCw5IEBAIHZvaWQgVGVzdFN0YXRIZWxwZXIoYm9vbCBmYXN0X2NoZWNrX2luX2Ns aWVudCwgYm9vbCBmb2xsb3dfbGlua3MpIHsKKyAgICAgRVhQRUNUX0VRKDEyLCBzYi5zdF9zaXpl KTsKKyAKKyAgICAgLy8gQ2FuJ3QgZ28gYmFja3dhcmRzIGluIHRpbWUsIDE1MDAwMDAwMDAgd2Fz IHNvbWUgdGltZSBhZ28uCistICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8 dW5zaWduZWQgaW50PihzYi5zdF9hdGltZSkpOworLSAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUs IHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfbXRpbWUpKTsKKy0gICAgRVhQRUNUX0xU KDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KHNiLnN0X2N0aW1lKSk7Cisr ICAgIEVYUEVDVF9MVCgxNTAwMDAwMDAwdSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihzYi5z dF9hdGltZV8pKTsKKysgICAgRVhQRUNUX0xUKDE1MDAwMDAwMDB1LCBzdGF0aWNfY2FzdDx1bnNp Z25lZCBpbnQ+KHNiLnN0X210aW1lXykpOworKyAgICBFWFBFQ1RfTFQoMTUwMDAwMDAwMHUsIHN0 YXRpY19jYXN0PHVuc2lnbmVkIGludD4oc2Iuc3RfY3RpbWVfKSk7CisgICB9CisgfQorIAorZGlm ZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvcmVtb3RlX3N5c2NhbGxfYXJn X2hhbmRsZXJfdW5pdHRlc3QuY2MgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3JlbW90 ZV9zeXNjYWxsX2FyZ19oYW5kbGVyX3VuaXR0ZXN0LmNjCitpbmRleCBmZmZhOWJiNzA4MmNlLi5m NTE3YTk4NjdjNWRlIDEwMDY0NAorLS0tIGEvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9y ZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYworKysrIGIvc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9yZW1vdGVfc3lzY2FsbF9hcmdfaGFuZGxlcl91bml0dGVzdC5jYwor QEAgLTE2LDYgKzE2LDcgQEAKKyAjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcGFnZV9zaXplLmgiCisg I2luY2x1ZGUgImJhc2UvcG9zaXgvdW5peF9kb21haW5fc29ja2V0LmgiCisgI2luY2x1ZGUgImJh c2UvdGVzdC9iaW5kLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGls cy5oIgorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3VuaXRfdGVzdHMuaCIKKyAjaW5j bHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCisgCitAQCAtNTIsMTkg KzUzLDYgQEAgdm9pZCBWZXJpZnlDb3JyZWN0U3RyaW5nKHN0ZDo6c3RyaW5nIHN0ciwgc2l6ZV90 IHNpemUpIHsKKyAgIH0KKyB9CisgCistdm9pZCogTWFwUGFnZXNPckRpZShzaXplX3QgbnVtX3Bh Z2VzKSB7CistICB2b2lkKiBhZGRyID0gbW1hcChudWxscHRyLCBudW1fcGFnZXMgKiBiYXNlOjpH ZXRQYWdlU2l6ZSgpLAorLSAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklU RSwgTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTLCAtMSwgMCk7CistICBQQ0hFQ0soYWRkcik7 CistICByZXR1cm4gYWRkcjsKKy19CistCistdm9pZCBNcHJvdGVjdExhc3RQYWdlT3JEaWUoY2hh ciogYWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworLSAgc2l6ZV90IGxhc3RfcGFnZV9vZmZzZXQg PSAobnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgUENIRUNLKG1wcm90 ZWN0KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpHZXRQYWdlU2l6ZSgpLCBQUk9UX05P TkUpID49CistICAgICAgICAgMCk7CistfQorLQorIHBpZF90IEZvcmtXYWl0aW5nQ2hpbGQoYmFz ZTo6T25jZUNhbGxiYWNrPHZvaWQoaW50KT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBh ZnRlcl9wYXJlbnRfc2lnbmFsc19jYWxsYmFjayA9IGJhc2U6OkRvTm90aGluZygpLAorICAgICAg ICAgICAgICAgICAgICAgICAgYmFzZTo6U2NvcGVkRkQqIHBhcmVudF9zeW5jX2ZkID0gbnVsbHB0 cikgeworQEAgLTEwNSwxMyArOTMsMTMgQEAgdm9pZCBSZWFkVGVzdChjb25zdCBSZWFkVGVzdENv bmZpZyYgdGVzdF9jb25maWcpIHsKKyAgIHNpemVfdCB0b3RhbF9wYWdlcyA9ICh0ZXN0X2NvbmZp Zy5zdGFydF9hdCArIHRlc3RfY29uZmlnLnRvdGFsX3NpemUgKworICAgICAgICAgICAgICAgICAg ICAgICAgIGJhc2U6OkdldFBhZ2VTaXplKCkgLSAxKSAvCisgICAgICAgICAgICAgICAgICAgICAg ICBiYXNlOjpHZXRQYWdlU2l6ZSgpOworLSAgY2hhciogbW1hcF9hZGRyID0gc3RhdGljX2Nhc3Q8 Y2hhcio+KE1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMpKTsKKysgIGNoYXIqIG1tYXBfYWRkciA9 IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUodG90YWxfcGFnZXMp KTsKKyAgIGNoYXIqIGFkZHIgPSBtbWFwX2FkZHIgKyB0ZXN0X2NvbmZpZy5zdGFydF9hdDsKKyAg IEZpbGxCdWZmZXJXaXRoUGF0aChhZGRyLCB0ZXN0X2NvbmZpZy50b3RhbF9zaXplLAorICAgICAg ICAgICAgICAgICAgICAgIHRlc3RfY29uZmlnLmluY2x1ZGVfbnVsbF9ieXRlKTsKKyAKKyAgIGlm ICh0ZXN0X2NvbmZpZy5sYXN0X3BhZ2VfaW5hY2Nlc3NpYmxlKQorLSAgICBNcHJvdGVjdExhc3RQ YWdlT3JEaWUobW1hcF9hZGRyLCB0b3RhbF9wYWdlcyk7CisrICAgIFRlc3RVdGlsczo6TXByb3Rl Y3RMYXN0UGFnZU9yRGllKG1tYXBfYWRkciwgdG90YWxfcGFnZXMpOworIAorICAgcGlkX3QgcGlk ID0gRm9ya1dhaXRpbmdDaGlsZCgpOworICAgbXVubWFwKG1tYXBfYWRkciwgYmFzZTo6R2V0UGFn ZVNpemUoKSAqIHRvdGFsX3BhZ2VzKTsKK0BAIC0yMTIsNyArMjAwLDcgQEAgU0FOREJPWF9URVNU KEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBSZWFkQ2h1bmtQbHVzMUVuZGluZ09uZVBh c3RQYWdlKSB7CisgfQorIAorIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1vdGVTeXNjYWxsQXJnSGFu ZGxlciwgUmVhZENoaWxkRXhpdGVkKSB7CistICB2b2lkKiBhZGRyID0gTWFwUGFnZXNPckRpZSgx KTsKKysgIHZvaWQqIGFkZHIgPSBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSk7CisgICBGaWxs QnVmZmVyV2l0aFBhdGgoc3RhdGljX2Nhc3Q8Y2hhcio+KGFkZHIpLCBzdHJsZW4oa1BhdGhQYXJ0 KSArIDEsIHRydWUpOworIAorICAgYmFzZTo6U2NvcGVkRkQgcGFyZW50X3N5bmMsIGNoaWxkX3N5 bmM7CitAQCAtMjQwLDEwICsyMjgsMTAgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2Nh bGxBcmdIYW5kbGVyLCBSZWFkQ2hpbGRFeGl0ZWQpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJy b2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBCYXNpY1dyaXRlKSB7CistICB2b2lkKiByZWFk X2Zyb20gPSBNYXBQYWdlc09yRGllKDEpOworKyAgdm9pZCogcmVhZF9mcm9tID0gVGVzdFV0aWxz OjpNYXBQYWdlc09yRGllKDEpOworICAgY29uc3Qgc2l6ZV90IHdyaXRlX3NpemUgPSBiYXNlOjpH ZXRQYWdlU2l6ZSgpOworICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihy ZWFkX2Zyb20pLCB3cml0ZV9zaXplLCBmYWxzZSk7CistICBjaGFyKiB3cml0ZV90byA9IHN0YXRp Y19jYXN0PGNoYXIqPihNYXBQYWdlc09yRGllKDEpKTsKKysgIGNoYXIqIHdyaXRlX3RvID0gc3Rh dGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgxKSk7CisgICBiYXNlOjpT Y29wZWRGRCBwYXJlbnRfc2lnbmFsX2ZkOworICAgY29uc3Qgc3RkOjp2ZWN0b3I8aW50PiBlbXB0 eV9mZF92ZWM7CisgCitAQCAtMjc4LDggKzI2Niw4IEBAIFNBTkRCT1hfVEVTVChCcm9rZXJSZW1v dGVTeXNjYWxsQXJnSGFuZGxlciwgQmFzaWNXcml0ZSkgeworIH0KKyAKKyBTQU5EQk9YX1RFU1Qo QnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgewor LSAgY2hhciogd3JpdGVfdG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oTWFwUGFnZXNPckRpZSgxKSk7 CistICBNcHJvdGVjdExhc3RQYWdlT3JEaWUod3JpdGVfdG8sIDEpOworKyAgY2hhciogd3JpdGVf dG8gPSBzdGF0aWNfY2FzdDxjaGFyKj4oVGVzdFV0aWxzOjpNYXBQYWdlc09yRGllKDEpKTsKKysg IFRlc3RVdGlsczo6TXByb3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAxKTsKKyAgIGJhc2U6 OlNjb3BlZEZEIHBhcmVudF9zaWduYWxfZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVt cHR5X2ZkX3ZlYzsKKyAKK0BAIC0yOTUsMTEgKzI4MywxMSBAQCBTQU5EQk9YX1RFU1QoQnJva2Vy UmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlVG9JbnZhbGlkQWRkcmVzcykgeworIH0KKyAK KyBTQU5EQk9YX1RFU1QoQnJva2VyUmVtb3RlU3lzY2FsbEFyZ0hhbmRsZXIsIFdyaXRlUGFydGlh bGx5VG9JbnZhbGlkQWRkcmVzcykgeworLSAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nhc3Q8 Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMikpOworKyAgY2hhciogcmVhZF9mcm9tID0gc3RhdGljX2Nh c3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisgICBjb25zdCBzaXplX3Qg d3JpdGVfc2l6ZSA9IGJhc2U6OkdldFBhZ2VTaXplKCk7CisgICBGaWxsQnVmZmVyV2l0aFBhdGgo c3RhdGljX2Nhc3Q8Y2hhcio+KHJlYWRfZnJvbSksIHdyaXRlX3NpemUsIGZhbHNlKTsKKy0gIGNo YXIqIHdyaXRlX3RvID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMikpOworLSAg TXByb3RlY3RMYXN0UGFnZU9yRGllKHdyaXRlX3RvLCAyKTsKKysgIGNoYXIqIHdyaXRlX3RvID0g c3RhdGljX2Nhc3Q8Y2hhcio+KFRlc3RVdGlsczo6TWFwUGFnZXNPckRpZSgyKSk7CisrICBUZXN0 VXRpbHM6Ok1wcm90ZWN0TGFzdFBhZ2VPckRpZSh3cml0ZV90bywgMik7CisgICB3cml0ZV90byAr PSBiYXNlOjpHZXRQYWdlU2l6ZSgpIC8gMjsKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zaWdu YWxfZmQ7CisgICBjb25zdCBzdGQ6OnZlY3RvcjxpbnQ+IGVtcHR5X2ZkX3ZlYzsKK0BAIC0zMTQs NyArMzAyLDcgQEAgU0FOREJPWF9URVNUKEJyb2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBX cml0ZVBhcnRpYWxseVRvSW52YWxpZEFkZHJlc3MpIHsKKyB9CisgCisgU0FOREJPWF9URVNUKEJy b2tlclJlbW90ZVN5c2NhbGxBcmdIYW5kbGVyLCBXcml0ZUNoaWxkRXhpdGVkKSB7CistICBjaGFy KiBhZGRyID0gc3RhdGljX2Nhc3Q8Y2hhcio+KE1hcFBhZ2VzT3JEaWUoMSkpOworKyAgY2hhciog YWRkciA9IHN0YXRpY19jYXN0PGNoYXIqPihUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoMSkpOwor ICAgRmlsbEJ1ZmZlcldpdGhQYXRoKHN0YXRpY19jYXN0PGNoYXIqPihhZGRyKSwgc3RybGVuKGtQ YXRoUGFydCkgKyAxLCB0cnVlKTsKKyAKKyAgIGJhc2U6OlNjb3BlZEZEIHBhcmVudF9zeW5jLCBj aGlsZF9zeW5jOworZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvc3lz Y2FsbF9kaXNwYXRjaGVyLmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxs X2Rpc3BhdGNoZXIuY2MKK2luZGV4IGI5ZWU5M2MxNGFjNTkuLjhhNDIzOTdlZjg3MmUgMTAwNjQ0 CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlzcGF0Y2hlci5j YworKysrIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIu Y2MKK0BAIC0xOSw4ICsxOSwxOCBAQCBuYW1lc3BhY2Ugc3lzY2FsbF9icm9rZXIgeworICNkZWZp bmUgQlJPS0VSX1VOUE9JU09OX1NUUklORyh4KQorICNlbmRpZgorIAorK2ludCBTeXNjYWxsRGlz cGF0Y2hlcjo6RGVmYXVsdFN0YXRGb3JUZXN0aW5nKGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZm9sbG93X2xp bmtzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1 bHRfc3RhdF9zdHJ1Y3QqIHNiKSB7CisrI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCisrICBy ZXR1cm4gU3RhdDY0KHBhdGhuYW1lLCBmb2xsb3dfbGlua3MsIHNiKTsKKysjZWxpZiBkZWZpbmVk KF9fTlJfbmV3ZnN0YXRhdCkKKysgIHJldHVybiBTdGF0KHBhdGhuYW1lLCBmb2xsb3dfbGlua3Ms IHNiKTsKKysjZW5kaWYKKyt9CisrCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtU3Rh dGF0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sIGFyY2g2NCkgeworKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib29sIHN0YXQ2NCkgeworICAgaWYgKHN0YXRpY19jYXN0PGludD4oYXJn cy5hcmdzWzBdKSAhPSBBVF9GRENXRCkKKyAgICAgcmV0dXJuIC1FUEVSTTsKKyAgIC8vIE9ubHkg YWxsb3cgdGhlIEFUX1NZTUxJTktfTk9GT0xMT1cgZmxhZyB3aGljaCBpcyB1c2VkIGJ5IHNvbWUg bGliYworQEAgLTMwLDEzICs0MCwyOSBAQCBpbnQgU3lzY2FsbERpc3BhdGNoZXI6OlBlcmZvcm1T dGF0YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsCisgCisgICBjb25zdCBib29sIGZv bGxvd19saW5rcyA9CisgICAgICAgIShzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1szXSkgJiBB VF9TWU1MSU5LX05PRk9MTE9XKTsKKy0gIGlmIChhcmNoNjQpIHsKKysgIGlmIChzdGF0NjQpIHsK KyAgICAgcmV0dXJuIFN0YXQ2NChyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFy Z3NbMV0pLCBmb2xsb3dfbGlua3MsCistICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz dDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJncy5hcmdzWzJdKSk7CisrICAgICAgICAgICAgICAgICAgcmVp bnRlcnByZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQ2NCo+KGFyZ3MuYXJnc1syXSkpOworICAg fQorIAorICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5h cmdzWzFdKSwgZm9sbG93X2xpbmtzLAorLSAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxz dHJ1Y3Qgc3RhdCo+KGFyZ3MuYXJnc1syXSkpOworKyAgICAgICAgICAgICAgcmVpbnRlcnByZXRf Y2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMl0pKTsKKyt9CisrCisraW50IFN5 c2NhbGxEaXNwYXRjaGVyOjpQZXJmb3JtVW5saW5rYXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEm IGFyZ3MpIHsKKysgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRfRkRD V0QpCisrICAgIHJldHVybiAtRVBFUk07CisrCisrICBpbnQgZmxhZ3MgPSBzdGF0aWNfY2FzdDxp bnQ+KGFyZ3MuYXJnc1syXSk7CisrCisrICBpZiAoZmxhZ3MgPT0gQVRfUkVNT1ZFRElSKSB7Cisr ICAgIHJldHVybiBSbWRpcihyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3Nb MV0pKTsKKysgIH0KKysKKysgIGlmIChmbGFncyAhPSAwKQorKyAgICByZXR1cm4gLUVQRVJNOwor KworKyAgcmV0dXJuIFVubGluayhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFy Z3NbMV0pKTsKKyB9CisgCisgaW50IFN5c2NhbGxEaXNwYXRjaGVyOjpEaXNwYXRjaFN5c2NhbGwo Y29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MpIHsKK0BAIC0xMjcsNTkgKzE1Myw0MiBAQCBp bnQgU3lzY2FsbERpc3BhdGNoZXI6OkRpc3BhdGNoU3lzY2FsbChjb25zdCBhcmNoX3NlY2NvbXBf ZGF0YSYgYXJncykgeworICNpZiBkZWZpbmVkKF9fTlJfc3RhdCkKKyAgICAgY2FzZSBfX05SX3N0 YXQ6CisgICAgICAgcmV0dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJn cy5hcmdzWzBdKSwgdHJ1ZSwKKy0gICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0 cnVjdCBzdGF0Kj4oYXJncy5hcmdzWzFdKSk7CisrICAgICAgICAgICAgICAgICAgcmVpbnRlcnBy ZXRfY2FzdDxzdHJ1Y3Qga2VybmVsX3N0YXQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAj aWYgZGVmaW5lZChfX05SX3N0YXQ2NCkKKyAgICAgY2FzZSBfX05SX3N0YXQ2NDoKKyAgICAgICBy ZXR1cm4gU3RhdDY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSks IHRydWUsCistICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0cnVjdCBzdGF0 NjQqPihhcmdzLmFyZ3NbMV0pKTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nh c3Q8c3RydWN0IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYg ZGVmaW5lZChfX05SX2xzdGF0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ6CisgICAgICAgLy8gU2Vl IGh0dHBzOi8vY3JidWcuY29tLzg0NzA5NgorICAgICAgIEJST0tFUl9VTlBPSVNPTl9TVFJJTkco cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSk7CisgICAgICAgcmV0 dXJuIFN0YXQocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5hcmdzWzBdKSwgZmFs c2UsCistICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdCo+KGFy Z3MuYXJnc1sxXSkpOworKyAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0 IGtlcm5lbF9zdGF0Kj4oYXJncy5hcmdzWzFdKSk7CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19O Ul9sc3RhdDY0KQorICAgICBjYXNlIF9fTlJfbHN0YXQ2NDoKKyAgICAgICAvLyBTZWUgaHR0cHM6 Ly9jcmJ1Zy5jb20vODQ3MDk2CisgICAgICAgQlJPS0VSX1VOUE9JU09OX1NUUklORyhyZWludGVy cHJldF9jYXN0PGNvbnN0IGNoYXIqPihhcmdzLmFyZ3NbMF0pKTsKKyAgICAgICByZXR1cm4gU3Rh dDY0KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSksIGZhbHNlLAor LSAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0Kj4oYXJn cy5hcmdzWzFdKSk7CistI2VuZGlmCistI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0KQorLSAgICBj YXNlIF9fTlJfZnN0YXRhdDoKKy0gICAgICByZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFy Y2g2ND0qL2ZhbHNlKTsKKysgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3Ry dWN0IGtlcm5lbF9zdGF0NjQqPihhcmdzLmFyZ3NbMV0pKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5l ZChfX05SX2ZzdGF0YXQ2NCkKKyAgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKKy0gICAgICByZXR1 cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL3RydWUpOworKyAgICAgIHJldHVybiBQ ZXJmb3JtU3RhdGF0KGFyZ3MsIC8qc3RhdDY0PSovdHJ1ZSk7CisgI2VuZGlmCisgI2lmIGRlZmlu ZWQoX19OUl9uZXdmc3RhdGF0KQorICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKKy0gICAgICBy ZXR1cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKmFyY2g2ND0qL2ZhbHNlKTsKKysgICAgICByZXR1 cm4gUGVyZm9ybVN0YXRhdChhcmdzLCAvKnN0YXQ2ND0qL2ZhbHNlKTsKKyAjZW5kaWYKKyAjaWYg ZGVmaW5lZChfX05SX3VubGluaykKKyAgICAgY2FzZSBfX05SX3VubGluazoKKyAgICAgICByZXR1 cm4gVW5saW5rKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1swXSkpOwor ICNlbmRpZgorICNpZiBkZWZpbmVkKF9fTlJfdW5saW5rYXQpCistICAgIGNhc2UgX19OUl91bmxp bmthdDogeworLSAgICAgIGlmIChzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSkgIT0gQVRf RkRDV0QpCistICAgICAgICByZXR1cm4gLUVQRVJNOworLQorLSAgICAgIGludCBmbGFncyA9IHN0 YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzJdKTsKKy0KKy0gICAgICBpZiAoZmxhZ3MgPT0gQVRf UkVNT1ZFRElSKSB7CistICAgICAgICByZXR1cm4gUm1kaXIocmVpbnRlcnByZXRfY2FzdDxjb25z dCBjaGFyKj4oYXJncy5hcmdzWzFdKSk7CistICAgICAgfQorLQorLSAgICAgIGlmIChmbGFncyAh PSAwKQorLSAgICAgICAgcmV0dXJuIC1FUEVSTTsKKy0KKy0gICAgICByZXR1cm4gVW5saW5rKHJl aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkpOworLSAgICB9CisrICAg IGNhc2UgX19OUl91bmxpbmthdDoKKysgICAgICByZXR1cm4gUGVyZm9ybVVubGlua2F0KGFyZ3Mp OworICNlbmRpZiAgLy8gZGVmaW5lZChfX05SX3VubGlua2F0KQorICAgICBkZWZhdWx0OgorICAg ICAgIFJBV19DSEVDSyhmYWxzZSk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXNjYWxs X2Jyb2tlci9zeXNjYWxsX2Rpc3BhdGNoZXIuaCBiL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9r ZXIvc3lzY2FsbF9kaXNwYXRjaGVyLmgKK2luZGV4IGQ4Yjg4NzRhZDljZTQuLjFkNjY1M2NhZjNi ZDIgMTAwNjQ0CistLS0gYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlz cGF0Y2hlci5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL3N5c2NhbGxfZGlz cGF0Y2hlci5oCitAQCAtOSwxMyArOSwxNSBAQAorICNpbmNsdWRlIDxjc3RkZGVmPgorIAorICNp bmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaCIKKysj aW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgiCisrI2lu Y2x1ZGUgInNhbmRib3gvc2FuZGJveF9leHBvcnQuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7 CisgbmFtZXNwYWNlIHN5c2NhbGxfYnJva2VyIHsKKyAKKyAvLyBBbiBhYnN0cmFjdCBjbGFzcyB0 aGF0IGRlZmluZXMgYWxsIHRoZSBzeXN0ZW0gY2FsbHMgd2UgcGVyZm9ybSBmb3IgdGhlCisgLy8g c2FuZGJveGVkIHByb2Nlc3MuCistY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIgeworK2NsYXNzIFNB TkRCT1hfRVhQT1JUIFN5c2NhbGxEaXNwYXRjaGVyIHsKKyAgcHVibGljOgorICAgLy8gRW11bGF0 ZXMgYWNjZXNzKCkvZmFjY2Vzc2F0KCkuCisgICAvLyBYX09LIHdpbGwgYWx3YXlzIHJldHVybiBh biBlcnJvciBpbiBwcmFjdGljZSBzaW5jZSB0aGUgYnJva2VyIHByb2Nlc3MKK0BAIC00MCwxOSAr NDIsMzQgQEAgY2xhc3MgU3lzY2FsbERpc3BhdGNoZXIgeworICAgdmlydHVhbCBpbnQgUm1kaXIo Y29uc3QgY2hhciogcGF0aCkgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgc3RhdCgpL3N0 YXQ2NCgpL2xzdGF0KCkvbHN0YXQ2NCgpL2ZzdGF0YXQoKS9uZXdmc3RhdGF0KCkuCisrICAvLyBT dGF0NjQgaXMgb25seSBhdmFpbGFibGUgb24gMzItYml0IHN5c3RlbXMuCisgICB2aXJ0dWFsIGlu dCBTdGF0KGNvbnN0IGNoYXIqIHBhdGhuYW1lLAorICAgICAgICAgICAgICAgICAgICBib29sIGZv bGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQqIHNiKSBjb25zdCA9 IDA7CisrICAgICAgICAgICAgICAgICAgIHN0cnVjdCBrZXJuZWxfc3RhdCogc2IpIGNvbnN0ID0g MDsKKyAgIHZpcnR1YWwgaW50IFN0YXQ2NChjb25zdCBjaGFyKiBwYXRobmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICBib29sIGZvbGxvd19saW5rcywKKy0gICAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgc3RhdDY0KiBzYikgY29uc3QgPSAwOworKyAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBrZXJuZWxfc3RhdDY0KiBzYikgY29uc3QgPSAwOworIAorICAgLy8gRW11bGF0ZXMgdW5saW5r KCkvdW5saW5rYXQoKS4KKyAgIHZpcnR1YWwgaW50IFVubGluayhjb25zdCBjaGFyKiB1bmxpbmsp IGNvbnN0ID0gMDsKKyAKKysgIC8vIERpZmZlcmVudCBhcmNoaXRlY3R1cmVzIHVzZSBhIGRpZmZl cmVudCBzeXNjYWxsIGZyb20gdGhlIHN0YXQgZmFtaWx5IGJ5CisrICAvLyBkZWZhdWx0IGluIGds aWJjLiBFLmcuIDMyLWJpdCBzeXN0ZW1zIHVzZSAqc3RhdCo2NCgpIGFuZCBmaWxsIG91dCBzdHJ1 Y3QKKysgIC8vIGtlcm5lbF9zdGF0NjQsIHdoZXJlYXMgNjQtYml0IHN5c3RlbXMgdXNlICpzdGF0 KigpIGFuZCBmaWxsIG91dCBzdHJ1Y3QKKysgIC8vIGtlcm5lbF9zdGF0LiBTb21lIHRlc3RzIHdh bnQgdG8gY2FsbCB0aGUgU3lzY2FsbERpc3BhdGNoZXIgZGlyZWN0bHksIGFuZAorKyAgLy8gc2hv dWxkIGJlIHVzaW5nIHRoZSBkZWZhdWx0IHN0YXQgaW4gb3JkZXIgdG8gdGVzdCBhZ2FpbnN0IGds aWJjLgorKyAgaW50IERlZmF1bHRTdGF0Rm9yVGVzdGluZyhjb25zdCBjaGFyKiBwYXRobmFtZSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBmb2xsb3dfbGlua3MsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRfc3RhdF9zdHJ1Y3QqIHNiKTsKKysKKyAgIC8v IFZhbGlkYXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYSAqc3RhdGF0KigpIHN5c2NhbGwgYW5kIHBl cmZvcm1zIHRoZSBzeXNjYWxsCistICAvLyB1c2luZyBTdGF0KCkgb3IgU3RhdDY0KCkuCistICBp bnQgUGVyZm9ybVN0YXRhdChjb25zdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJncywgYm9vbCBhcmNo NjQpOworKyAgLy8gdXNpbmcgU3RhdCgpLCBvciBvbiAzMi1iaXQgc3lzdGVtcyBpdCB1c2VzIFN0 YXQ2NCgpIGZvciB0aGUgKnN0YXRhdDY0KCkKKysgIC8vIHN5c2NhbGxzLgorKyAgaW50IFBlcmZv cm1TdGF0YXQoY29uc3QgYXJjaF9zZWNjb21wX2RhdGEmIGFyZ3MsIGJvb2wgc3RhdDY0KTsKKysK KysgIC8vIFZhbGlkYXRlcyB0aGUgYXJncyBwYXNzZWQgdG8gYW4gdW5saW5rYXQoKSBzeXNjYWxs IGFuZCBwZXJmb3JtcyB0aGUgc3lzY2FsbAorKyAgLy8gdXNpbmcgZWl0aGVyIFVubGluaygpIG9y IFJtZGlyKCkuCisrICBpbnQgUGVyZm9ybVVubGlua2F0KGNvbnN0IGFyY2hfc2VjY29tcF9kYXRh JiBhcmdzKTsKKyAKKyAgIC8vIFJlYWRzIHRoZSBzeXNjYWxsIG51bWJlciBhbmQgYXJndW1lbnRz LCBpbXBvc2VzIHNvbWUgcG9saWN5IChlLmcuIHRoZSAqYXQoKQorICAgLy8gc3lzdGVtIGNhbGxz IG11c3Qgb25seSBhbGxvdyBBVF9GRENXRCBhcyB0aGUgZmlyc3QgYXJndW1lbnQpLCBhbmQKK2Rp ZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaCBiL3Nh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCituZXcgZmlsZSBtb2RlIDEw MDY0NAoraW5kZXggMDAwMDAwMDAwMDAwMC4uMzU3ODhlYjIyYTRlNQorLS0tIC9kZXYvbnVsbAor KysrIGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKK0BAIC0wLDAg KzEsMTg4IEBACisrLy8gQ29weXJpZ2h0IDIwMjEgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQg YnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNF TlNFIGZpbGUuCisrCisrI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVY X1NUQVRfSF8KKysjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfTElOVVhfU1RB VF9IXworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysKKysjaW5jbHVkZSAiYnVpbGQvYnVpbGRf Y29uZmlnLmgiCisrI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhf c3lzY2FsbHMuaCIKKysKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysjaWYg ZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKQorK3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrI2Vsc2UK KytzdHJ1Y3Qga2VybmVsX3N0YXQ2NCB7CisrI2VuZGlmCisrICB1bnNpZ25lZCBzdF9kZXY7Cisr ICB1bnNpZ25lZCBfX3BhZDBbM107CisrICB1bnNpZ25lZCBsb25nIGxvbmcgc3RfaW5vOworKyAg dW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3Rf dWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIHVuc2ln bmVkIF9fcGFkMVszXTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOworKyAgdW5zaWduZWQgc3RfYXRp bWVfOworKyAgdW5zaWduZWQgc3RfYXRpbWVfbnNlY187CisrICB1bnNpZ25lZCBzdF9tdGltZV87 CisrICB1bnNpZ25lZCBzdF9tdGltZV9uc2VjXzsKKysgIHVuc2lnbmVkIHN0X2N0aW1lXzsKKysg IHVuc2lnbmVkIHN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVu c2lnbmVkIF9fcGFkMjsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7CisrfTsKKysj ZWxzZQorK3N0cnVjdCBrZXJuZWxfc3RhdDY0IHsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9k ZXY7CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkMFs0XTsKKysgIHVuc2lnbmVkIF9fc3RfaW5vOwor KyAgdW5zaWduZWQgc3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQg c3RfdWlkOworKyAgdW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgbG9uZyBsb25nIHN0X3Jk ZXY7CisrICB1bnNpZ25lZCBjaGFyIF9fcGFkM1s0XTsKKysgIGxvbmcgbG9uZyBzdF9zaXplOwor KyAgdW5zaWduZWQgc3RfYmxrc2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcgbG9uZyBzdF9ibG9ja3M7 CisrICB1bnNpZ25lZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysg IHVuc2lnbmVkIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5z aWduZWQgc3RfY3RpbWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25l ZCBsb25nIGxvbmcgc3RfaW5vOworK307CisrI2VuZGlmCisrCisrI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19BUk1fQVJDSF8zX18pIHx8IGRlZmluZWQoX19BUk1fRUFCSV9fKQor K3N0cnVjdCBrZXJuZWxfc3RhdCB7CisrICAvKiBUaGUga2VybmVsIGhlYWRlcnMgc3VnZ2VzdCB0 aGF0IHN0X2RldiBhbmQgc3RfcmRldiBzaG91bGQgYmUgMzJiaXQKKysgICAqIHF1YW50aXRpZXMg ZW5jb2RpbmcgMTJiaXQgbWFqb3IgYW5kIDIwYml0IG1pbm9yIG51bWJlcnMgaW4gYW4gaW50ZXJs ZWF2ZWQKKysgICAqIGZvcm1hdC4gSW4gcmVhbGl0eSwgd2UgZG8gbm90IHNlZSB1c2VmdWwgZGF0 YSBpbiB0aGUgdG9wIGJpdHMuIFNvLAorKyAgICogd2UnbGwgbGVhdmUgdGhlIHBhZGRpbmcgaW4g aGVyZSwgdW50aWwgd2UgZmluZCBhIGJldHRlciBzb2x1dGlvbi4KKysgICAqLworKyAgdW5zaWdu ZWQgc2hvcnQgc3RfZGV2OworKyAgc2hvcnQgcGFkMTsKKysgIHVuc2lnbmVkIHN0X2lubzsKKysg IHVuc2lnbmVkIHNob3J0IHN0X21vZGU7CisrICB1bnNpZ25lZCBzaG9ydCBzdF9ubGluazsKKysg IHVuc2lnbmVkIHNob3J0IHN0X3VpZDsKKysgIHVuc2lnbmVkIHNob3J0IHN0X2dpZDsKKysgIHVu c2lnbmVkIHNob3J0IHN0X3JkZXY7CisrICBzaG9ydCBwYWQyOworKyAgdW5zaWduZWQgc3Rfc2l6 ZTsKKysgIHVuc2lnbmVkIHN0X2Jsa3NpemU7CisrICB1bnNpZ25lZCBzdF9ibG9ja3M7CisrICB1 bnNpZ25lZCBzdF9hdGltZV87CisrICB1bnNpZ25lZCBzdF9hdGltZV9uc2VjXzsKKysgIHVuc2ln bmVkIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIHN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQg c3RfY3RpbWVfOworKyAgdW5zaWduZWQgc3RfY3RpbWVfbnNlY187CisrICB1bnNpZ25lZCBfX3Vu dXNlZDQ7CisrICB1bnNpZ25lZCBfX3VudXNlZDU7CisrfTsKKysjZWxpZiBkZWZpbmVkKF9feDg2 XzY0X18pCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysgIHVpbnQ2NF90IHN0X2RldjsKKysgIHVp bnQ2NF90IHN0X2lubzsKKysgIHVpbnQ2NF90IHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfbW9k ZTsKKysgIHVuc2lnbmVkIHN0X3VpZDsKKysgIHVuc2lnbmVkIHN0X2dpZDsKKysgIHVuc2lnbmVk IF9fcGFkMDsKKysgIHVpbnQ2NF90IHN0X3JkZXY7CisrICBpbnQ2NF90IHN0X3NpemU7CisrICBp bnQ2NF90IHN0X2Jsa3NpemU7CisrICBpbnQ2NF90IHN0X2Jsb2NrczsKKysgIHVpbnQ2NF90IHN0 X2F0aW1lXzsKKysgIHVpbnQ2NF90IHN0X2F0aW1lX25zZWNfOworKyAgdWludDY0X3Qgc3RfbXRp bWVfOworKyAgdWludDY0X3Qgc3RfbXRpbWVfbnNlY187CisrICB1aW50NjRfdCBzdF9jdGltZV87 CisrICB1aW50NjRfdCBzdF9jdGltZV9uc2VjXzsKKysgIGludDY0X3QgX191bnVzZWQ0WzNdOwor K307CisrI2VsaWYgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCisrc3RydWN0IGtlcm5lbF9zdGF0IHsKKysgIHVuc2lnbmVkIHN0X2Rl djsKKysgIGludCBzdF9wYWQxWzNdOworKyAgdW5zaWduZWQgc3RfaW5vOworKyAgdW5zaWduZWQg c3RfbW9kZTsKKysgIHVuc2lnbmVkIHN0X25saW5rOworKyAgdW5zaWduZWQgc3RfdWlkOworKyAg dW5zaWduZWQgc3RfZ2lkOworKyAgdW5zaWduZWQgc3RfcmRldjsKKysgIGludCBzdF9wYWQyWzJd OworKyAgbG9uZyBzdF9zaXplOworKyAgaW50IHN0X3BhZDM7CisrICBsb25nIHN0X2F0aW1lXzsK KysgIGxvbmcgc3RfYXRpbWVfbnNlY187CisrICBsb25nIHN0X210aW1lXzsKKysgIGxvbmcgc3Rf bXRpbWVfbnNlY187CisrICBsb25nIHN0X2N0aW1lXzsKKysgIGxvbmcgc3RfY3RpbWVfbnNlY187 CisrICBpbnQgc3RfYmxrc2l6ZTsKKysgIGludCBzdF9ibG9ja3M7CisrICBpbnQgc3RfcGFkNFsx NF07CisrfTsKKysjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQorK3N0cnVjdCBrZXJuZWxfc3Rh dCB7CisrICB1bnNpZ25lZCBsb25nIHN0X2RldjsKKysgIHVuc2lnbmVkIGxvbmcgc3RfaW5vOwor KyAgdW5zaWduZWQgaW50IHN0X21vZGU7CisrICB1bnNpZ25lZCBpbnQgc3Rfbmxpbms7CisrICB1 bnNpZ25lZCBpbnQgc3RfdWlkOworKyAgdW5zaWduZWQgaW50IHN0X2dpZDsKKysgIHVuc2lnbmVk IGxvbmcgc3RfcmRldjsKKysgIHVuc2lnbmVkIGxvbmcgX19wYWQxOworKyAgbG9uZyBzdF9zaXpl OworKyAgaW50IHN0X2Jsa3NpemU7CisrICBpbnQgX19wYWQyOworKyAgbG9uZyBzdF9ibG9ja3M7 CisrICBsb25nIHN0X2F0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfYXRpbWVfbnNlY187Cisr ICBsb25nIHN0X210aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfbXRpbWVfbnNlY187CisrICBs b25nIHN0X2N0aW1lXzsKKysgIHVuc2lnbmVkIGxvbmcgc3RfY3RpbWVfbnNlY187CisrICB1bnNp Z25lZCBpbnQgX191bnVzZWQ0OworKyAgdW5zaWduZWQgaW50IF9fdW51c2VkNTsKKyt9OworKyNl bmRpZgorKworKy8vIE9uIDMyLWJpdCBzeXN0ZW1zLCB3ZSBkZWZhdWx0IHRvIHRoZSA2NC1iaXQg c3RhdCBzdHJ1Y3QgbGlrZSBsaWJjCisrLy8gaW1wbGVtZW50YXRpb25zIGRvLiBPdGhlcndpc2Ug d2UgZGVmYXVsdCB0byB0aGUgbm9ybWFsIHN0YXQgc3RydWN0IHdoaWNoIGlzCisrLy8gYWxyZWFk eSA2NC1iaXQuCisrLy8gVGhlc2UgZGVmaW5lcyBtYWtlIGl0IGVhc3kgdG8gY2FsbCB0aGUgcmln aHQgc3lzY2FsbCB0byBmaWxsIG91dCBhIDY0LWJpdAorKy8vIHN0YXQgc3RydWN0LCB3aGljaCBp cyB0aGUgZGVmYXVsdCBpbiBsaWJjIGltcGxlbWVudGF0aW9ucyBidXQgcmVxdWlyZXMKKysvLyBk aWZmZXJlbnQgc3lzY2FsbCBuYW1lcyBvbiAzMiBhbmQgNjQtYml0IHBsYXRmb3Jtcy4KKysjaWYg ZGVmaW5lZChfX05SX2ZzdGF0YXQ2NCkKKysKKytuYW1lc3BhY2Ugc2FuZGJveCB7CisrdXNpbmcg ZGVmYXVsdF9zdGF0X3N0cnVjdCA9IHN0cnVjdCBrZXJuZWxfc3RhdDY0OworK30gIC8vIG5hbWVz cGFjZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX2ZzdGF0 YXQ2NAorKyNkZWZpbmUgX19OUl9mc3RhdF9kZWZhdWx0IF9fTlJfZnN0YXQ2NAorKworKyNlbGlm IGRlZmluZWQoX19OUl9uZXdmc3RhdGF0KQorKworK25hbWVzcGFjZSBzYW5kYm94IHsKKyt1c2lu ZyBkZWZhdWx0X3N0YXRfc3RydWN0ID0gc3RydWN0IGtlcm5lbF9zdGF0OworK30gIC8vIG5hbWVz cGFjZSBzYW5kYm94CisrCisrI2RlZmluZSBfX05SX2ZzdGF0YXRfZGVmYXVsdCBfX05SX25ld2Zz dGF0YXQKKysjZGVmaW5lIF9fTlJfZnN0YXRfZGVmYXVsdCBfX05SX2ZzdGF0CisrCisrI2Vsc2UK KysjZXJyb3IgIm9uZSBvZiBmc3RhdGF0NjQgYW5kIG5ld2ZzdGF0YXQgbXVzdCBiZSBkZWZpbmVk IgorKyNlbmRpZgorKworKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19M SU5VWF9TVEFUX0hfCitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF90aW1lLmggYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaAor aW5kZXggNzgwZjI0ZGRkZDlmYS4uZjE4YzgwNjYxMWY4MyAxMDA2NDQKKy0tLSBhL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfdGltZS5oCisrKysgYi9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2xpbnV4X3RpbWUuaAorQEAgLTExLDYgKzExLDMyIEBACisgI2RlZmluZSBD UFVDTE9DS19DTE9DS19NQVNLIDMKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoQ1BVQ0xPQ0tf UFJPRikKKysjZGVmaW5lIENQVUNMT0NLX1BST0YgMAorKyNlbmRpZgorKworKyNpZiAhZGVmaW5l ZChDUFVDTE9DS19WSVJUKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfVklSVCAxCisrI2VuZGlmCisrCisr I2lmICFkZWZpbmVkKENQVUNMT0NLX1NDSEVEKQorKyNkZWZpbmUgQ1BVQ0xPQ0tfU0NIRUQgMgor KyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChDUFVDTE9DS19QRVJUSFJFQURfTUFTSykKKysjZGVm aW5lIENQVUNMT0NLX1BFUlRIUkVBRF9NQVNLIDQKKysjZW5kaWYKKysKKysjaWYgIWRlZmluZWQo TUFLRV9QUk9DRVNTX0NQVUNMT0NLKQorKyNkZWZpbmUgTUFLRV9QUk9DRVNTX0NQVUNMT0NLKHBp ZCwgY2xvY2spIFwKKysgICgoaW50KSh+KHVuc2lnbmVkKShwaWQpIDw8IDMpIHwgKGludCkoY2xv Y2spKQorKyNlbmRpZgorKworKyNpZiAhZGVmaW5lZChNQUtFX1RIUkVBRF9DUFVDTE9DSykKKysj ZGVmaW5lIE1BS0VfVEhSRUFEX0NQVUNMT0NLKHRpZCwgY2xvY2spIFwKKysgICgoaW50KSh+KHVu c2lnbmVkKSh0aWQpIDw8IDMpIHwgKGludCkoKGNsb2NrKSB8IENQVUNMT0NLX1BFUlRIUkVBRF9N QVNLKSkKKysjZW5kaWYKKysKKyAjaWYgIWRlZmluZWQoQ0xPQ0tGRCkKKyAjZGVmaW5lIENMT0NL RkQgMworICNlbmRpZgorZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGls cy5jYyBiL3NhbmRib3gvbGludXgvdGVzdHMvdGVzdF91dGlscy5jYworaW5kZXggODQ3YzIwYjIw YzVkMi4uY2Y2MDQxYTRiNDc2YSAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMvdGVz dF91dGlscy5jYworKysrIGIvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0X3V0aWxzLmNjCitAQCAt NSwxMiArNSwxNCBAQAorICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMu aCIKKyAKKyAjaW5jbHVkZSA8ZXJybm8uaD4KKysjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyAjaW5j bHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5 cy93YWl0Lmg+CisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNr X29wLmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3BhZ2Vfc2l6ZS5oIgorICNpbmNsdWRlICJi YXNlL3Bvc2l4L2VpbnRyX3dyYXBwZXIuaCIKKyAKKyBuYW1lc3BhY2Ugc2FuZGJveCB7CitAQCAt MzksNCArNDEsMTcgQEAgdm9pZCBUZXN0VXRpbHM6OkhhbmRsZVBvc3RGb3JrUmV0dXJuKHBpZF90 IHBpZCkgeworICAgfQorIH0KKyAKKyt2b2lkKiBUZXN0VXRpbHM6Ok1hcFBhZ2VzT3JEaWUoc2l6 ZV90IG51bV9wYWdlcykgeworKyAgdm9pZCogYWRkciA9IG1tYXAobnVsbHB0ciwgbnVtX3BhZ2Vz ICogYmFzZTo6R2V0UGFnZVNpemUoKSwKKysgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8 IFBST1RfV1JJVEUsIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworKyAgUENI RUNLKGFkZHIpOworKyAgcmV0dXJuIGFkZHI7CisrfQorKworK3ZvaWQgVGVzdFV0aWxzOjpNcHJv dGVjdExhc3RQYWdlT3JEaWUoY2hhciogYWRkciwgc2l6ZV90IG51bV9wYWdlcykgeworKyAgc2l6 ZV90IGxhc3RfcGFnZV9vZmZzZXQgPSAobnVtX3BhZ2VzIC0gMSkgKiBiYXNlOjpHZXRQYWdlU2l6 ZSgpOworKyAgUENIRUNLKG1wcm90ZWN0KGFkZHIgKyBsYXN0X3BhZ2Vfb2Zmc2V0LCBiYXNlOjpH ZXRQYWdlU2l6ZSgpLCBQUk9UX05PTkUpID49CisrICAgICAgICAgMCk7CisrfQorKworIH0gIC8v IG5hbWVzcGFjZSBzYW5kYm94CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC90ZXN0cy90ZXN0 X3V0aWxzLmggYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAoraW5kZXggN2NmOTc0 OWZlNGYxZi4uNDNiMDI4YjFlMzRlZiAxMDA2NDQKKy0tLSBhL3NhbmRib3gvbGludXgvdGVzdHMv dGVzdF91dGlscy5oCisrKysgYi9zYW5kYm94L2xpbnV4L3Rlc3RzL3Rlc3RfdXRpbHMuaAorQEAg LTE5LDYgKzE5LDggQEAgY2xhc3MgVGVzdFV0aWxzIHsKKyAgIC8vIG1ha2VzIHN1cmUgdGhhdCBp ZiBmb3JrKCkgc3VjY2VlZGVkIHRoZSBjaGlsZCBleGl0cworICAgLy8gYW5kIHRoZSBwYXJlbnQg d2FpdHMgZm9yIGl0LgorICAgc3RhdGljIHZvaWQgSGFuZGxlUG9zdEZvcmtSZXR1cm4ocGlkX3Qg cGlkKTsKKysgIHN0YXRpYyB2b2lkKiBNYXBQYWdlc09yRGllKHNpemVfdCBudW1fcGFnZXMpOwor KyAgc3RhdGljIHZvaWQgTXByb3RlY3RMYXN0UGFnZU9yRGllKGNoYXIqIGFkZHIsIHNpemVfdCBu dW1fcGFnZXMpOworIAorICBwcml2YXRlOgorICAgRElTQUxMT1dfSU1QTElDSVRfQ09OU1RSVUNU T1JTKFRlc3RVdGlscyk7CitkaWZmIC0tZ2l0IGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX2Jy b2tlcl9wb2xpY3lfbGludXguY2MgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJva2VyX3Bv bGljeV9saW51eC5jYworaW5kZXggMjk2M2JiOWNhODYxMi4uNmRjOGMwNTgxYjQzYyAxMDA2NDQK Ky0tLSBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9icm9rZXJfcG9saWN5X2xpbnV4LmNjCisr KysgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfYnJva2VyX3BvbGljeV9saW51eC5jYworQEAg LTkzLDggKzkzLDggQEAgUmVzdWx0RXhwciBCcm9rZXJQcm9jZXNzUG9saWN5OjpFdmFsdWF0ZVN5 c2NhbGwoaW50IHN5c25vKSBjb25zdCB7CisgICAgICAgICByZXR1cm4gQWxsb3coKTsKKyAgICAg ICBicmVhazsKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQpCistICAgIGNhc2Ug X19OUl9mc3RhdGF0OgorKyNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQorKyAgICBjYXNlIF9f TlJfZnN0YXRhdDY0OgorICAgICAgIGlmIChhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KHN5c2Nh bGxfYnJva2VyOjpDT01NQU5EX1NUQVQpKQorICAgICAgICAgcmV0dXJuIEFsbG93KCk7CisgICAg ICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20t ZGlzdGlsbGVyLXByb3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9tYWtlLWRvbS1kaXN0aWxsZXItcHJvdG9jLXBsdWdpbi1jYWxsLXB5Mi43LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyYTYxMDBmOTIwODcuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbWFrZS1kb20tZGlzdGlsbGVyLXBy b3RvYy1wbHVnaW4tY2FsbC1weTIuNy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3ICswLDAg QEAKLUZyb20gMzU5YjIyZDNmNzc1YWZhMzNjY2E5ZTRmOGZiNTdlYWRkMGVjNDExOCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+ Ci1EYXRlOiBGcmksIDIzIEFwciAyMDIxIDE2OjIyOjE5ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hd IE1ha2UgZG9tIGRpc3RpbGxlciBwcm90b2MgcGx1Z2luIGV4cGxpY2l0bHkgY2FsbCBweTIuNwot Ci1XaXRoIHRoaXMsIGNocm9tZSBidWlsZHMgd2l0aCB3aGVuIGAvdXNyL2Jpbi9lbnYgcHl0aG9u YCBpcyBweTMuCi0KLUJ1ZzogMTIwMjEzNAotQ2hhbmdlLUlkOiBJYmJkOTdhMTMxMWNjYjM0ZDQ2 ZjI2NjkxMmM4NzFmZDA1MjJmOTUzNQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2 aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODQ4NDQ1Ci1Db21taXQtUXVl dWU6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFlhcm9u IEZyaWVkbWFuIDx5ZnJpZWRtYW5AY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBEaXJrIFBy YW5rZSA8ZHByYW5rZUBnb29nbGUuY29tPgotQXV0by1TdWJtaXQ6IE5pY28gV2ViZXIgPHRoYWtp c0BjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogWWFyb24gRnJpZWRtYW4gPHlmcmllZG1hbkBj aHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogRGlyayBQcmFua2UgPGRwcmFua2VAZ29vZ2xlLmNv bT4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYXN0ZXJAeyM4NzU3MDJ9Ci0tLS0K LSAuLi4vZG9tX2Rpc3RpbGxlcl9qcy9wcm90b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0 ZXIucHkgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvZG9tX2Rpc3RpbGxlcl9qcy9wcm90 b2NfcGx1Z2lucy9qc29uX3ZhbHVlc19jb252ZXJ0ZXIucHkgYi90aGlyZF9wYXJ0eS9kb21fZGlz dGlsbGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFsdWVzX2NvbnZlcnRlci5weQotaW5kZXgg ZTg2YTg4Yzc1OWZjYi4uY2FlMWE5OThjNDY1MCAxMDA3NTUKLS0tLSBhL3RoaXJkX3BhcnR5L2Rv bV9kaXN0aWxsZXJfanMvcHJvdG9jX3BsdWdpbnMvanNvbl92YWx1ZXNfY29udmVydGVyLnB5Ci0r KysgYi90aGlyZF9wYXJ0eS9kb21fZGlzdGlsbGVyX2pzL3Byb3RvY19wbHVnaW5zL2pzb25fdmFs dWVzX2NvbnZlcnRlci5weQotQEAgLTEsNyArMSwxMCBAQAotLSMhL3Vzci9iaW4vZW52IHB5dGhv bgotKyMhL3Vzci9iaW4vZW52IHB5dGhvbjIuNwotICMgQ29weXJpZ2h0IDIwMTYgVGhlIENocm9t aXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0gIyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKyMKLSsjIFRPRE8oY3JidWcuY29tLzEyMDIxMzQp OiBTd2l0Y2ggcnVuIGxpbmUgYmFjayB0byBqdXN0ICJweXRob24iCi0rIyBvbmNlIHRoaW5ncyBh cmUgcHkzLWNvbXBhdGlibGUuCi0gCi0gIiIicHJvdG9jIHBsdWdpbiB0byBjcmVhdGUgQysrIHJl YWRlci93cml0ZXIgZm9yIEpTT04tZW5jb2RlZCBwcm90b2J1ZnMKLSAKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaCBiL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaAppbmRleCBiNDI0MWQwMDU1NjIuLjZlNjcxODJi MjFiNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBh dGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaApAQCAt MSw1ICsxLDUgQEAKLS0tLSBhL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MJMjAxOS0w NS0xNCAxNDo0OTo0NC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJh Y2VfcG9zaXguY2MJMjAxOS0wNy0wMiAxMDo0Mzo0My40OTAwNDUwMTMgLTA0MDAKKy0tLSBhL2Jh c2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL2Jhc2UvZGVidWcvc3RhY2tfdHJh Y2VfcG9zaXguY2MKIEBAIC0yNyw3ICsyNyw3IEBACiAgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJ WkUpCiAgI2luY2x1ZGUgPGN4eGFiaS5oPgpAQCAtOSw3ICs5LDcgQEAKICAjaW5jbHVkZSA8ZXhl Y2luZm8uaD4KICAjZW5kaWYKICAKLUBAIC04Niw3ICs4Niw3IEBACitAQCAtODksNyArODksNyBA QAogICAgLy8gTm90ZTogY29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwg c2FmZSAoc3RkOjpzdHJpbmcgdXNlcwogICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgogIApAQCAt MTgsMTYgKzE4LDcgQEAKICAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAw OwogICAgd2hpbGUgKHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7CiAgICAgIC8vIExvb2sg Zm9yIHRoZSBzdGFydCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgotQEAg LTEyMSw3ICsxMjEsNyBAQAotICAgICAgIHNlYXJjaF9mcm9tID0gbWFuZ2xlZF9zdGFydCArIDI7 Ci0gICAgIH0KLSAgIH0KLS0jZW5kaWYgIC8vICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCi0rI2VuZGlmICAvLyBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKLSB9Ci0gI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQotIAotQEAgLTEzMyw3 ICsxMzMsNyBAQAorQEAgLTEzNiw3ICsxMzYsNyBAQAogICAgdmlydHVhbCB+QmFja3RyYWNlT3V0 cHV0SGFuZGxlcigpID0gZGVmYXVsdDsKICB9OwogIApAQCAtMzYsMjUgKzI3LDE2IEBACiAgdm9p ZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhh bmRsZXIpIHsKICAgIC8vIFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUg YSA2NC1iaXQgbnVtYmVyIGluIGhleDoKICAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxs LXRlcm1pbmF0b3IuCi1AQCAtMjE2LDcgKzIxNiw3IEBACi0gICB9Ci0gI2VuZGlmICAvLyBkZWZp bmVkKFVTRV9TWU1CT0xJWkUpCi0gfQotLSNlbmRpZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKLSsjZW5kaWYgIC8vIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVm aW5lZChfQUlYKQotIAotIHZvaWQgUHJpbnRUb1N0ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsK LSAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVz ZWQgYnkgaW4tcHJvY2VzcwotQEAgLTgxMiw3ICs4MTIsNyBAQAotICAgLy8gTk9URTogVGhpcyBj b2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi0g ICAvLyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlz IGFsbG93ZWQgaGVyZS4KLSAKLS0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCitAQCAtODM5 LDcgKzgzOSw3IEBACisgICAvLyBJZiB3ZSBkbyBub3QgaGF2ZSB1bndpbmQgdGFibGVzLCB0aGVu IHRyeSB0cmFjaW5nIHVzaW5nIGZyYW1lIHBvaW50ZXJzLgorICAgcmV0dXJuIGJhc2U6OmRlYnVn OjpUcmFjZVN0YWNrRnJhbWVQb2ludGVycyhjb25zdF9jYXN0PGNvbnN0IHZvaWQqKj4odHJhY2Up LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwg MCk7CistI2VsaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZWxp ZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKICAgIC8vIFRob3VnaCB0aGUg YmFja3RyYWNlIEFQSSBtYW4gcGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2 ZQogICAgLy8gcmV0dXJuIHZhbHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCiAgICByZXR1cm4gYmFz ZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7Ci1AQCAt ODI1LDEzICs4MjUsMTMgQEAKK0BAIC04NTIsMTMgKzg1MiwxMyBAQAogIC8vIE5PVEU6IFRoaXMg Y29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2Vzcwog IC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMg YWxsb3dlZCBoZXJlLgogIApAQCAtNzAsMyArNTIsMjQgQEAKICB2b2lkIFN0YWNrVHJhY2U6Ok91 dHB1dFRvU3RyZWFtV2l0aFByZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNv bnN0IHsKICAgIFN0cmVhbUJhY2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CistLS0g YS92OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2Mub3JpZworKysrIGIv djgvc3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCitAQCAtMTEsNyArMTEs OSBAQAorCisgI2lmIGRlZmluZWQoREVCVUcpICYmIGRlZmluZWQoVjhfT1NfTElOVVgpICYmICFk ZWZpbmVkKFY4X09TX0FORFJPSUQpCisgI2RlZmluZSBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisrI2VuZGlmCisKKyAj aW5jbHVkZSA8dmVjdG9yPgorCitAQCAtOTYsNyArOTgsNyBAQAorIH0KKworIGNvbnN0IGNoYXIq IEV4dGVybmFsUmVmZXJlbmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykgewor LSNpZmRlZiBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVOQ1RJ T04pICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNlX3N5 bWJvbHMoJmFkZHJlc3MsIDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOworICAg Ly8gVGhlIGFycmF5IG9mIG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1lIHN0 cmluZyBpcyBzdGF0aWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1v dmUtbGx2bTEzLXdhcm5pbmctZmxhZ3MucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv cmVtb3ZlLWxsdm0xMy13YXJuaW5nLWZsYWdzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uZDFkYjdlNDIwMTU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1sbHZtMTMtd2FybmluZy1mbGFncy5wYXRjaApAQCAt MCwwICsxLDEzIEBACistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZwor KysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMTYyMCwxMCArMTYyMCw2 IEBACisgCisgICAgICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMDUwMjgxKTogQ2xl YW4gdXAsIGVuYWJsZS4KKyAgICAgICAgICAgIi1Xbm8tbm9uLWMtdHlwZWRlZi1mb3ItbGlua2Fn ZSIsCistCistICAgICAgICAgICMgVE9ETyhodHRwczovL2NyYnVnLmNvbS8xMjAzMDcxKTogQ2xl YW4gdXAgYW5kIGVuYWJsZS4KKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtcGFyYW1l dGVyIiwKKy0gICAgICAgICAgIi1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUiLAorICAgICAg ICAgXQorIAorICAgICAgICAgY2ZsYWdzX2MgKz0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjhiMTNjNmEwNTZhOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAgKzEs MzIgQEAKKy0tLSBhL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbi5vcmlnCisrKysg Yi9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3IEBA CisgICB9CisgfQorIAorLWlmIChpc19saW51eCkgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9 ICJjaHJvbWVkcml2ZXIudW5zdHJpcHBlZCIKKy19IGVsc2UgeworLSAgY2hyb21lZHJpdmVyX291 dHB1dCA9ICJjaHJvbWVkcml2ZXIiCistfQorK2Nocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21l ZHJpdmVyIgorIAorIGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgeworICAgdGVz dG9ubHkgPSB0cnVlCitAQCAtMzM2LDE2ICszMzIsNiBAQAorICAgfQorIH0KKyAKKy1pZiAoaXNf bGludXgpIHsKKy0gIHN0cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0b25s eSA9IHRydWUKKy0gICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZl cl9vdXRwdXQiCistICAgIHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2 ZXIuZGVidWciCistICAgIHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9j aHJvbWVkcml2ZXIiCistICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0g IH0KKy19CistCisgcHl0aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAg IHRlc3Rvbmx5ID0gdHJ1ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21p dW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCmluZGV4IDExNzhiMmE5ZmIy ZC4uM2E1ODU5NDNjYzBhIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRl IGZpbGUgZm9yICdjaHJvbWl1bScKIHBrZ25hbWU9Y2hyb21pdW0KLSMgU2VlIGh0dHA6Ly93d3cu Y2hyb21pdW0ub3JnL2RldmVsb3BlcnMvY2FsZW5kYXIgZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgot dmVyc2lvbj05MS4wLjQ0NzIuMTE0CisjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5hcHBzcG90 LmNvbS9yZWxlYXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCit2ZXJz aW9uPTkzLjAuNDU3Ny42MwogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2 NCogYXJtdjdsKiBwcGM2NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0dGVtcHQgYXQgY3Jl YXRpbmcgYSBzYWZlciwgZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3NlciIKQEAgLTksMjIg KzksMjIgQEAgbWFpbnRhaW5lcj0iRW5ubyBCb2xhbmQgPGdvdHRveEB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5jaHJvbWl1bS5v cmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29t L2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWMxYzdmZTc4M2YzMjUwOTc4NTAzZDRiZDUzMTQ0MDM5YmQ4MThkZThhNmU4OWRl NDkzZjI3ZGQ1MTY4ZjdlNzEKK2NoZWNrc3VtPWVhZjM0ZmE2YzJmMjQwNTQ2NTVmYmIyMzc2YjZl M2RkZWU0Y2Y0ODY4YzEzMjRjOTIxZTcxYTQ1Y2ZjOTQ4NTMKIG5vY3Jvc3M9eWVzCiAKIGxpYjMy ZGlzYWJsZWQ9eWVzCi1ub2RlYnVnPXllcwotbm9waWU9eWVzICAjIGNvbnRhaW5zIHRvb2xzIHRo YXQgYXJlIG5vdCBQSUUsIGVuYWJsZXMgUElFIGl0c2VsZgogCi1idWlsZF9vcHRpb25zPSJjbGFu ZyBqc19vcHRpbWl6ZSB2YWFwaSBwdWxzZWF1ZGlvIHNuZGlvIHBpcGV3aXJlIgorYnVpbGRfb3B0 aW9ucz0iY2xhbmcgZGVidWcganNfb3B0aW1pemUgdmFhcGkgcHVsc2VhdWRpbyBzbmRpbyBwaXBl d2lyZSIKK2J1aWxkX29wdGlvbnNfZGVmYXVsdD0iY2xhbmcganNfb3B0aW1pemUgdmFhcGkgcHVs c2VhdWRpbyBzbmRpbyBwaXBld2lyZSIKIGRlc2Nfb3B0aW9uX2NsYW5nPSJVc2UgY2xhbmcgdG8g YnVpbGQiCitkZXNjX29wdGlvbl9kZWJ1Zz0iQnVpbGQgd2l0aCBkZWJ1ZyBzeW1ib2xzIgogZGVz Y19vcHRpb25fanNfb3B0aW1pemU9Ik9wdGltaXplIHRoZSBKUyB1c2VkIGZvciBDaHJvbWl1bSdz IFVJIgogZGVzY19vcHRpb25fdmFhcGk9IkVuYWJsZSBzdXBwb3J0IGZvciBWQS1BUEkiCiBkZXNj X29wdGlvbl9wdWxzZWF1ZGlvPSJFbmFibGUgc3VwcG9ydCBmb3IgUHVsc2VBdWRpbyIKIGRlc2Nf b3B0aW9uX3NuZGlvPSJFbmFibGUgc3VwcG9ydCBmb3Igc25kaW8iCiBkZXNjX29wdGlvbl9waXBl d2lyZT0iRW5hYmxlIHN1cHBvcnQgZm9yIHNjcmVlbiBzaGFyaW5nIGZvciBXZWJSVEMgdmlhIFBp cGVXaXJlIgogCi1ob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyBjbGFuZykgcHl0aG9u IHBrZ2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBub2RlanMgaHdpZHMKK2hvc3RtYWtlZGVw ZW5kcz0iJCh2b3B0X2lmIGNsYW5nICJjbGFuZyBsbGQiKSBweXRob24gcGtnY29uZiBwZXJsIGdw ZXJmIGJpc29uIG5pbmphIG5vZGVqcyBod2lkcwogIGxpYmF0b21pYy1kZXZlbCBsaWJldmVudC1k ZXZlbCBsaWJnbGliLWRldmVsICQodm9wdF9pZiBqc19vcHRpbWl6ZSBvcGVuamRrKSIKIG1ha2Vk ZXBlbmRzPSJsaWJwbmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNp dXRpbHMtZGV2ZWwKICBsaWJYaS1kZXZlbCBsaWJnY3J5cHQtZGV2ZWwgbGliZ25vbWUta2V5cmlu Zy1kZXZlbCBjdXBzLWRldmVsIGVsZnV0aWxzLWRldmVsCkBAIC0xNTYsNzEgKzE1Niw2NiBAQCBk b19jb25maWd1cmUoKSB7CiAKIAl0aGlyZF9wYXJ0eS9saWJhZGRyZXNzaW5wdXQvY2hyb21pdW0v dG9vbHMvdXBkYXRlLXN0cmluZ3MucHkKIAotCWNvbmYrPSgKKwljb25mPSgKIAkJJ2VuYWJsZV9u YWNsPWZhbHNlJwogCQknZW5hYmxlX25hY2xfbm9uc2ZpPWZhbHNlJwotCQkiaXNfY2xhbmc9JCh2 b3B0X2lmIGNsYW5nIHRydWUgZmFsc2UpIgotCQknaXNfZGVidWc9ZmFsc2UnCi0JCSdjbGFuZ191 c2VfY2hyb21lX3BsdWdpbnM9ZmFsc2UnCisKKwkJJ3VzZV9zeXNyb290PWZhbHNlJwogCQknY3Vz dG9tX3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCIn CiAJCSdob3N0X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVm YXVsdCInCi0JCSdibGlua19zeW1ib2xfbGV2ZWw9MCcKLQkJJ3N5bWJvbF9sZXZlbD0wJworCisJ CSJpc19jbGFuZz0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCisJCSJ1c2VfbGxkPSQodm9w dF9pZiBjbGFuZyB0cnVlIGZhbHNlKSIKKwkJJ2NsYW5nX3VzZV9jaHJvbWVfcGx1Z2lucz1mYWxz ZScKKworCQkiZ29sZF9wYXRoPVwiJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9iaW4vbGQuZ29sZFwi IgorCQkndXNlX2N1c3RvbV9saWJjeHg9ZmFsc2UnCisJCSd1c2VfZ29sZD1mYWxzZScKKworCQkj IGlzX2RlYnVnIG1ha2VzIHRoZSBidWlsZCBhIGRlYnVnIGJ1aWxkLCBjaGFuZ2VzIHNvbWUgdGhp bmdzLgorCQkjIG1pZ2h0IGJlIHVzZWZ1bCBmb3IgcmVhbCBkZWJ1Z2dpbmcgdnMganVzdCBkZWJ1 ZyBzeW1ib2xzLgorCQkiaXNfZGVidWc9ZmFsc2UiCisJCSJibGlua19zeW1ib2xfbGV2ZWw9JCh2 b3B0X2lmIGRlYnVnIDEgMCkiCisJCSJzeW1ib2xfbGV2ZWw9JCh2b3B0X2lmIGRlYnVnIDEgMCki CisKIAkJJ2ljdV91c2VfZGF0YV9maWxlPXRydWUnCisKIAkJJ3VzZV9hbGxvY2F0b3I9Im5vbmUi JwogCQkndXNlX2FsbG9jYXRvcl9zaGltPWZhbHNlJwotCQkndXNlX2N1cHM9dHJ1ZScKLQkJJ3Vz ZV9zeXNyb290PWZhbHNlJwotCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVlJworCiAJCSdlbmFi bGVfd2lkZXZpbmU9dHJ1ZScKIAkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2VzX2V4dGVuc2lvbj10 cnVlJwotCSkKIAotCWNvbmYrPSgKKwkJJ3VzZV9zeXN0ZW1faGFyZmJ1eno9dHJ1ZScKKworCQkn dXNlX2N1cHM9dHJ1ZScKKwogCQkidXNlX3ZhYXBpPSQodm9wdF9pZiB2YWFwaSB0cnVlIGZhbHNl KSIKLQkpCiAKLQkjIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z cmMvKy9tYXN0ZXIvZG9jcy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCi0JY29uZis9KAorCQkjIGh0 dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXIvZG9j cy9jbG9zdXJlX2NvbXBpbGF0aW9uLm1kCiAJCSJlbmFibGVfanNfdHlwZV9jaGVjaz0kKHZvcHRf aWYganNfb3B0aW1pemUgdHJ1ZSBmYWxzZSkiCi0JKQogCi0JY29uZis9KAogCQkidXNlX3B1bHNl YXVkaW89JCh2b3B0X2lmIHB1bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiCi0JKQorCQkibGlua19wdWxz ZWF1ZGlvPSQodm9wdF9pZiBwdWxzZWF1ZGlvIHRydWUgZmFsc2UpIgogCi0JY29uZis9KAogCQki cnRjX3VzZV9waXBld2lyZT0kKHZvcHRfaWYgcGlwZXdpcmUgdHJ1ZSBmYWxzZSkiCi0JKQotCi0J IyBVc2UgZXhwbGljaXQgbGlicmFyeSBkZXBlbmRlbmNpZXMgaW5zdGVhZCBvZiBkbG9wZW4uCi0J IyBHTiBvbmx5IGhhcyAibGlua19wdWxzZWF1ZGlvIiwgdGhlIG90aGVyIG9wdGlvbnMgdXNlZCBi ZWZvcmUgYXJlIG5vdCBhdmFpbGFibGUgYXRtCi0JIyBsaW51eF9saW5rX2N1cHM9dHJ1ZQotCSMg bGludXhfbGlua19nc2V0dGluZ3M9dHJ1ZQotCSMgbGludXhfbGlua19saWJwY2k9dHJ1ZQotCSMg bGludXhfbGlua19saWJzcGVlY2hkPXRydWUKLQkjIGxpYnNwZWVjaGRfaF9wcmVmaXg9XCJzcGVl Y2gtZGlzcGF0Y2hlci9cIiIKLQljb25mKz0oICJsaW5rX3B1bHNlYXVkaW89JCh2b3B0X2lmIHB1 bHNlYXVkaW8gdHJ1ZSBmYWxzZSkiICkKIAotCWNvbmYrPSgKIAkJInVzZV9zbmRpbz0kKHZvcHRf aWYgc25kaW8gdHJ1ZSBmYWxzZSkiCi0JKQotCi0JIyBOZXZlciB1c2UgYnVuZGxlZCBiaW51dGls cy9nb2xkIGJpbmFyeS4KLQljb25mKz0oCi0JCSJnb2xkX3BhdGg9XCIke1hCUFNfQ1JPU1NfQkFT RX0vdXNyL2Jpbi9sZC5nb2xkXCIiCi0JCSd1c2VfY3VzdG9tX2xpYmN4eD1mYWxzZScKLQkJJ3Vz ZV9sbGQ9ZmFsc2UnCi0JKQogCi0JIyBYWFg6IGdvbGQgYnJva2VuIHdpdGggbXVzbCwgaTY4Niwg YW5kIHg4Nl82NCBzbyBkaXNhYmxlIGdsb2JhbGx5Ci0JY29uZis9KCAndXNlX2dvbGQ9ZmFsc2Un ICkKLQotCSMgQWx3YXlzIHN1cHBvcnQgcHJvcHJpZXRhcnkgY29kZWNzLgotCSMgRW5hYmxlIEgu MjY0IHN1cHBvcnQgaW4gYnVuZGxlZCBmZm1wZWcuCi0JY29uZis9KAorCQkjIEFsd2F5cyBzdXBw b3J0IHByb3ByaWV0YXJ5IGNvZGVjcy4KKwkJIyBFbmFibGUgSC4yNjQgc3VwcG9ydCBpbiBidW5k bGVkIGZmbXBlZy4KIAkJJ3Byb3ByaWV0YXJ5X2NvZGVjcz10cnVlJwogCQknZmZtcGVnX2JyYW5k aW5nPSJDaHJvbWUiJworCisJCSMgTWFrZSBzdXJlIHRoYXQgLVdlcnJvciBkb2Vzbid0IGdldCBh ZGRlZCB0byBDRkxBR1MgYnkgdGhlIGJ1aWxkIHN5c3RlbS4KKwkJIyBEZXBlbmRpbmcgb24gR0ND IHZlcnNpb24gdGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKKwkJ IyB0aGUgYnVpbGQgdG8gZmFpbCBiZWNhdXNlIG9mIHRoYXQuCisJCSd0cmVhdF93YXJuaW5nc19h c19lcnJvcnM9ZmFsc2UnCisJCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCisKKwkJIyBT YXZlIHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJvdXQgNiUg cmVkdWN0aW9uKS4KKwkJIyAnbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxkPXRydWUnCisJCSdm aWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10cnVlJwogCSkKIAogCSMgdGhp cyBkb2VzIG5vdCB3b3JrIG9uIHBwYzY0IHlldApAQCAtMjI4LDE4ICsyMjMsNiBAQCBkb19jb25m aWd1cmUoKSB7CiAJCXBwYzY0KikgY29uZis9KCAiZW5hYmxlX2p4bF9kZWNvZGVyPWZhbHNlIiAp OzsKIAllc2FjCiAKLQkjIE1ha2Ugc3VyZSB0aGF0IC1XZXJyb3IgZG9lc24ndCBnZXQgYWRkZWQg dG8gQ0ZMQUdTIGJ5IHRoZSBidWlsZCBzeXN0ZW0uCi0JIyBEZXBlbmRpbmcgb24gR0NDIHZlcnNp b24gdGhlIHdhcm5pbmdzIGFyZSBkaWZmZXJlbnQgYW5kIHdlIGRvbid0IHdhbnQKLQkjIHRoZSBi dWlsZCB0byBmYWlsIGJlY2F1c2Ugb2YgdGhhdC4KLQljb25mKz0oCi0JCSd0cmVhdF93YXJuaW5n c19hc19lcnJvcnM9ZmFsc2UnCi0JCSdmYXRhbF9saW5rZXJfd2FybmluZ3M9ZmFsc2UnCi0JKQot Ci0JIyBTYXZlIHNwYWNlIGJ5IHJlbW92aW5nIERMT0cgYW5kIERDSEVDSyBtZXNzYWdlcyAoYWJv dXQgNiUgcmVkdWN0aW9uKS4KLQkjIGNvbmYrPSIgbG9nZ2luZ19saWtlX29mZmljaWFsX2J1aWxk PXRydWUiCi0JY29uZis9KCBmaWVsZHRyaWFsX3Rlc3RpbmdfbGlrZV9vZmZpY2lhbF9idWlsZD10 cnVlICkKLQogCWNhc2UgIiR7WEJQU19UQVJHRVRfTUFDSElORX0iIGluCiAJCXg4Nl82NCopIGNv bmYrPSggJ3RhcmdldF9jcHU9Ing2NCInICkgOzsKIAkJaTY4NiopIGNvbmYrPSggJ3RhcmdldF9j cHU9Ing4NiInICkgOzsKQEAgLTI1NiwxMCArMjM5LDExIEBAIGRvX2J1aWxkKCkgewogCQlleHBv cnQgQ1hYPWNsYW5nKysKIAlmaQogCi0JbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30g Y2hyb21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90CisJbmluamEgLUMgb3V0L1JlbGVhc2UgJHtt YWtlam9ic30gY2hyb21lIGNocm9tZWRyaXZlciBta3NuYXBzaG90IGNyYXNocGFkX2hhbmRsZXIK IH0KIGRvX2luc3RhbGwoKSB7CiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lIDc1NSB1c3Iv bGliLyR7cGtnbmFtZX0gJHtwa2duYW1lfQorCXZpbnN0YWxsIG91dC9SZWxlYXNlL2NyYXNocGFk X2hhbmRsZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjcmFzaHBhZF9oYW5kbGVyCiAJdmluc3Rh bGwgb3V0L1JlbGVhc2UvY2hyb21lZHJpdmVyIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21l ZHJpdmVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliRUdMLnNvIDc1NSB1c3IvbGliLyR7cGtn bmFtZX0gbGliRUdMLnNvCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGliR0xFU3YyLnNvIDc1NSB1 c3IvbGliLyR7cGtnbmFtZX0gbGliR0xFU3YyLnNvCkBAIC0yOTAsNSArMjc0LDUgQEAgZG9faW5z dGFsbCgpIHsKIAogCXZiaW4gJHtGSUxFU0RJUn0vY2hyb21pdW0uc2ggY2hyb21pdW0KIAl2bGlj ZW5zZSBMSUNFTlNFCi0JbG4gLXMgL3Vzci9saWIvY2hyb21pdW0vY2hyb21lZHJpdmVyICR7REVT VERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKKwlsbiAtc2YgL3Vzci9saWIvY2hyb21pdW0vY2hy b21lZHJpdmVyICR7REVTVERJUn0vdXNyL2Jpbi9jaHJvbWVkcml2ZXIKIH0K --===============0346804663235593801==--