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: - update to 111.0.5563.50 Date: Fri, 07 Aug 2026 16:04:53 GMT Message-ID: <178611869382.1.14712855688062893937.rpms-chromium-c86221443c85@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: c86221443c8502b82d97e6e1e914e274336b21af ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2hyb21pdW0KICAgICAgICAgICAgQnJhbmNoIDogZXBlbDktbmV4dAogICAg ICAgICAgICBDb21taXQgOiBjODYyMjE0NDNjODUwMmI4MmQ5N2U2ZTFlOTE0ZTI3NDMzNmIyMWFm CiAgICAgICAgICAgIEF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CiAgICAgICAg ICAgIERhdGUgICA6IDIwMjMtMDMtMDZUMTY6MjQ6MjUrMDE6MDAKICAgICAgICAgICAgU3RhdHMg IDogKzM4Ly0zMjI0IGluIDIyIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9z cmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jaHJvbWl1bS9jL2M4NjIyMTQ0M2M4NTAyYjgyZDk3 ZTZlMWU5MTRlMjc0MzM2YjIxYWY/YnJhbmNoPWVwZWw5LW5leHQKCiAgICAgICAgICAgIExvZzoK ICAgICAgICAgICAgLSB1cGRhdGUgdG8gMTExLjAuNTU2My41MAotIHN5c3RlbSBmcmVldHlwZSBv biBmZWRvcmEgPiAzNgoKLS0tCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMDUuMC41MTk1LjUyLXVw ZGF0ZS13YXlsYW5kLWNsaWVudC1jb3JlLnBhdGNoIGIvY2hyb21pdW0tMTA1LjAuNTE5NS41Mi11 cGRhdGUtd2F5bGFuZC1jbGllbnQtY29yZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggODZjNWMyMi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMDUuMC41MTk1LjUyLXVwZGF0 ZS13YXlsYW5kLWNsaWVudC1jb3JlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBA QAotZGlmZiAtdXAgY2hyb21pdW0tMTA1LjAuNTE5NS41Mi90aGlyZF9wYXJ0eS93YXlsYW5kL3Ny Yy9zcmMvd2F5bGFuZC1jbGllbnQtY29yZS5oLm9sZC13YXlsYW5kIGNocm9taXVtLTEwNS4wLjUx OTUuNTIvdGhpcmRfcGFydHkvd2F5bGFuZC9zcmMvc3JjL3dheWxhbmQtY2xpZW50LWNvcmUuaAot LS0tIGNocm9taXVtLTEwNS4wLjUxOTUuNTIvdGhpcmRfcGFydHkvd2F5bGFuZC9zcmMvc3JjL3dh eWxhbmQtY2xpZW50LWNvcmUuaC5vbGQtd2F5bGFuZAkyMDIyLTA5LTAxIDE5OjM2OjA2LjA5OTQ4 MzM3NCArMDAwMAotKysrIGNocm9taXVtLTEwNS4wLjUxOTUuNTIvdGhpcmRfcGFydHkvd2F5bGFu ZC9zcmMvc3JjL3dheWxhbmQtY2xpZW50LWNvcmUuaAkyMDIyLTA5LTAxIDIyOjA5OjU2LjUyMzM1 MzYxOSArMDAwMAotQEAgLTExOSw5ICsxMTksMjcgQEAgc3RydWN0IHdsX2Rpc3BsYXk7Ci0gICov Ci0gc3RydWN0IHdsX2V2ZW50X3F1ZXVlOwotIAotKy8qKiBEZXN0cm95IHByb3h5IGFmdGVyIG1h cnNoYWxsaW5nCi0rICogQGluZ3JvdXAgd2xfcHJveHkKLSsgKi8KLSsjZGVmaW5lIFdMX01BUlNI QUxfRkxBR19ERVNUUk9ZICgxIDw8IDApCi0rCi0gdm9pZAotIHdsX2V2ZW50X3F1ZXVlX2Rlc3Ry b3koc3RydWN0IHdsX2V2ZW50X3F1ZXVlICpxdWV1ZSk7Ci0gCi0rc3RydWN0IHdsX3Byb3h5ICoK LSt3bF9wcm94eV9tYXJzaGFsX2ZsYWdzKHN0cnVjdCB3bF9wcm94eSAqcHJveHksIHVpbnQzMl90 IG9wY29kZSwKLSsJCSAgICAgICBjb25zdCBzdHJ1Y3Qgd2xfaW50ZXJmYWNlICppbnRlcmZhY2Us Ci0rCQkgICAgICAgdWludDMyX3QgdmVyc2lvbiwKLSsJCSAgICAgICB1aW50MzJfdCBmbGFncywg Li4uKTsKLSsKLStzdHJ1Y3Qgd2xfcHJveHkgKgotK3dsX3Byb3h5X21hcnNoYWxfYXJyYXlfZmxh Z3Moc3RydWN0IHdsX3Byb3h5ICpwcm94eSwgdWludDMyX3Qgb3Bjb2RlLAotKwkJCSAgICAgY29u c3Qgc3RydWN0IHdsX2ludGVyZmFjZSAqaW50ZXJmYWNlLAotKwkJCSAgICAgdWludDMyX3QgdmVy c2lvbiwKLSsJCQkgICAgIHVpbnQzMl90IGZsYWdzLAotKwkJCSAgICAgdW5pb24gd2xfYXJndW1l bnQgKmFyZ3MpOwotKwotIHZvaWQKLSB3bF9wcm94eV9tYXJzaGFsKHN0cnVjdCB3bF9wcm94eSAq cCwgdWludDMyX3Qgb3Bjb2RlLCAuLi4pOwotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMC1D YW52YXNSZXNvdXJjZVByb3ZpZGVyLXByYWdtYS5wYXRjaCBiL2Nocm9taXVtLTExMC1DYW52YXNS ZXNvdXJjZVByb3ZpZGVyLXByYWdtYS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggNTczMmU0OS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTAtQ2FudmFzUmVzb3VyY2VQcm92 aWRlci1wcmFnbWEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDNl MWU4NmFjODgyYWUwY2U0YjllYzUwODM0YTRmZjhiZWNkOTEyYWIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1E YXRlOiBNb24sIDE5IERlYyAyMDIyIDE2OjU5OjQ2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEdD QzogbW92ZSBwcmFnbWFzIGluIGJsaW5rOjpDYW52YXNSZXNvdXJjZVByb3ZpZGVyCi0KLUdDQyBk b2VzIG5vdCBhbGxvdyB1c2luZyAjcHJhZ21hIGluc2lkZSBhbiBlbnVtLgotCi1CdWc6IDgxOTI5 NAotQ2hhbmdlLUlkOiBJNjM3YjVhNjE2YjA4MGQxN2JiNzE5YWFlOWVjOGNmMDZkMGY4YzQ2NAot UmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9j aHJvbWl1bS9zcmMvKy80MTExODQ4Ci1SZXZpZXdlZC1ieTogU3RlcGhlbiBDaGVubmV5IDxzY2hl bm5leUBjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEw OUBnb29nbGVtYWlsLmNvbT4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsj MTA4NDk4M30KLS0tLQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vZ3JhcGhpY3MvY2FudmFzX3Jlc291cmNlX3Byb3ZpZGVyLmggYi90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jYW52YXNfcmVzb3VyY2VfcHJvdmlk ZXIuaAotaW5kZXggZTg5ODM5N2YuLjIxNGFiMDEgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jYW52YXNfcmVzb3VyY2VfcHJvdmlkZXIu aAotKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fu dmFzX3Jlc291cmNlX3Byb3ZpZGVyLmgKLUBAIC02OCw2ICs2OCw4IEBACi0gIHB1YmxpYzoKLSAg IC8vIFRoZXNlIHZhbHVlcyBhcmUgcGVyc2lzdGVkIHRvIGxvZ3MuIEVudHJpZXMgc2hvdWxkIG5v dCBiZSByZW51bWJlcmVkIGFuZAotICAgLy8gbnVtZXJpYyB2YWx1ZXMgc2hvdWxkIG5ldmVyIGJl IHJldXNlZC4KLSsjcHJhZ21hIEdDQyBkaWFnbm9zdGljIHB1c2gKLSsjcHJhZ21hIEdDQyBkaWFn bm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCi0gICBlbnVtIFJlc291 cmNlUHJvdmlkZXJUeXBlIHsKLSAgICAga1RleHR1cmUgW1tkZXByZWNhdGVkXV0gPSAwLAotICAg ICBrQml0bWFwID0gMSwKLUBAIC03OSwxMSArODEsOSBAQAotICAgICBrUGFzc1Rocm91Z2ggPSA3 LAotICAgICBrU3dhcENoYWluID0gOCwKLSAgICAga1NraWFEYXduU2hhcmVkSW1hZ2UgW1tkZXBy ZWNhdGVkXV0gPSA5LAotLSNwcmFnbWEgR0NDIGRpYWdub3N0aWMgcHVzaAotLSNwcmFnbWEgR0ND IGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKLSAgICAga01h eFZhbHVlID0ga1NraWFEYXduU2hhcmVkSW1hZ2UsCi0tI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBw b3AKLSAgIH07Ci0rI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBwb3AKLSAKLSAgIC8vIFRoZSBmb2xs b3dpbmcgcGFyYW1ldGVycyBhdHRlbXB0IHRvIHJlYWNoIGEgY29tcHJvbWlzZSBiZXR3ZWVuIG5v dCBmbHVzaGluZwotICAgLy8gdG9vIG9mdGVuLCBhbmQgbm90IGFjY3VtdWxhdGluZyBhbiB1bnJl YXNvbmFibGUgYmFja2xvZy4gIEZsdXNoaW5nIHRvbwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTEx MC1DcmVkZW50aWFsVUlFbnRyeS1jb25zdC5wYXRjaCBiL2Nocm9taXVtLTExMC1DcmVkZW50aWFs VUlFbnRyeS1jb25zdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI2OGFh Mi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTAtQ3JlZGVudGlhbFVJRW50cnktY29uc3QucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIGI0ZTU2ZDIyMjc1Y2FlNWE5 MTA0NjNhOTY2YTk2MzQ1NDMwYTgzZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBJ dmFuIE11cmFzaG92IDxpdmFuLm11cmFzaG92QGxnZS5jb20+Ci1EYXRlOiBTYXQsIDE3IERlYyAy MDIyIDEyOjA2OjAxICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIGxpYnN0ZGMrKzogRG9uJ3QgdXNl IGNvbnN0IG1lbWJlcnMgaW4gc3RkOjp2ZWN0b3IgaW4gcGFzc3dvcmRfbWFuYWdlcjo6Q3JlZGVu dGlhbFVJRW50cnkKLQotT3RoZXJ3aXNlIGJ1aWxkIGZhaWxzIHdoZW4gYnVpbGRpbmcgd2l0aCB1 c2VfY3VzdG9tX2xpYmN4eD1mYWxzZS4KLVRoZSBlcnJvciBleGFtcGxlOgotc3RkOjp2ZWN0b3Ig bXVzdCBoYXZlIGEgbm9uLWNvbnN0LCBub24tdm9sYXRpbGUgdmFsdWVfdHlwZQotCi1JbXBsZW1l bnRhdGlvbiBvZiBzdGQ6OnZlY3RvciBpbiBsaWJzdGRjKysgZG9lcyBub3QgYWxsb3cgY29uc3Qu Ci0KLUJ1ZzogOTU3NTE5Ci1DaGFuZ2UtSWQ6IEkwODlkZTJkNTJkZjI1MTM4ZDc0ZGJmMDFmZGY2 MWQ2MzAxYjRkODcxCi1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xl c291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQxMTEwMzcKLVJldmlld2VkLWJ5OiBNb2hhbWVk IEFtaXIgWW9zZWYgPG1hbWlyQGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTogTW9oYW1lZCBB bWlyIFlvc2VmIDxtYW1pckBjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMv aGVhZHMvbWFpbkB7IzEwODQ2OTd9Ci0tLS0KLQotZGlmZiAtLWdpdCBhL2NvbXBvbmVudHMvcGFz c3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVudGlhbF91aV9lbnRyeS5jYyBiL2Nv bXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVudGlhbF91aV9l bnRyeS5jYwotaW5kZXggMWUwNzY2YS4uYTlhMzRmNyAxMDA2NDQKLS0tLSBhL2NvbXBvbmVudHMv cGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvdWkvY3JlZGVudGlhbF91aV9lbnRyeS5jYwot KysrIGIvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci91aS9jcmVkZW50 aWFsX3VpX2VudHJ5LmNjCi1AQCAtOTcsNyArOTcsNyBAQAotICAgLy8gRm9yIGNhc2VzIHdoZW4g dGhlIG5vdGVzIGRpZmZlciB3aXRoaW4gZ3JvdXBlZCBwYXNzd29yZHMgKGUuZzogYQotICAgLy8g Y3JlZGVudGlhbCBleGlzdHMgaW4gYm90aCBhY2NvdW50IGFuZCBwcm9maWxlIHN0b3JlcyksIHJl c3BlY3RpdmUgbm90ZXMKLSAgIC8vIHNob3VsZCBiZSBjb25jYXRlbmF0ZWQgYW5kIGxpbmVicmVh ayB1c2VkIGFzIGEgZGVsaW1pdGVyLgotLSAgc3RkOjp2ZWN0b3I8Y29uc3Qgc3RkOjp1MTZzdHJp bmc+IG5vdGVzX3dpdGhfZHVwbGljYXRlczsKLSsgIHN0ZDo6dmVjdG9yPHN0ZDo6dTE2c3RyaW5n PiBub3Rlc193aXRoX2R1cGxpY2F0ZXM7Ci0gICBmb3IgKGNvbnN0IGF1dG8mIGZvcm0gOiBmb3Jt cykgewotICAgICAvLyBPbmx5IG5vdGVzIHdpdGggYW4gZW1wdHkgYHVuaXF1ZV9kaXNwbGF5X25h bWVgIGFyZSBzdXBwb3J0ZWQgaW4gdGhlCi0gICAgIC8vIHNldHRpbmdzIFVJLgotQEAgLTEwOSw3 ICsxMDksNyBAQAotICAgfQotICAgYXV0byB1bmlxdWVfbm90ZXMgPQotICAgICAgIGJhc2U6Ok1h a2VGbGF0U2V0PHN0ZDo6dTE2c3RyaW5nPihzdGQ6Om1vdmUobm90ZXNfd2l0aF9kdXBsaWNhdGVz KSk7Ci0tICBub3RlID0gYmFzZTo6Sm9pblN0cmluZyhzdGQ6OnZlY3Rvcjxjb25zdCBzdGQ6OnUx NnN0cmluZz4oCi0rICBub3RlID0gYmFzZTo6Sm9pblN0cmluZyhzdGQ6OnZlY3RvcjxzdGQ6OnUx NnN0cmluZz4oCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pcXVlX25vdGVzLmJl Z2luKCksIHVuaXF1ZV9ub3Rlcy5lbmQoKSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1 IlxuIik7Ci0gCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEwLURhcmtNb2RlTEFCQ29sb3JTcGFj ZS1wb3cucGF0Y2ggYi9jaHJvbWl1bS0xMTAtRGFya01vZGVMQUJDb2xvclNwYWNlLXBvdy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTFmMWFlZS4uMDAwMDAwMAotLS0gYS9j aHJvbWl1bS0xMTAtRGFya01vZGVMQUJDb2xvclNwYWNlLXBvdy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDM3ICswLDAgQEAKLUZyb20gNzk1YzMxMWFhZTRiNzE4NTg1YmM2MTk0MTg5ZjA2MTAw MGM4MjNhMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4g PHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjMgRGVjIDIwMjIgMTQ6Mjg6NTUg KzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gbGlic3RkYysrOiBmaXggbmFycm93aW5nIGluIGJsaW5r OjpEYXJrTW9kZUxBQkNvbG9yU3BhY2UKLQotQ2xhbmctMTQgZXJyb3JzIG91dCB3aXRoIG5hcnJv d2luZyBmcm9tIGRvdWJsZSB0byBmbG9hdC4gVXNlIHN0ZDo6cG93Ci1pbnN0ZWFkLgotLS0tCi0g Li4uL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2RhcmtfbW9kZV9sYWJfY29sb3Jfc3BhY2Uu aCAgIHwgNSArKystLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9y bS9ncmFwaGljcy9kYXJrX21vZGVfbGFiX2NvbG9yX3NwYWNlLmggYi90aGlyZF9wYXJ0eS9ibGlu ay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9kYXJrX21vZGVfbGFiX2NvbG9yX3NwYWNlLmgK LWluZGV4IDk5OWMzZTUuLmMxOGVhN2IgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9kYXJrX21vZGVfbGFiX2NvbG9yX3NwYWNlLmgKLSsr KyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2dyYXBoaWNzL2RhcmtfbW9k ZV9sYWJfY29sb3Jfc3BhY2UuaAotQEAgLTEyNSw3ICsxMjUsNyBAQCBjbGFzcyBEYXJrTW9kZUxB QkNvbG9yU3BhY2UgewotICAgLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ0lFTEFC X2NvbG9yX3NwYWNlI1JldmVyc2VfdHJhbnNmb3JtYXRpb24uCi0gICBTa1YzIEZyb21YWVooY29u c3QgU2tWMyYgdikgY29uc3QgewotICAgICBhdXRvIGYgPSBbXShmbG9hdCB4KSB7Ci0tICAgICAg cmV0dXJuIHggPiBrU2lnbWEzID8gcG93KHgsIDEuMGYgLyAzLjBmKQotKyAgICAgIHJldHVybiB4 ID4ga1NpZ21hMyA/IHN0ZDo6cG93KHgsIDEuMGYgLyAzLjBmKQotICAgICAgICAgICAgICAgICAg ICAgICAgICA6IHggLyAoMyAqIGtTaWdtYTIpICsgNC4wZiAvIDI5LjBmOwotICAgICB9OwotIAot QEAgLTE0NSw3ICsxNDUsOCBAQCBjbGFzcyBEYXJrTW9kZUxBQkNvbG9yU3BhY2UgewotICAgLy8g aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ0lFTEFCX2NvbG9yX3NwYWNlI0ZvcndhcmRf dHJhbnNmb3JtYXRpb24uCi0gICBTa1YzIFRvWFlaKGNvbnN0IFNrVjMmIGxhYikgY29uc3Qgewot ICAgICBhdXRvIGludmYgPSBbXShmbG9hdCB4KSB7Ci0tICAgICAgcmV0dXJuIHggPiBrU2lnbWEg PyBwb3coeCwgMy4wZikgOiAzLjBmICoga1NpZ21hMiAqICh4IC0gNC4wZiAvIDI5LjBmKTsKLSsg ICAgICByZXR1cm4geCA+IGtTaWdtYSA/IHN0ZDo6cG93KHgsIDMuMGYpCi0rICAgICAgICAgICAg ICAgICAgICAgICAgOiAzLjBmICoga1NpZ21hMiAqICh4IC0gNC4wZiAvIDI5LjBmKTsKLSAgICAg fTsKLSAKLSAgICAgU2tWMyB2ID0ge0NsYW1wKGxhYi54LCAwLjBmLCAxMDAuMGYpLCBDbGFtcChs YWIueSwgLTEyOC4wZiwgMTI4LjBmKSwKLS0tIAotMi4zOC4yCi0KCmRpZmYgLS1naXQgYS9jaHJv bWl1bS0xMTAtSW5Qcm9ncmVzc0Rvd25sb2FkTWFuYWdlci1pbmNsdWRlLnBhdGNoIGIvY2hyb21p dW0tMTEwLUluUHJvZ3Jlc3NEb3dubG9hZE1hbmFnZXItaW5jbHVkZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYWRjNTFkYi4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTAt SW5Qcm9ncmVzc0Rvd25sb2FkTWFuYWdlci1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzAgKzAsMCBAQAotRnJvbSA2MzAyN2M2MmVhYTFiNmM1YjBkMjc2MmE1MTFmMTYxMWIxNWQz NzI4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3Ro YTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogTW9uLCAxOSBEZWMgMjAyMiAxMzo1NjoxNyArMDAw MAotU3ViamVjdDogW1BBVENIXSBsaWJzdGRjKys6IGZpeCBpbmNvbXBsZXRlIHR5cGUgb2YgZG93 bmxvYWQ6OkluUHJvZ3Jlc3NEb3dubG9hZE1hbmFnZXIKLQotRGVzdHJ1Y3RvciBvZiBzdGQ6OnVu aXF1ZV9wdHIgaW4gbGlic3RkYysrIHVzZXMgc2l6ZW9mKCkgd2hpY2gKLXJlcXVpcmVzIGZ1bGwg ZGVmaW5pdGlvbiBvZiBkb3dubG9hZDo6SW5Qcm9ncmVzc0Rvd25sb2FkTWFuYWdlcgotZm9yIHJl dHVybiB0eXBlIG9mIGNvbnRlbnQ6OkJyb3dzZXJDb250ZXh0OjoKLVJldHJpZXZlSW5Qcm9ncmVz c0Rvd25sb2FkTWFuYWdlcigpLgotCi1CdWc6IDk1NzUxOQotQ2hhbmdlLUlkOiBJZjk5YWE4ZDUy MjM4YmFjYjFjYjU1OWEzMDBlMTRlZDNhMDViNzI5NwotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hy b21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80MTExNTI2Ci1S ZXZpZXdlZC1ieTogQm8gTGl1IDxib2xpdUBjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFN0 ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLUNyLUNvbW1pdC1Qb3NpdGlv bjogcmVmcy9oZWFkcy9tYWluQHsjMTA4NDkyNH0KLS0tLQotCi1kaWZmIC0tZ2l0IGEvY29udGVu dC9icm93c2VyL2Jyb3dzZXJfY29udGV4dC5jYyBiL2NvbnRlbnQvYnJvd3Nlci9icm93c2VyX2Nv bnRleHQuY2MKLWluZGV4IDYxODA5NjkuLjIyZTlkYmIgMTAwNjQ0Ci0tLS0gYS9jb250ZW50L2Jy b3dzZXIvYnJvd3Nlcl9jb250ZXh0LmNjCi0rKysgYi9jb250ZW50L2Jyb3dzZXIvYnJvd3Nlcl9j b250ZXh0LmNjCi1AQCAtMzAsNiArMzAsNyBAQAotICNpbmNsdWRlICJiYXNlL3VuZ3Vlc3NhYmxl X3Rva2VuLmgiCi0gI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotICNpbmNsdWRlICJi dWlsZC9jaHJvbWVvc19idWlsZGZsYWdzLmgiCi0rI2luY2x1ZGUgImNvbXBvbmVudHMvZG93bmxv YWQvcHVibGljL2NvbW1vbi9pbl9wcm9ncmVzc19kb3dubG9hZF9tYW5hZ2VyLmgiCi0gI2luY2x1 ZGUgImNvbXBvbmVudHMvc2VydmljZXMvc3RvcmFnZS9wcml2aWxlZ2VkL21vam9tL2luZGV4ZWRf ZGJfY29udHJvbC5tb2pvbS5oIgotICNpbmNsdWRlICJjb250ZW50L2Jyb3dzZXIvYmxvYl9zdG9y YWdlL2Nocm9tZV9ibG9iX3N0b3JhZ2VfY29udGV4dC5oIgotICNpbmNsdWRlICJjb250ZW50L2Jy b3dzZXIvYnJvd3Nlcl9jb250ZXh0X2ltcGwuaCIKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTAt TmF0aXZlVGhlbWVCYXNlLWZhYnMucGF0Y2ggYi9jaHJvbWl1bS0xMTAtTmF0aXZlVGhlbWVCYXNl LWZhYnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM3ZDBlOGIuLjAwMDAw MDAKLS0tIGEvY2hyb21pdW0tMTEwLU5hdGl2ZVRoZW1lQmFzZS1mYWJzLnBhdGNoCisrKyAvZGV2 L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSAwN2YwYTg3ZTQ0MDlmMjc4NTRiM2ExZDE3ZjI3 MGEzNDk3ZjM4OTQ3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0 bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogTW9uLCAxOSBEZWMgMjAyMiAxOTow NzozNyArMDAwMAotU3ViamVjdDogW1BBVENIXSBHQ0M6IHVzZSBmYWJzZiBpbiB1aTo6TmF0aXZl VGhlbWVCYXNlOjpPdXRsaW5lQ29sb3IKLQotVGVtcGxhdGUgZGVkdWN0aW9uIGZhaWxzIGZvciBi YXNlOjpjbGFtcCwgYmVjYXVzZSByZXR1cm4gdHlwZSBvZgotZmFicyBpcyBkb3VibGUgYW5kIGFs bCBvdGhlciBwYXJhbWV0ZXJzIGFyZSBmbG9hdC4KLQotQnVnOiA4MTkyOTQKLUNoYW5nZS1JZDog STM0ZjFjOWM5OWQxM2Y2OTA5N2Q4OTliZmNiMDUyNmNiZGY0ZmUxYzEKLVJldmlld2VkLW9uOiBo dHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysv NDExMDg2OQotUmV2aWV3ZWQtYnk6IFBldGVyIEthc3RpbmcgPHBrYXN0aW5nQGNocm9taXVtLm9y Zz4KLUNvbW1pdC1RdWV1ZTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29t PgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMDg1MDM0fQotLS0tCi0K LWRpZmYgLS1naXQgYS91aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1lX2Jhc2UuY2MgYi91aS9u YXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1lX2Jhc2UuY2MKLWluZGV4IDE2OWM2MGMuLjM2ZGI0OWEg MTAwNjQ0Ci0tLS0gYS91aS9uYXRpdmVfdGhlbWUvbmF0aXZlX3RoZW1lX2Jhc2UuY2MKLSsrKyBi L3VpL25hdGl2ZV90aGVtZS9uYXRpdmVfdGhlbWVfYmFzZS5jYwotQEAgLTEzMzYsNyArMTMzNiw3 IEBACi0gICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgaGFzIGJlZW4gdGVzdGVkIHRvIGxvb2sgT0sg d2l0aCBhbGwgb2YgdGhlCi0gICAvLyBkZWZhdWx0IEdUSyB0aGVtZXMuCi0gICBTa1NjYWxhciBt aW5fZGlmZiA9IGJhc2U6OmNsYW1wKChoc3YxWzFdICsgaHN2MlsxXSkgKiAxLjJmLCAwLjI4Ziwg MC41Zik7Ci0tICBTa1NjYWxhciBkaWZmID0gYmFzZTo6Y2xhbXAoZmFicyhoc3YxWzJdIC0gaHN2 MlsyXSkgLyAyLCBtaW5fZGlmZiwgMC41Zik7Ci0rICBTa1NjYWxhciBkaWZmID0gYmFzZTo6Y2xh bXAoZmFic2YoaHN2MVsyXSAtIGhzdjJbMl0pIC8gMiwgbWluX2RpZmYsIDAuNWYpOwotIAotICAg aWYgKGhzdjFbMl0gKyBoc3YyWzJdID4gMS4wKQotICAgICBkaWZmID0gLWRpZmY7CgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTEwLVByZXNlbnRlci1pbmNsdWRlLnBhdGNoIGIvY2hyb21pdW0tMTEw LVByZXNlbnRlci1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3 Y2ZiODRiLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMC1QcmVzZW50ZXItaW5jbHVkZS5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAgQEAKLUZyb20gYzY5YjgxOGE5ZmNlMmJmMGZi ODFiMjgwZDZmNGNjMTVlNmZkYjhhZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0 ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMTYgRGVj IDIwMjIgMTc6MTM6NDMgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gR0NDOiBmaXggaW5jb21wbGV0 ZSB0eXBlIG9mIGdsOjpQcmVzZW50ZXIKLQotR0NDIHJlcXVpcmVzIGZ1bGwgZGVmaW5pdGlvbiBv ZiBnbDo6UHJlc2VudGVyIGZvciByZXR1cm4gdHlwZQotb2YgZ2w6OkdMT3pvbmVFR0w6OkNyZWF0 ZUdMQ29udGV4dCgpIHdpdGggYmFzZTo6c2NvcGVkX3JlZnB0ci4KLS0tLQotIHVpL296b25lL2Nv bW1vbi9nbF9vem9uZV9lZ2wuY2MgfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKLQotZGlmZiAtLWdpdCBhL3VpL296b25lL2NvbW1vbi9nbF9vem9uZV9lZ2wuY2MgYi91aS9v em9uZS9jb21tb24vZ2xfb3pvbmVfZWdsLmNjCi1pbmRleCA5YjFkMzdlLi5lNzQ1ZGQ3IDEwMDY0 NAotLS0tIGEvdWkvb3pvbmUvY29tbW9uL2dsX296b25lX2VnbC5jYwotKysrIGIvdWkvb3pvbmUv Y29tbW9uL2dsX296b25lX2VnbC5jYwotQEAgLTEzLDYgKzEzLDcgQEAKLSAjaW5jbHVkZSAidWkv Z2wvZ2xfc2hhcmVfZ3JvdXAuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfc3VyZmFjZS5oIgotICNp bmNsdWRlICJ1aS9nbC9nbF91dGlscy5oIgotKyNpbmNsdWRlICJ1aS9nbC9wcmVzZW50ZXIuaCIK LSAKLSBuYW1lc3BhY2UgdWkgewotIAotLS0gCi0yLjM3LjQKLQoKZGlmZiAtLWdpdCBhL2Nocm9t aXVtLTExMC1TdG9yYWdlUXVldWUtZGVjbHR5cGUucGF0Y2ggYi9jaHJvbWl1bS0xMTAtU3RvcmFn ZVF1ZXVlLWRlY2x0eXBlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDBl NjZjLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMC1TdG9yYWdlUXVldWUtZGVjbHR5cGUucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi1Gcm9tIDIwMGZjN2MzZWM5NWJjODZm NmFmYjU1Y2EzYzY5MWU5MjM0NjMxMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBM ZW9uaWQgQmFyYXogPGxiYXJhekBjaHJvbWl1bS5vcmc+Ci1EYXRlOiBNb24sIDE5IERlYyAyMDIy IDIxOjQ2OjA0ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEdDQzogZml4IHVzYWdlIG9mIGRlY2x0 eXBlIGluIHJlcG9ydGluZzo6U3RvcmFnZVF1ZXVlCi0KLUdDQyBkb2VzIG5vdCBhbGxvdyB0byB1 c2UgZGVjbHR5cGUgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIG9mCi1hIGZ1bmN0aW9uIHBhcmFtZXRl ci4KLQotQnVnOiA4MTkyOTQKLUNoYW5nZS1JZDogSTdlYmIyNTU2MzQzNzVjZTg4OTkzM2Y4YjY3 YWNiMTBmMGU1NmNhOGQKLVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDExMTU0OAotUmV2aWV3ZWQtYnk6IExlb25p ZCBCYXJheiA8bGJhcmF6QGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTogTGVvbmlkIEJhcmF6 IDxsYmFyYXpAY2hyb21pdW0ub3JnPgotUmV2aWV3ZWQtYnk6IEhvbmcgWHUgPHh1aG9uZ0Bnb29n bGUuY29tPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMDg1MTI5fQot LS0tCi0KLWRpZmYgLS1naXQgYS9jb21wb25lbnRzL3JlcG9ydGluZy9zdG9yYWdlL3N0b3JhZ2Vf cXVldWUuY2MgYi9jb21wb25lbnRzL3JlcG9ydGluZy9zdG9yYWdlL3N0b3JhZ2VfcXVldWUuY2MK LWluZGV4IGM1NDZkNTVhLi40OWUwZjJjIDEwMDY0NAotLS0tIGEvY29tcG9uZW50cy9yZXBvcnRp bmcvc3RvcmFnZS9zdG9yYWdlX3F1ZXVlLmNjCi0rKysgYi9jb21wb25lbnRzL3JlcG9ydGluZy9z dG9yYWdlL3N0b3JhZ2VfcXVldWUuY2MKLUBAIC0yMDMsNyArMjAzLDYgQEAKLSAgICAgICBlbmNy eXB0aW9uX21vZHVsZV8oZW5jcnlwdGlvbl9tb2R1bGUpLAotICAgICAgIGNvbXByZXNzaW9uX21v ZHVsZV8oY29tcHJlc3Npb25fbW9kdWxlKSB7Ci0gICBERVRBQ0hfRlJPTV9TRVFVRU5DRShzdG9y YWdlX3F1ZXVlX3NlcXVlbmNlX2NoZWNrZXJfKTsKLS0gIERDSEVDSyh3cml0ZV9jb250ZXh0c19x dWV1ZV8uZW1wdHkoKSk7Ci0gfQotIAotIFN0b3JhZ2VRdWV1ZTo6flN0b3JhZ2VRdWV1ZSgpIHsK LUBAIC0yMTMzLDkgKzIxMzIsNyBAQAotIH0KLSAKLSB2b2lkIFN0b3JhZ2VRdWV1ZTo6VGVzdElu amVjdEVycm9yc0Zvck9wZXJhdGlvbigKLS0gICAgYmFzZTo6UmVwZWF0aW5nQ2FsbGJhY2s8Ci0t ICAgICAgICBTdGF0dXModGVzdDo6U3RvcmFnZVF1ZXVlT3BlcmF0aW9uS2luZCBvcGVyYXRpb25f a2luZCwgaW50NjRfdCk+Ci0tICAgICAgICBoYW5kbGVyKSB7Ci0rICAgIHRlc3Q6OkVycm9ySW5q ZWN0aW9uSGFuZGxlclR5cGUgaGFuZGxlcikgewotICAgdGVzdF9pbmplY3Rpb25faGFuZGxlcl8g PSBoYW5kbGVyOwotIH0KLSAKLWRpZmYgLS1naXQgYS9jb21wb25lbnRzL3JlcG9ydGluZy9zdG9y YWdlL3N0b3JhZ2VfcXVldWUuaCBiL2NvbXBvbmVudHMvcmVwb3J0aW5nL3N0b3JhZ2Uvc3RvcmFn ZV9xdWV1ZS5oCi1pbmRleCAzOWVkZDhiLi4wNGQ1ZjlmIDEwMDY0NAotLS0tIGEvY29tcG9uZW50 cy9yZXBvcnRpbmcvc3RvcmFnZS9zdG9yYWdlX3F1ZXVlLmgKLSsrKyBiL2NvbXBvbmVudHMvcmVw b3J0aW5nL3N0b3JhZ2Uvc3RvcmFnZV9xdWV1ZS5oCi1AQCAtNTIsNiArNTIsOSBAQAotICAga1dy aXRlTG93RGlza1NwYWNlLAotIH07Ci0gCi0rdXNpbmcgRXJyb3JJbmplY3Rpb25IYW5kbGVyVHlw ZSA9Ci0rICAgIGJhc2U6OlJlcGVhdGluZ0NhbGxiYWNrPFN0YXR1cyh0ZXN0OjpTdG9yYWdlUXVl dWVPcGVyYXRpb25LaW5kLCBpbnQ2NF90KT47Ci0rCi0gfSAgLy8gbmFtZXNwYWNlIHRlc3QKLSAK LSAvLyBTdG9yYWdlIHF1ZXVlIHJlcHJlc2VudHMgc2luZ2xlIHF1ZXVlIG9mIGRhdGEgdG8gYmUg Y29sbGVjdGVkIGFuZCBzdG9yZWQKLUBAIC0xNDIsOCArMTQ1LDcgQEAKLSAgIC8vIGNhbiBiZSBy ZXR1cm5lZCBhcyBhIHJlc3VsdGluZyBvcGVyYXRpb24gc3RhdHVzIHRvby4KLSAgIC8vIElmIGBo YW5kbGVyYCBpcyBudWxsLCBlcnJvciBpbmplY3Rpb25zIGlzIGRpc2FibGVkLgotICAgdm9pZCBU ZXN0SW5qZWN0RXJyb3JzRm9yT3BlcmF0aW9uKAotLSAgICAgIGJhc2U6OlJlcGVhdGluZ0NhbGxi YWNrPFN0YXR1cyh0ZXN0OjpTdG9yYWdlUXVldWVPcGVyYXRpb25LaW5kLCBpbnQ2NF90KT4KLS0g ICAgICAgICAgaGFuZGxlciA9IGRlY2x0eXBlKGhhbmRsZXIpKCkpOwotKyAgICAgIHRlc3Q6OkVy cm9ySW5qZWN0aW9uSGFuZGxlclR5cGUgaGFuZGxlciA9IGJhc2U6Ok51bGxDYWxsYmFjaygpKTsK LSAKLSAgIC8vIEFjY2VzcyBxdWV1ZSBvcHRpb25zLgotICAgY29uc3QgUXVldWVPcHRpb25zJiBv cHRpb25zKCkgY29uc3QgeyByZXR1cm4gb3B0aW9uc187IH0KLUBAIC00OTIsOCArNDk0LDcgQEAK LSAgIC8vIFRlc3Qgb25seTogcmVjb3JkcyBjYWxsYmFjayB0byBiZSBpbnZva2VkLiBJdCB3aWxs IGJlIGNhbGxlZCB3aXRoIG9wZXJhdGlvbgotICAgLy8ga2luZCBhbmQgc2VxIGlkLCBhbmQgd2ls bCByZXR1cm4gU3RhdHVzIChub24tT0sgc3RhdHVzIGluZGljYXRlcyB0aGUKLSAgIC8vIGZhaWx1 cmUgdG8gYmUgaW5qZWN0ZWQpLiBJbiBwcm9kdWN0aW9uIGNvZGUgbXVzdCBiZSBudWxsLgotLSAg YmFzZTo6UmVwZWF0aW5nQ2FsbGJhY2s8U3RhdHVzKHRlc3Q6OlN0b3JhZ2VRdWV1ZU9wZXJhdGlv bktpbmQsIGludDY0X3QpPgotLSAgICAgIHRlc3RfaW5qZWN0aW9uX2hhbmRsZXJfOwotKyAgdGVz dDo6RXJyb3JJbmplY3Rpb25IYW5kbGVyVHlwZSB0ZXN0X2luamVjdGlvbl9oYW5kbGVyX3tiYXNl OjpOdWxsQ2FsbGJhY2soKX07Ci0gCi0gICAvLyBXZWFrIHBvaW50ZXIgZmFjdG9yeSAobXVzdCBi ZSBsYXN0IG1lbWJlciBpbiBjbGFzcykuCi0gICBiYXNlOjpXZWFrUHRyRmFjdG9yeTxTdG9yYWdl UXVldWU+IHdlYWtwdHJfZmFjdG9yeV97dGhpc307CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEw LVN5bmNJdGVyYXRvci10ZW1wbGF0ZS5wYXRjaCBiL2Nocm9taXVtLTExMC1TeW5jSXRlcmF0b3It dGVtcGxhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM2NWM3ZTIuLjAw MDAwMDAKLS0tIGEvY2hyb21pdW0tMTEwLVN5bmNJdGVyYXRvci10ZW1wbGF0ZS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLUZyb20gZGE4MDI5NDM4ZWE4ZjAwYTE1NGNiNmEx YmJjODI0M2RlMzk2OTBkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4g SGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFN1biwgMTggRGVjIDIwMjIg MjI6MTE6NTggKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gR0NDOiByZW1vdmUgcmVkdW5kYW50IHRl bXBsYXRlIHBhcmFtZXRlciBmcm9tIFN5bmNJdGVyYXRvcgotCi1HQ0MgMTIgaW4gQysrMjAgbW9k ZSBkb2VzIG5vdCBhbGxvdyB0aGlzIGFueW1vcmUuCi0KLUJ1ZzogODE5Mjk0Ci1DaGFuZ2UtSWQ6 IEk2YjIyZDM5MTlmMDhmYjcyYTViMWQ2OWVlYTU5YzZlOTUyNTljMTZmCi1SZXZpZXdlZC1vbjog aHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8r LzQxMTE1NDcKLUNvbW1pdC1RdWV1ZTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1h aWwuY29tPgotUmV2aWV3ZWQtYnk6IEtlbnRhcm8gSGFyYSA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+ Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEwODQ4MDh9Ci0tLS0KLQot ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMv YmluZF9nZW4vc3luY19pdGVyYXRvci5weSBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2Jp bmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vc3luY19pdGVyYXRvci5weQotaW5kZXggMWQ2N2ZhMi4u OWNlYzUwOTQgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5kaW5n cy9zY3JpcHRzL2JpbmRfZ2VuL3N5bmNfaXRlcmF0b3IucHkKLSsrKyBiL3RoaXJkX3BhcnR5L2Js aW5rL3JlbmRlcmVyL2JpbmRpbmdzL3NjcmlwdHMvYmluZF9nZW4vc3luY19pdGVyYXRvci5weQot QEAgLTM2LDcgKzM2LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlcl9pbml0aWFs aXplcl9saXN0PVsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJHtiYXNlX2NsYXNzX25h bWV9KHNvdXJjZSwga2luZCkiLAotICAgICAgICAgICAgICAgICAgICAgICAgXSksCi0tICAgICAg ICBDeHhGdW5jRGVjbE5vZGUobmFtZT0ifiR7Y2xhc3NfbmFtZX0iLAotKyAgICAgICAgQ3h4RnVu Y0RlY2xOb2RlKG5hbWU9In5TeW5jSXRlcmF0b3IiLAotICAgICAgICAgICAgICAgICAgICAgICAg IGFyZ19kZWNscz1bXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5fdHlwZT0iIiwK LSAgICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZT1UcnVlLAoKZGlmZiAtLWdpdCBhL2No cm9taXVtLTExMC1kcGYtYXJtNjQucGF0Y2ggYi9jaHJvbWl1bS0xMTAtZHBmLWFybTY0LnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhNGJhODdiLi4wMDAwMDAwCi0tLSBhL2No cm9taXVtLTExMC1kcGYtYXJtNjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NCArMCwwIEBA Ci1Gcm9tIGRmNzI4ZDJlMmZlODI4NDMxNmVkMDgzYzVhMjEwYmNhMWU1MDk4NmUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdhbGlhLmNv bT4KLURhdGU6IE1vbiwgMTYgSmFuIDIwMjMgMTI6NTM6MjEgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gR0NDOiBmaXggZGlzdHJpYnV0ZWQgcG9pbnQgZnVuY3Rpb25zIGJ1aWxkIGluIEFSTTY0IHdp dGggU1ZFCi0KLVNWRSBidWlsZCBpcyBicm9rZW4gaW4gQVJNNjQsIGJlY2F1c2UgZGlzdHJpYnV0 ZWRfcG9pbnRfZnVuY3Rpb25zCi1pcyB0cnlpbmcgdG8gdXNlIG9wZXJhdG9yJiBhbmQgb3BlcmF0 b3J8LgotCi1CdWc6ODE5Mjk0Ci1DaGFuZ2UtSWQ6IEk0NjVlZmE0NzVlZDU5MDMxYTJjZmFmNDE3 MmVmOWZiZDhiYjA1MDUwCi0tLS0KLSBkcGYvaW50ZXJuYWwvZXZhbHVhdGVfcHJnX2h3eS5jYyB8 IDM0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE1 IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZHBmL2ludGVy bmFsL2V2YWx1YXRlX3ByZ19od3kuY2MgYi9kcGYvaW50ZXJuYWwvZXZhbHVhdGVfcHJnX2h3eS5j YwotaW5kZXggM2Q3NDNmNC4uYTFkZDhlMCAxMDA2NDQKLS0tLSBhLy90aGlyZF9wYXJ0eS9kaXN0 cmlidXRlZF9wb2ludF9mdW5jdGlvbnMvY29kZS9kcGYvaW50ZXJuYWwvZXZhbHVhdGVfcHJnX2h3 eS5jYwotKysrIGIvL3RoaXJkX3BhcnR5L2Rpc3RyaWJ1dGVkX3BvaW50X2Z1bmN0aW9ucy9jb2Rl L2RwZi9pbnRlcm5hbC9ldmFsdWF0ZV9wcmdfaHd5LmNjCi1AQCAtMTI0LDE0ICsxMjQsMTQgQEAg YXV0byBJc0JpdFNldChEIGQsIGNvbnN0IFYgaW5wdXQsIGludCBpbmRleCkgewotIAotICAgLy8g Q29tcHV0ZSBpbnB1dCBBTkQgaW5kZXhfNjQgb24gNjQtYml0IGludGVnZXJzLgotICAgYXV0byBp bnB1dF82NCA9IGhuOjpCaXRDYXN0KGQ2NCwgaW5wdXQpOwotLSAgaW5wdXRfNjQgJj0gaW5kZXhf NjQ7Ci0rICBpbnB1dF82NCA9IGhuOjpBbmQoaW5wdXRfNjQsIGluZGV4XzY0KTsKLSAKLSAgIC8v IFRha2UgdGhlIE9SIG9mIGV2ZXJ5IHR3byBhZGphY2VudCA2NC1iaXQgaW50ZWdlcnMuIFRoaXMg ZW5zdXJlcyB0aGF0IGVhY2gKLSAgIC8vIGhhbGYgb2YgYW4gMTI4LWJpdCBibG9jayBpcyBub256 ZXJvIGlmZiBhdCBsZWFzdCBvbmUgaGFsZiB3YXMgbm9uemVyby4KLS0gIGlucHV0XzY0IHw9IGhu OjpTaHVmZmxlMDEoaW5wdXRfNjQpOwotKyAgaW5wdXRfNjQgPSBobjo6T3IoaW5wdXRfNjQsIGhu OjpTaHVmZmxlMDEoaW5wdXRfNjQpKTsKLSAKLSAgIC8vIENvbXB1dGUgYSA2NC1iaXQgbWFzayB0 aGF0IGNoZWNrcyB3aGljaCBpbnRlZ2VycyBhcmUgbm9uemVyby4KLS0gIHJldHVybiBpbnB1dF82 NCAhPSBobjo6WmVybyhkNjQpOwotKyAgcmV0dXJuIGhuOjpOZShpbnB1dF82NCwgaG46Olplcm8o ZDY0KSk7Ci0gfQotIAotIC8vIER1bW15IHN0cnVjdCB0byBnZXQgSFdZX0FMSUdOIGFzIGEgbnVt YmVyLCBmb3IgdGVzdGluZyBpZiBhbiBhcnJheSBvZgotQEAgLTIzNiwyNCArMjM2LDIwIEBAIGFi c2w6OlN0YXR1cyBFdmFsdWF0ZVNlZWRzSHd5KAotICAgICAgIC8vIEFwcGx5IGNvcnJlY3Rpb24u Ci0gICAgICAgY29uc3QgYXV0byBjb3JyZWN0aW9uX3NlZWQgPSBobjo6TG9hZER1cDEyOCgKLSAg ICAgICAgICAgZDY0LCByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ2NF90Kj4oY29ycmVjdGlv bl9zZWVkcyArIGopKTsKLS0gICAgICB2ZWNfMCBePQotLSAgICAgICAgICBobjo6Qml0Q2FzdChk OCwgaG46OklmVGhlbkVsc2VaZXJvKGNvbnRyb2xfbWFza18wLCBjb3JyZWN0aW9uX3NlZWQpKTsK LS0gICAgICB2ZWNfMSBePQotLSAgICAgICAgICBobjo6Qml0Q2FzdChkOCwgaG46OklmVGhlbkVs c2VaZXJvKGNvbnRyb2xfbWFza18xLCBjb3JyZWN0aW9uX3NlZWQpKTsKLS0gICAgICB2ZWNfMiBe PQotLSAgICAgICAgICBobjo6Qml0Q2FzdChkOCwgaG46OklmVGhlbkVsc2VaZXJvKGNvbnRyb2xf bWFza18yLCBjb3JyZWN0aW9uX3NlZWQpKTsKLS0gICAgICB2ZWNfMyBePQotLSAgICAgICAgICBo bjo6Qml0Q2FzdChkOCwgaG46OklmVGhlbkVsc2VaZXJvKGNvbnRyb2xfbWFza18zLCBjb3JyZWN0 aW9uX3NlZWQpKTsKLSsgICAgICB2ZWNfMCA9IGhuOjpYb3IodmVjXzAsIGhuOjpCaXRDYXN0KGQ4 LCBobjo6SWZUaGVuRWxzZVplcm8oY29udHJvbF9tYXNrXzAsIGNvcnJlY3Rpb25fc2VlZCkpKTsK LSsgICAgICB2ZWNfMSA9IGhuOjpYb3IodmVjXzEsIGhuOjpCaXRDYXN0KGQ4LCBobjo6SWZUaGVu RWxzZVplcm8oY29udHJvbF9tYXNrXzEsIGNvcnJlY3Rpb25fc2VlZCkpKTsKLSsgICAgICB2ZWNf MiA9IGhuOjpYb3IodmVjXzIsIGhuOjpCaXRDYXN0KGQ4LCBobjo6SWZUaGVuRWxzZVplcm8oY29u dHJvbF9tYXNrXzIsIGNvcnJlY3Rpb25fc2VlZCkpKTsKLSsgICAgICB2ZWNfMyA9IGhuOjpYb3Io dmVjXzMsIGhuOjpCaXRDYXN0KGQ4LCBobjo6SWZUaGVuRWxzZVplcm8oY29udHJvbF9tYXNrXzMs IGNvcnJlY3Rpb25fc2VlZCkpKTsKLSAKLSAgICAgICAvLyBFeHRyYWN0IGNvbnRyb2wgYml0IGZv ciBuZXh0IGxldmVsLgotICAgICAgIGNvbnN0IGF1dG8gbmV4dF9jb250cm9sX21hc2tfMCA9IElz Qml0U2V0KGQ4LCB2ZWNfMCwgMCk7Ci0gICAgICAgY29uc3QgYXV0byBuZXh0X2NvbnRyb2xfbWFz a18xID0gSXNCaXRTZXQoZDgsIHZlY18xLCAwKTsKLSAgICAgICBjb25zdCBhdXRvIG5leHRfY29u dHJvbF9tYXNrXzIgPSBJc0JpdFNldChkOCwgdmVjXzIsIDApOwotICAgICAgIGNvbnN0IGF1dG8g bmV4dF9jb250cm9sX21hc2tfMyA9IElzQml0U2V0KGQ4LCB2ZWNfMywgMCk7Ci0tICAgICAgdmVj XzAgJj0gY2xlYXJfbG93ZXN0X2JpdDsKLS0gICAgICB2ZWNfMSAmPSBjbGVhcl9sb3dlc3RfYml0 OwotLSAgICAgIHZlY18yICY9IGNsZWFyX2xvd2VzdF9iaXQ7Ci0tICAgICAgdmVjXzMgJj0gY2xl YXJfbG93ZXN0X2JpdDsKLSsgICAgICB2ZWNfMCA9IGhuOjpBbmQodmVjXzAsIGNsZWFyX2xvd2Vz dF9iaXQpOwotKyAgICAgIHZlY18xID0gaG46OkFuZCh2ZWNfMSwgY2xlYXJfbG93ZXN0X2JpdCk7 Ci0rICAgICAgdmVjXzIgPSBobjo6QW5kKHZlY18yLCBjbGVhcl9sb3dlc3RfYml0KTsKLSsgICAg ICB2ZWNfMyA9IGhuOjpBbmQodmVjXzMsIGNsZWFyX2xvd2VzdF9iaXQpOwotIAotICAgICAgIC8v IFBlcmZvcm0gY29udHJvbCBiaXQgY29ycmVjdGlvbi4KLSAgICAgICBjb25zdCBhdXRvIGNvcnJl Y3Rpb25fY29udHJvbF9tYXNrX2xlZnQgPQotQEAgLTMyMSwxMCArMzE3LDEwIEBAIGFic2w6OlN0 YXR1cyBFdmFsdWF0ZVNlZWRzSHd5KAotICAgICAgIC8vIEFwcGx5IGNvcnJlY3Rpb24uCi0gICAg ICAgY29uc3QgYXV0byBjb3JyZWN0aW9uX3NlZWQgPSBobjo6TG9hZER1cDEyOCgKLSAgICAgICAg ICAgZDY0LCByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ2NF90Kj4oY29ycmVjdGlvbl9zZWVk cyArIGopKTsKLS0gICAgICB2ZWMgXj0gaG46OkJpdENhc3QoZDgsIGhuOjpJZlRoZW5FbHNlWmVy byhjb250cm9sX21hc2ssIGNvcnJlY3Rpb25fc2VlZCkpOwotKyAgICAgIHZlYyA9IGhuOjpYb3Io dmVjLCBobjo6Qml0Q2FzdChkOCwgaG46OklmVGhlbkVsc2VaZXJvKGNvbnRyb2xfbWFzaywgY29y cmVjdGlvbl9zZWVkKSkpOwotICAgICAgIC8vIEV4dHJhY3QgY29udHJvbCBiaXQgZm9yIG5leHQg bGV2ZWwuCi0gICAgICAgY29uc3QgYXV0byBuZXh0X2NvbnRyb2xfbWFzayA9IElzQml0U2V0KGQ4 LCB2ZWMsIDApOwotLSAgICAgIHZlYyAmPSBjbGVhcl9sb3dlc3RfYml0OwotKyAgICAgIHZlYyA9 IGhuOjpBbmQodmVjLCBjbGVhcl9sb3dlc3RfYml0KTsKLSAKLSAgICAgICAvLyBQZXJmb3JtIGNv bnRyb2wgYml0IGNvcnJlY3Rpb24uCi0gICAgICAgY29uc3QgYXV0byBjb3JyZWN0aW9uX2NvbnRy b2xfbWFza19sZWZ0ID0KLUBAIC0zNzYsOSArMzcyLDkgQEAgYWJzbDo6U3RhdHVzIEV2YWx1YXRl U2VlZHNId3koCi0gICAgICAgLy8gUGVyZm9ybSBzZWVkIGNvcnJlY3Rpb24uCi0gICAgICAgY29u c3QgYXV0byBjb3JyZWN0aW9uX3NlZWQgPSBobjo6TG9hZER1cDEyOCgKLSAgICAgICAgICAgZDY0 LCByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ2NF90Kj4oY29ycmVjdGlvbl9zZWVkcyArIGop KTsKLS0gICAgICB2ZWMgXj0gaG46OkJpdENhc3QoZDgsIGhuOjpJZlRoZW5FbHNlWmVybyhjb250 cm9sX21hc2ssIGNvcnJlY3Rpb25fc2VlZCkpOwotKyAgICAgIHZlYyA9IGhuOjpYb3IodmVjLCBo bjo6Qml0Q2FzdChkOCwgaG46OklmVGhlbkVsc2VaZXJvKGNvbnRyb2xfbWFzaywgY29ycmVjdGlv bl9zZWVkKSkpOwotICAgICAgIGNvbnN0IGF1dG8gbmV4dF9jb250cm9sX21hc2sgPSBJc0JpdFNl dChkOCwgdmVjLCAwKTsKLS0gICAgICB2ZWMgJj0gY2xlYXJfbG93ZXN0X2JpdDsKLSsgICAgICB2 ZWMgPSBobjo6QW5kKHZlYywgY2xlYXJfbG93ZXN0X2JpdCk7Ci0gICAgICAgY29uc3QgYXV0byBj b3JyZWN0aW9uX2NvbnRyb2xfbWFza19sZWZ0ID0KLSAgICAgICAgICAgY29ycmVjdGlvbl9jb250 cm9sc19sZWZ0W2pdID8gbWFza19hbGxfb25lIDogbWFza19hbGxfemVybzsKLSAgICAgICBjb25z dCBhdXRvIGNvcnJlY3Rpb25fY29udHJvbF9tYXNrX3JpZ2h0ID0KCmRpZmYgLS1naXQgYS9jaHJv bWl1bS0xMTAtZ3RrdGhlbWUucGF0Y2ggYi9jaHJvbWl1bS0xMTAtZ3RrdGhlbWUucGF0Y2gKaW5k ZXggZWI5NGUwNC4uM2ZjYWEyNiAxMDA2NDQKLS0tIGEvY2hyb21pdW0tMTEwLWd0a3RoZW1lLnBh dGNoCisrKyBiL2Nocm9taXVtLTExMC1ndGt0aGVtZS5wYXRjaApAQCAtMjMsNiArMjMsMjUgQEAg aW5kZXggNzU4ZDBiZi4uOGM5MTE0NiAxMDA2NDQKICBMZW5ueSBLaGF6YW4gPGxlbm55LmtoYXph bkBnbWFpbC5jb20+CiAgTGVvIFdvbGYgPGpjbHdAeW1haWwuY29tPgogIExlb24gSGFuIDxsZW9u LmhhbkBpbnRlbC5jb20+CitkaWZmIC0tZ2l0IGEvY2hyb21lL2NvbW1vbi9jaHJvbWVfZmVhdHVy ZXMuY2MgYi9jaHJvbWUvY29tbW9uL2Nocm9tZV9mZWF0dXJlcy5jYworaW5kZXggODVjMzkzMS4u MmIwYzJhODQgMTAwNjQ0CistLS0gYS9jaHJvbWUvY29tbW9uL2Nocm9tZV9mZWF0dXJlcy5jYwor KysrIGIvY2hyb21lL2NvbW1vbi9jaHJvbWVfZmVhdHVyZXMuY2MKK0BAIC0xNDMwLDEyICsxNDMw LDEyIEBACisgQkFTRV9GRUFUVVJFKGtXZWJVSURhcmtNb2RlLAorICAgICAgICAgICAgICAiV2Vi VUlEYXJrTW9kZSIsCisgI2lmIEJVSUxERkxBRyhJU19NQUMpIHx8IEJVSUxERkxBRyhJU19XSU4p IHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSB8fCBcCistICAgIEJVSUxERkxBRyhJU19DSFJPTUVP UykKKysgICAgQlVJTERGTEFHKElTX0NIUk9NRU9TKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpCisg ICAgICAgICAgICAgIGJhc2U6OkZFQVRVUkVfRU5BQkxFRF9CWV9ERUZBVUxUCisgI2Vsc2UKKyAg ICAgICAgICAgICAgYmFzZTo6RkVBVFVSRV9ESVNBQkxFRF9CWV9ERUZBVUxUCisgI2VuZGlmICAv LyBCVUlMREZMQUcoSVNfTUFDKSB8fCBCVUlMREZMQUcoSVNfV0lOKSB8fCBCVUlMREZMQUcoSVNf QU5EUk9JRCkgfHwKKy0gICAgICAgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykKKysgICAgICAg IC8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwgQlVJTERGTEFHKElTX0xJTlVYKQorICk7Cisg CisgI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19BU0gpCiBkaWZmIC0tZ2l0IGEvdWkvZ3RrL25h dGl2ZV90aGVtZV9ndGsuY2MgYi91aS9ndGsvbmF0aXZlX3RoZW1lX2d0ay5jYwogaW5kZXggYTYw ZDZlMy4uMTIwMGE4MCAxMDA2NDQKIC0tLSBhL3VpL2d0ay9uYXRpdmVfdGhlbWVfZ3RrLmNjCgpk aWZmIC0tZ2l0IGEvY2hyb21pdW0tMTEwLWtDdXN0b21pemVDaHJvbWVDb2xvcnMtdHlwZS5wYXRj aCBiL2Nocm9taXVtLTExMC1rQ3VzdG9taXplQ2hyb21lQ29sb3JzLXR5cGUucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjMjE0ZGEuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0t MTEwLWtDdXN0b21pemVDaHJvbWVDb2xvcnMtdHlwZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDI4ICswLDAgQEAKLUZyb20gMzA4NGU4MzRhMjExZTg1ZjZhMTdlNmY4ZGNlYjZiNDQxMTcyMTFk MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEw OUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjEgRGVjIDIwMjIgMTk6MjI6NDYgKzAwMDAK LVN1YmplY3Q6IFtQQVRDSF0gR0NDOiBmaXggY29uZmxpY3RpbmcgdHlwZSBmb3Iga0N1c3RvbWl6 ZUNocm9tZUNvbG9ycwotCi1HQ0MgY2Fubm90IG1hdGNoIGF1dG8gd2l0aCBwcmV2aW91cyBkZWNs YXJhdGlvbi4KLQotQnVnOiA4MTkyOTQKLUNoYW5nZS1JZDogSWU2NDhkYWFmMjY0ZmIyZWExNzdh YzQ2YzhhNTEwZDQ4MWY2ZmEyZjQKLVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmll dy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDExMDg3MAotUmV2aWV3ZWQtYnk6 IFRpYm9yIEdvbGRzY2h3ZW5kdCA8dGlib3JnQGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTog U3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMDg2MDExfQotLS0tCi0KLWRpZmYgLS1naXQgYS9jaHJv bWUvYnJvd3Nlci91aS93ZWJ1aS9zaWRlX3BhbmVsL2N1c3RvbWl6ZV9jaHJvbWUvY3VzdG9taXpl X2Nocm9tZV9jb2xvcnMuY2MgYi9jaHJvbWUvYnJvd3Nlci91aS93ZWJ1aS9zaWRlX3BhbmVsL2N1 c3RvbWl6ZV9jaHJvbWUvY3VzdG9taXplX2Nocm9tZV9jb2xvcnMuY2MKLWluZGV4IDJmY2NhZGIu LjM4M2M5ZTUgMTAwNjQ0Ci0tLS0gYS9jaHJvbWUvYnJvd3Nlci91aS93ZWJ1aS9zaWRlX3BhbmVs L2N1c3RvbWl6ZV9jaHJvbWUvY3VzdG9taXplX2Nocm9tZV9jb2xvcnMuY2MKLSsrKyBiL2Nocm9t ZS9icm93c2VyL3VpL3dlYnVpL3NpZGVfcGFuZWwvY3VzdG9taXplX2Nocm9tZS9jdXN0b21pemVf Y2hyb21lX2NvbG9ycy5jYwotQEAgLTMxLDUgKzMxLDYgQEAKLSAKLSB9ICAvLyBuYW1lc3BhY2UK LSAKLS1jb25zdCBhdXRvIGtDdXN0b21pemVDaHJvbWVDb2xvcnMgPSBNYWtlQ3VzdG9taXplQ2hy b21lQ29sb3JzKAotLSAgICBzdGQ6Om1ha2VfaW5kZXhfc2VxdWVuY2U8c3RkOjpzaXplKGtDdXN0 b21pemVDaHJvbWVDb2xvcklkcyk+e30pOwotK2NvbnN0IGRlY2x0eXBlKGtDdXN0b21pemVDaHJv bWVDb2xvcnMpIGtDdXN0b21pemVDaHJvbWVDb2xvcnMgPQotKyAgICBNYWtlQ3VzdG9taXplQ2hy b21lQ29sb3JzKAotKyAgICAgICAgc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPHN0ZDo6c2l6ZShr Q3VzdG9taXplQ2hyb21lQ29sb3JJZHMpPnt9KTsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTAt bGltaXRzLnBhdGNoIGIvY2hyb21pdW0tMTEwLWxpbWl0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMzFhNGMxZS4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTAtbGltaXRz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotZGlmZiAtdXAgY2hyb21pdW0t MTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZSBjaHJvbWl1bS0xMTAu MC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCi0tLS0gY2hyb21pdW0tMTEwLjAu NTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaC5tZQkyMDIzLTAyLTIzIDEzOjM0OjMz LjE3NDgxNzI1NSAtMDUwMAotKysrIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5 L3JlZl9jb3VudGVkLmgJMjAyMy0wMi0yMyAxMzo0MjoyOC42NDYwNTI0NjkgLTA1MDAKLUBAIC02 LDYgKzYsNyBAQAotICNkZWZpbmUgQkFTRV9NRU1PUllfUkVGX0NPVU5URURfSF8KLSAKLSAjaW5j bHVkZSA8c3RkZGVmLmg+Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAjaW5jbHVkZSA8dXRpbGl0 eT4KLSAKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTAtcmF3X3B0ci1jb25zdGV4cHIucGF0Y2gg Yi9jaHJvbWl1bS0xMTAtcmF3X3B0ci1jb25zdGV4cHIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IGRlZDU4NTUuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTEwLXJhd19wdHIt Y29uc3RleHByLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotRnJvbSBiZDNh Zjk5ODQzOTQyNDg4NmM2NDEyNzliNmY5YmI2ZTk1MGM3MTQyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0 ZTogU3VuLCAxOCBEZWMgMjAyMiAxNjoxMjoyOSArMDAwMAotU3ViamVjdDogW1BBVENIXSBHQ0M6 IG1ha2UgcmF3X3B0cjo6b3BlcmF0b3IgYm9vbCBjb25zdGV4cHIKLQotUmVxdWlyZWQgYmVjYXVz ZSBhdXRvZmlsbDo6aW50ZXJuYWw6OkZvcm1Gb3Jlc3QgdXNlcyBpdCBpbgotYSBjb25zdGV4cHIg bWV0aG9kLgotCi1CdWc6IDgxOTI5NAotQ2hhbmdlLUlkOiBJYjIyNThjOWQ5OGMyZTdmODhhZDE5 MmI1MTdiNDg3ZjgzNGE4NzQ4MQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80MTEwOTI0Ci1SZXZpZXdlZC1ieTog QmFydGVrIE5vd2llcnNraSA8YmFydGVrbkBjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFN0 ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLUNyLUNvbW1pdC1Qb3NpdGlv bjogcmVmcy9oZWFkcy9tYWluQHsjMTA4NDc4NX0KLS0tLQotCi1kaWZmIC0tZ2l0IGEvYmFzZS9t ZW1vcnkvcmF3X3B0ci5oIGIvYmFzZS9tZW1vcnkvcmF3X3B0ci5oCi1pbmRleCA0MTkxZjBlLi5h MjJmNjRiNyAxMDA2NDQKLS0tLSBhL2Jhc2UvbWVtb3J5L3Jhd19wdHIuaAotKysrIGIvYmFzZS9t ZW1vcnkvcmF3X3B0ci5oCi1AQCAtMTMwMSw3ICsxMzAxLDkgQEAKLSAgIC8vIHBvc3NpYmxlLCBz byB1c2UgaXQgb25seSBpZiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeSAoZS5nLiBmb3IgY29uc3RfY2Fz dCkuCi0gICBQQV9BTFdBWVNfSU5MSU5FIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIEdldEZvckV4 dHJhY3Rpb24oKTsgfQotIAotLSAgZXhwbGljaXQgUEFfQUxXQVlTX0lOTElORSBvcGVyYXRvciBi b29sKCkgY29uc3QgeyByZXR1cm4gISF3cmFwcGVkX3B0cl87IH0KLSsgIGNvbnN0ZXhwciBleHBs aWNpdCBQQV9BTFdBWVNfSU5MSU5FIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7Ci0rICAgIHJldHVy biAhIXdyYXBwZWRfcHRyXzsKLSsgIH0KLSAKLSAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVID0gVCwK LSAgICAgICAgICAgICB0eXBlbmFtZSBVbnVzZWQgPSBzdGQ6OmVuYWJsZV9pZl90PAoKZGlmZiAt LWdpdCBhL2Nocm9taXVtLTExMC11cmxfY2Fub25faW50ZXJuYWwtY2FzdC5wYXRjaCBiL2Nocm9t aXVtLTExMC11cmxfY2Fub25faW50ZXJuYWwtY2FzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggNDEwNjRhNy4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS0xMTAtdXJsX2Nhbm9u X2ludGVybmFsLWNhc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi1Gcm9t IDc0MGQxMTAyZTNmZGFhZWQ1NDQxYjU2NTYyMDVkZjlkN2U0MjJjM2EgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+ Ci1EYXRlOiBUdWUsIDIwIERlYyAyMDIyIDIwOjQxOjEyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hd IEdDQzogYWRkIGNhc3QgZm9yIHZlY3RvciB0eXBlcyBpbiB1cmwvdXJsX2Nhbm9uX2ludGVybmFs LmNjCi0KLUdDQyByZXF1aXJlcyBsYXggdmVjdG9yIGNvbnZlcnNpb24gZm9yIGNvbnZlcnRpbmcg X192ZWN0b3IoMTYpIHRvCi1TSU1EIHR5cGVzLiBBZGQgZXhwbGljaXQgY2FzdCBpbnN0ZWFkLgot Ci1CdWc6IDgxOTI5NAotQ2hhbmdlLUlkOiBJY2ZjOWQzNTg2MzUwYWY0NjliZmQ5ZDgzYjM1NWQ5 NDgwNjQzMGM0MwotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80MTEwNzg2Ci1Db21taXQtUXVldWU6IFN0ZXBoYW4g SGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLVJldmlld2VkLWJ5OiBEYW5pZWwgQ2hl bmcgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMv bWFpbkB7IzEwODU2MTd9Ci0tLS0KLQotZGlmZiAtLWdpdCBhL3VybC91cmxfY2Fub25faW50ZXJu YWwuY2MgYi91cmwvdXJsX2Nhbm9uX2ludGVybmFsLmNjCi1pbmRleCBlNGY3OTQ5Li5mNjIxOTIw IDEwMDY0NAotLS0tIGEvdXJsL3VybF9jYW5vbl9pbnRlcm5hbC5jYwotKysrIGIvdXJsL3VybF9j YW5vbl9pbnRlcm5hbC5jYwotQEAgLTQ5LDExICs0OSwxMSBAQAotICAgICBhdXRvIG1hc2sgPSBi ID49IDB4MjQgJiYgYiA8PSAweDdlICYmIGIgIT0gMHgyNyAmJiBiICE9IDB4M2MgJiYgYiAhPSAw eDNlOwotIAotICNpZmRlZiBfX1NTRTJfXwotLSAgICBpZiAoX21tX21vdmVtYXNrX2VwaTgobWFz aykgIT0gMHhmZmZmKSB7Ci0rICAgIGlmIChfbW1fbW92ZW1hc2tfZXBpOChyZWludGVycHJldF9j YXN0PF9fbTEyOGk+KG1hc2spKSAhPSAweGZmZmYpIHsKLSAgICAgICByZXR1cm4gaTsKLSAgICAg fQotICNlbHNlCi0tICAgIGlmICh2bWludnFfdTgobWFzaykgPT0gMCkgewotKyAgICBpZiAodm1p bnZxX3U4KHJlaW50ZXJwcmV0X2Nhc3Q8dWludDh4MTZfdD4obWFzaykpID09IDApIHsKLSAgICAg ICByZXR1cm4gaTsKLSAgICAgfQotICNlbmRpZgoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExMC12 OC1nY2MucGF0Y2ggYi9jaHJvbWl1bS0xMTAtdjgtZ2NjLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA0YmNhMTlhLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMC12OC1nY2Mu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDE1ZDEyMzAwOWI3ZTk4 N2U5NDYzMDljZDU3MjRhZTE3ZjM3NmJkMTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBTdW4sIDE4 IERlYyAyMDIyIDE2OjI2OjAyICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEdDQzogZml4IHNlbGVj dGlvbiBvZiBJTU1FRElBVEVfQ1JBU0gKLQotaW1tZWRpYXRlX2NyYXNoLmggc3RpbGwgdXNlcyBW OF9DQ19HQ0MgZGVmaW5lIHRvIGRldGVybWluZSB3aGljaAotSU1NRURJQVRFX0NSQVNIIG1hY3Jv IGlzIHVzZWQuIFRoaXMgc2hvdWxkIGJlIFY4X0NDX0dOVSBpbnN0ZWFkLgotT3RoZXJ3aXNlIHdl aXJkIGNvbXBpbGUgZXJyb3JzIGFyZSBoYXBwZW5pbmcgd2l0aCB0dXJib3NoYWZ0LgotCi1CdWc6 IGNocm9taXVtOjgxOTI5NAotQ2hhbmdlLUlkOiBJZDc3ZmU3NDA2YWUxNmE4MDRlMWU0NjY4NDRm ODFkNmM3MjhlYzAwOAotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2ds ZXNvdXJjZS5jb20vYy92OC92OC8rLzQxMTE4NDkKLUNvbW1pdC1RdWV1ZTogU3RlcGhhbiBIYXJ0 bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotUmV2aWV3ZWQtYnk6IE1pY2hhZWwgTGlwcGF1 dHogPG1saXBwYXV0ekBjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVh ZHMvbWFpbkB7Izg0OTIzfQotLS0tCi0KLWRpZmYgLS1naXQgYS9zcmMvYmFzZS9pbW1lZGlhdGUt Y3Jhc2guaCBiL3NyYy9iYXNlL2ltbWVkaWF0ZS1jcmFzaC5oCi1pbmRleCA3NzBjYjI3Li5jZTYy NDBiIDEwMDY0NAotLS0tIGEvdjgvc3JjL2Jhc2UvaW1tZWRpYXRlLWNyYXNoLmgKLSsrKyBiL3Y4 L3NyYy9iYXNlL2ltbWVkaWF0ZS1jcmFzaC5oCi1AQCAtMTQwLDkgKzE0MCw5IEBACi0gICAgIFtd IHsgVFJBUF9TRVFVRU5DRV8oKTsgfSgpOyAgXAotICAgfSB3aGlsZSAoZmFsc2UpCi0gCi0tI2Vu ZGlmICAvLyAhVjhfQ0NfR0NDCi0rI2VuZGlmICAvLyAhVjhfQ0NfR05VCi0gCi0tI2lmIGRlZmlu ZWQoX19jbGFuZ19fKSB8fCBWOF9DQ19HQ0MKLSsjaWYgZGVmaW5lZChfX2NsYW5nX18pIHx8IFY4 X0NDX0dOVQotIAotIC8vIF9fYnVpbHRpbl91bnJlYWNoYWJsZSgpIGhpbnRzIHRvIHRoZSBjb21w aWxlciB0aGF0IHRoaXMgaXMgbm9yZXR1cm4gYW5kIGNhbgotIC8vIGJlIHBhY2tlZCBpbiB0aGUg ZnVuY3Rpb24gZXBpbG9ndWUuCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTExLXY4LXN0ZC1sYXlv dXQxLnBhdGNoIGIvY2hyb21pdW0tMTExLXY4LXN0ZC1sYXlvdXQxLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA5NWIyNjMzLi4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExMS12 OC1zdGQtbGF5b3V0MS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyMjkgKzAsMCBAQAotRnJv bSA0NzI0MjllNjIzY2Y0OGU4NjRhN2EyZjEwZDU4OTgxN2E4ODI4OWExIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogTmlrb2xhb3MgUGFwYXNweXJvdSA8bmlrb2xhb3NAY2hyb21pdW0u b3JnPgotRGF0ZTogV2VkLCAxOCBKYW4gMjAyMyAyMToxMTo1OSArMDEwMAotU3ViamVjdDogW1BB VENIXSBbaGVhcF0gRml4IHNhdmluZyB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBvbiBzdGFj awotCi1UaGlzIENMIHJlaW5zdGF0ZXMgdGhlIHRyYW1wb2xpbmUgZm9yIHB1c2hpbmcgdGhlIHZh bHVlcyBvZgotY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBvbiB0aGUgc3RhY2ssIHdoaWNoIGlzIHVz ZWQgZm9yIHN0YWNrIHNjYW5uaW5nLgotSXQgcmVpbnRyb2R1Y2VzIHRoZSBzZXQgb2YgYXJjaGl0 ZWN0dXJlLXNwZWNpZmljIGZ1bmN0aW9ucwotUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFj aywgcmVtb3ZlZCBpbiBjcnJldi5jb20vYy8zOTg5MTQzLgotVGhlIHJlYXNvbiBmb3IgdGhpcyBj aGFuZ2UgaXMgdGhhdCB0aGUgc2ltcGxlciBhcmNoaXRlY3R1cmUtc3BlY2lmaWMKLWZ1bmN0aW9u cyBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgZmFpbGVkIHRvIGNvcnJlY3RseSBzYXZlIHRoZQot dmFsdWVzIG9mIHRoZSByZWdpc3RlcnMsIGluIHRoZSBwcmVzZW5jZSBvZiBDKysgY29tcGlsZXIg b3B0aW1pemF0aW9ucy4KLQotSXQgYWxzbyByZW1vdmVzIHRoZSBzdGFjayBjb250ZXh0LCBpbnRy b2R1Y2VkIGluIGNycmV2LmNvbS9jLzQwMTc1MTIsCi1hbmQgdXNlcyBhZ2FpbiB0aGUgdHJhbXBv bGluZSBmb3IgaXRlcmF0aW5nIHRocm91Z2ggdGhlIHN0YWNrLgotCi1CdWc6IHY4OjEzMjU3Ci1D aGFuZ2UtSWQ6IEk5ZTY1NmE5YjNiYTY2MTYxNjg2MDIzMDBmMjE4MGI0ZjM0MDU5M2YzCi1SZXZp ZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL3Y4L3Y4 LysvNDE3MTYzOQotQ29tbWl0LVF1ZXVlOiBOaWtvbGFvcyBQYXBhc3B5cm91IDxuaWtvbGFvc0Bj aHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogT21lciBLYXR6IDxvbWVya2F0ekBjaHJvbWl1bS5v cmc+Ci1SZXZpZXdlZC1ieTogTWljaGFlbCBMaXBwYXV0eiA8bWxpcHBhdXR6QGNocm9taXVtLm9y Zz4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjODUzOTR9Ci0KLShzdHJp cHBlZCB0ZXN0cykKLS0tLQotCi1kaWZmIC0tZ2l0IGEvQlVJTEQuYmF6ZWwgYi9CVUlMRC5iYXpl bAotaW5kZXggMjgzZWVmZi4uZTMyNjlhNCAxMDA2NDQKLS0tLSBhL3Y4L0JVSUxELmJhemVsCi0r KysgYi92OC9CVUlMRC5iYXplbAotQEAgLTMyMDEsMTYgKzMyMDEsMTYgQEAKLSAgICAgICAgICMg Tm90ZSB0aGVzZSBjYW5ub3QgYmUgdjhfdGFyZ2V0X2lzXyogc2VsZWN0cyBiZWNhdXNlIHRoZXNl IGNvbnRhaW4KLSAgICAgICAgICMgaW5saW5lIGFzc2VtYmx5IHRoYXQgcnVucyBpbnNpZGUgdGhl IGV4ZWN1dGFibGUuIFNpbmNlIHRoZXNlIGFyZQotICAgICAgICAgIyBsaW5rZWQgZGlyZWN0bHkg aW50byBta3NuYXBzaG90LCB0aGV5IG11c3QgdXNlIHRoZSBhY3R1YWwgdGFyZ2V0IGNwdS4KLS0g ICAgICAgICJAdjgvL2JhemVsL2NvbmZpZzppc19pbmxpbmVfYXNtX2lhMzIiOiBbInNyYy9oZWFw L2Jhc2UvYXNtL2lhMzIvc2F2ZV9yZWdpc3RlcnNfYXNtLmNjIl0sCi0tICAgICAgICAiQHY4Ly9i YXplbC9jb25maWc6aXNfaW5saW5lX2FzbV94NjQiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9z YXZlX3JlZ2lzdGVyc19hc20uY2MiXSwKLS0gICAgICAgICJAdjgvL2JhemVsL2NvbmZpZzppc19p bmxpbmVfYXNtX2FybSI6IFsic3JjL2hlYXAvYmFzZS9hc20vYXJtL3NhdmVfcmVnaXN0ZXJzX2Fz bS5jYyJdLAotLSAgICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlzX2lubGluZV9hc21fYXJtNjQi OiBbInNyYy9oZWFwL2Jhc2UvYXNtL2FybTY0L3NhdmVfcmVnaXN0ZXJzX2FzbS5jYyJdLAotLSAg ICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlzX2lubGluZV9hc21fczM5MHgiOiBbInNyYy9oZWFw L2Jhc2UvYXNtL3MzOTAvc2F2ZV9yZWdpc3RlcnNfYXNtLmNjIl0sCi0tICAgICAgICAiQHY4Ly9i YXplbC9jb25maWc6aXNfaW5saW5lX2FzbV9yaXNjdjY0IjogWyJzcmMvaGVhcC9iYXNlL2FzbS9y aXNjdjY0L3NhdmVfcmVnaXN0ZXJzX2FzbS5jYyJdLAotLSAgICAgICAgIkB2OC8vYmF6ZWwvY29u ZmlnOmlzX2lubGluZV9hc21fcHBjNjRsZSI6IFsic3JjL2hlYXAvYmFzZS9hc20vcHBjL3NhdmVf cmVnaXN0ZXJzX2FzbS5jYyJdLAotLSAgICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlzX21zdmNf YXNtX2lhMzIiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvc2F2ZV9yZWdpc3RlcnNfbWFzbS5h c20iXSwKLS0gICAgICAgICJAdjgvL2JhemVsL2NvbmZpZzppc19tc3ZjX2FzbV94NjQiOiBbInNy Yy9oZWFwL2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19tYXNtLmFzbSJdLAotLSAgICAgICAg IkB2OC8vYmF6ZWwvY29uZmlnOmlzX21zdmNfYXNtX2FybTY0IjogWyJzcmMvaGVhcC9iYXNlL2Fz bS9hcm02NC9zYXZlX3JlZ2lzdGVyc19tYXNtLlMiXSwKLSsgICAgICAgICJAdjgvL2JhemVsL2Nv bmZpZzppc19pbmxpbmVfYXNtX2lhMzIiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvcHVzaF9y ZWdpc3RlcnNfYXNtLmNjIl0sCi0rICAgICAgICAiQHY4Ly9iYXplbC9jb25maWc6aXNfaW5saW5l X2FzbV94NjQiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9wdXNoX3JlZ2lzdGVyc19hc20uY2Mi XSwKLSsgICAgICAgICJAdjgvL2JhemVsL2NvbmZpZzppc19pbmxpbmVfYXNtX2FybSI6IFsic3Jj L2hlYXAvYmFzZS9hc20vYXJtL3B1c2hfcmVnaXN0ZXJzX2FzbS5jYyJdLAotKyAgICAgICAgIkB2 OC8vYmF6ZWwvY29uZmlnOmlzX2lubGluZV9hc21fYXJtNjQiOiBbInNyYy9oZWFwL2Jhc2UvYXNt L2FybTY0L3B1c2hfcmVnaXN0ZXJzX2FzbS5jYyJdLAotKyAgICAgICAgIkB2OC8vYmF6ZWwvY29u ZmlnOmlzX2lubGluZV9hc21fczM5MHgiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL3MzOTAvcHVzaF9y ZWdpc3RlcnNfYXNtLmNjIl0sCi0rICAgICAgICAiQHY4Ly9iYXplbC9jb25maWc6aXNfaW5saW5l X2FzbV9yaXNjdjY0IjogWyJzcmMvaGVhcC9iYXNlL2FzbS9yaXNjdjY0L3B1c2hfcmVnaXN0ZXJz X2FzbS5jYyJdLAotKyAgICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlzX2lubGluZV9hc21fcHBj NjRsZSI6IFsic3JjL2hlYXAvYmFzZS9hc20vcHBjL3B1c2hfcmVnaXN0ZXJzX2FzbS5jYyJdLAot KyAgICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlzX21zdmNfYXNtX2lhMzIiOiBbInNyYy9oZWFw L2Jhc2UvYXNtL2lhMzIvcHVzaF9yZWdpc3RlcnNfbWFzbS5hc20iXSwKLSsgICAgICAgICJAdjgv L2JhemVsL2NvbmZpZzppc19tc3ZjX2FzbV94NjQiOiBbInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9w dXNoX3JlZ2lzdGVyc19tYXNtLmFzbSJdLAotKyAgICAgICAgIkB2OC8vYmF6ZWwvY29uZmlnOmlz X21zdmNfYXNtX2FybTY0IjogWyJzcmMvaGVhcC9iYXNlL2FzbS9hcm02NC9wdXNoX3JlZ2lzdGVy c19tYXNtLlMiXSwKLSAgICAgfSksCi0gKQotIAotZGlmZiAtLWdpdCBhL0JVSUxELmduIGIvQlVJ TEQuZ24KLWluZGV4IDgwYTdlYjYuLjU2Nzk4ZGIgMTAwNjQ0Ci0tLS0gYS92OC9CVUlMRC5nbgot KysrIGIvdjgvQlVJTEQuZ24KLUBAIC01OTg5LDMxICs1OTg5LDMxIEBACi0gCi0gICBpZiAoaXNf Y2xhbmcgfHwgIWlzX3dpbikgewotICAgICBpZiAoY3VycmVudF9jcHUgPT0gIng2NCIpIHsKLS0g ICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19h c20uY2MiIF0KLSsgICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9wdXNo X3JlZ2lzdGVyc19hc20uY2MiIF0KLSAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAieDg2 IikgewotLSAgICAgIHNvdXJjZXMgKz0gWyAic3JjL2hlYXAvYmFzZS9hc20vaWEzMi9zYXZlX3Jl Z2lzdGVyc19hc20uY2MiIF0KLSsgICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNt L2lhMzIvcHVzaF9yZWdpc3RlcnNfYXNtLmNjIiBdCi0gICAgIH0gZWxzZSBpZiAoY3VycmVudF9j cHUgPT0gImFybSIpIHsKLS0gICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL2Fy bS9zYXZlX3JlZ2lzdGVyc19hc20uY2MiIF0KLSsgICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFw L2Jhc2UvYXNtL2FybS9wdXNoX3JlZ2lzdGVyc19hc20uY2MiIF0KLSAgICAgfSBlbHNlIGlmIChj dXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7Ci0tICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9i YXNlL2FzbS9hcm02NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MiIF0KLSsgICAgICBzb3VyY2VzICs9 IFsgInNyYy9oZWFwL2Jhc2UvYXNtL2FybTY0L3B1c2hfcmVnaXN0ZXJzX2FzbS5jYyIgXQotICAg ICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKLS0gICAgICBzb3VyY2VzICs9 IFsgInNyYy9oZWFwL2Jhc2UvYXNtL3BwYy9zYXZlX3JlZ2lzdGVyc19hc20uY2MiIF0KLSsgICAg ICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL3BwYy9wdXNoX3JlZ2lzdGVyc19hc20u Y2MiIF0KLSAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiczM5MHgiKSB7Ci0tICAgICAg c291cmNlcyArPSBbICJzcmMvaGVhcC9iYXNlL2FzbS9zMzkwL3NhdmVfcmVnaXN0ZXJzX2FzbS5j YyIgXQotKyAgICAgIHNvdXJjZXMgKz0gWyAic3JjL2hlYXAvYmFzZS9hc20vczM5MC9wdXNoX3Jl Z2lzdGVyc19hc20uY2MiIF0KLSAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAibWlwczY0 ZWwiKSB7Ci0tICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9iYXNlL2FzbS9taXBzNjQvc2F2 ZV9yZWdpc3RlcnNfYXNtLmNjIiBdCi0rICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9iYXNl L2FzbS9taXBzNjQvcHVzaF9yZWdpc3RlcnNfYXNtLmNjIiBdCi0gICAgIH0gZWxzZSBpZiAoY3Vy cmVudF9jcHUgPT0gImxvb25nNjQiKSB7Ci0tICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9i YXNlL2FzbS9sb29uZzY0L3NhdmVfcmVnaXN0ZXJzX2FzbS5jYyIgXQotKyAgICAgIHNvdXJjZXMg Kz0gWyAic3JjL2hlYXAvYmFzZS9hc20vbG9vbmc2NC9wdXNoX3JlZ2lzdGVyc19hc20uY2MiIF0K LSAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAicmlzY3Y2NCIgfHwgY3VycmVudF9jcHUg PT0gInJpc2N2MzIiKSB7Ci0tICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9iYXNlL2FzbS9y aXNjdi9zYXZlX3JlZ2lzdGVyc19hc20uY2MiIF0KLSsgICAgICBzb3VyY2VzICs9IFsgInNyYy9o ZWFwL2Jhc2UvYXNtL3Jpc2N2L3B1c2hfcmVnaXN0ZXJzX2FzbS5jYyIgXQotICAgICB9Ci0gICB9 IGVsc2UgaWYgKGlzX3dpbikgewotICAgICBpZiAoY3VycmVudF9jcHUgPT0gIng2NCIpIHsKLS0g ICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19t YXNtLmFzbSIgXQotKyAgICAgIHNvdXJjZXMgKz0gWyAic3JjL2hlYXAvYmFzZS9hc20veDY0L3B1 c2hfcmVnaXN0ZXJzX21hc20uYXNtIiBdCi0gICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0g Ing4NiIpIHsKLS0gICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvc2F2 ZV9yZWdpc3RlcnNfbWFzbS5hc20iIF0KLSsgICAgICBzb3VyY2VzICs9IFsgInNyYy9oZWFwL2Jh c2UvYXNtL2lhMzIvcHVzaF9yZWdpc3RlcnNfbWFzbS5hc20iIF0KLSAgICAgfSBlbHNlIGlmIChj dXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7Ci0tICAgICAgc291cmNlcyArPSBbICJzcmMvaGVhcC9i YXNlL2FzbS9hcm02NC9zYXZlX3JlZ2lzdGVyc19tYXNtLlMiIF0KLSsgICAgICBzb3VyY2VzICs9 IFsgInNyYy9oZWFwL2Jhc2UvYXNtL2FybTY0L3B1c2hfcmVnaXN0ZXJzX21hc20uUyIgXQotICAg ICB9Ci0gICB9Ci0gCi1kaWZmIC0tZ2l0IGEvc3JjL2V4ZWN1dGlvbi9pc29sYXRlLmNjIGIvc3Jj L2V4ZWN1dGlvbi9pc29sYXRlLmNjCi1pbmRleCA4YTJlYzgwLi4zMTUzNmExIDEwMDY0NAotLS0t IGEvdjgvc3JjL2V4ZWN1dGlvbi9pc29sYXRlLmNjCi0rKysgYi92OC9zcmMvZXhlY3V0aW9uL2lz b2xhdGUuY2MKLUBAIC0zMDc1LDggKzMwNzUsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC5nZXQoKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQo KTsKLSAgIGN1cnJlbnQgPSBXYXNtQ29udGludWF0aW9uT2JqZWN0OjpjYXN0KGN1cnJlbnQpLnBh cmVudCgpOwotLSAgdGhyZWFkX2xvY2FsX3RvcCgpLT5zdGFja18uU2V0U3RhY2tTdGFydCgKLS0g ICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihzdGFjay0+YmFzZSgpKSk7Ci0rICBoZWFwKCkt PlNldFN0YWNrU3RhcnQocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oc3RhY2stPmJhc2UoKSkpOwot ICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBhZGQgYWxsIGluYWN0aXZlIHN0YWNrcy4gT25seSB0aGUg b25lcyBpbiB0aGUgYWN0aXZlIGNoYWluCi0gICAvLyBtYXkgY29udGFpbiBjcHAgaGVhcCBwb2lu dGVycy4KLSAgIHdoaWxlICghY3VycmVudC5Jc1VuZGVmaW5lZCgpKSB7Ci1AQCAtMzM3Miw5ICsz MzcxLDEyIEBACi0gICBJc29sYXRlKiBzYXZlZF9pc29sYXRlID0gaXNvbGF0ZS0+VHJ5R2V0Q3Vy cmVudCgpOwotICAgU2V0SXNvbGF0ZVRocmVhZExvY2Fscyhpc29sYXRlLCBudWxscHRyKTsKLSAg IGlzb2xhdGUtPnNldF90aHJlYWRfaWQoVGhyZWFkSWQ6OkN1cnJlbnQoKSk7Ci0tICBpc29sYXRl LT50aHJlYWRfbG9jYWxfdG9wKCktPnN0YWNrXyA9Ci0tICAgICAgc2F2ZWRfaXNvbGF0ZSA/IHN0 ZDo6bW92ZShzYXZlZF9pc29sYXRlLT50aHJlYWRfbG9jYWxfdG9wKCktPnN0YWNrXykKLS0gICAg ICAgICAgICAgICAgICAgIDogOjpoZWFwOjpiYXNlOjpTdGFjayhiYXNlOjpTdGFjazo6R2V0U3Rh Y2tTdGFydCgpKTsKLSsgIGlmIChzYXZlZF9pc29sYXRlKSB7Ci0rICAgIGlzb2xhdGUtPnRocmVh ZF9sb2NhbF90b3AoKS0+c3RhY2tfID0KLSsgICAgICAgIHN0ZDo6bW92ZShzYXZlZF9pc29sYXRl LT50aHJlYWRfbG9jYWxfdG9wKCktPnN0YWNrXyk7Ci0rICB9IGVsc2UgewotKyAgICBpc29sYXRl LT5oZWFwKCktPlNldFN0YWNrU3RhcnQoYmFzZTo6U3RhY2s6OkdldFN0YWNrU3RhcnQoKSk7Ci0r ICB9Ci0gCi0gICBib29sIG93bnNfc2hhcmVkX2lzb2xhdGUgPSBpc29sYXRlLT5vd25zX3NoYXJl ZF9pc29sYXRlXzsKLSAgIElzb2xhdGUqIG1heWJlX3NoYXJlZF9pc29sYXRlID0gaXNvbGF0ZS0+ c2hhcmVkX2lzb2xhdGVfOwotZGlmZiAtLWdpdCBhL3NyYy9leGVjdXRpb24vdGhyZWFkLWxvY2Fs LXRvcC5jYyBiL3NyYy9leGVjdXRpb24vdGhyZWFkLWxvY2FsLXRvcC5jYwotaW5kZXggMGQ3MDcx ZC4uYzExNWFlMCAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9leGVjdXRpb24vdGhyZWFkLWxvY2FsLXRv cC5jYwotKysrIGIvdjgvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwtdG9wLmNjCi1AQCAtNDQs MTAgKzQ0LDEzIEBACi0gICBDbGVhcigpOwotICAgaXNvbGF0ZV8gPSBpc29sYXRlOwotICAgdGhy ZWFkX2lkXyA9IFRocmVhZElkOjpDdXJyZW50KCk7Ci0tICBzdGFja18uU2V0U3RhY2tTdGFydChi YXNlOjpTdGFjazo6R2V0U3RhY2tTdGFydCgpKTsKLSAjaWYgVjhfRU5BQkxFX1dFQkFTU0VNQkxZ Ci0rICBzdGFja18uU2V0U3RhY2tTdGFydChiYXNlOjpTdGFjazo6R2V0U3RhY2tTdGFydCgpLAot KyAgICAgICAgICAgICAgICAgICAgICAgdjhfZmxhZ3MuZXhwZXJpbWVudGFsX3dhc21fc3RhY2tf c3dpdGNoaW5nKTsKLSAgIHRocmVhZF9pbl93YXNtX2ZsYWdfYWRkcmVzc18gPSByZWludGVycHJl dF9jYXN0PEFkZHJlc3M+KAotICAgICAgIHRyYXBfaGFuZGxlcjo6R2V0VGhyZWFkSW5XYXNtVGhy ZWFkTG9jYWxBZGRyZXNzKCkpOwotKyNlbHNlCi0rICBzdGFja18uU2V0U3RhY2tTdGFydChiYXNl OjpTdGFjazo6R2V0U3RhY2tTdGFydCgpLCBmYWxzZSk7Ci0gI2VuZGlmICAvLyBWOF9FTkFCTEVf V0VCQVNTRU1CTFkKLSAjaWZkZWYgVVNFX1NJTVVMQVRPUgotICAgc2ltdWxhdG9yXyA9IFNpbXVs YXRvcjo6Y3VycmVudChpc29sYXRlKTsKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS9h cm0vcHVzaF9yZWdpc3RlcnNfYXNtLmNjIGIvc3JjL2hlYXAvYmFzZS9hc20vYXJtL3B1c2hfcmVn aXN0ZXJzX2FzbS5jYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjUyNDZj M2YKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL2FybS9wdXNoX3Jl Z2lzdGVyc19hc20uY2MKLUBAIC0wLDAgKzEsMzkgQEAKLSsvLyBDb3B5cmlnaHQgMjAyMCB0aGUg VjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKy8vIFVzZSBvZiB0aGlz IHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4g YmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKy8vIFB1c2ggYWxsIGNhbGxl ZS1zYXZlZCByZWdpc3RlcnMgdG8gZ2V0IHRoZW0gb24gdGhlIHN0YWNrIGZvciBjb25zZXJ2YXRp dmUKLSsvLyBzdGFjayBzY2FubmluZy4KLSsvLwotKy8vIFNlZSBhc20veDY0L3B1c2hfcmVnaXN0 ZXJzX2NsYW5nLmNjIGZvciB3aHkgdGhlIGZ1bmN0aW9uIGlzIG5vdCBnZW5lcmF0ZWQKLSsvLyB1 c2luZyBjbGFuZy4KLSsvLwotKy8vIERvIG5vdCBkZXBlbmQgb24gVjhfVEFSR0VUX09TXyogZGVm aW5lcyBhcyBzb21lIGVtYmVkZGVycyBtYXkgb3ZlcnJpZGUgdGhlCi0rLy8gR04gdG9vbGNoYWlu IChlLmcuIENocm9tZU9TKSBhbmQgbm90IHByb3ZpZGUgdGhlbS4KLSsKLSsvLyBXZSBtYWludGFp biA4LWJ5dGUgYWxpZ25tZW50IGF0IGNhbGxzIGJ5IHB1c2hpbmcgYW4gYWRkaXRpb25hbAotKy8v IG5vbi1jYWxsZWUtc2F2ZWQgcmVnaXN0ZXIgKHIzKS4KLSsvLwotKy8vIENhbGxpbmcgY29udmVu dGlvbiBzb3VyY2U6Ci0rLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FsbGluZ19j b252ZW50aW9uI0FSTV8oQTMyKQotKy8vIGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC9p bmRleC5qc3A/dG9waWM9L2NvbS5hcm0uZG9jLmZhcXMva2E0MTI3Lmh0bWwKLSthc20oIi5nbG9i bCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAgIFxuIgotKyAgICAi LnR5cGUgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjaywgJWZ1bmN0aW9uICAgXG4iCi0r ICAgICIuaGlkZGVuIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2sgICAgICAgICAgICBc biIKLSsgICAgIlB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2s6ICAgICAgICAgICAgICAg ICAgIFxuIgotKyAgICAvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGFuZCBzYXZl IHJldHVybiBhZGRyZXNzLgotKyAgICAvLyBPbmx5IHtyNC1yMTF9IGFyZSBjYWxsZWUtc2F2ZWQg cmVnaXN0ZXJzLiBQdXNoIHIzIGluIGFkZGl0aW9uIHRvIGFsaWduCi0rICAgIC8vIHRoZSBzdGFj ayBiYWNrIHRvIDggYnl0ZXMuCi0rICAgICIgIHB1c2gge3IzLXIxMSwgbHJ9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAxc3QgcGFyYW1ldGVyIChyMCkg dW5jaGFuZ2VkIChTdGFjayopLgotKyAgICAvLyBQYXNzIDJuZCBwYXJhbWV0ZXIgKHIxKSB1bmNo YW5nZWQgKFN0YWNrVmlzaXRvciopLgotKyAgICAvLyBTYXZlIDNyZCBwYXJhbWV0ZXIgKHIyOyBJ dGVyYXRlU3RhY2tDYWxsYmFjaykuCi0rICAgICIgIG1vdiByMywgcjIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAzcmQgcGFyYW1ldGVyIGFz IHNwIChzdGFjayBwb2ludGVyKS4KLSsgICAgIiAgbW92IHIyLCBzcCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsg ICAgIiAgYmx4IHIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotKyAgICAvLyBEaXNjYXJkIGFsbCB0aGUgcmVnaXN0ZXJzLgotKyAgICAiICBhZGQgc3AsIHNw LCAjMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIFBvcCBs ciBpbnRvIHBjIHdoaWNoIHJldHVybnMgYW5kIHN3aXRjaGVzIG1vZGUgaWYgbmVlZGVkLgotKyAg ICAiICBwb3Age3BjfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i KTsKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS9hcm0vc2F2ZV9yZWdpc3RlcnNfYXNt LmNjIGIvc3JjL2hlYXAvYmFzZS9hc20vYXJtL3NhdmVfcmVnaXN0ZXJzX2FzbS5jYwotZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBhY2U5NTAzLi4wMDAwMDAwCi0tLS0gYS92OC9zcmMv aGVhcC9iYXNlL2FzbS9hcm0vc2F2ZV9yZWdpc3RlcnNfYXNtLmNjCi0rKysgL2Rldi9udWxsCi1A QCAtMSwzNiArMCwwIEBACi0tLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9y cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0tLy8gZm91bmQgaW4g dGhlIExJQ0VOU0UgZmlsZS4KLS0KLS0jaW5jbHVkZSA8c3JjL2hlYXAvYmFzZS9zdGFjay5oPgot LQotLS8vIFNhdmUgYWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gdGhlIHNwZWNpZmllZCBi dWZmZXIuCi0tLy8gZXh0ZXJuICJDIiB2b2lkIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyhpbnRw dHJfdCogYnVmZmVyKTsKLS0KLS0vLyBTZWUgYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2Mg Zm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAotLS8vIHVzaW5nIGNsYW5nLgot LS8vCi0tLy8gRG8gbm90IGRlcGVuZCBvbiBWOF9UQVJHRVRfT1NfKiBkZWZpbmVzIGFzIHNvbWUg ZW1iZWRkZXJzIG1heSBvdmVycmlkZSB0aGUKLS0vLyBHTiB0b29sY2hhaW4gKGUuZy4gQ2hyb21l T1MpIGFuZCBub3QgcHJvdmlkZSB0aGVtLgotLS8vCi0tLy8gV2UgbWFpbnRhaW4gOC1ieXRlIGFs aWdubWVudCBhdCBjYWxscyBieSBwdXNoaW5nIGFuIGFkZGl0aW9uYWwKLS0vLyBub24tY2FsbGVl LXNhdmVkIHJlZ2lzdGVyIChyMykuCi0tLy8KLS0vLyBDYWxsaW5nIGNvbnZlbnRpb24gc291cmNl OgotLS8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NhbGxpbmdfY29udmVudGlvbiNB Uk1fKEEzMikKLS0vLyBodHRwOi8vaW5mb2NlbnRlci5hcm0uY29tL2hlbHAvaW5kZXguanNwP3Rv cGljPS9jb20uYXJtLmRvYy5mYXFzL2thNDEyNy5odG1sCi0tCi0tLy8gOCAzMi1iaXQgcmVnaXN0 ZXJzID0gOCBpbnRwcnRfdAotLXN0YXRpY19hc3NlcnQoaGVhcDo6YmFzZTo6U3RhY2s6Ok51bWJl ck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoKSA9PSA4LAotLSAgICAgICAgICAgICAgIk1pc21hdGNo IGluIHRoZSBudW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3Nl cnQoc2l6ZW9mKGludHB0cl90KSA9PSA0LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0t YXNtKCIuZ2xvYmwgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAgIFxuIgotLSAg ICAiLnR5cGUgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzLCAlZnVuY3Rpb24gICBcbiIKLS0gICAg Ii5oaWRkZW4gU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAgXG4iCi0tICAgICJT YXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAvLyBy MDogWyBpbnRwdHJfdCogYnVmZmVyIF0KLS0gICAgLy8gU2F2ZSB0aGUgY2FsbGVlLXNhdmVkIHJl Z2lzdGVyczoge3I0LXIxMX0uCi0tICAgICIgIHN0bSByMCwge3I0LXIxMX0gICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotLSAgICAvLyBSZXR1cm4uCi0tICAgICIgIGJ4IGxyICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIik7Ci1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAv YmFzZS9hc20vYXJtNjQvcHVzaF9yZWdpc3RlcnNfYXNtLmNjIGIvc3JjL2hlYXAvYmFzZS9hc20v YXJtNjQvcHVzaF9yZWdpc3RlcnNfYXNtLmNjCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMC4uMWVmY2MzNAotLS0tIC9kZXYvbnVsbAotKysrIGIvdjgvc3JjL2hlYXAvYmFzZS9h c20vYXJtNjQvcHVzaF9yZWdpc3RlcnNfYXNtLmNjCi1AQCAtMCwwICsxLDYyIEBACi0rLy8gQ29w eXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K LSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBs aWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsv LyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIHRvIGdldCB0aGVtIG9uIHRoZSBzdGFj ayBmb3IgY29uc2VydmF0aXZlCi0rLy8gc3RhY2sgc2Nhbm5pbmcuCi0rLy8KLSsvLyBTZWUgYXNt L3g2NC9wdXNoX3JlZ2lzdGVyc19jbGFuZy5jYyBmb3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3Qg Z2VuZXJhdGVkCi0rLy8gdXNpbmcgY2xhbmcuCi0rLy8KLSsvLyBEbyBub3QgZGVwZW5kIG9uIFY4 X1RBUkdFVF9PU18qIGRlZmluZXMgYXMgc29tZSBlbWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQot Ky8vIEdOIHRvb2xjaGFpbiAoZS5nLiBDaHJvbWVPUykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0r Ci0rLy8gV2UgbWFpbnRhaW4gMTYtYnl0ZSBhbGlnbm1lbnQuCi0rLy8KLSsvLyBDYWxsaW5nIGNv bnZlbnRpb24gc291cmNlOgotKy8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NhbGxp bmdfY29udmVudGlvbiNBUk1fKEE2NCkKLSsKLSthc20oCi0rI2lmIGRlZmluZWQoX19BUFBMRV9f KQotKyAgICAiLmdsb2JsIF9QdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAg ICAgXG4iCi0rICAgICIucHJpdmF0ZV9leHRlcm4gX1B1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRl U3RhY2sgICBcbiIKLSsgICAgIi5wMmFsaWduIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyAgICAiX1B1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2s6 ICAgICAgICAgICAgICAgICAgXG4iCi0rI2Vsc2UgIC8vICFkZWZpbmVkKF9fQVBQTEVfXykKLSsg ICAgIi5nbG9ibCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAgIFxu IgotKyNpZiAhZGVmaW5lZChfV0lONjQpCi0rICAgICIudHlwZSBQdXNoQWxsUmVnaXN0ZXJzQW5k SXRlcmF0ZVN0YWNrLCAlZnVuY3Rpb24gICBcbiIKLSsgICAgIi5oaWRkZW4gUHVzaEFsbFJlZ2lz dGVyc0FuZEl0ZXJhdGVTdGFjayAgICAgICAgICAgIFxuIgotKyNlbmRpZiAgLy8gIWRlZmluZWQo X1dJTjY0KQotKyAgICAiLnAyYWxpZ24gMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXG4iCi0rICAgICJQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrOiAgICAg ICAgICAgICAgICAgICBcbiIKLSsjZW5kaWYgIC8vICFkZWZpbmVkKF9fQVBQTEVfXykKLSsgICAg Ly8geDE5LXgyOSBhcmUgY2FsbGVlLXNhdmVkLgotKyAgICAiICBzdHAgeDE5LCB4MjAsIFtzcCwg Iy0xNl0hICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHN0cCB4MjEsIHgyMiwg W3NwLCAjLTE2XSEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc3RwIHgyMywg eDI0LCBbc3AsICMtMTZdISAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdHAg eDI1LCB4MjYsIFtzcCwgIy0xNl0hICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIg IHN0cCB4MjcsIHgyOCwgW3NwLCAjLTE2XSEgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsj aWZkZWYgVjhfRU5BQkxFX0NPTlRST0xfRkxPV19JTlRFR1JJVFkKLSsgICAgLy8gU2lnbiByZXR1 cm4gYWRkcmVzcy4KLSsgICAgIiAgcGFjaWFzcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyNlbmRpZgotKyAgICAiICBzdHAgZnAsIGxyLCAgIFtzcCwgIy0x Nl0hICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIE1haW50YWluIGZyYW1lIHBv aW50ZXIuCi0rICAgICIgIG1vdiBmcCwgc3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAxc3QgcGFyYW1ldGVyICh4MCkgdW5jaGFuZ2VkIChT dGFjayopLgotKyAgICAvLyBQYXNzIDJuZCBwYXJhbWV0ZXIgKHgxKSB1bmNoYW5nZWQgKFN0YWNr VmlzaXRvciopLgotKyAgICAvLyBTYXZlIDNyZCBwYXJhbWV0ZXIgKHgyOyBJdGVyYXRlU3RhY2tD YWxsYmFjaykKLSsgICAgIiAgbW92IHg3LCB4MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDNyZCBwYXJhbWV0ZXIgYXMgc3AgKHN0YWNrIHBv aW50ZXIpLgotKyAgICAiICBtb3YgeDIsIHNwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXG4iCi0rICAgICIgIGJsciB4NyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gTG9hZCByZXR1cm4gYWRkcmVzcyBhbmQgZnJhbWUg cG9pbnRlci4KLSsgICAgIiAgbGRwIGZwLCBsciwgW3NwXSwgIzE2ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyNpZmRlZiBWOF9FTkFCTEVfQ09OVFJPTF9GTE9XX0lOVEVHUklUWQot KyAgICAvLyBBdXRoZW50aWNhdGUgcmV0dXJuIGFkZHJlc3MuCi0rICAgICIgIGF1dGlhc3AgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsjZW5kaWYKLSsgICAg Ly8gRHJvcCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycy4KLSsgICAgIiAgYWRkIHNwLCBzcCwg IzgwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICByZXQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iKTsKLWRpZmYgLS1n aXQgYS9zcmMvaGVhcC9iYXNlL2FzbS9hcm02NC9wdXNoX3JlZ2lzdGVyc19tYXNtLlMgYi9zcmMv aGVhcC9iYXNlL2FzbS9hcm02NC9wdXNoX3JlZ2lzdGVyc19tYXNtLlMKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi44ODg1MjNhCi0tLS0gL2Rldi9udWxsCi0rKysgYi92OC9z cmMvaGVhcC9iYXNlL2FzbS9hcm02NC9wdXNoX3JlZ2lzdGVyc19tYXNtLlMKLUBAIC0wLDAgKzEs MzIgQEAKLSs7IENvcHlyaWdodCAyMDIwIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCi0rOyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBh IEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rOyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm aWxlLgotKwotKzsgVGhpcyBmaWxlIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgcHVzaF9yZWdpc3Rl cnNfYXNtLmNjLCBqdXN0IGZvcm1hdHRlZCBmb3IKLSs7IHRoZSBNaWNyb3NvZnQgQXJtIEFzc2Vt Ymxlci4KLSsKLSsgICAgQVJFQSB8LnRleHR8LCBDT0RFLCBBTElHTj00LCBSRUFET05MWQotKyAg ICBFWFBPUlQgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjawotK1B1c2hBbGxSZWdpc3Rl cnNBbmRJdGVyYXRlU3RhY2sKLSsgICAgOyB4MTkteDI5IGFyZSBjYWxsZWUtc2F2ZWQKLSsgICAg U1RQIHgxOSwgeDIwLCBbc3AsICMtMTZdIQotKyAgICBTVFAgeDIxLCB4MjIsIFtzcCwgIy0xNl0h Ci0rICAgIFNUUCB4MjMsIHgyNCwgW3NwLCAjLTE2XSEKLSsgICAgU1RQIHgyNSwgeDI2LCBbc3As ICMtMTZdIQotKyAgICBTVFAgeDI3LCB4MjgsIFtzcCwgIy0xNl0hCi0rICAgIFNUUCBmcCwgbHIs IFtzcCwgIy0xNl0hCi0rICAgIDsgTWFpbnRhaW4gZnJhbWUgcG9pbnRlcgotKyAgICBNT1YgZnAs IHNwCi0rICAgIDsgUGFzcyAxc3QgcGFyYW1ldGVyICh4MCkgdW5jaGFuZ2VkIChTdGFjayopLgot KyAgICA7IFBhc3MgMm5kIHBhcmFtZXRlciAoeDEpIHVuY2hhbmdlZCAoU3RhY2tWaXNpdG9yKiku Ci0rICAgIDsgU2F2ZSAzcmQgcGFyYW1ldGVyICh4MjsgSXRlcmF0ZVN0YWNrQ2FsbGJhY2spCi0r ICAgIE1PViB4NywgeDIKLSsgICAgOyBQYXNzIDNyZCBwYXJhbWV0ZXIgYXMgc3AgKHN0YWNrIHBv aW50ZXIpCi0rICAgIE1PViB4Miwgc3AKLSsgICAgQkxSIHg3Ci0rICAgIDsgTG9hZCByZXR1cm4g YWRkcmVzcwotKyAgICBMRFIgbHIsIFtzcCwgIzhdCi0rICAgIDsgUmVzdG9yZSBmcmFtZSBwb2lu dGVyIGFuZCBwb3AgYWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMuCi0rICAgIExEUiBmcCwgW3Nw XSwgIzk2Ci0rICAgIFJFVAotKyAgICBFTkQKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2Fz bS9hcm02NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9hcm02NC9z YXZlX3JlZ2lzdGVyc19hc20uY2MKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggNWZl ODFkOC4uMDAwMDAwMAotLS0tIGEvdjgvc3JjL2hlYXAvYmFzZS9hc20vYXJtNjQvc2F2ZV9yZWdp c3RlcnNfYXNtLmNjCi0rKysgL2Rldi9udWxsCi1AQCAtMSw1MCArMCwwIEBACi0tLy8gQ29weXJp Z2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0v LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl bnNlIHRoYXQgY2FuIGJlCi0tLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0KLS0jaW5j bHVkZSA8c3JjL2hlYXAvYmFzZS9zdGFjay5oPgotLQotLS8vIFNhdmUgYWxsIGNhbGxlZS1zYXZl ZCByZWdpc3RlcnMgaW4gdGhlIHNwZWNpZmllZCBidWZmZXIuCi0tLy8gZXh0ZXJuICJDIiB2b2lk IFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyhpbnRwdHJfdCogYnVmZmVyKTsKLS0KLS0vLyBTZWUg YXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MgZm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90 IGdlbmVyYXRlZAotLS8vIHVzaW5nIGNsYW5nLgotLS8vCi0tLy8gRG8gbm90IGRlcGVuZCBvbiBW OF9UQVJHRVRfT1NfKiBkZWZpbmVzIGFzIHNvbWUgZW1iZWRkZXJzIG1heSBvdmVycmlkZSB0aGUK LS0vLyBHTiB0b29sY2hhaW4gKGUuZy4gQ2hyb21lT1MpIGFuZCBub3QgcHJvdmlkZSB0aGVtLgot LS8vCi0tLy8gV2UgbWFpbnRhaW4gMTYtYnl0ZSBhbGlnbm1lbnQuCi0tLy8KLS0vLyBDYWxsaW5n IGNvbnZlbnRpb24gc291cmNlOgotLS8vIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Nh bGxpbmdfY29udmVudGlvbiNBUk1fKEE2NCkKLS0KLS0vLyAxMSA2NC1iaXQgcmVnaXN0ZXJzID0g MTEgaW50cHJ0X3QKLS1zdGF0aWNfYXNzZXJ0KGhlYXA6OmJhc2U6OlN0YWNrOjpOdW1iZXJPZkNh bGxlZVNhdmVkUmVnaXN0ZXJzKCkgPT0gMTEsCi0tICAgICAgICAgICAgICAiTWlzbWF0Y2ggaW4g dGhlIG51bWJlciBvZiBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIik7Ci0tc3RhdGljX2Fzc2VydChz aXplb2YoaW50cHRyX3QpID09IDgsICJNaXNtYXRjaCBpbiB3b3JkIHNpemUiKTsKLS0KLS1hc20o Ci0tI2lmIGRlZmluZWQoX19BUFBMRV9fKQotLSAgICAiLmdsb2JsIF9TYXZlQ2FsbGVlU2F2ZWRS ZWdpc3RlcnMgICAgICAgICAgICBcbiIKLS0gICAgIi5wcml2YXRlX2V4dGVybiBfU2F2ZUNhbGxl ZVNhdmVkUmVnaXN0ZXJzICAgXG4iCi0tICAgICIucDJhbGlnbiAyICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotLSAgICAiX1NhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAg ICAgICAgICAgICAgICBcbiIKLS0jZWxzZSAgLy8gIWRlZmluZWQoX19BUFBMRV9fKQotLSAgICAi Lmdsb2JsIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyAgICAgICAgICAgICBcbiIKLS0jaWYgIWRl ZmluZWQoX1dJTjY0KQotLSAgICAiLnR5cGUgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzLCAlZnVu Y3Rpb24gICBcbiIKLS0gICAgIi5oaWRkZW4gU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAg ICAgICAgXG4iCi0tI2VuZGlmICAvLyAhZGVmaW5lZChfV0lONjQpCi0tICAgICIucDJhbGlnbiAy ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiU2F2ZUNhbGxlZVNh dmVkUmVnaXN0ZXJzOiAgICAgICAgICAgICAgICAgICBcbiIKLS0jZW5kaWYgIC8vICFkZWZpbmVk KF9fQVBQTEVfXykKLS0gICAgLy8gJHgwOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAgICAvLyBT YXZlIHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzOiB4MTkteDI5LgotLSAgICAiICBzdHAgeDE5 LCB4MjAsIFt4MF0sICMxNiAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3RwIHgyMSwg eDIyLCBbeDBdLCAjMTYgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0cCB4MjMsIHgy NCwgW3gwXSwgIzE2ICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdHAgeDI1LCB4MjYs IFt4MF0sICMxNiAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3RwIHgyNywgeDI4LCBb eDBdLCAjMTYgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0ciB4MjksIFt4MF0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAvLyBSZXR1cm4uCi0tICAgICIgIHJl dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIik7Ci1kaWZmIC0tZ2l0 IGEvc3JjL2hlYXAvYmFzZS9hc20vYXJtNjQvc2F2ZV9yZWdpc3RlcnNfbWFzbS5TIGIvc3JjL2hl YXAvYmFzZS9hc20vYXJtNjQvc2F2ZV9yZWdpc3RlcnNfbWFzbS5TCi1kZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IGFiNzkwNTUuLjAwMDAwMDAKLS0tLSBhL3Y4L3NyYy9oZWFwL2Jhc2Uv YXNtL2FybTY0L3NhdmVfcmVnaXN0ZXJzX21hc20uUwotKysrIC9kZXYvbnVsbAotQEAgLTEsMjQg KzAsMCBAQAotLTsgQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJp Z2h0cyByZXNlcnZlZC4KLS07IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5 IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS07IGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCi0tCi0tOyBUaGlzIGZpbGUgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyBzYXZlX3JlZ2lz dGVyc19hc20uY2MsIGp1c3QgZm9ybWF0dGVkIGZvcgotLTsgdGhlIE1pY3Jvc29mdCBBcm0gQXNz ZW1ibGVyLgotLQotLTsgU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgc3Bl Y2lmaWVkIGJ1ZmZlci4KLS07IGV4dGVybiAiQyIgdm9pZCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3Rl cnMoaW50cHRyX3QqIGJ1ZmZlcik7Ci0tCi0tICAgIEFSRUEgfC50ZXh0fCwgQ09ERSwgQUxJR049 NCwgUkVBRE9OTFkKLS0gICAgRVhQT1JUIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycwotLVNhdmVD YWxsZWVTYXZlZFJlZ2lzdGVycwotLSAgICA7IHgwOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAg ICA7IHgxOS14MjkgYXJlIGNhbGxlZS1zYXZlZAotLSAgICBTVFAgeDE5LCB4MjAsIFt4MF0sICMx NgotLSAgICBTVFAgeDIxLCB4MjIsIFt4MF0sICMxNgotLSAgICBTVFAgeDIzLCB4MjQsIFt4MF0s ICMxNgotLSAgICBTVFAgeDI1LCB4MjYsIFt4MF0sICMxNgotLSAgICBTVFAgeDI3LCB4MjgsIFt4 MF0sICMxNgotLSAgICBTVFIgeDI5LCBbeDBdCi0tICAgIDsgUmV0dXJuLgotLSAgICBSRVQKLS0g ICAgRU5ECi1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAvYmFzZS9hc20vaWEzMi9wdXNoX3JlZ2lzdGVy c19hc20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9pYTMyL3B1c2hfcmVnaXN0ZXJzX2FzbS5jYwot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmVkOWMxNGEKLS0tLSAvZGV2L251 bGwKLSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvcHVzaF9yZWdpc3RlcnNfYXNtLmNj Ci1AQCAtMCwwICsxLDUzIEBACi0rLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0 aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBp cyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQg aW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0 ZXJzIHRvIGdldCB0aGVtIG9uIHRoZSBzdGFjayBmb3IgY29uc2VydmF0aXZlCi0rLy8gc3RhY2sg c2Nhbm5pbmcuCi0rLy8KLSsvLyBTZWUgYXNtL3g2NC9wdXNoX3JlZ2lzdGVyc19jbGFuZy5jYyBm b3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3QgZ2VuZXJhdGVkCi0rLy8gdXNpbmcgY2xhbmcuCi0r Ly8KLSsvLyBEbyBub3QgZGVwZW5kIG9uIFY4X1RBUkdFVF9PU18qIGRlZmluZXMgYXMgc29tZSBl bWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQotKy8vIEdOIHRvb2xjaGFpbiAoZS5nLiBDaHJvbWVP UykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0rCi0rLy8gV2UgbWFpbnRhaW4gMTYtYnl0ZSBhbGln bm1lbnQgYXQgY2FsbHMuIFRoZXJlIGlzIGFuIDQtYnl0ZSByZXR1cm4gYWRkcmVzcwotKy8vIG9u IHRoZSBzdGFjayBhbmQgd2UgcHVzaCAyOCBieXRlcyB3aGljaCBtYWludGFpbnMgMTYtYnl0ZSBz dGFjayBhbGlnbm1lbnQKLSsvLyBhdCB0aGUgY2FsbC4KLSsvLwotKy8vIFRoZSBmb2xsb3dpbmcg YXNzdW1lcyBjZGVjbCBjYWxsaW5nIGNvbnZlbnRpb24uCi0rLy8gU291cmNlOiBodHRwczovL2Vu Lndpa2lwZWRpYS5vcmcvd2lraS9YODZfY2FsbGluZ19jb252ZW50aW9ucyNjZGVjbAotK2FzbSgK LSsjaWZkZWYgX1dJTjMyCi0rICAgICIuZ2xvYmwgX1B1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRl U3RhY2sgICAgICAgICAgICBcbiIKLSsgICAgIl9QdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0 YWNrOiAgICAgICAgICAgICAgICAgIFxuIgotKyNlbHNlICAgLy8gIV9XSU4zMgotKyAgICAiLmds b2JsIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2sgICAgICAgICAgICAgXG4iCi0rICAg ICIudHlwZSBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrLCAlZnVuY3Rpb24gICBcbiIK LSsgICAgIi5oaWRkZW4gUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjayAgICAgICAgICAg IFxuIgotKyAgICAiUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjazogICAgICAgICAgICAg ICAgICAgXG4iCi0rI2VuZGlmICAvLyAhX1dJTjMyCi0rICAgIC8vIFsgSXRlcmF0ZVN0YWNrQ2Fs bGJhY2sgXQotKyAgICAvLyBbIFN0YWNrVmlzaXRvciogICAgICAgIF0KLSsgICAgLy8gWyBTdGFj ayogICAgICAgICAgICAgICBdCi0rICAgIC8vIFsgcmV0ICAgICAgICAgICAgICAgICAgXQotKyAg ICAvLyBlYnAgaXMgY2FsbGVlLXNhdmVkLiBNYWludGFpbiBwcm9wZXIgZnJhbWUgcG9pbnRlciBm b3IgZGVidWdnaW5nLgotKyAgICAiICBwdXNoICVlYnAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIG1vdmwgJWVzcCwgJWVicCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgcHVzaCAlZWJ4ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBwdXNoICVlc2kgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHB1c2ggJWVkaSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gU2F2ZSAzcmQg cGFyYW1ldGVyIChJdGVyYXRlU3RhY2tDYWxsYmFjaykuCi0rICAgICIgIG1vdmwgMjgoJWVzcCks ICVlY3ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAzcmQg cGFyYW1ldGVyIGFzIGVzcCAoc3RhY2sgcG9pbnRlcikuCi0rICAgICIgIHB1c2ggJWVzcCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAybmQg cGFyYW1ldGVyIChTdGFja1Zpc2l0b3IqKS4KLSsgICAgIiAgcHVzaCAyOCglZXNwKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDFzdCBwYXJhbWV0 ZXIgKFN0YWNrKikuCi0rICAgICIgIHB1c2ggMjgoJWVzcCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgY2FsbCAqJWVjeCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQb3AgdGhlIGNhbGxlZS1zYXZlZCByZWdp c3RlcnMuCi0rICAgICIgIGFkZGwgJDI0LCAlZXNwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLSsgICAgLy8gUmVzdG9yZSByYnAgYXMgaXQgd2FzIHVzZWQgYXMgZnJhbWUg cG9pbnRlci4KLSsgICAgIiAgcG9wICVlYnAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAiICByZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iKTsKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS9pYTMy L3B1c2hfcmVnaXN0ZXJzX21hc20uYXNtIGIvc3JjL2hlYXAvYmFzZS9hc20vaWEzMi9wdXNoX3Jl Z2lzdGVyc19tYXNtLmFzbQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmEz NWZkNmUKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvcHVz aF9yZWdpc3RlcnNfbWFzbS5hc20KLUBAIC0wLDAgKzEsNDggQEAKLSs7OyBDb3B5cmlnaHQgMjAy MCB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKzs7IFVzZSBv ZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhh dCBjYW4gYmUKLSs7OyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKzs7IE1BU00gc3lu dGF4Ci0rOzsgaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvY3BwL2Fzc2VtYmxlci9t YXNtL21pY3Jvc29mdC1tYWNyby1hc3NlbWJsZXItcmVmZXJlbmNlP3ZpZXc9dnMtMjAxOQotKwot Ky5tb2RlbCBmbGF0LCBDCi0rCi0rcHVibGljIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3Rh Y2sKLSsKLSsuY29kZQotK1B1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2s6Ci0rICAgIDs7 IFB1c2ggYWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgdG8gZ2V0IHRoZW0gb24gdGhlIHN0YWNr IGZvciBjb25zZXJ2YXRpdmUKLSsgICAgOzsgc3RhY2sgc2Nhbm5pbmcuCi0rICAgIDs7Ci0rICAg IDs7IFdlIG1haW50YWluIDE2LWJ5dGUgYWxpZ25tZW50IGF0IGNhbGxzLiBUaGVyZSBpcyBhbiA4 LWJ5dGUgcmV0dXJuIGFkZHJlc3MKLSsgICAgOzsgb24gdGhlIHN0YWNrIGFuZCB3ZSBwdXNoIDcy IGJ5dGVzIHdoaWNoIG1haW50YWlucyAxNi1ieXRlIHN0YWNrIGFsaWdubWVudAotKyAgICA7OyBh dCB0aGUgY2FsbC4KLSsgICAgOzsKLSsgICAgOzsgVGhlIGZvbGxvd2luZyBhc3N1bWVzIGNkZWNs IGNhbGxpbmcgY29udmVudGlvbi4KLSsgICAgOzsgU291cmNlOiBodHRwczovL2RvY3MubWljcm9z b2Z0LmNvbS9lbi11cy9jcHAvY3BwL2NkZWNsP3ZpZXc9dnMtMjAxOQotKyAgICA7OwotKyAgICA7 OyBbIEl0ZXJhdGVTdGFja0NhbGxiYWNrIF0KLSsgICAgOzsgWyBTdGFja1Zpc2l0b3IqICAgICAg ICBdCi0rICAgIDs7IFsgU3RhY2sqICAgICAgICAgICAgICAgXQotKyAgICA7OyBbIHJldCAgICAg ICAgICAgICAgICAgIF0KLSsgICAgcHVzaCBlYnAKLSsgICAgbW92IGVicCwgZXNwCi0rICAgIHB1 c2ggZWJ4Ci0rICAgIHB1c2ggZXNpCi0rICAgIHB1c2ggZWRpCi0rICAgIDs7IFNhdmUgM3JkIHBh cmFtZXRlciAoSXRlcmF0ZVN0YWNrQ2FsbGJhY2spLgotKyAgICBtb3YgZWN4LCBbIGVzcCArIDI4 IF0KLSsgICAgOzsgUGFzcyAzcmQgcGFyYW1ldGVyIGFzIGVzcCAoc3RhY2sgcG9pbnRlcikuCi0r ICAgIHB1c2ggZXNwCi0rICAgIDs7IFBhc3MgMm5kIHBhcmFtZXRlciAoU3RhY2tWaXNpdG9yKiku Ci0rICAgIHB1c2ggWyBlc3AgKyAyOCBdCi0rICAgIDs7IFBhc3MgMXN0IHBhcmFtZXRlciAoU3Rh Y2sqKS4KLSsgICAgcHVzaCBbIGVzcCArIDI4IF0KLSsgICAgY2FsbCBlY3gKLSsgICAgOzsgUG9w IHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzLgotKyAgICBhZGQgZXNwLCAyNAotKyAgICA7OyBS ZXN0b3JlIHJicCBhcyBpdCB3YXMgdXNlZCBhcyBmcmFtZSBwb2ludGVyLgotKyAgICBwb3AgZWJw Ci0rICAgIHJldAotKwotK2VuZAotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL2lhMzIv c2F2ZV9yZWdpc3RlcnNfYXNtLmNjIGIvc3JjL2hlYXAvYmFzZS9hc20vaWEzMi9zYXZlX3JlZ2lz dGVyc19hc20uY2MKLWRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggN2MwNTI0Ny4uMDAw MDAwMAotLS0tIGEvdjgvc3JjL2hlYXAvYmFzZS9hc20vaWEzMi9zYXZlX3JlZ2lzdGVyc19hc20u Y2MKLSsrKyAvZGV2L251bGwKLUBAIC0xLDQ4ICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAyMCB0 aGUgVjggcHJvamVjdCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLS8vIFVzZSBvZiB0 aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj YW4gYmUKLS0vLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLQotLSNpbmNsdWRlIDxzcmMv aGVhcC9iYXNlL3N0YWNrLmg+Ci0tCi0tLy8gU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVy cyBpbiB0aGUgc3BlY2lmaWVkIGJ1ZmZlci4KLS0vLyBleHRlcm4gIkMiIHZvaWQgU2F2ZUNhbGxl ZVNhdmVkUmVnaXN0ZXJzKGludHB0cl90KiBidWZmZXIpOwotLQotLS8vIFNlZSBhc20veDY0L3Nh dmVfcmVnaXN0ZXJzX2FzbS5jYyBmb3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3QgZ2VuZXJhdGVk Ci0tLy8gdXNpbmcgY2xhbmcuCi0tLy8KLS0vLyBEbyBub3QgZGVwZW5kIG9uIFY4X1RBUkdFVF9P U18qIGRlZmluZXMgYXMgc29tZSBlbWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQotLS8vIEdOIHRv b2xjaGFpbiAoZS5nLiBDaHJvbWVPUykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0tLy8KLS0vLyBU aGUgZm9sbG93aW5nIGFzc3VtZXMgY2RlY2wgY2FsbGluZyBjb252ZW50aW9uLgotLS8vIFNvdXJj ZTogaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvWDg2X2NhbGxpbmdfY29udmVudGlvbnMj Y2RlY2wKLS0KLS0vLyAzIDMyLWJpdCByZWdpc3RlcnMgPSAzIGludHBydF90Ci0tc3RhdGljX2Fz c2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycygpID09 IDMsCi0tICAgICAgICAgICAgICAiTWlzbWF0Y2ggaW4gdGhlIG51bWJlciBvZiBjYWxsZWUtc2F2 ZWQgcmVnaXN0ZXJzIik7Ci0tc3RhdGljX2Fzc2VydChzaXplb2YoaW50cHRyX3QpID09IDQsICJN aXNtYXRjaCBpbiB3b3JkIHNpemUiKTsKLS0KLS1hc20oCi0tI2lmZGVmIF9XSU4zMgotLSAgICAi Lmdsb2JsIF9TYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICBcbiIKLS0gICAgIl9T YXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAgICAgICAgICAgICAgICAgXG4iCi0tI2Vsc2UgICAv LyAhX1dJTjMyCi0tICAgICIuZ2xvYmwgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAg ICAgIFxuIgotLSAgICAiLnR5cGUgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzLCAlZnVuY3Rpb24g ICBcbiIKLS0gICAgIi5oaWRkZW4gU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAg XG4iCi0tICAgICJTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAgICAgICAgICAgICAgICAgIFxu IgotLSNlbmRpZiAgLy8gIV9XSU4zMgotLSAgICAvLyA4OiBbIGludHB0cl90KiBidWZmZXIgXQot LSAgICAvLyA0OiBbIHJldCAgICAgICAgICAgICAgXQotLSAgICAvLyAwOiBbIHNhdmVkICVlYnAg ICAgICAgXQotLSAgICAvLyAlZWJwIGlzIGNhbGxlZS1zYXZlZC4gTWFpbnRhaW4gcHJvcGVyIGZy YW1lIHBvaW50ZXIgZm9yIGRlYnVnZ2luZy4KLS0gICAgIiAgcHVzaCAlZWJwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBtb3ZsICVlc3AsICVlYnAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgIC8vIExvYWQgdGhlIGJ1 ZmZlcidzIGFkZHJlc3MgaW4gJWVjeC4KLS0gICAgIiAgbW92bCA4KCVlYnApLCAlZWN4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2 ZWQgcmVnaXN0ZXJzLgotLSAgICAiICBtb3ZsICVlYngsIDAoJWVjeCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIG1vdmwgJWVzaSwgNCglZWN4KSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgbW92bCAlZWRpLCA4KCVlY3gpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAvLyBSZXN0b3JlICVlYnAgYXMgaXQg d2FzIHVzZWQgYXMgZnJhbWUgcG9pbnRlciBhbmQgcmV0dXJuLgotLSAgICAiICBwb3AgJWVicCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHJldCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIpOwotZGlmZiAt LWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL2lhMzIvc2F2ZV9yZWdpc3RlcnNfbWFzbS5hc20gYi9z cmMvaGVhcC9iYXNlL2FzbS9pYTMyL3NhdmVfcmVnaXN0ZXJzX21hc20uYXNtCi1kZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDA4OTJiMDIuLjAwMDAwMDAKLS0tLSBhL3Y4L3NyYy9oZWFw L2Jhc2UvYXNtL2lhMzIvc2F2ZV9yZWdpc3RlcnNfbWFzbS5hc20KLSsrKyAvZGV2L251bGwKLUBA IC0xLDM2ICswLDAgQEAKLS07OyBDb3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVjdCBhdXRob3Jz LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLTs7IFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS07OyBmb3VuZCBpbiB0 aGUgTElDRU5TRSBmaWxlLgotLQotLTs7IE1BU00gc3ludGF4Ci0tOzsgaHR0cHM6Ly9kb2NzLm1p Y3Jvc29mdC5jb20vZW4tdXMvY3BwL2Fzc2VtYmxlci9tYXNtL21pY3Jvc29mdC1tYWNyby1hc3Nl bWJsZXItcmVmZXJlbmNlP3ZpZXc9dnMtMjAxOQotLQotLS5tb2RlbCBmbGF0LCBDCi0tCi0tcHVi bGljIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycwotLQotLS5jb2RlCi0tICAgIDs7IFNhdmUgYWxs IGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gdGhlIHNwZWNpZmllZCBidWZmZXIuCi0tICAgIDs7 IGV4dGVybiAiQyIgdm9pZCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoaW50cHRyX3QqIGJ1ZmZl cik7Ci0tICAgIDs7Ci0tICAgIDs7IFRoZSBmb2xsb3dpbmcgYXNzdW1lcyBjZGVjbCBjYWxsaW5n IGNvbnZlbnRpb24uCi0tICAgIDs7IFNvdXJjZTogaHR0cHM6Ly9kb2NzLm1pY3Jvc29mdC5jb20v ZW4tdXMvY3BwL2NwcC9jZGVjbD92aWV3PXZzLTIwMTkKLS0KLS1TYXZlQ2FsbGVlU2F2ZWRSZWdp c3RlcnM6Ci0tICAgIDs7IDg6IFsgaW50cHRyX3QqIGJ1ZmZlciBdCi0tICAgIDs7IDQ6IFsgcmV0 ICAgICAgICAgICAgICBdCi0tICAgIDs7IDA6IFsgc2F2ZWQgJWVicCAgICAgICBdCi0tICAgIDs7 ICVlYnAgaXMgY2FsbGVlLXNhdmVkLiBNYWludGFpbiBwcm9wZXIgZnJhbWUgcG9pbnRlciBmb3Ig ZGVidWdnaW5nLgotLSAgICBwdXNoIGVicAotLSAgICBtb3YgZWJwLCBlc3AKLS0gICAgOzsgTG9h ZCB0aGUgYnVmZmVyJ3MgYWRkcmVzcyBpbiAlZWN4LgotLSAgICBtb3YgZWN4LCBbZWJwICsgOF0K LS0gICAgOzsgU2F2ZSB0aGUgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycy4KLS0gICAgbW92IFtlY3hd LCBlYngKLS0gICAgbW92IFtlY3ggKyA0XSwgZXNpCi0tICAgIG1vdiBbZWN4ICsgOF0sIGVkaQot LSAgICA7OyBSZXN0b3JlICVlYnAgYXMgaXQgd2FzIHVzZWQgYXMgZnJhbWUgcG9pbnRlciBhbmQg cmV0dXJuLgotLSAgICBwb3AgZWJwCi0tICAgIHJldAotLQotLWVuZAotZGlmZiAtLWdpdCBhL3Ny Yy9oZWFwL2Jhc2UvYXNtL2xvb25nNjQvcHVzaF9yZWdpc3RlcnNfYXNtLmNjIGIvc3JjL2hlYXAv YmFzZS9hc20vbG9vbmc2NC9wdXNoX3JlZ2lzdGVyc19hc20uY2MKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci1pbmRleCAwMDAwMDAwLi5hYThkY2QzCi0tLS0gL2Rldi9udWxsCi0rKysgYi92OC9zcmMv aGVhcC9iYXNlL2FzbS9sb29uZzY0L3B1c2hfcmVnaXN0ZXJzX2FzbS5jYwotQEAgLTAsMCArMSw0 OCBAQAotKy8vIENvcHlyaWdodCAyMDIxIHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCi0rCi0rLy8gUHVzaCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyB0byBnZXQgdGhl bSBvbiB0aGUgc3RhY2sgZm9yIGNvbnNlcnZhdGl2ZQotKy8vIHN0YWNrIHNjYW5uaW5nLgotKy8v Ci0rLy8gU2VlIGFzbS94NjQvcHVzaF9yZWdpc3RlcnNfY2xhbmcuY2MgZm9yIHdoeSB0aGUgZnVu Y3Rpb24gaXMgbm90IGdlbmVyYXRlZAotKy8vIHVzaW5nIGNsYW5nLgotKy8vCi0rLy8gRG8gbm90 IGRlcGVuZCBvbiBWOF9UQVJHRVRfT1NfKiBkZWZpbmVzIGFzIHNvbWUgZW1iZWRkZXJzIG1heSBv dmVycmlkZSB0aGUKLSsvLyBHTiB0b29sY2hhaW4gKGUuZy4gQ2hyb21lT1MpIGFuZCBub3QgcHJv dmlkZSB0aGVtLgotK2FzbSgiLnRleHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyAgICAiLmdsb2JhbCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0 ZVN0YWNrICAgICAgICAgICAgIFxuIgotKyAgICAiLnR5cGUgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0 ZXJhdGVTdGFjaywgJWZ1bmN0aW9uICAgIFxuIgotKyAgICAiLmhpZGRlbiBQdXNoQWxsUmVnaXN0 ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAgIFxuIgotKyAgICAiUHVzaEFsbFJlZ2lzdGVy c0FuZEl0ZXJhdGVTdGFjazogICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQdXNoIGFs bCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGFuZCBzYXZlIHJldHVybiBhZGRyZXNzLgotKyAgICAi ICBhZGRpLmQgJHNwLCAkc3AsIC05NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot KyAgICAiICBzdC5kICRyYSwgJHNwLCA4OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotKyAgICAiICBzdC5kICRzOCwgJHNwLCA4MCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAiICBzdC5kICRzcCwgJHNwLCA3MiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdC5kICRmcCwgJHNwLCA2NCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdC5kICRzNywgJHNwLCA1NiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdC5kICRzNiwgJHNwLCA0OCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdC5kICRzNSwgJHNw LCA0MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdC5kICRz NCwgJHNwLCAzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBz dC5kICRzMywgJHNwLCAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAiICBzdC5kICRzMiwgJHNwLCAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotKyAgICAiICBzdC5kICRzMSwgJHNwLCAgOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotKyAgICAiICBzdC5kICRzMCwgJHNwLCAgMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBNYWludGFpbiBmcmFtZSBwb2ludGVyLgotKyAgICAiICBh ZGRpLmQgJHM4LCAkc3AsIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAvLyBQYXNzIDFzdCBwYXJhbWV0ZXIgKGEwKSB1bmNoYW5nZWQgKFN0YWNrKikuCi0rICAgIC8v IFBhc3MgMm5kIHBhcmFtZXRlciAoYTEpIHVuY2hhbmdlZCAoU3RhY2tWaXNpdG9yKikuCi0rICAg IC8vIFNhdmUgM3JkIHBhcmFtZXRlciAoYTI7IEl0ZXJhdGVTdGFja0NhbGxiYWNrKS4KLSsgICAg IiAgYWRkaS5kICRhMywgJGEyLCAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK LSsgICAgLy8gQ2FsbCB0aGUgY2FsbGJhY2suCi0rICAgIC8vIFBhc3MgM3JkIHBhcmFtZXRlciBh cyBzcCAoc3RhY2sgcG9pbnRlcikuCi0rICAgICIgIGFkZGkuZCAkYTIsICRzcCwgMCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIGppcmwgJHJhLCAkYTMsIDAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIExvYWQgcmV0dXJuIGFk ZHJlc3MuCi0rICAgICIgIGxkLmQgJHJhLCAkc3AsIDg4ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXG4iCi0rICAgIC8vIFJlc3RvcmUgZnJhbWUgcG9pbnRlci4KLSsgICAgIiAgbGQu ZCAkczgsICRzcCwgODAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAg Ly8gRGlzY2FyZCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycy4KLSsgICAgIiAgYWRkaS5kICRz cCwgJHNwLCA5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgamly bCAkemVybywgJHJhLCAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIpOwotZGlm ZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL2xvb25nNjQvc2F2ZV9yZWdpc3RlcnNfYXNtLmNj IGIvc3JjL2hlYXAvYmFzZS9hc20vbG9vbmc2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLWRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggZDViMTEwZC4uMDAwMDAwMAotLS0tIGEvdjgvc3Jj L2hlYXAvYmFzZS9hc20vbG9vbmc2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLSsrKyAvZGV2L251 bGwKLUBAIC0xLDQwICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAyMSB0aGUgVjggcHJvamVjdCBh dXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2Rl IGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS0vLyBmb3Vu ZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLQotLSNpbmNsdWRlIDxzcmMvaGVhcC9iYXNlL3N0YWNr Lmg+Ci0tCi0tLy8gU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgc3BlY2lm aWVkIGJ1ZmZlci4KLS0vLyBleHRlcm4gIkMiIHZvaWQgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJz KGludHB0cl90KiBidWZmZXIpOwotLQotLS8vIFNlZSBhc20veDY0L3NhdmVfcmVnaXN0ZXJzX2Fz bS5jYyBmb3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3QgZ2VuZXJhdGVkCi0tLy8gdXNpbmcgY2xh bmcuCi0tLy8KLS0vLyBEbyBub3QgZGVwZW5kIG9uIFY4X1RBUkdFVF9PU18qIGRlZmluZXMgYXMg c29tZSBlbWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQotLS8vIEdOIHRvb2xjaGFpbiAoZS5nLiBD aHJvbWVPUykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0tCi0tLy8gMTEgNjQtYml0IHJlZ2lzdGVy cyA9IDExIGludHBydF90Ci0tc3RhdGljX2Fzc2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVtYmVy T2ZDYWxsZWVTYXZlZFJlZ2lzdGVycygpID09IDExLAotLSAgICAgICAgICAgICAgIk1pc21hdGNo IGluIHRoZSBudW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3Nl cnQoc2l6ZW9mKGludHB0cl90KSA9PSA4LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0t YXNtKCIudGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgIi5nbG9iYWwgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAgIFxuIgotLSAg ICAiLnR5cGUgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzLCAlZnVuY3Rpb24gICAgXG4iCi0tICAg ICIuaGlkZGVuIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyAgICAgICAgICAgICBcbiIKLS0gICAg IlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAv LyAkYTA6IFsgaW50cHRyX3QqIGJ1ZmZlciBdCi0tICAgIC8vIFNhdmUgdGhlIGNhbGxlZS1zYXZl ZCByZWdpc3RlcnMuCi0tICAgICIgIHN0LmQgJHM4LCAkYTAsIDAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLS0gICAgIiAgc3QuZCAkc3AsICRhMCwgOCAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotLSAgICAiICBzdC5kICRmcCwgJGEwLCAxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgXG4iCi0tICAgICIgIHN0LmQgJHM3LCAkYTAsIDI0ICAgICAgICAgICAgICAgICAgICAg ICAgICBcbiIKLS0gICAgIiAgc3QuZCAkczYsICRhMCwgMzIgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotLSAgICAiICBzdC5kICRzNSwgJGEwLCA0MCAgICAgICAgICAgICAgICAgICAgICAg ICAgXG4iCi0tICAgICIgIHN0LmQgJHM0LCAkYTAsIDQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLS0gICAgIiAgc3QuZCAkczMsICRhMCwgNTYgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotLSAgICAiICBzdC5kICRzMiwgJGEwLCA2NCAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0tICAgICIgIHN0LmQgJHMxLCAkYTAsIDcyICAgICAgICAgICAgICAgICAgICAgICAgICBc biIKLS0gICAgIiAgc3QuZCAkczAsICRhMCwgODAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotLSAgICAvLyBSZXR1cm4uCi0tICAgICIgIGppcmwgJHplcm8sICRyYSwgMCAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIpOwotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL21pcHM2 NC9wdXNoX3JlZ2lzdGVyc19hc20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9taXBzNjQvcHVzaF9y ZWdpc3RlcnNfYXNtLmNjCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNDc3 NzllMAotLS0tIC9kZXYvbnVsbAotKysrIGIvdjgvc3JjL2hlYXAvYmFzZS9hc20vbWlwczY0L3B1 c2hfcmVnaXN0ZXJzX2FzbS5jYwotQEAgLTAsMCArMSw0OSBAQAotKy8vIENvcHlyaWdodCAyMDIw IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rLy8gUHVzaCBhbGwg Y2FsbGVlLXNhdmVkIHJlZ2lzdGVycyB0byBnZXQgdGhlbSBvbiB0aGUgc3RhY2sgZm9yIGNvbnNl cnZhdGl2ZQotKy8vIHN0YWNrIHNjYW5uaW5nLgotKy8vCi0rLy8gU2VlIGFzbS94NjQvcHVzaF9y ZWdpc3RlcnNfY2xhbmcuY2MgZm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAot Ky8vIHVzaW5nIGNsYW5nLgotKy8vCi0rLy8gRG8gbm90IGRlcGVuZCBvbiBWOF9UQVJHRVRfT1Nf KiBkZWZpbmVzIGFzIHNvbWUgZW1iZWRkZXJzIG1heSBvdmVycmlkZSB0aGUKLSsvLyBHTiB0b29s Y2hhaW4gKGUuZy4gQ2hyb21lT1MpIGFuZCBub3QgcHJvdmlkZSB0aGVtLgotK2FzbSgiLnRleHQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAi LnNldCBub3Jlb3JkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot KyAgICAiLmdsb2JhbCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAg IFxuIgotKyAgICAiLnR5cGUgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjaywgJWZ1bmN0 aW9uICAgIFxuIgotKyAgICAiLmhpZGRlbiBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNr ICAgICAgICAgICAgIFxuIgotKyAgICAiUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjazog ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVn aXN0ZXJzIGFuZCBzYXZlIHJldHVybiBhZGRyZXNzLgotKyAgICAiICBkYWRkaXUgJHNwLCAkc3As IC05NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkcmEsIDg4 KCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAk czgsIDgwKCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAi ICBzZCAkc3AsIDcyKCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot KyAgICAiICBzZCAkZ3AsIDY0KCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotKyAgICAiICBzZCAkczcsIDU2KCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAiICBzZCAkczYsIDQ4KCRzcCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkczUsIDQwKCRzcCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkczQsIDMyKCRzcCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkczMsIDI0KCRzcCkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkczIsIDE2KCRz cCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzZCAkczEs ICA4KCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBz ZCAkczAsICAwKCRzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAvLyBNYWludGFpbiBmcmFtZSBwb2ludGVyLgotKyAgICAiICBtb3ZlICRzOCwgJHNwICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDFzdCBwYXJh bWV0ZXIgKGEwKSB1bmNoYW5nZWQgKFN0YWNrKikuCi0rICAgIC8vIFBhc3MgMm5kIHBhcmFtZXRl ciAoYTEpIHVuY2hhbmdlZCAoU3RhY2tWaXNpdG9yKikuCi0rICAgIC8vIFNhdmUgM3JkIHBhcmFt ZXRlciAoYTI7IEl0ZXJhdGVTdGFja0NhbGxiYWNrKS4KLSsgICAgIiAgbW92ZSAkYTMsICRhMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gQ2FsbCB0aGUg Y2FsbGJhY2suCi0rICAgICIgIGphbHIgJGEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0rICAgIC8vIERlbGF5IHNsb3Q6IFBhc3MgM3JkIHBhcmFtZXRlciBh cyBzcCAoc3RhY2sgcG9pbnRlcikuCi0rICAgICIgIG1vdmUgJGEyLCAkc3AgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIExvYWQgcmV0dXJuIGFkZHJlc3Mu Ci0rICAgICIgIGxkICRyYSwgODgoJHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXG4iCi0rICAgIC8vIFJlc3RvcmUgZnJhbWUgcG9pbnRlci4KLSsgICAgIiAgbGQgJHM4LCA4 MCgkc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAganIg JHJhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAg Ly8gRGVsYXkgc2xvdDogRGlzY2FyZCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycy4KLSsgICAg IiAgZGFkZGl1ICRzcCwgJHNwLCA5NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIp OwotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL21pcHM2NC9zYXZlX3JlZ2lzdGVyc19h c20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9taXBzNjQvc2F2ZV9yZWdpc3RlcnNfYXNtLmNjCi1k ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDk1YmNjMzEuLjAwMDAwMDAKLS0tLSBhL3Y4 L3NyYy9oZWFwL2Jhc2UvYXNtL21pcHM2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLSsrKyAvZGV2 L251bGwKLUBAIC0xLDQxICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVj dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBj b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS0vLyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotLQotLSNpbmNsdWRlIDxzcmMvaGVhcC9iYXNlL3N0 YWNrLmg+Ci0tCi0tLy8gU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgc3Bl Y2lmaWVkIGJ1ZmZlci4KLS0vLyBleHRlcm4gIkMiIHZvaWQgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0 ZXJzKGludHB0cl90KiBidWZmZXIpOwotLQotLS8vIFNlZSBhc20veDY0L3NhdmVfcmVnaXN0ZXJz X2FzbS5jYyBmb3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3QgZ2VuZXJhdGVkCi0tLy8gdXNpbmcg Y2xhbmcuCi0tLy8KLS0vLyBEbyBub3QgZGVwZW5kIG9uIFY4X1RBUkdFVF9PU18qIGRlZmluZXMg YXMgc29tZSBlbWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQotLS8vIEdOIHRvb2xjaGFpbiAoZS5n LiBDaHJvbWVPUykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0tCi0tLy8gOSA2NC1iaXQgcmVnaXN0 ZXJzID0gOSBpbnRwcnRfdAotLXN0YXRpY19hc3NlcnQoaGVhcDo6YmFzZTo6U3RhY2s6Ok51bWJl ck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoKSA9PSA5LAotLSAgICAgICAgICAgICAgIk1pc21hdGNo IGluIHRoZSBudW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3Nl cnQoc2l6ZW9mKGludHB0cl90KSA9PSA4LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0t YXNtKCIudGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgIi5zZXQgbm9yZW9yZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAg ICAiLmdsb2JhbCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICAgXG4iCi0tICAg ICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMsICVmdW5jdGlvbiAgICBcbiIKLS0gICAg Ii5oaWRkZW4gU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAgIFxuIgotLSAgICAi U2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzOiAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgIC8v ICRhMDogWyBpbnRwdHJfdCogYnVmZmVyIF0KLS0gICAgLy8gU2F2ZSB0aGUgY2FsbGVlLXNhdmVk IHJlZ2lzdGVycy4KLS0gICAgIiAgc2QgJGdwLCA2NCgkYTApICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotLSAgICAiICBzZCAkczcsIDU2KCRhMCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXG4iCi0tICAgICIgIHNkICRzNiwgNDgoJGEwKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcbiIKLS0gICAgIiAgc2QgJHM1LCA0MCgkYTApICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotLSAgICAiICBzZCAkczQsIDMyKCRhMCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXG4iCi0tICAgICIgIHNkICRzMywgMjQoJGEwKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLS0gICAgIiAgc2QgJHMyLCAxNigkYTApICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotLSAgICAiICBzZCAkczEsICA4KCRhMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0tICAgIC8vIC4uLiBvbmUgbW9yZSBpbiB0aGUgZGVsYXkgc2xvdCEKLS0gICAgLy8gUmV0 dXJuLgotLSAgICAiICBqciAkcmEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0tICAgIC8vIERlbGF5IHNsb3Q6Ci0tICAgICIgIHNkICRzMCwgIDAoJGEwKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIpOwotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNt L3BwYy9wdXNoX3JlZ2lzdGVyc19hc20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9wcGMvcHVzaF9y ZWdpc3RlcnNfYXNtLmNjCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZjg3 OTk4MAotLS0tIC9kZXYvbnVsbAotKysrIGIvdjgvc3JjL2hlYXAvYmFzZS9hc20vcHBjL3B1c2hf cmVnaXN0ZXJzX2FzbS5jYwotQEAgLTAsMCArMSw5NyBAQAotKy8vIENvcHlyaWdodCAyMDIwIHRo ZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRo aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh biBiZQotKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0rCi0rLy8gUHVzaCBhbGwgY2Fs bGVlLXNhdmVkIHJlZ2lzdGVycyB0byBnZXQgdGhlbSBvbiB0aGUgc3RhY2sgZm9yIGNvbnNlcnZh dGl2ZQotKy8vIHN0YWNrIHNjYW5uaW5nLgotKy8vCi0rLy8gU2VlIGFzbS94NjQvcHVzaF9yZWdp c3RlcnNfY2xhbmcuY2MgZm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAotKy8v IHVzaW5nIGNsYW5nLgotKwotKy8vIERvIG5vdCBkZXBlbmQgb24gVjhfVEFSR0VUX09TXyogZGVm aW5lcyBhcyBzb21lIGVtYmVkZGVycyBtYXkgb3ZlcnJpZGUgdGhlCi0rLy8gR04gdG9vbGNoYWlu IChlLmcuIENocm9tZU9TKSBhbmQgbm90IHByb3ZpZGUgdGhlbS4KLSsKLSsvLyBQUEMgQUJJIHNv dXJjZToKLSsvLyBodHRwOi8vcmVmc3BlY3MubGludXhmb3VuZGF0aW9uLm9yZy9FTEYvcHBjNjQv UFBDLWVsZjY0YWJpLmh0bWwKLSsKLSsvLyBBSVggUnVudGltZSBwcm9jZXNzIHN0YWNrOgotKy8v IGh0dHBzOi8vd3d3LmlibS5jb20vc3VwcG9ydC9rbm93bGVkZ2VjZW50ZXIvc3N3X2FpeF83MS9h c3NlbWJsZXIvaWRhbGFuZ3JlZl9ydW50aW1lX3Byb2Nlc3MuaHRtbAotK2FzbSgKLSsjaWYgZGVm aW5lZChfQUlYKQotKyAgICAiLmNzZWN0IC50ZXh0W1BSXSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0rICAgICIuYWxpZ24gMiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIi5nbG9ibCAuUHVzaEFsbFJlZ2lzdGVyc0FuZEl0 ZXJhdGVTdGFjaywgaGlkZGVuICAgIFxuIgotKyAgICAiLlB1c2hBbGxSZWdpc3RlcnNBbmRJdGVy YXRlU3RhY2s6ICAgICAgICAgICAgICAgICAgXG4iCi0rI2Vsc2UKLSsgICAgIi50ZXh0ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiLmFsaWdu IDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIu Z2xvYmwgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjayAgICAgICAgICAgICBcbiIKLSsg ICAgIi50eXBlIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2ssICVmdW5jdGlvbiAgIFxu IgotKyAgICAiLmhpZGRlbiBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAg ICAgXG4iCi0rICAgICJQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrOiAgICAgICAgICAg ICAgICAgICBcbiIKLSsjZW5kaWYKLSsgICAgLy8gUHVzaCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lz dGVycy4KLSsgICAgLy8gbHIsIFRPQyBwb2ludGVyLCByMTYgdG8gcjMxLiAxNjAgYnl0ZXMuCi0r ICAgIC8vIFRoZSBwYXJhbWV0ZXIgc2F2ZSBhcmVhIHNoYWxsIGJlIGFsbG9jYXRlZCBieSB0aGUg Y2FsbGVyLiAxMTIgYnl0ZXMuCi0rICAgIC8vIEF0IGFueXRpbWUsIFNQIChyMSkgbmVlZHMgdG8g YmUgbXVsdGlwbGUgb2YgMTYgKGkuZS4gMTYtYWxpZ25lZCkuCi0rICAgICIgIG1mbHIgMCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdGQgMCwg MTYoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsjaWYgZGVmaW5l ZChfQUlYKQotKyAgICAiICBzdGQgMiwgNDAoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLSsjZWxzZQotKyAgICAiICBzdGQgMiwgMjQoMSkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLSsjZW5kaWYKLSsgICAgIiAgc3RkdSAxLCAtMjU2KDEp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHN0ZCAxNCwgMTEy KDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdGQgMTUs IDEyMCgxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc3Rk IDE2LCAxMjgoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIg IHN0ZCAxNywgMTM2KDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAiICBzdGQgMTgsIDE0NCgxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK LSsgICAgIiAgc3RkIDE5LCAxNTIoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0rICAgICIgIHN0ZCAyMCwgMTYwKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotKyAgICAiICBzdGQgMjEsIDE2OCgxKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLSsgICAgIiAgc3RkIDIyLCAxNzYoMSkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0rICAgICIgIHN0ZCAyMywgMTg0KDEpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdGQgMjQsIDE5MigxKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc3RkIDI1LCAyMDAoMSkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHN0ZCAyNiwgMjA4KDEpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdGQgMjcsIDIxNigxKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc3RkIDI4LCAyMjQo MSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHN0ZCAyOSwg MjMyKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdGQg MzAsIDI0MCgxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAg c3RkIDMxLCAyNDgoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAg IC8vIFBhc3MgMXN0IHBhcmFtZXRlciAocjMpIHVuY2hhbmdlZCAoU3RhY2sqKS4KLSsgICAgLy8g UGFzcyAybmQgcGFyYW1ldGVyIChyNCkgdW5jaGFuZ2VkIChTdGFja1Zpc2l0b3IqKS4KLSsgICAg Ly8gU2F2ZSAzcmQgcGFyYW1ldGVyIChyNTsgSXRlcmF0ZVN0YWNrQ2FsbGJhY2spLgotKyAgICAi ICBtciA2LCA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsj aWYgZGVmaW5lZChfQUlYKQotKyAgICAvLyBTZXQgdXAgVE9DIGZvciBjYWxsZWUuCi0rICAgICIg IGxkIDIsOCg1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAvLyBBSVggdXNlcyBmdW5jdGlvbiBkZXNjcmlwdG9ycywgd2hpY2ggbWVhbnMgdGhhdAotKyAg ICAvLyBwb2ludGVycyB0byBmdW5jdGlvbnMgZG8gbm90IHBvaW50IHRvIGNvZGUsIGJ1dAotKyAg ICAvLyBpbnN0ZWFkIHBvaW50IHRvIG1ldGFkYXRhIGFib3V0IHRoZW0sIGhlbmNlCi0rICAgIC8v IG5lZWQgdG8gZGV0ZXJyZW5jZS4KLSsgICAgIiAgbGQgNiwwKDYpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXG4iCi0rI2VuZGlmCi0rICAgIC8vIFBhc3MgM3JkIHBhcmFt ZXRlciBhcyBzcCAoc3RhY2sgcG9pbnRlcikuCi0rICAgICIgIG1yIDUsIDEgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyNpZiAhZGVmaW5lZChfQUlYKQotKyAg ICAvLyBTZXQgdXAgcjEyIHRvIGJlIGVxdWFsIHRvIHRoZSBjYWxsZWUgYWRkcmVzcyAoaW4gb3Jk ZXIgZm9yIFRPQwotKyAgICAvLyByZWxvY2F0aW9uKS4gT25seSBuZWVkZWQgb24gTEUgTGludXgu Ci0rICAgICIgIG1yIDEyLCA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotKyNlbmRpZgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsgICAgIiAgbXRjdHIg NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIGJj dHJsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAv LyBEaXNjYXJkIGFsbCB0aGUgcmVnaXN0ZXJzLgotKyAgICAiICBhZGRpIDEsIDEsIDI1NiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUmVzdG9yZSBsci4KLSsg ICAgIiAgbGQgMCwgMTYoMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i Ci0rICAgICIgIG10bHIgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotKyNpZiBkZWZpbmVkKF9BSVgpCi0rICAgIC8vIFJlc3RvcmUgVE9DIHBvaW50ZXIuCi0r ICAgICIgIGxkIDIsIDQwKDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotKyNlbHNlCi0rICAgICIgIGxkIDIsIDI0KDEpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyNlbmRpZgotKyAgICAiICBibHIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIpOwotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2Uv YXNtL3BwYy9zYXZlX3JlZ2lzdGVyc19hc20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9wcGMvc2F2 ZV9yZWdpc3RlcnNfYXNtLmNjCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDllODEw MmEuLjAwMDAwMDAKLS0tLSBhL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL3BwYy9zYXZlX3JlZ2lzdGVy c19hc20uY2MKLSsrKyAvZGV2L251bGwKLUBAIC0xLDExMyArMCwwIEBACi0tLy8gQ29weXJpZ2h0 IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0vLyBV c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl IHRoYXQgY2FuIGJlCi0tLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0KLS0jaW5jbHVk ZSA8c3JjL2hlYXAvYmFzZS9zdGFjay5oPgotLQotLS8vIFNhdmUgYWxsIGNhbGxlZS1zYXZlZCBy ZWdpc3RlcnMgaW4gdGhlIHNwZWNpZmllZCBidWZmZXIuCi0tLy8gZXh0ZXJuICJDIiB2b2lkIFNh dmVDYWxsZWVTYXZlZFJlZ2lzdGVycyhpbnRwdHJfdCogYnVmZmVyKTsKLS0KLS0vLyBTZWUgYXNt L3g2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MgZm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90IGdl bmVyYXRlZAotLS8vIHVzaW5nIGNsYW5nLgotLS8vCi0tLy8gRG8gbm90IGRlcGVuZCBvbiBWOF9U QVJHRVRfT1NfKiBkZWZpbmVzIGFzIHNvbWUgZW1iZWRkZXJzIG1heSBvdmVycmlkZSB0aGUKLS0v LyBHTiB0b29sY2hhaW4gKGUuZy4gQ2hyb21lT1MpIGFuZCBub3QgcHJvdmlkZSB0aGVtLgotLS8v Ci0tLy8gUFBDIEFCSSBzb3VyY2U6Ci0tLy8gaHR0cDovL3JlZnNwZWNzLmxpbnV4Zm91bmRhdGlv bi5vcmcvRUxGL3BwYzY0L1BQQy1lbGY2NGFiaS5odG1sCi0tCi0tLy8gQUlYIFJ1bnRpbWUgcHJv Y2VzcyBzdGFjazoKLS0vLyBodHRwczovL3d3dy5pYm0uY29tL3N1cHBvcnQva25vd2xlZGdlY2Vu dGVyL3Nzd19haXhfNzEvYXNzZW1ibGVyL2lkYWxhbmdyZWZfcnVudGltZV9wcm9jZXNzLmh0bWwK LS0KLS0jaWZkZWYgX19QUEM2NF9fCi0tCi0tLy8gMjAgNjQtYml0IHJlZ2lzdGVycyA9IDIwIGlu dHBydF90Ci0tc3RhdGljX2Fzc2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVtYmVyT2ZDYWxsZWVT YXZlZFJlZ2lzdGVycygpID09IDIwLAotLSAgICAgICAgICAgICAgIk1pc21hdGNoIGluIHRoZSBu dW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3NlcnQoc2l6ZW9m KGludHB0cl90KSA9PSA4LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0tYXNtKAotLSNp ZiBkZWZpbmVkKF9BSVgpCi0tICAgICIuY3NlY3QgLnRleHRbUFJdICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotLSAgICAiLmFsaWduIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLS0gICAgIi5nbG9ibCAuU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzLCBoaWRk ZW4gICAgXG4iCi0tICAgICIuU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzOiAgICAgICAgICAgICAg ICAgIFxuIgotLSNlbHNlCi0tICAgICIudGV4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotLSAgICAiLmFsaWduIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLS0gICAgIi5nbG9ibCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAg ICAgICAgXG4iCi0tICAgICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMsICVmdW5jdGlv biAgIFxuIgotLSAgICAiLmhpZGRlbiBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAg ICBcbiIKLS0gICAgIlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAgICAgICAgICAgICAgICAg XG4iCi0tI2VuZGlmCi0tICAgIC8vIHIzOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAgICAvLyBT YXZlIHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzOiBsciwgVE9DIHBvaW50ZXIgKHIyKSwgcjE0 LXIzMS4KLS0gICAgIiAgbWZsciAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0tICAgICIgIHN0ZCAwLCA4KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotLSAgICAiICBzdGQgMiwgMTYoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK LS0gICAgIiAgc3RkIDE0LCAyNCgzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0t ICAgICIgIHN0ZCAxNSwgMzIoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAg ICAiICBzdGQgMTYsIDQwKDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAg IiAgc3RkIDE3LCA0OCgzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIg IHN0ZCAxOCwgNTYoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBz dGQgMTksIDY0KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3Rk IDIwLCA3MigzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0ZCAy MSwgODAoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdGQgMjIs IDg4KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3RkIDIzLCA5 NigzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0ZCAyNCwgMTA0 KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdGQgMjUsIDExMigz KSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3RkIDI2LCAxMjAoMykg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0ZCAyNywgMTI4KDMpICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdGQgMjgsIDEzNigzKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3RkIDI5LCAxNDQoMykgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0ZCAzMCwgMTUyKDMpICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdGQgMzEsIDE2MCgzKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcbiIKLS0gICAgLy8gUmV0dXJuLgotLSAgICAiICBibHIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIpOwotLQotLSNlbHNlICAvLyAhX19Q UEM2NF9fCi0tCi0tLy8gMjAgMzItYml0IHJlZ2lzdGVycyA9IDIwIGludHBydF90Ci0tc3RhdGlj X2Fzc2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycygp ID09IDIwLAotLSAgICAgICAgICAgICAgIk1pc21hdGNoIGluIHRoZSBudW1iZXIgb2YgY2FsbGVl LXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3NlcnQoc2l6ZW9mKGludHB0cl90KSA9PSA0 LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0tYXNtKAotLSNpZiBkZWZpbmVkKF9BSVgp Ci0tICAgICIuZ2xvYmwgLlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycywgaGlkZGVuICAgIFxuIgot LSAgICAiLmNzZWN0IC50ZXh0W1BSXSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgIi5TYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAgICAgICAgICAgICAgICAgXG4iCi0tI2Vs c2UKLS0gICAgIi5nbG9ibCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICAgXG4i Ci0tICAgICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMsICVmdW5jdGlvbiAgIFxuIgot LSAgICAiLmhpZGRlbiBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICBcbiIKLS0g ICAgIlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAgICAgICAgICAgICAgICAgXG4iCi0tI2Vu ZGlmCi0tICAgIC8vIHIzOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAgICAvLyBTYXZlIHRoZSBj YWxsZWUtc2F2ZWQgcmVnaXN0ZXJzOiBsciwgVE9DIHBvaW50ZXIgKHIyKSwgcjE0LXIzMS4KLS0g ICAgIiAgbWZsciAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAg ICIgIHN0IDAsIDQoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAi ICBzdCAyLCA4KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAg c3QgMTQsIDEyKDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0 IDE1LCAxNigzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdCAx NiwgMjAoMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3QgMTcs IDI0KDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0IDE4LCAy OCgzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdCAxOSwgMzIo MykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3QgMjAsIDM2KDMp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0IDIxLCA0MCgzKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdCAyMiwgNDQoMykgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3QgMjMsIDQ4KDMpICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0IDI0LCA1MigzKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdCAyNSwgNTYoMykgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3QgMjYsIDYwKDMpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0IDI3LCA2NCgzKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdCAyOCwgNjgoMykgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3QgMjksIDcyKDMpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0tICAgICIgIHN0IDMwLCA3NigzKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotLSAgICAiICBzdCAzMSwgODAoMykgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLS0gICAgLy8gUmV0dXJuLgotLSAgICAiICBibHIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIpOwotLQotLSNlbmRpZiAgLy8gX19QUEM2NF9fCi1k aWZmIC0tZ2l0IGEvc3JjL2hlYXAvYmFzZS9hc20vcmlzY3YvcHVzaF9yZWdpc3RlcnNfYXNtLmNj IGIvc3JjL2hlYXAvYmFzZS9hc20vcmlzY3YvcHVzaF9yZWdpc3RlcnNfYXNtLmNjCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uN2NjMTNlYQotLS0tIC9kZXYvbnVsbAotKysr IGIvdjgvc3JjL2hlYXAvYmFzZS9hc20vcmlzY3YvcHVzaF9yZWdpc3RlcnNfYXNtLmNjCi1AQCAt MCwwICsxLDkzIEBACi0rLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9ycy4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4gdGhl IExJQ0VOU0UgZmlsZS4KLSsKLSsvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIHRv IGdldCB0aGVtIG9uIHRoZSBzdGFjayBmb3IgY29uc2VydmF0aXZlCi0rLy8gc3RhY2sgc2Nhbm5p bmcuCi0rLy8KLSsvLyBTZWUgYXNtL3g2NC9wdXNoX3JlZ2lzdGVyc19hc20uY2MgZm9yIHdoeSB0 aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAotKy8vIHVzaW5nIGNsYW5nLgotKy8vCi0rLy8g Q2FsbGluZyBjb252ZW50aW9uIHNvdXJjZToKLSsvLyBodHRwczovL3Jpc2N2Lm9yZy93cC1jb250 ZW50L3VwbG9hZHMvMjAxNS8wMS9yaXNjdi1jYWxsaW5nLnBkZiBUYWJsZSAxOC4yCi0rI2lmZGVm IFY4X1RBUkdFVF9BUkNIX1JJU0NWNjQKLSthc20oIi5nbG9iYWwgUHVzaEFsbFJlZ2lzdGVyc0Fu ZEl0ZXJhdGVTdGFjayAgICAgICAgICAgICBcbiIKLSsgICAgIi50eXBlIFB1c2hBbGxSZWdpc3Rl cnNBbmRJdGVyYXRlU3RhY2ssICVmdW5jdGlvbiAgICBcbiIKLSsgICAgIi5oaWRkZW4gUHVzaEFs bFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjayAgICAgICAgICAgICBcbiIKLSsgICAgIlB1c2hBbGxS ZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2s6ICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8g UHVzaCBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBhbmQgc2F2ZSByZXR1cm4gYWRkcmVzcy4K LSsgICAgIiAgYWRkaSBzcCwgc3AsIC0xMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLSsgICAgLy8gU2F2ZSByZXR1cm4gYWRkcmVzcy4KLSsgICAgIiAgc2QgcmEsIDEwNChz cCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gc3AgaXMg Y2FsbGVlLXNhdmVkLgotKyAgICAiICBzZCBzcCwgOTYoc3ApICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBzMC1zMTEgYXJlIGNhbGxlZS1zYXZlZC4KLSsg ICAgIiAgc2QgczExLCA4OChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc biIKLSsgICAgIiAgc2QgczEwLCA4MChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcbiIKLSsgICAgIiAgc2QgczksIDcyKHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcbiIKLSsgICAgIiAgc2QgczgsIDY0KHNwKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc2QgczcsIDU2KHNwKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc2QgczYsIDQ4KHNwKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc2QgczUsIDQwKHNwKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc2QgczQsIDMy KHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgc2Qg czMsIDI0KHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAg IiAgc2QgczIsIDE2KHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIK LSsgICAgIiAgc2QgczEsICA4KHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLSsgICAgIiAgc2QgczAsICAwKHNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLSsgICAgLy8gTWFpbnRhaW4gZnJhbWUgcG9pbnRlcihmcCBpcyBzMCkuCi0r ICAgICIgIG12IHMwLCBzcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XG4iCi0rICAgIC8vIFBhc3MgMXN0IHBhcmFtZXRlciAoYTApIHVuY2hhbmdlZCAoU3RhY2sqKS4K LSsgICAgLy8gUGFzcyAybmQgcGFyYW1ldGVyIChhMSkgdW5jaGFuZ2VkIChTdGFja1Zpc2l0b3Iq KS4KLSsgICAgLy8gU2F2ZSAzcmQgcGFyYW1ldGVyIChhMjsgSXRlcmF0ZVN0YWNrQ2FsbGJhY2sp IHRvIGEzLgotKyAgICAiICBtdiBhMywgYTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDNyZCBwYXJhbWV0ZXIgYXMgc3AgKHN0YWNrIHBv aW50ZXIpLgotKyAgICAiICBtdiBhMiwgc3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsgICAgIiAgamFsciBh MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8g TG9hZCByZXR1cm4gYWRkcmVzcy4KLSsgICAgIiAgbGQgcmEsIDEwNChzcCkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUmVzdG9yZSBmcmFtZSBwb2ludGVy LgotKyAgICAiICBsZCBzMCwgMChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotKyAgICAiICBhZGRpIHNwLCBzcCwgMTEyICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAiICBqciByYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIik7Ci0rI2VsaWYgVjhfVEFSR0VUX0FSQ0hfUklTQ1YzMgotK2Fz bSgiLmdsb2JhbCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAgIFxu IgotKyAgICAiLnR5cGUgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjaywgJWZ1bmN0aW9u ICAgIFxuIgotKyAgICAiLmhpZGRlbiBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAg ICAgICAgICAgIFxuIgotKyAgICAiUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjazogICAg ICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0 ZXJzIGFuZCBzYXZlIHJldHVybiBhZGRyZXNzLgotKyAgICAiICBhZGRpIHNwLCBzcCwgLTU2ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBTYXZlIHJldHVybiBh ZGRyZXNzLgotKyAgICAiICBzdyByYSwgNTIoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBzcCBpcyBjYWxsZWUtc2F2ZWQuCi0rICAgICIgIHN3IHNw LCA0OChzcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8v IHMwLXMxMSBhcmUgY2FsbGVlLXNhdmVkLgotKyAgICAiICBzdyBzMTEsIDQ0KHNwKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzMTAsIDQwKHNwKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzOSwgMzYo c3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBz OCwgMzIoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAi ICBzdyBzNywgMjgoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot KyAgICAiICBzdyBzNiwgMjQoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFxuIgotKyAgICAiICBzdyBzNSwgMjAoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAiICBzdyBzNCwgMTYoc3ApICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzMywgMTIoc3ApICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzMiwgOChzcCkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzMSwgIDQoc3ApICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdyBzMCwgIDAoc3Ap ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBNYWludGFp biBmcmFtZSBwb2ludGVyKGZwIGlzIHMwKS4KLSsgICAgIiAgbXYgczAsIHNwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUGFzcyAxc3QgcGFyYW1l dGVyIChhMCkgdW5jaGFuZ2VkIChTdGFjayopLgotKyAgICAvLyBQYXNzIDJuZCBwYXJhbWV0ZXIg KGExKSB1bmNoYW5nZWQgKFN0YWNrVmlzaXRvciopLgotKyAgICAvLyBTYXZlIDNyZCBwYXJhbWV0 ZXIgKGEyOyBJdGVyYXRlU3RhY2tDYWxsYmFjaykgdG8gYTMuCi0rICAgICIgIG12IGEzLCBhMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIFBhc3Mg M3JkIHBhcmFtZXRlciBhcyBzcCAoc3RhY2sgcG9pbnRlcikuCi0rICAgICIgIG12IGEyLCBzcCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIENhbGwg dGhlIGNhbGxiYWNrLgotKyAgICAiICBqYWxyIGEzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBMb2FkIHJldHVybiBhZGRyZXNzLgotKyAgICAi ICBsdyByYSwgNTIoc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgot KyAgICAvLyBSZXN0b3JlIGZyYW1lIHBvaW50ZXIuCi0rICAgICIgIGx3IHMwLCAwKHNwKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIGFkZGkgc3AsIHNw LCA1NiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIGpyIHJh ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iKTsKLSsjZW5k aWYKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS9yaXNjdi9zYXZlX3JlZ2lzdGVyc19h c20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9yaXNjdi9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLWRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggYWQwYmY5OC4uMDAwMDAwMAotLS0tIGEvdjgv c3JjL2hlYXAvYmFzZS9hc20vcmlzY3Yvc2F2ZV9yZWdpc3RlcnNfYXNtLmNjCi0rKysgL2Rldi9u dWxsCi1AQCAtMSw2OCArMCwwIEBACi0tLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3Qg YXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLS0vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0tLy8gZm91 bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLS0KLS0jaW5jbHVkZSA8c3JjL2hlYXAvYmFzZS9zdGFj ay5oPgotLQotLS8vIFNhdmUgYWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gdGhlIHNwZWNp ZmllZCBidWZmZXIuCi0tLy8gZXh0ZXJuICJDIiB2b2lkIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVy cyhpbnRwdHJfdCogYnVmZmVyKTsKLS0KLS0vLyBTZWUgYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19h c20uY2MgZm9yIHdoeSB0aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAotLS8vIHVzaW5nIGNs YW5nLgotLS8vCi0tLy8gQ2FsbGluZyBjb252ZW50aW9uIHNvdXJjZToKLS0vLyBodHRwczovL3Jp c2N2Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMS9yaXNjdi1jYWxsaW5nLnBkZiBUYWJs ZSAxOC4yCi0tCi0tI2lmIFY4X0hPU1RfQVJDSF9SSVNDVjY0Ci0tLy8gMTIgNjQtYml0IHJlZ2lz dGVycyA9IDEyIGludHBydF90Ci0tc3RhdGljX2Fzc2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVt YmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycygpID09IDEyLAotLSAgICAgICAgICAgICAgIk1pc21h dGNoIGluIHRoZSBudW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19h c3NlcnQoc2l6ZW9mKGludHB0cl90KSA9PSA4LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0t Ci0tYXNtKCIuZ2xvYmFsIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyAgICAgICAgICAgICBcbiIK LS0gICAgIi50eXBlIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycywgJWZ1bmN0aW9uICAgIFxuIgot LSAgICAiLmhpZGRlbiBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICAgXG4iCi0t ICAgICJTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgLy8gYTA6IFsgaW50cHRyX3QqIGJ1ZmZlciBdCi0tICAgIC8vIFNhdmUgdGhlIGNhbGxlZS1z YXZlZCByZWdpc3RlcnM6IHMwLXMxMS4KLS0gICAgIiAgc2QgczExLCA4OChhMCkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzZCBzMTAsIDgwKGEwKSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHNkIHM5LCA3MihhMCkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc2QgczgsIDY0KGEwKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzZCBzNywgNTYoYTApICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHNkIHM2LCA0OChhMCkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc2QgczUsIDQwKGEwKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxuIgotLSAgICAiICBzZCBzNCwgMzIoYTApICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0tICAgICIgIHNkIHMzLCAyNChhMCkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcbiIKLS0gICAgIiAgc2QgczIsIDE2KGEwKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotLSAgICAiICBzZCBzMSwgIDgoYTApICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXG4iCi0tICAgICIgIHNkIHMwLCAgMChhMCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcbiIKLS0gICAgLy8gUmV0dXJuLgotLSAgICAiICBqciByYSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iKTsKLS0jZWxpZiBWOF9IT1NUX0FSQ0hfUklTQ1Yz MgotLS8vIDEyIDMyLWJpdCByZWdpc3RlcnMgPSAxMiBpbnRwcnRfdAotLXN0YXRpY19hc3NlcnQo aGVhcDo6YmFzZTo6U3RhY2s6Ok51bWJlck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoKSA9PSAxMiwK LS0gICAgICAgICAgICAgICJNaXNtYXRjaCBpbiB0aGUgbnVtYmVyIG9mIGNhbGxlZS1zYXZlZCBy ZWdpc3RlcnMiKTsKLS1zdGF0aWNfYXNzZXJ0KHNpemVvZihpbnRwdHJfdCkgPT0gNCwgIk1pc21h dGNoIGluIHdvcmQgc2l6ZSIpOwotLQotLWFzbSgiLmdsb2JhbCBTYXZlQ2FsbGVlU2F2ZWRSZWdp c3RlcnMgICAgICAgICAgICAgXG4iCi0tICAgICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3Rl cnMsICVmdW5jdGlvbiAgICBcbiIKLS0gICAgIi5oaWRkZW4gU2F2ZUNhbGxlZVNhdmVkUmVnaXN0 ZXJzICAgICAgICAgICAgIFxuIgotLSAgICAiU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzOiAgICAg ICAgICAgICAgICAgICAgXG4iCi0tICAgIC8vIGEwOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAg ICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzOiBzMC1zMTEuCi0tICAgICIgIHN3 IHMxMSwgNDQoYTApICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3cg czEwLCA0MChhMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdyBz OSwgMzYoYTApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN3IHM4 LCAzMihhMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3cgczcs IDI4KGEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdyBzNiwg MjQoYTApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN3IHM1LCAy MChhMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3cgczQsIDE2 KGEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdyBzMywgMTIo YTApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIHN3IHMyLCAgOChh MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAgc3cgczEsICA0KGEw KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBzdyBzMCwgIDAoYTAp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgIC8vIFJldHVybi4KLS0gICAg IiAganIgcmEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIik7Ci0tI2Vu ZGlmCi1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAvYmFzZS9hc20vczM5MC9wdXNoX3JlZ2lzdGVyc19h c20uY2MgYi9zcmMvaGVhcC9iYXNlL2FzbS9zMzkwL3B1c2hfcmVnaXN0ZXJzX2FzbS5jYwotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmVmOTU0ZmEKLS0tLSAvZGV2L251bGwK LSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL3MzOTAvcHVzaF9yZWdpc3RlcnNfYXNtLmNjCi1A QCAtMCwwICsxLDM3IEBACi0rLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4IHByb2plY3QgYXV0aG9y cy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBn b3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rLy8gZm91bmQgaW4g dGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsvLyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJz IHRvIGdldCB0aGVtIG9uIHRoZSBzdGFjayBmb3IgY29uc2VydmF0aXZlCi0rLy8gc3RhY2sgc2Nh bm5pbmcuCi0rCi0rLy8gU2VlIGFzbS94NjQvcHVzaF9yZWdpc3RlcnNfY2xhbmcuY2MgZm9yIHdo eSB0aGUgZnVuY3Rpb24gaXMgbm90IGdlbmVyYXRlZAotKy8vIHVzaW5nIGNsYW5nLgotKwotKy8v IERvIG5vdCBkZXBlbmQgb24gVjhfVEFSR0VUX09TXyogZGVmaW5lcyBhcyBzb21lIGVtYmVkZGVy cyBtYXkgb3ZlcnJpZGUgdGhlCi0rLy8gR04gdG9vbGNoYWluIChlLmcuIENocm9tZU9TKSBhbmQg bm90IHByb3ZpZGUgdGhlbS4KLSsKLSsvLyBTMzkwIEFCSSBzb3VyY2U6Ci0rLy8gaHR0cDovL3Jl ZnNwZWNzLmxpbnV4YmFzZS5vcmcvRUxGL3pTZXJpZXMvbHpzYWJpMF96U2VyaWVzLmh0bWwKLSth c20oIi50ZXh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotKyAgICAiLmFsaWduIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXG4iCi0rICAgICIuZ2xvYmwgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjayAgICAg ICAgICAgICBcbiIKLSsgICAgIi50eXBlIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2ss ICVmdW5jdGlvbiAgIFxuIgotKyAgICAiLmhpZGRlbiBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0 ZVN0YWNrICAgICAgICAgICAgXG4iCi0rICAgICJQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0 YWNrOiAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUHVzaCBhbGwgY2FsbGVlLXNhdmVk IHJlZ2lzdGVycy4KLSsgICAgLy8gcjYtcjEzLCByMTQgYW5kIHNwKHIxNSkKLSsgICAgIiAgc3Rt ZyAlcjYsICVzcCwgNDgoJXNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAv LyBBbGxvY2F0ZSBmcmFtZS4KLSsgICAgIiAgbGF5ICVzcCwgLTE2MCglc3ApICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDFzdCBwYXJhbWV0ZXIgKHIyKSB1 bmNoYW5nZWQgKFN0YWNrKikuCi0rICAgIC8vIFBhc3MgMm5kIHBhcmFtZXRlciAocjMpIHVuY2hh bmdlZCAoU3RhY2tWaXNpdG9yKikuCi0rICAgIC8vIFNhdmUgM3JkIHBhcmFtZXRlciAocjQ7IEl0 ZXJhdGVTdGFja0NhbGxiYWNrKS4KLSsgICAgIiAgbGdyICVyNSwgJXI0ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQYXNzIHNwIGFzIDNyZCBwYXJhbWV0 ZXIuIDE2MCs0OCB0byBwb2ludAotKyAgICAvLyB0byBjYWxsZWUgc2F2ZWQgcmVnaW9uIHN0b3Jl ZCBhYm92ZS4KLSsgICAgIiAgbGF5ICVyNCwgMjA4KCVzcCkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsgICAgIiAgYmFzciAl cjE0LCAlcjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBs bWcgJXIxNCwlc3AsIDI3Miglc3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAg ICIgIGJyICVyMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIp OwotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL3MzOTAvc2F2ZV9yZWdpc3RlcnNfYXNt LmNjIGIvc3JjL2hlYXAvYmFzZS9hc20vczM5MC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLWRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggYmU5MmNjMi4uMDAwMDAwMAotLS0tIGEvdjgvc3Jj L2hlYXAvYmFzZS9hc20vczM5MC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLSsrKyAvZGV2L251bGwK LUBAIC0xLDM0ICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVjdCBhdXRo b3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlz IGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS0vLyBmb3VuZCBp biB0aGUgTElDRU5TRSBmaWxlLgotLQotLSNpbmNsdWRlIDxzcmMvaGVhcC9iYXNlL3N0YWNrLmg+ Ci0tCi0tLy8gU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgc3BlY2lmaWVk IGJ1ZmZlci4KLS0vLyBleHRlcm4gIkMiIHZvaWQgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzKGlu dHB0cl90KiBidWZmZXIpOwotLQotLS8vIFNlZSBhc20veDY0L3NhdmVfcmVnaXN0ZXJzX2FzbS5j YyBmb3Igd2h5IHRoZSBmdW5jdGlvbiBpcyBub3QgZ2VuZXJhdGVkCi0tLy8gdXNpbmcgY2xhbmcu Ci0tLy8KLS0vLyBEbyBub3QgZGVwZW5kIG9uIFY4X1RBUkdFVF9PU18qIGRlZmluZXMgYXMgc29t ZSBlbWJlZGRlcnMgbWF5IG92ZXJyaWRlIHRoZQotLS8vIEdOIHRvb2xjaGFpbiAoZS5nLiBDaHJv bWVPUykgYW5kIG5vdCBwcm92aWRlIHRoZW0uCi0tCi0tLy8gUzM5MCBBQkkgc291cmNlOgotLS8v IGh0dHA6Ly9yZWZzcGVjcy5saW51eGJhc2Uub3JnL0VMRi96U2VyaWVzL2x6c2FiaTBfelNlcmll cy5odG1sCi0tCi0tLy8gMTAgNjQtYml0IHJlZ2lzdGVycyA9IDEwIGludHBydF90Ci0tc3RhdGlj X2Fzc2VydChoZWFwOjpiYXNlOjpTdGFjazo6TnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycygp ID09IDEwLAotLSAgICAgICAgICAgICAgIk1pc21hdGNoIGluIHRoZSBudW1iZXIgb2YgY2FsbGVl LXNhdmVkIHJlZ2lzdGVycyIpOwotLXN0YXRpY19hc3NlcnQoc2l6ZW9mKGludHB0cl90KSA9PSA4 LCAiTWlzbWF0Y2ggaW4gd29yZCBzaXplIik7Ci0tCi0tYXNtKCIudGV4dCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiLmFsaWduIDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIi5nbG9ibCBTYXZlQ2FsbGVlU2F2ZWRS ZWdpc3RlcnMgICAgICAgICAgICAgXG4iCi0tICAgICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdp c3RlcnMsICVmdW5jdGlvbiAgIFxuIgotLSAgICAiLmhpZGRlbiBTYXZlQ2FsbGVlU2F2ZWRSZWdp c3RlcnMgICAgICAgICAgICBcbiIKLS0gICAgIlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAg ICAgICAgICAgICAgICAgXG4iCi0tICAgIC8vIHIyOiBbIGludHB0cl90KiBidWZmZXIgXQotLSAg ICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzOiByNi1yMTMsIHIxNCBhbmQgc3Ao cjE1KS4KLS0gICAgIiAgc3RtZyAlcjYsICVzcCwgMCglcjIpICAgICAgICAgICAgICAgICAgICAg XG4iCi0tICAgIC8vIFJldHVybi4KLS0gICAgIiAgYnIgJXIxNCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iKTsKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS94NjQv cHVzaF9yZWdpc3RlcnNfYXNtLmNjIGIvc3JjL2hlYXAvYmFzZS9hc20veDY0L3B1c2hfcmVnaXN0 ZXJzX2FzbS5jYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjE3ODFhNTgK LS0tLSAvZGV2L251bGwKLSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL3g2NC9wdXNoX3JlZ2lz dGVyc19hc20uY2MKLUBAIC0wLDAgKzEsMTA2IEBACi0rLy8gQ29weXJpZ2h0IDIwMjAgdGhlIFY4 IHByb2plY3QgYXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSsvLyBVc2Ugb2YgdGhpcyBz b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl Ci0rLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KLSsKLSsvLyBQdXNoIGFsbCBjYWxsZWUt c2F2ZWQgcmVnaXN0ZXJzIHRvIGdldCB0aGVtIG9uIHRoZSBzdGFjayBmb3IgY29uc2VydmF0aXZl Ci0rLy8gc3RhY2sgc2Nhbm5pbmcuCi0rLy8KLSsvLyBXZSBjYW5ub3QgcmVseSBvbiBjbGFuZyBn ZW5lcmF0aW5nIHRoZSBmdW5jdGlvbiBhbmQgcmlnaHQgc3ltYm9sIG1hbmdsaW5nCi0rLy8gYXMg YF9fYXR0cmlidXRlX18oKG5ha2VkKSlgIGRvZXMgbm90IHByZXZlbnQgY2xhbmcgZnJvbSBnZW5l cmF0aW5nIFRTQU4KLSsvLyBmdW5jdGlvbiBlbnRyeSBzdHVicyAoYF9fdHNhbl9mdW5jX2VudHJ5 YCkuIEV2ZW4gd2l0aAotKy8vIGBfX2F0dHJpYnV0ZV9fKChub19zYW5pdGl6ZV90aHJlYWQpYCBh bm5vdGF0aW9uIGNsYW5nIGdlbmVyYXRlcyB0aGUgZW50cnkKLSsvLyBzdHViLgotKy8vIFNlZSBo dHRwczovL2J1Z3MubGx2bS5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NDAwLgotKwotKy8vIERvIG5v dCBkZXBlbmQgb24gVjhfVEFSR0VUX09TXyogZGVmaW5lcyBhcyBzb21lIGVtYmVkZGVycyBtYXkg b3ZlcnJpZGUgdGhlCi0rLy8gR04gdG9vbGNoYWluIChlLmcuIENocm9tZU9TKSBhbmQgbm90IHBy b3ZpZGUgdGhlbS4KLSsvLyBfV0lONjQgRGVmaW5lZCBhcyAxIHdoZW4gdGhlIGNvbXBpbGF0aW9u IHRhcmdldCBpcyA2NC1iaXQgQVJNIG9yIHg2NC4KLSsvLyBPdGhlcndpc2UsIHVuZGVmaW5lZC4K LSsjaWZkZWYgX1dJTjY0Ci0rCi0rLy8gV2UgbWFpbnRhaW4gMTYtYnl0ZSBhbGlnbm1lbnQgYXQg Y2FsbHMuIFRoZXJlIGlzIGFuIDgtYnl0ZSByZXR1cm4gYWRkcmVzcwotKy8vIG9uIHRoZSBzdGFj ayBhbmQgd2UgcHVzaCAyMzIgYnl0ZXMgd2hpY2ggbWFpbnRhaW5zIDE2LWJ5dGUgc3RhY2sgYWxp Z25tZW50Ci0rLy8gYXQgdGhlIGNhbGwuCi0rLy8gU291cmNlOiBodHRwczovL2RvY3MubWljcm9z b2Z0LmNvbS9lbi11cy9jcHAvYnVpbGQveDY0LWNhbGxpbmctY29udmVudGlvbgotK2FzbSgiLmds b2JsIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2sgICAgICAgICAgICAgXG4iCi0rICAg ICJQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrOiAgICAgICAgICAgICAgICAgICBcbiIK LSsgICAgLy8gcmJwIGlzIGNhbGxlZS1zYXZlZC4gTWFpbnRhaW4gcHJvcGVyIGZyYW1lIHBvaW50 ZXIgZm9yIGRlYnVnZ2luZy4KLSsgICAgIiAgcHVzaCAlcmJwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBtb3YgJXJzcCwgJXJicCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIER1bW15IGZvciBhbGlnbm1lbnQu Ci0rICAgICIgIHB1c2ggJDB4Q0RDRENEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLSsgICAgIiAgcHVzaCAlcnNpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAiICBwdXNoICVyZGkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0rICAgICIgIHB1c2ggJXJieCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgcHVzaCAlcjEyICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBwdXNoICVyMTMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHB1c2ggJXIxNCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgcHVzaCAlcjE1ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBzdWIgJDE2 MCwgJXJzcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgIC8vIFVz ZSBhbGlnbmVkIGluc3RycyBhcyB3ZSBhcmUgY2VydGFpbiB0aGF0IHRoZSBzdGFjayBpcyBwcm9w ZXJseSBhbGlnbmVkLgotKyAgICAiICBtb3ZkcWEgJXhtbTYsIDE0NCglcnNwKSAgICAgICAgICAg ICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIG1vdmRxYSAleG1tNywgMTI4KCVyc3ApICAgICAg ICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgbW92ZHFhICV4bW04LCAxMTIoJXJzcCkg ICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBtb3ZkcWEgJXhtbTksIDk2KCVy c3ApICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIG1vdmRxYSAleG1tMTAs IDgwKCVyc3ApICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAgbW92ZHFhICV4 bW0xMSwgNjQoJXJzcCkgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBtb3Zk cWEgJXhtbTEyLCA0OCglcnNwKSAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIg IG1vdmRxYSAleG1tMTMsIDMyKCVyc3ApICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsg ICAgIiAgbW92ZHFhICV4bW0xNCwgMTYoJXJzcCkgICAgICAgICAgICAgICAgICAgICAgICAgIFxu IgotKyAgICAiICBtb3ZkcWEgJXhtbTE1LCAoJXJzcCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXG4iCi0rICAgIC8vIFBhc3MgMXN0IHBhcmFtZXRlciAocmN4KSB1bmNoYW5nZWQgKFN0YWNr KikuCi0rICAgIC8vIFBhc3MgMm5kIHBhcmFtZXRlciAocmR4KSB1bmNoYW5nZWQgKFN0YWNrVmlz aXRvciopLgotKyAgICAvLyBTYXZlIDNyZCBwYXJhbWV0ZXIgKHI4OyBJdGVyYXRlU3RhY2tDYWxs YmFjaykKLSsgICAgIiAgbW92ICVyOCwgJXI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDNyZCBwYXJhbWV0ZXIgYXMgcnNwIChzdGFjayBwb2lu dGVyKS4KLSsgICAgIiAgbW92ICVyc3AsICVyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsgICAgIiAgY2FsbCAqJXI5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQb3Ag dGhlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMuCi0rICAgICIgIGFkZCAkMjI0LCAlcnNwICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUmVzdG9yZSByYnAgYXMg aXQgd2FzIHVzZWQgYXMgZnJhbWUgcG9pbnRlci4KLSsgICAgIiAgcG9wICVyYnAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICByZXQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iKTsKLSsKLSsjZWxzZSAgLy8g IV9XSU42NAotKwotKy8vIFdlIG1haW50YWluIDE2LWJ5dGUgYWxpZ25tZW50IGF0IGNhbGxzLiBU aGVyZSBpcyBhbiA4LWJ5dGUgcmV0dXJuIGFkZHJlc3MKLSsvLyBvbiB0aGUgc3RhY2sgYW5kIHdl IHB1c2ggNTYgYnl0ZXMgd2hpY2ggbWFpbnRhaW5zIDE2LWJ5dGUgc3RhY2sgYWxpZ25tZW50Ci0r Ly8gYXQgdGhlIGNhbGwuCi0rLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaGpsLXRvb2xz L3g4Ni1wc0FCSS93aWtpL3g4Ni02NC1wc0FCSS0xLjAucGRmCi0rYXNtKAotKyNpZmRlZiBfX0FQ UExFX18KLSsgICAgIi5nbG9ibCBfUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjayAgICAg ICAgICAgIFxuIgotKyAgICAiLnByaXZhdGVfZXh0ZXJuIF9QdXNoQWxsUmVnaXN0ZXJzQW5kSXRl cmF0ZVN0YWNrICAgXG4iCi0rICAgICJfUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjazog ICAgICAgICAgICAgICAgICBcbiIKLSsjZWxzZSAgIC8vICFfX0FQUExFX18KLSsgICAgIi5nbG9i bCBQdXNoQWxsUmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrICAgICAgICAgICAgIFxuIgotKyAgICAi LnR5cGUgUHVzaEFsbFJlZ2lzdGVyc0FuZEl0ZXJhdGVTdGFjaywgJWZ1bmN0aW9uICAgXG4iCi0r ICAgICIuaGlkZGVuIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2sgICAgICAgICAgICBc biIKLSsgICAgIlB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2s6ICAgICAgICAgICAgICAg ICAgIFxuIgotKyNlbmRpZiAgLy8gIV9fQVBQTEVfXwotKyAgICAvLyByYnAgaXMgY2FsbGVlLXNh dmVkLiBNYWludGFpbiBwcm9wZXIgZnJhbWUgcG9pbnRlciBmb3IgZGVidWdnaW5nLgotKyAgICAi ICBwdXNoICVyYnAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0r ICAgICIgIG1vdiAlcnNwLCAlcmJwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc biIKLSsgICAgLy8gRHVtbXkgZm9yIGFsaWdubWVudC4KLSsgICAgIiAgcHVzaCAkMHhDRENEQ0Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICBwdXNoICVyYngg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0rICAgICIgIHB1c2gg JXIxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgIiAg cHVzaCAlcjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAg ICAiICBwdXNoICVyMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4i Ci0rICAgICIgIHB1c2ggJXIxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIKLSsgICAgLy8gUGFzcyAxc3QgcGFyYW1ldGVyIChyZGkpIHVuY2hhbmdlZCAoU3RhY2sq KS4KLSsgICAgLy8gUGFzcyAybmQgcGFyYW1ldGVyIChyc2kpIHVuY2hhbmdlZCAoU3RhY2tWaXNp dG9yKikuCi0rICAgIC8vIFNhdmUgM3JkIHBhcmFtZXRlciAocmR4OyBJdGVyYXRlU3RhY2tDYWxs YmFjaykKLSsgICAgIiAgbW92ICVyZHgsICVyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAvLyBQYXNzIDNyZCBwYXJhbWV0ZXIgYXMgcnNwIChzdGFjayBwb2lu dGVyKS4KLSsgICAgIiAgbW92ICVyc3AsICVyZHggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFxuIgotKyAgICAvLyBDYWxsIHRoZSBjYWxsYmFjay4KLSsgICAgIiAgY2FsbCAqJXI4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAvLyBQb3Ag dGhlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMuCi0rICAgICIgIGFkZCAkNDgsICVyc3AgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLSsgICAgLy8gUmVzdG9yZSByYnAgYXMg aXQgd2FzIHVzZWQgYXMgZnJhbWUgcG9pbnRlci4KLSsgICAgIiAgcG9wICVyYnAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotKyAgICAiICByZXQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iKTsKLSsKLSsjZW5kaWYgIC8v ICFfV0lONjQKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL2FzbS94NjQvcHVzaF9yZWdpc3Rl cnNfbWFzbS5hc20gYi9zcmMvaGVhcC9iYXNlL2FzbS94NjQvcHVzaF9yZWdpc3RlcnNfbWFzbS5h c20KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi5hMzJlMTkzCi0tLS0gL2Rl di9udWxsCi0rKysgYi92OC9zcmMvaGVhcC9iYXNlL2FzbS94NjQvcHVzaF9yZWdpc3RlcnNfbWFz bS5hc20KLUBAIC0wLDAgKzEsNTcgQEAKLSs7OyBDb3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVj dCBhdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKzs7IFVzZSBvZiB0aGlzIHNvdXJjZSBj b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSs7OyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotKzs7IE1BU00gc3ludGF4Ci0rOzsgaHR0cHM6 Ly9kb2NzLm1pY3Jvc29mdC5jb20vZW4tdXMvY3BwL2Fzc2VtYmxlci9tYXNtL21pY3Jvc29mdC1t YWNyby1hc3NlbWJsZXItcmVmZXJlbmNlP3ZpZXc9dnMtMjAxOQotKwotK3B1YmxpYyBQdXNoQWxs UmVnaXN0ZXJzQW5kSXRlcmF0ZVN0YWNrCi0rCi0rLmNvZGUKLStQdXNoQWxsUmVnaXN0ZXJzQW5k SXRlcmF0ZVN0YWNrOgotKyAgICA7OyBQdXNoIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIHRv IGdldCB0aGVtIG9uIHRoZSBzdGFjayBmb3IgY29uc2VydmF0aXZlCi0rICAgIDs7IHN0YWNrIHNj YW5uaW5nLgotKyAgICA7OwotKyAgICA7OyBXZSBtYWludGFpbiAxNi1ieXRlIGFsaWdubWVudCBh dCBjYWxscy4gVGhlcmUgaXMgYW4gOC1ieXRlIHJldHVybiBhZGRyZXNzCi0rICAgIDs7IG9uIHRo ZSBzdGFjayBhbmQgd2UgcHVzaCAyMzIgYnl0ZXMgd2hpY2ggbWFpbnRhaW5zIDE2LWJ5dGUgc3Rh Y2sKLSsgICAgOzsgYWxpZ25tZW50IGF0IHRoZSBjYWxsLgotKyAgICA7OyBTb3VyY2U6IGh0dHBz Oi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVzL2NwcC9idWlsZC94NjQtY2FsbGluZy1jb252ZW50 aW9uCi0rICAgIDs7Ci0rICAgIDs7IHJicCBpcyBjYWxsZWUtc2F2ZWQuIE1haW50YWluIHByb3Bl ciBmcmFtZSBwb2ludGVyIGZvciBkZWJ1Z2dpbmcuCi0rICAgIHB1c2ggcmJwCi0rICAgIG1vdiBy YnAsIHJzcAotKyAgICBwdXNoIDBDRENEQ0RoICA7OyBEdW1teSBmb3IgYWxpZ25tZW50LgotKyAg ICBwdXNoIHJzaQotKyAgICBwdXNoIHJkaQotKyAgICBwdXNoIHJieAotKyAgICBwdXNoIHIxMgot KyAgICBwdXNoIHIxMwotKyAgICBwdXNoIHIxNAotKyAgICBwdXNoIHIxNQotKyAgICBzdWIgcnNw LCAxNjAKLSsgICAgOzsgVXNlIGFsaWduZWQgaW5zdHJzIGFzIHdlIGFyZSBjZXJ0YWluIHRoYXQg dGhlIHN0YWNrIGlzIHByb3Blcmx5IGFsaWduZWQuCi0rICAgIG1vdmRxYSAgeG1td29yZCBwdHIg W3JzcCArIDE0NF0sIHhtbTYKLSsgICAgbW92ZHFhICB4bW13b3JkIHB0ciBbcnNwICsgMTI4XSwg eG1tNwotKyAgICBtb3ZkcWEgIHhtbXdvcmQgcHRyIFtyc3AgKyAxMTJdLCB4bW04Ci0rICAgIG1v dmRxYSAgeG1td29yZCBwdHIgW3JzcCArIDk2XSwgeG1tOQotKyAgICBtb3ZkcWEgIHhtbXdvcmQg cHRyIFtyc3AgKyA4MF0sIHhtbTEwCi0rICAgIG1vdmRxYSAgeG1td29yZCBwdHIgW3JzcCArIDY0 XSwgeG1tMTEKLSsgICAgbW92ZHFhICB4bW13b3JkIHB0ciBbcnNwICsgNDhdLCB4bW0xMgotKyAg ICBtb3ZkcWEgIHhtbXdvcmQgcHRyIFtyc3AgKyAzMl0sIHhtbTEzCi0rICAgIG1vdmRxYSAgeG1t d29yZCBwdHIgW3JzcCArIDE2XSwgeG1tMTQKLSsgICAgbW92ZHFhICB4bW13b3JkIHB0ciBbcnNw XSwgeG1tMTUKLSsgICAgOzsgUGFzcyAxc3QgcGFyYW1ldGVyIChyY3gpIHVuY2hhbmdlZCAoU3Rh Y2sqKS4KLSsgICAgOzsgUGFzcyAybmQgcGFyYW1ldGVyIChyZHgpIHVuY2hhbmdlZCAoU3RhY2tW aXNpdG9yKikuCi0rICAgIDs7IFNhdmUgM3JkIHBhcmFtZXRlciAocjg7IEl0ZXJhdGVTdGFja0Nh bGxiYWNrKQotKyAgICBtb3YgcjksIHI4Ci0rICAgIDs7IFBhc3MgM3JkIHBhcmFtZXRlciBhcyBy c3AgKHN0YWNrIHBvaW50ZXIpLgotKyAgICBtb3YgcjgsIHJzcAotKyAgICA7OyBDYWxsIHRoZSBj YWxsYmFjay4KLSsgICAgY2FsbCByOQotKyAgICA7OyBQb3AgdGhlIGNhbGxlZS1zYXZlZCByZWdp c3RlcnMuCi0rICAgIGFkZCByc3AsIDIyNAotKyAgICA7OyBSZXN0b3JlIHJicCBhcyBpdCB3YXMg dXNlZCBhcyBmcmFtZSBwb2ludGVyLgotKyAgICBwb3AgcmJwCi0rICAgIHJldAotKwotK2VuZAot ZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2Mg Yi9zcmMvaGVhcC9iYXNlL2FzbS94NjQvc2F2ZV9yZWdpc3RlcnNfYXNtLmNjCi1kZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDg1NWE2NTQuLjAwMDAwMDAKLS0tLSBhL3Y4L3NyYy9oZWFw L2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19hc20uY2MKLSsrKyAvZGV2L251bGwKLUBAIC0x LDk0ICswLDAgQEAKLS0vLyBDb3B5cmlnaHQgMjAyMCB0aGUgVjggcHJvamVjdCBhdXRob3JzLiBB bGwgcmlnaHRzIHJlc2VydmVkLgotLS8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVy bmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLS0vLyBmb3VuZCBpbiB0aGUg TElDRU5TRSBmaWxlLgotLQotLSNpbmNsdWRlIDxzcmMvaGVhcC9iYXNlL3N0YWNrLmg+Ci0tCi0t Ly8gU2F2ZSBhbGwgY2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpbiB0aGUgc3BlY2lmaWVkIGJ1ZmZl ci4KLS0vLyBleHRlcm4gIkMiIHZvaWQgU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzKGludHB0cl90 KiBidWZmZXIpOwotLS8vCi0tLy8gV2UgY2Fubm90IHJlbHkgb24gY2xhbmcgZ2VuZXJhdGluZyB0 aGUgZnVuY3Rpb24gYW5kIHJpZ2h0IHN5bWJvbCBtYW5nbGluZwotLS8vIGFzIGBfX2F0dHJpYnV0 ZV9fKChuYWtlZCkpYCBkb2VzIG5vdCBwcmV2ZW50IGNsYW5nIGZyb20gZ2VuZXJhdGluZyBUU0FO Ci0tLy8gZnVuY3Rpb24gZW50cnkgc3R1YnMgKGBfX3RzYW5fZnVuY19lbnRyeWApLiBFdmVuIHdp dGgKLS0vLyBgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfdGhyZWFkKWAgYW5ub3RhdGlvbiBj bGFuZyBnZW5lcmF0ZXMgdGhlIGVudHJ5Ci0tLy8gc3R1Yi4KLS0vLyBTZWUgaHR0cHM6Ly9idWdz Lmxsdm0ub3JnL3Nob3dfYnVnLmNnaT9pZD00NTQwMC4KLS0vLwotLS8vIERvIG5vdCBkZXBlbmQg b24gVjhfVEFSR0VUX09TXyogZGVmaW5lcyBhcyBzb21lIGVtYmVkZGVycyBtYXkgb3ZlcnJpZGUg dGhlCi0tLy8gR04gdG9vbGNoYWluIChlLmcuIENocm9tZU9TKSBhbmQgbm90IHByb3ZpZGUgdGhl bS4KLS0vLyBfV0lONjQgRGVmaW5lZCBhcyAxIHdoZW4gdGhlIGNvbXBpbGF0aW9uIHRhcmdldCBp cyA2NC1iaXQgQVJNIG9yIHg2NC4KLS0vLyBPdGhlcndpc2UsIHVuZGVmaW5lZC4KLS0KLS0jaWZk ZWYgX1dJTjY0Ci0tLy8gU291cmNlOiBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9j cHAvYnVpbGQveDY0LWNhbGxpbmctY29udmVudGlvbgotLQotLS8vIDcgNjQtYml0IHJlZ2lzdGVy cyArIDEgZm9yIGFsaWdubWVudCBwdXJwb3NlcyA9IDggKiAxID0gOCBpbnRwcnRfdAotLS8vIDEw IDEyOC1iaXQgcmVnaXN0ZXJzID0gMTAgKiAyID0gMjAgaW50cHRyX3QKLS1zdGF0aWNfYXNzZXJ0 KGhlYXA6OmJhc2U6OlN0YWNrOjpOdW1iZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzKCkgPT0gMjgs Ci0tICAgICAgICAgICAgICAiTWlzbWF0Y2ggaW4gdGhlIG51bWJlciBvZiBjYWxsZWUtc2F2ZWQg cmVnaXN0ZXJzIik7Ci0tc3RhdGljX2Fzc2VydChzaXplb2YoaW50cHRyX3QpID09IDgsICJNaXNt YXRjaCBpbiB3b3JkIHNpemUiKTsKLS0KLS1hc20oIi5nbG9ibCBTYXZlQ2FsbGVlU2F2ZWRSZWdp c3RlcnMgICAgICAgICAgICAgXG4iCi0tICAgICJTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnM6ICAg ICAgICAgICAgICAgICAgIFxuIgotLSAgICAvLyAlcmN4OiBbIGludHB0cl90KiBidWZmZXIgXQot LSAgICAvLyAlcmJwIGlzIGNhbGxlZS1zYXZlZC4gTWFpbnRhaW4gcHJvcGVyIGZyYW1lIHBvaW50 ZXIgZm9yIGRlYnVnZ2luZy4KLS0gICAgIiAgcHVzaCAlcmJwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXG4iCi0tICAgICIgIG1vdiAlcnNwLCAlcmJwICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxuIgotLSAgICAvLyBTYXZlIHRoZSBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzLgot LSAgICAiICBtb3YgJXJzaSwgMCglcmN4KSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgIiAgbW92ICVyZGksIDgoJXJjeCkgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAg ICIgIG1vdiAlcmJ4LCAxNiglcmN4KSAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAi ICBtb3YgJXIxMiwgMjQoJXJjeCkgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgIiAg bW92ICVyMTMsIDMyKCVyY3gpICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIgIG1v diAlcjE0LCA0MCglcmN4KSAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBtb3Yg JXIxNSwgNDgoJXJjeCkgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgLy8gU2tpcCBv bmUgc2xvdCB0byBhY2hpZXZlIHByb3BlciBhbGlnbm1lbnQgYW5kIHVzZSBhbGlnbmVkIGluc3Ry dWN0aW9ucywKLS0gICAgLy8gYXMgd2UgYXJlIHN1cmUgdGhhdCB0aGUgYnVmZmVyIGlzIHByb3Bl cmx5IGFsaWduZWQuCi0tICAgICIgIG1vdmRxYSAleG1tNiwgNjQoJXJjeCkgICAgICAgICAgICAg ICAgICAgIFxuIgotLSAgICAiICBtb3ZkcWEgJXhtbTcsIDgwKCVyY3gpICAgICAgICAgICAgICAg ICAgICBcbiIKLS0gICAgIiAgbW92ZHFhICV4bW04LCA5NiglcmN4KSAgICAgICAgICAgICAgICAg ICAgXG4iCi0tICAgICIgIG1vdmRxYSAleG1tOSwgMTEyKCVyY3gpICAgICAgICAgICAgICAgICAg IFxuIgotLSAgICAiICBtb3ZkcWEgJXhtbTEwLCAxMjgoJXJjeCkgICAgICAgICAgICAgICAgICBc biIKLS0gICAgIiAgbW92ZHFhICV4bW0xMSwgMTQ0KCVyY3gpICAgICAgICAgICAgICAgICAgXG4i Ci0tICAgICIgIG1vdmRxYSAleG1tMTIsIDE2MCglcmN4KSAgICAgICAgICAgICAgICAgIFxuIgot LSAgICAiICBtb3ZkcWEgJXhtbTEzLCAxNzYoJXJjeCkgICAgICAgICAgICAgICAgICBcbiIKLS0g ICAgIiAgbW92ZHFhICV4bW0xNCwgMTkyKCVyY3gpICAgICAgICAgICAgICAgICAgXG4iCi0tICAg ICIgIG1vdmRxYSAleG1tMTUsIDIwOCglcmN4KSAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAv LyBSZXR1cm4uCi0tICAgICIgIHBvcCAlcmJwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFxuIgotLSAgICAiICByZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcbiIpOwotLQotLSNlbHNlICAvLyAhX1dJTjY0Ci0tLy8gU291cmNlOiBodHRwczovL2dpdGh1 Yi5jb20vaGpsLXRvb2xzL3g4Ni1wc0FCSS93aWtpL3g4Ni02NC1wc0FCSS0xLjAucGRmCi0tCi0t Ly8gNSA2NC1iaXQgcmVnaXN0ZXJzID0gNSBpbnRwcnRfdAotLXN0YXRpY19hc3NlcnQoaGVhcDo6 YmFzZTo6U3RhY2s6Ok51bWJlck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoKSA9PSA1LAotLSAgICAg ICAgICAgICAgIk1pc21hdGNoIGluIHRoZSBudW1iZXIgb2YgY2FsbGVlLXNhdmVkIHJlZ2lzdGVy cyIpOwotLXN0YXRpY19hc3NlcnQoc2l6ZW9mKGludHB0cl90KSA9PSA4LCAiTWlzbWF0Y2ggaW4g d29yZCBzaXplIik7Ci0tCi0tYXNtKAotLSNpZmRlZiBfX0FQUExFX18KLS0gICAgIi5nbG9ibCBf U2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzICAgICAgICAgICAgXG4iCi0tICAgICIucHJpdmF0ZV9l eHRlcm4gX1NhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycyAgIFxuIgotLSAgICAiX1NhdmVDYWxsZWVT YXZlZFJlZ2lzdGVyczogICAgICAgICAgICAgICAgICBcbiIKLS0jZWxzZSAgIC8vICFfX0FQUExF X18KLS0gICAgIi5nbG9ibCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICAgXG4i Ci0tICAgICIudHlwZSBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMsICVmdW5jdGlvbiAgIFxuIgot LSAgICAiLmhpZGRlbiBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgICAgICAgICAgICBcbiIKLS0g ICAgIlNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVyczogICAgICAgICAgICAgICAgICAgXG4iCi0tI2Vu ZGlmICAvLyAhX19BUFBMRV9fCi0tICAgIC8vICVyZGk6IFsgaW50cHRyX3QqIGJ1ZmZlciBdCi0t ICAgIC8vICVyYnAgaXMgY2FsbGVlLXNhdmVkLiBNYWludGFpbiBwcm9wZXIgZnJhbWUgcG9pbnRl ciBmb3IgZGVidWdnaW5nLgotLSAgICAiICBwdXNoICVyYnAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcbiIKLS0gICAgIiAgbW92ICVyc3AsICVyYnAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXG4iCi0tICAgIC8vIFNhdmUgdGhlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMuCi0t ICAgICIgIG1vdiAlcmJ4LCAwKCVyZGkpICAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAg ICAiICBtb3YgJXIxMiwgOCglcmRpKSAgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAg IiAgbW92ICVyMTMsIDE2KCVyZGkpICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAgICIg IG1vdiAlcjE0LCAyNCglcmRpKSAgICAgICAgICAgICAgICAgICAgICAgIFxuIgotLSAgICAiICBt b3YgJXIxNSwgMzIoJXJkaSkgICAgICAgICAgICAgICAgICAgICAgICBcbiIKLS0gICAgLy8gUmVz dG9yZSAlcmJwIGFzIGl0IHdhcyB1c2VkIGFzIGZyYW1lIHBvaW50ZXIgYW5kIHJldHVybi4KLS0g ICAgIiAgcG9wICVyYnAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4iCi0tICAg ICIgIHJldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuIik7Ci0tCi0t I2VuZGlmICAvLyAhX1dJTjY0Ci1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAvYmFzZS9hc20veDY0L3Nh dmVfcmVnaXN0ZXJzX21hc20uYXNtIGIvc3JjL2hlYXAvYmFzZS9hc20veDY0L3NhdmVfcmVnaXN0 ZXJzX21hc20uYXNtCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDI5OTQ2YTQuLjAw MDAwMDAKLS0tLSBhL3Y4L3NyYy9oZWFwL2Jhc2UvYXNtL3g2NC9zYXZlX3JlZ2lzdGVyc19tYXNt LmFzbQotKysrIC9kZXYvbnVsbAotQEAgLTEsNDMgKzAsMCBAQAotLTs7IENvcHlyaWdodCAyMDIw IHRoZSBWOCBwcm9qZWN0IGF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0tOzsgVXNlIG9m IHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0 IGNhbiBiZQotLTs7IGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCi0tCi0tOzsgTUFTTSBzeW50 YXgKLS07OyBodHRwczovL2RvY3MubWljcm9zb2Z0LmNvbS9lbi11cy9jcHAvYXNzZW1ibGVyL21h c20vbWljcm9zb2Z0LW1hY3JvLWFzc2VtYmxlci1yZWZlcmVuY2U/dmlldz12cy0yMDE5Ci0tCi0t cHVibGljIFNhdmVDYWxsZWVTYXZlZFJlZ2lzdGVycwotLQotLS5jb2RlCi0tICAgIDs7IFNhdmUg YWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgaW4gdGhlIHNwZWNpZmllZCBidWZmZXIuCi0tICAg IDs7IGV4dGVybiAiQyIgdm9pZCBTYXZlQ2FsbGVlU2F2ZWRSZWdpc3RlcnMoaW50cHRyX3QqIGJ1 ZmZlcik7Ci0tCi0tU2F2ZUNhbGxlZVNhdmVkUmVnaXN0ZXJzOgotLSAgICA7OyAlcmN4OiBbIGlu dHB0cl90KiBidWZmZXIgXQotLSAgICA7OyAlcmJwIGlzIGNhbGxlZS1zYXZlZC4gTWFpbnRhaW4g cHJvcGVyIGZyYW1lIHBvaW50ZXIgZm9yIGRlYnVnZ2luZy4KLS0gICAgcHVzaCByYnAKLS0gICAg bW92IHJicCwgcnNwCi0tICAgIDs7IFNhdmUgdGhlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMuCi0t ICAgIG1vdiBxd29yZCBwdHIgW3JjeF0sIHJzaQotLSAgICBtb3YgcXdvcmQgcHRyIFtyY3ggKyA4 XSwgcmRpCi0tICAgIG1vdiBxd29yZCBwdHIgW3JjeCArIDE2XSwgcmJ4Ci0tICAgIG1vdiBxd29y ZCBwdHIgW3JjeCArIDI0XSwgcjEyCi0tICAgIG1vdiBxd29yZCBwdHIgW3JjeCArIDMyXSwgcjEz Ci0tICAgIG1vdiBxd29yZCBwdHIgW3JjeCArIDQwXSwgcjE0Ci0tICAgIG1vdiBxd29yZCBwdHIg W3JjeCArIDQ4XSwgcjE1Ci0tICAgIDs7IFNraXAgb25lIHNsb3QgdG8gYWNoaWV2ZSBwcm9wZXIg YWxpZ25tZW50IGFuZCB1c2UgYWxpZ25lZCBpbnN0cnVjdGlvbnMsCi0tICAgIDs7IGFzIHdlIGFy ZSBzdXJlIHRoYXQgdGhlIGJ1ZmZlciBpcyBwcm9wZXJseSBhbGlnbmVkLgotLSAgICBtb3ZkcWEg eG1td29yZCBwdHIgW3JjeCArIDY0XSwgeG1tNgotLSAgICBtb3ZkcWEgeG1td29yZCBwdHIgW3Jj eCArIDgwXSwgeG1tNwotLSAgICBtb3ZkcWEgeG1td29yZCBwdHIgW3JjeCArIDk2XSwgeG1tOAot LSAgICBtb3ZkcWEgeG1td29yZCBwdHIgW3JjeCArIDExMl0sIHhtbTkKLS0gICAgbW92ZHFhIHht bXdvcmQgcHRyIFtyY3ggKyAxMjhdLCB4bW0xMAotLSAgICBtb3ZkcWEgeG1td29yZCBwdHIgW3Jj eCArIDE0NF0sIHhtbTExCi0tICAgIG1vdmRxYSB4bW13b3JkIHB0ciBbcmN4ICsgMTYwXSwgeG1t MTIKLS0gICAgbW92ZHFhIHhtbXdvcmQgcHRyIFtyY3ggKyAxNzZdLCB4bW0xMwotLSAgICBtb3Zk cWEgeG1td29yZCBwdHIgW3JjeCArIDE5Ml0sIHhtbTE0Ci0tICAgIG1vdmRxYSB4bW13b3JkIHB0 ciBbcmN4ICsgMjA4XSwgeG1tMTUKLS0gICAgOzsgUmVzdG9yZSAlcmJwIGFzIGl0IHdhcyB1c2Vk IGFzIGZyYW1lIHBvaW50ZXIgYW5kIHJldHVybi4KLS0gICAgcG9wIHJicAotLSAgICByZXQKLS0K LS1lbmQKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9iYXNlL3N0YWNrLmNjIGIvc3JjL2hlYXAvYmFz ZS9zdGFjay5jYwotaW5kZXggZDhlNjE4ZC4uNTRhODY5NyAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9o ZWFwL2Jhc2Uvc3RhY2suY2MKLSsrKyBiL3Y4L3NyYy9oZWFwL2Jhc2Uvc3RhY2suY2MKLUBAIC02 LDE4ICs2LDIxIEBACi0gCi0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSsjaW5jbHVkZSAic3JjL2Jh c2UvcGxhdGZvcm0vcGxhdGZvcm0uaCIKLSAjaW5jbHVkZSAic3JjL2Jhc2Uvc2FuaXRpemVyL2Fz YW4uaCIKLSAjaW5jbHVkZSAic3JjL2Jhc2Uvc2FuaXRpemVyL21zYW4uaCIKLSAjaW5jbHVkZSAi c3JjL2Jhc2Uvc2FuaXRpemVyL3RzYW4uaCIKLSAKLSBuYW1lc3BhY2UgaGVhcDo6YmFzZSB7Ci0g Ci0tU3RhY2s6OlN0YWNrKGNvbnN0IHZvaWQqIHN0YWNrX3N0YXJ0KSA6IHN0YWNrX3N0YXJ0Xyhz dGFja19zdGFydCkge30KLS0KLS12b2lkIFN0YWNrOjpTZXRTdGFja1N0YXJ0KGNvbnN0IHZvaWQq IHN0YWNrX3N0YXJ0KSB7Ci0tICBEQ0hFQ0soIWNvbnRleHRfKTsKLS0gIHN0YWNrX3N0YXJ0XyA9 IHN0YWNrX3N0YXJ0OwotLX0KLSsvLyBGdW5jdGlvbiB3aXRoIGFyY2hpdGVjdHVyZS1zcGVjaWZp YyBpbXBsZW1lbnRhdGlvbjoKLSsvLyBQdXNoZXMgYWxsIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMg dG8gdGhlIHN0YWNrIGFuZCBpbnZva2VzIHRoZSBjYWxsYmFjaywKLSsvLyBwYXNzaW5nIHRoZSBz dXBwbGllZCBwb2ludGVycyAoc3RhY2sgYW5kIGFyZ3VtZW50KSBhbmQgdGhlIGludGVuZGVkIHN0 YWNrCi0rLy8gbWFya2VyLgotK3VzaW5nIEl0ZXJhdGVTdGFja0NhbGxiYWNrID0gdm9pZCAoKiko Y29uc3QgU3RhY2sqLCBTdGFja1Zpc2l0b3IqLCBjb25zdCB2b2lkKik7Ci0rZXh0ZXJuICJDIiB2 b2lkIFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2soY29uc3QgU3RhY2sqIHN0YWNrLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YWNrVmlz aXRvciogdmlzaXRvciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJdGVyYXRlU3RhY2tDYWxsYmFjayBjYWxsYmFjayk7Ci0gCi0gYm9vbCBTdGFjazo6 SXNPblN0YWNrKGNvbnN0IHZvaWQqIHNsb3QpIGNvbnN0IHsKLSAgIERDSEVDS19OT1RfTlVMTChz dGFja19zdGFydF8pOwotQEAgLTE0MSw5NyArMTQ0LDYyIEBACi0gCi0gfSAgLy8gbmFtZXNwYWNl Ci0gCi0tdm9pZCBTdGFjazo6SXRlcmF0ZVBvaW50ZXJzKFN0YWNrVmlzaXRvciogdmlzaXRvcikg Y29uc3QgewotLSAgRENIRUNLX05PVF9OVUxMKHN0YWNrX3N0YXJ0Xyk7Ci0tICBEQ0hFQ0soY29u dGV4dF8pOwotLSAgRENIRUNLX05PVF9OVUxMKGNvbnRleHRfLT5zdGFja19tYXJrZXIpOwotLQot Ky8vIHN0YXRpYwotK3ZvaWQgU3RhY2s6Okl0ZXJhdGVQb2ludGVyc0ltcGwoY29uc3QgU3RhY2sq IHN0YWNrLCBTdGFja1Zpc2l0b3IqIHZpc2l0b3IsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB2b2lkKiBzdGFja19lbmQpIHsKLSAjaWZkZWYgVjhfVVNFX0FERFJFU1Nf U0FOSVRJWkVSCi0gICBjb25zdCB2b2lkKiBhc2FuX2Zha2Vfc3RhY2sgPSBfX2FzYW5fZ2V0X2N1 cnJlbnRfZmFrZV9zdGFjaygpOwotICNlbHNlCi0gICBjb25zdCB2b2lkKiBhc2FuX2Zha2Vfc3Rh Y2sgPSBudWxscHRyOwotICNlbmRpZiAgLy8gVjhfVVNFX0FERFJFU1NfU0FOSVRJWkVSCi0gCi0t ICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIHJlZ2lzdGVycy4KLS0gIGZvciAoaW50cHRyX3QgdmFs dWUgOiBjb250ZXh0Xy0+cmVnaXN0ZXJzKSB7Ci0tICAgIGNvbnN0IHZvaWQqIGFkZHJlc3MgPSBy ZWludGVycHJldF9jYXN0PGNvbnN0IHZvaWQqPih2YWx1ZSk7Ci0tICAgIE1TQU5fTUVNT1JZX0lT X0lOSVRJQUxJWkVEKCZhZGRyZXNzLCBzaXplb2YoYWRkcmVzcykpOwotLSAgICBpZiAoYWRkcmVz cyA9PSBudWxscHRyKSBjb250aW51ZTsKLS0gICAgdmlzaXRvci0+VmlzaXRQb2ludGVyKGFkZHJl c3MpOwotLSAgICBJdGVyYXRlQXNhbkZha2VGcmFtZUlmTmVjZXNzYXJ5KHZpc2l0b3IsIGFzYW5f ZmFrZV9zdGFjaywgc3RhY2tfc3RhcnRfLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRleHRfLT5zdGFja19tYXJrZXIsIGFkZHJlc3MpOwotLSAgfQotLQotICAgLy8g SXRlcmF0ZSB0aHJvdWdoIHRoZSBzdGFjay4KLSAgIC8vIEFsbCBzdXBwb3J0ZWQgcGxhdGZvcm1z IHNob3VsZCBoYXZlIHRoZWlyIHN0YWNrIGFsaWduZWQgdG8gYXQgbGVhc3QKLSAgIC8vIHNpemVv Zih2b2lkKikuCi0gICBjb25zdGV4cHIgc2l6ZV90IGtNaW5TdGFja0FsaWdubWVudCA9IHNpemVv Zih2b2lkKik7Ci0tICBDSEVDS19FUSgwdSwgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGNv bnRleHRfLT5zdGFja19tYXJrZXIpICYKLS0gICAgICAgICAgICAgICAgICAgKGtNaW5TdGFja0Fs aWdubWVudCAtIDEpKTsKLS0gIEl0ZXJhdGVQb2ludGVyc0luU3RhY2soCi0tICAgICAgdmlzaXRv ciwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKiBjb25zdCo+KGNvbnRleHRfLT5zdGFja19t YXJrZXIpLAotLSAgICAgIHN0YWNrX3N0YXJ0XywgYXNhbl9mYWtlX3N0YWNrKTsKLSsgIENIRUNL X0VRKDB1LAotKyAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KHN0YWNrX2Vu ZCkgJiAoa01pblN0YWNrQWxpZ25tZW50IC0gMSkpOwotKyAgSXRlcmF0ZVBvaW50ZXJzSW5TdGFj ayh2aXNpdG9yLAotKyAgICAgICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9jYXN0PGNv bnN0IHZvaWQqIGNvbnN0Kj4oc3RhY2tfZW5kKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg c3RhY2stPnN0YWNrX3N0YXJ0XywgYXNhbl9mYWtlX3N0YWNrKTsKLSAKLS0gIGZvciAoY29uc3Qg YXV0byYgc3RhY2sgOiBpbmFjdGl2ZV9zdGFja3NfKSB7Ci0tICAgIEl0ZXJhdGVQb2ludGVyc0lu U3RhY2sodmlzaXRvciwgc3RhY2sudG9wLCBzdGFjay5zdGFydCwgYXNhbl9mYWtlX3N0YWNrKTsK LSsgIGZvciAoY29uc3QgYXV0byYgc2VnbWVudCA6IHN0YWNrLT5pbmFjdGl2ZV9zdGFja3NfKSB7 Ci0rICAgIEl0ZXJhdGVQb2ludGVyc0luU3RhY2sodmlzaXRvciwgc2VnbWVudC50b3AsIHNlZ21l bnQuc3RhcnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNhbl9mYWtlX3N0YWNrKTsK LSAgIH0KLSAKLSAgIEl0ZXJhdGVVbnNhZmVTdGFja0lmTmVjZXNzYXJ5KHZpc2l0b3IpOwotIH0K LSAKLS1uYW1lc3BhY2UgewotLS8vIEZ1bmN0aW9uIHdpdGggYXJjaGl0ZWN0dXJlLXNwZWNpZmlj IGltcGxlbWVudGF0aW9uOgotLS8vIFNhdmVzIGFsbCBjYWxsZWUtc2F2ZWQgcmVnaXN0ZXJzIGlu IHRoZSBzcGVjaWZpZWQgYnVmZmVyLgotLWV4dGVybiAiQyIgdm9pZCBTYXZlQ2FsbGVlU2F2ZWRS ZWdpc3RlcnMoaW50cHRyX3QqIGJ1ZmZlcik7Ci0rdm9pZCBTdGFjazo6SXRlcmF0ZVBvaW50ZXJz KFN0YWNrVmlzaXRvciogdmlzaXRvcikgY29uc3QgewotKyAgLy8gVE9ETyh2ODoxMzQ5Myk6IFJl bW92ZSB0aGUgaW1wbGljYXRpb24gYXMgc29vbiBhcyBJc09uQ3VycmVudFN0YWNrIGlzCi0rICAv LyBjb21wYXRpYmxlIHdpdGggc3RhY2sgc3dpdGNoaW5nLgotKyAgRENIRUNLX0lNUExJRVMoIXdh c21fc3RhY2tfc3dpdGNoaW5nXywgSXNPbkN1cnJlbnRTdGFjayhzdGFja19zdGFydF8pKTsKLSsg IFB1c2hBbGxSZWdpc3RlcnNBbmRJdGVyYXRlU3RhY2sodGhpcywgdmlzaXRvciwgJkl0ZXJhdGVQ b2ludGVyc0ltcGwpOwotKyAgLy8gTm8gbmVlZCB0byBkZWFsIHdpdGggY2FsbGVlLXNhdmVkIHJl Z2lzdGVycyBhcyB0aGV5IHdpbGwgYmUga2VwdCBhbGl2ZSBieQotKyAgLy8gdGhlIHJlZ3VsYXIg Y29uc2VydmF0aXZlIHN0YWNrIGl0ZXJhdGlvbi4KLSsgIC8vIFRPRE8oY2hyb21pdW06MTA1NjE3 MCk6IEFkZCBzdXBwb3J0IGZvciBTSU1EIGFuZC9vciBmaWx0ZXJpbmcuCi0rICBJdGVyYXRlVW5z YWZlU3RhY2tJZk5lY2Vzc2FyeSh2aXNpdG9yKTsKLSt9Ci0rCi0rdm9pZCBTdGFjazo6SXRlcmF0 ZVBvaW50ZXJzVW5zYWZlKFN0YWNrVmlzaXRvciogdmlzaXRvciwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCogc3RhY2tfZW5kKSBjb25zdCB7Ci0rICBEQ0hF Q0tfTk9UX05VTEwoc3RhY2tfc3RhcnRfKTsKLSsgIERDSEVDS19OT1RfTlVMTChzdGFja19lbmQp OwotKyAgRENIRUNLX0dFKHN0YWNrX3N0YXJ0Xywgc3RhY2tfZW5kKTsKLSsgIEl0ZXJhdGVQb2lu dGVyc0ltcGwodGhpcywgdmlzaXRvciwgc3RhY2tfZW5kKTsKLSt9Ci0gCi0gI2lmZGVmIERFQlVH Ci0tCi0tYm9vbCBJc09uQ3VycmVudFN0YWNrKGNvbnN0IHZvaWQqIHB0cikgewotKy8vIHN0YXRp YwotK2Jvb2wgU3RhY2s6OklzT25DdXJyZW50U3RhY2soY29uc3Qgdm9pZCogcHRyKSB7Ci0gICBE Q0hFQ0tfTk9UX05VTEwocHRyKTsKLSAgIGNvbnN0IHZvaWQqIGN1cnJlbnRfc3RhY2tfc3RhcnQg PSB2ODo6YmFzZTo6U3RhY2s6OkdldFN0YWNrU3RhcnQoKTsKLSAgIGNvbnN0IHZvaWQqIGN1cnJl bnRfc3RhY2tfdG9wID0gdjg6OmJhc2U6OlN0YWNrOjpHZXRDdXJyZW50U3RhY2tQb3NpdGlvbigp OwotICAgcmV0dXJuIHB0ciA8PSBjdXJyZW50X3N0YWNrX3N0YXJ0ICYmIHB0ciA+PSBjdXJyZW50 X3N0YWNrX3RvcDsKLSB9Ci0tCi0gI2VuZGlmICAvLyBERUJVRwotIAotLX0gIC8vIG5hbWVzcGFj ZQotLQotLXZvaWQgU3RhY2s6OlNhdmVDb250ZXh0KGJvb2wgY2hlY2tfaW52YXJpYW50KSB7Ci0t ICAvLyBUT0RPKHY4OjEzNDkzKTogUmVtb3ZlIHRoZSBtZXRob2QncyBwYXJhbWV0ZXIgYW5kIHRo ZSBpbXBsaWNhdGlvbiBhcyBzb29uCi0tICAvLyBhcyBJc09uQ3VycmVudFN0YWNrIGlzIGNvbXBh dGlibGUgd2l0aCBzdGFjayBzd2l0Y2hpbmcuCi0tICBEQ0hFQ0tfSU1QTElFUyhjaGVja19pbnZh cmlhbnQsIElzT25DdXJyZW50U3RhY2soc3RhY2tfc3RhcnRfKSk7Ci0tICAvLyBDb250ZXh0cyBj YW4gYmUgbmVzdGVkIGJ1dCB0aGUgbWFya2VyIGFuZCB0aGUgcmVnaXN0ZXJzIGFyZSBvbmx5IHNh dmVkIG9uCi0tICAvLyB0aGUgZmlyc3QgaW52b2NhdGlvbi4KLS0gIGlmIChjb250ZXh0Xykgewot LSAgICArK2NvbnRleHRfLT5uZXN0aW5nX2NvdW50ZXI7Ci0tICAgIHJldHVybjsKLS0gIH0KLS0g IC8vIEFsbG9jYXRlIHRoZSBjb250ZXh0IGFuZCBzZXQgdGhlIG1hcmtlci4KLS0gIGNvbnN0IHZv aWQqIHN0YWNrX3RvcCA9IHY4OjpiYXNlOjpTdGFjazo6R2V0Q3VycmVudFN0YWNrUG9zaXRpb24o KTsKLS0gIERDSEVDS19OT1RfTlVMTChzdGFja190b3ApOwotLSAgY29udGV4dF8gPSBzdGQ6Om1h a2VfdW5pcXVlPENvbnRleHQ+KHN0YWNrX3RvcCk7Ci0tICAvLyBUT0RPKHY4OjEzNDkzKTogUmVt b3ZlIHRoZSBpbXBsaWNhdGlvbiBhcyBzb29uIGFzIElzVmFsaWRNYXJrZXIgaXMKLS0gIC8vIGNv bXBhdGlibGUgd2l0aCBzdGFjayBzd2l0Y2hpbmcuCi0tICBEQ0hFQ0tfSU1QTElFUyhjaGVja19p bnZhcmlhbnQsIHN0YWNrX3RvcCA8PSBzdGFja19zdGFydF8pOwotLSAgY29udGV4dF8tPnN0YWNr X21hcmtlciA9IHN0YWNrX3RvcDsKLS0gIC8vIFNhdmUgdGhlIHJlZ2lzdGVycy4KLS0gIFNhdmVD YWxsZWVTYXZlZFJlZ2lzdGVycyhjb250ZXh0Xy0+cmVnaXN0ZXJzLmRhdGEoKSk7Ci0tfQotLQot LXZvaWQgU3RhY2s6OkNsZWFyQ29udGV4dChib29sIGNoZWNrX2ludmFyaWFudCkgewotLSAgLy8g VE9ETyh2ODoxMzQ5Myk6IFJlbW92ZSB0aGUgbWV0aG9kJ3MgcGFyYW1ldGVyIGFuZCB0aGUgaW1w bGljYXRpb24gYXMgc29vbgotLSAgLy8gYXMgSXNPbkN1cnJlbnRTdGFjayBpcyBjb21wYXRpYmxl IHdpdGggc3RhY2sgc3dpdGNoaW5nLgotLSAgRENIRUNLX0lNUExJRVMoY2hlY2tfaW52YXJpYW50 LCBJc09uQ3VycmVudFN0YWNrKHN0YWNrX3N0YXJ0XykpOwotLSAgRENIRUNLKGNvbnRleHRfKTsK LS0gIC8vIFNraXAgY2xlYXJpbmcgdGhlIGNvbnRleHQgaWYgdGhhdCB3YXMgYSBuZXN0ZWQgaW52 b2NhdGlvbi4KLS0gIGlmIChjb250ZXh0Xy0+bmVzdGluZ19jb3VudGVyID4gMCkgewotLSAgICAt LWNvbnRleHRfLT5uZXN0aW5nX2NvdW50ZXI7Ci0tICAgIHJldHVybjsKLS0gIH0KLS0gIGNvbnRl eHRfLnJlc2V0KCk7Ci0tfQotLQotIHZvaWQgU3RhY2s6OkFkZFN0YWNrU2VnbWVudChjb25zdCB2 b2lkKiBzdGFydCwgY29uc3Qgdm9pZCogdG9wKSB7Ci0gICBEQ0hFQ0tfTEUodG9wLCBzdGFydCk7 Ci0gICBpbmFjdGl2ZV9zdGFja3NfLnB1c2hfYmFjayh7c3RhcnQsIHRvcH0pOwotZGlmZiAtLWdp dCBhL3NyYy9oZWFwL2Jhc2Uvc3RhY2suaCBiL3NyYy9oZWFwL2Jhc2Uvc3RhY2suaAotaW5kZXgg MDZlZGY0Yy4uNGIwYTE0ZSAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9oZWFwL2Jhc2Uvc3RhY2suaAot KysrIGIvdjgvc3JjL2hlYXAvYmFzZS9zdGFjay5oCi1AQCAtNSwxMCArNSw5IEBACi0gI2lmbmRl ZiBWOF9IRUFQX0JBU0VfU1RBQ0tfSF8KLSAjZGVmaW5lIFY4X0hFQVBfQkFTRV9TVEFDS19IXwot IAotLSNpbmNsdWRlIDxtZW1vcnk+Ci0rI2luY2x1ZGUgPHZlY3Rvcj4KLSAKLSAjaW5jbHVkZSAi c3JjL2Jhc2UvbWFjcm9zLmgiCi0tI2luY2x1ZGUgInNyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3Jt LmgiCi0gCi0gbmFtZXNwYWNlIGhlYXA6OmJhc2UgewotIAotQEAgLTMwLDk2ICsyOSw1NCBAQAot IC8vIG9mIHJlbGV2YW50IEdDIHN0YWNrIHJlZ2lvbnMgd2hlcmUgaW50ZXJlc3RpbmcgcG9pbnRl cnMgY2FuIGJlIGZvdW5kLgotIGNsYXNzIFY4X0VYUE9SVF9QUklWQVRFIFN0YWNrIGZpbmFsIHsK LSAgcHVibGljOgotLSAgLy8gVGhlIHNpemUgb2YgdGhlIGJ1ZmZlciBmb3Igc3RvcmluZyB0aGUg Y2FsbGVlLXNhdmVkIHJlZ2lzdGVycyBpcyBnb2luZyB0bwotLSAgLy8gYmUgZXF1YWwgdG8ga051 bWJlck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnMgKiBzaXplb2YoaW50cHRyX3QpLgotLSAgLy8gVGhp cyBpcyBhcmNoaXRlY3R1cmUtc3BlY2lmaWMuCi0tICBzdGF0aWMgY29uc3RleHByIGludCBOdW1i ZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzKCkgewotLSAgICByZXR1cm4gQ29udGV4dDo6a051bWJl ck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnM7Ci0tICB9Ci0tCi0tICBleHBsaWNpdCBTdGFjayhjb25z dCB2b2lkKiBzdGFja19zdGFydCA9IG51bGxwdHIpOwotKyAgZXhwbGljaXQgU3RhY2soY29uc3Qg dm9pZCogc3RhY2tfc3RhcnQgPSBudWxscHRyLAotKyAgICAgICAgICAgICAgICAgYm9vbCB3YXNt X3N0YWNrX3N3aXRjaGluZyA9IGZhbHNlKQotKyAgICAgIDogc3RhY2tfc3RhcnRfKHN0YWNrX3N0 YXJ0KSwKLSsgICAgICAgIHdhc21fc3RhY2tfc3dpdGNoaW5nXyh3YXNtX3N0YWNrX3N3aXRjaGlu Zykge30KLSAKLSAgIC8vIFNldHMgdGhlIHN0YXJ0IG9mIHRoZSBzdGFjay4KLS0gIHZvaWQgU2V0 U3RhY2tTdGFydChjb25zdCB2b2lkKiBzdGFja19zdGFydCk7Ci0rICB2b2lkIFNldFN0YWNrU3Rh cnQoY29uc3Qgdm9pZCogc3RhY2tfc3RhcnQsIGJvb2wgd2FzbV9zdGFja19zd2l0Y2hpbmcpIHsK LSsgICAgc3RhY2tfc3RhcnRfID0gc3RhY2tfc3RhcnQ7Ci0rICAgIHdhc21fc3RhY2tfc3dpdGNo aW5nXyA9IHdhc21fc3RhY2tfc3dpdGNoaW5nOwotKyAgfQotIAotICAgLy8gUmV0dXJucyB0cnVl IGlmIHxzbG90fCBpcyBwYXJ0IG9mIHRoZSBzdGFjayBhbmQgZmFsc2Ugb3RoZXJ3aXNlLgotICAg Ym9vbCBJc09uU3RhY2soY29uc3Qgdm9pZCogc2xvdCkgY29uc3Q7Ci0gCi0tICAvLyBXb3JkLWFs aWduZWQgaXRlcmF0aW9uIG9mIHRoZSBzdGFjayBhbmQgdGhlIHNhdmVkIHJlZ2lzdGVycy4KLS0g IC8vIFNsb3QgdmFsdWVzIGFyZSBwYXNzZWQgb24gdG8gYHZpc2l0b3JgLgotKyAgLy8gV29yZC1h bGlnbmVkIGl0ZXJhdGlvbiBvZiB0aGUgc3RhY2suIENhbGxlZS1zYXZlZCByZWdpc3RlcnMgYXJl IHB1c2hlZCB0bwotKyAgLy8gdGhlIHN0YWNrIGJlZm9yZSBpdGVyYXRpbmcgcG9pbnRlcnMuIFNs b3QgdmFsdWVzIGFyZSBwYXNzZWQgb24gdG8KLSsgIC8vIGB2aXNpdG9yYC4KLSAgIHZvaWQgSXRl cmF0ZVBvaW50ZXJzKFN0YWNrVmlzaXRvciogdmlzaXRvcikgY29uc3Q7Ci0gCi0tICAvLyBTYXZl cyBhbmQgY2xlYXJzIHRoZSBzdGFjayBjb250ZXh0LCBpLmUuLCBpdCBzZXRzIHRoZSBzdGFjayBt YXJrZXIgYW5kCi0tICAvLyBzYXZlcyB0aGUgcmVnaXN0ZXJzLgotLSAgLy8gVE9ETyh2ODoxMzQ5 Myk6IFRoZSBwYXJhbWV0ZXIgaXMgZm9yIHN1cHByZXNzaW5nIHRoZSBpbnZhcmlhbnQgY2hlY2sg aW4KLS0gIC8vIHRoZSBjYXNlIG9mIFdBU00gc3RhY2sgc3dpdGNoaW5nLiBJdCB3aWxsIGJlIHJl bW92ZWQgYXMgc29vbiBhcyBjb250ZXh0Ci0tICAvLyBzYXZpbmcgYmVjb21lcyBjb21wYXRpYmxl IHdpdGggc3RhY2sgc3dpdGNoaW5nLgotLSAgdm9pZCBTYXZlQ29udGV4dChib29sIGNoZWNrX2lu dmFyaWFudCA9IHRydWUpOwotLSAgdm9pZCBDbGVhckNvbnRleHQoYm9vbCBjaGVja19pbnZhcmlh bnQgPSB0cnVlKTsKLSsgIC8vIFdvcmQtYWxpZ25lZCBpdGVyYXRpb24gb2YgdGhlIHN0YWNrLCBz dGFydGluZyBhdCBgc3RhY2tfZW5kYC4gU2xvdCB2YWx1ZXMKLSsgIC8vIGFyZSBwYXNzZWQgb24g dG8gYHZpc2l0b3JgLiBUaGlzIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCB2ZXJpZmllcnMg dGhhdAotKyAgLy8gb25seSB2aXNpdCBhIHN1YnNldCBvZiB0aGUgc3RhY2sgb2YgSXRlcmF0ZVBv aW50ZXJzKCkuCi0rICAvLwotKyAgLy8gKipJZ25vcmVzOioqCi0rICAvLyAtIENhbGxlZS1zYXZl ZCByZWdpc3RlcnMuCi0rICAvLyAtIFNhZmVTdGFjay4KLSsgIHZvaWQgSXRlcmF0ZVBvaW50ZXJz VW5zYWZlKFN0YWNrVmlzaXRvciogdmlzaXRvciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHZvaWQqIHN0YWNrX2VuZCkgY29uc3Q7Ci0gCi0gICB2b2lkIEFkZFN0YWNrU2Vn bWVudChjb25zdCB2b2lkKiBzdGFydCwgY29uc3Qgdm9pZCogdG9wKTsKLSAgIHZvaWQgQ2xlYXJT dGFja1NlZ21lbnRzKCk7Ci0gCi0gIHByaXZhdGU6Ci0tICBzdHJ1Y3QgQ29udGV4dCB7Ci0tICAg IC8vIFRoZSBmb2xsb3dpbmcgY29uc3RhbnQgaXMgYXJjaGl0ZWN0dXJlLXNwZWNpZmljLgotLSNp ZiBWOF9IT1NUX0FSQ0hfSUEzMgotLSAgICAvLyBNdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCBoZWFw L2Jhc2UvYXNtL2lhMzIvLgotLSAgICBzdGF0aWMgY29uc3RleHByIGludCBrTnVtYmVyT2ZDYWxs ZWVTYXZlZFJlZ2lzdGVycyA9IDM7Ci0tI2VsaWYgVjhfSE9TVF9BUkNIX1g2NAotLSNpZmRlZiBf V0lONjQKLS0gICAgLy8gTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVhcC9iYXNlL2FzbS94NjQv LgotLSAgICBzdGF0aWMgY29uc3RleHByIGludCBrTnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVy cyA9IDI4OwotLSNlbHNlICAgLy8gIV9XSU42NAotLSAgICAvLyBNdXN0IGJlIGNvbnNpc3RlbnQg d2l0aCBoZWFwL2Jhc2UvYXNtL3g2NC8uCi0tICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGtOdW1i ZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzID0gNTsKLS0jZW5kaWYgIC8vICFfV0lONjQKLS0jZWxp ZiBWOF9IT1NUX0FSQ0hfQVJNNjQKLS0gICAgLy8gTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVh cC9iYXNlL2FzbS9hcm02NC8uCi0tICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGtOdW1iZXJPZkNh bGxlZVNhdmVkUmVnaXN0ZXJzID0gMTE7Ci0tI2VsaWYgVjhfSE9TVF9BUkNIX0FSTQotLSAgICAv LyBNdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCBoZWFwL2Jhc2UvYXNtL2FybS8uCi0tICAgIHN0YXRp YyBjb25zdGV4cHIgaW50IGtOdW1iZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzID0gODsKLS0jZWxp ZiBWOF9IT1NUX0FSQ0hfUFBDNjQKLS0gICAgLy8gTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVh cC9iYXNlL2FzbS9wcGMvLgotLSAgICBzdGF0aWMgY29uc3RleHByIGludCBrTnVtYmVyT2ZDYWxs ZWVTYXZlZFJlZ2lzdGVycyA9IDIwOwotLSNlbGlmIFY4X0hPU1RfQVJDSF9QUEMKLS0gICAgLy8g TXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVhcC9iYXNlL2FzbS9wcGMvLgotLSAgICBzdGF0aWMg Y29uc3RleHByIGludCBrTnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycyA9IDIwOwotLSNlbGlm IFY4X0hPU1RfQVJDSF9NSVBTNjQKLS0gICAgLy8gTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVh cC9iYXNlL2FzbS9taXBzNjRlbC8uCi0tICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGtOdW1iZXJP ZkNhbGxlZVNhdmVkUmVnaXN0ZXJzID0gOTsKLS0jZWxpZiBWOF9IT1NUX0FSQ0hfTE9PTkc2NAot LSAgICAvLyBNdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCBoZWFwL2Jhc2UvYXNtL2xvb25nNjQvLgot LSAgICBzdGF0aWMgY29uc3RleHByIGludCBrTnVtYmVyT2ZDYWxsZWVTYXZlZFJlZ2lzdGVycyA9 IDExOwotLSNlbGlmIFY4X0hPU1RfQVJDSF9TMzkwCi0tICAgIC8vIE11c3QgYmUgY29uc2lzdGVu dCB3aXRoIGhlYXAvYmFzZS9hc20vczM5MC8uCi0tICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGtO dW1iZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzID0gMTA7Ci0tI2VsaWYgVjhfSE9TVF9BUkNIX1JJ U0NWMzIKLS0gICAgLy8gTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggaGVhcC9iYXNlL2FzbS9yaXNj di8uCi0tICAgIHN0YXRpYyBjb25zdGV4cHIgaW50IGtOdW1iZXJPZkNhbGxlZVNhdmVkUmVnaXN0 ZXJzID0gMTI7Ci0tI2VsaWYgVjhfSE9TVF9BUkNIX1JJU0NWNjQKLS0gICAgLy8gTXVzdCBiZSBj b25zaXN0ZW50IHdpdGggaGVhcC9iYXNlL2FzbS9yaXNjdi8uCi0tICAgIHN0YXRpYyBjb25zdGV4 cHIgaW50IGtOdW1iZXJPZkNhbGxlZVNhdmVkUmVnaXN0ZXJzID0gMTI7Ci0tI2Vsc2UKLS0jZXJy b3IgVW5rbm93biBhcmNoaXRlY3R1cmUuCi0rI2lmZGVmIERFQlVHCi0rICBzdGF0aWMgYm9vbCBJ c09uQ3VycmVudFN0YWNrKGNvbnN0IHZvaWQqIHB0cik7Ci0gI2VuZGlmCi0gCi0tICAgIGV4cGxp Y2l0IENvbnRleHQoY29uc3Qgdm9pZCogbWFya2VyKSA6IHN0YWNrX21hcmtlcihtYXJrZXIpIHt9 Ci0tCi0tICAgIGludCBuZXN0aW5nX2NvdW50ZXIgPSAwOwotLSAgICBjb25zdCB2b2lkKiBzdGFj a19tYXJrZXI7Ci0tICAgIC8vIFdlIGFsd2F5cyBkb3VibGUtYWxpZ24gdGhpcyBidWZmZXIsIHRv IHN1cHBvcnQgZm9yIGxvbmdlciByZWdpc3RlcnMsCi0tICAgIC8vIGUuZy4sIDEyOC1iaXQgcmVn aXN0ZXJzIGluIFdJTjY0LgotLSAgICBhbGlnbmFzKDIgKiBzaXplb2YoaW50cHRyX3QpKQotLSAg ICAgICAgc3RkOjphcnJheTxpbnRwdHJfdCwga051bWJlck9mQ2FsbGVlU2F2ZWRSZWdpc3RlcnM+ IHJlZ2lzdGVyczsKLS0gIH07Ci0rICBzdGF0aWMgdm9pZCBJdGVyYXRlUG9pbnRlcnNJbXBsKGNv bnN0IFN0YWNrKiBzdGFjaywgU3RhY2tWaXNpdG9yKiB2aXNpdG9yLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkKiBzdGFja19lbmQpOwotIAotICAgY29uc3Qg dm9pZCogc3RhY2tfc3RhcnRfOwotLSAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHQ+IGNvbnRleHRf OwotIAotLSAgLy8gU3RhY2sgc2VnbWVudHMgdGhhdCBtYXkgYWxzbyBjb250YWluIHBvaW50ZXJz IGFuZCBzaG91bGQgYmUKLS0gIC8vIHNjYW5uZWQuCi0rICAvLyBUT0RPKHY4OjEzNDkzKTogVGhp cyBpcyBmb3Igc3VwcHJlc3NpbmcgdGhlIGNoZWNrIHRoYXQgd2UgYXJlIGluIHRoZQotKyAgLy8g Y29ycmVjdCBzdGFjaywgaW4gdGhlIGNhc2Ugb2YgIFdBU00gc3RhY2sgc3dpdGNoaW5nLiBJdCB3 aWxsIGJlIHJlbW92ZWQgYXMKLSsgIC8vIHNvb24gYXMgY29udGV4dCBzYXZpbmcgYmVjb21lcyBj b21wYXRpYmxlIHdpdGggc3RhY2sgc3dpdGNoaW5nLgotKyAgYm9vbCB3YXNtX3N0YWNrX3N3aXRj aGluZ187Ci0rCi0rICAvLyBTdGFjayBzZWdtZW50cyB0aGF0IG1heSBhbHNvIGNvbnRhaW4gcG9p bnRlcnMgYW5kIHNob3VsZCBiZSBzY2FubmVkLgotICAgc3RydWN0IFN0YWNrU2VnbWVudHMgewot ICAgICBjb25zdCB2b2lkKiBzdGFydDsKLSAgICAgY29uc3Qgdm9pZCogdG9wOwotZGlmZiAtLWdp dCBhL3NyYy9oZWFwL2NwcGdjLWpzL2NwcC1oZWFwLmNjIGIvc3JjL2hlYXAvY3BwZ2MtanMvY3Bw LWhlYXAuY2MKLWluZGV4IGMyN2M2MTIuLjYzYzUyMTIgMTAwNjQ0Ci0tLS0gYS92OC9zcmMvaGVh cC9jcHBnYy1qcy9jcHAtaGVhcC5jYwotKysrIGIvdjgvc3JjL2hlYXAvY3BwZ2MtanMvY3BwLWhl YXAuY2MKLUBAIC0xNiw2ICsxNiw3IEBACi0gI2luY2x1ZGUgInNyYy9iYXNlL2xvZ2dpbmcuaCIK LSAjaW5jbHVkZSAic3JjL2Jhc2UvbWFjcm9zLmgiCi0gI2luY2x1ZGUgInNyYy9iYXNlL29wdGlv bmFsLmgiCi0rI2luY2x1ZGUgInNyYy9iYXNlL3BsYXRmb3JtL3BsYXRmb3JtLmgiCi0gI2luY2x1 ZGUgInNyYy9iYXNlL3BsYXRmb3JtL3RpbWUuaCIKLSAjaW5jbHVkZSAic3JjL2V4ZWN1dGlvbi9p c29sYXRlLWlubC5oIgotICNpbmNsdWRlICJzcmMvZmxhZ3MvZmxhZ3MuaCIKLUBAIC04MzksNyAr ODQwLDcgQEAKLSAgIGNvbnN0IHNpemVfdCBieXRlc19hbGxvY2F0ZWRfaW5fcHJlZmluYWxpemVy cyA9IEV4ZWN1dGVQcmVGaW5hbGl6ZXJzKCk7Ci0gI2lmIENQUEdDX1ZFUklGWV9IRUFQCi0gICBV bmlmaWVkSGVhcE1hcmtpbmdWZXJpZmllciB2ZXJpZmllcigqdGhpcywgKmNvbGxlY3Rpb25fdHlw ZV8pOwotLSAgdmVyaWZpZXIuUnVuKHN0YWNrX3N0YXRlX29mX3ByZXZfZ2MoKSwKLSsgIHZlcmlm aWVyLlJ1bihzdGFja19zdGF0ZV9vZl9wcmV2X2djKCksIHN0YWNrX2VuZF9vZl9jdXJyZW50X2dj KCksCi0gICAgICAgICAgICAgICAgc3RhdHNfY29sbGVjdG9yKCktPm1hcmtlZF9ieXRlc19vbl9j dXJyZW50X2N5Y2xlKCkgKwotICAgICAgICAgICAgICAgICAgICBieXRlc19hbGxvY2F0ZWRfaW5f cHJlZmluYWxpemVycyk7Ci0gI2VuZGlmICAvLyBDUFBHQ19WRVJJRllfSEVBUAotQEAgLTk0Miw3 ICs5NDMsNyBAQAotICAgLy8gRmluaXNoIHN3ZWVwaW5nIGluIGNhc2UgaXQgaXMgc3RpbGwgcnVu bmluZy4KLSAgIHN3ZWVwZXIoKS5GaW5pc2hJZlJ1bm5pbmcoKTsKLSAKLS0gIFNhdmVTdGFja0Nv bnRleHRTY29wZSBzdGFja19jb250ZXh0X3Njb3BlKHN0YWNrKCkpOwotKyAgU2V0U3RhY2tFbmRP ZkN1cnJlbnRHQyh2ODo6YmFzZTo6U3RhY2s6OkdldEN1cnJlbnRTdGFja1Bvc2l0aW9uKCkpOwot IAotICAgaWYgKGlzb2xhdGVfKSB7Ci0gICAgIHJlaW50ZXJwcmV0X2Nhc3Q8djg6Oklzb2xhdGUq Pihpc29sYXRlXykKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9jcHBnYy9oZWFwLWJhc2UuaCBiL3Ny Yy9oZWFwL2NwcGdjL2hlYXAtYmFzZS5oCi1pbmRleCBhYzFkZDNmLi4yOWE4OGIyIDEwMDY0NAot LS0tIGEvdjgvc3JjL2hlYXAvY3BwZ2MvaGVhcC1iYXNlLmgKLSsrKyBiL3Y4L3NyYy9oZWFwL2Nw cGdjL2hlYXAtYmFzZS5oCi1AQCAtMTgzLDYgKzE4MywxMyBAQAotICAgICBzdGFja19zdGF0ZV9v Zl9wcmV2X2djXyA9IHN0YWNrX3N0YXRlOwotICAgfQotIAotKyAgY29uc3Qgdm9pZCogc3RhY2tf ZW5kX29mX2N1cnJlbnRfZ2MoKSBjb25zdCB7Ci0rICAgIHJldHVybiBzdGFja19lbmRfb2ZfY3Vy cmVudF9nY187Ci0rICB9Ci0rICB2b2lkIFNldFN0YWNrRW5kT2ZDdXJyZW50R0MoY29uc3Qgdm9p ZCogc3RhY2tfZW5kKSB7Ci0rICAgIHN0YWNrX2VuZF9vZl9jdXJyZW50X2djXyA9IHN0YWNrX2Vu ZDsKLSsgIH0KLSsKLSAgIHZvaWQgU2V0SW5BdG9taWNQYXVzZUZvclRlc3RpbmcoYm9vbCB2YWx1 ZSkgeyBpbl9hdG9taWNfcGF1c2VfID0gdmFsdWU7IH0KLSAKLSAgIHZpcnR1YWwgdm9pZCBTdGFy dEluY3JlbWVudGFsR2FyYmFnZUNvbGxlY3Rpb25Gb3JUZXN0aW5nKCkgPSAwOwotQEAgLTI4OCw2 ICsyOTUsMTAgQEAKLSAgICAgICBFbWJlZGRlclN0YWNrU3RhdGU6OmtOb0hlYXBQb2ludGVyczsK LSAgIHN0ZDo6dW5pcXVlX3B0cjxFbWJlZGRlclN0YWNrU3RhdGU+IG92ZXJyaWRlX3N0YWNrX3N0 YXRlXzsKLSAKLSsgIC8vIE1hcmtlciB0aGF0IHNpZ25hbHMgZW5kIG9mIHRoZSBpbnRlcmVzdGlu ZyBzdGFjayByZWdpb24gaW4gd2hpY2ggb24taGVhcAotKyAgLy8gcG9pbnRlcnMgY2FuIGJlIGZv dW5kLgotKyAgY29uc3Qgdm9pZCogc3RhY2tfZW5kX29mX2N1cnJlbnRfZ2NfID0gbnVsbHB0cjsK LSsKLSAgIGJvb2wgaW5fYXRvbWljX3BhdXNlXyA9IGZhbHNlOwotIAotICAgaW50IGNyZWF0aW9u X3RocmVhZF9pZF8gPSB2ODo6YmFzZTo6T1M6OkdldEN1cnJlbnRUaHJlYWRJZCgpOwotZGlmZiAt LWdpdCBhL3NyYy9oZWFwL2NwcGdjL2hlYXAuY2MgYi9zcmMvaGVhcC9jcHBnYy9oZWFwLmNjCi1p bmRleCA3NzY5NDEyLi4yOGExMWZjIDEwMDY0NAotLS0tIGEvdjgvc3JjL2hlYXAvY3BwZ2MvaGVh cC5jYwotKysrIGIvdjgvc3JjL2hlYXAvY3BwZ2MvaGVhcC5jYwotQEAgLTE2NiwxMCArMTY2LDkg QEAKLSAgIERDSEVDSyghaW5fbm9fZ2Nfc2NvcGUoKSk7Ci0gICBDSEVDSyghaW5fZGlzYWxsb3df Z2Nfc2NvcGUoKSk7Ci0gICBjb25maWdfLnN0YWNrX3N0YXRlID0gc3RhY2tfc3RhdGU7Ci0rICBT ZXRTdGFja0VuZE9mQ3VycmVudEdDKHY4OjpiYXNlOjpTdGFjazo6R2V0Q3VycmVudFN0YWNrUG9z aXRpb24oKSk7Ci0gICBpbl9hdG9taWNfcGF1c2VfID0gdHJ1ZTsKLSAKLS0gIHN0YWNrKCktPlNh dmVDb250ZXh0KCk7Ci0tCi0gI2lmIGRlZmluZWQoQ1BQR0NfWU9VTkdfR0VORVJBVElPTikKLSAg IC8vIENoZWNrIGlmIHRoZSB5b3VuZyBnZW5lcmF0aW9uIHdhcyBlbmFibGVkLiBXZSBtdXN0IGVu YWJsZSB5b3VuZyBnZW5lcmF0aW9uCi0gICAvLyBiZWZvcmUgY2FsbGluZyB0aGUgY3VzdG9tIHdl YWsgY2FsbGJhY2tzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBjYWxsYmFja3MKLUBAIC0xODgsNyAr MTg3LDcgQEAKLSAgIGNvbnN0IHNpemVfdCBieXRlc19hbGxvY2F0ZWRfaW5fcHJlZmluYWxpemVy cyA9IEV4ZWN1dGVQcmVGaW5hbGl6ZXJzKCk7Ci0gI2lmIENQUEdDX1ZFUklGWV9IRUFQCi0gICBN YXJraW5nVmVyaWZpZXIgdmVyaWZpZXIoKnRoaXMsIGNvbmZpZ18uY29sbGVjdGlvbl90eXBlKTsK LS0gIHZlcmlmaWVyLlJ1bihjb25maWdfLnN0YWNrX3N0YXRlLAotKyAgdmVyaWZpZXIuUnVuKGNv bmZpZ18uc3RhY2tfc3RhdGUsIHN0YWNrX2VuZF9vZl9jdXJyZW50X2djKCksCi0gICAgICAgICAg ICAgICAgc3RhdHNfY29sbGVjdG9yKCktPm1hcmtlZF9ieXRlc19vbl9jdXJyZW50X2N5Y2xlKCkg KwotICAgICAgICAgICAgICAgICAgICBieXRlc19hbGxvY2F0ZWRfaW5fcHJlZmluYWxpemVycyk7 Ci0gI2VuZGlmICAvLyBDUFBHQ19WRVJJRllfSEVBUAotQEAgLTE5Nyw4ICsxOTYsNiBAQAotICNl bmRpZgotICAgVVNFKGJ5dGVzX2FsbG9jYXRlZF9pbl9wcmVmaW5hbGl6ZXJzKTsKLSAKLS0gIHN0 YWNrKCktPkNsZWFyQ29udGV4dCgpOwotLQotICNpZiBkZWZpbmVkKENQUEdDX1lPVU5HX0dFTkVS QVRJT04pCi0gICBSZXNldFJlbWVtYmVyZWRTZXQoKTsKLSAjZW5kaWYgIC8vIGRlZmluZWQoQ1BQ R0NfWU9VTkdfR0VORVJBVElPTikKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9jcHBnYy9tYXJraW5n LXZlcmlmaWVyLmNjIGIvc3JjL2hlYXAvY3BwZ2MvbWFya2luZy12ZXJpZmllci5jYwotaW5kZXgg NTUwODc2Ni4uYjcxMjdjMiAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9oZWFwL2NwcGdjL21hcmtpbmct dmVyaWZpZXIuY2MKLSsrKyBiL3Y4L3NyYy9oZWFwL2NwcGdjL21hcmtpbmctdmVyaWZpZXIuY2MK LUBAIC00NSw3ICs0NSw4IEBACi0gICAgICAgY29sbGVjdGlvbl90eXBlXyhjb2xsZWN0aW9uX3R5 cGUpIHt9Ci0gCi0gdm9pZCBNYXJraW5nVmVyaWZpZXJCYXNlOjpSdW4oCi0tICAgIFN0YWNrU3Rh dGUgc3RhY2tfc3RhdGUsIHY4OjpiYXNlOjpPcHRpb25hbDxzaXplX3Q+IGV4cGVjdGVkX21hcmtl ZF9ieXRlcykgewotKyAgICBTdGFja1N0YXRlIHN0YWNrX3N0YXRlLCBjb25zdCB2b2lkKiBzdGFj a19lbmQsCi0rICAgIHY4OjpiYXNlOjpPcHRpb25hbDxzaXplX3Q+IGV4cGVjdGVkX21hcmtlZF9i eXRlcykgewotICAgVHJhdmVyc2UoaGVhcF8ucmF3X2hlYXAoKSk7Ci0gLy8gQXZvaWQgdmVyaWZ5 aW5nIHRoZSBzdGFjayB3aGVuIHJ1bm5pbmcgd2l0aCBUU0FOIGFzIHRoZSBUU0FOIHJ1bnRpbWUg Y2hhbmdlcwotIC8vIHN0YWNrIGNvbnRlbnRzIHdoZW4gZS5nLiB3b3JraW5nIHdpdGggbG9ja3Mu IFNwZWNpZmljYWxseSwgdGhlIG1hcmtlciB1c2VzCi1AQCAtNjIsNyArNjMsNyBAQAotICNpZiAh ZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKSAmJiAhZGVmaW5lZChDUFBHQ19QT0lOVEVSX0NPTVBS RVNTSU9OKQotICAgaWYgKHN0YWNrX3N0YXRlID09IFN0YWNrU3RhdGU6OmtNYXlDb250YWluSGVh cFBvaW50ZXJzKSB7Ci0gICAgIGluX2NvbnN0cnVjdGlvbl9vYmplY3RzXyA9ICZpbl9jb25zdHJ1 Y3Rpb25fb2JqZWN0c19zdGFja187Ci0tICAgIGhlYXBfLnN0YWNrKCktPkl0ZXJhdGVQb2ludGVy cyh0aGlzKTsKLSsgICAgaGVhcF8uc3RhY2soKS0+SXRlcmF0ZVBvaW50ZXJzVW5zYWZlKHRoaXMs IHN0YWNrX2VuZCk7Ci0gICAgIC8vIFRoZSBvYmplY3RzIGZvdW5kIHRocm91Z2ggdGhlIHVuc2Fm ZSBpdGVyYXRpb24gYXJlIG9ubHkgYSBzdWJzZXQgb2YgdGhlCi0gICAgIC8vIHJlZ3VsYXIgaXRl cmF0aW9uIGFzIHRoZXkgbWlzcyBvYmplY3RzIGhlbGQgYWxpdmUgb25seSBmcm9tIGNhbGxlZS1z YXZlZAotICAgICAvLyByZWdpc3RlcnMgdGhhdCBhcmUgbmV2ZXIgcHVzaGVkIG9uIHRoZSBzdGFj ayBhbmQgU2FmZVN0YWNrLgotZGlmZiAtLWdpdCBhL3NyYy9oZWFwL2NwcGdjL21hcmtpbmctdmVy aWZpZXIuaCBiL3NyYy9oZWFwL2NwcGdjL21hcmtpbmctdmVyaWZpZXIuaAotaW5kZXggNTEzMmIz YS4uNTEzNmYyOSAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9oZWFwL2NwcGdjL21hcmtpbmctdmVyaWZp ZXIuaAotKysrIGIvdjgvc3JjL2hlYXAvY3BwZ2MvbWFya2luZy12ZXJpZmllci5oCi1AQCAtNDEs NyArNDEsNyBAQAotICAgTWFya2luZ1ZlcmlmaWVyQmFzZShjb25zdCBNYXJraW5nVmVyaWZpZXJC YXNlJikgPSBkZWxldGU7Ci0gICBNYXJraW5nVmVyaWZpZXJCYXNlJiBvcGVyYXRvcj0oY29uc3Qg TWFya2luZ1ZlcmlmaWVyQmFzZSYpID0gZGVsZXRlOwotIAotLSAgdm9pZCBSdW4oU3RhY2tTdGF0 ZSwgdjg6OmJhc2U6Ok9wdGlvbmFsPHNpemVfdD4pOwotKyAgdm9pZCBSdW4oU3RhY2tTdGF0ZSwg Y29uc3Qgdm9pZCosIHY4OjpiYXNlOjpPcHRpb25hbDxzaXplX3Q+KTsKLSAKLSAgcHJvdGVjdGVk OgotICAgTWFya2luZ1ZlcmlmaWVyQmFzZShIZWFwQmFzZSYsIENvbGxlY3Rpb25UeXBlLCBWZXJp ZmljYXRpb25TdGF0ZSYsCi1kaWZmIC0tZ2l0IGEvc3JjL2hlYXAvaGVhcC5jYyBiL3NyYy9oZWFw L2hlYXAuY2MKLWluZGV4IDQ5OTRhM2EuLmY0YjdkYTAgMTAwNjQ0Ci0tLS0gYS92OC9zcmMvaGVh cC9oZWFwLmNjCi0rKysgYi92OC9zcmMvaGVhcC9oZWFwLmNjCi1AQCAtMTY4NSw3ICsxNjg1LDIy IEBACi0gICAgIERldlRvb2xzVHJhY2VFdmVudFNjb3BlIGRldnRvb2xzX3RyYWNlX2V2ZW50X3Nj b3BlKAotICAgICAgICAgdGhpcywgSXNZb3VuZ0dlbmVyYXRpb25Db2xsZWN0b3IoY29sbGVjdG9y KSA/ICJNaW5vckdDIiA6ICJNYWpvckdDIiwKLSAgICAgICAgIEdhcmJhZ2VDb2xsZWN0aW9uUmVh c29uVG9TdHJpbmcoZ2NfcmVhc29uKSk7Ci0tICAgIFNhdmVTdGFja0NvbnRleHRTY29wZSBzdGFj a19jb250ZXh0X3Njb3BlKCZzdGFjaygpKTsKLSsKLSsgICAgaWYgKGNwcF9oZWFwKCkpIHsKLSsg ICAgICBpZiAoY29sbGVjdG9yID09IEdhcmJhZ2VDb2xsZWN0b3I6Ok1BUktfQ09NUEFDVE9SIHx8 Ci0rICAgICAgICAgIChjb2xsZWN0b3IgPT0gR2FyYmFnZUNvbGxlY3Rvcjo6TUlOT1JfTUFSS19D T01QQUNUT1IgJiYKLSsgICAgICAgICAgIENwcEhlYXA6OkZyb20oY3BwX2hlYXAoKSktPmdlbmVy YXRpb25hbF9nY19zdXBwb3J0ZWQoKSkpIHsKLSsgICAgICAgIC8vIENwcEhlYXAgbmVlZHMgYSBz dGFjayBtYXJrZXIgYXQgdGhlIHRvcCBvZiBhbGwgZW50cnkgcG9pbnRzIHRvIGFsbG93Ci0rICAg ICAgICAvLyBkZXRlcm1pbmlzdGljIHBhc3NlcyBvdmVyIHRoZSBzdGFjay4gRS5nLiwgYSB2ZXJp ZmllciB0aGF0IHNob3VsZAotKyAgICAgICAgLy8gb25seSBmaW5kIGEgc3Vic2V0IG9mIHJlZmVy ZW5jZXMgb2YgdGhlIG1hcmtlci4KLSsgICAgICAgIC8vCi0rICAgICAgICAvLyBUT0RPKGNocm9t aXVtOjEwNTYxNzApOiBDb25zaWRlciBhZGRpbmcgYSBjb21wb25lbnQgdGhhdCBrZWVwcyB0cmFj awotKyAgICAgICAgLy8gb2YgcmVsZXZhbnQgR0Mgc3RhY2sgcmVnaW9ucyB3aGVyZSBpbnRlcmVz dGluZyBwb2ludGVycyBjYW4gYmUgZm91bmQuCi0rICAgICAgICBzdGF0aWNfY2FzdDx2ODo6aW50 ZXJuYWw6OkNwcEhlYXAqPihjcHBfaGVhcCgpKQotKyAgICAgICAgICAgIC0+U2V0U3RhY2tFbmRP ZkN1cnJlbnRHQygKLSsgICAgICAgICAgICAgICAgdjg6OmJhc2U6OlN0YWNrOjpHZXRDdXJyZW50 U3RhY2tQb3NpdGlvbigpKTsKLSsgICAgICB9Ci0rICAgIH0KLSAKLSAgICAgR2FyYmFnZUNvbGxl Y3Rpb25Qcm9sb2d1ZShnY19yZWFzb24sIGdjX2NhbGxiYWNrX2ZsYWdzKTsKLSAgICAgewotQEAg LTIzOTYsOCArMjQxMSw2IEBACi0gICBEQ0hFQ0soaW5jcmVtZW50YWxfbWFya2luZ18tPklzU3Rv cHBlZCgpKTsKLSAgIERDSEVDS19OT1RfTlVMTChpc29sYXRlKCktPmdsb2JhbF9zYWZlcG9pbnQo KSk7Ci0gCi0tICBTYXZlU3RhY2tDb250ZXh0U2NvcGUgc3RhY2tfY29udGV4dF9zY29wZSgmc3Rh Y2soKSk7Ci0tCi0gICBpc29sYXRlKCktPmdsb2JhbF9zYWZlcG9pbnQoKS0+SXRlcmF0ZUNsaWVu dElzb2xhdGVzKFtdKElzb2xhdGUqIGNsaWVudCkgewotICAgICBjbGllbnQtPmhlYXAoKS0+RnJl ZVNoYXJlZExpbmVhckFsbG9jYXRpb25BcmVhcygpOwotIAotQEAgLTU4MDksNyArNTgyMiwxMiBA QAotIH0KLSAKLSB2b2lkIEhlYXA6OlNldFN0YWNrU3RhcnQodm9pZCogc3RhY2tfc3RhcnQpIHsK LS0gIHN0YWNrKCkuU2V0U3RhY2tTdGFydChzdGFja19zdGFydCk7Ci0rI2lmIFY4X0VOQUJMRV9X RUJBU1NFTUJMWQotKyAgc3RhY2soKS5TZXRTdGFja1N0YXJ0KHN0YWNrX3N0YXJ0LAotKyAgICAg ICAgICAgICAgICAgICAgICAgIHY4X2ZsYWdzLmV4cGVyaW1lbnRhbF93YXNtX3N0YWNrX3N3aXRj aGluZyk7Ci0rI2Vsc2UKLSsgIHN0YWNrKCkuU2V0U3RhY2tTdGFydChzdGFja19zdGFydCwgZmFs c2UpOwotKyNlbmRpZiAgLy8gVjhfRU5BQkxFX1dFQkFTU0VNQkxZCi0gfQotIAotIDo6aGVhcDo6 YmFzZTo6U3RhY2smIEhlYXA6OnN0YWNrKCkgewotQEAgLTYzOTEsOCArNjQwOSw3IEBACi0gICAg ICAgZmlsdGVyaW5nXyhmaWx0ZXJpbmcpLAotICAgICAgIGZpbHRlcl8obnVsbHB0ciksCi0gICAg ICAgc3BhY2VfaXRlcmF0b3JfKG51bGxwdHIpLAotLSAgICAgIG9iamVjdF9pdGVyYXRvcl8obnVs bHB0ciksCi0tICAgICAgc3RhY2tfY29udGV4dF9zY29wZV8oJmhlYXAtPnN0YWNrKCkpIHsKLSsg ICAgICBvYmplY3RfaXRlcmF0b3JfKG51bGxwdHIpIHsKLSAgIGhlYXBfLT5NYWtlSGVhcEl0ZXJh YmxlKCk7Ci0gICAvLyBTdGFydCB0aGUgaXRlcmF0aW9uLgotICAgc3BhY2VfaXRlcmF0b3JfID0g bmV3IFNwYWNlSXRlcmF0b3IoaGVhcF8pOwotQEAgLTczNzEsMjggKzczODgsNSBAQAotIENwcENs YXNzTmFtZXNBc0hlYXBPYmplY3ROYW1lU2NvcGU6On5DcHBDbGFzc05hbWVzQXNIZWFwT2JqZWN0 TmFtZVNjb3BlKCkgPQotICAgICBkZWZhdWx0OwotIAotLVNhdmVTdGFja0NvbnRleHRTY29wZTo6 U2F2ZVN0YWNrQ29udGV4dFNjb3BlKDo6aGVhcDo6YmFzZTo6U3RhY2sqIHN0YWNrKQotLSAgICA6 IHN0YWNrXyhzdGFjaykgewotLSNpZiBWOF9FTkFCTEVfV0VCQVNTRU1CTFkKLS0gIC8vIFRPRE8o djg6MTM0OTMpOiBEbyBub3QgY2hlY2sgdGhlIHN0YWNrIGNvbnRleHQgaW52YXJpYW50IGlmIFdB U00gc3RhY2sKLS0gIC8vIHN3aXRjaGluZyBpcyBlbmFibGVkLiBUaGlzIHdpbGwgYmUgcmVtb3Zl ZCBhcyBzb29uIGFzIGNvbnRleHQgc2F2aW5nCi0tICAvLyBiZWNvbWVzIGNvbXBhdGlibGUgd2l0 aCBzdGFjayBzd2l0Y2hpbmcuCi0tICBzdGFja18tPlNhdmVDb250ZXh0KCF2OF9mbGFncy5leHBl cmltZW50YWxfd2FzbV9zdGFja19zd2l0Y2hpbmcpOwotLSNlbHNlCi0tICBzdGFja18tPlNhdmVD b250ZXh0KCk7Ci0tI2VuZGlmICAvLyBWOF9FTkFCTEVfV0VCQVNTRU1CTFkKLS19Ci0tCi0tU2F2 ZVN0YWNrQ29udGV4dFNjb3BlOjp+U2F2ZVN0YWNrQ29udGV4dFNjb3BlKCkgewotLSNpZiBWOF9F TkFCTEVfV0VCQVNTRU1CTFkKLS0gIC8vIFRPRE8odjg6MTM0OTMpOiBEbyBub3QgY2hlY2sgdGhl IHN0YWNrIGNvbnRleHQgaW52YXJpYW50IGlmIFdBU00gc3RhY2sKLS0gIC8vIHN3aXRjaGluZyBp cyBlbmFibGVkLiBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIGNvbnRleHQgc2F2aW5n Ci0tICAvLyBiZWNvbWVzIGNvbXBhdGlibGUgd2l0aCBzdGFjayBzd2l0Y2hpbmcuCi0tICBzdGFj a18tPkNsZWFyQ29udGV4dCghdjhfZmxhZ3MuZXhwZXJpbWVudGFsX3dhc21fc3RhY2tfc3dpdGNo aW5nKTsKLS0jZWxzZQotLSAgc3RhY2tfLT5DbGVhckNvbnRleHQoKTsKLS0jZW5kaWYgIC8vIFY4 X0VOQUJMRV9XRUJBU1NFTUJMWQotLX0KLS0KLSB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKLSB9 ICAvLyBuYW1lc3BhY2UgdjgKLWRpZmYgLS1naXQgYS9zcmMvaGVhcC9oZWFwLmggYi9zcmMvaGVh cC9oZWFwLmgKLWluZGV4IGM5M2Q4OWMuLmJjNTY1Y2EgMTAwNjQ0Ci0tLS0gYS92OC9zcmMvaGVh cC9oZWFwLmgKLSsrKyBiL3Y4L3NyYy9oZWFwL2hlYXAuaAotQEAgLTI2MzMsMTcgKzI2MzMsNiBA QAotICAgSGVhcCogaGVhcF87Ci0gfTsKLSAKLS0vLyBUT0RPKHY4OjEzNDkzKTogVGhpcyBjbGFz cyB3aWxsIG1vdmUgdG8gc3JjL2hlYXAvYmFzZS9zdGFjay5oIG9uY2UgaXRzCi0tLy8gaW1wbGVt ZW50YXRpb24gbm8gbG9uZ2VyIG5lZWRzIGFjY2VzcyB0byBWOCBmbGFncy4KLS1jbGFzcyBWOF9F WFBPUlRfUFJJVkFURSBWOF9OT0RJU0NBUkQgU2F2ZVN0YWNrQ29udGV4dFNjb3BlIHsKLS0gcHVi bGljOgotLSAgZXhwbGljaXQgU2F2ZVN0YWNrQ29udGV4dFNjb3BlKDo6aGVhcDo6YmFzZTo6U3Rh Y2sqIHN0YWNrKTsKLS0gIH5TYXZlU3RhY2tDb250ZXh0U2NvcGUoKTsKLS0KLS0gcHJvdGVjdGVk OgotLSAgOjpoZWFwOjpiYXNlOjpTdGFjayogc3RhY2tfOwotLX07Ci0tCi0gY2xhc3MgVjhfTk9E SVNDQVJEIERpc2FibGVDb25zZXJ2YXRpdmVTdGFja1NjYW5uaW5nU2NvcGVGb3JUZXN0aW5nIHsK LSAgcHVibGljOgotICAgZXhwbGljaXQgaW5saW5lIERpc2FibGVDb25zZXJ2YXRpdmVTdGFja1Nj YW5uaW5nU2NvcGVGb3JUZXN0aW5nKEhlYXAqIGhlYXApCi1AQCAtMjY5NSw3ICsyNjg0LDYgQEAK LSAgIFNwYWNlSXRlcmF0b3IqIHNwYWNlX2l0ZXJhdG9yXzsKLSAgIC8vIE9iamVjdCBpdGVyYXRv ciBmb3IgdGhlIHNwYWNlIGN1cnJlbnRseSBiZWluZyBpdGVyYXRlZC4KLSAgIHN0ZDo6dW5pcXVl X3B0cjxPYmplY3RJdGVyYXRvcj4gb2JqZWN0X2l0ZXJhdG9yXzsKLS0gIFNhdmVTdGFja0NvbnRl eHRTY29wZSBzdGFja19jb250ZXh0X3Njb3BlXzsKLSAKLSAgIERJU0FMTE9XX0dBUkJBR0VfQ09M TEVDVElPTihub19oZWFwX2FsbG9jYXRpb25fKQotIH07Ci1kaWZmIC0tZ2l0IGEvc3JjL3Byb2Zp bGVyL2hlYXAtc25hcHNob3QtZ2VuZXJhdG9yLmNjIGIvc3JjL3Byb2ZpbGVyL2hlYXAtc25hcHNo b3QtZ2VuZXJhdG9yLmNjCi1pbmRleCBlMDc2NDE4Li5mMGIzMDU4IDEwMDY0NAotLS0tIGEvdjgv c3JjL3Byb2ZpbGVyL2hlYXAtc25hcHNob3QtZ2VuZXJhdG9yLmNjCi0rKysgYi92OC9zcmMvcHJv ZmlsZXIvaGVhcC1zbmFwc2hvdC1nZW5lcmF0b3IuY2MKLUBAIC0yMDU1LDE2ICsyMDU1LDE0IEBA Ci0gICAvLyBpdHMgY3VzdG9tIG5hbWUgdG8gYSBnZW5lcmljIGJ1aWx0aW4uCi0gICBSb290c1Jl ZmVyZW5jZXNFeHRyYWN0b3IgZXh0cmFjdG9yKHRoaXMpOwotICAgUmVhZE9ubHlSb290cyhoZWFw XykuSXRlcmF0ZSgmZXh0cmFjdG9yKTsKLS0gIHsKLS0gICAgU2F2ZVN0YWNrQ29udGV4dFNjb3Bl IHNjb3BlKCZoZWFwXy0+c3RhY2soKSk7Ci0tICAgIGhlYXBfLT5JdGVyYXRlUm9vdHMoJmV4dHJh Y3RvciwgYmFzZTo6RW51bVNldDxTa2lwUm9vdD57U2tpcFJvb3Q6OmtXZWFrfSk7Ci0tICAgIC8v IFRPRE8odjg6MTE4MDApOiBUaGUgaGVhcCBzbmFwc2hvdCBnZW5lcmF0b3IgaW5jb3JyZWN0bHkg Y29uc2lkZXJzIHRoZQotLSAgICAvLyB3ZWFrIHN0cmluZyB0YWJsZXMgYXMgc3Ryb25nIHJldGFp bmVycy4gTW92ZSBJdGVyYXRlV2Vha1Jvb3RzIGFmdGVyCi0tICAgIC8vIFNldFZpc2l0aW5nV2Vh a1Jvb3RzLgotLSAgICBoZWFwXy0+SXRlcmF0ZVdlYWtSb290cygmZXh0cmFjdG9yLCB7fSk7Ci0t ICAgIGV4dHJhY3Rvci5TZXRWaXNpdGluZ1dlYWtSb290cygpOwotLSAgICBoZWFwXy0+SXRlcmF0 ZVdlYWtHbG9iYWxIYW5kbGVzKCZleHRyYWN0b3IpOwotLSAgfQotKyAgaGVhcF8tPkl0ZXJhdGVS b290cygmZXh0cmFjdG9yLCBiYXNlOjpFbnVtU2V0PFNraXBSb290PntTa2lwUm9vdDo6a1dlYWt9 KTsKLSsgIC8vIFRPRE8odjg6MTE4MDApOiBUaGUgaGVhcCBzbmFwc2hvdCBnZW5lcmF0b3IgaW5j b3JyZWN0bHkgY29uc2lkZXJzIHRoZSB3ZWFrCi0rICAvLyBzdHJpbmcgdGFibGVzIGFzIHN0cm9u ZyByZXRhaW5lcnMuIE1vdmUgSXRlcmF0ZVdlYWtSb290cyBhZnRlcgotKyAgLy8gU2V0VmlzaXRp bmdXZWFrUm9vdHMuCi0rICBoZWFwXy0+SXRlcmF0ZVdlYWtSb290cygmZXh0cmFjdG9yLCB7fSk7 Ci0rICBleHRyYWN0b3IuU2V0VmlzaXRpbmdXZWFrUm9vdHMoKTsKLSsgIGhlYXBfLT5JdGVyYXRl V2Vha0dsb2JhbEhhbmRsZXMoJmV4dHJhY3Rvcik7Ci0rCi0gICBib29sIGludGVycnVwdGVkID0g ZmFsc2U7Ci0gCi0gICBDb21iaW5lZEhlYXBPYmplY3RJdGVyYXRvciBpdGVyYXRvcihoZWFwXywK CmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTEtdjgtc3RkLWxheW91dDIucGF0Y2ggYi9jaHJvbWl1 bS0xMTEtdjgtc3RkLWxheW91dDIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGRiOTgzYWYuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0tMTExLXY4LXN0ZC1sYXlvdXQyLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLUZyb20gOTE2NjQxYzA4ZGU0NGUwYTkx NWRmMjIzZDU1NzgxYzZjOTEyNzE3YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE5p a29sYW9zIFBhcGFzcHlyb3UgPG5pa29sYW9zQGNocm9taXVtLm9yZz4KLURhdGU6IFRodSwgMTkg SmFuIDIwMjMgMTM6NDM6MTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gW2hlYXBdIE1vdmUgdGhl IFN0YWNrIG9iamVjdCBmcm9tIFRocmVhZExvY2FsVG9wIHRvIElzb2xhdGUKLQotU3RhY2sgaW5m b3JtYXRpb24gaXMgdGhyZWFkLXNwZWNpZmljIGFuZCwgdW50aWwgbm93LCBpdCB3YXMgc3RvcmVk IGluIGEKLWZpZWxkIGluIFRocmVhZExvY2FsVG9wLiBUaGlzIENMIG1vdmVzIHN0YWNrIGluZm9y bWF0aW9uIHRvIHRoZSBpc29sYXRlCi1hbmQgbWFrZXMgc3VyZSB0byB1cGRhdGUgdGhlIHN0YWNr IHN0YXJ0IHdoZW5ldmVyIGEgbWFpbiB0aHJlYWQgZW50ZXJzCi10aGUgaXNvbGF0ZS4gQXQgdGhl IHNhbWUgdGltZSwgdGhlIFN0YWNrIG9iamVjdCBpcyByZWZhY3RvcmVkIGFuZAotc2ltcGxpZmll ZC4KLQotQXMgYSBzaWRlIGVmZmVjdCwgYWZ0ZXIgcmVtb3ZpbmcgdGhlIFN0YWNrIG9iamVjdCwg VGhyZWFkTG9jYWxUb3AKLXNhdGlzZmllcyB0aGUgc3RkOjpzdGFuZGFyZF9sYXlvdXQgdHJhaXQ7 IHRoaXMgZml4ZXMgc29tZSBpc3N1ZXMKLW9ic2VydmVkIHdpdGggZGlmZmVyZW50IEMrKyBjb21w aWxlcnMuCi0KLUJ1Zzogdjg6MTM2MzAKLUJ1Zzogdjg6MTMyNTcKLUNoYW5nZS1JZDogSTAyNmEz NWFmM2JjNjk5OWEwOWIyMWYyNzc3NTZkNDQ1NGMwODYzNDMKLQotKHN0cmlwcGVkIHRlc3RzKQot LS0tCi0KLWRpZmYgLS1naXQgYS9zcmMvZXhlY3V0aW9uL2lzb2xhdGUuY2MgYi9zcmMvZXhlY3V0 aW9uL2lzb2xhdGUuY2MKLWluZGV4IDMxNTM2YTEuLjIyYjg0OTIgMTAwNjQ0Ci0tLS0gYS92OC9z cmMvZXhlY3V0aW9uL2lzb2xhdGUuY2MKLSsrKyBiL3Y4L3NyYy9leGVjdXRpb24vaXNvbGF0ZS5j YwotQEAgLTMwNjksMjEgKzMwNjksMjMgQEAKLSB2b2lkIElzb2xhdGU6OlJlY29yZFN0YWNrU3dp dGNoRm9yU2Nhbm5pbmcoKSB7Ci0gICBPYmplY3QgY3VycmVudCA9IHJvb3QoUm9vdEluZGV4Ojpr QWN0aXZlQ29udGludWF0aW9uKTsKLSAgIERDSEVDSyghY3VycmVudC5Jc1VuZGVmaW5lZCgpKTsK LS0gIHRocmVhZF9sb2NhbF90b3AoKS0+c3RhY2tfLkNsZWFyU3RhY2tTZWdtZW50cygpOwotLSAg d2FzbTo6U3RhY2tNZW1vcnkqIHN0YWNrID0gTWFuYWdlZDx3YXNtOjpTdGFja01lbW9yeT46OmNh c3QoCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2FzbUNvbnRpbnVhdGlvbk9i amVjdDo6Y2FzdChjdXJyZW50KS5zdGFjaygpKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC5nZXQoKQotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXQoKTsK LSsgIHN0YWNrKCkuQ2xlYXJTdGFja1NlZ21lbnRzKCk7Ci0rICB3YXNtOjpTdGFja01lbW9yeSog d2FzbV9zdGFjayA9Ci0rICAgICAgTWFuYWdlZDx3YXNtOjpTdGFja01lbW9yeT46OmNhc3QoCi0r ICAgICAgICAgIFdhc21Db250aW51YXRpb25PYmplY3Q6OmNhc3QoY3VycmVudCkuc3RhY2soKSkK LSsgICAgICAgICAgLmdldCgpCi0rICAgICAgICAgIC5nZXQoKTsKLSAgIGN1cnJlbnQgPSBXYXNt Q29udGludWF0aW9uT2JqZWN0OjpjYXN0KGN1cnJlbnQpLnBhcmVudCgpOwotLSAgaGVhcCgpLT5T ZXRTdGFja1N0YXJ0KHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHN0YWNrLT5iYXNlKCkpKTsKLSsg IGhlYXAoKS0+U2V0U3RhY2tTdGFydChyZWludGVycHJldF9jYXN0PHZvaWQqPih3YXNtX3N0YWNr LT5iYXNlKCkpKTsKLSAgIC8vIFdlIGRvbid0IG5lZWQgdG8gYWRkIGFsbCBpbmFjdGl2ZSBzdGFj a3MuIE9ubHkgdGhlIG9uZXMgaW4gdGhlIGFjdGl2ZSBjaGFpbgotICAgLy8gbWF5IGNvbnRhaW4g Y3BwIGhlYXAgcG9pbnRlcnMuCi0gICB3aGlsZSAoIWN1cnJlbnQuSXNVbmRlZmluZWQoKSkgewot ICAgICBhdXRvIGNvbnQgPSBXYXNtQ29udGludWF0aW9uT2JqZWN0OjpjYXN0KGN1cnJlbnQpOwot LSAgICBhdXRvKiBzdGFjayA9IE1hbmFnZWQ8d2FzbTo6U3RhY2tNZW1vcnk+OjpjYXN0KGNvbnQu c3RhY2soKSkuZ2V0KCkuZ2V0KCk7Ci0tICAgIHRocmVhZF9sb2NhbF90b3AoKS0+c3RhY2tfLkFk ZFN0YWNrU2VnbWVudCgKLS0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgdm9pZCo+KHN0 YWNrLT5iYXNlKCkpLAotLSAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB2b2lkKj4oc3Rh Y2stPmptcGJ1ZigpLT5zcCkpOwotKyAgICBhdXRvKiB3YXNtX3N0YWNrID0KLSsgICAgICAgIE1h bmFnZWQ8d2FzbTo6U3RhY2tNZW1vcnk+OjpjYXN0KGNvbnQuc3RhY2soKSkuZ2V0KCkuZ2V0KCk7 Ci0rICAgIHN0YWNrKCkuQWRkU3RhY2tTZWdtZW50KAotKyAgICAgICAgcmVpbnRlcnByZXRfY2Fz dDxjb25zdCB2b2lkKj4od2FzbV9zdGFjay0+YmFzZSgpKSwKLSsgICAgICAgIHJlaW50ZXJwcmV0 X2Nhc3Q8Y29uc3Qgdm9pZCo+KHdhc21fc3RhY2stPmptcGJ1ZigpLT5zcCkpOwotICAgICBjdXJy ZW50ID0gY29udC5wYXJlbnQoKTsKLSAgIH0KLSB9Ci1AQCAtMzM3MSwyMyArMzM3MywxMyBAQAot ICAgSXNvbGF0ZSogc2F2ZWRfaXNvbGF0ZSA9IGlzb2xhdGUtPlRyeUdldEN1cnJlbnQoKTsKLSAg IFNldElzb2xhdGVUaHJlYWRMb2NhbHMoaXNvbGF0ZSwgbnVsbHB0cik7Ci0gICBpc29sYXRlLT5z ZXRfdGhyZWFkX2lkKFRocmVhZElkOjpDdXJyZW50KCkpOwotLSAgaWYgKHNhdmVkX2lzb2xhdGUp IHsKLS0gICAgaXNvbGF0ZS0+dGhyZWFkX2xvY2FsX3RvcCgpLT5zdGFja18gPQotLSAgICAgICAg c3RkOjptb3ZlKHNhdmVkX2lzb2xhdGUtPnRocmVhZF9sb2NhbF90b3AoKS0+c3RhY2tfKTsKLS0g IH0gZWxzZSB7Ci0tICAgIGlzb2xhdGUtPmhlYXAoKS0+U2V0U3RhY2tTdGFydChiYXNlOjpTdGFj azo6R2V0U3RhY2tTdGFydCgpKTsKLS0gIH0KLSsgIGlzb2xhdGUtPmhlYXAoKS0+U2V0U3RhY2tT dGFydChiYXNlOjpTdGFjazo6R2V0U3RhY2tTdGFydCgpKTsKLSAKLSAgIGJvb2wgb3duc19zaGFy ZWRfaXNvbGF0ZSA9IGlzb2xhdGUtPm93bnNfc2hhcmVkX2lzb2xhdGVfOwotICAgSXNvbGF0ZSog bWF5YmVfc2hhcmVkX2lzb2xhdGUgPSBpc29sYXRlLT5zaGFyZWRfaXNvbGF0ZV87Ci0gCi0gICBp c29sYXRlLT5EZWluaXQoKTsKLSAKLS0gIC8vIFJlc3RvcmUgdGhlIHNhdmVkIGlzb2xhdGUncyBz dGFjay4KLS0gIGlmIChzYXZlZF9pc29sYXRlKQotLSAgICBzYXZlZF9pc29sYXRlLT50aHJlYWRf bG9jYWxfdG9wKCktPnN0YWNrXyA9Ci0tICAgICAgICBzdGQ6Om1vdmUoaXNvbGF0ZS0+dGhyZWFk X2xvY2FsX3RvcCgpLT5zdGFja18pOwotLQotICNpZmRlZiBERUJVRwotICAgbm9uX2Rpc3Bvc2Vk X2lzb2xhdGVzXy0tOwotICNlbmRpZiAgLy8gREVCVUcKLUBAIC00NjUyLDYgKzQ2NDQsMTAgQEAK LSB2b2lkIElzb2xhdGU6OkVudGVyKCkgewotICAgSXNvbGF0ZSogY3VycmVudF9pc29sYXRlID0g bnVsbHB0cjsKLSAgIFBlcklzb2xhdGVUaHJlYWREYXRhKiBjdXJyZW50X2RhdGEgPSBDdXJyZW50 UGVySXNvbGF0ZVRocmVhZERhdGEoKTsKLSsKLSsgIC8vIFNldCB0aGUgc3RhY2sgc3RhcnQgZm9y IHRoZSBtYWluIHRocmVhZCB0aGF0IGVudGVycyB0aGUgaXNvbGF0ZS4KLSsgIGhlYXAoKS0+U2V0 U3RhY2tTdGFydChiYXNlOjpTdGFjazo6R2V0U3RhY2tTdGFydCgpKTsKLSsKLSAgIGlmIChjdXJy ZW50X2RhdGEgIT0gbnVsbHB0cikgewotICAgICBjdXJyZW50X2lzb2xhdGUgPSBjdXJyZW50X2Rh dGEtPmlzb2xhdGVfOwotICAgICBEQ0hFQ0tfTk9UX05VTEwoY3VycmVudF9pc29sYXRlKTsKLWRp ZmYgLS1naXQgYS9zcmMvZXhlY3V0aW9uL2lzb2xhdGUuaCBiL3NyYy9leGVjdXRpb24vaXNvbGF0 ZS5oCi1pbmRleCBhZmMzZDBiLi40MTVlNDc2IDEwMDY0NAotLS0tIGEvdjgvc3JjL2V4ZWN1dGlv bi9pc29sYXRlLmgKLSsrKyBiL3Y4L3NyYy9leGVjdXRpb24vaXNvbGF0ZS5oCi1AQCAtMzIsNiAr MzIsNyBAQAotICNpbmNsdWRlICJzcmMvZXhlY3V0aW9uL3N0YWNrLWd1YXJkLmgiCi0gI2luY2x1 ZGUgInNyYy9oYW5kbGVzL2hhbmRsZXMuaCIKLSAjaW5jbHVkZSAic3JjL2hhbmRsZXMvdHJhY2Vk LWhhbmRsZXMuaCIKLSsjaW5jbHVkZSAic3JjL2hlYXAvYmFzZS9zdGFjay5oIgotICNpbmNsdWRl ICJzcmMvaGVhcC9mYWN0b3J5LmgiCi0gI2luY2x1ZGUgInNyYy9oZWFwL2hlYXAuaCIKLSAjaW5j bHVkZSAic3JjL2hlYXAvcmVhZC1vbmx5LWhlYXAuaCIKLUBAIC0yMDI4LDYgKzIwMjksOCBAQAot ICAgU2ltdWxhdG9yRGF0YSogc2ltdWxhdG9yX2RhdGEoKSB7IHJldHVybiBzaW11bGF0b3JfZGF0 YV87IH0KLSAjZW5kaWYKLSAKLSsgIDo6aGVhcDo6YmFzZTo6U3RhY2smIHN0YWNrKCkgeyByZXR1 cm4gc3RhY2tfOyB9Ci0rCi0gI2lmZGVmIFY4X0VOQUJMRV9XRUJBU1NFTUJMWQotICAgd2FzbTo6 U3RhY2tNZW1vcnkqJiB3YXNtX3N0YWNrcygpIHsgcmV0dXJuIHdhc21fc3RhY2tzXzsgfQotICAg Ly8gVXBkYXRlIHRoZSB0aHJlYWQgbG9jYWwncyBTdGFjayBvYmplY3Qgc28gdGhhdCBpdCBpcyBh d2FyZSBvZiB0aGUgbmV3IHN0YWNrCi1AQCAtMjUyNiw2ICsyNTI5LDkgQEAKLSAgIC8vIFRoZSBt dXRleCBvbmx5IGd1YXJkcyBhZGRpbmcgcGFnZXMsIHRoZSByZXRyaWV2YWwgaXMgc2lnbmFsIHNh ZmUuCi0gICBiYXNlOjpNdXRleCBjb2RlX3BhZ2VzX211dGV4XzsKLSAKLSsgIC8vIFN0YWNrIGlu Zm9ybWF0aW9uIGZvciB0aGUgbWFpbiB0aHJlYWQuCi0rICA6OmhlYXA6OmJhc2U6OlN0YWNrIHN0 YWNrXzsKLSsKLSAjaWZkZWYgVjhfRU5BQkxFX1dFQkFTU0VNQkxZCi0gICB3YXNtOjpTdGFja01l bW9yeSogd2FzbV9zdGFja3NfOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NyYy9leGVjdXRpb24v dGhyZWFkLWxvY2FsLXRvcC5jYyBiL3NyYy9leGVjdXRpb24vdGhyZWFkLWxvY2FsLXRvcC5jYwot aW5kZXggYzExNWFlMC4uMDVjYzIwYiAxMDA2NDQKLS0tLSBhL3Y4L3NyYy9leGVjdXRpb24vdGhy ZWFkLWxvY2FsLXRvcC5jYwotKysrIGIvdjgvc3JjL2V4ZWN1dGlvbi90aHJlYWQtbG9jYWwtdG9w LmNjCi1AQCAtMzcsNyArMzcsNiBAQAotICAgY3VycmVudF9lbWJlZGRlcl9zdGF0ZV8gPSBudWxs cHRyOwotICAgZmFpbGVkX2FjY2Vzc19jaGVja19jYWxsYmFja18gPSBudWxscHRyOwotICAgdGhy ZWFkX2luX3dhc21fZmxhZ19hZGRyZXNzXyA9IGtOdWxsQWRkcmVzczsKLS0gIHN0YWNrXyA9IDo6 aGVhcDo6YmFzZTo6U3RhY2soKTsKLSB9Ci0gCi0gdm9pZCBUaHJlYWRMb2NhbFRvcDo6SW5pdGlh bGl6ZShJc29sYXRlKiBpc29sYXRlKSB7Ci1AQCAtNDUsMTIgKzQ0LDggQEAKLSAgIGlzb2xhdGVf ID0gaXNvbGF0ZTsKLSAgIHRocmVhZF9pZF8gPSBUaHJlYWRJZDo6Q3VycmVudCgpOwotICNpZiBW OF9FTkFCTEVfV0VCQVNTRU1CTFkKLS0gIHN0YWNrXy5TZXRTdGFja1N0YXJ0KGJhc2U6OlN0YWNr OjpHZXRTdGFja1N0YXJ0KCksCi0tICAgICAgICAgICAgICAgICAgICAgICB2OF9mbGFncy5leHBl cmltZW50YWxfd2FzbV9zdGFja19zd2l0Y2hpbmcpOwotICAgdGhyZWFkX2luX3dhc21fZmxhZ19h ZGRyZXNzXyA9IHJlaW50ZXJwcmV0X2Nhc3Q8QWRkcmVzcz4oCi0gICAgICAgdHJhcF9oYW5kbGVy OjpHZXRUaHJlYWRJbldhc21UaHJlYWRMb2NhbEFkZHJlc3MoKSk7Ci0tI2Vsc2UKLS0gIHN0YWNr Xy5TZXRTdGFja1N0YXJ0KGJhc2U6OlN0YWNrOjpHZXRTdGFja1N0YXJ0KCksIGZhbHNlKTsKLSAj ZW5kaWYgIC8vIFY4X0VOQUJMRV9XRUJBU1NFTUJMWQotICNpZmRlZiBVU0VfU0lNVUxBVE9SCi0g ICBzaW11bGF0b3JfID0gU2ltdWxhdG9yOjpjdXJyZW50KGlzb2xhdGUpOwotZGlmZiAtLWdpdCBh L3NyYy9leGVjdXRpb24vdGhyZWFkLWxvY2FsLXRvcC5oIGIvc3JjL2V4ZWN1dGlvbi90aHJlYWQt bG9jYWwtdG9wLmgKLWluZGV4IDQzZmVjMGEuLjk4OWM4MTcgMTAwNjQ0Ci0tLS0gYS92OC9zcmMv ZXhlY3V0aW9uL3RocmVhZC1sb2NhbC10b3AuaAotKysrIGIvdjgvc3JjL2V4ZWN1dGlvbi90aHJl YWQtbG9jYWwtdG9wLmgKLUBAIC0xMCw3ICsxMCw2IEBACi0gI2luY2x1ZGUgImluY2x1ZGUvdjgt dW53aW5kZXIuaCIKLSAjaW5jbHVkZSAic3JjL2NvbW1vbi9nbG9iYWxzLmgiCi0gI2luY2x1ZGUg InNyYy9leGVjdXRpb24vdGhyZWFkLWlkLmgiCi0tI2luY2x1ZGUgInNyYy9oZWFwL2Jhc2Uvc3Rh Y2suaCIKLSAjaW5jbHVkZSAic3JjL29iamVjdHMvY29udGV4dHMuaCIKLSAjaW5jbHVkZSAic3Jj L3V0aWxzL3V0aWxzLmgiCi0gCi1AQCAtMzAsNyArMjksNyBAQAotICAgLy8gVE9ETyhhbGwpOiBU aGlzIGlzIG5vdCBwYXJ0aWN1bGFybHkgYmVhdXRpZnVsLiBXZSBzaG91bGQgcHJvYmFibHkKLSAg IC8vIHJlZmFjdG9yIHRoaXMgdG8gcmVhbGx5IGNvbnNpc3Qgb2YganVzdCBBZGRyZXNzZXMgYW5k IDMyLWJpdAotICAgLy8gaW50ZWdlciBmaWVsZHMuCi0tICBzdGF0aWMgY29uc3RleHByIHVpbnQz Ml90IGtTaXplSW5CeXRlcyA9IDMwICoga1N5c3RlbVBvaW50ZXJTaXplOwotKyAgc3RhdGljIGNv bnN0ZXhwciB1aW50MzJfdCBrU2l6ZUluQnl0ZXMgPSAyNSAqIGtTeXN0ZW1Qb2ludGVyU2l6ZTsK LSAKLSAgIC8vIERvZXMgZWFybHkgbG93LWxldmVsIGluaXRpYWxpemF0aW9uIHRoYXQgZG9lcyBu b3QgZGVwZW5kIG9uIHRoZQotICAgLy8gaXNvbGF0ZSBiZWluZyBwcmVzZW50LgotQEAgLTE0Nyw5 ICsxNDYsNiBAQAotIAotICAgLy8gQWRkcmVzcyBvZiB0aGUgdGhyZWFkLWxvY2FsICJ0aHJlYWQg aW4gd2FzbSIgZmxhZy4KLSAgIEFkZHJlc3MgdGhyZWFkX2luX3dhc21fZmxhZ19hZGRyZXNzXzsK LS0KLS0gIC8vIFN0YWNrIGluZm9ybWF0aW9uLgotLSAgOjpoZWFwOjpiYXNlOjpTdGFjayBzdGFj a187Ci0gfTsKLSAKLSB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKLWRpZmYgLS1naXQgYS9zcmMv aGVhcC9oZWFwLmNjIGIvc3JjL2hlYXAvaGVhcC5jYwotaW5kZXggZjRiN2RhMC4uNmVmZDQ4NiAx MDA2NDQKLS0tLSBhL3Y4L3NyYy9oZWFwL2hlYXAuY2MKLSsrKyBiL3Y4L3NyYy9oZWFwL2hlYXAu Y2MKLUBAIC01ODMwLDkgKzU4MzAsNyBAQAotICNlbmRpZiAgLy8gVjhfRU5BQkxFX1dFQkFTU0VN QkxZCi0gfQotIAotLTo6aGVhcDo6YmFzZTo6U3RhY2smIEhlYXA6OnN0YWNrKCkgewotLSAgcmV0 dXJuIGlzb2xhdGVfLT50aHJlYWRfbG9jYWxfdG9wKCktPnN0YWNrXzsKLS19Ci0rOjpoZWFwOjpi YXNlOjpTdGFjayYgSGVhcDo6c3RhY2soKSB7IHJldHVybiBpc29sYXRlXy0+c3RhY2soKTsgfQot IAotIHZvaWQgSGVhcDo6U3RhcnRUZWFyRG93bigpIHsKLSAgIC8vIEZpbmlzaCBhbnkgb25nb2lu ZyBzd2VlcGluZyB0byBhdm9pZCBzdHJheSBiYWNrZ3JvdW5kIHRhc2tzIHN0aWxsIGFjY2Vzc2lu ZwoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTk0LjAuNDYwNi43MS1JbmtEcm9wSG9zdC1jcmFzaC5w YXRjaCBiL2Nocm9taXVtLTk0LjAuNDYwNi43MS1JbmtEcm9wSG9zdC1jcmFzaC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVlMjc5NC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1 bS05NC4wLjQ2MDYuNzEtSW5rRHJvcEhvc3QtY3Jhc2gucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwyNCArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS05NC4wLjQ2MDYuNzEvdWkvdmlld3MvYW5p bWF0aW9uL2lua19kcm9wX2hvc3Rfdmlldy5oLklua0Ryb3BIb3N0LWNyYXNoIGNocm9taXVtLTk0 LjAuNDYwNi43MS91aS92aWV3cy9hbmltYXRpb24vaW5rX2Ryb3BfaG9zdF92aWV3LmgKLS0tLSBj aHJvbWl1bS05NC4wLjQ2MDYuNzEvdWkvdmlld3MvYW5pbWF0aW9uL2lua19kcm9wX2hvc3Rfdmll dy5oLklua0Ryb3BIb3N0LWNyYXNoCTIwMjEtMTAtMDUgMTY6MDQ6NDYuMzEzNTg2NTA5IC0wNDAw Ci0rKysgY2hyb21pdW0tOTQuMC40NjA2LjcxL3VpL3ZpZXdzL2FuaW1hdGlvbi9pbmtfZHJvcF9o b3N0X3ZpZXcuaAkyMDIxLTEwLTA1IDE2OjA1OjEyLjIxMzczMjU1OCAtMDQwMAotQEAgLTIyOCw2 ICsyMjgsMTEgQEAgY2xhc3MgVklFV1NfRVhQT1JUIElua0Ryb3BIb3N0IHsKLSAgIC8vIFVzZWQg dG8gb2JzZXJ2ZSBWaWV3IGFuZCBpbmZvcm0gdGhlIElua0Ryb3Agb2YgaG9zdC10cmFuc2Zvcm0g Y2hhbmdlcy4KLSAgIFZpZXdMYXllclRyYW5zZm9ybU9ic2VydmVyIGhvc3Rfdmlld190cmFuc2Zv cm1fb2JzZXJ2ZXJfOwotIAotKyAgLy8gRGVjbGFyZWQgYmVmb3JlIHxpbmtfZHJvcF98LCBiZWNh dXNlIElua0Ryb3BJbXBsIG1heSBjYWxsCi0rICAvLyBSZW1vdmVJbmtEcm9wTGF5ZXIgb24gcGFy dGx5IGRlc3RydWN0ZWQgSW5rRHJvcEhvc3QuIEluCi0rICAvLyB0aGF0IGNhc2UgfGlua19kcm9w X21hc2tffCBtdXN0IGJlIHN0aWxsIHZhbGlkLgotKyAgc3RkOjp1bmlxdWVfcHRyPHZpZXdzOjpJ bmtEcm9wTWFzaz4gaW5rX2Ryb3BfbWFza187Ci0rCi0gICAvLyBTaG91bGQgbm90IGJlIGFjY2Vz c2VkIGRpcmVjdGx5LiBVc2UgR2V0SW5rRHJvcCgpIGluc3RlYWQuCi0gICBzdGQ6OnVuaXF1ZV9w dHI8SW5rRHJvcD4gaW5rX2Ryb3BfOwotIAotQEAgLTI0OSw4ICsyNTQsNiBAQCBjbGFzcyBWSUVX U19FWFBPUlQgSW5rRHJvcEhvc3QgewotICAgaW50IGlua19kcm9wX3NtYWxsX2Nvcm5lcl9yYWRp dXNfID0gMjsKLSAgIGludCBpbmtfZHJvcF9sYXJnZV9jb3JuZXJfcmFkaXVzXyA9IDQ7Ci0gCi0t ICBzdGQ6OnVuaXF1ZV9wdHI8dmlld3M6Oklua0Ryb3BNYXNrPiBpbmtfZHJvcF9tYXNrXzsKLS0K LSAgIGJhc2U6OlJlcGVhdGluZ0NhbGxiYWNrPHN0ZDo6dW5pcXVlX3B0cjxJbmtEcm9wPigpPiBj cmVhdGVfaW5rX2Ryb3BfY2FsbGJhY2tfOwotICAgYmFzZTo6UmVwZWF0aW5nQ2FsbGJhY2s8c3Rk Ojp1bmlxdWVfcHRyPElua0Ryb3BSaXBwbGU+KCk+Ci0gICAgICAgY3JlYXRlX2lua19kcm9wX3Jp cHBsZV9jYWxsYmFja187CgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tdjRsMi1maXgucGF0Y2ggYi9j aHJvbWl1bS12NGwyLWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWFl NzUzMC4uMDAwMDAwMAotLS0gYS9jaHJvbWl1bS12NGwyLWZpeC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDEzNyArMCwwIEBACi1jb21taXQgZTc3NWFjNDc3MGJiMWU1ZGZiZmUyMmM1YjU2NzUy ZWQ0YTIzMTdjNQotQXV0aG9yOiBIaXJva2F6dSBIb25kYSA8aGlyb2hAY2hyb21pdW0ub3JnPgot RGF0ZTogICBUdWUgSmFuIDE3IDE3OjU0OjAyIDIwMjMgKzAwMDAKLQotICAgIFJldmVydCAibWVk aWEvZ3B1L3Y0bDJWRUEsSVA6IFdvcmthcm91bmQgdG8gVVNFUlBUUiBBUEkgYWdhaW5zdCByZWFk LW9ubHkgYnVmIgotICAgIAotICAgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMjAzZmRkMDNhNDMxN2Yy ZWFjNTcxNjFlZTEwMTUxNWE4MmRmNzA0Zi4KLSAgICAKLSAgICBSZWFzb24gZm9yIHJldmVydDog VGhpcyB3b3JrYXJvdW5kIGlzIG5vIGxvbmdlciByZXF1aXJlZCBiZWNhdXNlIG9mCi0gICAgdGhl IGtlcm5lbCBwYXRjaCB3YXMgcmV2ZXJ0ZWQuCi0gICAgCi0gICAgT3JpZ2luYWwgY2hhbmdlJ3Mg ZGVzY3JpcHRpb246Ci0gICAgPiBtZWRpYS9ncHUvdjRsMlZFQSxJUDogV29ya2Fyb3VuZCB0byBV U0VSUFRSIEFQSSBhZ2FpbnN0IHJlYWQtb25seSBidWYKLSAgICA+Ci0gICAgPiBWaWRlb0ZyYW1l IGZlZCBpbiBWRUE6OkVuY29kZSgpIGlzIHJlYWQtb25seSBzaW5jZSBSMTA3IGlmIHRoZQotICAg ID4gVmlkZW9GcmFtZSBoYXMgYSBzaGFyZWQgbWVtb3J5LiBWNEwyVmlkZW9FbmNvZGVBY2NlbGVy YXRvciBmYWlscwotICAgID4gYmVjYXVzZSBWSURPQ19RQlVGIHdpdGggVVNFUlBUUiBidWZmZXIg ZmFpbHMgaWYgdGhlIHBvaW50ZXJzCi0gICAgPiByZWZlcmVuY2VzIGEgcmVhZC1vbmx5IGJ1ZmZl ci4KLSAgICA+IFRoZSBVU0VSUFRSIEFQSSBpc3N1ZSBpcyBhcHBhcmVudGx5IHRvIGJlIGZpeGVk IGJ5IGEga2VybmVsIHNpZGUuCi0gICAgPiBJbiB0aGUgbWVhbnRpbWUsIHRoaXMgQ0wgYWRkcyB0 aGUgd29ya2Fyb3VuZCB0byB0aGUgaXNzdWU7IHRoZSByZWFkCi0gICAgPiBvbmx5IGJ1ZmZlciBp cyBjb3BpZWQgdG8gYSB3cml0YWJsZSB0ZW1wb3JhcnkgYnVmZmVyIGV2ZXJ5IEVuY29kZQotICAg ID4gYmVmb3JlIFZJRElPQ19RQlVGLgotICAgID4gTm90IHRoYXQgVmlkZW9GcmFtZSBoYXMgYSBz aGFyZWQgbWVtb3J5IGluIHRoZSBjYXNlIG9mIHNjcmVlbiBzaGFyZQotICAgID4gYmVjYXVzZSBh IGNhbWVyYSBzdGFjayBwcm9kdWNlcyBHcHVNZW1vcnlCdWZmZXIuCi0gICAgPgotICAgID4gQnVn OiBiOjI0Mzg4MzMxMgotICAgID4gVGVzdDogdmlkZW9fZW5jb2RlX2FjY2VsZXJhdG9yX3Rlc3Rz IG9uIGVsbSwga2V2aW4gYW5kIHRyb2dkb3IKLSAgICA+IFRlc3Q6IHNjcmVlbiBzaGFyZSBpbiBH b29nbGUgTWVldCBvbiBlbG0sIGtldmluIGFuZCB0cm9nZG9yCi0gICAgPiBDaGFuZ2UtSWQ6IEk5 MjJkOThlYWY1MmY4MGQ5Y2Q2YzM3ODRhODU0NGJmZmIxMjMyODU2Ci0gICAgPiBSZXZpZXdlZC1v bjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3Ny Yy8rLzM4OTE0MjEKLSAgICA+IFJldmlld2VkLWJ5OiBOYXRoYW4gSGViZXJ0IDxuaGViZXJ0QGNo cm9taXVtLm9yZz4KLSAgICA+IENvbW1pdC1RdWV1ZTogSGlyb2thenUgSG9uZGEgPGhpcm9oQGNo cm9taXVtLm9yZz4KLSAgICA+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsj MTA0NjY1OX0KLSAgICAKLSAgICBCdWc6IGI6MjQzODgzMzEyLCBiOjI2MTY2MDIyNAotICAgIENo YW5nZS1JZDogSTZmZTM3Mjc2ZjJlYmU4Yzg3MzBjZmQzZGQ3NjZiMDQyNzdiMzJhNjcKLSAgICBS ZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2No cm9taXVtL3NyYy8rLzQwOTEyMDUKLSAgICBSZXZpZXdlZC1ieTogTmF0aGFuIEhlYmVydCA8bmhl YmVydEBjaHJvbWl1bS5vcmc+Ci0gICAgQ29tbWl0LVF1ZXVlOiBIaXJva2F6dSBIb25kYSA8aGly b2hAY2hyb21pdW0ub3JnPgotICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWlu QHsjMTA5MzM4OH0KLQotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92NGwyL3Y0bDJfaW1hZ2VfcHJv Y2Vzc29yX2JhY2tlbmQuY2MgYi9tZWRpYS9ncHUvdjRsMi92NGwyX2ltYWdlX3Byb2Nlc3Nvcl9i YWNrZW5kLmNjCi1pbmRleCBkYzcyYTRhYzA2MGE5Li5mMzA0OWY0NTQ2ZTJlIDEwMDY0NAotLS0t IGEvbWVkaWEvZ3B1L3Y0bDIvdjRsMl9pbWFnZV9wcm9jZXNzb3JfYmFja2VuZC5jYwotKysrIGIv bWVkaWEvZ3B1L3Y0bDIvdjRsMl9pbWFnZV9wcm9jZXNzb3JfYmFja2VuZC5jYwotQEAgLTkyNSwz NSArOTI1LDE2IEBAIGJvb2wgVjRMMkltYWdlUHJvY2Vzc29yQmFja2VuZDo6RW5xdWV1ZUlucHV0 UmVjb3JkKAotIAotICAgc3dpdGNoIChpbnB1dF9tZW1vcnlfdHlwZV8pIHsKLSAgICAgY2FzZSBW NEwyX01FTU9SWV9VU0VSUFRSOiB7Ci0tICAgICAgVmlkZW9GcmFtZSYgZnJhbWUgPSAqam9iX3Jl Y29yZC0+aW5wdXRfZnJhbWU7Ci0gICAgICAgY29uc3Qgc2l6ZV90IG51bV9wbGFuZXMgPSBWNEwy RGV2aWNlOjpHZXROdW1QbGFuZXNPZlY0TDJQaXhGbXQoCi0gICAgICAgICAgIGlucHV0X2NvbmZp Z18uZm91cmNjLlRvVjRMMlBpeEZtdCgpKTsKLSAgICAgICBzdGQ6OnZlY3Rvcjx2b2lkKj4gdXNl cl9wdHJzKG51bV9wbGFuZXMpOwotLSAgICAgIGlmIChmcmFtZS5zdG9yYWdlX3R5cGUoKSA9PSBW aWRlb0ZyYW1lOjpTVE9SQUdFX1NITUVNKSB7Ci0tICAgICAgICAvLyBUT0RPKGIvMjQzODgzMzEy KTogVGhpcyBjb3BpZXMgdGhlIHZpZGVvIGZyYW1lIHRvIGEgd3JpdGFibGUgYnVmZmVyCi0tICAg ICAgICAvLyBzaW5jZSB0aGUgVVNFUlBUUiBBUEkgcmVxdWlyZXMgd3JpdGFibGUgcGVybWlzc2lv bi4gUmVtb3ZlIHRoaXMKLS0gICAgICAgIC8vIHdvcmthcm91bmQgb25jZSB0aGUgdW5yZWFzb25h YmxlIHBlcm1pc3Npb24gaXMgZml4ZWQuCi0tICAgICAgICBjb25zdCBzaXplX3QgYnVmZmVyX3Np emUgPSBmcmFtZS5zaG1fcmVnaW9uKCktPkdldFNpemUoKTsKLS0gICAgICAgIHN0ZDo6dmVjdG9y PHVpbnQ4X3Q+IHdyaXRhYmxlX2J1ZmZlcihidWZmZXJfc2l6ZSk7Ci0tICAgICAgICBzdGQ6Om1l bWNweSh3cml0YWJsZV9idWZmZXIuZGF0YSgpLCBmcmFtZS5kYXRhKDApLCBidWZmZXJfc2l6ZSk7 Ci0tICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bV9wbGFuZXM7ICsraSkgewotLSAg ICAgICAgICBjb25zdCBzdGQ6OmludHB0cl90IHBsYW5lX29mZnNldCA9Ci0tICAgICAgICAgICAg ICByZWludGVycHJldF9jYXN0PHN0ZDo6aW50cHRyX3Q+KGZyYW1lLmRhdGEoaSkpIC0KLS0gICAg ICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8c3RkOjppbnRwdHJfdD4oZnJhbWUuZGF0YSgwKSk7 Ci0tICAgICAgICAgIHVzZXJfcHRyc1tpXSA9IHdyaXRhYmxlX2J1ZmZlci5kYXRhKCkgKyBwbGFu ZV9vZmZzZXQ7Ci0tICAgICAgICB9Ci0tICAgICAgICBqb2JfcmVjb3JkLT5pbnB1dF9mcmFtZS0+ QWRkRGVzdHJ1Y3Rpb25PYnNlcnZlcihiYXNlOjpCaW5kT25jZSgKLS0gICAgICAgICAgICBbXShz dGQ6OnZlY3Rvcjx1aW50OF90Pikge30sIHN0ZDo6bW92ZSh3cml0YWJsZV9idWZmZXIpKSk7Ci0t ICAgICAgfSBlbHNlIHsKLS0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtX3BsYW5l czsgKytpKQotLSAgICAgICAgICB1c2VyX3B0cnNbaV0gPSBmcmFtZS53cml0YWJsZV9kYXRhKGkp OwotLSAgICAgIH0KLS0KLSAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG51bV9wbGFuZXM7 ICsraSkgewotICAgICAgICAgaW50IGJ5dGVzX3VzZWQgPQotLSAgICAgICAgICAgIFZpZGVvRnJh bWU6OlBsYW5lU2l6ZShmcmFtZS5mb3JtYXQoKSwgaSwgaW5wdXRfY29uZmlnXy5zaXplKQotKyAg ICAgICAgICAgIFZpZGVvRnJhbWU6OlBsYW5lU2l6ZShqb2JfcmVjb3JkLT5pbnB1dF9mcmFtZS0+ Zm9ybWF0KCksIGksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0X2Nv bmZpZ18uc2l6ZSkKLSAgICAgICAgICAgICAgICAgLkdldEFyZWEoKTsKLSAgICAgICAgIGJ1ZmZl ci5TZXRQbGFuZUJ5dGVzVXNlZChpLCBieXRlc191c2VkKTsKLSsgICAgICAgIHVzZXJfcHRyc1tp XSA9IGNvbnN0X2Nhc3Q8dWludDhfdCo+KGpvYl9yZWNvcmQtPmlucHV0X2ZyYW1lLT5kYXRhKGkp KTsKLSAgICAgICB9Ci0gICAgICAgaWYgKCFzdGQ6Om1vdmUoYnVmZmVyKS5RdWV1ZVVzZXJQdHIo dXNlcl9wdHJzKSkgewotICAgICAgICAgVlBMT0dGKDEpIDw8ICJGYWlsZWQgdG8gcXVldWUgYSBE TUFCVUYgYnVmZmVyIHRvIGlucHV0IHF1ZXVlIjsKLWRpZmYgLS1naXQgYS9tZWRpYS9ncHUvdjRs Mi92NGwyX3ZpZGVvX2VuY29kZV9hY2NlbGVyYXRvci5jYyBiL21lZGlhL2dwdS92NGwyL3Y0bDJf dmlkZW9fZW5jb2RlX2FjY2VsZXJhdG9yLmNjCi1pbmRleCA1NjM4OWVhM2VlYzA4Li5kNDUyYmE0 OGE2OWUyIDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L3Y0bDIvdjRsMl92aWRlb19lbmNvZGVfYWNj ZWxlcmF0b3IuY2MKLSsrKyBiL21lZGlhL2dwdS92NGwyL3Y0bDJfdmlkZW9fZW5jb2RlX2FjY2Vs ZXJhdG9yLmNjCi1AQCAtNzgzLDcgKzc4Myw3IEBAIHZvaWQgVjRMMlZpZGVvRW5jb2RlQWNjZWxl cmF0b3I6OkVuY29kZVRhc2soc2NvcGVkX3JlZnB0cjxWaWRlb0ZyYW1lPiBmcmFtZSwKLSAgICAg Y29uc3QgYm9vbCBpc19leHBlY3RlZF9zdG9yYWdlX3R5cGUgPQotICAgICAgICAgbmF0aXZlX2lu cHV0X21vZGVfCi0gICAgICAgICAgICAgPyBmcmFtZS0+c3RvcmFnZV90eXBlKCkgPT0gVmlkZW9G cmFtZTo6U1RPUkFHRV9HUFVfTUVNT1JZX0JVRkZFUgotLSAgICAgICAgICAgIDogZnJhbWUtPnN0 b3JhZ2VfdHlwZSgpID09IFZpZGVvRnJhbWU6OlNUT1JBR0VfU0hNRU07Ci0rICAgICAgICAgICAg OiBmcmFtZS0+SXNNYXBwYWJsZSgpOwotICAgICBpZiAoIWlzX2V4cGVjdGVkX3N0b3JhZ2VfdHlw ZSkgewotICAgICAgIFZMT0dGKDEpIDw8ICJVbmV4cGVjdGVkIHN0b3JhZ2U6ICIKLSAgICAgICAg ICAgICAgICA8PCBWaWRlb0ZyYW1lOjpTdG9yYWdlVHlwZVRvU3RyaW5nKGZyYW1lLT5zdG9yYWdl X3R5cGUoKSk7Ci1AQCAtMTM5MiwyNyArMTM5MiwxNiBAQCBib29sIFY0TDJWaWRlb0VuY29kZUFj Y2VsZXJhdG9yOjpFbnF1ZXVlSW5wdXRSZWNvcmQoCi0gICAgICAgICBOT1RJRllfRVJST1Ioa1Bs YXRmb3JtRmFpbHVyZUVycm9yKTsKLSAgICAgICB9Ci0gCi0tICAgICAgLy8gVE9ETyhiLzI0Mzg4 MzMxMik6IFRoaXMgY29waWVzIHRoZSB2aWRlbyBmcmFtZSB0byBhIHdyaXRhYmxlIGJ1ZmZlcgot LSAgICAgIC8vIHNpbmNlIHRoZSBVU0VSUFRSIEFQSSByZXF1aXJlcyB3cml0YWJsZSBwZXJtaXNz aW9uLiBSZW1vdmUgdGhpcwotLSAgICAgIC8vIHdvcmthcm91bmQgb25jZSB0aGUgdW5yZWFzb25h YmxlIHBlcm1pc3Npb24gaXMgZml4ZWQuCi0tICAgICAgY29uc3Qgc2l6ZV90IGJ1ZmZlcl9zaXpl ID0gZnJhbWUtPnNobV9yZWdpb24oKS0+R2V0U2l6ZSgpOwotLSAgICAgIHN0ZDo6dmVjdG9yPHVp bnQ4X3Q+IHdyaXRhYmxlX2J1ZmZlcihidWZmZXJfc2l6ZSk7Ci0tICAgICAgc3RkOjptZW1jcHko d3JpdGFibGVfYnVmZmVyLmRhdGEoKSwgZnJhbWUtPmRhdGEoMCksIGJ1ZmZlcl9zaXplKTsKLSsg ICAgICAvLyBUaGUgZnJhbWUgZGF0YSBpcyByZWFkYWJsZSBvbmx5IGFuZCB0aGUgZHJpdmVyIGRv ZXNuJ3QgYWN0dWFsbHkgd3JpdGUKLSsgICAgICAvLyB0aGUgYnVmZmVyLiBCdXQgVVNSUFRSIGJ1 ZmZlciBuZWVkcyB2b2lkKi4gU28gY29uc3RfY2FzdDw+IGlzIHJlcXVpcmVkLgotICAgICAgIHN0 ZDo6dmVjdG9yPHZvaWQqPiB1c2VyX3B0cnMobnVtX3BsYW5lcyk7Ci0gICAgICAgZm9yIChzaXpl X3QgaSA9IDA7IGkgPCBudW1fcGxhbmVzOyArK2kpIHsKLS0gICAgICAgIGNvbnN0IHN0ZDo6aW50 cHRyX3QgcGxhbmVfb2Zmc2V0ID0KLS0gICAgICAgICAgICByZWludGVycHJldF9jYXN0PHN0ZDo6 aW50cHRyX3Q+KGZyYW1lLT5kYXRhKGkpKSAtCi0tICAgICAgICAgICAgcmVpbnRlcnByZXRfY2Fz dDxzdGQ6OmludHB0cl90PihmcmFtZS0+ZGF0YSgwKSk7Ci0tICAgICAgICB1c2VyX3B0cnNbaV0g PSB3cml0YWJsZV9idWZmZXIuZGF0YSgpICsgcGxhbmVfb2Zmc2V0OwotKyAgICAgICAgdXNlcl9w dHJzW2ldID0gY29uc3RfY2FzdDx1aW50OF90Kj4oZnJhbWUtPmRhdGEoaSkpOwotICAgICAgIH0K LS0KLSAgICAgICBpZiAoIXN0ZDo6bW92ZShpbnB1dF9idWYpLlF1ZXVlVXNlclB0cihzdGQ6Om1v dmUodXNlcl9wdHJzKSkpIHsKLS0gICAgICAgIFZQTE9HRigxKSA8PCAiRmFpbGVkIHRvIHF1ZXVl IGEgVVNSUFRSIGJ1ZmZlciB0byBpbnB1dCBxdWV1ZSI7Ci0tICAgICAgICBOT1RJRllfRVJST1Io a1BsYXRmb3JtRmFpbHVyZUVycm9yKTsKLSsgICAgICAgIFZQTE9HRigxKSA8PCAiRmFpbGVkIHF1 ZXVlIGEgVVNSUFRSIGJ1ZmZlciB0byBpbnB1dCBxdWV1ZSI7Ci0gICAgICAgICByZXR1cm4gZmFs c2U7Ci0gICAgICAgfQotLSAgICAgIGZyYW1lLT5BZGREZXN0cnVjdGlvbk9ic2VydmVyKAotLSAg ICAgICAgICBiYXNlOjpEb05vdGhpbmdXaXRoQm91bmRBcmdzKHN0ZDo6bW92ZSh3cml0YWJsZV9i dWZmZXIpKSk7Ci0gICAgICAgYnJlYWs7Ci0gICAgIH0KLSAgICAgY2FzZSBWNEwyX01FTU9SWV9E TUFCVUY6IHsKLUBAIC0xNDIxLDYgKzE0MTAsNyBAQCBib29sIFY0TDJWaWRlb0VuY29kZUFjY2Vs ZXJhdG9yOjpFbnF1ZXVlSW5wdXRSZWNvcmQoCi0gICAgICAgICBWUExPR0YoMSkgPDwgIkZhaWxl ZCBxdWV1ZSBhIERNQUJVRiBidWZmZXIgdG8gaW5wdXQgcXVldWUiOwotICAgICAgICAgcmV0dXJu IGZhbHNlOwotICAgICAgIH0KLSsKLSAgICAgICAvLyBLZWVwIHxnbWJfaGFuZGxlfCBhbGl2ZSBh cyBsb25nIGFzIHxmcmFtZXwgaXMgYWxpdmUgc28gdGhhdCBmZHMgcGFzc2VkCi0gICAgICAgLy8g dG8gdGhlIGRyaXZlciBhcmUgdmFsaWQgZHVyaW5nIGVuY29kaW5nLgotICAgICAgIGZyYW1lLT5B ZGREZXN0cnVjdGlvbk9ic2VydmVyKGJhc2U6OkJpbmRPbmNlKAoKZGlmZiAtLWdpdCBhL2Nocm9t aXVtLnNwZWMgYi9jaHJvbWl1bS5zcGVjCmluZGV4IDhjOGNkOWIuLjgxYTZjNjQgMTAwNjQ0Ci0t LSBhL2Nocm9taXVtLnNwZWMKKysrIGIvY2hyb21pdW0uc3BlYwpAQCAtMTkwLDggKzE5MCw2IEBA CiAlZ2xvYmFsIGJ1bmRsZWxpYndlYnAgMAogJWdsb2JhbCBidW5kbGVsaWJwbmcgMAogJWdsb2Jh bCBidW5kbGVsaWJqcGVnIDAKLSMgTmVlZHMgRlRfQ2xpcEJveCB3aGljaCB3YXMgaW1wbGVtZW50 ZWQgYWZ0ZXIgMi4xMS4wLiBTaG91bGQgYmUgYWJsZSB0byBzZXQgdGhpcyBiYWNrIHRvIDAgbGF0 ZXIuCi0lZ2xvYmFsIGJ1bmRsZWZyZWV0eXBlIDEKICVnbG9iYWwgYnVuZGxlbGliZHJtIDAKICVn bG9iYWwgYnVuZGxlZm9udGNvbmZpZyAwCiAlZ2xvYmFsIGJ1bmRsZWZmbXBlZ2ZyZWUgMApAQCAt MjAxLDYgKzE5OSwxMiBAQAogJWVsc2UKICVnbG9iYWwgYnVuZGxlbGliYW9tIDAKICVlbmRpZgor IyBzeXN0ZW0gZnJlZXR5cGUgb24gZmVkb3JhID4gMzYKKyVpZiAwJXs/ZmVkb3JhfSA+IDM2Cisl Z2xvYmFsIGJ1bmRsZWZyZWV0eXBlIDAKKyVlbHNlCislZ2xvYmFsIGJ1bmRsZWZyZWV0eXBlIDEK KyVlbmRpZgogJWVuZGlmCiAKICMjIyBGcm9tIDIwMTMgdW50aWwgZWFybHkgMjAyMSwgR29vZ2xl IHBlcm1pdHRlZCBkaXN0cmlidXRpb24gYnVpbGRzIG9mCkBAIC0yMzcsNyArMjQxLDcgQEAKICVl bmRpZgogCiBOYW1lOgljaHJvbWl1bSV7Y2hyb21pdW1fY2hhbm5lbH0KLVZlcnNpb246IDExMC4w LjU0ODEuMTc3CitWZXJzaW9uOiAxMTEuMC41NTYzLjUwCiBSZWxlYXNlOiAxJXs/ZGlzdH0KIFN1 bW1hcnk6IEEgV2ViS2l0IChCbGluaykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2dsZSBk b2Vzbid0IHdhbnQgeW91IHRvIHVzZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9Ib21l CkBAIC0yNzQsOSArMjc4LDYgQEAgUGF0Y2gxMTogY2hyb21pdW0tOTMuMC40NTc3LjYzLXB5My1i b290c3RyYXAucGF0Y2gKICMgQWRkICJGZWRvcmEiIHRvIHRoZSB1c2VyIGFnZW50IHN0cmluZwog UGF0Y2gxMjogY2hyb21pdW0tMTAxLjAuNDk1MS40MS1mZWRvcmEtdXNlci1hZ2VudC5wYXRjaAog Ci0jIG51bWVyaWNfbGltaXRzIGlzIG5vdCBhIG1lbWJlciBvZiBzdGQKLVBhdGNoMTM6IGNocm9t aXVtLTExMC1saW1pdHMucGF0Y2gKLQogIyBkZWJpYW4gcGF0Y2gsIGRpc2FibGUgZm9udC10ZXN0 IAogUGF0Y2gyMDogY2hyb21pdW0tZGlzYWJsZS1mb250LXRlc3RzLnBhdGNoCiAKQEAgLTI5Miw5 ICsyOTMsNiBAQCBQYXRjaDU3OiBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUtbWlzc2luZy1jc3RyaW5n LnBhdGNoCiAjIEZpeCBoZWFkZXJzIHRvIGxvb2sgZm9yIHN5c3RlbSBwYXRocyB3aGVuIHdlIGFy ZSB1c2luZyBzeXN0ZW0gbWluaXppcAogUGF0Y2g2MTogY2hyb21pdW0tMTA5LXN5c3RlbS1taW5p emlwLWhlYWRlci1maXgucGF0Y2gKIAotIyBVcGRhdGUgYnVuZGxlZCBjb3B5IG9mIHdheWxhbmQt Y2xpZW50LWNvcmUuaAotUGF0Y2g2MjogY2hyb21pdW0tMTA1LjAuNTE5NS41Mi11cGRhdGUtd2F5 bGFuZC1jbGllbnQtY29yZS5wYXRjaAotCiAjIEZpeCBpc3N1ZSB3aGVyZSBjbG9zdXJlX2NvbXBp bGVyIHRoaW5rcyBqYXZhIGlzIG9ubHkgYWxsb3dlZCBpbiBhbmRyb2lkIGJ1aWxkcwogIyBodHRw czovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMTkyODc1 CiBQYXRjaDY1OiBjaHJvbWl1bS05MS4wLjQ0NzIuNzctamF2YS1vbmx5LWFsbG93ZWQtaW4tYW5k cm9pZC1idWlsZHMucGF0Y2gKQEAgLTMyMSw5ICszMTksNiBAQCBQYXRjaDkxOiBjaHJvbWl1bS0x MDgtc3lzdGVtLW9wdXMucGF0Y2gKICMgZml4IHByZWZlcnMtY29sb3Itc2NoZW1lCiBQYXRjaDky OiBjaHJvbWl1bS0xMTAtZ3RrdGhlbWUucGF0Y2gKIAotIyBGcm9tIGdlbnRvbwotUGF0Y2g5ODog Y2hyb21pdW0tOTQuMC40NjA2LjcxLUlua0Ryb3BIb3N0LWNyYXNoLnBhdGNoCi0KICMgbmVlZCB0 byBleHBsaWNpdGx5IGluY2x1ZGUgYSBrZXJuZWwgaGVhZGVyIG9uIEVMNyB0byBzdXBwb3J0IE1G RF9DTE9FWEVDLCBGX1NFQUxfU0hSSU5LLCBGX0FERF9TRUFMUywgRl9TRUFMX1NFQUwKIFBhdGNo MTAwOiBjaHJvbWl1bS0xMDgtZWw3LWluY2x1ZGUtZmNudGwtbWVtZmQucGF0Y2gKIApAQCAtMzY5 LDIxICszNjQsNiBAQCBQYXRjaDEyMjogY2hyb21pdW0tMTA5LWdjYzEzLnBhdGNoCiAKICMgUGF0 Y2hlcyBieSBTdGVwaGFuIEhhcnRtYW5uLCBodHRwczovL2dpdGh1Yi5jb20vc3RoYTA5L2Nocm9t aXVtLXBhdGNoZXMKIFBhdGNoMTMwOiBjaHJvbWl1bS0xMDMtVmlydHVhbEN1cnNvci1zdGQtbGF5 b3V0LnBhdGNoCi1QYXRjaDEzMTogY2hyb21pdW0tMTEwLUNhbnZhc1Jlc291cmNlUHJvdmlkZXIt cHJhZ21hLnBhdGNoCi1QYXRjaDEzMjogY2hyb21pdW0tMTEwLUNyZWRlbnRpYWxVSUVudHJ5LWNv bnN0LnBhdGNoCi1QYXRjaDEzMzogY2hyb21pdW0tMTEwLURhcmtNb2RlTEFCQ29sb3JTcGFjZS1w b3cucGF0Y2gKLVBhdGNoMTM0OiBjaHJvbWl1bS0xMTAtZHBmLWFybTY0LnBhdGNoCi1QYXRjaDEz NTogY2hyb21pdW0tMTEwLUluUHJvZ3Jlc3NEb3dubG9hZE1hbmFnZXItaW5jbHVkZS5wYXRjaAot UGF0Y2gxMzY6IGNocm9taXVtLTExMC1rQ3VzdG9taXplQ2hyb21lQ29sb3JzLXR5cGUucGF0Y2gK LVBhdGNoMTM3OiBjaHJvbWl1bS0xMTAtTmF0aXZlVGhlbWVCYXNlLWZhYnMucGF0Y2gKLVBhdGNo MTM4OiBjaHJvbWl1bS0xMTAtUHJlc2VudGVyLWluY2x1ZGUucGF0Y2gKLVBhdGNoMTM5OiBjaHJv bWl1bS0xMTAtcmF3X3B0ci1jb25zdGV4cHIucGF0Y2gKLVBhdGNoMTQwOiBjaHJvbWl1bS0xMTAt U3RvcmFnZVF1ZXVlLWRlY2x0eXBlLnBhdGNoCi1QYXRjaDE0MTogY2hyb21pdW0tMTEwLVN5bmNJ dGVyYXRvci10ZW1wbGF0ZS5wYXRjaAotUGF0Y2gxNDI6IGNocm9taXVtLTExMC11cmxfY2Fub25f aW50ZXJuYWwtY2FzdC5wYXRjaAotUGF0Y2gxNDM6IGNocm9taXVtLTExMC12OC1nY2MucGF0Y2gK LVBhdGNoMTQ0OiBjaHJvbWl1bS0xMTEtdjgtc3RkLWxheW91dDEucGF0Y2gKLVBhdGNoMTQ1OiBj aHJvbWl1bS0xMTEtdjgtc3RkLWxheW91dDIucGF0Y2gKIAogIyBWQUFQSQogIyBVcHN0cmVhbSB0 dXJuZWQgVkFBUEkgb24gaW4gTGludXggaW4gODYKQEAgLTM5MSwxMCArMzcxLDYgQEAgUGF0Y2gy MDI6IGNocm9taXVtLTEwNC4wLjUxMTIuMTAxLWVuYWJsZS1oYXJkd2FyZS1hY2NlbGVyYXRlZC1t anBlZy5wYXRjaAogUGF0Y2gyMDU6IGNocm9taXVtLTg2LjAuNDI0MC43NS1maXgtdmFhcGktb24t aW50ZWwucGF0Y2gKIFBhdGNoMjA2OiBjaHJvbWl1bS0xMTAtb3pvbmUtd2F5bGFuZC12YWFwaS1z dXBwb3J0LnBhdGNoCiAKLSMgVjRMMgotIyBVcHN0cmVhbQotUGF0Y2gyNTA6IGNocm9taXVtLXY0 bDItZml4LnBhdGNoCi0KICMgQXBwbHkgdGhlc2UgcGF0Y2hlcyB0byB3b3JrIGFyb3VuZCBFUEVM OCBpc3N1ZXMKIFBhdGNoMzAwOiBjaHJvbWl1bS05OS4wLjQ4NDQuNTEtcmhlbDgtZm9yY2UtZGlz YWJsZS11c2VfZ25vbWVfa2V5cmluZy5wYXRjaAogCkBAIC05MDcsOCArODgzLDggQEAgd2l0aG91 dCBzdXBwb3J0IGZvciBhbHNhLCBjdXBzLCBkYnVzLCBnY29uZiwgZ2lvLCBrZXJiZXJvcywgcHVs c2VhdWRpbywgb3IKIHVkZXYuCiAKICVwcmVwCi0KICVzZXR1cCAtcSAtbiBjaHJvbWl1bS0le3Zl cnNpb259CisKICMjIyBDaHJvbWl1bSBGZWRvcmEgUGF0Y2hlcyAjIyMKICVwYXRjaDAgLXAxIC1i IC5zYW5kYm94cGllCiAlcGF0Y2gxIC1wMSAtYiAuZXRjCkBAIC05MjAsMTMgKzg5Niw2IEBAIHVk ZXYuCiAlcGF0Y2g5IC1wMSAtYiAud2lkZXZpbmUtbm8tZG93bmxvYWQKICVwYXRjaDExIC1wMSAt YiAucHkzCiAKLSMgRmVkb3JhIGJyYW5kZWQgdXNlciBhZ2VudAotJWlmIDAlez9mZWRvcmF9Ci0l cGF0Y2gxMiAtcDEgLWIgLmZlZG9yYS11c2VyLWFnZW50Ci0lZW5kaWYKLQotJXBhdGNoMTMgLXAx IC1iIC5saW1pdHMKLQogJXBhdGNoMjAgLXAxIC1iIC5kaXNhYmxlLWZvbnQtdGVzdAogCiAlaWYg MCV7P2ZlZG9yYX0gfHwgMCV7P3JoZWx9ID49IDgKQEAgLTk1Nyw3ICs5MjYsMTAgQEAgdWRldi4K IAogJXBhdGNoOTIgLXAxIC1iIC5ndGstcHJlZmVycy1jb2xvci1zY2hlbWUKIAotJXBhdGNoOTgg LXAxIC1iIC5JbmtEcm9wSG9zdC1jcmFzaAorIyBGZWRvcmEgYnJhbmRlZCB1c2VyIGFnZW50Cisl aWYgMCV7P2ZlZG9yYX0KKyVwYXRjaDEyIC1wMSAtYiAuZmVkb3JhLXVzZXItYWdlbnQKKyVlbmRp ZgogCiAlaWYgISAle2J1bmRsZWZmbXBlZ2ZyZWV9CiAlcGF0Y2gxMTQgLXAxIC1iIC5zeXN0ZW0t ZmZtcHBlZwpAQCAtOTg0LDIxICs5NTYsNiBAQCB1ZGV2LgogJWVuZGlmCiAKICVwYXRjaDEzMCAt cDEgLWIgLlZpcnR1YWxDdXJzb3Itc3RkLWxheW91dAotJXBhdGNoMTMxIC1wMSAtYiAuQ2FudmFz UmVzb3VyY2VQcm92aWRlci1wcmFnbWEKLSVwYXRjaDEzMiAtcDEgLWIgLkNyZWRlbnRpYWxVSUVu dHJ5LWNvbnN0Ci0lcGF0Y2gxMzMgLXAxIC1iIC5EYXJrTW9kZUxBQkNvbG9yU3BhY2UtcG93Ci0l cGF0Y2gxMzQgLXAxIC1iIC5kcGYtYXJtNjQKLSVwYXRjaDEzNSAtcDEgLWIgLkluUHJvZ3Jlc3NE b3dubG9hZE1hbmFnZXItaW5jbHVkZQotJXBhdGNoMTM2IC1wMSAtYiAua0N1c3RvbWl6ZUNocm9t ZUNvbG9ycy10eXBlCi0lcGF0Y2gxMzcgLXAxIC1iIC5OYXRpdmVUaGVtZUJhc2UtZmFicwotJXBh dGNoMTM4IC1wMSAtYiAuUHJlc2VudGVyLWluY2x1ZGUKLSVwYXRjaDEzOSAtcDEgLWIgLnJhd19w dHItY29uc3RleHByCi0lcGF0Y2gxNDAgLXAxIC1iIC5TdG9yYWdlUXVldWUtZGVjbHR5cGUKLSVw YXRjaDE0MSAtcDEgLWIgLlN5bmNJdGVyYXRvci10ZW1wbGF0ZQotJXBhdGNoMTQyIC1wMSAtYiAu dXJsX2Nhbm9uX2ludGVybmFsLWNhc3QKLSVwYXRjaDE0MyAtcDEgLWIgLnY4LWdjYwotJXBhdGNo MTQ0IC1wMSAtYiAudjgtc3RkLWxheW91dDEKLSVwYXRjaDE0NSAtcDEgLWIgLnY4LXN0ZC1sYXlv dXQyCiAKICVpZiAle3VzZV9xdH0KICVwYXRjaDEyMSAtcDEgLWIgLmVuYWJsZS1hbGxvd3F0CkBA IC0xMDEzLDEwICs5NzAsNiBAQCB1ZGV2LgogJXBhdGNoMjA2IC1wMSAtYiAud2F5bGFuZC12YWFw aQogJWVuZGlmCiAKLSVpZiAle3VzZV92NGwyX2NvZGVjfQotJXBhdGNoMjUwIC1wMSAtYiAudjRs Mi1maXgKLSVlbmRpZgotCiAlaWYgMCV7P3JoZWx9ID49IDgKICVwYXRjaDMwMCAtcDEgLWIgLmRp c2JsZWdub21la2V5cmluZwogJWVuZGlmCkBAIC0xMTgwLDEyICsxMTMzLDYgQEAgQ0hST01JVU1f Q09SRV9HTl9ERUZJTkVTKz0nIGVuYWJsZV92cj1mYWxzZScKIENIUk9NSVVNX0NPUkVfR05fREVG SU5FUys9JyBidWlsZF9kYXduX3Rlc3RzPWZhbHNlIGVuYWJsZV9wZXJmZXR0b191bml0dGVzdHM9 ZmFsc2UnCiBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScgZGlzYWJsZV9maWVsZHRyaWFsX3Rl c3RpbmdfY29uZmlnPXRydWUnCiBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScgYmxpbmtfc3lt Ym9sX2xldmVsPTAgc3ltYm9sX2xldmVsPTAgdjhfc3ltYm9sX2xldmVsPTAnCi0laWZhcmNoIGFh cmNoNjQKLSVpZiAwJXs/cmhlbH0gPT0gOAotIyB3b3JrYXJvdW5kIGNyYXNoIG9uIGVsOAotQ0hS T01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIHVzZV9wYXJ0aXRpb25fYWxsb2NfYXNfbWFsbG9jPWZh bHNlIGVuYWJsZV9iYWNrdXBfcmVmX3B0cl9zdXBwb3J0PWZhbHNlJwotJWVuZGlmCi0lZW5kaWYK IGV4cG9ydCBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMKIAogIyBicm93c2VyIGduIGRlZmluZXMK QEAgLTE1OTMsMTEgKzE1NDAsMTEgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1vdGUtZGVza3Rv cCA+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QKICV7Y2hyb21p dW1fcGF0aH0vbGliY2xlYXJrZXljZG0uc28KICVlbmRpZgogJWlmYXJjaCB4ODZfNjQgYWFyY2g2 NAotJXtjaHJvbWl1bV9wYXRofS9saWJFR0wuc28qCi0le2Nocm9taXVtX3BhdGh9L2xpYkdMRVN2 Mi5zbyoKICV7Y2hyb21pdW1fcGF0aH0vbGlidmtfc3dpZnRzaGFkZXIuc28qCiAle2Nocm9taXVt X3BhdGh9L2xpYnZ1bGthbi5zbyoKICV7Y2hyb21pdW1fcGF0aH0vdmtfc3dpZnRzaGFkZXJfaWNk Lmpzb24KKyV7Y2hyb21pdW1fcGF0aH0vbGliRUdMLnNvKgorJXtjaHJvbWl1bV9wYXRofS9saWJH TEVTdjIuc28qCiAlZW5kaWYKICV7Y2hyb21pdW1fcGF0aH0vaWN1ZHRsLmRhdAogJWRpciAle2No cm9taXVtX3BhdGh9LwpAQCAtMTY5OSw2ICsxNjQ2LDEwIEBAIGdldGVudCBncm91cCBjaHJvbWUt cmVtb3RlLWRlc2t0b3AgPi9kZXYvbnVsbCB8fCBncm91cGFkZCAtciBjaHJvbWUtcmVtb3RlLWRl c2t0CiAle2Nocm9taXVtX3BhdGh9L2Nocm9tZWRyaXZlcgogCiAlY2hhbmdlbG9nCisqIE1vbiBN YXIgMDYgMjAyMyBUaGFuIE5nbyA8dGhhbkByZWRoYXQuY29tPiAtIDExMS4wLjU1NjMuNTAtMQor LSB1cGRhdGUgdG8gMTExLjAuNTU2My41MAorLSBzeXN0ZW0gZnJlZXR5cGUgb24gZmVkb3JhID4g MzYKKwogKiBUaHUgRmViIDIzIDIwMjMgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxMTAu MC41NDgxLjE3Ny0xCiAtIHVwZGF0ZSB0byAxMTAuMC41NDgxLjE3NwogLSB3b3JrYXJvdW5kIGZv ciBjcmFzaCBvbiBhYXJjaDY0LCByaGVsOAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2Vz CmluZGV4IDlhY2EzOWMuLjdmMmQ0ZjggMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNl cwpAQCAtMSwzICsxLDMgQEAKIFNIQTUxMiAobm9kZS12MTYuMTcuMC1saW51eC14NjQudGFyLnh6 KSA9IGFlZGZlZWI3MTQyMGE3ZmJjYjA3ZmJjNGM1ZDJiYTc0ZmZlNGY4OGMxNTk5ODgwOTM0NmE4 NDE0ODEzMmVjODY2ZGJhZTRlODQ4NTMxYTJhNzdjYTQxNDEzZjQ0MmUxMDQ2Zjk4MWQ0ZjE4OGJk ZjY2N2ZhZjg4MDY5YWEyOGNkCiBTSEE1MTIgKG5vZGUtdjE2LjE3LjAtbGludXgtYXJtNjQudGFy Lnh6KSA9IGFlNGFhYmMyMzg5Nzc5YzllMWI0YTE1NjIyY2FlM2JhNTBlMGMzMTNjYTNkN2ExZGM3 YjIzNDRkZjA2YWRlMWYzMDNkNmE3NWI5NDFkMzdlMmEwZWYzNjhjZjA0N2M4NjJhODIyYTg5MzY4 NDQ5NGY1NTQ0NmFmZDZhYjA2MTBlCi1TSEE1MTIgKGNocm9taXVtLTExMC4wLjU0ODEuMTc3LWNs ZWFuLnRhci54eikgPSAzY2MzZmUzMjViZjc3M2U1ZGE5MTM3MjcyNzQxZWRhNjFjYTYyMDI4OWEy N2MxYmMxNmNkM2UxNjVmNWFkYzZlYmFhMDAxMzkzNTFjMzI0ZmNjNDkxNDk3ZTQ3NjU5MTg4Njcz ZWRkOWI3ZmQzM2EyNzcxNjM2ZDE1M2I2OTIxMworU0hBNTEyIChjaHJvbWl1bS0xMTEuMC41NTYz LjUwLWNsZWFuLnRhci54eikgPSA0NTc2ZTA4MGE1NWNjMWRhYmY2NWUxNGQ1MzgwMzEwZWU5M2Jm ZTUwZTQwODIzYWRiOTYzYmY0N2QzYmJlNjY4YjM5ZWY0MWMzZjVlN2I4YzJhZWJjODE2MTkxNTky NmEyZjZiMzdjMzljYzAyODk4OThlNTE1ZTYwMDc0M2UzYwo=