From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: - refreshed patches Date: Fri, 07 Aug 2026 16:06:25 GMT Message-ID: <178611878556.1.6981298065962110956.rpms-chromium-765ac9dc58ec@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: 765ac9dc58ec6372b7312555ea3ec2b675d40fbd ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiA3NjVhYzlkYzU4ZWM2MzcyYjczMTI1NTVlYTNlYzJiNjc1ZDQwZmJk CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjQtMDUtMTRUMTE6MTA6MTIrMDI6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzEyMTAvLTEyMjkgaW4gMTEgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczov L3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvNzY1YWM5ZGM1OGVjNjM3MmI3 MzEyNTU1ZWEzZWMyYjY3NWQ0MGZiZD9icmFuY2g9ZXBlbDktbmV4dAoKICAgICAgICAgICAgTG9n OgogICAgICAgICAgICAtIHJlZnJlc2hlZCBwYXRjaGVzCi0gcmViYXNlZCBjbGVhbiBzb3VyY2UK Ci0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1BZGQtUFBDNjQtc3VwcG9ydC1mb3ItYm9yaW5nc3NsLnBh dGNoIGIvMDAwMS1BZGQtUFBDNjQtc3VwcG9ydC1mb3ItYm9yaW5nc3NsLnBhdGNoCmluZGV4IDUy YzZjYjQuLmY2MzY0NTEgMTAwNjQ0Ci0tLSBhLzAwMDEtQWRkLVBQQzY0LXN1cHBvcnQtZm9yLWJv cmluZ3NzbC5wYXRjaAorKysgYi8wMDAxLUFkZC1QUEM2NC1zdXBwb3J0LWZvci1ib3Jpbmdzc2wu cGF0Y2gKQEAgLTEsNDUgKzEsMyBAQAotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuNjAvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jbWFrZS9wZXJsYXNtLmNtYWtlCi09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gY2hyb21pdW0tMTI0LjAuNjM2Ny42MC5vcmlnL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMv Y21ha2UvcGVybGFzbS5jbWFrZQotKysrIGNocm9taXVtLTEyNC4wLjYzNjcuNjAvdGhpcmRfcGFy dHkvYm9yaW5nc3NsL3NyYy9jbWFrZS9wZXJsYXNtLmNtYWtlCi1AQCAtMTcsNiArMTcsNyBAQCBm dW5jdGlvbihhZGRfcGVybGFzbV90YXJnZXQgZGVzdCBzcmMpCi0gICAgIERFUEVORFMKLSAgICAg JHtzcmN9Ci0gICAgICR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jcnlwdG8vcGVybGFzbS9hcm0teGxh dGUucGwKLSsgICAgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NyeXB0by9wZXJsYXNtL3BwYy14bGF0 ZS5wbAotICAgICAke1BST0pFQ1RfU09VUkNFX0RJUn0vY3J5cHRvL3Blcmxhc20veDg2XzY0LXhs YXRlLnBsCi0gICAgICR7UFJPSkVDVF9TT1VSQ0VfRElSfS9jcnlwdG8vcGVybGFzbS94ODZhc20u cGwKLSAgICAgJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2NyeXB0by9wZXJsYXNtL3g4Nmdhcy5wbAot QEAgLTM5LDYgKzQwLDkgQEAgZnVuY3Rpb24ocGVybGFzbSB2YXIgYXJjaCBkZXN0IHNyYykKLSAg IGVsc2VpZihhcmNoIFNUUkVRVUFMICJhcm0iKQotICAgICBhZGRfcGVybGFzbV90YXJnZXQoIiR7 ZGVzdH0tbGludXguUyIgJHtzcmN9IGxpbnV4MzIgJHtBUkdOfSkKLSAgICAgYXBwZW5kX3RvX3Bh cmVudF9zY29wZSgiJHt2YXJ9X0FTTSIgIiR7ZGVzdH0tbGludXguUyIpCi0rICBlbHNlaWYoYXJj aCBTVFJFUVVBTCAicHBjNjRsZSIpCi0rICAgIGFkZF9wZXJsYXNtX3RhcmdldCgiJHtkZXN0fS1s aW51eC5TIiAke3NyY30gbGludXg2NGxlKQotKyAgICBhcHBlbmRfdG9fcGFyZW50X3Njb3BlKCIk e3Zhcn1fQVNNIiAiJHtkZXN0fS1saW51eC5TIikKLSAgIGVsc2VpZihhcmNoIFNUUkVRVUFMICJ4 ODYiKQotICAgICBhZGRfcGVybGFzbV90YXJnZXQoIiR7ZGVzdH0tYXBwbGUuUyIgJHtzcmN9IG1h Y29zeCAtZlBJQyAke0FSR059KQotICAgICBhZGRfcGVybGFzbV90YXJnZXQoIiR7ZGVzdH0tbGlu dXguUyIgJHtzcmN9IGVsZiAtZlBJQyAke0FSR059KQotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYz NjcuNjAvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vQ01ha2VMaXN0cy50eHQKLT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjYwLm9yaWcvdGhpcmRfcGFydHkvYm9y aW5nc3NsL3NyYy9jcnlwdG8vQ01ha2VMaXN0cy50eHQKLSsrKyBjaHJvbWl1bS0xMjQuMC42MzY3 LjYwL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL0NNYWtlTGlzdHMudHh0Ci1AQCAt MjYsNiArMjYsNyBAQCBwZXJsYXNtKENSWVBUT19TT1VSQ0VTIGFhcmNoNjQgY2lwaGVyX2V4Ci0g cGVybGFzbShDUllQVE9fU09VUkNFUyBhYXJjaDY0IHRlc3QvdHJhbXBvbGluZS1hcm12OCB0ZXN0 L2FzbS90cmFtcG9saW5lLWFybXY4LnBsKQotIHBlcmxhc20oQ1JZUFRPX1NPVVJDRVMgYXJtIGNo YWNoYS9jaGFjaGEtYXJtdjQgY2hhY2hhL2FzbS9jaGFjaGEtYXJtdjQucGwpCi0gcGVybGFzbShD UllQVE9fU09VUkNFUyBhcm0gdGVzdC90cmFtcG9saW5lLWFybXY0IHRlc3QvYXNtL3RyYW1wb2xp bmUtYXJtdjQucGwpCi0rcGVybGFzbShDUllQVE9fU09VUkNFUyBwcGM2NGxlIHRlc3QvdHJhbXBv bGluZS1wcGMgdGVzdC9hc20vdHJhbXBvbGluZS1wcGMucGwpCi0gcGVybGFzbShDUllQVE9fU09V UkNFUyB4ODYgY2hhY2hhL2NoYWNoYS14ODYgY2hhY2hhL2FzbS9jaGFjaGEteDg2LnBsKQotIHBl cmxhc20oQ1JZUFRPX1NPVVJDRVMgeDg2IHRlc3QvdHJhbXBvbGluZS14ODYgdGVzdC9hc20vdHJh bXBvbGluZS14ODYucGwpCi0gcGVybGFzbShDUllQVE9fU09VUkNFUyB4ODZfNjQgY2hhY2hhL2No YWNoYS14ODZfNjQgY2hhY2hhL2FzbS9jaGFjaGEteDg2XzY0LnBsKQotQEAgLTEzNyw2ICsxMzgs NyBAQCBhZGRfbGlicmFyeSgKLSAgIGNwdV9hcm1fZnJlZWJzZC5jCi0gICBjcHVfYXJtX2xpbnV4 LmMKLSAgIGNwdV9pbnRlbC5jCi0rICBjcHVfcHBjNjRsZS5jCi0gICBjcnlwdG8uYwotICAgY3Vy dmUyNTUxOS9jdXJ2ZTI1NTE5LmMKLSAgIGN1cnZlMjU1MTkvY3VydmUyNTUxOV82NF9hZHguYwog SW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuNjAvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9j cnlwdG8vYWJpX3NlbGZfdGVzdC5jYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIGNocm9taXVtLTEyNC4wLjYz NjcuNjAub3JpZy90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2NyeXB0by9hYmlfc2VsZl90ZXN0 LmNjCkBAIC00MTksMTkgKzM3Nyw2IEBAIEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjYwL3Ro aXJkX3BhcnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2NyeXB0by5jCiAgI2VsaWYgZGVmaW5lZChP UEVOU1NMX0FSTSkgfHwgZGVmaW5lZChPUEVOU1NMX0FBUkNINjQpCiAgCiAgI2luY2x1ZGUgPG9w ZW5zc2wvYXJtX2FyY2guaD4KLUluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjYwL3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvQ01ha2VMaXN0cy50eHQKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjYwLm9yaWcvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9DTWFrZUxpc3RzLnR4dAotKysrIGNocm9taXVtLTEy NC4wLjYzNjcuNjAvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9D TWFrZUxpc3RzLnR4dAotQEAgLTE5LDYgKzE5LDggQEAgcGVybGFzbShCQ01fU09VUkNFUyBhcm0g c2hhMS1hcm12NC1sYXJnZQotIHBlcmxhc20oQkNNX1NPVVJDRVMgYXJtIHNoYTI1Ni1hcm12NCBz aGEvYXNtL3NoYTI1Ni1hcm12NC5wbCkKLSBwZXJsYXNtKEJDTV9TT1VSQ0VTIGFybSBzaGE1MTIt YXJtdjQgc2hhL2FzbS9zaGE1MTItYXJtdjQucGwpCi0gcGVybGFzbShCQ01fU09VUkNFUyBhcm0g dnBhZXMtYXJtdjcgYWVzL2FzbS92cGFlcy1hcm12Ny5wbCkKLStwZXJsYXNtKEJDTV9TT1VSQ0VT IHBwYzY0bGUgYWVzcDgtcHBjIGFlcy9hc20vYWVzcDgtcHBjLnBsKQotK3Blcmxhc20oQkNNX1NP VVJDRVMgcHBjNjRsZSBnaGFzaHA4LXBwYyBtb2Rlcy9hc20vZ2hhc2hwOC1wcGMucGwpCi0gcGVy bGFzbShCQ01fU09VUkNFUyB4ODYgYWVzbmkteDg2IGFlcy9hc20vYWVzbmkteDg2LnBsKQotIHBl cmxhc20oQkNNX1NPVVJDRVMgeDg2IGJuLTU4NiBibi9hc20vYm4tNTg2LnBsKQotIHBlcmxhc20o QkNNX1NPVVJDRVMgeDg2IGNvLTU4NiBibi9hc20vY28tNTg2LnBsKQogSW5kZXg6IGNocm9taXVt LTEyNC4wLjYzNjcuNjAvdGhpcmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVs ZS9hZXMvYXNtL2Flc3A4LXBwYy5wbAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbApAQCAtODg3 MCwxOCArODgxNSw2IEBAIEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjYwL3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9zcmMvdXRpbC9maXBzdG9vbHMvZGVsb2NhdGUvCiArLmJ5dGUgMHhmZgogKy5i eXRlIDB4MzEKICsuYnl0ZSAweDgwCi1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny42MC90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZ2VuZXJhdGVfYnVpbGRfZmlsZXMucHkKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjYwLm9yaWcvdGhpcmRfcGFydHkvYm9yaW5n c3NsL3NyYy91dGlsL2dlbmVyYXRlX2J1aWxkX2ZpbGVzLnB5Ci0rKysgY2hyb21pdW0tMTI0LjAu NjM2Ny42MC90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL3V0aWwvZ2VuZXJhdGVfYnVpbGRfZmls ZXMucHkKLUBAIC0zNCw2ICszNCw3IEBAIE9TX0FSQ0hfQ09NQk9TID0gWwotICAgICAoJ2FwcGxl JywgJ3g4Nl82NCcsICdtYWNvc3gnLCBbXSwgJ1MnKSwKLSAgICAgKCdsaW51eCcsICdhcm0nLCAn bGludXgzMicsIFtdLCAnUycpLAotICAgICAoJ2xpbnV4JywgJ2FhcmNoNjQnLCAnbGludXg2NCcs IFtdLCAnUycpLAotKyAgICAoJ2xpbnV4JywgJ3BwYzY0bGUnLCAnbGludXg2NGxlJywgW10sICdT JyksCi0gICAgICgnbGludXgnLCAneDg2JywgJ2VsZicsIFsnLWZQSUMnXSwgJ1MnKSwKLSAgICAg KCdsaW51eCcsICd4ODZfNjQnLCAnZWxmJywgW10sICdTJyksCi0gICAgICgnd2luJywgJ3g4Nics ICd3aW4zMm4nLCBbXSwgJ2FzbScpLAogSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuNjAvdGhp cmRfcGFydHkvYm9yaW5nc3NsL3NyYy9jcnlwdG8vZmlwc21vZHVsZS9zaGEvc2hhMS5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gY2hyb21pdW0tMTI0LjAuNjM2Ny42MC5vcmlnL3RoaXJkX3BhcnR5L2Jvcmlu Z3NzbC9zcmMvY3J5cHRvL2ZpcHNtb2R1bGUvc2hhL3NoYTEuYwoKZGlmZiAtLWdpdCBhLzAwMDIt dGhpcmQtcGFydHktYm9yaW5nc3NsLWFkZC1nZW5lcmF0ZWQtZmlsZXMucGF0Y2ggYi8wMDAyLXRo aXJkLXBhcnR5LWJvcmluZ3NzbC1hZGQtZ2VuZXJhdGVkLWZpbGVzLnBhdGNoCmluZGV4IGI0Zjhk MjguLjExZjllNGMgMTAwNjQ0Ci0tLSBhLzAwMDItdGhpcmQtcGFydHktYm9yaW5nc3NsLWFkZC1n ZW5lcmF0ZWQtZmlsZXMucGF0Y2gKKysrIGIvMDAwMi10aGlyZC1wYXJ0eS1ib3Jpbmdzc2wtYWRk LWdlbmVyYXRlZC1maWxlcy5wYXRjaApAQCAtMSw4ICsxLDcgQEAKLUluZGV4OiBjaHJvbWl1bS0x MjAuMC42MDk5LjcxL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nZW5lcmF0ZWQuZ25pCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTIwLjAuNjA5OS43MS5vcmlnL3RoaXJkX3BhcnR5L2Jv cmluZ3NzbC9CVUlMRC5nZW5lcmF0ZWQuZ25pCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS43MS90 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ2VuZXJhdGVkLmduaQotQEAgLTk0LDYgKzk0LDcg QEAgY3J5cHRvX3NvdXJjZXMgPSBbCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3Ro aXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nZW5lcmF0ZWQuZ25pLjAwMDItdGhpcmQtcGFydHkt Ym9yaW5nc3NsLWFkZC1nZW5lcmF0ZWQtZmlsZXMgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ2VuZXJhdGVkLmduaQorLS0tIGNocm9taXVtLTEyNS4w LjY0MjIuNDEvdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmdlbmVyYXRlZC5nbmkuMDAwMi10 aGlyZC1wYXJ0eS1ib3Jpbmdzc2wtYWRkLWdlbmVyYXRlZC1maWxlcwkyMDI0LTA1LTA4IDIyOjMw OjIyLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFy dHkvYm9yaW5nc3NsL0JVSUxELmdlbmVyYXRlZC5nbmkJMjAyNC0wNS0xMyAyMzozMToyOS4wMjY1 ODA2OTIgKzAyMDAKK0BAIC05Myw2ICs5Myw3IEBAIGNyeXB0b19zb3VyY2VzID0gWwogICAgInNy Yy9jcnlwdG8vY3B1X2FybV9saW51eC5jIiwKICAgICJzcmMvY3J5cHRvL2NwdV9hcm1fbGludXgu aCIsCiAgICAic3JjL2NyeXB0by9jcHVfaW50ZWwuYyIsCkBAIC0xMCwyMCArOSwxOSBAQCBJbmRl eDogY2hyb21pdW0tMTIwLjAuNjA5OS43MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ2Vu ZXJhdGVkLmduaQogICAgInNyYy9jcnlwdG8vY3J5cHRvLmMiLAogICAgInNyYy9jcnlwdG8vY3Vy dmUyNTUxOS9jdXJ2ZTI1NTE5LmMiLAogICAgInNyYy9jcnlwdG8vY3VydmUyNTUxOS9jdXJ2ZTI1 NTE5XzY0X2FkeC5jIiwKLUBAIC0zODksNiArMzkwLDkgQEAgY3J5cHRvX3NvdXJjZXNfYXNtID0g WwotICAgImxpbnV4LWFybS9jcnlwdG8vZmlwc21vZHVsZS9zaGE1MTItYXJtdjQtbGludXguUyIs Ci0gICAibGludXgtYXJtL2NyeXB0by9maXBzbW9kdWxlL3ZwYWVzLWFybXY3LWxpbnV4LlMiLAot ICAgImxpbnV4LWFybS9jcnlwdG8vdGVzdC90cmFtcG9saW5lLWFybXY0LWxpbnV4LlMiLAorQEAg LTQzNCw2ICs0MzUsOSBAQCBjcnlwdG9fc291cmNlc19hc20gPSBbCisgICAic3JjL2dlbi9jcnlw dG8vY2hhY2hhMjBfcG9seTEzMDVfeDg2XzY0LWFwcGxlLlMiLAorICAgInNyYy9nZW4vY3J5cHRv L2NoYWNoYTIwX3BvbHkxMzA1X3g4Nl82NC1saW51eC5TIiwKKyAgICJzcmMvZ2VuL3Rlc3Rfc3Vw cG9ydC90cmFtcG9saW5lLWFybXY0LWxpbnV4LlMiLAogKyAgImxpbnV4LXBwYzY0bGUvY3J5cHRv L2ZpcHNtb2R1bGUvYWVzcDgtcHBjLWxpbnV4LlMiLAogKyAgImxpbnV4LXBwYzY0bGUvY3J5cHRv L2ZpcHNtb2R1bGUvZ2hhc2hwOC1wcGMtbGludXguUyIsCiArICAibGludXgtcHBjNjRsZS9jcnlw dG8vdGVzdC90cmFtcG9saW5lLXBwYy1saW51eC5TIiwKLSAgICJsaW51eC14ODYvY3J5cHRvL2No YWNoYS9jaGFjaGEteDg2LWxpbnV4LlMiLAotICAgImxpbnV4LXg4Ni9jcnlwdG8vZmlwc21vZHVs ZS9hZXNuaS14ODYtbGludXguUyIsCi0gICAibGludXgteDg2L2NyeXB0by9maXBzbW9kdWxlL2Ju LTU4Ni1saW51eC5TIiwKLUluZGV4OiBjaHJvbWl1bS0xMjAuMC42MDk5LjcxL3RoaXJkX3BhcnR5 L2JvcmluZ3NzbC9saW51eC1wcGM2NGxlL2NyeXB0by9maXBzbW9kdWxlL2Flc3A4LXBwYy1saW51 eC5TCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS43 MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvbGludXgtcHBjNjRsZS9jcnlwdG8vZmlwc21vZHVsZS9h ZXNwOC1wcGMtbGludXguUworICAgInNyYy9nZW4vdGVzdF9zdXBwb3J0L3RyYW1wb2xpbmUtYXJt djgtYXBwbGUuUyIsCisgICAic3JjL2dlbi90ZXN0X3N1cHBvcnQvdHJhbXBvbGluZS1hcm12OC1s aW51eC5TIiwKKyAgICJzcmMvZ2VuL3Rlc3Rfc3VwcG9ydC90cmFtcG9saW5lLWFybXY4LXdpbi5T IiwKK2RpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvYm9yaW5nc3Ns L2xpbnV4LXBwYzY0bGUvY3J5cHRvL2ZpcHNtb2R1bGUvYWVzcDgtcHBjLWxpbnV4LlMuMDAwMi10 aGlyZC1wYXJ0eS1ib3Jpbmdzc2wtYWRkLWdlbmVyYXRlZC1maWxlcyBjaHJvbWl1bS0xMjUuMC42 NDIyLjQxL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9saW51eC1wcGM2NGxlL2NyeXB0by9maXBzbW9k dWxlL2Flc3A4LXBwYy1saW51eC5TCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvbGludXgtcHBjNjRsZS9jcnlwdG8vZmlwc21vZHVsZS9hZXNwOC1wcGMt bGludXguUy4wMDAyLXRoaXJkLXBhcnR5LWJvcmluZ3NzbC1hZGQtZ2VuZXJhdGVkLWZpbGVzCTIw MjQtMDUtMTMgMjE6Mjg6MTMuMjk1ODc5ODI1ICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQy Mi40MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvbGludXgtcHBjNjRsZS9jcnlwdG8vZmlwc21vZHVs ZS9hZXNwOC1wcGMtbGludXguUwkyMDI0LTA1LTEzIDIxOjI4OjEzLjI5NDg3OTgwMiArMDIwMAog QEAgLTAsMCArMSwzNjczIEBACiArLy8gVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIGEgc2lt aWxhcmx5LW5hbWVkIFBlcmwgc2NyaXB0IGluIHRoZSBCb3JpbmdTU0wKICsvLyBzb3VyY2UgdHJl ZS4gRG8gbm90IGVkaXQgYnkgaGFuZC4KQEAgLTM2OTgsMTAgKzM2OTYsOSBAQCBJbmRleDogY2hy b21pdW0tMTIwLjAuNjA5OS43MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvbGludXgtcHBjNjRsZS9j cnlwdG8vZmlwc21vZAogKy8vIFNlZSBodHRwczovL3d3dy5haXJzLmNvbS9ibG9nL2FyY2hpdmVz LzUxOC4KICsuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2ssIiIsJXByb2diaXRzCiArI2VuZGlmCi1J bmRleDogY2hyb21pdW0tMTIwLjAuNjA5OS43MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvbGludXgt cHBjNjRsZS9jcnlwdG8vZmlwc21vZHVsZS9naGFzaHA4LXBwYy1saW51eC5TCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gL2Rldi9udWxsCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS43MS90aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvbGludXgtcHBjNjRsZS9jcnlwdG8vZmlwc21vZHVsZS9naGFzaHA4LXBwYy1saW51 eC5TCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9saW51eC1wcGM2NGxlL2NyeXB0by9maXBzbW9kdWxlL2doYXNocDgtcHBjLWxpbnV4LlMuMDAw Mi10aGlyZC1wYXJ0eS1ib3Jpbmdzc2wtYWRkLWdlbmVyYXRlZC1maWxlcyBjaHJvbWl1bS0xMjUu MC42NDIyLjQxL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9saW51eC1wcGM2NGxlL2NyeXB0by9maXBz bW9kdWxlL2doYXNocDgtcHBjLWxpbnV4LlMKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3Ro aXJkX3BhcnR5L2JvcmluZ3NzbC9saW51eC1wcGM2NGxlL2NyeXB0by9maXBzbW9kdWxlL2doYXNo cDgtcHBjLWxpbnV4LlMuMDAwMi10aGlyZC1wYXJ0eS1ib3Jpbmdzc2wtYWRkLWdlbmVyYXRlZC1m aWxlcwkyMDI0LTA1LTEzIDIxOjI4OjEzLjI5NTg3OTgyNSArMDIwMAorKysrIGNocm9taXVtLTEy NS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvYm9yaW5nc3NsL2xpbnV4LXBwYzY0bGUvY3J5cHRvL2Zp cHNtb2R1bGUvZ2hhc2hwOC1wcGMtbGludXguUwkyMDI0LTA1LTEzIDIxOjI4OjEzLjI5NTg3OTgy NSArMDIwMAogQEAgLTAsMCArMSw1OTAgQEAKICsvLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZy b20gYSBzaW1pbGFybHktbmFtZWQgUGVybCBzY3JpcHQgaW4gdGhlIEJvcmluZ1NTTAogKy8vIHNv dXJjZSB0cmVlLiBEbyBub3QgZWRpdCBieSBoYW5kLgpAQCAtNDI5MywxMCArNDI5MCw5IEBAIElu ZGV4OiBjaHJvbWl1bS0xMjAuMC42MDk5LjcxL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9saW51eC1w cGM2NGxlL2NyeXB0by9maXBzbW9kCiArLy8gU2VlIGh0dHBzOi8vd3d3LmFpcnMuY29tL2Jsb2cv YXJjaGl2ZXMvNTE4LgogKy5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjaywiIiwlcHJvZ2JpdHMKICsj ZW5kaWYKLUluZGV4OiBjaHJvbWl1bS0xMjAuMC42MDk5LjcxL3RoaXJkX3BhcnR5L2JvcmluZ3Nz bC9saW51eC1wcGM2NGxlL2NyeXB0by90ZXN0L3RyYW1wb2xpbmUtcHBjLWxpbnV4LlMKLT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSAvZGV2L251bGwKLSsrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjcxL3RoaXJkX3Bh cnR5L2JvcmluZ3NzbC9saW51eC1wcGM2NGxlL2NyeXB0by90ZXN0L3RyYW1wb2xpbmUtcHBjLWxp bnV4LlMKK2RpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvYm9yaW5n c3NsL2xpbnV4LXBwYzY0bGUvY3J5cHRvL3Rlc3QvdHJhbXBvbGluZS1wcGMtbGludXguUy4wMDAy LXRoaXJkLXBhcnR5LWJvcmluZ3NzbC1hZGQtZ2VuZXJhdGVkLWZpbGVzIGNocm9taXVtLTEyNS4w LjY0MjIuNDEvdGhpcmRfcGFydHkvYm9yaW5nc3NsL2xpbnV4LXBwYzY0bGUvY3J5cHRvL3Rlc3Qv dHJhbXBvbGluZS1wcGMtbGludXguUworLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRf cGFydHkvYm9yaW5nc3NsL2xpbnV4LXBwYzY0bGUvY3J5cHRvL3Rlc3QvdHJhbXBvbGluZS1wcGMt bGludXguUy4wMDAyLXRoaXJkLXBhcnR5LWJvcmluZ3NzbC1hZGQtZ2VuZXJhdGVkLWZpbGVzCTIw MjQtMDUtMTMgMjE6Mjg6MTMuMjk1ODc5ODI1ICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQy Mi40MS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvbGludXgtcHBjNjRsZS9jcnlwdG8vdGVzdC90cmFt cG9saW5lLXBwYy1saW51eC5TCTIwMjQtMDUtMTMgMjE6Mjg6MTMuMjk1ODc5ODI1ICswMjAwCiBA QCAtMCwwICsxLDE0MTMgQEAKICsvLyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20gYSBzaW1p bGFybHktbmFtZWQgUGVybCBzY3JpcHQgaW4gdGhlIEJvcmluZ1NTTAogKy8vIHNvdXJjZSB0cmVl LiBEbyBub3QgZWRpdCBieSBoYW5kLgoKZGlmZiAtLWdpdCBhL0hBQ0stZGViaWFuLWNsYW5nLWRp c2FibGUtc2tpYS1tdXN0dGFpbC5wYXRjaCBiL0hBQ0stZGViaWFuLWNsYW5nLWRpc2FibGUtc2tp YS1tdXN0dGFpbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmUyNTUyMC4u MDAwMDAwMAotLS0gYS9IQUNLLWRlYmlhbi1jbGFuZy1kaXNhYmxlLXNraWEtbXVzdHRhaWwucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1JbmRleDogY2hyb21pdW0tMTIwLjAu NjA5OS43MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrUmFzdGVyUGlwZWxpbmUuaAotPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNzEub3JpZy90aGlyZF9wYXJ0eS9za2lh L3NyYy9jb3JlL1NrUmFzdGVyUGlwZWxpbmUuaAotKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNzEv dGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1Jhc3RlclBpcGVsaW5lLmgKLUBAIC0yNCw3ICsy NCw3IEBAIGVudW0gU2tDb2xvclR5cGUgOiBpbnQ7Ci0gc3RydWN0IFNrSW1hZ2VJbmZvOwotIHN0 cnVjdCBza2Ntc19UcmFuc2ZlckZ1bmN0aW9uOwotIAotLSNpZiBfX2hhc19jcHBfYXR0cmlidXRl KGNsYW5nOjptdXN0dGFpbCkgJiYgIWRlZmluZWQoX19FTVNDUklQVEVOX18pICYmICFkZWZpbmVk KFNLX0NQVV9BUk0zMikKLSsjaWYgX19oYXNfY3BwX2F0dHJpYnV0ZShjbGFuZzo6bXVzdHRhaWwp ICYmICFkZWZpbmVkKF9fRU1TQ1JJUFRFTl9fKSAmJiAhZGVmaW5lZChTS19DUFVfQVJNMzIpICYm ICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgICNkZWZpbmUgU0tfSEFTX01VU1RUQUlMIDEK LSAjZWxzZQotICAgICAjZGVmaW5lIFNLX0hBU19NVVNUVEFJTCAwCgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTIxLXY4LWMrKzIwLXAxLnBhdGNoIGIvY2hyb21pdW0tMTIxLXY4LWMrKzIwLXAxLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZGY2YzAxLi4wMDAwMDAwCi0tLSBh L2Nocm9taXVtLTEyMS12OC1jKysyMC1wMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3MSAr MCwwIEBACi1jb21taXQgY2U3MTM0OGEwOWY2Njg5ZGQwMWE2OGRiNjRiMTcyMTkxZDAxODJkOAot QXV0aG9yOiBBbmRyZXkgS29zeWFrb3YgPGNhc2VxQGNocm9taXVtLm9yZz4KLURhdGU6ICAgVGh1 IERlYyAyMSAxODozODozOCAyMDIzICswMDAwCi0KLSAgICBbYmluZGluZ3NdIFVzZSB2ODo6QXJy YXk6Okl0ZXJhdGUgZm9yIGNvbnZlcnRpbmcgc2NyaXB0IHdyYXBwYWJsZXMKLSAgICAKLSAgICAK LSAgICBUaGlzIGNoYW5nZXMgQ3JlYXRlSURMU2VxdWVuY2VGcm9tVjhBcnJheSB0byB1c2UgdGhl IG5ldwotICAgIHY4OjpBcnJheTo6SXRlcmF0ZSgpIG9wZXJhdGlvbi4KLSAgICBUaGlzIHNwZWVk cyB1cCB0aGUgImV4ZWNCdW5kbGVzIiBwYXJ0IG9mIHRoZSBtaWNyb2JlbmNobWFyawotICAgIGF0 IGNyYnVnLmNvbS9kYXduLzE4NTggYnkgYXJvdW5kIDN4LgotICAgIFRoaXMgZGVwZW5kcyBvbiBj cnJldi5jb20vYy80ODQ2NTk0IGxhbmRpbmcgKGFuZCByb2xsaW5nKSBmaXJzdC4KLSAgICAKLSAg ICBUaGlzIGlzIGEgc2xpZ2h0IHJlLXdvcmsgb2YgaHR0cHM6Ly9jcnJldi5jb20vYy80ODQ3NDQ3 LzMsCi0gICAgb3JpZ2luYWxseSBieSBqa3VtbWVyb3dAY2hyb21pdW0ub3JnCi0gICAgCi0gICAg QnVnOiB2ODoxNDIxOCwgZGF3bjoxODU4LCAxNTExMjM5Ci0gICAgQ2hhbmdlLUlkOiBJYTI2NjU1 NmQwNWI0ZDUzZTY5NDJlMTI2MDlkMWMwODg4MmI0ZmYwZgotICAgIFJldmlld2VkLW9uOiBodHRw czovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNTEz MjEyOQotICAgIENvbW1pdC1RdWV1ZTogQW5kcmV5IEtvc3lha292IDxjYXNlcUBjaHJvbWl1bS5v cmc+Ci0gICAgUmV2aWV3ZWQtYnk6IFl1a2kgU2hpaW5vIDx5dWtpc2hpaW5vQGNocm9taXVtLm9y Zz4KLSAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEyNDAyMzZ9Ci0K LWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4 L25hdGl2ZV92YWx1ZV90cmFpdHMuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRp bmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oCi1pbmRleCAxZTVhMDc5MGRmNmRhLi5h NWMyOGIzN2U5NDU0IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmlu ZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oCi1AQCAt ODQsNiArODQsMTIgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZSB7Ci0gICAgICAgc3Rk Ojppc19wb2ludGVyX3Y8SW1wbFR5cGU+IHx8Ci0gICAgICAgcmVxdWlyZXMoSW1wbFR5cGUgdmFs dWUpIHsgdmFsdWUuSXNOdWxsKCk7IH07Ci0gCi0rICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIHRy dWUgZm9yIGNlcnRhaW4gc3ViY2xhc3NlcyBvZiBTY3JpcHRXcmFwcGFibGUKLSsgIC8vIHRoYXQg c2F0aXNmeSB0aGUgYXNzdW1wdGlvbnMgb2YgQ3JlYXRlSURMU2VxdWVuY2VGcm9tVjhBcnJheVNs b3coKSB3aXRoCi0rICAvLyByZWdhcmRzIHRvIGhvdyBOYXRpdmVWYWx1ZSgpIGlzIGltcGxlbWVu dGVkIGZvciB0aGUgdW5kZXJseWluZyB0eXBlLgotKyAgc3RhdGljIGNvbnN0ZXhwciBib29sIHN1 cHBvcnRzX3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19mYXN0X2FycmF5X2l0ZXJhdGlvbiA9Ci0r ICAgICAgZmFsc2U7Ci0rCi0gICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0cmFBcmdzPgotICAg c3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5k ZXgsCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29y ZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19pbXBsLmgKLWluZGV4IDUw MTE1MDNkY2YxYzAuLmYwODViNmU5MDUxNjEgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCi0r KysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92 YWx1ZV90cmFpdHNfaW1wbC5oCi1AQCAtMTAzNywxMCArMTAzNyw4NiBAQCBDcmVhdGVJRExTZXF1 ZW5jZUZyb21WOEFycmF5U2xvdyh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgcmV0dXJuIHt9 OwotICAgfQotIAotLSAgdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+ OjpJbXBsVHlwZSByZXN1bHQ7Ci0rICB1c2luZyBSZXN1bHRUeXBlID0gdHlwZW5hbWUgTmF0aXZl VmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpJbXBsVHlwZTsKLSsgIFJlc3VsdFR5cGUgcmVz dWx0OwotICAgcmVzdWx0LlJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGVuZ3RoKTsKLSAgIHY4OjpM b2NhbDx2ODo6Q29udGV4dD4gY3VycmVudF9jb250ZXh0ID0gaXNvbGF0ZS0+R2V0Q3VycmVudENv bnRleHQoKTsKLSAgIHY4OjpUcnlDYXRjaCB0cnlfYmxvY2soaXNvbGF0ZSk7Ci0rCi0rICAvLyBG YXN0IHBhdGggLS0gd2UncmUgY3JlYXRpbmcgYSBzZXF1ZW5jZSBvZiBzY3JpcHQgd3JhcHBhYmxl cywgd2hpY2ggY2FuIGJlCi0rICAvLyBkb25lIGJ5IGRpcmVjdGx5IGdldHRpbmcgdW5kZXJseWlu ZyBvYmplY3QgYXMgbG9uZyBhcyBhcnJheSB0eXBlcyBhcmUKLSsgIC8vIGhvbW9nZW5lb3VzLiBX aXRoIFNjcmlwdFdyYXBwYWJsZXMsIHdlIGRvbid0IGV4cGVjdCB0byBlbnRlciBKUyBkdXJpbmcK LSsgIC8vIGl0ZXJhdGlvbiwgc28gd2UgY2FuIHJlbHkgb24gdjg6OkFycmF5OjpJdGVyYXRlKCkg d2hpY2ggaXMgbXVjaCBmYXN0ZXIgdGhhbgotKyAgLy8gaXRlcmF0aW5nIGFuIGFycmF5IG9uIHRo ZSBjbGllbnQgc2lkZSBvZiB0aGUgdjguIEFkZGl0aW9uYWxseSwgZm9yIG1vc3QKLSsgIC8vIHN1 YnNwdHllcyBvZiBTY3JpcHRXcmFwcGFibGVzLCB3ZSBjYW4gc3BlZWQgdXAgdHlwZSBjaGVja3Mg KHNlZSBtb3JlIG9uCi0rICAvLyB0aGF0IGJlbG93IG5leHQgdG8gc3VwcG9ydHNfc2NyaXB0d3Jh cHBhYmxlX3NwZWNpZmljX2Zhc3RfYXJyYXlfaXRlcmF0aW9uCi0rICAvLyBjaGVjay4KLSsgIGlm IGNvbnN0ZXhwciAoc3RkOjppc19iYXNlX29mX3Y8U2NyaXB0V3JhcHBhYmxlLCBUPikgewotKyAg ICBzdHJ1Y3QgQ2FsbGJhY2tEYXRhIHsKLSsgICAgICBTVEFDS19BTExPQ0FURUQoKTsKLSsKLSsg ICAgIHB1YmxpYzoKLSsgICAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZTsKLSsgICAgICB2ODo6VHlw ZWNoZWNrV2l0bmVzcyB3aXRuZXNzOwotKyAgICAgIFJlc3VsdFR5cGUmIHJlc3VsdDsKLSsgICAg ICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlOwotKyAgICAgIENhbGxiYWNrRGF0YSh2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgICAgICAgICAgICAgICAgUmVzdWx0VHlwZSYgcmVz dWx0LAotKyAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KQotKyAgICAgICAgICA6IGlzb2xhdGUoaXNvbGF0ZSksCi0rICAgICAgICAgICAgd2l0bmVzcyhp c29sYXRlKSwKLSsgICAgICAgICAgICByZXN1bHQocmVzdWx0KSwKLSsgICAgICAgICAgICBleGNl cHRpb25fc3RhdGUoZXhjZXB0aW9uX3N0YXRlKSB7fQotKyAgICB9OwotKwotKyAgICBDYWxsYmFj a0RhdGEgY2FsbGJhY2tfZGF0YShpc29sYXRlLCByZXN1bHQsIGV4Y2VwdGlvbl9zdGF0ZSk7Ci0r ICAgIHY4OjpBcnJheTo6SXRlcmF0aW9uQ2FsbGJhY2sgY2FsbGJhY2sgPSBbXSh1aW50MzJfdCBp bmRleCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHY4X2VsZW1lbnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBkYXRhKSB7Ci0rICAgICAgQ2FsbGJhY2tEYXRh KiBjYWxsYmFja19kYXRhID0gcmVpbnRlcnByZXRfY2FzdDxDYWxsYmFja0RhdGEqPihkYXRhKTsK LSsgICAgICAvLyAzLjQuIEluaXRpYWxpemUgU2kgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5n IG5leHRJdGVtIHRvIGFuIElETCB2YWx1ZQotKyAgICAgIC8vICAgb2YgdHlwZSBULgotKyAgICAg IHY4OjpUeXBlY2hlY2tXaXRuZXNzJiB3aXRuZXNzID0gY2FsbGJhY2tfZGF0YS0+d2l0bmVzczsK LSsgICAgICAvLyBXZSBjYW4gc3BlZWQgdXAgdHlwZSBjaGVjayBieSB0YWtpbmcgYWR2YW50YWdl IG9mIFY4J3MgdHlwZSB3aXRuZXNzLAotKyAgICAgIC8vIHByb3ZpZGVkIHRyYWl0cycgTmF0aXZl VmFsdWUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBoYXZlIGFkZGl0aW9uYWwKLSsgICAgICAvLyBs b2dpYyBiZXlvbmQgY2hlY2tpbmcgdGhlIHR5cGUgYW5kIGNhbGxpbmcgVG9TY3JpcHRXcmFwcGFi bGUoKS4KLSsgICAgICBpZiBjb25zdGV4cHIgKAotKyAgICAgICAgICBOYXRpdmVWYWx1ZVRyYWl0 czwKLSsgICAgICAgICAgICAgIFQ+OjpzdXBwb3J0c19zY3JpcHR3cmFwcGFibGVfc3BlY2lmaWNf ZmFzdF9hcnJheV9pdGVyYXRpb24pIHsKLSsgICAgICAgIGlmICh3aXRuZXNzLk1hdGNoZXModjhf ZWxlbWVudCkpIHsKLSsgICAgICAgICAgYXV0byYmIHZhbHVlID0gVG9TY3JpcHRXcmFwcGFibGUo djhfZWxlbWVudC5Bczx2ODo6T2JqZWN0PigpKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLT50ZW1wbGF0ZSBUb0ltcGw8VD4oKTsKLSsgICAgICAgICAgY2FsbGJhY2tfZGF0YS0+cmVz dWx0LnB1c2hfYmFjayhzdGQ6Om1vdmUodmFsdWUpKTsKLSsgICAgICAgICAgcmV0dXJuIHY4OjpB cnJheTo6Q2FsbGJhY2tSZXN1bHQ6OmtDb250aW51ZTsKLSsgICAgICAgIH0KLSsgICAgICB9Ci0r ICAgICAgYXV0byYmIGVsZW1lbnQgPSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6TmF0aXZlVmFsdWUo Ci0rICAgICAgICAgIGNhbGxiYWNrX2RhdGEtPmlzb2xhdGUsIHY4X2VsZW1lbnQsIGNhbGxiYWNr X2RhdGEtPmV4Y2VwdGlvbl9zdGF0ZSk7Ci0rICAgICAgaWYgKGNhbGxiYWNrX2RhdGEtPmV4Y2Vw dGlvbl9zdGF0ZS5IYWRFeGNlcHRpb24oKSkgewotKyAgICAgICAgLy8gSXQgZG9lc24ndCBtYXR0 ZXIgd2hldGhlciB3ZSByZXR1cm4gYGtFeGNlcHRpb25gIG9yIGBrQnJlYWtgIGhlcmUsCi0rICAg ICAgICAvLyBhcyB0aGF0IG9ubHkgYWZmZWN0cyB0aGUgcmV0dXJuIHZhbHVlIG9mIGB2OF9hcnJh eS0+SXRlcmF0ZSgpYCwKLSsgICAgICAgIC8vIHdoaWNoIHdlIGFyZSBpZ25vcmluZy4KLSsgICAg ICAgIHJldHVybiB2ODo6QXJyYXk6OkNhbGxiYWNrUmVzdWx0OjprRXhjZXB0aW9uOwotKyAgICAg IH0KLSsgICAgICBpZiBjb25zdGV4cHIgKAotKyAgICAgICAgICBOYXRpdmVWYWx1ZVRyYWl0czwK LSsgICAgICAgICAgICAgIFQ+OjpzdXBwb3J0c19zY3JpcHR3cmFwcGFibGVfc3BlY2lmaWNfZmFz dF9hcnJheV9pdGVyYXRpb24pIHsKLSsgICAgICAgIHdpdG5lc3MuVXBkYXRlKHY4X2VsZW1lbnQp OwotKyAgICAgIH0KLSsgICAgICBjYWxsYmFja19kYXRhLT5yZXN1bHQucHVzaF9iYWNrKHN0ZDo6 bW92ZShlbGVtZW50KSk7Ci0rICAgICAgcmV0dXJuIHY4OjpBcnJheTo6Q2FsbGJhY2tSZXN1bHQ6 OmtDb250aW51ZTsKLSsgICAgfTsKLSsgICAgaWYgKCF2OF9hcnJheS0+SXRlcmF0ZShjdXJyZW50 X2NvbnRleHQsIGNhbGxiYWNrLCAmY2FsbGJhY2tfZGF0YSkKLSsgICAgICAgICAgICAgLklzSnVz dCgpKSB7Ci0rICAgICAgaWYgKHRyeV9ibG9jay5IYXNDYXVnaHQoKSkgewotKyAgICAgICAgZXhj ZXB0aW9uX3N0YXRlLlJldGhyb3dWOEV4Y2VwdGlvbih0cnlfYmxvY2suRXhjZXB0aW9uKCkpOwot KyAgICAgIH0KLSsgICAgICBEQ0hFQ0soZXhjZXB0aW9uX3N0YXRlLkhhZEV4Y2VwdGlvbigpKTsK LSsgICAgICByZXR1cm4ge307Ci0rICAgIH0KLSsgICAgcmV0dXJuIHJlc3VsdDsKLSsgIH0KLSsK LSAgIC8vIEFycmF5IGxlbmd0aCBtYXkgY2hhbmdlIGlmIGFycmF5IGlzIG11dGF0ZWQgZHVyaW5n IGl0ZXJhdGlvbi4KLSAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCB2OF9hcnJheS0+TGVuZ3Ro KCk7ICsraSkgewotICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OF9lbGVtZW50OwotQEAgLTEw NTYsNiArMTEzMiw3IEBAIENyZWF0ZUlETFNlcXVlbmNlRnJvbVY4QXJyYXlTbG93KHY4OjpJc29s YXRlKiBpc29sYXRlLAotICAgICAgIHJldHVybiB7fTsKLSAgICAgcmVzdWx0LnB1c2hfYmFjayhz dGQ6Om1vdmUoZWxlbWVudCkpOwotICAgfQotKwotICAgLy8gMy4yLiBJZiBuZXh0IGlzIGZhbHNl LCB0aGVuIHJldHVybiBhbiBJREwgc2VxdWVuY2UgdmFsdWUgb2YgdHlwZQotICAgLy8gICBzZXF1 ZW5jZTxUPiBvZiBsZW5ndGggaSwgd2hlcmUgdGhlIHZhbHVlIG9mIHRoZSBlbGVtZW50IGF0IGlu ZGV4IGogaXMgU2ouCi0gICByZXR1cm4gcmVzdWx0OwotQEAgLTEzOTgsNiArMTQ3NSw3IEBAIHN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8 VCo+IHsKLSAgIH0KLSB9OwotIAotKy8vIEludGVyZmFjZSB0eXBlcwotIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgotICAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tJbnRlcmZh Y2VCYXNlPgotIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KLUBAIC0x NDcwLDEyICsxNTQ4LDIxIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4gewotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICAgcmVx dWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgotIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSsg IC8vIFRoaXMgc2lnbmlmaWVzIHRoYXQgQ3JlYXRlSURMU2VxdWVuY2VGcm9tVjhBcnJheVNsb3co KSBtYXkgYXBwbHkKLSsgIC8vIGNlcnRhaW4gb3B0aW1pemF0aW9uIGJhc2VkIG9uIGFzc3VtcHRp b25zIGFib3V0IGBOYXRpdmVWYWx1ZSgpYAotKyAgLy8gaW1wbGVtZW50YXRpb24gYmVsb3cuIEZv ciBzdWJjbGFzc2VzIG9mIFNjcmlwdFdyYXBwYWJsZSB0aGF0IGhhdmUKLSsgIC8vIGRpZmZlcmVu dCBpbXBsZW1lbnRhdGlvbiBvZiBOYXRpdmVWYWx1ZSgpLCB0aGlzIHNob3VsZCByZW1haW4gZmFs c2UuCi0rICBzdGF0aWMgY29uc3RleHByIGJvb2wgc3VwcG9ydHNfc2NyaXB0d3JhcHBhYmxlX3Nw ZWNpZmljX2Zhc3RfYXJyYXlfaXRlcmF0aW9uID0KLSsgICAgICB0cnVlOwotKwotICAgc3RhdGlj IGlubGluZSBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUp IHsKLSAgICAgY29uc3QgV3JhcHBlclR5cGVJbmZvKiB3cmFwcGVyX3R5cGVfaW5mbyA9IFQ6Okdl dFN0YXRpY1dyYXBwZXJUeXBlSW5mbygpOwotLSAgICBpZiAoVjhQZXJJc29sYXRlRGF0YTo6RnJv bShpc29sYXRlKS0+SGFzSW5zdGFuY2Uod3JhcHBlcl90eXBlX2luZm8sIHZhbHVlKSkKLSsgICAg aWYgKFY4UGVySXNvbGF0ZURhdGE6OkZyb20oaXNvbGF0ZSktPkhhc0luc3RhbmNlKHdyYXBwZXJf dHlwZV9pbmZvLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFsdWUpKSB7Ci0gICAgICAgcmV0dXJuIFRvU2NyaXB0V3JhcHBhYmxlKHZhbHVl LkFzPHY4OjpPYmplY3Q+KCkpLT50ZW1wbGF0ZSBUb0ltcGw8VD4oKTsKLSsgICAgfQotIAotICAg ICBiaW5kaW5nczo6TmF0aXZlVmFsdWVUcmFpdHNJbnRlcmZhY2VOb3RPZlR5cGUod3JhcHBlcl90 eXBlX2luZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBleGNlcHRpb25fc3RhdGUpOwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyMy12OC1jKysy MC5wYXRjaCBiL2Nocm9taXVtLTEyMy12OC1jKysyMC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggYTQ2ODJkYS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMjMtdjgtYysrMjAu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MzMgKzAsMCBAQAotY29tbWl0IDk0MGFmOWYyYzg3 YjQzNjU1OWI5N2M1Mzc2M2FhOWVhYWYxMjU0ZWIKLUF1dGhvcjogSmVyZW15IFJvbWFuIDxqYnJv bWFuQGNocm9taXVtLm9yZz4KLURhdGU6ICAgV2VkIE5vdiAxNSAxNjoyNDo1NCAyMDIzICswMDAw Ci0KLSAgICBVc2UgQysrMjAgZmVhdHVyZXMgdG8gc2ltcGxpZnkgYmxpbms6Ok5hdGl2ZVZhbHVl VHJhaXRzQmFzZS4KLSAgICAKLSAgICBUaGVzZSBhbGxvdyBzb21lIG9mIHRoZSBtZXRhcHJvZ3Jh bW1pbmcgYml0cyB0byBiZSBzaW1wbGlmaWVkIGEgbGl0dGxlLgotICAgIAotICAgIENoYW5nZS1J ZDogSTA1MmI0Mzk3NTg2ZDIxMzQ4NDAxNjE2ZTE3OTJhZmRiOTY2MmY5NzUKLSAgICBSZXZpZXdl ZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVt L3NyYy8rLzUwMzAzMzUKLSAgICBSZXZpZXdlZC1ieTogWXVraSBTaGlpbm8gPHl1a2lzaGlpbm9A Y2hyb21pdW0ub3JnPgotICAgIENvbW1pdC1RdWV1ZTogSmVyZW15IFJvbWFuIDxqYnJvbWFuQGNo cm9taXVtLm9yZz4KLSAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEy MjQ5Nzh9Ci0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaCBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oCi1pbmRleCA3ZmM5MWQx NGFjYzcxLi4xZTVhMDc5MGRmNmRhIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzLmgKLSsrKyBiL3RoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0 cy5oCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFRISVJEX1BBUlRZX0JMSU5LX1JFTkRFUkVS X0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlUU19IXwotICNkZWZpbmUgVEhJUkRf UEFSVFlfQkxJTktfUkVOREVSRVJfQklORElOR1NfQ09SRV9WOF9OQVRJVkVfVkFMVUVfVFJBSVRT X0hfCi0gCi0rI2luY2x1ZGUgPGNvbmNlcHRzPgotICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLSAK LSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9p ZGxfdHlwZXNfYmFzZS5oIgotQEAgLTMwLDcgKzMxLDcgQEAgY2xhc3MgRXhjZXB0aW9uU3RhdGU7 Ci0gLy8gICAgIHJldHVybiB0b0ludDMyKGlzb2xhdGUsIHZhbHVlLCBleGNlcHRpb25TdGF0ZSwg Tm9ybWFsQ29udmVyc2lvbik7Ci0gLy8gICB9Ci0gLy8gfQotLXRlbXBsYXRlIDx0eXBlbmFtZSBU LCB0eXBlbmFtZSBTRklOQUVIZWxwZXIgPSB2b2lkPgotK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgot IHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czsKLSAKLSAvLyBUaGlzIGRlY2xhcmF0aW9uIHNlcnZl cyBvbmx5IGFzIGEgYmx1ZXByaW50IGZvciBzcGVjaWFsaXphdGlvbnM6IHRoZQotQEAgLTQ1LDIy ICs0NiwxNSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM7Ci0gCi0gbmFtZXNwYWNlIGJpbmRp bmdzIHsKLSAKLS10ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSB2b2lkPgotLXN0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0c0hhc0lzTnVsbCA6IHN0ZDo6ZmFsc2VfdHlwZSB7fTsKLS0KLSB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNIYXNJc051bGw8 Ci0tICAgIFQsCi0tICAgIHN0ZDo6dm9pZF90PGRlY2x0eXBlKHN0ZDo6ZGVjbHZhbDxUPigpLklz TnVsbCgpKT4+IDogc3RkOjp0cnVlX3R5cGUge307Ci0rc3RydWN0IEltcGxUeXBlRm9yIHsKLSsg IHVzaW5nIHR5cGUgPSBUOwotK307Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzSGFzTnVsbFZhbHVlIHsKLS0gIC8vIHRydWUgaWYgfFR8IHN1cHBv cnRzIElETCBudWxsIHZhbHVlLgotLSAgc3RhdGljIGNvbnN0ZXhwciBib29sIHZhbHVlID0KLS0g ICAgICAvLyBTY3JpcHRWYWx1ZSwgU3RyaW5nLCBhbmQgdW5pb24gdHlwZXMgaGF2ZSBJc051bGwg bWVtYmVyIGZ1bmN0aW9uLgotLSAgICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRyYWl0c0hhc0lz TnVsbDxUPjo6dmFsdWUgfHwKLS0gICAgICAvLyBQb2ludGVyIHR5cGVzIGhhdmUgbnVsbHB0ciBh cyBJREwgbnVsbCB2YWx1ZS4KLS0gICAgICBzdGQ6OmlzX3BvaW50ZXI8VD46OnZhbHVlOwotKyAg cmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgSURMQmFzZT4KLStzdHJ1Y3QgSW1wbFR5cGVG b3I8VD4gewotKyAgdXNpbmcgdHlwZSA9IHR5cGVuYW1lIFQ6OkltcGxUeXBlOwotIH07Ci0gCi0g fSAgLy8gbmFtZXNwYWNlIGJpbmRpbmdzCi1AQCAtNzgsMzcgKzcyLDE3IEBAIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0c0hhc051bGxWYWx1ZSB7Ci0gLy8gSWYgcHJlc2VudCwgfE51bGxWYWx1ZSgp fCB3aWxsIGJlIHVzZWQgd2hlbiBjb252ZXJ0aW5nIGZyb20gdGhlIG51bGxhYmxlIHR5cGUKLSAv LyBUPywgYW5kIHNob3VsZCBiZSB1c2VkIGlmIHRoZSBpbXBsIHR5cGUgaGFzIGFuIGV4aXN0aW5n ICJudWxsIiBzdGF0ZS4gSWYgbm90Ci0gLy8gcHJlc2VudCwgV1RGOjpPcHRpb25hbCB3aWxsIGJl IHVzZWQgdG8gd3JhcCB0aGUgdHlwZS4KLS10ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUg U0ZJTkFFSGVscGVyID0gdm9pZD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNCYXNlIHsKLS0g IFNUQVRJQ19PTkxZKE5hdGl2ZVZhbHVlVHJhaXRzQmFzZSk7Ci0tCi0tICB1c2luZyBJbXBsVHlw ZSA9IFQ7Ci0tCi0tICBzdGF0aWMgY29uc3RleHByIGJvb2wgaGFzX251bGxfdmFsdWUgPQotLSAg ICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRyYWl0c0hhc051bGxWYWx1ZTxJbXBsVHlwZT46OnZh bHVlOwotLQotLSAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEV4dHJhQXJncz4KLS0gIHN0YXRpYyBk ZWNsdHlwZShhdXRvKSBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g dmFsdWUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25T dGF0ZSYgZXhjZXB0aW9uX3N0YXRlLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRXh0cmFBcmdzLi4uIGV4dHJhX2FyZ3MpIHsKLS0gICAgcmV0dXJuIE5hdGl2ZVZhbHVl VHJhaXRzPHN0ZDo6cmVtb3ZlX3BvaW50ZXJfdDxUPj46Ok5hdGl2ZVZhbHVlKAotLSAgICAgICAg aXNvbGF0ZSwgdmFsdWUsIGV4Y2VwdGlvbl9zdGF0ZSwKLS0gICAgICAgIHN0ZDo6Zm9yd2FyZDxF eHRyYUFyZ3M+KGV4dHJhX2FyZ3MpLi4uKTsKLS0gIH0KLS19OwotLQotIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8Ci0tICAgIFQsCi0tICAgIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPElETEJhc2UsIFQ+Ojp2YWx1ZT4+IHsKLStz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHNCYXNlIHsKLSAgIFNUQVRJQ19PTkxZKE5hdGl2ZVZhbHVl VHJhaXRzQmFzZSk7Ci0gCi0tICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIFQ6OkltcGxUeXBl OwotKyAgdXNpbmcgSW1wbFR5cGUgPSBiaW5kaW5nczo6SW1wbFR5cGVGb3I8VD46OnR5cGU7Ci0g Ci0rICAvLyBQb2ludGVyIHR5cGVzIGhhdmUgbnVsbHB0ciBhcyBJREwgbnVsbCB2YWx1ZS4KLSsg IC8vIFNjcmlwdFZhbHVlLCBTdHJpbmcsIGFuZCB1bmlvbiB0eXBlcyBoYXZlIElzTnVsbCBtZW1i ZXIgZnVuY3Rpb24uCi0gICBzdGF0aWMgY29uc3RleHByIGJvb2wgaGFzX251bGxfdmFsdWUgPQot LSAgICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRyYWl0c0hhc051bGxWYWx1ZTxJbXBsVHlwZT46 OnZhbHVlOwotKyAgICAgIHN0ZDo6aXNfcG9pbnRlcl92PEltcGxUeXBlPiB8fAotKyAgICAgIHJl cXVpcmVzKEltcGxUeXBlIHZhbHVlKSB7IHZhbHVlLklzTnVsbCgpOyB9OwotIAotICAgdGVtcGxh dGUgPHR5cGVuYW1lLi4uIEV4dHJhQXJncz4KLSAgIHN0YXRpYyBkZWNsdHlwZShhdXRvKSBBcmd1 bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19idWZm ZXJfc291cmNlcy5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUv djgvbmF0aXZlX3ZhbHVlX3RyYWl0c19idWZmZXJfc291cmNlcy5jYwotaW5kZXggNTA4ZWE2ZDhl ZWE0OC4uMThkZTcxZDg0MDIzZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0c19idWZmZXJfc291cmNlcy5j YwotKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRp dmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3VyY2VzLmNjCi1AQCAtNyw2ICs3LDcgQEAKLSAjaW5j bHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9jb3JlX2V4cG9ydC5oIgotICNp bmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2V4ZWN1dGlvbl9jb250ZXh0 L2V4ZWN1dGlvbl9jb250ZXh0LmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL2NvcmUvZnJhbWUvd2ViX2ZlYXR1cmUuaCIKLSsjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvY29yZS90eXBlZF9hcnJheXMvZmxleGlibGVfYXJyYXlfYnVmZmVyX3ZpZXcu aCIKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS90eXBlZF9hcnJh eXMvdHlwZWRfZmxleGlibGVfYXJyYXlfYnVmZmVyX3ZpZXcuaCIKLSAKLSBuYW1lc3BhY2UgYmxp bmsgewotQEAgLTY5OCwxMiArNjk5LDExIEBAIERPTUFycmF5QnVmZmVyQmFzZSogTmF0aXZlVmFs dWVUcmFpdHM8Ci0gLy8gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ Ci0tTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBOb3RTaGFyZWQ8VD4sCi0t ICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVm ZmVyVmlldywgVD46OnZhbHVlPj46OgotLSAgICBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNv bGF0ZSwKLS0gICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0tICAg ICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSsgIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLStOb3RTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkPFQ+Pjo6TmF0aXZlVmFsdWUoCi0rICAgIHY4 OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsg ICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIE5hdGl2ZVZh bHVlSW1wbDwKLSAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBl PFQsIGtOb3RTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc05vdE51bGxhYmxlLCBCdWZm ZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC03MTIsMTMgKzcxMiwxMiBAQCBOb3RTaGFyZWQ8VD4g TmF0aXZlVmFsdWVUcmFpdHM8Ci0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU5vdFNo YXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgTm90U2hhcmVkPFQ+LAotLSAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+OjoKLS0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwK LS0gICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAgICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zy b208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK05vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0 czxOb3RTaGFyZWQ8VD4+OjpBcmd1bWVudFZhbHVlKAotKyAgICB2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwKLSsgICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IEFyZ3VtZW50VmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxUPj4sIFRv RE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCi0gICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVs bGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTcyOSwxMiArNzI4LDExIEBAIE5v dFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSAvLyBbQWxsb3dTaGFyZWRdIEFycmF5QnVm ZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU1heWJlU2hhcmVkPFQ+IE5hdGl2 ZVZhbHVlVHJhaXRzPAotLSAgICBNYXliZVNoYXJlZDxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjpl bmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+ Pjo6Ci0tICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAg ICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zy b208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJh aXRzPE1heWJlU2hhcmVkPFQ+Pjo6TmF0aXZlVmFsdWUoCi0rICAgIHY4OjpJc29sYXRlKiBpc29s YXRlLAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIE5hdGl2ZVZhbHVlSW1wbDxSZWNpcGVU cmFpdDxNYXliZVNoYXJlZDxUPj4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFRvRE9NVmll d1R5cGU8VCwga01heWJlU2hhcmVkPiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgTnVsbGFi bGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTc0Mywx MyArNzQxLDEyIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH0KLSAKLSB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1NYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwK LS0gICAgTWF5YmVTaGFyZWQ8VD4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3Rk Ojppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgotLSAgICBBcmd1 bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICAgIGludCBh cmd1bWVudF9pbmRleCwKLS0gICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLS0gICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KSB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+ Ci0rTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVTaGFyZWQ8VD4+OjpBcmd1 bWVudFZhbHVlKAotKyAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgaW50IGFyZ3VtZW50 X2luZGV4LAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgRXhjZXB0aW9u U3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPFJl Y2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBU b0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAot QEAgLTc2MCwxMiArNzU3LDEyIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAot IC8vIFtBbGxvd1NoYXJlZCwgQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0XSBBcnJheUJ1ZmZl clZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1NYXliZVNoYXJlZDxUPiBOYXRpdmVW YWx1ZVRyYWl0czwKLS0gICAgSURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hh cmVkPFQ+PiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8 RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0tICAgIE5hdGl2ZVZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLS0gICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkg ewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3Pgot K01heWJlU2hhcmVkPFQ+Ci0rTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5v U2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj46Ok5hdGl2ZVZhbHVlKAotKyAgICB2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKLSsgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgIEV4Y2Vw dGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBOYXRpdmVWYWx1ZUltcGw8 Ci0gICAgICAgUmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtN YXliZVNoYXJlZD4sCi0gICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNp emVDaGVjazo6a0RvTm90Q2hlY2ssCi1AQCAtNzc0LDEzICs3NzEsMTIgQEAgTWF5YmVTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU1h eWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExCdWZmZXJTb3VyY2VUeXBl Tm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p Zl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0g ICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAg ICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZm ZXJWaWV3PgotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJj ZVR5cGVOb1NpemVMaW1pdDwKLSsgICAgTWF5YmVTaGFyZWQ8VD4+Pjo6QXJndW1lbnRWYWx1ZSh2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IEFyZ3VtZW50VmFsdWVJbXBsPAotICAgICAgIFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+Piwg VG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc05v dE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLAotQEAgLTc5MSwxMiArNzg3 LDExIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotIC8vIE51bGxhYmxlIEFy cmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLU5vdFNoYXJlZDxUPiBO YXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+PiwKLS0gICAg dHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJW aWV3LCBUPjo6dmFsdWU+Pjo6Ci0tICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRl LAotLSAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAg ICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK05vdFNoYXJlZDxUPiBO YXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+Pjo6TmF0aXZlVmFsdWUo Ci0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotICAgcmV0dXJu IE5hdGl2ZVZhbHVlSW1wbDwKLSAgICAgICBSZWNpcGVUcmFpdDxOb3RTaGFyZWQ8VD4+LCBUb0RP TVZpZXdUeXBlPFQsIGtOb3RTaGFyZWQ+LAotICAgICAgIE51bGxhYmxpdHk6OmtJc051bGxhYmxl LCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC04MDUsMTMgKzgwMCwxMiBAQCBOb3RTaGFy ZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfQotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgot LU5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8Tm90U2hh cmVkPFQ+PiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8 RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0tICAgIEFyZ3VtZW50VmFsdWUodjg6 Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4 LAotLSAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAg ICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSsgIHJlcXVp cmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KLStOb3RTaGFyZWQ8 VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+Pj46OkFyZ3VtZW50 VmFsdWUoCi0rICAgIHY4OjpJc29sYXRlKiBpc29sYXRlLAotKyAgICBpbnQgYXJndW1lbnRfaW5k ZXgsCi0rICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0 ZSYgZXhjZXB0aW9uX3N0YXRlKSB7Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8Ci0gICAg ICAgUmVjaXBlVHJhaXQ8Tm90U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVk PiwKLSAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hl Y2ssCi1AQCAtODIyLDEyICs4MTYsMTEgQEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRz PAotIC8vIE51bGxhYmxlIFtBbGxvd1NoYXJlZF0gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxh dGUgPHR5cGVuYW1lIFQ+Ci0tTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAg IElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVf aWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0t ICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotLSAgICAgICAgICAgICAgICB2 ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLS0gICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwg RE9NQXJyYXlCdWZmZXJWaWV3PgotK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElE TE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46Ok5hdGl2ZVZhbHVlKAotKyAgICB2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKLSsgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0rICAgIEV4Y2Vw dGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBOYXRpdmVWYWx1ZUltcGw8 UmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAotICAgICAgICAgICAgICAgICAgICAgICAgICBU b0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJlZD4sCi0gICAgICAgICAgICAgICAgICAgICAgICAg IE51bGxhYmxpdHk6OmtJc051bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKLUBAIC04 MzYsMTMgKzgyOSwxMiBAQCBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9Ci0g Ci0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFp dHM8Ci0tICAgIElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+PiwKLS0gICAgdHlwZW5hbWUgc3Rk OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFs dWU+Pjo6Ci0tICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAg ICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotLSAgICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRl JiBleGNlcHRpb25fc3RhdGUpIHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERP TUFycmF5QnVmZmVyVmlldz4KLStNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExO dWxsYWJsZTxNYXliZVNoYXJlZDxUPj4+OjpBcmd1bWVudFZhbHVlKAotKyAgICB2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKLSsgICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewot ICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hhcmVkPFQ+PiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb0RPTVZpZXdUeXBlPFQsIGtNYXliZVNoYXJl ZD4sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTnVsbGFibGUs IEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotQEAgLTg1Myw5ICs4NDUsOSBAQCBNYXliZVNoYXJl ZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKLSAvLyBOdWxsYWJsZSBbQWxsb3dTaGFyZWQsIEJ1ZmZl clNvdXJjZVR5cGVOb1NpemVMaW1pdF0gQXJyYXlCdWZmZXJWaWV3Ci0gCi0gdGVtcGxhdGUgPHR5 cGVuYW1lIFQ+Ci0tTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETE51 bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+LAot LSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQs IERPTUFycmF5QnVmZmVyVmlldz4KLStNYXliZVNoYXJlZDxUPgotK05hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxU Pj4+Pjo6Ci0gICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAg ICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAotICAgICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTg3MCwxMyArODYyLDExIEBAIE1heWJlU2hhcmVk PFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAotIC8vIFtBbGxvd1NoYXJlZCwgRmxleGlibGVBcnJheUJ1 ZmZlclZpZXddIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLVQg TmF0aXZlVmFsdWVUcmFpdHM8VCwKLS0gICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6 ZW5hYmxlX2lmX3Q8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19iYXNlX29mPEZs ZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6Ci0tICAgIEFyZ3VtZW50VmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCi0tICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2lu ZGV4LAotLSAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotLSAg ICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSsgIHJl cXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgotK1Qg TmF0aXZlVmFsdWVUcmFpdHM8VD46OkFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5k ZXgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKLSAgIHJldHVybiBBcmd1bWVudFZhbHVl SW1wbDxSZWNpcGVUcmFpdDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVmZmVyU2l6 ZUNoZWNrOjprQ2hlY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzaXphYmxlQWxs b3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCi1AQCAtODg4LDEzICs4NzgsMTIgQEAgVCBOYXRp dmVWYWx1ZVRyYWl0czxULAotIC8vIEFycmF5QnVmZmVyVmlldwotIAotIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgotLVQgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxp bWl0PFQ+LAotLSAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwK LS0gICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0tICAgICAg ICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0tICAgICAgICAgICAgICAg ICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Ci0rVCBOYXRpdmVWYWx1ZVRy YWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8VD4+OjpBcmd1bWVudFZhbHVlKAot KyAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSsgICAgaW50IGFyZ3VtZW50X2luZGV4LAotKyAg ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLSsgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgewotICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPAotICAgICAgIFJlY2lw ZVRyYWl0PFQ+LCBUb0ZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBOdWxsYWJsaXR5OjprSXNOb3RO dWxsYWJsZSwKLSAgICAgICBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLCBSZXNpemFibGVB bGxvd2FuY2U6OmtEaXNhbGxvd1Jlc2l6YWJsZSwKLUBAIC05MDUsMTMgKzg5NCwxMiBAQCBUIE5h dGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxUPiwKLSAvLyBO dWxsYWJsZSBbQWxsb3dTaGFyZWQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3XSBBcnJheUJ1ZmZl clZpZXcKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1UIE5hdGl2ZVZhbHVlVHJhaXRzPElE TE51bGxhYmxlPFQ+LAotLSAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVf aWZfdDwKLS0gICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8RmxleGlibGVB cnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKLS0gICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNv bGF0ZSogaXNvbGF0ZSwKLS0gICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0t ICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0tICAgICAgICAg ICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Ci0rVCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj46OkFyZ3VtZW50VmFsdWUoCi0rICAgIHY4OjpJc29s YXRlKiBpc29sYXRlLAotKyAgICBpbnQgYXJndW1lbnRfaW5kZXgsCi0rICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHZhbHVlLAotKyAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 Ci0gICByZXR1cm4gQXJndW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8VD4sIFRvRmxleGlibGVB cnJheUJ1ZmZlclZpZXcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6 a0lzTnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlc2l6YWJsZUFsbG93YW5jZTo6a0Rpc2FsbG93UmVzaXphYmxlLAotZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZl X3ZhbHVlX3RyYWl0c19pbXBsLmggYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCi1pbmRleCA4OTk5MjlkY2Y0OWY5 Li41MDExNTAzZGNmMWMwIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv YmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2ltcGwuaAotKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRz X2ltcGwuaAotQEAgLTcxNSw5ICs3MTgsOCBAQCBzdHJ1Y3QgQ09SRV9FWFBPUlQgTmF0aXZlVmFs dWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3Rk Ojppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4gewotKyAgcmVxdWly ZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxUPiB7Ci0gICAvLyBOb3RTaGFyZWQ8VD4gb3IgTWF5YmVTaGFyZWQ8VD4g c2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNv bGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2YWx1ZSwKLUBAIC03MjksOSArNzMxLDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAotLSAgICBJRExOdWxsYWJsZTxUPiwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZf dDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PiB7Ci0rICBy ZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiB7Ci0gICAvLyBOb3RTaGFyZWQ8VD4g b3IgTWF5YmVTaGFyZWQ8VD4gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KLSAgIHN0YXRpYyBUKiBO YXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC03NDMsOSArNzQ0LDggQEAgc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBOb3RTaGFyZWQ8VD4sCi0tICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46 OnZhbHVlPj4KLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVy Vmlldz4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkPFQ+PgotICAgICA6IHB1 YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8Tm90U2hhcmVkPFQ+PiB7Ci0gICBzdGF0aWMgTm90 U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC03 NTgsOSArNzU4LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotIH07Ci0gCi0gdGVtcGxh dGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBJRExOdWxs YWJsZTxOb3RTaGFyZWQ8VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6 aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBz dGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPElETE51bGxhYmxlPE5vdFNoYXJlZDxUPj4+Ci0gICAgIDogcHVibGljIE5hdGl2 ZVZhbHVlVHJhaXRzQmFzZTxOb3RTaGFyZWQ8VD4+IHsKLSAgIHN0YXRpYyBOb3RTaGFyZWQ8VD4g TmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTc3Myw5ICs3NzIs OCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5h bWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIE1heWJlU2hhcmVkPFQ+LAot LSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1 ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBE T01BcnJheUJ1ZmZlclZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2hhcmVk PFQ+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+ IHsKLSAgIHN0YXRpYyBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNv bGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLUBAIC03ODgsOSArNzg2LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPAotIH07Ci0gCi0gdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAotLSAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8 VD4+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01B cnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJv bTxULCBET01BcnJheUJ1ZmZlclZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1 ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+Ci0gICAgIDogcHVibGlj IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXliZVNoYXJlZDxUPj4gewotICAgLy8gRmxleGlibGVB cnJheUJ1ZmZlclZpZXcgdXNlcyB0aGlzIGluIGl0cyBpbXBsZW1lbnRhdGlvbiwgc28gd2UgY2Fu bm90Ci0gICAvLyBkZWxldGUgaXQuCi1AQCAtODA1LDkgKzgwMiw4IEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8TWF5YmVTaGFyZWQ8VD4+LAotLSAgICB0 eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZp ZXcsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJh eUJ1ZmZlclZpZXc+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE1heWJl U2hhcmVkPFQ+Pj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hh cmVkPFQ+PiB7Ci0gICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6Okxv Y2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi1AQCAtODIwLDkgKzgxNiw5IEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotKyAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgotIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxp bWl0PE1heWJlU2hhcmVkPFQ+Pj4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3Rk Ojppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KLSsgICAgSURMTnVs bGFibGU8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj4+Ci0g ICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXliZVNoYXJlZDxUPj4gewotICAg Ly8gQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0IG11c3QgYmUgdXNlZCBvbmx5IGFzIGFyZ3Vt ZW50cy4KLSAgIHN0YXRpYyBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSog aXNvbGF0ZSwKLUBAIC04MzYsMTEgKzgzMiw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwK LSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKLS0gICAgVCwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKLS0gICAgICAgIHN0 ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KLS0gICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVy aXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgotK3N0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4gewotICAgLy8gRmxl eGlibGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkgYXMgYXJndW1lbnRzLgotICAg c3RhdGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAg ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKLUBAIC04NTMsMTAgKzg0Niw4 IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMQnVmZmVyU291cmNlVHlw ZU5vU2l6ZUxpbWl0PFQ+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAgICAg ICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pgot KyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+ Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1p dDxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKLSAgIC8vIEJ1 ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdCBhbmQgRmxleGlibGVBcnJheUJ1ZmZlclZpZXcgbXVz dCBiZSB1c2VkIG9ubHkKLSAgIC8vIGFzIGFyZ3VtZW50cy4KLUBAIC04NzEsMTEgKzg2Miw4IEBA IHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURMTnVsbGFibGU8VD4sCi0tICAg IHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0tICAgICAgICBzdGQ6OmlzX2Jhc2Vfb2Y8Rmxl eGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+Ci0tICAgIDogcHVibGljIE5hdGl2ZVZh bHVlVHJhaXRzQmFzZTxUPiB7Ci0rICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBGbGV4 aWJsZUFycmF5QnVmZmVyVmlldz4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFi bGU8VD4+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7Ci0gICAvLyBGbGV4aWJs ZUFycmF5QnVmZmVyVmlldyBtdXN0IGJlIHVzZWQgb25seSBhcyBhcmd1bWVudHMuCi0gICBzdGF0 aWMgVCBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAotQEAgLTExMzQsOSArMTEyMiw4IEBA IE5hdGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6TmF0aXZlVmFsdWUoCi0gfQotIAot IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxs YWJsZTxJRExTZXF1ZW5jZTxUPj4sCi0tICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1l IHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYXRpdmVW YWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlPj4KLSsgIHJlcXVpcmVz IE5hdGl2ZVZhbHVlVHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6aGFzX251bGxfdmFsdWUKLStzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMU2VxdWVuY2U8VD4+PgotICAgICA6 IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SGVhcFZlY3RvcjxBZGRNZW1iZXJJZk5lZWRl ZDxUPj4qPiB7Ci0gICB1c2luZyBJbXBsVHlwZSA9IHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRz PElETFNlcXVlbmNlPFQ+Pjo6SW1wbFR5cGUqOwotIAotQEAgLTEyMDMsOSArMTE5MCw4IEBAIHN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExBcnJheTxUPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+IHt9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExBcnJheTxUPj4sCi0t ICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8Ci0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxU Pj46Omhhc19udWxsX3ZhbHVlPj4KLSsgIHJlcXVpcmVzIE5hdGl2ZVZhbHVlVHJhaXRzPElETFNl cXVlbmNlPFQ+Pjo6aGFzX251bGxfdmFsdWUKLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURM TnVsbGFibGU8SURMQXJyYXk8VD4+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0czxJ RExOdWxsYWJsZTxJRExTZXF1ZW5jZTxUPj4+IHt9OwotIAotIC8vIFJlY29yZCB0eXBlcwotQEAg LTEzMzUsMTAgKzEzMjEsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMUmVjb3JkPEss IFY+PgotIAotIC8vIENhbGxiYWNrIGZ1bmN0aW9uIHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVuYW1l IFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAotLSAgICBULAotLSAgICB0eXBlbmFtZSBz dGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxDYWxsYmFja0Z1bmN0aW9uQmFzZSwgVD46 OnZhbHVlPj4KLS0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0rICBy ZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0Z1bmN0aW9uQmFzZT4KLStzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQq PiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAg LTEzNjEsOSArMTM0NSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRl bXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURM TnVsbGFibGU8VD4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNl X29mPENhbGxiYWNrRnVuY3Rpb25CYXNlLCBUPjo6dmFsdWU+PgotKyAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tGdW5jdGlvbkJhc2U+Ci0rc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPElETE51bGxhYmxlPFQ+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jh c2U8SURMTnVsbGFibGU8VD4+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0 ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKLUBAIC0xMzkyLDEwICsxMzc1LDggQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PAotIAotIC8vIENhbGxiYWNrIGludGVyZmFjZSB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgVCwKLS0gICAgdHlwZW5hbWUgc3Rk OjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tJbnRlcmZhY2VCYXNlLCBUPjo6 dmFsdWU+PgotLSAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSsgIHJl cXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrSW50ZXJmYWNlQmFzZT4KLStzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQq PiB7Ci0gICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAg LTE0MTgsOSArMTM5OSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLSB9OwotIAotIHRl bXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgSURM TnVsbGFibGU8VD4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNl X29mPENhbGxiYWNrSW50ZXJmYWNlQmFzZSwgVD46OnZhbHVlPj4KLSsgIHJlcXVpcmVzIHN0ZDo6 ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrSW50ZXJmYWNlQmFzZT4KLStzdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbGFibGU8VD4+Ci0gICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRz QmFzZTxJRExOdWxsYWJsZTxUPj4gewotICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFs dWU+IHZhbHVlLAotQEAgLTE0NDksMTEgKzE0MjksOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8Ci0gCi0gLy8gRGljdGlvbmFyeSB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0 cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgVCwKLS0gICAgdHlwZW5hbWUgc3RkOjplbmFi bGVfaWZfdDwKLS0gICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6RGljdGlvbmFyeUJh c2UsIFQ+Ojp2YWx1ZT4+Ci0tICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4g ewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OkRpY3Rpb25hcnlC YXNlPgotK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRy YWl0c0Jhc2U8VCo+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNv bGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1 ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0 YXRlKSB7Ci1AQCAtMTQ2NCwxNCArMTQ0MSwxMSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 Ci0gLy8gV2UgZG9uJ3Qgc3VwcG9ydCBudWxsYWJsZSBkaWN0aW9uYXJ5IHR5cGVzIGluIGdlbmVy YWwgc2luY2UgaXQncyBxdWl0ZQotIC8vIGNvbmZ1c2luZyBhbmQgb2Z0ZW4gbWlzdXNlZC4KLSB0 ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElE TE51bGxhYmxlPFQ+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAotLSAgICAgICAg c3RkOjppc19iYXNlX29mPGJpbmRpbmdzOjpEaWN0aW9uYXJ5QmFzZSwgVD46OnZhbHVlICYmCi0t ICAgICAgICAoc3RkOjppc19zYW1lPFQsIEdQVUNvbG9yVGFyZ2V0U3RhdGU+Ojp2YWx1ZSB8fAot LSAgICAgICAgIHN0ZDo6aXNfc2FtZTxULCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50Pjo6 dmFsdWUgfHwKLS0gICAgICAgICBzdGQ6OmlzX3NhbWU8VCwgR1BVVmVydGV4QnVmZmVyTGF5b3V0 Pjo6dmFsdWUpPj4KLS0gICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0r ICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBiaW5kaW5nczo6RGljdGlvbmFyeUJhc2U+ ICYmCi0rICAgICAgICAgICAoc3RkOjpzYW1lX2FzPFQsIEdQVUNvbG9yVGFyZ2V0U3RhdGU+IHx8 Ci0rICAgICAgICAgICAgc3RkOjpzYW1lX2FzPFQsIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l bnQ+IHx8Ci0rICAgICAgICAgICAgc3RkOjpzYW1lX2FzPFQsIEdQVVZlcnRleEJ1ZmZlckxheW91 dD4pCi0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiA6IHB1YmxpYyBO YXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYg ZXhjZXB0aW9uX3N0YXRlKSB7Ci1AQCAtMTQ4MywxMSArMTQ1Nyw4IEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czwKLSAKLSAvLyBFbnVtZXJhdGlvbiB0eXBlcwotIHRlbXBsYXRlIDx0eXBlbmFt ZSBUPgotLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKLS0gICAgVCwKLS0gICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDwKLS0gICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6RW51 bWVyYXRpb25CYXNlLCBUPjo6dmFsdWU+PgotLSAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0 c0Jhc2U8VD4gewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgYmluZGluZ3M6OkVu dW1lcmF0aW9uQmFzZT4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0 aXZlVmFsdWVUcmFpdHNCYXNlPFQ+IHsKLSAgIHN0YXRpYyBUIE5hdGl2ZVZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAotICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1 ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0 aW9uX3N0YXRlKSB7Ci1AQCAtMTQ5NywxMCArMTQ2OCw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czwKLSAKLSAvLyBJbnRlcmZhY2UgdHlwZXMKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1z dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5h YmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPFNjcmlwdFdyYXBwYWJsZSwgVD46OnZhbHVlPj4KLS0g ICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0rICByZXF1aXJlcyBzdGQ6 OmRlcml2ZWRfZnJvbTxULCBTY3JpcHRXcmFwcGFibGU+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotICAgc3RhdGljIGlu bGluZSBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsK LUBAIC0xNTI4LDkgKzE0OTcsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAK LSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAg IElETE51bGxhYmxlPFQ+LAotLSAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf YmFzZV9vZjxTY3JpcHRXcmFwcGFibGUsIFQ+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmRl cml2ZWRfZnJvbTxULCBTY3JpcHRXcmFwcGFibGU+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPFQ+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8SURM TnVsbGFibGU8VD4+IHsKLSAgIHN0YXRpYyBpbmxpbmUgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHZhbHVlLAotQEAgLTE1NjUsMTAgKzE1MzMsOCBAQCBzdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLS1zdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8Ci0tICAgIFQsCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3Rk Ojppc19iYXNlX29mPGJpbmRpbmdzOjpVbmlvbkJhc2UsIFQ+Ojp2YWx1ZT4+Ci0tICAgIDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4gewotKyAgcmVxdWlyZXMgc3RkOjpkZXJpdmVk X2Zyb208VCwgYmluZGluZ3M6OlVuaW9uQmFzZT4KLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 VD4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Ci0gICBzdGF0aWMgVCogTmF0 aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAg djg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgRXhj ZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgewotQEAgLTE1ODQsMTAgKzE1NTAsOCBAQCBz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0gfTsKLSAKLSB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4K LS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETE51bGxhYmxlPFQ+LAotLSAgICB0 eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6VW5pb25C YXNlLCBUPjo6dmFsdWU+PgotLSAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+ IHsKLSsgIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIGJpbmRpbmdzOjpVbmlvbkJhc2U+ Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiA6IHB1YmxpYyBOYXRp dmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKLSAgIHN0YXRpYyBUKiBOYXRpdmVWYWx1ZSh2ODo6SXNv bGF0ZSogaXNvbGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZh bHVlPiB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhj ZXB0aW9uX3N0YXRlKSB7Ci1AQCAtMTYwOCw5ICsxNTcyLDggQEAgc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAotIAotIC8vIE51bGxhYmxlIHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVuYW1lIElubmVy VHlwZT4KLS1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Ci0tICAgIElETE51bGxhYmxlPElubmVy VHlwZT4sCi0tICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8IU5hdGl2ZVZhbHVlVHJhaXRz PElubmVyVHlwZT46Omhhc19udWxsX3ZhbHVlPj4KLSsgIHJlcXVpcmVzKCFOYXRpdmVWYWx1ZVRy YWl0czxJbm5lclR5cGU+OjpoYXNfbnVsbF92YWx1ZSkKLStzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8SURMTnVsbGFibGU8SW5uZXJUeXBlPj4KLSAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFp dHNCYXNlPElETE51bGxhYmxlPElubmVyVHlwZT4+IHsKLSAgIC8vIGh0dHBzOi8vd2ViaWRsLnNw ZWMud2hhdHdnLm9yZy8jZXMtbnVsbGFibGUtdHlwZQotICAgdXNpbmcgSW1wbFR5cGUgPQotQEAg LTE2NDIsOSArMTYwNSw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJ RExOdWxsYWJsZTxUPj4+OwotIAotIC8vIE9wdGlvbmFsIHR5cGVzCi0gdGVtcGxhdGUgPHR5cGVu YW1lIFQ+Ci0tc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+LAotLSAgICAg ICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYXJp dGhtZXRpYzwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIE5hdGl2ZVZh bHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT46OnZhbHVlPj4KLSsgIHJlcXVpcmVzIHN0ZDo6aXNfYXJp dGhtZXRpY192PHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT4KLStzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMT3B0aW9uYWw8VD4+Ci0gICAgIDogcHVibGljIE5hdGl2 ZVZhbHVlVHJhaXRzQmFzZTx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+ IHsKLSAgIHVzaW5nIEltcGxUeXBlID0gdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46Oklt cGxUeXBlOwotIAotQEAgLTE2NjYsOSArMTYyOCw4IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxJRExPcHRpb25hbDxUPiwKLSB9OwotIAotIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLXN0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPiwKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3BvaW50ZXI8Ci0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1w bFR5cGU+Ojp2YWx1ZT4+Ci0rICByZXF1aXJlcyBzdGQ6OmlzX3BvaW50ZXJfdjx0eXBlbmFtZSBO YXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+Ci0rc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE9wdGlvbmFsPFQ+PgotICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8dHlw ZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlPiB7Ci0gICB1c2luZyBJbXBsVHlw ZSA9IHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZTsKLSAKCmRpZmYgLS1n aXQgYS9jaHJvbWl1bS0xMjUtZWwtTmF0aXZlVmFsdWVUcmFpdHMtcDEucGF0Y2ggYi9jaHJvbWl1 bS0xMjUtZWwtTmF0aXZlVmFsdWVUcmFpdHMtcDEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYWQwYzhhOAotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTEyNS1l bC1OYXRpdmVWYWx1ZVRyYWl0cy1wMS5wYXRjaApAQCAtMCwwICsxLDczOSBAQAorcmV2ZXJ0IGFz IHdvcmthcm91bmQgZm9yIGNvbXBpbGVyIGVycm9yIHdpdGggb2xkIGNsYW5nIDwgMTcKKworY29t bWl0IDk0MGFmOWYyYzg3YjQzNjU1OWI5N2M1Mzc2M2FhOWVhYWYxMjU0ZWIKK0F1dGhvcjogSmVy ZW15IFJvbWFuIDxqYnJvbWFuQGNocm9taXVtLm9yZz4KK0RhdGU6ICAgV2VkIE5vdiAxNSAxNjoy NDo1NCAyMDIzICswMDAwCisKKyAgICBVc2UgQysrMjAgZmVhdHVyZXMgdG8gc2ltcGxpZnkgYmxp bms6Ok5hdGl2ZVZhbHVlVHJhaXRzQmFzZS4KKyAgICAKKyAgICBUaGVzZSBhbGxvdyBzb21lIG9m IHRoZSBtZXRhcHJvZ3JhbW1pbmcgYml0cyB0byBiZSBzaW1wbGlmaWVkIGEgbGl0dGxlLgorICAg IAorICAgIENoYW5nZS1JZDogSTA1MmI0Mzk3NTg2ZDIxMzQ4NDAxNjE2ZTE3OTJhZmRiOTY2MmY5 NzUKKyAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNl LmNvbS9jL2Nocm9taXVtL3NyYy8rLzUwMzAzMzUKKyAgICBSZXZpZXdlZC1ieTogWXVraSBTaGlp bm8gPHl1a2lzaGlpbm9AY2hyb21pdW0ub3JnPgorICAgIENvbW1pdC1RdWV1ZTogSmVyZW15IFJv bWFuIDxqYnJvbWFuQGNocm9taXVtLm9yZz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMv aGVhZHMvbWFpbkB7IzEyMjQ5Nzh9CisKKy0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3ZhbHVlX3RyYWl0cy5oCisrKysgYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaAor QEAgLTUsNyArNSw2IEBACisgI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9CSU5E SU5HU19DT1JFX1Y4X05BVElWRV9WQUxVRV9UUkFJVFNfSF8KKyAjZGVmaW5lIFRISVJEX1BBUlRZ X0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFUSVZFX1ZBTFVFX1RSQUlUU19IXwor IAorLSNpbmNsdWRlIDxjb25jZXB0cz4KKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisgCisgI2lu Y2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvaWRsX3R5 cGVzX2Jhc2UuaCIKK0BAIC0zMSw3ICszMCw3IEBAIGNsYXNzIEV4Y2VwdGlvblN0YXRlOworIC8v ICAgICByZXR1cm4gdG9JbnQzMihpc29sYXRlLCB2YWx1ZSwgZXhjZXB0aW9uU3RhdGUsIE5vcm1h bENvbnZlcnNpb24pOworIC8vICAgfQorIC8vIH0KKy10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyt0 ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5hbWUgU0ZJTkFFSGVscGVyID0gdm9pZD4KKyBzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM7CisgCisgLy8gVGhpcyBkZWNsYXJhdGlvbiBzZXJ2ZXMgb25s eSBhcyBhIGJsdWVwcmludCBmb3Igc3BlY2lhbGl6YXRpb25zOiB0aGUKK0BAIC00NiwxNSArNDUs MjIgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzOworIAorIG5hbWVzcGFjZSBiaW5kaW5ncyB7 CisgCisrdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lID0gdm9pZD4KKytzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHNIYXNJc051bGwgOiBzdGQ6OmZhbHNlX3R5cGUge307CisrCisgdGVtcGxh dGUgPHR5cGVuYW1lIFQ+Cistc3RydWN0IEltcGxUeXBlRm9yIHsKKy0gIHVzaW5nIHR5cGUgPSBU OworLX07Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzSGFzSXNOdWxsPAorKyAgICBULAorKyAg ICBzdGQ6OnZvaWRfdDxkZWNsdHlwZShzdGQ6OmRlY2x2YWw8VD4oKS5Jc051bGwoKSk+PiA6IHN0 ZDo6dHJ1ZV90eXBlIHt9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgSURMQmFzZT4KKy1zdHJ1Y3QgSW1wbFR5cGVGb3I8VD4gewor LSAgdXNpbmcgdHlwZSA9IHR5cGVuYW1lIFQ6OkltcGxUeXBlOworK3N0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0c0hhc051bGxWYWx1ZSB7CisrICAvLyB0cnVlIGlmIHxUfCBzdXBwb3J0cyBJREwgbnVs bCB2YWx1ZS4KKysgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCB2YWx1ZSA9CisrICAgICAgLy8gU2Ny aXB0VmFsdWUsIFN0cmluZywgYW5kIHVuaW9uIHR5cGVzIGhhdmUgSXNOdWxsIG1lbWJlciBmdW5j dGlvbi4KKysgICAgICBiaW5kaW5nczo6TmF0aXZlVmFsdWVUcmFpdHNIYXNJc051bGw8VD46OnZh bHVlIHx8CisrICAgICAgLy8gUG9pbnRlciB0eXBlcyBoYXZlIG51bGxwdHIgYXMgSURMIG51bGwg dmFsdWUuCisrICAgICAgc3RkOjppc19wb2ludGVyPFQ+Ojp2YWx1ZTsKKyB9OworIAorIH0gIC8v IG5hbWVzcGFjZSBiaW5kaW5ncworQEAgLTcyLDE3ICs3OCwzNyBAQCBzdHJ1Y3QgSW1wbFR5cGVG b3I8VD4geworIC8vIElmIHByZXNlbnQsIHxOdWxsVmFsdWUoKXwgd2lsbCBiZSB1c2VkIHdoZW4g Y29udmVydGluZyBmcm9tIHRoZSBudWxsYWJsZSB0eXBlCisgLy8gVD8sIGFuZCBzaG91bGQgYmUg dXNlZCBpZiB0aGUgaW1wbCB0eXBlIGhhcyBhbiBleGlzdGluZyAibnVsbCIgc3RhdGUuIElmIG5v dAorIC8vIHByZXNlbnQsIFdURjo6T3B0aW9uYWwgd2lsbCBiZSB1c2VkIHRvIHdyYXAgdGhlIHR5 cGUuCistdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVu YW1lIFNGSU5BRUhlbHBlciA9IHZvaWQ+Cisgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZSB7 CisgICBTVEFUSUNfT05MWShOYXRpdmVWYWx1ZVRyYWl0c0Jhc2UpOworIAorLSAgdXNpbmcgSW1w bFR5cGUgPSBiaW5kaW5nczo6SW1wbFR5cGVGb3I8VD46OnR5cGU7CisrICB1c2luZyBJbXBsVHlw ZSA9IFQ7CisrCisrICBzdGF0aWMgY29uc3RleHByIGJvb2wgaGFzX251bGxfdmFsdWUgPQorKyAg ICAgIGJpbmRpbmdzOjpOYXRpdmVWYWx1ZVRyYWl0c0hhc051bGxWYWx1ZTxJbXBsVHlwZT46OnZh bHVlOworKworKyAgdGVtcGxhdGUgPHR5cGVuYW1lLi4uIEV4dHJhQXJncz4KKysgIHN0YXRpYyBk ZWNsdHlwZShhdXRvKSBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g dmFsdWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeGNlcHRpb25T dGF0ZSYgZXhjZXB0aW9uX3N0YXRlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRXh0cmFBcmdzLi4uIGV4dHJhX2FyZ3MpIHsKKysgICAgcmV0dXJuIE5hdGl2ZVZhbHVl VHJhaXRzPHN0ZDo6cmVtb3ZlX3BvaW50ZXJfdDxUPj46Ok5hdGl2ZVZhbHVlKAorKyAgICAgICAg aXNvbGF0ZSwgdmFsdWUsIGV4Y2VwdGlvbl9zdGF0ZSwKKysgICAgICAgIHN0ZDo6Zm9yd2FyZDxF eHRyYUFyZ3M+KGV4dHJhX2FyZ3MpLi4uKTsKKysgIH0KKyt9OworKworK3RlbXBsYXRlIDx0eXBl bmFtZSBUPgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8CisrICAgIFQsCisrICAgIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPElETEJhc2UsIFQ+Ojp2YWx1ZT4+IHsKKysg IFNUQVRJQ19PTkxZKE5hdGl2ZVZhbHVlVHJhaXRzQmFzZSk7CisrCisrICB1c2luZyBJbXBsVHlw ZSA9IHR5cGVuYW1lIFQ6OkltcGxUeXBlOworIAorLSAgLy8gUG9pbnRlciB0eXBlcyBoYXZlIG51 bGxwdHIgYXMgSURMIG51bGwgdmFsdWUuCistICAvLyBTY3JpcHRWYWx1ZSwgU3RyaW5nLCBhbmQg dW5pb24gdHlwZXMgaGF2ZSBJc051bGwgbWVtYmVyIGZ1bmN0aW9uLgorICAgc3RhdGljIGNvbnN0 ZXhwciBib29sIGhhc19udWxsX3ZhbHVlID0KKy0gICAgICBzdGQ6OmlzX3BvaW50ZXJfdjxJbXBs VHlwZT4gfHwKKy0gICAgICByZXF1aXJlcyhJbXBsVHlwZSB2YWx1ZSkgeyB2YWx1ZS5Jc051bGwo KTsgfTsKKysgICAgICBiaW5kaW5nczo6TmF0aXZlVmFsdWVUcmFpdHNIYXNOdWxsVmFsdWU8SW1w bFR5cGU+Ojp2YWx1ZTsKKyAKKyAgIC8vIFRoaXMgc2hvdWxkIG9ubHkgYmUgdHJ1ZSBmb3IgY2Vy dGFpbiBzdWJjbGFzc2VzIG9mIFNjcmlwdFdyYXBwYWJsZQorICAgLy8gdGhhdCBzYXRpc2Z5IHRo ZSBhc3N1bXB0aW9ucyBvZiBDcmVhdGVJRExTZXF1ZW5jZUZyb21WOEFycmF5U2xvdygpIHdpdGgK Ky0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZl X3ZhbHVlX3RyYWl0c19idWZmZXJfc291cmNlcy5jYworKysrIGIvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvYmluZGluZ3MvY29yZS92OC9uYXRpdmVfdmFsdWVfdHJhaXRzX2J1ZmZlcl9zb3Vy Y2VzLmNjCitAQCAtNyw3ICs3LDYgQEAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvY29yZS9jb3JlX2V4cG9ydC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL2V4ZWN1dGlvbl9jb250ZXh0L2V4ZWN1dGlvbl9jb250ZXh0LmgiCisgI2lu Y2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvZnJhbWUvd2ViX2ZlYXR1cmUu aCIKKy0jaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS90eXBlZF9hcnJh eXMvZmxleGlibGVfYXJyYXlfYnVmZmVyX3ZpZXcuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvY29yZS90eXBlZF9hcnJheXMvdHlwZWRfZmxleGlibGVfYXJyYXlfYnVm ZmVyX3ZpZXcuaCIKKyAKKyBuYW1lc3BhY2UgYmxpbmsgeworQEAgLTY5OCwxMSArNjk3LDEyIEBA IERPTUFycmF5QnVmZmVyQmFzZSogTmF0aXZlVmFsdWVUcmFpdHM8CisgLy8gQXJyYXlCdWZmZXJW aWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRf ZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+CistTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJh aXRzPE5vdFNoYXJlZDxUPj46Ok5hdGl2ZVZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwKKy0gICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRl JiBleGNlcHRpb25fc3RhdGUpIHsKKytOb3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Cisr ICAgIE5vdFNoYXJlZDxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6Omlz X2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CisrICAgIE5hdGl2ZVZh bHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6 OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlv bl9zdGF0ZSkgeworICAgcmV0dXJuIE5hdGl2ZVZhbHVlSW1wbDwKKyAgICAgICBSZWNpcGVUcmFp dDxOb3RTaGFyZWQ8VD4+LCBUb0RPTVZpZXdUeXBlPFQsIGtOb3RTaGFyZWQ+LAorICAgICAgIE51 bGxhYmxpdHk6OmtJc05vdE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKK0BAIC03 MTEsMTIgKzcxMSwxMyBAQCBOb3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVk CisgfQorIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVk X2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU5vdFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRy YWl0czxOb3RTaGFyZWQ8VD4+OjpBcmd1bWVudFZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNv bGF0ZSwKKy0gICAgaW50IGFyZ3VtZW50X2luZGV4LAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVl PiB2YWx1ZSwKKy0gICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK05vdFNo YXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgTm90U2hhcmVkPFQ+LAorKyAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1lbnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwK KysgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5kZXgsCisrICAgICAgICAgICAgICAg ICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAgICAgICAgICAgICAgICAgRXhjZXB0 aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBs PAorICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8VCwga05v dFNoYXJlZD4sCisgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNpemVD aGVjazo6a0NoZWNrLAorQEAgLTcyNywxMSArNzI4LDEyIEBAIE5vdFNoYXJlZDxUPiBOYXRpdmVW YWx1ZVRyYWl0czxOb3RTaGFyZWQKKyAvLyBbQWxsb3dTaGFyZWRdIEFycmF5QnVmZmVyVmlldwor IAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208 VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRz PE1heWJlU2hhcmVkPFQ+Pjo6TmF0aXZlVmFsdWUoCistICAgIHY4OjpJc29sYXRlKiBpc29sYXRl LAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgRXhjZXB0aW9uU3RhdGUm IGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAor KyAgICBNYXliZVNoYXJlZDxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CisrICAgIE5hdGl2 ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8 djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2Vw dGlvbl9zdGF0ZSkgeworICAgcmV0dXJuIE5hdGl2ZVZhbHVlSW1wbDxSZWNpcGVUcmFpdDxNYXli ZVNoYXJlZDxUPj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwg a01heWJlU2hhcmVkPiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lz Tm90TnVsbGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAorQEAgLTc0MCwxMiArNzQyLDEz IEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2gKKyB9CisgCisgdGVt cGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01B cnJheUJ1ZmZlclZpZXc+CistTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8TWF5YmVT aGFyZWQ8VD4+OjpBcmd1bWVudFZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0g ICAgaW50IGFyZ3VtZW50X2luZGV4LAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwK Ky0gICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hhcmVkPFQ+ IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBNYXliZVNoYXJlZDxUPiwKKysgICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6 dmFsdWU+Pjo6CisrICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAg ICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAorKyAgICAgICAgICAgICAgICAgIHY4 OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0 YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKyAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNp cGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG9E T01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IE51bGxhYmxpdHk6OmtJc05vdE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtDaGVjaywKK0BA IC03NTYsMTIgKzc1OSwxMiBAQCBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxNYXli ZVNoCisgLy8gW0FsbG93U2hhcmVkLCBCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXRdIEFycmF5 QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU1heWJlU2hhcmVkPFQ+CistTmF0 aXZlVmFsdWVUcmFpdHM8SURMQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVk PFQ+Pj46Ok5hdGl2ZVZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgdjg6 OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25f c3RhdGUpIHsKKytNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMQnVm ZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+PiwKKysgICAgdHlwZW5hbWUg c3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6 dmFsdWU+Pjo6CisrICAgIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorKyAgICAg ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAg RXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0dXJuIE5hdGl2ZVZhbHVl SW1wbDwKKyAgICAgICBSZWNpcGVUcmFpdDxNYXliZVNoYXJlZDxUPj4sIFRvRE9NVmlld1R5cGU8 VCwga01heWJlU2hhcmVkPiwKKyAgICAgICBOdWxsYWJsaXR5OjprSXNOb3ROdWxsYWJsZSwgQnVm ZmVyU2l6ZUNoZWNrOjprRG9Ob3RDaGVjaywKK0BAIC03NzAsMTIgKzc3MywxMyBAQCBOYXRpdmVW YWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTm9TCisgfQorIAorIHRlbXBsYXRlIDx0eXBl bmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJW aWV3PgorLU1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5 cGVOb1NpemVMaW1pdDwKKy0gICAgTWF5YmVTaGFyZWQ8VD4+Pjo6QXJndW1lbnRWYWx1ZSh2ODo6 SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgYXJndW1lbnRfaW5kZXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg djg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hhcmVk PFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGlt aXQ8TWF5YmVTaGFyZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6 aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1l bnRWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICBpbnQgYXJn dW1lbnRfaW5kZXgsCisrICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs dWUsCisrICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkg eworICAgcmV0dXJuIEFyZ3VtZW50VmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0PE1heWJl U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTWF5YmVTaGFyZWQ+LAorICAgICAgIE51bGxh YmxpdHk6OmtJc05vdE51bGxhYmxlLCBCdWZmZXJTaXplQ2hlY2s6OmtEb05vdENoZWNrLAorQEAg LTc4NiwxMSArNzkwLDEyIEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1 ZmYKKyAvLyBOdWxsYWJsZSBBcnJheUJ1ZmZlclZpZXcKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUg VD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4K Ky1Ob3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+ Pj46Ok5hdGl2ZVZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgdjg6Okxv Y2FsPHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3Rh dGUpIHsKKytOb3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51bGxhYmxl PE5vdFNoYXJlZDxUPj4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19i YXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorKyAgICBOYXRpdmVWYWx1 ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpW YWx1ZT4gdmFsdWUsCisrICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25f c3RhdGUpIHsKKyAgIHJldHVybiBOYXRpdmVWYWx1ZUltcGw8CisgICAgICAgUmVjaXBlVHJhaXQ8 Tm90U2hhcmVkPFQ+PiwgVG9ET01WaWV3VHlwZTxULCBrTm90U2hhcmVkPiwKKyAgICAgICBOdWxs YWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAtNzk5LDEy ICs4MDQsMTMgQEAgTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYgorIH0K KyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9t PFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1Ob3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8 SURMTnVsbGFibGU8Tm90U2hhcmVkPFQ+Pj46OkFyZ3VtZW50VmFsdWUoCistICAgIHY4OjpJc29s YXRlKiBpc29sYXRlLAorLSAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHZhbHVlLAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7 CisrTm90U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxOb3RT aGFyZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9v ZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgQXJndW1lbnRWYWx1ZSh2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKysgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRfaW5k ZXgsCisrICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCisrICAg ICAgICAgICAgICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworICAgcmV0 dXJuIEFyZ3VtZW50VmFsdWVJbXBsPAorICAgICAgIFJlY2lwZVRyYWl0PE5vdFNoYXJlZDxUPj4s IFRvRE9NVmlld1R5cGU8VCwga05vdFNoYXJlZD4sCisgICAgICAgTnVsbGFibGl0eTo6a0lzTnVs bGFibGUsIEJ1ZmZlclNpemVDaGVjazo6a0NoZWNrLAorQEAgLTgxNSwxMSArODIxLDEyIEBAIE5v dFNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWIKKyAvLyBOdWxsYWJsZSBbQWxs b3dTaGFyZWRdIEFycmF5QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAg cmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLU1heWJl U2hhcmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPE1heWJlU2hhcmVkPFQ+Pj46 Ok5hdGl2ZVZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKy0gICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUp IHsKKytNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8 TWF5YmVTaGFyZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNf YmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+OjoKKysgICAgTmF0aXZlVmFs dWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6 VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9u X3N0YXRlKSB7CisgICByZXR1cm4gTmF0aXZlVmFsdWVJbXBsPFJlY2lwZVRyYWl0PE1heWJlU2hh cmVkPFQ+PiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgVG9ET01WaWV3VHlwZTxULCBrTWF5 YmVTaGFyZWQ+LAorICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxs YWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCitAQCAtODI4LDEyICs4MzUsMTMgQEAgTWF5 YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbAorIH0KKyAKKyB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVm ZmVyVmlldz4KKy1NYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxN YXliZVNoYXJlZDxUPj4+OjpBcmd1bWVudFZhbHVlKAorLSAgICB2ODo6SXNvbGF0ZSogaXNvbGF0 ZSwKKy0gICAgaW50IGFyZ3VtZW50X2luZGV4LAorLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 YWx1ZSwKKy0gICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworK01heWJlU2hh cmVkPFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxU Pj4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFy cmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj46OgorKyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29s YXRlKiBpc29sYXRlLAorKyAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKysg ICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAg ICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJn dW1lbnRWYWx1ZUltcGw8UmVjaXBlVHJhaXQ8TWF5YmVTaGFyZWQ8VD4+LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRvRE9NVmlld1R5cGU8VCwga01heWJlU2hhcmVkPiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOdWxsYWJsaXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNo ZWNrOjprQ2hlY2ssCitAQCAtODQ0LDkgKzg1Miw5IEBAIE1heWJlU2hhcmVkPFQ+IE5hdGl2ZVZh bHVlVHJhaXRzPElETE51bGwKKyAvLyBOdWxsYWJsZSBbQWxsb3dTaGFyZWQsIEJ1ZmZlclNvdXJj ZVR5cGVOb1NpemVMaW1pdF0gQXJyYXlCdWZmZXJWaWV3CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBET01BcnJheUJ1ZmZlclZpZXc+ CistTWF5YmVTaGFyZWQ8VD4KKy1OYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxJRExCdWZm ZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+Pj46OgorK01heWJlU2hhcmVk PFQ+IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxJRExCdWZmZXJTb3VyY2VU eXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8VD4+PiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFi bGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6 CisgICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAg ICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAorICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHZhbHVlLAorQEAgLTg2MSwxMSArODY5LDEzIEBAIE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPElETEJ1ZmZlclMKKyAvLyBbQWxsb3dTaGFyZWQsIEZsZXhpYmxlQXJyYXlC dWZmZXJWaWV3XSBBcnJheUJ1ZmZlclZpZXcKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0g IHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3Pgor LVQgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xh dGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJndW1lbnRf aW5kZXgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8 djg6OlZhbHVlPiB2YWx1ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKytUIE5hdGl2ZVZhbHVlVHJhaXRz PFQsCisrICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAorKyAg ICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxGbGV4aWJsZUFycmF5QnVmZmVy VmlldywgVD46OnZhbHVlPj46OgorKyAgICBBcmd1bWVudFZhbHVlKHY4OjpJc29sYXRlKiBpc29s YXRlLAorKyAgICAgICAgICAgICAgICAgIGludCBhcmd1bWVudF9pbmRleCwKKysgICAgICAgICAg ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKysgICAgICAgICAgICAgICAgICBF eGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisgICByZXR1cm4gQXJndW1lbnRWYWx1 ZUltcGw8UmVjaXBlVHJhaXQ8VD4sIFRvRmxleGlibGVBcnJheUJ1ZmZlclZpZXcsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsIEJ1ZmZlclNp emVDaGVjazo6a0NoZWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2l6YWJsZUFs bG93YW5jZTo6a0Rpc2FsbG93UmVzaXphYmxlLAorQEAgLTg3NywxMiArODg3LDEzIEBAIFQgTmF0 aXZlVmFsdWVUcmFpdHM8VD46OkFyZ3VtZW50VmFsdWUodjgKKyAvLyBBcnJheUJ1ZmZlclZpZXcK KyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9t PFQsIEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3PgorLVQgTmF0aXZlVmFsdWVUcmFpdHM8SURMQnVm ZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0PFQ+Pjo6QXJndW1lbnRWYWx1ZSgKKy0gICAgdjg6Oklz b2xhdGUqIGlzb2xhdGUsCistICAgIGludCBhcmd1bWVudF9pbmRleCwKKy0gICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCistICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUp IHsKKytUIE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxU PiwKKysgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CisrICAg ICAgICAgICAgICAgICAgICAgICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJyYXlCdWZmZXJW aWV3LCBUPjo6dmFsdWU+Pjo6CisrICAgIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xh dGUsCisrICAgICAgICAgICAgICAgICAgaW50IGFyZ3VtZW50X2luZGV4LAorKyAgICAgICAgICAg ICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKKyAgIHJldHVybiBBcmd1bWVudFZhbHVl SW1wbDwKKyAgICAgICBSZWNpcGVUcmFpdDxUPiwgVG9GbGV4aWJsZUFycmF5QnVmZmVyVmlldywg TnVsbGFibGl0eTo6a0lzTm90TnVsbGFibGUsCisgICAgICAgQnVmZmVyU2l6ZUNoZWNrOjprRG9O b3RDaGVjaywgUmVzaXphYmxlQWxsb3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCitAQCAtODkz LDEyICs5MDQsMTMgQEAgVCBOYXRpdmVWYWx1ZVRyYWl0czxJRExCdWZmZXJTb3VyY2VUeXBlTgor IC8vIE51bGxhYmxlIFtBbGxvd1NoYXJlZCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXddIEFycmF5 QnVmZmVyVmlldworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpk ZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+CistVCBOYXRpdmVWYWx1ZVRy YWl0czxJRExOdWxsYWJsZTxUPj46OkFyZ3VtZW50VmFsdWUoCistICAgIHY4OjpJc29sYXRlKiBp c29sYXRlLAorLSAgICBpbnQgYXJndW1lbnRfaW5kZXgsCistICAgIHY4OjpMb2NhbDx2ODo6VmFs dWU+IHZhbHVlLAorLSAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRlKSB7CisrVCBO YXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPiwKKysgICAgICAgICAgICAgICAgICAgIHR5 cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CisrICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpp c19iYXNlX29mPEZsZXhpYmxlQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+Pjo6CisrICAgIEFy Z3VtZW50VmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisrICAgICAgICAgICAgICAgICAgaW50 IGFyZ3VtZW50X2luZGV4LAorKyAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+ IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3Rh dGUpIHsKKyAgIHJldHVybiBBcmd1bWVudFZhbHVlSW1wbDxSZWNpcGVUcmFpdDxUPiwgVG9GbGV4 aWJsZUFycmF5QnVmZmVyVmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdWxsYWJs aXR5OjprSXNOdWxsYWJsZSwgQnVmZmVyU2l6ZUNoZWNrOjprQ2hlY2ssCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVzaXphYmxlQWxsb3dhbmNlOjprRGlzYWxsb3dSZXNpemFibGUsCist LS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92 YWx1ZV90cmFpdHNfaW1wbC5oCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCitAQCAtNSw5ICs1LDcgQEAK KyAjaWZuZGVmIFRISVJEX1BBUlRZX0JMSU5LX1JFTkRFUkVSX0JJTkRJTkdTX0NPUkVfVjhfTkFU SVZFX1ZBTFVFX1RSQUlUU19JTVBMX0hfCisgI2RlZmluZSBUSElSRF9QQVJUWV9CTElOS19SRU5E RVJFUl9CSU5ESU5HU19DT1JFX1Y4X05BVElWRV9WQUxVRV9UUkFJVFNfSU1QTF9IXworIAorLSNp bmNsdWRlIDxjb25jZXB0cz4KKyAjaW5jbHVkZSA8b3B0aW9uYWw+CistI2luY2x1ZGUgPHR5cGVf dHJhaXRzPgorIAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9jb3JlL3Y4L2lkbF90eXBlcy5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHMuaCIKK0BAIC03MTgsOCAr NzE2LDkgQEAgc3RydWN0IENPUkVfRVhQT1JUIE5hdGl2ZVZhbHVlVHJhaXRzPAorIH07CisgCisg dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBE T01BcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IHsKKytzdHJ1 Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl X2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4gewor ICAgLy8gTm90U2hhcmVkPFQ+IG9yIE1heWJlU2hhcmVkPFQ+IHNob3VsZCBiZSB1c2VkIGluc3Rl YWQuCisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtNzMx LDggKzczMCw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiB7CisgfTsKKyAKKyB0ZW1w bGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFy cmF5QnVmZmVyVmlldz4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8VD4+ IHsKKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51bGxhYmxlPFQ+LAorKyAg ICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZl clZpZXcsIFQ+Ojp2YWx1ZT4+IHsKKyAgIC8vIE5vdFNoYXJlZDxUPiBvciBNYXliZVNoYXJlZDxU PiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgorICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJ c29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6 VmFsdWU+IHZhbHVlLAorQEAgLTc0NCw4ICs3NDQsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8SURMTnVsbGFibGU8VD4+CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJl cXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1zdHJ1Y3Qg TmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkPFQ+PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czwKKysgICAgTm90U2hhcmVkPFQ+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0 ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxOb3RTaGFyZWQ8VD4+IHsKKyAgIHN0YXRpYyBOb3RT aGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTc1 OCw4ICs3NTksOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8Tm90U2hhcmVkPFQ+PgorIH07 CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJv bTxULCBET01BcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51 bGxhYmxlPE5vdFNoYXJlZDxUPj4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJ RExOdWxsYWJsZTxOb3RTaGFyZWQ8VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisgICAgIDog cHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxOb3RTaGFyZWQ8VD4+IHsKKyAgIHN0YXRpYyBO b3RTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAg LTc3Miw4ICs3NzQsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8Tm90 CisgfTsKKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZl ZF9mcm9tPFQsIERPTUFycmF5QnVmZmVyVmlldz4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8 TWF5YmVTaGFyZWQ8VD4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBNYXliZVNo YXJlZDxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8 RE9NQXJyYXlCdWZmZXJWaWV3LCBUPjo6dmFsdWU+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1 ZVRyYWl0c0Jhc2U8TWF5YmVTaGFyZWQ8VD4+IHsKKyAgIHN0YXRpYyBNYXliZVNoYXJlZDxUPiBO YXRpdmVWYWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC03ODYsOCArNzg5 LDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPE1heWJlU2hhcmVkPFQ+PgorIH07CisgCisg dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBE T01BcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETEJ1ZmZlclNv dXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+Cisrc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPAorKyAgICBJRExCdWZmZXJTb3VyY2VUeXBlTm9TaXplTGltaXQ8TWF5YmVTaGFyZWQ8 VD4+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01B cnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJh aXRzQmFzZTxNYXliZVNoYXJlZDxUPj4geworICAgLy8gRmxleGlibGVBcnJheUJ1ZmZlclZpZXcg dXNlcyB0aGlzIGluIGl0cyBpbXBsZW1lbnRhdGlvbiwgc28gd2UgY2Fubm90CisgICAvLyBkZWxl dGUgaXQuCitAQCAtODAyLDggKzgwNiw5IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExC dWZmZXJTb3VyY2UKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMg c3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3PgorLXN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxUPj4+Cisrc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxNYXliZVNoYXJlZDxUPj4sCisrICAgIHR5cGVu YW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPERPTUFycmF5QnVmZmVyVmlldywg VD46OnZhbHVlPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPE1heWJlU2hh cmVkPFQ+PiB7CisgICBzdGF0aWMgTWF5YmVTaGFyZWQ8VD4gTmF0aXZlVmFsdWUodjg6Oklzb2xh dGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6Okxv Y2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAtODE2LDkgKzgyMSw5IEBAIHN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxNYXkKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBU PgorLSAgcmVxdWlyZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRE9NQXJyYXlCdWZmZXJWaWV3Pgor IHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKy0gICAgSURMTnVsbGFibGU8SURMQnVmZmVyU291 cmNlVHlwZU5vU2l6ZUxpbWl0PE1heWJlU2hhcmVkPFQ+Pj4+CisrICAgIElETE51bGxhYmxlPElE TEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxNYXliZVNoYXJlZDxUPj4+LAorKyAgICB0eXBl bmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxET01BcnJheUJ1ZmZlclZpZXcs IFQ+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxNYXliZVNo YXJlZDxUPj4geworICAgLy8gQnVmZmVyU291cmNlVHlwZU5vU2l6ZUxpbWl0IG11c3QgYmUgdXNl ZCBvbmx5IGFzIGFyZ3VtZW50cy4KKyAgIHN0YXRpYyBNYXliZVNoYXJlZDxUPiBOYXRpdmVWYWx1 ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKK0BAIC04MzIsOCArODM3LDExIEBAIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czwKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWly ZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7 Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBULAorKyAgICB0eXBlbmFtZSBzdGQ6 OmVuYWJsZV9pZl90PAorKyAgICAgICAgc3RkOjppc19iYXNlX29mPEZsZXhpYmxlQXJyYXlCdWZm ZXJWaWV3LCBUPjo6dmFsdWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8 VD4geworICAgLy8gRmxleGlibGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkgYXMg YXJndW1lbnRzLgorICAgc3RhdGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUs CisgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BA IC04NDYsOCArODU0LDEwIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxUPiA6IHB1YmxpYyBO YXQKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJp dmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0IE5hdGl2ZVZhbHVl VHJhaXRzPElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxUPj4KKytzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8CisrICAgIElETEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdDxUPiwKKysg ICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxG bGV4aWJsZUFycmF5QnVmZmVyVmlldywgVD46OnZhbHVlPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPFQ+IHsKKyAgIC8vIEJ1ZmZlclNvdXJjZVR5cGVOb1NpemVMaW1pdCBh bmQgRmxleGlibGVBcnJheUJ1ZmZlclZpZXcgbXVzdCBiZSB1c2VkIG9ubHkKKyAgIC8vIGFzIGFy Z3VtZW50cy4KK0BAIC04NjIsOCArODcyLDExIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJ RExCdWZmZXJTb3VyY2UKKyB9OworIAorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWly ZXMgc3RkOjpkZXJpdmVkX2Zyb208VCwgRmxleGlibGVBcnJheUJ1ZmZlclZpZXc+Cistc3RydWN0 IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRy YWl0c0Jhc2U8VD4geworK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFi bGU8VD4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8CisrICAgICAgICBzdGQ6Omlz X2Jhc2Vfb2Y8RmxleGlibGVBcnJheUJ1ZmZlclZpZXcsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUPiB7CisgICAvLyBGbGV4aWJsZUFycmF5QnVmZmVy VmlldyBtdXN0IGJlIHVzZWQgb25seSBhcyBhcmd1bWVudHMuCisgICBzdGF0aWMgVCBOYXRpdmVW YWx1ZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpM b2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorQEAgLTExOTksOCArMTIxMiw5IEBAIE5hdGl2ZVZhbHVl VHJhaXRzPElETFNlcXVlbmNlPFQ+Pjo6TmF0aXYKKyB9CisgCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistICByZXF1aXJlcyBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19u dWxsX3ZhbHVlCistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETFNlcXVl bmNlPFQ+Pj4KKytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMU2VxdWVu Y2U8VD4+LAorKyAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9p Zl90PAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmF0aXZlVmFsdWVUcmFpdHM8SURM U2VxdWVuY2U8VD4+OjpoYXNfbnVsbF92YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVl VHJhaXRzQmFzZTxIZWFwVmVjdG9yPEFkZE1lbWJlcklmTmVlZGVkPFQ+Pio+IHsKKyAgIHVzaW5n IEltcGxUeXBlID0gdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpJ bXBsVHlwZSo7CisgCitAQCAtMTI3Niw4ICsxMjkwLDkgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJh aXRzPElETEFycmF5PFQ+PgorICAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1 ZW5jZTxUPj4ge307CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBOYXRp dmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46Omhhc19udWxsX3ZhbHVlCistc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETEFycmF5PFQ+Pj4KKytzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8SURMTnVsbGFibGU8SURMQXJyYXk8VD4+LAorKyAgICAgICAgICAgICAgICAg ICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTmF0aXZlVmFsdWVUcmFpdHM8SURMU2VxdWVuY2U8VD4+OjpoYXNfbnVsbF92YWx1 ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPElETFNlcXVl bmNlPFQ+Pj4ge307CisgCisgLy8gUmVjb3JkIHR5cGVzCitAQCAtMTQwNyw4ICsxNDIyLDEwIEBA IHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExSZWNvcmQ8SywgVj4KKyAKKyAvLyBDYWxsYmFj ayBmdW5jdGlvbiB0eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgQ2FsbGJhY2tGdW5jdGlvbkJhc2U+Cistc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworK3N0cnVj dCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgVCwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVf aWZfdDxzdGQ6OmlzX2Jhc2Vfb2Y8Q2FsbGJhY2tGdW5jdGlvbkJhc2UsIFQ+Ojp2YWx1ZT4+Cisr ICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworICAgc3RhdGljIFQqIE5h dGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKK0BAIC0xNDMxLDggKzE0NDgsOSBAQCBz dHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0CisgfTsKKyAKKyB0ZW1wbGF0 ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNr RnVuY3Rpb25CYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4K KytzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8CisrICAgIElETE51bGxhYmxlPFQ+LAorKyAgICB0 eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxDYWxsYmFja0Z1bmN0aW9u QmFzZSwgVD46OnZhbHVlPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPElE TE51bGxhYmxlPFQ+PiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlz b2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFs dWUsCitAQCAtMTQ2MSw4ICsxNDc5LDEwIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExO dWxsYWJsZTxUPj4KKyAKKyAvLyBDYWxsYmFjayBpbnRlcmZhY2UgdHlwZXMKKyB0ZW1wbGF0ZSA8 dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6ZGVyaXZlZF9mcm9tPFQsIENhbGxiYWNrSW50 ZXJmYWNlQmFzZT4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4gOiBwdWJsaWMgTmF0aXZl VmFsdWVUcmFpdHNCYXNlPFQqPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBU LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90PHN0ZDo6aXNfYmFzZV9vZjxDYWxsYmFj a0ludGVyZmFjZUJhc2UsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJh aXRzQmFzZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29s YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3Rh dGUpIHsKK0BAIC0xNDg2LDggKzE1MDYsOSBAQCBzdHJ1Y3QgTmF0aXZlVmFsdWVUcmFpdHM8VD4g OiBwdWJsaWMgTmF0CisgCisgLy8gSW50ZXJmYWNlIHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1l IFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBDYWxsYmFja0ludGVyZmFjZUJh c2U+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgorK3N0cnVjdCBO YXRpdmVWYWx1ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8VD4sCisrICAgIHR5cGVuYW1lIHN0 ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19iYXNlX29mPENhbGxiYWNrSW50ZXJmYWNlQmFzZSwgVD46 OnZhbHVlPj4KKyAgICAgOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPElETE51bGxhYmxl PFQ+PiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCitAQCAt MTUxNiw4ICsxNTM3LDExIEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxU Pj4KKyAKKyAvLyBEaWN0aW9uYXJ5IHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICBy ZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBiaW5kaW5nczo6RGljdGlvbmFyeUJhc2U+Cist c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFz ZTxUKj4geworK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czwKKysgICAgVCwKKysgICAgdHlwZW5h bWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6 RGljdGlvbmFyeUJhc2UsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJh aXRzQmFzZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29s YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVl LAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3Rh dGUpIHsKK0BAIC0xNTI4LDExICsxNTUyLDE0IEBAIHN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxU PiA6IHB1YmxpYyBOYXQKKyAvLyBXZSBkb24ndCBzdXBwb3J0IG51bGxhYmxlIGRpY3Rpb25hcnkg dHlwZXMgaW4gZ2VuZXJhbCBzaW5jZSBpdCdzIHF1aXRlCisgLy8gY29uZnVzaW5nIGFuZCBvZnRl biBtaXN1c2VkLgorIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3RkOjpkZXJp dmVkX2Zyb208VCwgYmluZGluZ3M6OkRpY3Rpb25hcnlCYXNlPiAmJgorLSAgICAgICAgICAgKHN0 ZDo6c2FtZV9hczxULCBHUFVDb2xvclRhcmdldFN0YXRlPiB8fAorLSAgICAgICAgICAgIHN0ZDo6 c2FtZV9hczxULCBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50PiB8fAorLSAgICAgICAgICAg IHN0ZDo6c2FtZV9hczxULCBHUFVWZXJ0ZXhCdWZmZXJMYXlvdXQ+KQorLXN0cnVjdCBOYXRpdmVW YWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNl PFQqPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAgICBJRExOdWxsYWJsZTxUPiwK KysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDwKKysgICAgICAgIHN0ZDo6aXNfYmFzZV9v ZjxiaW5kaW5nczo6RGljdGlvbmFyeUJhc2UsIFQ+Ojp2YWx1ZSAmJgorKyAgICAgICAgKHN0ZDo6 aXNfc2FtZTxULCBHUFVDb2xvclRhcmdldFN0YXRlPjo6dmFsdWUgfHwKKysgICAgICAgICBzdGQ6 OmlzX3NhbWU8VCwgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudD46OnZhbHVlIHx8CisrICAg ICAgICAgc3RkOjppc19zYW1lPFQsIEdQVVZlcnRleEJ1ZmZlckxheW91dD46OnZhbHVlKT4+Cisr ICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworICAgc3RhdGljIFQqIE5h dGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAg IHY4OjpMb2NhbDx2ODo6VmFsdWU+IHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4 Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKK0BAIC0xNTQ0LDggKzE1NzEsMTEgQEAg c3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgorIAorIC8vIEVudW1lcmF0 aW9uIHR5cGVzCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2 ZWRfZnJvbTxULCBiaW5kaW5nczo6RW51bWVyYXRpb25CYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworK3N0cnVjdCBO YXRpdmVWYWx1ZVRyYWl0czwKKysgICAgVCwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZf dDwKKysgICAgICAgIHN0ZDo6aXNfYmFzZV9vZjxiaW5kaW5nczo6RW51bWVyYXRpb25CYXNlLCBU Pjo6dmFsdWU+PgorKyAgICA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VD4geworICAg c3RhdGljIFQgTmF0aXZlVmFsdWUodjg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAg ICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgIEV4Y2VwdGlvblN0YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKK0BAIC0xNTU1LDggKzE1 ODUsMTAgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdAorIAorIC8v IEludGVyZmFjZSB0eXBlcworIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorLSAgcmVxdWlyZXMgc3Rk OjpkZXJpdmVkX2Zyb208VCwgU2NyaXB0V3JhcHBhYmxlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRy YWl0czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKytzdHJ1Y3QgTmF0 aXZlVmFsdWVUcmFpdHM8CisrICAgIFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8 c3RkOjppc19iYXNlX29mPFNjcmlwdFdyYXBwYWJsZSwgVD46OnZhbHVlPj4KKysgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7CisgICAvLyBUaGlzIHNpZ25pZmllcyB0aGF0 IENyZWF0ZUlETFNlcXVlbmNlRnJvbVY4QXJyYXlTbG93KCkgbWF5IGFwcGx5CisgICAvLyBjZXJ0 YWluIG9wdGltaXphdGlvbiBiYXNlZCBvbiBhc3N1bXB0aW9ucyBhYm91dCBgTmF0aXZlVmFsdWUo KWAKKyAgIC8vIGltcGxlbWVudGF0aW9uIGJlbG93LiBGb3Igc3ViY2xhc3NlcyBvZiBTY3JpcHRX cmFwcGFibGUgdGhhdCBoYXZlCitAQCAtMTU5Myw4ICsxNjI1LDkgQEAgc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBTY3JpcHRXcmFwcGFibGU+Cistc3Ry dWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+PgorK3N0cnVjdCBOYXRpdmVWYWx1 ZVRyYWl0czwKKysgICAgSURMTnVsbGFibGU8VD4sCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxl X2lmX3Q8c3RkOjppc19iYXNlX29mPFNjcmlwdFdyYXBwYWJsZSwgVD46OnZhbHVlPj4KKyAgICAg OiBwdWJsaWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPElETE51bGxhYmxlPFQ+PiB7CisgICBzdGF0 aWMgaW5saW5lIFQqIE5hdGl2ZVZhbHVlKHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwKK0BAIC0x NjI5LDggKzE2NjIsMTAgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE51bGxhYmxlPFQ+ PgorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2 ZWRfZnJvbTxULCBiaW5kaW5nczo6VW5pb25CYXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0 czxUPiA6IHB1YmxpYyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKytzdHJ1Y3QgTmF0aXZl VmFsdWVUcmFpdHM8CisrICAgIFQsCisrICAgIHR5cGVuYW1lIHN0ZDo6ZW5hYmxlX2lmX3Q8c3Rk Ojppc19iYXNlX29mPGJpbmRpbmdzOjpVbmlvbkJhc2UsIFQ+Ojp2YWx1ZT4+CisrICAgIDogcHVi bGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxUKj4geworICAgc3RhdGljIFQqIE5hdGl2ZVZhbHVl KHY4OjpJc29sYXRlKiBpc29sYXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgIHY4OjpMb2Nh bDx2ODo6VmFsdWU+IHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2VwdGlvblN0 YXRlJiBleGNlcHRpb25fc3RhdGUpIHsKK0BAIC0xNjQ2LDggKzE2ODEsMTAgQEAgc3RydWN0IE5h dGl2ZVZhbHVlVHJhaXRzPFQ+IDogcHVibGljIE5hdAorIH07CisgCisgdGVtcGxhdGUgPHR5cGVu YW1lIFQ+CistICByZXF1aXJlcyBzdGQ6OmRlcml2ZWRfZnJvbTxULCBiaW5kaW5nczo6VW5pb25C YXNlPgorLXN0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4gOiBwdWJsaWMg TmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAor KyAgICBJRExOdWxsYWJsZTxUPiwKKysgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6 OmlzX2Jhc2Vfb2Y8YmluZGluZ3M6OlVuaW9uQmFzZSwgVD46OnZhbHVlPj4KKysgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPFQqPiB7CisgICBzdGF0aWMgVCogTmF0aXZlVmFsdWUo djg6Oklzb2xhdGUqIGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdjg6OkxvY2Fs PHY4OjpWYWx1ZT4gdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgRXhjZXB0aW9uU3Rh dGUmIGV4Y2VwdGlvbl9zdGF0ZSkgeworQEAgLTE2NjgsOCArMTcwNSw5IEBAIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czxJRExOdWxsYWJsZTxUPj4KKyAKKyAvLyBOdWxsYWJsZSB0eXBlcworIHRl bXBsYXRlIDx0eXBlbmFtZSBJbm5lclR5cGU+CistICByZXF1aXJlcyghTmF0aXZlVmFsdWVUcmFp dHM8SW5uZXJUeXBlPjo6aGFzX251bGxfdmFsdWUpCistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRz PElETE51bGxhYmxlPElubmVyVHlwZT4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPAorKyAg ICBJRExOdWxsYWJsZTxJbm5lclR5cGU+LAorKyAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PCFOYXRpdmVWYWx1ZVRyYWl0czxJbm5lclR5cGU+OjpoYXNfbnVsbF92YWx1ZT4+CisgICAgIDog cHVibGljIE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTxJRExOdWxsYWJsZTxJbm5lclR5cGU+PiB7Cisg ICAvLyBodHRwczovL3dlYmlkbC5zcGVjLndoYXR3Zy5vcmcvI2VzLW51bGxhYmxlLXR5cGUKKyAg IHVzaW5nIEltcGxUeXBlID0KK0BAIC0xNzAxLDggKzE3MzksOSBAQCBzdHJ1Y3QgTmF0aXZlVmFs dWVUcmFpdHM8SURMTnVsbGFibGU8SURMCisgCisgLy8gT3B0aW9uYWwgdHlwZXMKKyB0ZW1wbGF0 ZSA8dHlwZW5hbWUgVD4KKy0gIHJlcXVpcmVzIHN0ZDo6aXNfYXJpdGhtZXRpY192PHR5cGVuYW1l IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT4KKy1zdHJ1Y3QgTmF0aXZlVmFsdWVUcmFp dHM8SURMT3B0aW9uYWw8VD4+Cisrc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFs PFQ+LAorKyAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OmVuYWJsZV9pZl90 PHN0ZDo6aXNfYXJpdGhtZXRpYzwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVu YW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJbXBsVHlwZT46OnZhbHVlPj4KKyAgICAgOiBwdWJs aWMgTmF0aXZlVmFsdWVUcmFpdHNCYXNlPHR5cGVuYW1lIE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpJ bXBsVHlwZT4geworICAgdXNpbmcgSW1wbFR5cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0 czxUPjo6SW1wbFR5cGU7CisgCitAQCAtMTcyNCw4ICsxNzYzLDkgQEAgc3RydWN0IE5hdGl2ZVZh bHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+PgorIH07CisgCisgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+ CistICByZXF1aXJlcyBzdGQ6OmlzX3BvaW50ZXJfdjx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0 czxUPjo6SW1wbFR5cGU+Cistc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzPElETE9wdGlvbmFsPFQ+ PgorK3N0cnVjdCBOYXRpdmVWYWx1ZVRyYWl0czxJRExPcHRpb25hbDxUPiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX3BvaW50ZXI8 CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0 czxUPjo6SW1wbFR5cGU+Ojp2YWx1ZT4+CisgICAgIDogcHVibGljIE5hdGl2ZVZhbHVlVHJhaXRz QmFzZTx0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxUPjo6SW1wbFR5cGU+IHsKKyAgIHVzaW5n IEltcGxUeXBlID0gdHlwZW5hbWUgTmF0aXZlVmFsdWVUcmFpdHM8VD46OkltcGxUeXBlOworIAoK ZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEyNS1lbC1OYXRpdmVWYWx1ZVRyYWl0cy1wMi5wYXRjaCBi L2Nocm9taXVtLTEyNS1lbC1OYXRpdmVWYWx1ZVRyYWl0cy1wMi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzczNzhiCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21p dW0tMTI1LWVsLU5hdGl2ZVZhbHVlVHJhaXRzLXAyLnBhdGNoCkBAIC0wLDAgKzEsMTQ0IEBACity ZXZlcnQgYXMgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgZXJyb3Igd2l0aCBvbGQgY2xhbmcgPCAx NworCitjb21taXQgY2U3MTM0OGEwOWY2Njg5ZGQwMWE2OGRiNjRiMTcyMTkxZDAxODJkOAorQXV0 aG9yOiBBbmRyZXkgS29zeWFrb3YgPGNhc2VxQGNocm9taXVtLm9yZz4KK0RhdGU6ICAgVGh1IERl YyAyMSAxODozODozOCAyMDIzICswMDAwCisKKyAgICBbYmluZGluZ3NdIFVzZSB2ODo6QXJyYXk6 Okl0ZXJhdGUgZm9yIGNvbnZlcnRpbmcgc2NyaXB0IHdyYXBwYWJsZXMKKyAgICAKKyAgICAKKyAg ICBUaGlzIGNoYW5nZXMgQ3JlYXRlSURMU2VxdWVuY2VGcm9tVjhBcnJheSB0byB1c2UgdGhlIG5l dworICAgIHY4OjpBcnJheTo6SXRlcmF0ZSgpIG9wZXJhdGlvbi4KKyAgICBUaGlzIHNwZWVkcyB1 cCB0aGUgImV4ZWNCdW5kbGVzIiBwYXJ0IG9mIHRoZSBtaWNyb2JlbmNobWFyaworICAgIGF0IGNy YnVnLmNvbS9kYXduLzE4NTggYnkgYXJvdW5kIDN4LgorICAgIFRoaXMgZGVwZW5kcyBvbiBjcnJl di5jb20vYy80ODQ2NTk0IGxhbmRpbmcgKGFuZCByb2xsaW5nKSBmaXJzdC4KKyAgICAKKyAgICBU aGlzIGlzIGEgc2xpZ2h0IHJlLXdvcmsgb2YgaHR0cHM6Ly9jcnJldi5jb20vYy80ODQ3NDQ3LzMs CisgICAgb3JpZ2luYWxseSBieSBqa3VtbWVyb3dAY2hyb21pdW0ub3JnCisgICAgCisgICAgQnVn OiB2ODoxNDIxOCwgZGF3bjoxODU4LCAxNTExMjM5CisgICAgQ2hhbmdlLUlkOiBJYTI2NjU1NmQw NWI0ZDUzZTY5NDJlMTI2MDlkMWMwODg4MmI0ZmYwZgorICAgIFJldmlld2VkLW9uOiBodHRwczov L2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNTEzMjEy OQorICAgIENvbW1pdC1RdWV1ZTogQW5kcmV5IEtvc3lha292IDxjYXNlcUBjaHJvbWl1bS5vcmc+ CisgICAgUmV2aWV3ZWQtYnk6IFl1a2kgU2hpaW5vIDx5dWtpc2hpaW5vQGNocm9taXVtLm9yZz4K KyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEyNDAyMzZ9CisKKy0t LSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL2NvcmUvdjgvbmF0aXZlX3Zh bHVlX3RyYWl0cy5oCTIwMjQtMDUtMTMgMjA6MjM6NDEuMTY1Nzc0MDI5ICswMjAwCisrKysgYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9jb3JlL3Y4L25hdGl2ZV92YWx1ZV90 cmFpdHMuaAkyMDI0LTA1LTEzIDIwOjI3OjU4Ljk5NDY2MzQ4NSArMDIwMAorQEAgLTExMCwxMiAr MTEwLDYgQEAgc3RydWN0IE5hdGl2ZVZhbHVlVHJhaXRzQmFzZTwKKyAgIHN0YXRpYyBjb25zdGV4 cHIgYm9vbCBoYXNfbnVsbF92YWx1ZSA9CisgICAgICAgYmluZGluZ3M6Ok5hdGl2ZVZhbHVlVHJh aXRzSGFzTnVsbFZhbHVlPEltcGxUeXBlPjo6dmFsdWU7CisgCistICAvLyBUaGlzIHNob3VsZCBv bmx5IGJlIHRydWUgZm9yIGNlcnRhaW4gc3ViY2xhc3NlcyBvZiBTY3JpcHRXcmFwcGFibGUKKy0g IC8vIHRoYXQgc2F0aXNmeSB0aGUgYXNzdW1wdGlvbnMgb2YgQ3JlYXRlSURMU2VxdWVuY2VGcm9t VjhBcnJheVNsb3coKSB3aXRoCistICAvLyByZWdhcmRzIHRvIGhvdyBOYXRpdmVWYWx1ZSgpIGlz IGltcGxlbWVudGVkIGZvciB0aGUgdW5kZXJseWluZyB0eXBlLgorLSAgc3RhdGljIGNvbnN0ZXhw ciBib29sIHN1cHBvcnRzX3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19mYXN0X2FycmF5X2l0ZXJh dGlvbiA9CistICAgICAgZmFsc2U7CistCisgICB0ZW1wbGF0ZSA8dHlwZW5hbWUuLi4gRXh0cmFB cmdzPgorICAgc3RhdGljIGRlY2x0eXBlKGF1dG8pIEFyZ3VtZW50VmFsdWUodjg6Oklzb2xhdGUq IGlzb2xhdGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgYXJn dW1lbnRfaW5kZXgsCistLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9j b3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCTIwMjQtMDUtMTMgMjA6MjM6NDcuMjk1 OTE1ODM3ICswMjAwCisrKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5ncy9j b3JlL3Y4L25hdGl2ZV92YWx1ZV90cmFpdHNfaW1wbC5oCTIwMjQtMDUtMTMgMjA6Mjc6MjEuNjQ5 ODA4NTY0ICswMjAwCitAQCAtMTA1MCw4NyArMTA1MCwxMSBAQCBDcmVhdGVJRExTZXF1ZW5jZUZy b21WOEFycmF5U2xvdyh2ODo6SXNvCisgICAgIHJldHVybiB7fTsKKyAgIH0KKyAKKy0gIHVzaW5n IFJlc3VsdFR5cGUgPSB0eXBlbmFtZSBOYXRpdmVWYWx1ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46 OkltcGxUeXBlOworLSAgUmVzdWx0VHlwZSByZXN1bHQ7CisrICB0eXBlbmFtZSBOYXRpdmVWYWx1 ZVRyYWl0czxJRExTZXF1ZW5jZTxUPj46OkltcGxUeXBlIHJlc3VsdDsKKyAgIHJlc3VsdC5SZXNl cnZlSW5pdGlhbENhcGFjaXR5KGxlbmd0aCk7CisgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGN1 cnJlbnRfY29udGV4dCA9IGlzb2xhdGUtPkdldEN1cnJlbnRDb250ZXh0KCk7CisgICB2ODo6VHJ5 Q2F0Y2ggdHJ5X2Jsb2NrKGlzb2xhdGUpOworIAorLSAgLy8gRmFzdCBwYXRoIC0tIHdlJ3JlIGNy ZWF0aW5nIGEgc2VxdWVuY2Ugb2Ygc2NyaXB0IHdyYXBwYWJsZXMsIHdoaWNoIGNhbiBiZQorLSAg Ly8gZG9uZSBieSBkaXJlY3RseSBnZXR0aW5nIHVuZGVybHlpbmcgb2JqZWN0IGFzIGxvbmcgYXMg YXJyYXkgdHlwZXMgYXJlCistICAvLyBob21vZ2VuZW91cy4gV2l0aCBTY3JpcHRXcmFwcGFibGVz LCB3ZSBkb24ndCBleHBlY3QgdG8gZW50ZXIgSlMgZHVyaW5nCistICAvLyBpdGVyYXRpb24sIHNv IHdlIGNhbiByZWx5IG9uIHY4OjpBcnJheTo6SXRlcmF0ZSgpIHdoaWNoIGlzIG11Y2ggZmFzdGVy IHRoYW4KKy0gIC8vIGl0ZXJhdGluZyBhbiBhcnJheSBvbiB0aGUgY2xpZW50IHNpZGUgb2YgdGhl IHY4LiBBZGRpdGlvbmFsbHksIGZvciBtb3N0CistICAvLyBzdWJzcHR5ZXMgb2YgU2NyaXB0V3Jh cHBhYmxlcywgd2UgY2FuIHNwZWVkIHVwIHR5cGUgY2hlY2tzIChzZWUgbW9yZSBvbgorLSAgLy8g dGhhdCBiZWxvdyBuZXh0IHRvIHN1cHBvcnRzX3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19mYXN0 X2FycmF5X2l0ZXJhdGlvbgorLSAgLy8gY2hlY2suCistICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNf YmFzZV9vZl92PFNjcmlwdFdyYXBwYWJsZSwgVD4pIHsKKy0gICAgc3RydWN0IENhbGxiYWNrRGF0 YSB7CistICAgICAgU1RBQ0tfQUxMT0NBVEVEKCk7CistCistICAgICBwdWJsaWM6CistICAgICAg djg6Oklzb2xhdGUqIGlzb2xhdGU7CistICAgICAgdjg6OlR5cGVjaGVja1dpdG5lc3Mgd2l0bmVz czsKKy0gICAgICBSZXN1bHRUeXBlJiByZXN1bHQ7CistICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4 Y2VwdGlvbl9zdGF0ZTsKKy0gICAgICBDYWxsYmFja0RhdGEodjg6Oklzb2xhdGUqIGlzb2xhdGUs CistICAgICAgICAgICAgICAgICAgIFJlc3VsdFR5cGUmIHJlc3VsdCwKKy0gICAgICAgICAgICAg ICAgICAgRXhjZXB0aW9uU3RhdGUmIGV4Y2VwdGlvbl9zdGF0ZSkKKy0gICAgICAgICAgOiBpc29s YXRlKGlzb2xhdGUpLAorLSAgICAgICAgICAgIHdpdG5lc3MoaXNvbGF0ZSksCistICAgICAgICAg ICAgcmVzdWx0KHJlc3VsdCksCistICAgICAgICAgICAgZXhjZXB0aW9uX3N0YXRlKGV4Y2VwdGlv bl9zdGF0ZSkge30KKy0gICAgfTsKKy0KKy0gICAgQ2FsbGJhY2tEYXRhIGNhbGxiYWNrX2RhdGEo aXNvbGF0ZSwgcmVzdWx0LCBleGNlcHRpb25fc3RhdGUpOworLSAgICB2ODo6QXJyYXk6Okl0ZXJh dGlvbkNhbGxiYWNrIGNhbGxiYWNrID0gW10odWludDMyX3QgaW5kZXgsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2 OF9lbGVtZW50LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCogZGF0YSkgeworLSAgICAgIENhbGxiYWNrRGF0YSogY2FsbGJhY2tfZGF0YSA9IHJl aW50ZXJwcmV0X2Nhc3Q8Q2FsbGJhY2tEYXRhKj4oZGF0YSk7CistICAgICAgdjg6Oklzb2xhdGUq IGlzb2xhdGUgPSBjYWxsYmFja19kYXRhLT5pc29sYXRlOworLSAgICAgIC8vIDMuNC4gSW5pdGlh bGl6ZSBTaSB0byB0aGUgcmVzdWx0IG9mIGNvbnZlcnRpbmcgbmV4dEl0ZW0gdG8gYW4gSURMIHZh bHVlCistICAgICAgLy8gICBvZiB0eXBlIFQuCistICAgICAgdjg6OlR5cGVjaGVja1dpdG5lc3Mm IHdpdG5lc3MgPSBjYWxsYmFja19kYXRhLT53aXRuZXNzOworLSAgICAgIC8vIFdlIGNhbiBzcGVl ZCB1cCB0eXBlIGNoZWNrIGJ5IHRha2luZyBhZHZhbnRhZ2Ugb2YgVjgncyB0eXBlIHdpdG5lc3Ms CistICAgICAgLy8gcHJvdmlkZWQgdHJhaXRzJyBOYXRpdmVWYWx1ZSBpbXBsZW1lbnRhdGlvbiBk b2Vzbid0IGhhdmUgYWRkaXRpb25hbAorLSAgICAgIC8vIGxvZ2ljIGJleW9uZCBjaGVja2luZyB0 aGUgdHlwZSBhbmQgY2FsbGluZyBUb1NjcmlwdFdyYXBwYWJsZSgpLgorLSAgICAgIGlmIGNvbnN0 ZXhwciAoCistICAgICAgICAgIE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICAgICAgICAgICAgVD46 OnN1cHBvcnRzX3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19mYXN0X2FycmF5X2l0ZXJhdGlvbikg eworLSAgICAgICAgaWYgKHdpdG5lc3MuTWF0Y2hlcyh2OF9lbGVtZW50KSkgeworLSAgICAgICAg ICBhdXRvJiYgdmFsdWUgPSBUb1NjcmlwdFdyYXBwYWJsZShpc29sYXRlLCB2OF9lbGVtZW50LkFz PHY4OjpPYmplY3Q+KCkpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtPnRlbXBsYXRl IFRvSW1wbDxUPigpOworLSAgICAgICAgICBjYWxsYmFja19kYXRhLT5yZXN1bHQucHVzaF9iYWNr KHN0ZDo6bW92ZSh2YWx1ZSkpOworLSAgICAgICAgICByZXR1cm4gdjg6OkFycmF5OjpDYWxsYmFj a1Jlc3VsdDo6a0NvbnRpbnVlOworLSAgICAgICAgfQorLSAgICAgIH0KKy0gICAgICBhdXRvJiYg ZWxlbWVudCA9IE5hdGl2ZVZhbHVlVHJhaXRzPFQ+OjpOYXRpdmVWYWx1ZSgKKy0gICAgICAgICAg aXNvbGF0ZSwgdjhfZWxlbWVudCwgY2FsbGJhY2tfZGF0YS0+ZXhjZXB0aW9uX3N0YXRlKTsKKy0g ICAgICBpZiAoY2FsbGJhY2tfZGF0YS0+ZXhjZXB0aW9uX3N0YXRlLkhhZEV4Y2VwdGlvbigpKSB7 CistICAgICAgICAvLyBJdCBkb2Vzbid0IG1hdHRlciB3aGV0aGVyIHdlIHJldHVybiBga0V4Y2Vw dGlvbmAgb3IgYGtCcmVha2AgaGVyZSwKKy0gICAgICAgIC8vIGFzIHRoYXQgb25seSBhZmZlY3Rz IHRoZSByZXR1cm4gdmFsdWUgb2YgYHY4X2FycmF5LT5JdGVyYXRlKClgLAorLSAgICAgICAgLy8g d2hpY2ggd2UgYXJlIGlnbm9yaW5nLgorLSAgICAgICAgcmV0dXJuIHY4OjpBcnJheTo6Q2FsbGJh Y2tSZXN1bHQ6OmtFeGNlcHRpb247CistICAgICAgfQorLSAgICAgIGlmIGNvbnN0ZXhwciAoCist ICAgICAgICAgIE5hdGl2ZVZhbHVlVHJhaXRzPAorLSAgICAgICAgICAgICAgVD46OnN1cHBvcnRz X3NjcmlwdHdyYXBwYWJsZV9zcGVjaWZpY19mYXN0X2FycmF5X2l0ZXJhdGlvbikgeworLSAgICAg ICAgd2l0bmVzcy5VcGRhdGUodjhfZWxlbWVudCk7CistICAgICAgfQorLSAgICAgIGNhbGxiYWNr X2RhdGEtPnJlc3VsdC5wdXNoX2JhY2soc3RkOjptb3ZlKGVsZW1lbnQpKTsKKy0gICAgICByZXR1 cm4gdjg6OkFycmF5OjpDYWxsYmFja1Jlc3VsdDo6a0NvbnRpbnVlOworLSAgICB9OworLSAgICBp ZiAoIXY4X2FycmF5LT5JdGVyYXRlKGN1cnJlbnRfY29udGV4dCwgY2FsbGJhY2ssICZjYWxsYmFj a19kYXRhKQorLSAgICAgICAgICAgICAuSXNKdXN0KCkpIHsKKy0gICAgICBpZiAodHJ5X2Jsb2Nr Lkhhc0NhdWdodCgpKSB7CistICAgICAgICBleGNlcHRpb25fc3RhdGUuUmV0aHJvd1Y4RXhjZXB0 aW9uKHRyeV9ibG9jay5FeGNlcHRpb24oKSk7CistICAgICAgfQorLSAgICAgIERDSEVDSyhleGNl cHRpb25fc3RhdGUuSGFkRXhjZXB0aW9uKCkpOworLSAgICAgIHJldHVybiB7fTsKKy0gICAgfQor LSAgICByZXR1cm4gcmVzdWx0OworLSAgfQorLQorICAgLy8gQXJyYXkgbGVuZ3RoIG1heSBjaGFu Z2UgaWYgYXJyYXkgaXMgbXV0YXRlZCBkdXJpbmcgaXRlcmF0aW9uLgorICAgZm9yICh1aW50MzJf dCBpID0gMDsgaSA8IHY4X2FycmF5LT5MZW5ndGgoKTsgKytpKSB7CisgICAgIHY4OjpMb2NhbDx2 ODo6VmFsdWU+IHY4X2VsZW1lbnQ7CitAQCAtMTU5MCwxMiArMTUxNCw2IEBAIHN0cnVjdCBOYXRp dmVWYWx1ZVRyYWl0czwKKyAgICAgVCwKKyAgICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWZfdDxz dGQ6OmlzX2Jhc2Vfb2Y8U2NyaXB0V3JhcHBhYmxlLCBUPjo6dmFsdWU+PgorICAgICA6IHB1Ymxp YyBOYXRpdmVWYWx1ZVRyYWl0c0Jhc2U8VCo+IHsKKy0gIC8vIFRoaXMgc2lnbmlmaWVzIHRoYXQg Q3JlYXRlSURMU2VxdWVuY2VGcm9tVjhBcnJheVNsb3coKSBtYXkgYXBwbHkKKy0gIC8vIGNlcnRh aW4gb3B0aW1pemF0aW9uIGJhc2VkIG9uIGFzc3VtcHRpb25zIGFib3V0IGBOYXRpdmVWYWx1ZSgp YAorLSAgLy8gaW1wbGVtZW50YXRpb24gYmVsb3cuIEZvciBzdWJjbGFzc2VzIG9mIFNjcmlwdFdy YXBwYWJsZSB0aGF0IGhhdmUKKy0gIC8vIGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbiBvZiBOYXRp dmVWYWx1ZSgpLCB0aGlzIHNob3VsZCByZW1haW4gZmFsc2UuCistICBzdGF0aWMgY29uc3RleHBy IGJvb2wgc3VwcG9ydHNfc2NyaXB0d3JhcHBhYmxlX3NwZWNpZmljX2Zhc3RfYXJyYXlfaXRlcmF0 aW9uID0KKy0gICAgICB0cnVlOworIAorICAgc3RhdGljIGlubGluZSBUKiBOYXRpdmVWYWx1ZSh2 ODo6SXNvbGF0ZSogaXNvbGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjg6 OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTI1LWZmbXBl Zy01LngtcmVvcmRlcmVkX29wYXF1ZS5wYXRjaCBiL2Nocm9taXVtLTEyNS1mZm1wZWctNS54LXJl b3JkZXJlZF9vcGFxdWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u OWFmZjg2NAotLS0gL2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTEyNS1mZm1wZWctNS54LXJlb3Jk ZXJlZF9vcGFxdWUucGF0Y2gKQEAgLTAsMCArMSwxMDUgQEAKK2NvbW1pdCA2MjI3NDg1OTEwNGJk ODI4MzczYWU0MDZhYTkzMDllNjEwNDQ5YWM1CitBdXRob3I6IFRlZCBNZXllciA8dG1hdGhtZXll ckBjaHJvbWl1bS5vcmc+CitEYXRlOiAgIEZyaSBNYXIgMjIgMTk6NTY6NTUgMjAyNCArMDAwMAor CisgICAgUmVwbGFjZSBkZXByZWNhdGVkIHVzZSBvZiBBVkNvZGVjQ29udGV4dDo6cmVvcmRlcmVk X29wYXF1ZQorICAgIAorICAgIFdlIGNhbiB1c2UgdGhlIEFWX0NPREVDX0ZMQUdfQ09QWV9PUEFR VUUgZmxhZyBvbiB0aGUgY29kZWMgY29udGV4dAorICAgIG5vdyB0byB0cmlnZ2VyIHRpbWVzdGFt cCBwcm9wYWdhdGlvbi4KKyAgICAKKyAgICBCdWc6IDMzMDU3MzEyOAorICAgIENoYW5nZS1JZDog STZiYzU3MjQxYTM1YWI1MjgzNzQyYWFkOGQ0MmFjYjRkYzVlODU4NTgKKyAgICBSZXZpZXdlZC1v bjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3Ny Yy8rLzUzODQzMDgKKyAgICBDb21taXQtUXVldWU6IFRlZCAoQ2hyb21pdW0pIE1leWVyIDx0bWF0 aG1leWVyQGNocm9taXVtLm9yZz4KKyAgICBSZXZpZXdlZC1ieTogRGFuIFNhbmRlcnMgPHNhbmRl cnNkQGNocm9taXVtLm9yZz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFp bkB7IzEyNzcwNTF9CisKK2RpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ192aWRlb19k ZWNvZGVyLmNjIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfdmlkZW9fZGVjb2Rlci5jYworaW5kZXgg YmQ3NTQ3N2ZlZWFiYi4uOGE2NThhNThjYWFjNSAxMDA2NDQKKy0tLSBhL21lZGlhL2ZpbHRlcnMv ZmZtcGVnX3ZpZGVvX2RlY29kZXIuY2MKKysrKyBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX3ZpZGVv X2RlY29kZXIuY2MKK0BAIC0xMzQsNyArMTM0LDcgQEAgYm9vbCBGRm1wZWdWaWRlb0RlY29kZXI6 OklzQ29kZWNTdXBwb3J0ZWQoVmlkZW9Db2RlYyBjb2RlYykgeworIH0KKyAKKyBGRm1wZWdWaWRl b0RlY29kZXI6OkZGbXBlZ1ZpZGVvRGVjb2RlcihNZWRpYUxvZyogbWVkaWFfbG9nKQorLSAgICA6 IG1lZGlhX2xvZ18obWVkaWFfbG9nKSB7CisrICAgIDogbWVkaWFfbG9nXyhtZWRpYV9sb2cpLCB0 aW1lc3RhbXBfbWFwXygxMjgpIHsKKyAgIERWTE9HKDEpIDw8IF9fZnVuY19fOworICAgREVUQUNI X0ZST01fU0VRVUVOQ0Uoc2VxdWVuY2VfY2hlY2tlcl8pOworIH0KK0BAIC0zNjMsOCArMzYzLDEw IEBAIGJvb2wgRkZtcGVnVmlkZW9EZWNvZGVyOjpGRm1wZWdEZWNvZGUoY29uc3QgRGVjb2RlckJ1 ZmZlciYgYnVmZmVyKSB7CisgICAgIERDSEVDSyhwYWNrZXQtPmRhdGEpOworICAgICBEQ0hFQ0tf R1QocGFja2V0LT5zaXplLCAwKTsKKyAKKy0gICAgLy8gTGV0IEZGbXBlZyBoYW5kbGUgcHJlc2Vu dGF0aW9uIHRpbWVzdGFtcCByZW9yZGVyaW5nLgorLSAgICBjb2RlY19jb250ZXh0Xy0+cmVvcmRl cmVkX29wYXF1ZSA9IGJ1ZmZlci50aW1lc3RhbXAoKS5Jbk1pY3Jvc2Vjb25kcygpOworKyAgICBj b25zdCBpbnQ2NF90IHRpbWVzdGFtcCA9IGJ1ZmZlci50aW1lc3RhbXAoKS5Jbk1pY3Jvc2Vjb25k cygpOworKyAgICBjb25zdCBUaW1lc3RhbXBJZCB0aW1lc3RhbXBfaWQgPSB0aW1lc3RhbXBfaWRf Z2VuZXJhdG9yXy5HZW5lcmF0ZU5leHRJZCgpOworKyAgICB0aW1lc3RhbXBfbWFwXy5QdXQoc3Rk OjptYWtlX3BhaXIodGltZXN0YW1wX2lkLCB0aW1lc3RhbXApKTsKKysgICAgcGFja2V0LT5vcGFx dWUgPSByZWludGVycHJldF9jYXN0PHZvaWQqPih0aW1lc3RhbXBfaWQuR2V0VW5zYWZlVmFsdWUo KSk7CisgICB9CisgICBGRm1wZWdEZWNvZGluZ0xvb3A6OkRlY29kZVN0YXR1cyBkZWNvZGVfc3Rh dHVzID0gZGVjb2RpbmdfbG9vcF8tPkRlY29kZVBhY2tldCgKKyAgICAgICBwYWNrZXQsIGJhc2U6 OkJpbmRSZXBlYXRpbmcoJkZGbXBlZ1ZpZGVvRGVjb2Rlcjo6T25OZXdGcmFtZSwKK0BAIC00MjMs NyArNDI1LDEyIEBAIGJvb2wgRkZtcGVnVmlkZW9EZWNvZGVyOjpPbk5ld0ZyYW1lKEFWRnJhbWUq IGZyYW1lKSB7CisgICB9CisgICBnZng6OlNpemUgbmF0dXJhbF9zaXplID0gYXNwZWN0X3JhdGlv LkdldE5hdHVyYWxTaXplKHZpc2libGVfcmVjdCk7CisgCistICBjb25zdCBhdXRvIHB0cyA9IGJh c2U6Ok1pY3Jvc2Vjb25kcyhmcmFtZS0+cmVvcmRlcmVkX29wYXF1ZSk7CisrICBjb25zdCBhdXRv IHRzX2lkID0gVGltZXN0YW1wSWQocmVpbnRlcnByZXRfY2FzdDxzaXplX3Q+KGZyYW1lLT5vcGFx dWUpKTsKKysgIGNvbnN0IGF1dG8gdHNfbG9va3VwID0gdGltZXN0YW1wX21hcF8uR2V0KHRzX2lk KTsKKysgIGlmICh0c19sb29rdXAgPT0gdGltZXN0YW1wX21hcF8uZW5kKCkpIHsKKysgICAgcmV0 dXJuIGZhbHNlOworKyAgfQorKyAgY29uc3QgYXV0byBwdHMgPSBiYXNlOjpNaWNyb3NlY29uZHMo c3RkOjpnZXQ8MT4oKnRzX2xvb2t1cCkpOworICAgYXV0byB2aWRlb19mcmFtZSA9IFZpZGVvRnJh bWU6OldyYXBFeHRlcm5hbERhdGFXaXRoTGF5b3V0KAorICAgICAgIG9wYXF1ZS0+bGF5b3V0LCB2 aXNpYmxlX3JlY3QsIG5hdHVyYWxfc2l6ZSwgb3BhcXVlLT5kYXRhLCBvcGFxdWUtPnNpemUsCisg ICAgICAgcHRzKTsKK0BAIC00OTgsOCArNTA1LDEwIEBAIGJvb2wgRkZtcGVnVmlkZW9EZWNvZGVy OjpDb25maWd1cmVEZWNvZGVyKGNvbnN0IFZpZGVvRGVjb2RlckNvbmZpZyYgY29uZmlnLAorICAg Y29kZWNfY29udGV4dF8tPnRocmVhZF9jb3VudCA9IEdldEZGbXBlZ1ZpZGVvRGVjb2RlclRocmVh ZENvdW50KGNvbmZpZyk7CisgICBjb2RlY19jb250ZXh0Xy0+dGhyZWFkX3R5cGUgPQorICAgICAg IEZGX1RIUkVBRF9TTElDRSB8IChsb3dfZGVsYXkgPyAwIDogRkZfVEhSRUFEX0ZSQU1FKTsKKysK KyAgIGNvZGVjX2NvbnRleHRfLT5vcGFxdWUgPSB0aGlzOworICAgY29kZWNfY29udGV4dF8tPmdl dF9idWZmZXIyID0gR2V0VmlkZW9CdWZmZXJJbXBsOworKyAgY29kZWNfY29udGV4dF8tPmZsYWdz IHw9IEFWX0NPREVDX0ZMQUdfQ09QWV9PUEFRVUU7CisgCisgICBpZiAoYmFzZTo6RmVhdHVyZUxp c3Q6OklzRW5hYmxlZChrRkZtcGVnQWxsb3dMaXN0cykpIHsKKyAgICAgLy8gTm90ZTogRkZtcGVn IHdpbGwgdHJ5IHRvIGZyZWUgdGhpcyBzdHJpbmcsIHNvIHdlIG11c3QgZHVwbGljYXRlIGl0Lgor ZGlmZiAtLWdpdCBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX3ZpZGVvX2RlY29kZXIuaCBiL21lZGlh L2ZpbHRlcnMvZmZtcGVnX3ZpZGVvX2RlY29kZXIuaAoraW5kZXggZDAyY2I4OWMzZGRmNy4uMGEy ZGUxYzYyM2ZmZiAxMDA2NDQKKy0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX3ZpZGVvX2RlY29k ZXIuaAorKysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfdmlkZW9fZGVjb2Rlci5oCitAQCAtNywx MCArNywxMiBAQAorIAorICNpbmNsdWRlIDxtZW1vcnk+CisgCisrI2luY2x1ZGUgImJhc2UvY29u dGFpbmVycy9scnVfY2FjaGUuaCIKKyAjaW5jbHVkZSAiYmFzZS9mdW5jdGlvbmFsL2NhbGxiYWNr LmgiCisgI2luY2x1ZGUgImJhc2UvbWVtb3J5L3Jhd19wdHIuaCIKKyAjaW5jbHVkZSAiYmFzZS9t ZW1vcnkvc2NvcGVkX3JlZnB0ci5oIgorICNpbmNsdWRlICJiYXNlL3NlcXVlbmNlX2NoZWNrZXIu aCIKKysjaW5jbHVkZSAiYmFzZS90eXBlcy9pZF90eXBlLmgiCisgI2luY2x1ZGUgIm1lZGlhL2Jh c2UvZnJhbWVfYnVmZmVyX3Bvb2wuaCIKKyAjaW5jbHVkZSAibWVkaWEvYmFzZS9zdXBwb3J0ZWRf dmlkZW9fZGVjb2Rlcl9jb25maWcuaCIKKyAjaW5jbHVkZSAibWVkaWEvYmFzZS92aWRlb19kZWNv ZGVyLmgiCitAQCAtODcsNiArODksMjAgQEAgY2xhc3MgTUVESUFfRVhQT1JUIEZGbXBlZ1ZpZGVv RGVjb2RlciA6IHB1YmxpYyBWaWRlb0RlY29kZXIgeworICAgLy8gRkZtcGVnIHN0cnVjdHVyZXMg b3duZWQgYnkgdGhpcyBvYmplY3QuCisgICBzdGQ6OnVuaXF1ZV9wdHI8QVZDb2RlY0NvbnRleHQs IFNjb3BlZFB0ckFWRnJlZUNvbnRleHQ+IGNvZGVjX2NvbnRleHRfOworIAorKyAgLy8gVGhlIGdp c3QgaGVyZSBpcyB0aGF0IHRpbWVzdGFtcHMgbmVlZCB0byBiZSA2NCBiaXRzIHRvIHN0b3JlIG1p Y3Jvc2Vjb25kCisrICAvLyBwcmVjaXNpb24uIEEgMzIgYml0IGludGVnZXIgd291bGQgb3ZlcmZs b3cgYXQgfjM1IG1pbnV0ZXMgYXQgdGhpcyBsZXZlbCBvZgorKyAgLy8gcHJlY2lzaW9uLiBXZSBj YW4ndCBjYXN0IHRoZSB0aW1lc3RhbXAgdG8gdGhlIHZvaWQgcHRyIG9iamVjdCB1c2VkIGJ5IHRo ZQorKyAgLy8gb3BhcXVlIGZpZWxkIGluIGZmbXBlZyB0aGVuLCBiZWNhdXNlIGl0IHdvdWxkIGxv c2UgZGF0YSBvbiBhIDMyIGJpdCBidWlsZC4KKysgIC8vIEhvd2V2ZXIsIHdlIGRvbid0IGFjdHVh bGx5IGhhdmUgMl4zMSB0aW1lc3RhbXBlZCBmcmFtZXMgaW4gYSBzaW5nbGUKKysgIC8vIHBsYXli YWNrLCBzbyBpdCdzIGZpbmUgdG8gdXNlIHRoZSAzMiBiaXQgdmFsdWUgYXMgYSBrZXkgaW4gYSBt YXAgd2hpY2gKKysgIC8vIGNvbnRhaW5zIHRoZSBhY3R1YWwgdGltZXN0YW1wcy4gQWRkaXRpb25h bGx5LCB3ZSd2ZSBpbiB0aGUgcGFzdCBzZXQgMTI4CisrICAvLyBvdXRzdGFuZGluZyBmcmFtZXMg Zm9yIHJlLW9yZGVyaW5nIGFzIGEgbGltaXQgZm9yIGNyb3NzLXRocmVhZCBkZWNvZGluZworKyAg Ly8gdGFza3MsIHNvIHdlJ2xsIGRvIHRoYXQgaGVyZSB0b28gd2l0aCB0aGUgTFJVIGNhY2hlLgor KyAgdXNpbmcgVGltZXN0YW1wSWQgPSBiYXNlOjpJZFR5cGU8aW50NjRfdCwgc2l6ZV90LCAwPjsK KysKKysgIFRpbWVzdGFtcElkOjpHZW5lcmF0b3IgdGltZXN0YW1wX2lkX2dlbmVyYXRvcl87Cisr ICBiYXNlOjpMUlVDYWNoZTxUaW1lc3RhbXBJZCwgaW50NjRfdD4gdGltZXN0YW1wX21hcF87Cisr CisgICBWaWRlb0RlY29kZXJDb25maWcgY29uZmlnXzsKKyAKKyAgIHNjb3BlZF9yZWZwdHI8RnJh bWVCdWZmZXJQb29sPiBmcmFtZV9wb29sXzsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS5zcGVjIGIv Y2hyb21pdW0uc3BlYwppbmRleCBlNmM4YTViLi5mZTYxZWQ3IDEwMDY0NAotLS0gYS9jaHJvbWl1 bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTQyOCw2ICs0MjgsNyBAQCBQYXRjaDEyMjog Y2hyb21pdW0tMTI0LWVsNy1jb25zdGV4cHIucGF0Y2gKIAogIyBzeXN0ZW0gZmZtcGVnCiAjIG5l ZWQgZm9yIG9sZCBmZm1wZWcgNS54IG9uIGVwZWw5CitQYXRjaDEyOTogY2hyb21pdW0tMTI1LWZm bXBlZy01LngtcmVvcmRlcmVkX29wYXF1ZS5wYXRjaAogUGF0Y2gxMzA6IGNocm9taXVtLTEwNy1m Zm1wZWctNS54LWR1cmF0aW9uLnBhdGNoCiAjIGRpc2FibGUgdGhlIGNoZWNrCiBQYXRjaDEzMTog Y2hyb21pdW0tMTA3LXByb3ByaWV0YXJ5LWNvZGVjcy5wYXRjaApAQCAtNDQ5LDEwICs0NTAsOSBA QCBQYXRjaDE1MDogY2hyb21pdW0tMTI0LXF0Ni5wYXRjaAogIyBub3Qgc3VwcG9ydGVkIGluIG9s ZCBnbGliYyA8IDIuMzAsIGVycm9yOiBmYXRhbCBlcnJvcjogJ3N5cy9pZnVuYy5oJyBmaWxlIG5v dCBmb3VuZAogUGF0Y2gzMDU6IGNocm9taXVtLTEyNC1hcm02NC1tZW1vcnlfdGFnZ2luZy5wYXRj aAogCi0jIGNvbXBpbGVyIGVycm9ycyBvbiBlcGVsCi0jIHJldmVydCBpdCBmb3Igb2xkIGNsYW5n IG9uIHJoZWwgYW5kIGYzOAotUGF0Y2gzMDc6IGNocm9taXVtLTEyMS12OC1jKysyMC1wMS5wYXRj aAotUGF0Y2gzMDg6IGNocm9taXVtLTEyMy12OC1jKysyMC5wYXRjaAorIyBjb21waWxlciBlcnJv cnMgb24gZWw3L2VsOCBhbmQgZjM4IChjbGFuZyA8MTcpCitQYXRjaDMwNzogY2hyb21pdW0tMTI1 LWVsLU5hdGl2ZVZhbHVlVHJhaXRzLXAxLnBhdGNoCitQYXRjaDMwODogY2hyb21pdW0tMTI1LWVs LU5hdGl2ZVZhbHVlVHJhaXRzLXAyLnBhdGNoCiAKICMgZW5hYmxlIGZzdGFjay1wcm90ZWN0b3It c3Ryb25nCiBQYXRjaDMxMjogY2hyb21pdW0tMTIzLWZzdGFjay1wcm90ZWN0b3Itc3Ryb25nLnBh dGNoCkBAIC00NjIsNiArNDYyLDkgQEAgUGF0Y2gzMTM6IGNocm9taXVtLTEyMy1ydXN0LWNsYXBf bGV4LnBhdGNoCiAKIFBhdGNoMzE0OiBjaHJvbWl1bS0xMjQtY2xhbmcxNi1idWlsZGZsYWdzLnBh dGNoCiAKKyMgcmVtb3ZlIGxkZmxhZ3MgLVdsLC1tbGx2bSwtZGlzYWJsZS1hdXRvLXVwZ3JhZGUt ZGVidWctaW5mbyB3aGljaCBpcyBub3Qgc3VwcG9ydGVkCitQYXRjaDMxNTogY2hyb21pdW0tMTIy LWNsYW5nMTYtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaAorCiAjIGFkZCAt ZnRyaXZpYWwtYXV0by12YXItaW5pdD16ZXJvIGFuZCAtZndyYXB2CiBQYXRjaDMxNjogY2hyb21p dW0tMTIyLWNsYW5nLWJ1aWxkLWZsYWdzLnBhdGNoCiAKQEAgLTQ3OSw5ICs0ODIsNiBAQCBQYXRj aDM1NDogY2hyb21pdW0tMTIwLXNwbGl0LXRocmVzaG9sZC1mb3ItcmVnLXdpdGgtaGludC5wYXRj aAogIyBkaXNhYmxlIEZGbXBlZ0FsbG93TGlzdHMgYnkgZGVmYXVsdCB0byBhbGxvdyBleHRlcm5h bCBmZm1wZWcKIHBhdGNoMzU2OiBjaHJvbWl1bS0xMjUtZGlzYWJsZS1GRm1wZWdBbGxvd0xpc3Rz LnBhdGNoCiAKLSMgcmVtb3ZlIGxkZmxhZ3MgLVdsLC1tbGx2bSwtZGlzYWJsZS1hdXRvLXVwZ3Jh ZGUtZGVidWctaW5mbyB3aGljaCBpcyBub3Qgc3VwcG9ydGVkCi1QYXRjaDM1NzogY2hyb21pdW0t MTIyLWNsYW5nMTYtZGlzYWJsZS1hdXRvLXVwZ3JhZGUtZGVidWctaW5mby5wYXRjaAotCiAjIHNl dCBjbGFuZ19saWIgcGF0aAogUGF0Y2gzNTg6IGNocm9taXVtLTEyNC1ydXN0LWNsYW5nX2xpYi5w YXRjaAogCkBAIC01MjEsNyArNTIxLDYgQEAgUGF0Y2gzODM6IDAwMDItSW5jbHVkZS1jc3RkZGVm LXRvLWZpeC1idWlsZC5wYXRjaAogUGF0Y2gzODQ6IDAwMDQtdGhpcmRfcGFydHktY3Jhc2hwYWQt cG9ydC1jdXJsLXRyYW5zcG9ydC1wcGM2NC5wYXRjaAogCiBQYXRjaDM4NTogSEFDSy10aGlyZF9w YXJ0eS1saWJ2cHgtdXNlLWdlbmVyaWMtZ251LnBhdGNoCi1QYXRjaDM4NjogSEFDSy1kZWJpYW4t Y2xhbmctZGlzYWJsZS1za2lhLW11c3R0YWlsLnBhdGNoCiAKIFBhdGNoMzg3OiAwMDAxLUFkZC1w cGM2NC10YXJnZXQtdG8tbGliYW9tLnBhdGNoCiBQYXRjaDM4ODogMDAwMS1BZGQtcHJlZ2VuZXJh dGVkLWNvbmZpZy1mb3ItbGliYW9tLW9uLXBwYzY0LnBhdGNoCkBAIC0xMTc0LDYgKzExNzMsNyBA QCB1ZGV2LgogCiAlaWYgISAle2J1bmRsZWZmbXBlZ2ZyZWV9CiAlaWYgMCV7P3JoZWx9ID09IDkK KyVwYXRjaCAtUDEyOSAtcDEgLVIgLWIgLmZmbXBlZy01LngtcmVvcmRlcmVkX29wYXF1ZQogJXBh dGNoIC1QMTMwIC1wMSAtYiAuZmZtcGVnLTUueC1kdXJhdGlvbgogJWVuZGlmCiAlcGF0Y2ggLVAx MzEgLXAxIC1iIC5wcm9wLWNvZGVjcwpAQCAtMTIyNiwxMCArMTIyNiwxMSBAQCB1ZGV2LgogJWVu ZGlmCiAlZW5kaWYKIAotJWlmIDAlez9yaGVsfSB8fCAwJXs/ZmVkb3JhfSAmJiAwJXs/ZmVkb3Jh fSA8IDM5Ci0jcGF0Y2ggLVAzMDcgLXAxIC1SIC1iIC52OC1jKysyMAotI3BhdGNoIC1QMzA4IC1w MSAtUiAtYiAudjgtYysrMjAKKyVpZiAwJXs/cmhlbH0gJiYgMCV7P3JoZWx9IDwgOSB8fCAwJXs/ ZmVkb3JhfSAmJiAwJXs/ZmVkb3JhfSA8IDM5CislcGF0Y2ggLVAzMDcgLXAxIC1iIC5lbC1OYXRp dmVWYWx1ZVRyYWl0cy1wMQorJXBhdGNoIC1QMzA4IC1wMSAtYiAuZWwtTmF0aXZlVmFsdWVUcmFp dHMKICVwYXRjaCAtUDMxNCAtcDEgLWIgLmNsYW5nMTYtYnVpbGRmbGFnCislcGF0Y2ggLVAzMTUg LXAxIC1iIC5jbGFuZzE2LWRpc2FibGUtYXV0by11cGdyYWRlLWRlYnVnLWluZm8KICVlbmRpZgog CiAlcGF0Y2ggLVAzMTIgLXAxIC1iIC5mc3RhY2stcHJvdGVjdG9yLXN0cm9uZwpAQCAtMTI0OCw3 ICsxMjQ5LDYgQEAgdWRldi4KIAogJXBhdGNoIC1QMzU0IC1wMSAtYiAucmV2ZXJ0LXNwbGl0LXRo cmVzaG9sZC1mb3ItcmVnLXdpdGgtaGludAogJXBhdGNoIC1QMzU2IC1wMSAtYiAuZGlzYWJsZS1G Rm1wZWdBbGxvd0xpc3RzCi0lcGF0Y2ggLVAzNTcgLXAxIC1iIC5jbGFuZzE2LWRpc2FibGUtYXV0 by11cGdyYWRlLWRlYnVnLWluZm8KICVwYXRjaCAtUDM1OCAtcDEgLWIgLnJ1c3QtY2xhbmdfbGli CiAlcGF0Y2ggLVAzNTkgLXAxIC1iIC5saWJhdmlmLWRlcHMKIApAQCAtMTI4Myw3ICsxMjgzLDYg QEAgdWRldi4KICVwYXRjaCAtUDM4NCAtcDEgLWIgLjAwMDQtdGhpcmRfcGFydHktY3Jhc2hwYWQt cG9ydC1jdXJsLXRyYW5zcG9ydC1wcGM2NAogCiAlcGF0Y2ggLVAzODUgLXAxIC1iIC5IQUNLLXRo aXJkX3BhcnR5LWxpYnZweC11c2UtZ2VuZXJpYy1nbnUKLSVwYXRjaCAtUDM4NiAtcDEgLWIgLkhB Q0stZGViaWFuLWNsYW5nLWRpc2FibGUtc2tpYS1tdXN0dGFpbAogCiAlcGF0Y2ggLVAzODcgLXAx IC1iIC4wMDAxLUFkZC1wcGM2NC10YXJnZXQtdG8tbGliYW9tCiAlcGF0Y2ggLVAzODggLXAxIC1i IC4wMDAxLUFkZC1wcmVnZW5lcmF0ZWQtY29uZmlnLWZvci1saWJhb20tb24tcHBjNjQKQEAgLTIx MjAsNyArMjExOSw3IEBAIGdldGVudCBncm91cCBjaHJvbWUtcmVtb3RlLWRlc2t0b3AgPi9kZXYv bnVsbCB8fCBncm91cGFkZCAtciBjaHJvbWUtcmVtb3RlLWRlc2t0CiAtIHVwZGF0ZSB0byAxMjUu MC42NDIyLjQxCiAKICogU2F0IE1heSAxMSAyMDI0IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+ IC0gMTI0LjAuNjM2Ny4yMDEtMgotLSBpbmNsdWRlIGhlYWRsZXNzX2NvbW1hbmRfcmVzb3VyY2Vz LnBhayBmb3IgaGVhZF9zaGVsbAorLSBpbmNsdWRlIGhlYWRsZXNzX2NvbW1hbmRfcmVzb3VyY2Vz LnBhayBmb3IgaGVhZGxlc3Nfc2hlbGwKIAogKiBGcmkgTWF5IDEwIDIwMjQgVGhhbiBOZ28gPHRo YW5AcmVkaGF0LmNvbT4gLSAxMjQuMC42MzY3LjIwMS0xCiAtIHVwZGF0ZSB0byAxMjQuMC42MzY3 LjIwMQoKZGlmZiAtLWdpdCBhL3NraWEtdnN4LWluc3RydWN0aW9ucy5wYXRjaCBiL3NraWEtdnN4 LWluc3RydWN0aW9ucy5wYXRjaAppbmRleCBmYTlkNWM3Li41NWU3ODJhIDEwMDY0NAotLS0gYS9z a2lhLXZzeC1pbnN0cnVjdGlvbnMucGF0Y2gKKysrIGIvc2tpYS12c3gtaW5zdHJ1Y3Rpb25zLnBh dGNoCkBAIC0xLDggKzEsNyBAQAotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJk X3BhcnR5L3NraWEvQlVJTEQuZ24KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3 LjExOC5vcmlnL3RoaXJkX3BhcnR5L3NraWEvQlVJTEQuZ24KLSsrKyBjaHJvbWl1bS0xMjQuMC42 MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL0JVSUxELmduCi1AQCAtMTkxLDYgKzE5MSwxMiBAQCBv cHRzKCJza3giKSB7CitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5 L3NraWEvQlVJTEQuZ24ubWUgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lh L0JVSUxELmduCistLS0gY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL0JV SUxELmduLm1lCTIwMjQtMDUtMDggMjI6MzA6NTMuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21p dW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL0JVSUxELmduCTIwMjQtMDUtMTQgMDA6 MDI6NTEuNjg2MzE1NDczICswMjAwCitAQCAtMTg4LDYgKzE4OCwxMiBAQCBvcHRzKCJza3giKSB7 CiAgICB9CiAgfQogIApAQCAtMTUsNyArMTQsNyBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2 Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9CVUlMRC5nbgogICMgQW55IGZlYXR1cmUgb2YgU2tpYSB0 aGF0IHJlcXVpcmVzIHRoaXJkLXBhcnR5IGNvZGUgc2hvdWxkIGJlIG9wdGlvbmFsIGFuZCB1c2Ug dGhpcyB0ZW1wbGF0ZS4KICB0ZW1wbGF0ZSgib3B0aW9uYWwiKSB7CiAgICBpZiAoaW52b2tlci5l bmFibGVkKSB7Ci1AQCAtMTQ4Miw2ICsxNDg4LDcgQEAgc2tpYV9jb21wb25lbnQoInNraWEiKSB7 CitAQCAtMTQ3OCw2ICsxNDg0LDcgQEAgc2tpYV9jb21wb25lbnQoInNraWEiKSB7CiAgICAgICI6 c2t4IiwKICAgICAgIjp0eXBlZmFjZV9mb250YXRpb25zIiwKICAgICAgIjp2ZWxsbyIsCkBAIC0y Myw3ICsyMiw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9z a2lhL0JVSUxELmduCiAgICAgICI6d2VicF9kZWNvZGUiLAogICAgICAiOnd1ZmZzIiwKICAgICAg Ijp4bWwiLAotQEAgLTE2NTksNyArMTY2NiwxMCBAQCBza2lhX3N0YXRpY19saWJyYXJ5KCJwYXRo a2l0IikgeworQEAgLTE2NTMsNyArMTY2MCwxMCBAQCBza2lhX3N0YXRpY19saWJyYXJ5KCJwYXRo a2l0IikgewogICAgcHVibGljX2NvbmZpZ3MgPSBbICI6c2tpYV9wdWJsaWMiIF0KICAgIGNvbmZp Z3MgPSBza2lhX2xpYnJhcnlfY29uZmlncwogIApAQCAtMzUsMjMgKzM0LDIxIEBAIEluZGV4OiBj aHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL0JVSUxELmduCiAgCiAgICBz b3VyY2VzID0gW10KICAgIHNvdXJjZXMgKz0gc2tpYV9wYXRob3BzX3NvdXJjZXMKLUluZGV4OiBj aHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24K LT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC5vcmlnL3RoaXJkX3BhcnR5 L3NraWEvZ24vc2tpYS9CVUlMRC5nbgotKysrIGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJk X3BhcnR5L3NraWEvZ24vc2tpYS9CVUlMRC5nbgorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQy Mi40MS90aGlyZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24ubWUgY2hyb21pdW0tMTI1LjAu NjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL2duL3NraWEvQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0x MjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvZ24vc2tpYS9CVUlMRC5nbi5tZQkyMDI0LTA1 LTE0IDAwOjAyOjUxLjY4NjMxNTQ3MyArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNDEv dGhpcmRfcGFydHkvc2tpYS9nbi9za2lhL0JVSUxELmduCTIwMjQtMDUtMTQgMDA6MDU6MTcuNjgz MTM3MzYyICswMjAwCiBAQCAtMTYzLDYgKzE2Myw4IEBAIGNvbmZpZygiZGVmYXVsdCIpIHsKICAg ICAgICAiLW1mcG1hdGg9c3NlIiwKICAgICAgXQogICAgICBsZGZsYWdzICs9IFsgIi1tMzIiIF0K ICsgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgewogKyAgICBjZmxhZ3MgKz0g WyAiLW1jcHU9cG93ZXI5IiwgIi1tdHVuZT1wb3dlcjkiIF0KLSAgIH0KLSAKLSAgIGlmIChtYWxs b2MgIT0gIiIgJiYgIWlzX3dpbikgewotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3Ro aXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrVHlwZXMuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNo cm9taXVtLTEyNC4wLjYzNjcuMTE4Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUv U2tUeXBlcy5oCi0rKysgY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9p bmNsdWRlL2NvcmUvU2tUeXBlcy5oCisgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJsb29u ZzY0IikgeworICAgICBjZmxhZ3MgKz0gWworICAgICAgICItbWxzeCIsCitkaWZmIC11cCBjaHJv bWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrVHlwZXMu aC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3Jl L1NrVHlwZXMuaAorLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9p bmNsdWRlL2NvcmUvU2tUeXBlcy5oLm1lCTIwMjQtMDUtMDggMjI6MzA6NTMuMDAwMDAwMDAwICsw MjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUv Y29yZS9Ta1R5cGVzLmgJMjAyNC0wNS0xNCAwMDowMjo1MS42ODYzMTU0NzMgKzAyMDAKIEBAIC0x OTUsNSArMTk1LDQ0IEBAIHN0YXRpYyBjb25zdGV4cHIgdWludDMyX3QgU0tfSW52YWxpZEdlbkkK ICAqLwogIHN0YXRpYyBjb25zdGV4cHIgdWludDMyX3QgU0tfSW52YWxpZFVuaXF1ZUlEID0gMDsK QEAgLTk3LDEwICs5NCwzMiBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRf cGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBlcy5oCiArCiAgCiAgI2VuZGlmCi1JbmRleDog Y2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvYmFzZS9Ta1NwaW5s b2NrLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEyNC4wLjYzNjcuMTE4Lm9yaWcvdGhp cmRfcGFydHkvc2tpYS9zcmMvYmFzZS9Ta1NwaW5sb2NrLmNwcAotKysrIGNocm9taXVtLTEyNC4w LjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlubG9jay5jcHAKK2RpZmYg LXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL3ByaXZh dGUvYmFzZS9Ta0ZlYXR1cmVzLmgubWUgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0 eS9za2lhL2luY2x1ZGUvcHJpdmF0ZS9iYXNlL1NrRmVhdHVyZXMuaAorLS0tIGNocm9taXVtLTEy NS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1 cmVzLmgubWUJMjAyNC0wNS0wOCAyMjozMDo1My4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1 bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9wcml2YXRlL2Jhc2UvU2tG ZWF0dXJlcy5oCTIwMjQtMDUtMTQgMDA6MDI6NTEuNjg5MzE1NTMxICswMjAwCitAQCAtNjMsNiAr NjMsOCBAQAorIAorICNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX1g2NCkKKyAgICNkZWZpbmUgU0tfQ1BV X1g4NiAxCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBkZWZpbmVkKF9fUFBDNjRf XykKKysgICNkZWZpbmUgU0tfQ1BVX1BQQzY0IDEKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChf X2xvb25nYXJjaF9fKSB8fCBkZWZpbmVkIChfX2xvb25nYXJjaDY0KQorZGlmZiAtdXAgY2hyb21p dW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL21vZHVsZXMvc2tjbXMvc3JjL3NrY21z X2ludGVybmFscy5oLm1lIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9t b2R1bGVzL3NrY21zL3NyYy9za2Ntc19pbnRlcm5hbHMuaAorLS0tIGNocm9taXVtLTEyNS4wLjY0 MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9tb2R1bGVzL3NrY21zL3NyYy9za2Ntc19pbnRlcm5hbHMu aC5tZQkyMDI0LTA1LTA4IDIyOjMwOjU0LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEy NS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9tb2R1bGVzL3NrY21zL3NyYy9za2Ntc19pbnRl cm5hbHMuaAkyMDI0LTA1LTE0IDAwOjAyOjUxLjY4OTMxNTUzMSArMDIwMAorQEAgLTQ3LDYgKzQ3 LDcgQEAgZXh0ZXJuICJDIiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICYmICFkZWZpbmVkKF9fRU1TQ1JJUFRFTl9fKSBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFkZWZpbmVkKF9fYXJtX18p IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg IWRlZmluZWQoX19yaXNjdikgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFkZWZpbmVkKF9fbG9vbmdh cmNoX18pIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJiYgIWRlZmluZWQoX1dJTjMyKSAmJiAhZGVmaW5lZChfX1NZTUJJQU4zMl9fKQorICAgICAg ICAgICAgICNkZWZpbmUgU0tDTVNfSEFTX01VU1RUQUlMIDEKK2RpZmYgLXVwIGNocm9taXVtLTEy NS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMvYmFzZS9Ta1NwaW5sb2NrLmNwcC5tZSBj aHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlubG9j ay5jcHAKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jh c2UvU2tTcGlubG9jay5jcHAubWUJMjAyNC0wNS0wOCAyMjozMDo1NS4wMDAwMDAwMDAgKzAyMDAK KysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tT cGlubG9jay5jcHAJMjAyNC0wNS0xNCAwMDowMjo1MS42ODYzMTU0NzMgKzAyMDAKIEBAIC0zMyw3 ICszMyw4IEBACiAgI2VuZGlmCiAgCkBAIC0xMTEsMTAgKzEzMCwxMTkgQEAgSW5kZXg6IGNocm9t aXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tTcGlubG9jay5j cHAKICAgICAgI2luY2x1ZGUgPGVtbWludHJpbi5oPgogICAgICBzdGF0aWMgdm9pZCBkb19wYXVz ZSgpIHsgX21tX3BhdXNlKCk7IH0KICAjZWxzZQotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcu MTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5oCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9z a2lhL3NyYy9vcHRzL1NrQml0bWFwUHJvY1N0YXRlX29wdHMuaAotKysrIGNocm9taXVtLTEyNC4w LjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9jU3RhdGVfb3B0 cy5oCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3Jj L2Jhc2UvU2tWeC5oLm1lIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9z cmMvYmFzZS9Ta1Z4LmgKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3Nr aWEvc3JjL2Jhc2UvU2tWeC5oLm1lCTIwMjQtMDUtMDggMjI6MzA6NTUuMDAwMDAwMDAwICswMjAw CisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9iYXNlL1Nr VnguaAkyMDI0LTA1LTE0IDAwOjAyOjUxLjY4ODMxNTUxMSArMDIwMAorQEAgLTQyLDcgKzQyLDEz IEBACisgCisgI2lmIFNLVlhfVVNFX1NJTUQKKyAgICAgI2lmIFNLX0NQVV9TU0VfTEVWRUwgPj0g U0tfQ1BVX1NTRV9MRVZFTF9TU0UxCistICAgICAgICAjaW5jbHVkZSA8aW1taW50cmluLmg+Cisr ICAgICAgICAjaWYgX19QUEM2NF9fCisrICAgICAgICAgICAgI2luY2x1ZGUgPG1taW50cmluLmg+ CisrICAgICAgICAgICAgI2luY2x1ZGUgPGVtbWludHJpbi5oPgorKyAgICAgICAgICAgICNpbmNs dWRlIDx0bW1pbnRyaW4uaD4KKysgICAgICAgICNlbHNlCisrICAgICAgICAgICAgI2luY2x1ZGUg PGltbWludHJpbi5oPgorKyAgICAgICAgI2VuZGlmCisgICAgICNlbGlmIGRlZmluZWQoU0tfQVJN X0hBU19ORU9OKQorICAgICAgICAgI2luY2x1ZGUgPGFybV9uZW9uLmg+CisgICAgICNlbGlmIGRl ZmluZWQoX193YXNtX3NpbWQxMjhfXykKK2RpZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNDEv dGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzLmNwcC5tZSBj aHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQ cm9jU3RhdGVfb3B0cy5jcHAKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5 L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jcHAubWUJMjAyNC0wNS0wOCAy MjozMDo1NS4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJk X3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jcHAJMjAyNC0wNS0x NCAwMDowMjo1MS42ODkzMTU1MzEgKzAyMDAKK0BAIC0yNSw3ICsyNSw3IEBAIG5hbWVzcGFjZSBT a09wdHMgeworICAgICBzdGF0aWMgYm9vbCBpbml0KCkgeworICAgICAjaWYgZGVmaW5lZChTS19F TkFCTEVfT1BUSU1JWkVfU0laRSkKKyAgICAgICAgIC8vIEFsbCBJbml0X2ZvbyBmdW5jdGlvbnMg YXJlIG9taXR0ZWQgd2hlbiBvcHRpbWl6aW5nIGZvciBzaXplCistICAgICNlbGlmIGRlZmluZWQo U0tfQ1BVX1g4NikKKysgICAgI2VsaWYgZGVmaW5lZChTS19DUFVfWDg2KSB8fCBkZWZpbmVkKFNL X0NQVV9QUEM2NCkKKyAgICAgICAgICNpZiBTS19DUFVfU1NFX0xFVkVMIDwgU0tfQ1BVX1NTRV9M RVZFTF9TU1NFMworICAgICAgICAgICAgIGlmIChTa0NwdTo6U3VwcG9ydHMoU2tDcHU6OlNTU0Uz KSkgeyBJbml0X0JpdG1hcFByb2NTdGF0ZV9zc3NlMygpOyB9CisgICAgICAgICAjZW5kaWYKK2Rp ZmYgLXVwIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9T a0JpdG1hcFByb2NTdGF0ZV9vcHRzX3Nzc2UzLmNwcC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQx L3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0c19zc3NlMy5j cHAKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUv U2tCaXRtYXBQcm9jU3RhdGVfb3B0c19zc3NlMy5jcHAubWUJMjAyNC0wNS0wOCAyMjozMDo1NS4w MDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3Nr aWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0c19zc3NlMy5jcHAJMjAyNC0wNS0xNCAw MDowMjo1MS42ODkzMTU1MzEgKzAyMDAKK0BAIC04LDcgKzgsNyBAQAorICNpbmNsdWRlICJpbmNs dWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgiCisgI2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0 c1RhcmdldHMuaCIKKyAKKy0jaWYgZGVmaW5lZChTS19DUFVfWDg2KSAmJiAhZGVmaW5lZChTS19F TkFCTEVfT1BUSU1JWkVfU0laRSkKKysjaWYgKGRlZmluZWQoU0tfQ1BVX1g4NikgfHwgZGVmaW5l ZChTS19DUFVfUFBDNjQpKSAmJiAhZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0laRSkKKyAK KyAvLyBUaGUgb3JkZXIgb2YgdGhlc2UgaW5jbHVkZXMgaXMgaW1wb3J0YW50OgorIC8vIDEpIFNl bGVjdCB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUgYnkgZGVmaW5pbmcgU0tfT1BUU19UQVJH RVQgYW5kIGluY2x1ZGluZyBTa09wdHNfU2V0VGFyZ2V0CitkaWZmIC11cCBjaHJvbWl1bS0xMjUu MC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0TWFza19vcHRzLmNwcC5t ZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0 TWFza19vcHRzLmNwcAorLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tp YS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHMuY3BwLm1lCTIwMjQtMDUtMDggMjI6MzA6NTUuMDAw MDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lh L3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0cy5jcHAJMjAyNC0wNS0xNCAwMDowMjo1MS42ODkzMTU1 MzEgKzAyMDAKK0BAIC0yNSw3ICsyNSw3IEBAIG5hbWVzcGFjZSBTa09wdHMgeworICAgICBzdGF0 aWMgYm9vbCBpbml0KCkgeworICAgICAjaWYgZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0la RSkKKyAgICAgICAgIC8vIEFsbCBJbml0X2ZvbyBmdW5jdGlvbnMgYXJlIG9taXR0ZWQgd2hlbiBv cHRpbWl6aW5nIGZvciBzaXplCistICAgICNlbGlmIGRlZmluZWQoU0tfQ1BVX1g4NikKKysgICAg I2VsaWYgZGVmaW5lZChTS19DUFVfWDg2KSB8fCBkZWZpbmVkKFNLX0NQVV9QUEM2NCkKKyAgICAg ICAgICNpZiBTS19DUFVfU1NFX0xFVkVMIDwgU0tfQ1BVX1NTRV9MRVZFTF9TU1NFMworICAgICAg ICAgICAgIGlmIChTa0NwdTo6U3VwcG9ydHMoU2tDcHU6OlNTU0UzKSkgeyBJbml0X0JsaXRNYXNr X3Nzc2UzKCk7IH0KKyAgICAgICAgICNlbmRpZgorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQy Mi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0c19zc3NlMy5jcHAu bWUgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxp dE1hc2tfb3B0c19zc3NlMy5jcHAKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3Bh cnR5L3NraWEvc3JjL2NvcmUvU2tCbGl0TWFza19vcHRzX3Nzc2UzLmNwcC5tZQkyMDI0LTA1LTA4 IDIyOjMwOjU1LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhp cmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHNfc3NzZTMuY3BwCTIwMjQtMDUt MTQgMDA6MDI6NTEuNjg4MzE1NTExICswMjAwCitAQCAtOSw3ICs5LDcgQEAKKyAjaW5jbHVkZSAi c3JjL2NvcmUvU2tCbGl0TWFzay5oIgorICNpbmNsdWRlICJzcmMvY29yZS9Ta09wdHNUYXJnZXRz LmgiCisgCistI2lmIGRlZmluZWQoU0tfQ1BVX1g4NikgJiYgIWRlZmluZWQoU0tfRU5BQkxFX09Q VElNSVpFX1NJWkUpCisrI2lmIChkZWZpbmVkKFNLX0NQVV9YODYpIHx8IGRlZmluZWQoU0tfQ1BV X1BQQzY0KSkgJiYgIWRlZmluZWQoU0tfRU5BQkxFX09QVElNSVpFX1NJWkUpCisgCisgLy8gVGhl IG9yZGVyIG9mIHRoZXNlIGluY2x1ZGVzIGlzIGltcG9ydGFudDoKKyAvLyAxKSBTZWxlY3QgdGhl IHRhcmdldCBDUFUgYXJjaGl0ZWN0dXJlIGJ5IGRlZmluaW5nIFNLX09QVFNfVEFSR0VUIGFuZCBp bmNsdWRpbmcgU2tPcHRzX1NldFRhcmdldAorZGlmZiAtdXAgY2hyb21pdW0tMTI1LjAuNjQyMi40 MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdHRlcl9BUkdCMzIuY3BwLm1lIGNocm9t aXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXR0ZXJfQVJH QjMyLmNwcAorLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMv Y29yZS9Ta0JsaXR0ZXJfQVJHQjMyLmNwcC5tZQkyMDI0LTA1LTA4IDIyOjMwOjU1LjAwMDAwMDAw MCArMDIwMAorKysrIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMv Y29yZS9Ta0JsaXR0ZXJfQVJHQjMyLmNwcAkyMDI0LTA1LTE0IDAwOjAyOjUxLjY5MDMxNTU1MCAr MDIwMAorQEAgLTEyNiw2ICsxMjYsMTYgQEAgc3RhdGljIGlubGluZSBTa1BNQ29sb3IgYmxlbmRf bGNkMTZfb3BhcQorICNpZiBTS19DUFVfU1NFX0xFVkVMID49IFNLX0NQVV9TU0VfTEVWRUxfU1NF MgorICAgICAjaW5jbHVkZSA8ZW1taW50cmluLmg+CisgCisrI2lmIGRlZmluZWQoU0tfQ1BVX1BQ QzY0KQorKyAgICAvKiBMb2FkIHNpZ25lZCA2NC1iaXQgaW50ZWdlciBmcm9tIFAgaW50byB2ZWN0 b3IgZWxlbWVudCAwLiAgVGhlIGFkZHJlc3MgbmVlZCBub3QgYmUgMTYtYnl0ZSBhbGlnbmVkLiAg Ki8KKysgICAgZXh0ZXJuIF9faW5saW5lIF9fbTEyOGkKKysgICAgICAgIF9fYXR0cmlidXRlX18o KF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19hcnRpZmljaWFsX18pKQorKyAg ICAgICAgX21tX2xvYWR1X3NpNjQgKHZvaWQgY29uc3QgKl9fUCkKKysgICAgeworKyAgICAgIHJl dHVybiBfbW1fc2V0X2VwaTY0KChfX202NCkwTEwsICooX19tNjQgKilfX1ApOworKyAgICB9Cisr I2VuZGlmCisrCisgICAgIC8vIFRoZSBmb2xsb3dpbmcgKGxlZnQpIHNoaWZ0cyBjYXVzZSB0aGUg dG9wIDUgYml0cyBvZiB0aGUgbWFzayBjb21wb25lbnRzIHRvCisgICAgIC8vIGxpbmUgdXAgd2l0 aCB0aGUgY29ycmVzcG9uZGluZyBjb21wb25lbnRzIGluIGFuIFNrUE1Db2xvci4KKyAgICAgLy8g Tm90ZSB0aGF0IHRoZSBtYXNrJ3MgUkdCMTYgb3JkZXIgbWF5IGRpZmZlciBmcm9tIHRoZSBTa1BN Q29sb3Igb3JkZXIuCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5 L3NraWEvc3JjL2NvcmUvU2tDcHUuaC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3Bh cnR5L3NraWEvc3JjL2NvcmUvU2tDcHUuaAorLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhp cmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0NwdS5oLm1lCTIwMjQtMDUtMDggMjI6MzA6NTUuMDAw MDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lh L3NyYy9jb3JlL1NrQ3B1LmgJMjAyNC0wNS0xNCAwMDowMjo1MS42ODkzMTU1MzEgKzAyMDAKK0BA IC02MCw3ICs2MCw3IEBAIGlubGluZSBib29sIFNrQ3B1OjpTdXBwb3J0cyh1aW50MzJfdCBtYXMK KyAKKyAgICAgLy8gSWYgd2UgbWFzayBpbiBjb21waWxlLXRpbWUga25vd24gbG93ZXIgbGltaXRz LCB0aGUgY29tcGlsZXIgY2FuCisgICAgIC8vIG9mdGVuIGNvbXBpbGUgYXdheSB0aGlzIGVudGly ZSBmdW5jdGlvbi4KKy0jaWYgU0tfQ1BVX1g4NgorKyNpZiBTS19DUFVfWDg2IHx8IGRlZmluZWQo U0tfQ1BVX1BQQzY0KQorICAgICAjaWYgU0tfQ1BVX1NTRV9MRVZFTCA+PSBTS19DUFVfU1NFX0xF VkVMX1NTRTEKKyAgICAgZmVhdHVyZXMgfD0gU1NFMTsKKyAgICAgI2VuZGlmCitkaWZmIC11cCBj aHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUvU2tTd2l6emxl cl9vcHRzX3Nzc2UzLmNwcC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3Nr aWEvc3JjL2NvcmUvU2tTd2l6emxlcl9vcHRzX3Nzc2UzLmNwcAorLS0tIGNocm9taXVtLTEyNS4w LjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMu Y3BwLm1lCTIwMjQtMDUtMDggMjI6MzA6NTUuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0t MTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrU3dpenpsZXJfb3B0c19z c3NlMy5jcHAJMjAyNC0wNS0xNCAwMDowMjo1MS42ODgzMTU1MTEgKzAyMDAKK0BAIC0xMCw3ICsx MCw3IEBACisgI2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0c1RhcmdldHMuaCIKKyAjaW5jbHVkZSAi c3JjL2NvcmUvU2tTd2l6emxlUHJpdi5oIgorIAorLSNpZiBkZWZpbmVkKFNLX0NQVV9YODYpICYm IFwKKysjaWYgKGRlZmluZWQoU0tfQ1BVX1g4NikgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpKSAm JiBcCisgICAgICFkZWZpbmVkKFNLX0VOQUJMRV9PUFRJTUlaRV9TSVpFKSAmJiBcCisgICAgIFNL X0NQVV9TU0VfTEVWRUwgPCBTS19DUFVfU1NFX0xFVkVMX1NTU0UzCisgCitkaWZmIC11cCBjaHJv bWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9j U3RhdGVfb3B0cy5oLm1lIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9z cmMvb3B0cy9Ta0JpdG1hcFByb2NTdGF0ZV9vcHRzLmgKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIy LjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5oLm1l CTIwMjQtMDUtMDggMjI6MzA6NTUuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAu NjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrQml0bWFwUHJvY1N0YXRlX29wdHMu aAkyMDI0LTA1LTE0IDAwOjAyOjUxLjY4NjMxNTQ3MyArMDIwMAogQEAgLTIxLDcgKzIxLDEzIEBA CiAgLy8gVGhlIHJlc3QgYXJlIHNjYXR0ZXJzaG90IGF0IHRoZSBtb21lbnQgYnV0IEkgd2FudCB0 byBnZXQgdGhlbQogIC8vIGFsbCBtaWdyYXRlZCB0byBiZSBub3JtYWwgY29kZSBpbnNpZGUgU2tC aXRtYXBQcm9jU3RhdGUuY3BwLgpAQCAtMTMwLDEwICsyNTgsOSBAQCBJbmRleDogY2hyb21pdW0t MTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta0JpdG1hcFByb2NTdGF0 ZV9vcHRzLgogICAgICAjaW5jbHVkZSA8aW1taW50cmluLmg+CiAgI2VsaWYgZGVmaW5lZChTS19B Uk1fSEFTX05FT04pCiAgICAgICNpbmNsdWRlIDxhcm1fbmVvbi5oPgotSW5kZXg6IGNocm9taXVt LTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCbGl0Um93X29wdHMu aAotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEyNC4wLjYzNjcuMTE4Lm9yaWcvdGhpcmRfcGFy dHkvc2tpYS9zcmMvb3B0cy9Ta0JsaXRSb3dfb3B0cy5oCi0rKysgY2hyb21pdW0tMTI0LjAuNjM2 Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta0JsaXRSb3dfb3B0cy5oCitkaWZmIC11 cCBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tCbGl0 Um93X29wdHMuaC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3Jj L29wdHMvU2tCbGl0Um93X29wdHMuaAorLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRf cGFydHkvc2tpYS9zcmMvb3B0cy9Ta0JsaXRSb3dfb3B0cy5oLm1lCTIwMjQtMDUtMDggMjI6MzA6 NTUuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0 eS9za2lhL3NyYy9vcHRzL1NrQmxpdFJvd19vcHRzLmgJMjAyNC0wNS0xNCAwMDowMjo1MS42ODcz MTU0OTIgKzAyMDAKIEBAIC02OSw3ICs2OSw3IEBACiAgI2VuZGlmCiAgCkBAIC0xNDMsMTAgKzI3 MCw5IEBAIEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3Ny Yy9vcHRzL1NrQmxpdFJvd19vcHRzLmgKICAKICAgICAgc3RhdGljIGlubGluZSBfX20xMjhpIFNr UE1TcmNPdmVyX1NTRTIoY29uc3QgX19tMTI4aSYgc3JjLCBjb25zdCBfX20xMjhpJiBkc3QpIHsK ICAgICAgICAgIF9fbTEyOGkgc2NhbGUgPSBfbW1fc3ViX2VwaTMyKF9tbV9zZXQxX2VwaTMyKDI1 NiksCi1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMv b3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEy NC4wLjYzNjcuMTE4Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVs aW5lX29wdHMuaAotKysrIGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEv c3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKK2RpZmYgLXVwIGNocm9taXVtLTEyNS4w LjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMu aC5tZSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tS YXN0ZXJQaXBlbGluZV9vcHRzLmgKKy0tLSBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3Bh cnR5L3NraWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgubWUJMjAyNC0wNS0wOCAy MjozMDo1NS4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMjUuMC42NDIyLjQxL3RoaXJk X3BhcnR5L3NraWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgJMjAyNC0wNS0xNCAw MDoxMToxMi40ODU2OTQ2NzkgKzAyMDAKIEBAIC0xLDUgKzEsNiBAQAogIC8qCiAgICogQ29weXJp Z2h0IDIwMTggR29vZ2xlIEluYy4KQEAgLTE2MywxNiArMjg5LDE2IEBAIEluZGV4OiBjaHJvbWl1 bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxp bmVfb3B0cy5oCiAgI2VsaWYgU0tfQ1BVX1NTRV9MRVZFTCA+PSBTS19DUFVfU1NFX0xFVkVMX1NL WAogICAgICAjZGVmaW5lIEpVTVBFUl9JU19TS1gKICAjZWxpZiBTS19DUFVfU1NFX0xFVkVMID49 IFNLX0NQVV9TU0VfTEVWRUxfQVZYMgotQEAgLTEwNyw2ICsxMTAsOCBAQCB1c2luZyBOb0N0eCA9 IGNvbnN0IHZvaWQqOwotICAgICAjaW5jbHVkZSA8bWF0aC5oPgotICNlbGlmIGRlZmluZWQoSlVN UEVSX0lTX05FT04pCi0gICAgICNpbmNsdWRlIDxhcm1fbmVvbi5oPgorQEAgLTExNiw2ICsxMTks OCBAQCB1c2luZyBOb0N0eCA9IGNvbnN0IHZvaWQqOworICAgICAjaW5jbHVkZSA8bHN4aW50cmlu Lmg+CisgI2VsaWYgZGVmaW5lZChKVU1QRVJfSVNfTFNYKQorICAgICAjaW5jbHVkZSA8bHN4aW50 cmluLmg+CiArI2VsaWYgZGVmaW5lZChKVU1QRVJfSVNfVlNYKQogKyAgICAjaW5jbHVkZSA8ZW1t aW50cmluLmg+CiAgI2Vsc2UKICAgICAgI2luY2x1ZGUgPGltbWludHJpbi5oPgogICNlbmRpZgot QEAgLTIwMCw2ICsyMDUsMTg0IEBAIG5hbWVzcGFjZSBTS19PUFRTX05TIHsKK0BAIC0yMDksNiAr MjE0LDE4NCBAQCBuYW1lc3BhY2UgU0tfT1BUU19OUyB7CiAgICAgICAgICBwdHJbM10gPSBhOwog ICAgICB9CiAgCkBAIC0zNTcsNyArNDgzLDcgQEAgSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcu MTE4L3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKICAj ZWxpZiBkZWZpbmVkKEpVTVBFUl9JU19ORU9OKQogICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g dXNpbmcgViA9IFZlYzw0LCBUPjsKICAgICAgdXNpbmcgRiAgID0gVjxmbG9hdCAgID47Ci1AQCAt MTAyNSw2ICsxMjA4LDE1IEBAIFNJIEYgZnJvbV9oYWxmKFUxNiBoKSB7CitAQCAtMTQwNiw2ICsx NTg5LDE1IEBAIFNJIEYgZnJvbV9oYWxmKFUxNiBoKSB7CiAgI2VsaWYgZGVmaW5lZChKVU1QRVJf SVNfSFNXKQogICAgICByZXR1cm4gX21tMjU2X2N2dHBoX3BzKChfX20xMjhpKWgpOwogIApAQCAt MzczLDcgKzQ5OSw3IEBAIEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0 eS9za2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgI2Vsc2UKICAgICAgLy8g UmVtZW1iZXIsIGEgaGFsZiBpcyAxLTUtMTAgKHNpZ24tZXhwb25lbnQtbWFudGlzc2EpIHdpdGgg MTUgZXhwb25lbnQgYmlhcy4KICAgICAgVTMyIHNlbSA9IGV4cGFuZChoKSwKLUBAIC0xMDQ4LDYg KzEyNDAsMTYgQEAgU0kgVTE2IHRvX2hhbGYoRiBmKSB7CitAQCAtMTQyOSw2ICsxNjIxLDE2IEBA IFNJIFUxNiB0b19oYWxmKEYgZikgewogICNlbGlmIGRlZmluZWQoSlVNUEVSX0lTX0hTVykKICAg ICAgcmV0dXJuIChVMTYpX21tMjU2X2N2dHBzX3BoKGYsIF9NTV9GUk9VTkRfQ1VSX0RJUkVDVElP Tik7CiAgCkBAIC0zOTAsMTkgKzUxNiwxOSBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4x MTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNl bHNlCiAgICAgIC8vIFJlbWVtYmVyLCBhIGZsb2F0IGlzIDEtOC0yMyAoc2lnbi1leHBvbmVudC1t YW50aXNzYSkgd2l0aCAxMjcgZXhwb25lbnQgYmlhcy4KICAgICAgVTMyIHNlbSA9IHNrX2JpdF9j YXN0PFUzMj4oZiksCi1AQCAtMTEyMyw3ICsxMzI1LDcgQEAgc3RhdGljIGNvbnN0ZXhwciBzaXpl X3QgTiA9IHNpemVvZihGKSAvCitAQCAtMTUwNCw3ICsxNzA2LDcgQEAgc3RhdGljIGNvbnN0ZXhw ciBzaXplX3QgTiA9IHNpemVvZihGKSAvCiAgICAgIC8vIGluc3RlYWQgb2Yge2IsYX0gb24gdGhl IHN0YWNrLiAgTmFycm93IHN0YWdlcyB3b3JrIGJlc3QgZm9yIF9fdmVjdG9yY2FsbC4KICAgICAg I2RlZmluZSBBQkkgX192ZWN0b3JjYWxsCiAgICAgICNkZWZpbmUgSlVNUEVSX05BUlJPV19TVEFH RVMgMQotLSNlbGlmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChTS19DUFVfQVJNNjQp Ci0rI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKFNLX0NQVV9BUk02NCkgfHwg ZGVmaW5lZChTS19DUFVfUFBDNjQpCistI2VsaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKFNLX0NQVV9BUk02NCkgfHwgZGVmaW5lZChTS19DUFVfTE9PTkdBUkNIKQorKyNlbGlmIGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChTS19DUFVfQVJNNjQpIHx8IGRlZmluZWQoU0tf Q1BVX0xPT05HQVJDSCkgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpCiAgICAgIC8vIFRoZXNlIHBs YXRmb3JtcyBhcmUgaWRlYWwgZm9yIHdpZGVyIHN0YWdlcywgYW5kIHRoZWlyIGRlZmF1bHQgQUJJ IGlzIGlkZWFsLgogICAgICAjZGVmaW5lIEFCSQogICAgICAjZGVmaW5lIEpVTVBFUl9OQVJST1df U1RBR0VTIDAKLUBAIC01MDIzLDYgKzUyMjUsMTAgQEAgU0kgRiBzcXJ0XyhGIHgpIHsKLSAgICAg ZmxvYXQzMng0X3QgbG8saGk7CitAQCAtNTQ3NSw2ICs1Njc3LDEwIEBAIFNJIEYgc3FydF8oRiB4 KSB7CisgICAgIF9fbTEyOCBsbyxoaTsKICAgICAgc3BsaXQoeCwgJmxvLCZoaSk7Ci0gICAgIHJl dHVybiBqb2luPEY+KHNxcnQobG8pLCBzcXJ0KGhpKSk7CisgICAgIHJldHVybiBqb2luPEY+KF9f bHN4X3Zmc3FydF9zKGxvKSwgX19sc3hfdmZzcXJ0X3MoaGkpKTsKICsjZWxpZiBkZWZpbmVkKEpV TVBFUl9JU19WU1gpCiArICAgIHZlY3RvciBmbG9hdCBsbyxoaTsKICsgICAgc3BsaXQoeCwgJmxv LCZoaSk7CkBAIC00MTAsMTAgKzUzNiwxMCBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4x MTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVsaW5lX29wdHMuaAogICNl bHNlCiAgICAgIHJldHVybiBGewogICAgICAgICAgc3FydGYoeFswXSksIHNxcnRmKHhbMV0pLCBz cXJ0Zih4WzJdKSwgc3FydGYoeFszXSksCi1AQCAtNTA0Niw2ICs1MjUyLDEwIEBAIFNJIEYgZmxv b3JfKEYgeCkgeworQEAgLTU1MDYsNiArNTcxMiwxMCBAQCBTSSBGIGZsb29yXyhGIHgpIHsKICAg ICAgX19tMTI4IGxvLGhpOwogICAgICBzcGxpdCh4LCAmbG8sJmhpKTsKLSAgICAgcmV0dXJuIGpv aW48Rj4oX21tX2Zsb29yX3BzKGxvKSwgX21tX2Zsb29yX3BzKGhpKSk7CisgICAgIHJldHVybiBq b2luPEY+KF9fbHN4X3ZmcmludHJtX3MobG8pLCBfX2xzeF92ZnJpbnRybV9zKGhpKSk7CiArI2Vs aWYgZGVmaW5lZChKVU1QRVJfSVNfVlNYKQogKyAgICB2ZWN0b3IgZmxvYXQgbG8saGk7CiArICAg IHNwbGl0KHgsICZsbywmaGkpOwpAQCAtNDIxLDcgKzU0Nyw3IEBAIEluZGV4OiBjaHJvbWl1bS0x MjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRzL1NrUmFzdGVyUGlwZWxpbmVf b3B0cy5oCiAgI2Vsc2UKICAgICAgRiByb3VuZHRyaXAgPSBjYXN0PEY+KGNhc3Q8STMyPih4KSk7 CiAgICAgIHJldHVybiByb3VuZHRyaXAgLSBpZl90aGVuX2Vsc2Uocm91bmR0cmlwID4geCwgRl8o MSksIEZfKDApKTsKLUBAIC01MDU3LDYgKzUyNjcsNyBAQCBTSSBGIGZsb29yXyhGIHgpIHsKK0BA IC01NTE3LDYgKzU3MjcsNyBAQCBTSSBGIGZsb29yXyhGIHgpIHsKICAvLyAgICAgKDIgKiBhICog YiArICgxIDw8IDE1KSkgPj4gMTYKICAvLyBUaGUgcmVzdWx0IGlzIGEgbnVtYmVyIG9uIFstMSwg MSkuCiAgLy8gTm90ZTogb24gbmVvbiB0aGlzIGlzIGEgc2F0dXJhdGluZyBtdWx0aXBseSB3aGls ZSB0aGUgb3RoZXJzIGFyZSBub3QuCkBAIC00MjksMTAgKzU1NSwxMCBAQCBJbmRleDogY2hyb21p dW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVs aW5lX29wdHMuaAogIFNJIEkxNiBzY2FsZWRfbXVsdChJMTYgYSwgSTE2IGIpIHsKICAjaWYgZGVm aW5lZChKVU1QRVJfSVNfU0tYKQogICAgICByZXR1cm4gKEkxNilfbW0yNTZfbXVsaHJzX2VwaTE2 KChfX20yNTZpKWEsIChfX20yNTZpKWIpOwotQEAgLTUwNjgsNiArNTI3OSwyMiBAQCBTSSBJMTYg c2NhbGVkX211bHQoSTE2IGEsIEkxNiBiKSB7Ci0gICAgIHJldHVybiB2cXJkbXVsaHFfczE2KGEs IGIpOwotICNlbGlmIGRlZmluZWQoSlVNUEVSX0lTX05FT04pCi0gICAgIHJldHVybiB2cXJkbXVs aHFfczE2KGEsIGIpOworQEAgLTU1MzQsNiArNTc0NSwyMiBAQCBTSSBJMTYgc2NhbGVkX211bHQo STE2IGEsIEkxNiBiKSB7CisgI2VsaWYgZGVmaW5lZChKVU1QRVJfSVNfTFNYKQorICAgICBJMTYg cmVzID0gX19sc3hfdm11aF9oKGEsIGIpOworICAgICByZXR1cm4gX19sc3hfdnNsbGlfaChyZXMs IDEpOwogKyNlbGlmIGRlZmluZWQoSlVNUEVSX0lTX1ZTWCkKICsgICAgY29uc3QgdmVjdG9yIHVu c2lnbmVkIGludCBzaGlmdCA9IHZlY19zcGxhdHMoKHVuc2lnbmVkIGludCkxNCk7CiArICAgIGNv bnN0IHZlY3RvciBpbnQgb25lcyA9IHZlY19zcGxhdHMoKHNpZ25lZCBpbnQpMSk7CkBAIC00NTIs NyArNTc4LDcgQEAgSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3Nr aWEvc3JjL29wdHMvU2tSYXN0ZXJQaXBlbGluZV9vcHRzLmgKICAjZWxzZQogICAgICBjb25zdCBJ MzIgcm91bmRpbmdUZXJtID0gSTMyXygxIDw8IDE0KTsKICAgICAgcmV0dXJuIGNhc3Q8STE2Pigo Y2FzdDxJMzI+KGEpICogY2FzdDxJMzI+KGIpICsgcm91bmRpbmdUZXJtKSA+PiAxNSk7Ci1AQCAt NTA4OSw3ICs1MzE2LDI2IEBAIFNJIFUxNiBjb25zdHJhaW5lZF9hZGQoSTE2IGEsIFUxNiBiKSB7 CitAQCAtNTU1NSw3ICs1NzgyLDI2IEBAIFNJIFUxNiBjb25zdHJhaW5lZF9hZGQoSTE2IGEsIFUx NiBiKSB7CiAgICAgICAgICAgICAgU2tBU1NFUlQoLWliIDw9IGlhICYmIGlhIDw9IDY1NTM1IC0g aWIpOwogICAgICAgICAgfQogICAgICAjZW5kaWYKQEAgLTQ3OSw3ICs2MDUsNyBAQCBJbmRleDog Y2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3Rl clBpcGVsaW5lX29wdHMuaAogIH0KICAKICBTSSBGIGZyYWN0KEYgeCkgeyByZXR1cm4geCAtIGZs b29yXyh4KTsgfQotQEAgLTU5NDcsOCArNjE5MywxNCBAQCBTVEFHRV9HUChiaWxlcnBfY2xhbXBf ODg4OCwgY29uc3QgU2tSYXN0CitAQCAtNjQ3OSw4ICs2NzI1LDE0IEBAIFNUQUdFX0dQKGJpbGVy cF9jbGFtcF84ODg4LCBjb25zdCBTa1Jhc3QKICAgICAgLy8gICAgICAgICAyXi04ICogdiA9IDJe LTkgKiAodHgqKFIgLSBMKSArIChSICsgTCkpCiAgICAgIC8vICAgICAgICAgICAgICAgIHYgPSAx LzIgKiAodHgqKFIgLSBMKSArIChSICsgTCkpCiAgICAgIGF1dG8gbGVycFggPSBbJl0oVTE2IGxl ZnQsIFUxNiByaWdodCkgLT4gVTE2IHsKQEAgLTQ5NCw3ICs2MjAsNyBAQCBJbmRleDogY2hyb21p dW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jhc3RlclBpcGVs aW5lX29wdHMuaAogICAgICAgICAgLy8gVGhlIGNvbnN0cmFpbmVkX2FkZCBpcyB0aGUgbW9zdCBz dWJ0bGUgcGFydCBvZiBsZXJwLiBUaGUgZmlyc3QgdGVybSBpcyBvbiB0aGUgaW50ZXJ2YWwKICAg ICAgICAgIC8vIFstMSwgMSksIGFuZCB0aGUgc2Vjb25kIHRlcm0gaXMgb24gdGhlIGludGVydmFs IGlzIG9uIHRoZSBpbnRlcnZhbCBbMCwgMSkgYmVjYXVzZQogICAgICAgICAgLy8gYm90aCB0ZXJt cyBhcmUgdG9vIGhpZ2ggYnkgYSBmYWN0b3Igb2YgMiB3aGljaCB3aWxsIGJlIGhhbmRsZWQgYmVs b3cuIChCb3RoIFIgYW5kIEwgYXJlCi1AQCAtNTk2MCw3ICs2MjEyLDEyIEBAIFNUQUdFX0dQKGJp bGVycF9jbGFtcF84ODg4LCBjb25zdCBTa1Jhc3QKK0BAIC02NDkyLDcgKzY3NDQsMTIgQEAgU1RB R0VfR1AoYmlsZXJwX2NsYW1wXzg4ODgsIGNvbnN0IFNrUmFzdAogICAgICAgICAgVTE2IHYyICA9 IGNvbnN0cmFpbmVkX2FkZChzY2FsZWRfbXVsdCh0eCwgd2lkdGgpLCBtaWRkbGUpICsgMTsKICAg ICAgICAgIC8vIERpdmlkZSBieSAyIHRvIGNhbGN1bGF0ZSB2IGFuZCBhdCB0aGUgc2FtZSB0aW1l IGJyaW5nIHRoZSBpbnRlcm1lZGlhdGUgdmFsdWUgb250byB0aGUKICAgICAgICAgIC8vIGludGVy dmFsIFswLCAxLzJdIHRvIHNldCB1cCBmb3IgdGhlIGxlcnBZLgpAQCAtNTA3LDcgKzYzMyw3IEBA IEluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9vcHRz L1NrUmFzdGVyUGlwZWxpbmVfb3B0cy5oCiAgICAgIH07CiAgCiAgICAgIGNvbnN0IHVpbnQzMl90 KiBwdHI7Ci1AQCAtNTk5NCw5ICs2MjUxLDE1IEBAIFNUQUdFX0dQKGJpbGVycF9jbGFtcF84ODg4 LCBjb25zdCBTa1Jhc3QKK0BAIC02NTI2LDkgKzY3ODMsMTUgQEAgU1RBR0VfR1AoYmlsZXJwX2Ns YW1wXzg4ODgsIGNvbnN0IFNrUmFzdAogICAgICAgICAgSTE2IHdpZHRoICA9IChJMTYpYm90dG9t IC0gKEkxNil0b3A7CiAgICAgICAgICBVMTYgbWlkZGxlID0gYm90dG9tICsgdG9wOwogICAgICAg ICAgLy8gQWRkICsgMHg4MCBmb3Igcm91bmRpbmcuCkBAIC01MjQsMTMyICs2NTAsOSBAQCBJbmRl eDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1Jh c3RlclBpcGVsaW5lX29wdHMuaAogICAgICB9OwogIAogICAgICByID0gbGVycFkodG9wUiwgYm90 dG9tUik7Ci1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9z cmMvYmFzZS9Ta1Z4LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC5v cmlnL3RoaXJkX3BhcnR5L3NraWEvc3JjL2Jhc2UvU2tWeC5oCi0rKysgY2hyb21pdW0tMTI0LjAu NjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvYmFzZS9Ta1Z4LmgKLUBAIC00Miw3ICs0Miwx MyBAQAotIAotICNpZiBTS1ZYX1VTRV9TSU1ECi0gICAgICNpZiBTS19DUFVfU1NFX0xFVkVMID49 IFNLX0NQVV9TU0VfTEVWRUxfU1NFMQotLSAgICAgICAgI2luY2x1ZGUgPGltbWludHJpbi5oPgot KyAgICAgICAgI2lmIF9fUFBDNjRfXwotKyAgICAgICAgICAgICNpbmNsdWRlIDxtbWludHJpbi5o PgotKyAgICAgICAgICAgICNpbmNsdWRlIDxlbW1pbnRyaW4uaD4KLSsgICAgICAgICAgICAjaW5j bHVkZSA8dG1taW50cmluLmg+Ci0rICAgICAgICAjZWxzZQotKyAgICAgICAgICAgICNpbmNsdWRl IDxpbW1pbnRyaW4uaD4KLSsgICAgICAgICNlbmRpZgotICAgICAjZWxpZiBkZWZpbmVkKFNLX0FS TV9IQVNfTkVPTikKLSAgICAgICAgICNpbmNsdWRlIDxhcm1fbmVvbi5oPgotICAgICAjZWxpZiBk ZWZpbmVkKF9fd2FzbV9zaW1kMTI4X18pCi1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgv dGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHNfc3NzZTMuY3BwCi09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9za2lh L3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0c19zc3NlMy5jcHAKLSsrKyBjaHJvbWl1bS0xMjQuMC42 MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0c19zc3NlMy5j cHAKLUBAIC05LDcgKzksNyBAQAotICNpbmNsdWRlICJzcmMvY29yZS9Ta0JsaXRNYXNrLmgiCi0g I2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0c1RhcmdldHMuaCIKLSAKLS0jaWYgZGVmaW5lZChTS19D UFVfWDg2KSAmJiAhZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0laRSkKLSsjaWYgKGRlZmlu ZWQoU0tfQ1BVX1g4NikgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpKSAmJiAhZGVmaW5lZChTS19F TkFCTEVfT1BUSU1JWkVfU0laRSkKLSAKLSAvLyBUaGUgb3JkZXIgb2YgdGhlc2UgaW5jbHVkZXMg aXMgaW1wb3J0YW50OgotIC8vIDEpIFNlbGVjdCB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1cmUg YnkgZGVmaW5pbmcgU0tfT1BUU19UQVJHRVQgYW5kIGluY2x1ZGluZyBTa09wdHNfU2V0VGFyZ2V0 Ci1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29y ZS9Ta1N3aXp6bGVyX29wdHNfc3NzZTMuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI0 LjAuNjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrU3dpenpsZXJfb3B0 c19zc3NlMy5jcHAKLSsrKyBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lh L3NyYy9jb3JlL1NrU3dpenpsZXJfb3B0c19zc3NlMy5jcHAKLUBAIC0xMCw3ICsxMCw3IEBACi0g I2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0c1RhcmdldHMuaCIKLSAjaW5jbHVkZSAic3JjL2NvcmUv U2tTd2l6emxlUHJpdi5oIgotIAotLSNpZiBkZWZpbmVkKFNLX0NQVV9YODYpICYmIFwKLSsjaWYg KGRlZmluZWQoU0tfQ1BVX1g4NikgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpKSAmJiBcCi0gICAg ICFkZWZpbmVkKFNLX0VOQUJMRV9PUFRJTUlaRV9TSVpFKSAmJiBcCi0gICAgIFNLX0NQVV9TU0Vf TEVWRUwgPCBTS19DUFVfU1NFX0xFVkVMX1NTU0UzCi0gCi1JbmRleDogY2hyb21pdW0tMTI0LjAu NjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JsaXRNYXNrX29wdHMuY3BwCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9z a2lhL3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0cy5jcHAKLSsrKyBjaHJvbWl1bS0xMjQuMC42MzY3 LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdE1hc2tfb3B0cy5jcHAKLUBAIC0y NSw3ICsyNSw3IEBAIG5hbWVzcGFjZSBTa09wdHMgewotICAgICBzdGF0aWMgYm9vbCBpbml0KCkg ewotICAgICAjaWYgZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0laRSkKLSAgICAgICAgIC8v IEFsbCBJbml0X2ZvbyBmdW5jdGlvbnMgYXJlIG9taXR0ZWQgd2hlbiBvcHRpbWl6aW5nIGZvciBz aXplCi0tICAgICNlbGlmIGRlZmluZWQoU0tfQ1BVX1g4NikKLSsgICAgI2VsaWYgZGVmaW5lZChT S19DUFVfWDg2KSB8fCBkZWZpbmVkKFNLX0NQVV9QUEM2NCkKLSAgICAgICAgICNpZiBTS19DUFVf U1NFX0xFVkVMIDwgU0tfQ1BVX1NTRV9MRVZFTF9TU1NFMwotICAgICAgICAgICAgIGlmIChTa0Nw dTo6U3VwcG9ydHMoU2tDcHU6OlNTU0UzKSkgeyBJbml0X0JsaXRNYXNrX3Nzc2UzKCk7IH0KLSAg ICAgICAgICNlbmRpZgotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5 L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jcHAKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC5vcmlnL3RoaXJkX3BhcnR5L3NraWEvc3JjL2NvcmUv U2tCaXRtYXBQcm9jU3RhdGVfb3B0cy5jcHAKLSsrKyBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90 aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQml0bWFwUHJvY1N0YXRlX29wdHMuY3BwCi1AQCAt MjUsNyArMjUsNyBAQCBuYW1lc3BhY2UgU2tPcHRzIHsKLSAgICAgc3RhdGljIGJvb2wgaW5pdCgp IHsKLSAgICAgI2lmIGRlZmluZWQoU0tfRU5BQkxFX09QVElNSVpFX1NJWkUpCi0gICAgICAgICAv LyBBbGwgSW5pdF9mb28gZnVuY3Rpb25zIGFyZSBvbWl0dGVkIHdoZW4gb3B0aW1pemluZyBmb3Ig c2l6ZQotLSAgICAjZWxpZiBkZWZpbmVkKFNLX0NQVV9YODYpCi0rICAgICNlbGlmIGRlZmluZWQo U0tfQ1BVX1g4NikgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpCi0gICAgICAgICAjaWYgU0tfQ1BV X1NTRV9MRVZFTCA8IFNLX0NQVV9TU0VfTEVWRUxfU1NTRTMKLSAgICAgICAgICAgICBpZiAoU2tD cHU6OlN1cHBvcnRzKFNrQ3B1OjpTU1NFMykpIHsgSW5pdF9CaXRtYXBQcm9jU3RhdGVfc3NzZTMo KTsgfQotICAgICAgICAgI2VuZGlmCi1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhp cmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0NwdS5oCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0t MTI0LjAuNjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQ3B1LmgKLSsr KyBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQ3B1 LmgKLUBAIC01NSw3ICs1NSw3IEBAIGlubGluZSBib29sIFNrQ3B1OjpTdXBwb3J0cyh1aW50MzJf dCBtYXMKLSAKLSAgICAgLy8gSWYgd2UgbWFzayBpbiBjb21waWxlLXRpbWUga25vd24gbG93ZXIg bGltaXRzLCB0aGUgY29tcGlsZXIgY2FuCi0gICAgIC8vIG9mdGVuIGNvbXBpbGUgYXdheSB0aGlz IGVudGlyZSBmdW5jdGlvbi4KLS0jaWYgU0tfQ1BVX1g4NgotKyNpZiBTS19DUFVfWDg2IHx8IGRl ZmluZWQoU0tfQ1BVX1BQQzY0KQotICAgICAjaWYgU0tfQ1BVX1NTRV9MRVZFTCA+PSBTS19DUFVf U1NFX0xFVkVMX1NTRTEKLSAgICAgZmVhdHVyZXMgfD0gU1NFMTsKLSAgICAgI2VuZGlmCi1JbmRl eDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0Jp dG1hcFByb2NTdGF0ZV9vcHRzX3Nzc2UzLmNwcAotPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVtLTEy NC4wLjYzNjcuMTE4Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29yZS9Ta0JpdG1hcFByb2NT dGF0ZV9vcHRzX3Nzc2UzLmNwcAotKysrIGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3Bh cnR5L3NraWEvc3JjL2NvcmUvU2tCaXRtYXBQcm9jU3RhdGVfb3B0c19zc3NlMy5jcHAKLUBAIC04 LDcgKzgsNyBAQAotICNpbmNsdWRlICJpbmNsdWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgi Ci0gI2luY2x1ZGUgInNyYy9jb3JlL1NrT3B0c1RhcmdldHMuaCIKLSAKLS0jaWYgZGVmaW5lZChT S19DUFVfWDg2KSAmJiAhZGVmaW5lZChTS19FTkFCTEVfT1BUSU1JWkVfU0laRSkKLSsjaWYgKGRl ZmluZWQoU0tfQ1BVX1g4NikgfHwgZGVmaW5lZChTS19DUFVfUFBDNjQpKSAmJiAhZGVmaW5lZChT S19FTkFCTEVfT1BUSU1JWkVfU0laRSkKLSAKLSAvLyBUaGUgb3JkZXIgb2YgdGhlc2UgaW5jbHVk ZXMgaXMgaW1wb3J0YW50OgotIC8vIDEpIFNlbGVjdCB0aGUgdGFyZ2V0IENQVSBhcmNoaXRlY3R1 cmUgYnkgZGVmaW5pbmcgU0tfT1BUU19UQVJHRVQgYW5kIGluY2x1ZGluZyBTa09wdHNfU2V0VGFy Z2V0Ci1JbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9pbmNs dWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0x MjQuMC42MzY3LjExOC5vcmlnL3RoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9wcml2YXRlL2Jhc2Uv U2tGZWF0dXJlcy5oCi0rKysgY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tp YS9pbmNsdWRlL3ByaXZhdGUvYmFzZS9Ta0ZlYXR1cmVzLmgKLUBAIC02Myw2ICs2Myw4IEBACi0g Ci0gI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX01fWDY0KQotICAgI2RlZmluZSBTS19DUFVfWDg2IDEKLSsj ZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IGRlZmluZWQoX19QUEM2NF9fKQotKyAgI2Rl ZmluZSBTS19DUFVfUFBDNjQgMQotICNlbmRpZgotIAotIC8qKgotSW5kZXg6IGNocm9taXVtLTEy NC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3NraWEvbW9kdWxlcy9za2Ntcy9zcmMvc2tjbXNfaW50 ZXJuYWxzLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC5vcmlnL3Ro aXJkX3BhcnR5L3NraWEvbW9kdWxlcy9za2Ntcy9zcmMvc2tjbXNfaW50ZXJuYWxzLmgKLSsrKyBj aHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL21vZHVsZXMvc2tjbXMvc3Jj L3NrY21zX2ludGVybmFscy5oCi1AQCAtNDcsNiArNDcsNyBAQCBleHRlcm4gIkMiIHsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgIWRlZmluZWQo X19FTVNDUklQVEVOX18pIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJiYgIWRlZmluZWQoX19hcm1fXykgXAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhZGVmaW5lZChfX3Jpc2N2KSBcCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmICFkZWZpbmVk KF9fcG93ZXJwYzY0X18pIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJiYgIWRlZmluZWQoX19sb29uZ2FyY2hfXykgXAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAhZGVmaW5lZChfV0lOMzIpICYm ICFkZWZpbmVkKF9fU1lNQklBTjMyX18pCi0gICAgICAgICAgICAgI2RlZmluZSBTS0NNU19IQVNf TVVTVFRBSUwgMQotSW5kZXg6IGNocm9taXVtLTEyNC4wLjYzNjcuMTE4L3RoaXJkX3BhcnR5L3Nr aWEvc3JjL29wdHMvU2tTd2l6emxlcl9vcHRzLmluYwotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGNocm9taXVt LTEyNC4wLjYzNjcuMTE4Lm9yaWcvdGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1N3aXp6bGVy X29wdHMuaW5jCi0rKysgY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9z cmMvb3B0cy9Ta1N3aXp6bGVyX29wdHMuaW5jCitkaWZmIC11cCBjaHJvbWl1bS0xMjUuMC42NDIy LjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tTd2l6emxlcl9vcHRzLmluYy5tZSBjaHJv bWl1bS0xMjUuMC42NDIyLjQxL3RoaXJkX3BhcnR5L3NraWEvc3JjL29wdHMvU2tTd2l6emxlcl9v cHRzLmluYworLS0tIGNocm9taXVtLTEyNS4wLjY0MjIuNDEvdGhpcmRfcGFydHkvc2tpYS9zcmMv b3B0cy9Ta1N3aXp6bGVyX29wdHMuaW5jLm1lCTIwMjQtMDUtMDggMjI6MzA6NTUuMDAwMDAwMDAw ICswMjAwCisrKysgY2hyb21pdW0tMTI1LjAuNjQyMi40MS90aGlyZF9wYXJ0eS9za2lhL3NyYy9v cHRzL1NrU3dpenpsZXJfb3B0cy5pbmMJMjAyNC0wNS0xNCAwMDowMjo1MS42ODkzMTU1MzEgKzAy MDAKIEBAIC0xNCw3ICsxNCwxMCBAQAogICNpbmNsdWRlIDxjbWF0aD4KICAjaW5jbHVkZSA8dXRp bGl0eT4KQEAgLTY2Miw3ICs2NjUsNyBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgv dGhpcmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1N3aXp6bGVyX29wdHMuaW5jCiAgICAgICNpbmNs dWRlIDxpbW1pbnRyaW4uaD4KICAjZWxpZiBkZWZpbmVkKFNLX0FSTV9IQVNfTkVPTikKICAgICAg I2luY2x1ZGUgPGFybV9uZW9uLmg+Ci1AQCAtNjEsNiArNjQsMzMgQEAgU0kgZmxvYXQgcmVjaXBy b2NhbF9hbHBoYV90aW1lc18yNTUoZmxvYQorQEAgLTY1LDYgKzY4LDMzIEBAIFNJIGZsb2F0IHJl Y2lwcm9jYWxfYWxwaGFfdGltZXNfMjU1KGZsb2EKICBTSSBmbG9hdCByZWNpcHJvY2FsX2FscGhh KGZsb2F0IGEpIHsKICAgICAgcmV0dXJuIHJlY2lwcm9jYWxfYWxwaGFfcG9ydGFibGUoYSk7CiAg fQpAQCAtNjk2LDI0ICs2OTksMyBAQCBJbmRleDogY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhp cmRfcGFydHkvc2tpYS9zcmMvb3B0cy9Ta1N3aXp6bGVyX29wdHMuaW5jCiAgI2VsaWYgU0tfQ1BV X1NTRV9MRVZFTCA+PSBTS19DUFVfU1NFX0xFVkVMX1NTRTEgJiYgKGRlZmluZWQoX19jbGFuZ19f KSB8fCAhZGVmaW5lZChfTVNDX1ZFUikpCiAgLy8gLS0gU1NFIC0tIEhhcmRlbiBhZ2FpbnN0IHRp bWluZyBhdHRhY2tzIC0tIE1TVkMgaXMgbm90IHN1cHBvcnRlZC4KICB1c2luZyBGNCA9IF9fbTEy ODsKLUluZGV4OiBjaHJvbWl1bS0xMjQuMC42MzY3LjExOC90aGlyZF9wYXJ0eS9za2lhL3NyYy9j b3JlL1NrQmxpdHRlcl9BUkdCMzIuY3BwCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gY2hyb21pdW0tMTI0LjAu NjM2Ny4xMTgub3JpZy90aGlyZF9wYXJ0eS9za2lhL3NyYy9jb3JlL1NrQmxpdHRlcl9BUkdCMzIu Y3BwCi0rKysgY2hyb21pdW0tMTI0LjAuNjM2Ny4xMTgvdGhpcmRfcGFydHkvc2tpYS9zcmMvY29y ZS9Ta0JsaXR0ZXJfQVJHQjMyLmNwcAotQEAgLTEyNiw2ICsxMjYsMTYgQEAgc3RhdGljIGlubGlu ZSBTa1BNQ29sb3IgYmxlbmRfbGNkMTZfb3BhcQotICNpZiBTS19DUFVfU1NFX0xFVkVMID49IFNL X0NQVV9TU0VfTEVWRUxfU1NFMgotICAgICAjaW5jbHVkZSA8ZW1taW50cmluLmg+Ci0gCi0rI2lm IGRlZmluZWQoU0tfQ1BVX1BQQzY0KQotKyAgICAvKiBMb2FkIHNpZ25lZCA2NC1iaXQgaW50ZWdl ciBmcm9tIFAgaW50byB2ZWN0b3IgZWxlbWVudCAwLiAgVGhlIGFkZHJlc3MgbmVlZCBub3QgYmUg MTYtYnl0ZSBhbGlnbmVkLiAgKi8KLSsgICAgZXh0ZXJuIF9faW5saW5lIF9fbTEyOGkKLSsgICAg ICAgIF9fYXR0cmlidXRlX18oKF9fZ251X2lubGluZV9fLCBfX2Fsd2F5c19pbmxpbmVfXywgX19h cnRpZmljaWFsX18pKQotKyAgICAgICAgX21tX2xvYWR1X3NpNjQgKHZvaWQgY29uc3QgKl9fUCkK LSsgICAgewotKyAgICAgIHJldHVybiBfbW1fc2V0X2VwaTY0KChfX202NCkwTEwsICooX19tNjQg KilfX1ApOwotKyAgICB9Ci0rI2VuZGlmCi0rCi0gICAgIC8vIFRoZSBmb2xsb3dpbmcgKGxlZnQp IHNoaWZ0cyBjYXVzZSB0aGUgdG9wIDUgYml0cyBvZiB0aGUgbWFzayBjb21wb25lbnRzIHRvCi0g ICAgIC8vIGxpbmUgdXAgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBjb21wb25lbnRzIGluIGFuIFNr UE1Db2xvci4KLSAgICAgLy8gTm90ZSB0aGF0IHRoZSBtYXNrJ3MgUkdCMTYgb3JkZXIgbWF5IGRp ZmZlciBmcm9tIHRoZSBTa1BNQ29sb3Igb3JkZXIuCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3Nv dXJjZXMKaW5kZXggNjEwNjcyNy4uYWU4MDJhNSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9z b3VyY2VzCkBAIC0yLDQgKzIsNCBAQCBTSEE1MTIgKG5vZGUtdjIwLjYuMS1saW51eC1hcm02NC50 YXIueHopID0gYWRmY2FmMmMyMjYxNDc5N2ZkNjlmYjQ2ZDk0YzFjYmY2NGRlYQogU0hBNTEyIChu b2RlLXYyMC42LjEtbGludXgteDY0LnRhci54eikgPSA3ZTE1YzA1MDQxYTlhNTBmMDA0NjI2NmFh ZGIyZTA5MmE1YWVmYmVjMTliZTFjN2M4MDk0NzFhZGQ1MjBjYjU3YzdkZjNjNDdkODhiMTg4OGIy OWJmMjk3OWRjYTNjOTJhZGRkZmQ5NjUzNzBmYTJhOWRhNGVhMDIxODY0NjRmZAogU0hBNTEyIChs aW51eC1hcm02NC0wLjE5LjIudGd6KSA9IDhhMGQ4ZmVjNjc4NmZmZmNkNjk1NGQwMDgyMDAzN2E1 NWQ2MWU2MDc2MmM3NDMwMGRmMDgwMWY4ZGIyNzA1NzU2MmMyMjFhMDYzYmVkZmI4ZGY1NmFmOWJh ODBhYmIzNjYzMzY5ODdlODgxNzgyYzU5OTZlNmY4NzFhYmQzZGM2CiBTSEE1MTIgKGxpbnV4LXg2 NC0wLjE5LjIudGd6KSA9IGEzMWNjNzRjNGJmYTU0ZjliNzVkNzM1YTFjZmM5NDRkM2I1ZWZiN2Mw NmJmYmE5NTQyZGE5YTY0MmFlMGIyZDIzNWVhMDBhZTg0ZDNhZDA1NzJjNDA2NDA1MTEwZmU3YjYx Mzc3YWYwZmQxNTgwMzgwNmVmNzhkMjBmYzZmMDVkCi1TSEE1MTIgKGNocm9taXVtLTEyNS4wLjY0 MjIuNDEtY2xlYW4udGFyLnh6KSA9IGRiM2ZiNjRlNTk2MmQzYWIxZjBkZWJhZTA2ZDMxMWRmNDg2 NmZkNjQ3ZDUwZDc0ZjNjNTgzNjhhNzBhN2JjMWNiNGY4MWM5MDBhZGI5NjEzMGVmNDE2YzhmOTA5 NzZkNDBhYjRlOTBmYTY4M2Y5YjY4NzkxMDE5ZWQ1NzBkMWVkCitTSEE1MTIgKGNocm9taXVtLTEy NS4wLjY0MjIuNDEtY2xlYW4udGFyLnh6KSA9IDhhZGEwYTczNzU1N2M4OGY3OTdmMDBlMTBkNGVi OTQxMGRjZDM3ZGZmYzAyYjM4NDZhYWJlMDI3Yjk2OGNhZjNjMjEzODhhNjIwYmQwNzczNDI4NWFl ZDVhMTE5ZTVkNjFlMjhiYmJiMjNjYmYwNDlhNWFjMDUwY2U5ZmYxZGIwCg==