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: =?utf-8?q?Miro_Hron=C4=8Dok_=3Cmiro=40hroncok=2Ecz=3E?= To: git-commits@fedoraproject.org Subject: [rpms/jabberd] f45: Retired: Fails to install: https://forge.fedoraproject.org/releng/tickets/issues/13473 Date: Tue, 18 Aug 2026 13:35:07 GMT Message-ID: <178706010792.1.4798108932437271361.rpms-jabberd-9599f08bde05@fedoraproject.org> List-ID: X-Git-Repo: rpms/jabberd X-Git-Branch: f45 X-Git-Rev: 9599f08bde05934f919b37b3347547efac1a3fc0 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvamFiYmVyZApCcmFu Y2ggOiBmNDUKQ29tbWl0IDogOTU5OWYwOGJkZTA1OTM0ZjkxOWIzN2IzMzQ3NTQ3ZWZhYzFhM2Zj MApBdXRob3IgOiBNaXJvIEhyb27EjW9rIDxtaXJvQGhyb25jb2suY3o+CkRhdGUgICA6IDIwMjYt MDgtMThUMTU6MzU6MDIrMDI6MDAKU3RhdHMgIDogKzEvLTE3NjggaW4gMTcgZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2phYmJlcmQvYy85NTk5ZjA4 YmRlMDU5MzRmOTE5YjM3YjMzNDc1NDdlZmFjMWEzZmMwP2JyYW5jaD1mNDUKCkxvZzoKUmV0aXJl ZDogRmFpbHMgdG8gaW5zdGFsbDogaHR0cHM6Ly9mb3JnZS5mZWRvcmFwcm9qZWN0Lm9yZy9yZWxl bmcvdGlja2V0cy9pc3N1ZXMvMTM0NzMKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5n aXRpZ25vcmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxY2U0ZGQuLjAwMDAwMDAK LS0tIGEvLmdpdGlnbm9yZQorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLS9qYWJiZXJk LTIuMi4xMy50YXIuYnoyCi0vamFiYmVyZC0yLjIuMTQudGFyLmJ6MgotL2phYmJlcmQtMi4yLjE2 LnRhci5negotL2phYmJlcmQtMi4yLjE3LnRhci54egotL2phYmJlcmQtMi4zLjEudGFyLnh6Ci0v amFiYmVyZC0yLjMuMi50YXIueHoKLS9qYWJiZXJkLTIuMy4zLnRhci54egotL2phYmJlcmQtMi4z LjQudGFyLnh6Ci0vamFiYmVyZC0yLjMuNS50YXIueHoKLS9qYWJiZXJkLTIuMy42LnRhci54egot L2phYmJlcmQtMi40LjAudGFyLnh6Ci0vamFiYmVyZC0yLjUuMC50YXIueHoKLS9qYWJiZXJkLTIu Ni4xLnRhci54egoKZGlmZiAtLWdpdCBhLzAwMDEtRml4LWJ1aWxkLWVycm9ycy13aXRoLU1hcmlh REItMTAuMi5wYXRjaCBiLzAwMDEtRml4LWJ1aWxkLWVycm9ycy13aXRoLU1hcmlhREItMTAuMi5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzE5ZjYxYy4uMDAwMDAwMAotLS0g YS8wMDAxLUZpeC1idWlsZC1lcnJvcnMtd2l0aC1NYXJpYURCLTEwLjIucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw3NiArMCwwIEBACi1Gcm9tIGY5NTVkMDA1Y2VlNjgyYWZiZmQzYjAwNGE3OTY5 MTg4MDQ0OTZkODAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gUmViZXIg PGFkcmlhbkBsaXNhcy5kZT4KLURhdGU6IFdlZCwgMTIgSnVsIDIwMTcgMTE6NDY6MTcgKzAyMDAK LVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIGVycm9ycyB3aXRoIE1hcmlhREIgMTAuMgotCi1T aWduZWQtb2ZmLWJ5OiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4KLS0tLQotIHN0b3Jh Z2UvYXV0aHJlZ19teXNxbC5jIHwgNiArKystLS0KLSBzdG9yYWdlL3N0b3JhZ2VfbXlzcWwuYyB8 IDYgKysrLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9zdG9yYWdlL2F1dGhyZWdfbXlzcWwuYyBiL3N0b3JhZ2UvYXV0 aHJlZ19teXNxbC5jCi1pbmRleCBiZTdhYWY2Li4wYjM1ZDZkIDEwMDY0NAotLS0tIGEvc3RvcmFn ZS9hdXRocmVnX215c3FsLmMKLSsrKyBiL3N0b3JhZ2UvYXV0aHJlZ19teXNxbC5jCi1AQCAtNDg3 LDYgKzQ4Nyw4IEBAIERMTEVYUE9SVCBpbnQgYXJfaW5pdChhdXRocmVnX3QgYXIpIHsKLSAgICAg TVlTUUwgKmNvbm47Ci0gICAgIG15c3FsY29udGV4dF90IG15c3FsY29udGV4dDsKLSAgICAgaW50 IGZhaWwgPSAwOwotKyAgICAvKiBlbmFibGUgcmVjb25uZWN0ICovCi0rICAgIG15X2Jvb2wgcmVj b25uZWN0PSAxOwotIAotICAgICAvKiBjb25maWd1cmUgdGhlIGRhdGFiYXNlIGNvbnRleHQgd2l0 aCBmaWVsZCBuYW1lcyBhbmQgU1FMIHN0YXRlbWVudHMgKi8KLSAgICAgbXlzcWxjb250ZXh0ID0g KG15c3FsY29udGV4dF90KSBtYWxsb2MoIHNpemVvZiggc3RydWN0IG15c3FsY29udGV4dF9zdCAp ICk7Ci1AQCAtNjE4LDYgKzYyMCw3IEBAIERMTEVYUE9SVCBpbnQgYXJfaW5pdChhdXRocmVnX3Qg YXIpIHsKLSAKLSAgICAgbXlzcWxfb3B0aW9ucyhjb25uLCBNWVNRTF9SRUFEX0RFRkFVTFRfR1JP VVAsICJqYWJiZXJkIik7Ci0gICAgIG15c3FsX29wdGlvbnMoY29ubiwgTVlTUUxfU0VUX0NIQVJT RVRfTkFNRSwgInV0ZjgiKTsKLSsgICAgbXlzcWxfb3B0aW9ucyhjb25uLCBNWVNRTF9PUFRfUkVD T05ORUNULCAodm9pZCAqKSZyZWNvbm5lY3QpOwotIAotICAgICAvKiBjb25uZWN0IHdpdGggQ0xJ RU5UX0lOVEVSQUNUSVZFIHRvIGdldCBhIChwb3NzaWJseSkgaGlnaGVyIHRpbWVvdXQgdmFsdWUg dGhhbiBkZWZhdWx0ICovCi0gICAgIGlmKG15c3FsX3JlYWxfY29ubmVjdChjb25uLCBob3N0LCB1 c2VyLCBwYXNzLCBkYm5hbWUsIGF0b2kocG9ydCksIE5VTEwsIENMSUVOVF9JTlRFUkFDVElWRSkg PT0gTlVMTCkgewotQEAgLTYyNyw5ICs2MzAsNiBAQCBETExFWFBPUlQgaW50IGFyX2luaXQoYXV0 aHJlZ190IGFyKSB7Ci0gCi0gICAgIG15c3FsX3F1ZXJ5KGNvbm4sICJTRVQgTkFNRVMgJ3V0Zjgn Iik7Ci0gCi0tICAgIC8qIFNldCByZWNvbm5lY3QgZmxhZyB0byAxIChzZXQgdG8gMCBieSBkZWZh dWx0IGZyb20gbXlzcWwgNSBvbikgKi8KLS0gICAgY29ubi0+cmVjb25uZWN0ID0gMTsKLS0KLSAg ICAgYXItPnVzZXJfZXhpc3RzID0gX2FyX215c3FsX3VzZXJfZXhpc3RzOwotICAgICBpZiAoTVBD X1BMQUlOID09IG15c3FsY29udGV4dC0+cGFzc3dvcmRfdHlwZSkgewotICAgICAgICAgLyogb25s eSBwb3NzaWJsZSB3aXRoIHBsYWludGV4dCBwYXNzd29yZHMgKi8KLWRpZmYgLS1naXQgYS9zdG9y YWdlL3N0b3JhZ2VfbXlzcWwuYyBiL3N0b3JhZ2Uvc3RvcmFnZV9teXNxbC5jCi1pbmRleCAyMzU1 YjE3Li5lYjRmNjJmIDEwMDY0NAotLS0tIGEvc3RvcmFnZS9zdG9yYWdlX215c3FsLmMKLSsrKyBi L3N0b3JhZ2Uvc3RvcmFnZV9teXNxbC5jCi1AQCAtNTg0LDYgKzU4NCw4IEBAIERMTEVYUE9SVCBz dF9yZXRfdCBzdF9pbml0KHN0X2RyaXZlcl90IGRydikgewotICAgICBjb25zdCBjaGFyICpob3N0 LCAqcG9ydCwgKmRibmFtZSwgKnVzZXIsICpwYXNzOwotICAgICBNWVNRTCAqY29ubjsKLSAgICAg ZHJ2ZGF0YV90IGRhdGE7Ci0rICAgIC8qIGVuYWJsZSByZWNvbm5lY3QgKi8KLSsgICAgbXlfYm9v bCByZWNvbm5lY3Q9IDE7Ci0gCi0gICAgIGhvc3QgPSBjb25maWdfZ2V0X29uZShkcnYtPnN0LT5j b25maWcsICJzdG9yYWdlLm15c3FsLmhvc3QiLCAwKTsKLSAgICAgcG9ydCA9IGNvbmZpZ19nZXRf b25lKGRydi0+c3QtPmNvbmZpZywgInN0b3JhZ2UubXlzcWwucG9ydCIsIDApOwotQEAgLTYwNCw2 ICs2MDYsNyBAQCBETExFWFBPUlQgc3RfcmV0X3Qgc3RfaW5pdChzdF9kcml2ZXJfdCBkcnYpIHsK LSAKLSAgICAgbXlzcWxfb3B0aW9ucyhjb25uLCBNWVNRTF9SRUFEX0RFRkFVTFRfR1JPVVAsICJq YWJiZXJkIik7Ci0gICAgIG15c3FsX29wdGlvbnMoY29ubiwgTVlTUUxfU0VUX0NIQVJTRVRfTkFN RSwgInV0ZjgiKTsKLSsgICAgbXlzcWxfb3B0aW9ucyhjb25uLCBNWVNRTF9PUFRfUkVDT05ORUNU LCAodm9pZCAqKSZyZWNvbm5lY3QpOwotIAotICAgICAvKiBjb25uZWN0IHdpdGggQ0xJRU5UX0lO VEVSQUNUSVZFIHRvIGdldCBhIChwb3NzaWJseSkgaGlnaGVyIHRpbWVvdXQgdmFsdWUgdGhhbiBk ZWZhdWx0ICovCi0gICAgIGlmKG15c3FsX3JlYWxfY29ubmVjdChjb25uLCBob3N0LCB1c2VyLCBw YXNzLCBkYm5hbWUsIGF0b2kocG9ydCksIE5VTEwsIENMSUVOVF9JTlRFUkFDVElWRSkgPT0gTlVM TCkgewotQEAgLTYxMiw5ICs2MTUsNiBAQCBETExFWFBPUlQgc3RfcmV0X3Qgc3RfaW5pdChzdF9k cml2ZXJfdCBkcnYpIHsKLSAgICAgICAgIHJldHVybiBzdF9GQUlMRUQ7Ci0gICAgIH0KLSAKLS0g ICAgLyogU2V0IHJlY29ubmVjdCBmbGFnIHRvIDEgKHNldCB0byAwIGJ5IGRlZmF1bHQgZnJvbSBt eXNxbCA1IG9uKSAqLwotLSAgICBjb25uLT5yZWNvbm5lY3QgPSAxOwotLQotICAgICBkYXRhID0g KGRydmRhdGFfdCkgY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgZHJ2ZGF0YV9zdCkpOwotIAotICAg ICBkYXRhLT5jb25uID0gY29ubjsKLS0tIAotMi4xMy4wCi0KCmRpZmYgLS1naXQgYS8wMDAxLWNv bmZpZ3VyZS5hYy1hZGFwdC10by1vcGVuc3NsLTEuMS5wYXRjaCBiLzAwMDEtY29uZmlndXJlLmFj LWFkYXB0LXRvLW9wZW5zc2wtMS4xLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA2YWZlNTdjLi4wMDAwMDAwCi0tLSBhLzAwMDEtY29uZmlndXJlLmFjLWFkYXB0LXRvLW9wZW5z c2wtMS4xLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSA0NTFjOGU0 NTIwMGFlYjY3YzU2ZDQyZTUzOThlN2MxMjQ2NmIzMGQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+Ci1EYXRlOiBGcmksIDIgRGVj IDIwMTYgMTI6MTY6NTAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzNdIGNvbmZpZ3VyZS5hYzog YWRhcHQgdG8gb3BlbnNzbC0xLjEKLQotb3BlbnNzbC0xLjEgcmVtb3ZlZCB0aGUgZnVuY3Rpb24g Q1JZUFRPX2xvY2soKSB3aGljaCB3YXMgdXNlZAotaW4gdGhlIGNvbmZpZ3VyZSBzY3JpcHQgdG8g Y2hlY2sgZm9yIG9wZW5zc2wgYXZhaWxhYmlsaXR5LgotVGhpcyBjaGFuZ2VzIENSWVBUT19sb2Nr KCkgdG8gSE1BQ19VcGRhdGUoKS4KLQotRml4ZXM6ICMxMjUKLQotU2lnbmVkLW9mZi1ieTogQWRy aWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+Ci0tLS0KLSBjb25maWd1cmUuYWMgfCA0ICsrLS0K LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBjOGE5MzNjLi5kMzhl MjkwIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC00 MDYsOSArNDA2LDkgQEAgaWYgdGVzdCAieC0kd2FudF9zc2wiICE9ICJ4LW5vIiA7IHRoZW4KLSAg ICAgZmkKLSAgICAgQUNfQ0hFQ0tfSEVBREVSUyhvcGVuc3NsL2NyeXB0by5oKQotICAgICBpZiB0 ZXN0ICJ4LSRhY19jdl9oZWFkZXJfb3BlbnNzbF9jcnlwdG9faCIgPSAieC15ZXMiIDsgdGhlbgot LSAgICAgICAgQUNfQ0hFQ0tfTElCKGNyeXB0bywgQ1JZUFRPX2xvY2spCi0rICAgICAgICBBQ19D SEVDS19MSUIoY3J5cHRvLCBITUFDX1VwZGF0ZSkKLSAgICAgZmkKLS0gICAgaWYgdGVzdCAieC0k YWNfY3ZfbGliX2NyeXB0b19DUllQVE9fbG9jayIgPSAieC15ZXMiIDsgdGhlbgotKyAgICBpZiB0 ZXN0ICJ4LSRhY19jdl9saWJfY3J5cHRvX0hNQUNfVXBkYXRlIiA9ICJ4LXllcyIgOyB0aGVuCi0g ICAgICAgICBBQ19DSEVDS19IRUFERVJTKG9wZW5zc2wvc3NsLmgpCi0gICAgIGZpCi0gICAgIGlm IHRlc3QgIngtJGFjX2N2X2hlYWRlcl9vcGVuc3NsX3NzbF9oIiA9ICJ4LXllcyIgOyB0aGVuCi0t LSAKLTIuOS4zCi0KCmRpZmYgLS1naXQgYS8wMDAyLWF1dGhyZWdfbGRhcGZ1bGwtYWRhcHQtdG8t b3BlbnNzbC0xLjEucGF0Y2ggYi8wMDAyLWF1dGhyZWdfbGRhcGZ1bGwtYWRhcHQtdG8tb3BlbnNz bC0xLjEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI3NzFjMWEuLjAwMDAw MDAKLS0tIGEvMDAwMi1hdXRocmVnX2xkYXBmdWxsLWFkYXB0LXRvLW9wZW5zc2wtMS4xLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjQ5ICswLDAgQEAKLUZyb20gOGEwY2M4Zjc5ZmFhZTU3YzNk NGU2YzgwMWM1NTQ5NzA3ODA0MTZkYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFk cmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPgotRGF0ZTogRnJpLCAyIERlYyAyMDE2IDEyOjIw OjI5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBhdXRocmVnX2xkYXBmdWxsOiBhZGFwdCB0 byBvcGVuc3NsLTEuMQotCi1BZGRpbmcgI2lmZGVmcyB0byB1c2UgdGhlIG5ldyBvcGVuc3NsLTEu MSBBUEkgaWYgZGV0ZWN0ZWQuCi0KLVNpZ25lZC1vZmYtYnk6IEFkcmlhbiBSZWJlciA8YWRyaWFu QGxpc2FzLmRlPgotLS0tCi0gc3RvcmFnZS9hdXRocmVnX2xkYXBmdWxsLmMgfCAxMDcgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQs IDk0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3RvcmFn ZS9hdXRocmVnX2xkYXBmdWxsLmMgYi9zdG9yYWdlL2F1dGhyZWdfbGRhcGZ1bGwuYwotaW5kZXgg N2IzMmQ0OC4uNmRiZjIwMiAxMDA2NDQKLS0tLSBhL3N0b3JhZ2UvYXV0aHJlZ19sZGFwZnVsbC5j Ci0rKysgYi9zdG9yYWdlL2F1dGhyZWdfbGRhcGZ1bGwuYwotQEAgLTM5LDYgKzM5LDcgQEAKLSAK LSAjaWZkZWYgSEFWRV9TU0wKLSAjaW5jbHVkZSA8b3BlbnNzbC9yYW5kLmg+Ci0rI2luY2x1ZGUg PG9wZW5zc2wvZXZwLmg+Ci0gI2VuZGlmCi0gCi0gI2luY2x1ZGUgPGxiZXIuaD4KLUBAIC0yMjgs MTMgKzIyOSwxOCBAQCBpbnQgX2xkYXBmdWxsX2Jhc2U2NF9kZWNvZGUoIGNvbnN0IGNoYXIgKnNy YywgY29uc3QgdW5zaWduZWQgY2hhciAqKnJldCwgaW50ICpybAotICAgICBpbnQgcmMsIHRsZW4g PSAwOwotICAgICBpbnQgaTsKLSAgICAgdW5zaWduZWQgY2hhciAqdGV4dDsKLSsjaWYgT1BFTlNT TF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCi0gICAgIEVWUF9FTkNPREVfQ1RYIEVWUF9j dHg7Ci0rI2Vsc2UKLSsgICAgRVZQX0VOQ09ERV9DVFggKkVWUF9jdHg7Ci0rI2VuZGlmCi0gCi0g ICAgIHRleHQgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygoKHN0cmxlbihzcmMpKzMpLzQgKiAz KSArIDEpOwotICAgICBpZiAodGV4dCA9PSBOVUxMKSB7Ci0gICAgICAgICByZXR1cm4gMDsKLSAg ICAgfQotIAotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKLSAgICAg RVZQX0RlY29kZUluaXQoJkVWUF9jdHgpOwotICAgICByYyA9IEVWUF9EZWNvZGVVcGRhdGUoJkVW UF9jdHgsIHRleHQsICZpLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKXNyYywgc3RybGVuKHNyYykp OwotICAgICBpZiAocmMgPCAwKSB7Ci1AQCAtMjQzLDQwICsyNDksNzAgQEAgaW50IF9sZGFwZnVs bF9iYXNlNjRfZGVjb2RlKCBjb25zdCBjaGFyICpzcmMsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKipy ZXQsIGludCAqcmwKLSAgICAgfQotICAgICB0bGVuKz1pOwotICAgICBFVlBfRGVjb2RlRmluYWwo JkVWUF9jdHgsICh1bnNpZ25lZCBjaGFyKil0ZXh0LCAmaSk7Ci0rI2Vsc2UKLSsgICAgRVZQX2N0 eCA9IEVWUF9FTkNPREVfQ1RYX25ldygpOwotKyAgICBFVlBfRGVjb2RlSW5pdChFVlBfY3R4KTsK LSsgICAgcmMgPSBFVlBfRGVjb2RlVXBkYXRlKEVWUF9jdHgsIHRleHQsICZpLCAoY29uc3QgdW5z aWduZWQgY2hhciAqKXNyYywgc3RybGVuKHNyYykpOwotKyAgICBpZiAocmMgPCAwKSB7Ci0rICAg ICAgICBmcmVlKHRleHQpOwotKyAgICAgICAgRVZQX0VOQ09ERV9DVFhfZnJlZShFVlBfY3R4KTsK LSsgICAgICAgIHJldHVybiAwOwotKyAgICB9Ci0rICAgIHRsZW4rPWk7Ci0rICAgIEVWUF9EZWNv ZGVGaW5hbChFVlBfY3R4LCAodW5zaWduZWQgY2hhciopdGV4dCwgJmkpOwotKyNlbmRpZgotIAot ICAgICAqcmV0ID0gdGV4dDsKLSAgICAgaWYgKHJsZW4gIT0gTlVMTCkgewotICAgICAgICAgKnJs ZW4gPSB0bGVuOwotICAgICB9Ci0gCi0rI2lmICEoT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4 MTAxMDAwMDVMKQotKyAgICBFVlBfRU5DT0RFX0NUWF9mcmVlKEVWUF9jdHgpOwotKyNlbmRpZgot ICAgICByZXR1cm4gMTsKLSB9Ci0gCi0gc3RhdGljIGludCBfbGRhcGZ1bGxfYmFzZTY0X2VuY29k ZSggY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCBpbnQgc3JjbGVuLCBjaGFyICoqcmV0LCBpbnQg KnJsZW4gKSB7Ci0gICAgIGludCB0bGVuID0gMDsKLSAgICAgdW5zaWduZWQgY2hhciAqdGV4dDsK LSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCi0gICAgIEVWUF9FTkNP REVfQ1RYIEVWUF9jdHg7Ci0rI2Vsc2UKLSsgICAgRVZQX0VOQ09ERV9DVFggKkVWUF9jdHg7Ci0r I2VuZGlmCi0rCi0gCi0gICAgIHRleHQgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygoc3JjbGVu KjQvMykgKyAxICk7Ci0gICAgIGlmICh0ZXh0ID09IE5VTEwpIHsKLSAgICAgICAgIHJldHVybiAw OwotICAgICB9Ci0gCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAot ICAgICBFVlBfRW5jb2RlSW5pdCgmRVZQX2N0eCk7Ci0gICAgIEVWUF9FbmNvZGVVcGRhdGUoJkVW UF9jdHgsIHRleHQsICZ0bGVuLCBzcmMsIHNyY2xlbik7Ci0gICAgIEVWUF9FbmNvZGVGaW5hbCgm RVZQX2N0eCwgdGV4dCwgJnRsZW4pOwotKyNlbHNlCi0rICAgIEVWUF9jdHggPSBFVlBfRU5DT0RF X0NUWF9uZXcoKTsKLSsgICAgRVZQX0VuY29kZUluaXQoRVZQX2N0eCk7Ci0rICAgIEVWUF9FbmNv ZGVVcGRhdGUoRVZQX2N0eCwgdGV4dCwgJnRsZW4sIHNyYywgc3JjbGVuKTsKLSsgICAgRVZQX0Vu Y29kZUZpbmFsKEVWUF9jdHgsIHRleHQsICZ0bGVuKTsKLSsjZW5kaWYKLSAKLSAgICAgKnJldCA9 IChjaGFyKil0ZXh0OwotICAgICBpZiAocmxlbiAhPSBOVUxMKSB7Ci0gICAgICAgICAqcmxlbiA9 IHRsZW47Ci0gICAgIH0KLSAKLSsjaWYgIShPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEw MDAwNUwpCi0rICAgIEVWUF9FTkNPREVfQ1RYX2ZyZWUoRVZQX2N0eCk7Ci0rI2VuZGlmCi0gICAg IHJldHVybiAxOwotIH0KLSAKLSBpbnQgX2xkYXBmdWxsX2Noa19oYXNoZWQobW9kZGF0YV90IGRh dGEsIGNvbnN0IGNoYXIgKnNjaGVtZSwgaW50IHNhbHRlZCwgY29uc3QgY2hhciAqaGFzaCwgY29u c3QgY2hhciAqcGFzc3dkKSB7Ci0gICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJoYXNoOyAvLyBi aW5hcnkgaGFzaCwgd2lsbCBnZXQgaXQgZnJvbSBiYXNlNjQKLS0gICAgRVZQX01EX0NUWCBtZGN0 eDsKLSsgICAgRVZQX01EX0NUWCAqbWRjdHg7Ci0gICAgIGNvbnN0IEVWUF9NRCAqbWQ7Ci0gICAg IHVuc2lnbmVkIGNoYXIgZGlnZXN0W0VWUF9NQVhfTURfU0laRV07Ci0gICAgIGludCBiaGxlbiwg cmM7Ci1AQCAtMjg5LDIyICszMjUsMzIgQEAgaW50IF9sZGFwZnVsbF9jaGtfaGFzaGVkKG1vZGRh dGFfdCBkYXRhLCBjb25zdCBjaGFyICpzY2hlbWUsIGludCBzYWx0ZWQsIGNvbnN0IGMKLSAgICAg ICAgIHJldHVybiAwOwotICAgICB9Ci0gCi0tICAgIEVWUF9EaWdlc3RJbml0KCZtZGN0eCwgbWQp OwotLSAgICBFVlBfRGlnZXN0VXBkYXRlKCZtZGN0eCwgcGFzc3dkLCBzdHJsZW4ocGFzc3dkKSk7 Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAotKyAgICBtZGN0eCA9 IEVWUF9NRF9DVFhfY3JlYXRlKCk7Ci0rI2Vsc2UKLSsgICAgbWRjdHggPSBFVlBfTURfQ1RYX25l dygpOwotKyNlbmRpZgotKyAgICBFVlBfRGlnZXN0SW5pdChtZGN0eCwgbWQpOwotKyAgICBFVlBf RGlnZXN0VXBkYXRlKG1kY3R4LCBwYXNzd2QsIHN0cmxlbihwYXNzd2QpKTsKLSAgICAgaWYgKHNh bHRlZCkgewotLSAgICAgICAgRVZQX0RpZ2VzdFVwZGF0ZSgmbWRjdHgsICZiaGFzaFtFVlBfTURf c2l6ZShtZCldLAotKyAgICAgICAgRVZQX0RpZ2VzdFVwZGF0ZShtZGN0eCwgJmJoYXNoW0VWUF9N RF9zaXplKG1kKV0sCi0gICAgICAgICAgICAgICAgIGJobGVuIC0gRVZQX01EX3NpemUobWQpKTsK LSAgICAgfQotLSAgICBFVlBfRGlnZXN0RmluYWwoJm1kY3R4LCBkaWdlc3QsIE5VTEwpOwotKyAg ICBFVlBfRGlnZXN0RmluYWwobWRjdHgsIGRpZ2VzdCwgTlVMTCk7Ci0gCi0gICAgIHJjID0gbWVt Y21wKChjaGFyICopYmhhc2gsIChjaGFyICopZGlnZXN0LCBFVlBfTURfc2l6ZShtZCkpOwotICAg ICBmcmVlKCh2b2lkKiliaGFzaCk7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEw MTAwMDA1TAotKyAgICBFVlBfTURfQ1RYX2Rlc3Ryb3kobWRjdHgpOwotKyNlbHNlCi0rICAgIEVW UF9NRF9DVFhfZnJlZShtZGN0eCk7Ci0rI2VuZGlmCi0gICAgIHJldHVybiAhcmM7Ci0gfQotIAot IGludCBfbGRhcGZ1bGxfc2V0X2hhc2hlZChtb2RkYXRhX3QgZGF0YSwgY29uc3QgY2hhciAqc2No ZW1lLCBjb25zdCBjaGFyICpwcmVmaXgsIGludCBzYWx0bGVuLCBjb25zdCBjaGFyICpwYXNzd2Qs IGNoYXIgKmJ1ZiwgaW50IGJ1ZmxlbikgewotICAgICBjaGFyICpoYXNoID0gMDsgLy8gYmFzZTY0 IGhhc2gKLS0gICAgRVZQX01EX0NUWCBtZGN0eDsKLSsgICAgRVZQX01EX0NUWCAqbWRjdHg7Ci0g ICAgIGNvbnN0IEVWUF9NRCAqbWQ7Ci0gICAgIHVuc2lnbmVkIGNoYXIgKmRpZ2VzdDsKLSAgICAg dW5zaWduZWQgY2hhciAqc2FsdDsKLUBAIC0zMTYsMzAgKzM2Miw0OCBAQCBpbnQgX2xkYXBmdWxs X3NldF9oYXNoZWQobW9kZGF0YV90IGRhdGEsIGNvbnN0IGNoYXIgKnNjaGVtZSwgY29uc3QgY2hh ciAqcHJlZml4LAotICAgICBpZiAoIW1kKSB7Ci0gICAgICAgICByZXR1cm4gMDsKLSAgICAgfQot LSAgICBFVlBfRGlnZXN0SW5pdCgmbWRjdHgsIG1kKTsKLS0gICAgRVZQX0RpZ2VzdFVwZGF0ZSgm bWRjdHgsIHBhc3N3ZCwgc3RybGVuKHBhc3N3ZCkpOwotKwotKyNpZiBPUEVOU1NMX1ZFUlNJT05f TlVNQkVSIDwgMHgxMDEwMDAwNUwKLSsgICAgbWRjdHggPSBFVlBfTURfQ1RYX2NyZWF0ZSgpOwot KyNlbHNlCi0rICAgIG1kY3R4ID0gRVZQX01EX0NUWF9uZXcoKTsKLSsjZW5kaWYKLSsgICAgRVZQ X0RpZ2VzdEluaXQobWRjdHgsIG1kKTsKLSsgICAgRVZQX0RpZ2VzdFVwZGF0ZShtZGN0eCwgcGFz c3dkLCBzdHJsZW4ocGFzc3dkKSk7Ci0gICAgIGlmIChzYWx0bGVuKSB7Ci0gICAgICAgICBzYWx0 ID0gKHVuc2lnbmVkIGNoYXIgKiltYWxsb2Moc2FsdGxlbik7Ci0gICAgICAgICBpZiggIXNhbHQg KSB7Ci0tICAgICAgICAgICAgRVZQX01EX0NUWF9jbGVhbnVwKCZtZGN0eCk7Ci0rI2lmIE9QRU5T U0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAotKyAgICAgICAgICAgIEVWUF9NRF9DVFhf ZGVzdHJveShtZGN0eCk7Ci0rI2Vsc2UKLSsgICAgICAgICAgICBFVlBfTURfQ1RYX2ZyZWUobWRj dHgpOwotKyNlbmRpZgotICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICAgfQotICAgICAg ICAgaWYoICFSQU5EX2J5dGVzKHNhbHQsc2FsdGxlbikgKSB7Ci0tICAgICAgICAgICAgRVZQX01E X0NUWF9jbGVhbnVwKCZtZGN0eCk7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEw MTAwMDA1TAotKyAgICAgICAgICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZGN0eCk7Ci0rI2Vsc2UK LSsgICAgICAgICAgICBFVlBfTURfQ1RYX2ZyZWUobWRjdHgpOwotKyNlbmRpZgotICAgICAgICAg ICAgIGZyZWUoc2FsdCk7Ci0gICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICB9Ci0tICAg ICAgICBFVlBfRGlnZXN0VXBkYXRlKCZtZGN0eCwgc2FsdCwgc2FsdGxlbik7Ci0rICAgICAgICBF VlBfRGlnZXN0VXBkYXRlKG1kY3R4LCBzYWx0LCBzYWx0bGVuKTsKLSAgICAgfQotICAgICBkaWdl c3QgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYyhFVlBfTURfc2l6ZShtZCkgKyBzYWx0bGVuKTsK LSAgICAgaWYoICFkaWdlc3QgKSB7Ci0gICAgICAgICBpZiAoc2FsdGxlbikgewotICAgICAgICAg ICAgIGZyZWUoc2FsdCk7Ci0gICAgICAgICB9Ci0tICAgICAgICBFVlBfTURfQ1RYX2NsZWFudXAo Jm1kY3R4KTsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCi0rICAg ICAgICBFVlBfTURfQ1RYX2Rlc3Ryb3kobWRjdHgpOwotKyNlbHNlCi0rICAgICAgICBFVlBfTURf Q1RYX2ZyZWUobWRjdHgpOwotKyNlbmRpZgotICAgICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLS0g ICAgRVZQX0RpZ2VzdEZpbmFsKCZtZGN0eCwgZGlnZXN0LCAmZGxlbik7Ci0rICAgIEVWUF9EaWdl c3RGaW5hbChtZGN0eCwgZGlnZXN0LCAmZGxlbik7Ci0gCi0gICAgIG1lbWNweShkaWdlc3QrZGxl bixzYWx0LHNhbHRsZW4pOwotICAgICBpZiAoc2FsdGxlbikgewotQEAgLTM1Miw2ICs0MTYsMTIg QEAgaW50IF9sZGFwZnVsbF9zZXRfaGFzaGVkKG1vZGRhdGFfdCBkYXRhLCBjb25zdCBjaGFyICpz Y2hlbWUsIGNvbnN0IGNoYXIgKnByZWZpeCwKLSAgICAgZnJlZShkaWdlc3QpOwotICAgICBpZigg IXJjICkgewotICAgICAgICAgZnJlZShoYXNoKTsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJF UiA8IDB4MTAxMDAwMDVMCi0rICAgICAgICBFVlBfTURfQ1RYX2Rlc3Ryb3kobWRjdHgpOwotKyNl bHNlCi0rICAgICAgICBFVlBfTURfQ1RYX2ZyZWUobWRjdHgpOwotKyNlbmRpZgotKyAgICAgICAg cmV0dXJuIDA7Ci0gICAgICAgICByZXR1cm4gMDsKLSAgICAgfQotIAotQEAgLTM1OSwxMiArNDI5 LDIzIEBAIGludCBfbGRhcGZ1bGxfc2V0X2hhc2hlZChtb2RkYXRhX3QgZGF0YSwgY29uc3QgY2hh ciAqc2NoZW1lLCBjb25zdCBjaGFyICpwcmVmaXgsCi0gICAgIGlmKCBobGVuICsgcGxlbiA+PSBi dWZsZW4gKSB7Ci0gICAgICAgICBsb2dfd3JpdGUoZGF0YS0+YXItPmMycy0+bG9nLExPR19FUlIs Il9sZGFwZnVsbF9zZXRfaGFzaGVkOiBidWZmZXIgaXMgdG9vIHNob3J0ICglaSBieXRlcykiLGJ1 Zmxlbik7Ci0gICAgICAgICBmcmVlKGhhc2gpOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVS IDwgMHgxMDEwMDAwNUwKLSsgICAgICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZGN0eCk7Ci0rI2Vs c2UKLSsgICAgICAgIEVWUF9NRF9DVFhfZnJlZShtZGN0eCk7Ci0rI2VuZGlmCi0rICAgICAgICBy ZXR1cm4gMDsKLSAgICAgICAgIHJldHVybiAwOwotICAgICB9Ci0gICAgIG1lbWNweShidWYscHJl Zml4LHBsZW4pOwotICAgICBtZW1jcHkoYnVmK3BsZW4saGFzaCxobGVuKTsKLSAgICAgYnVmW2hs ZW4rcGxlbl09J1wwJzsKLSAgICAgZnJlZShoYXNoKTsKLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05V TUJFUiA8IDB4MTAxMDAwMDVMCi0rICAgIEVWUF9NRF9DVFhfZGVzdHJveShtZGN0eCk7Ci0rI2Vs c2UKLSsgICAgRVZQX01EX0NUWF9mcmVlKG1kY3R4KTsKLSsjZW5kaWYKLSAKLSAgICAgcmV0dXJu IDE7Ci0gfQotLS0gCi0yLjkuMwotCgpkaWZmIC0tZ2l0IGEvMDAwMy1zeC1zc2wuYy1hZGFwdC10 by1vcGVuc3NsLTEuMS5wYXRjaCBiLzAwMDMtc3gtc3NsLmMtYWRhcHQtdG8tb3BlbnNzbC0xLjEu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDllMzczOTEuLjAwMDAwMDAKLS0t IGEvMDAwMy1zeC1zc2wuYy1hZGFwdC10by1vcGVuc3NsLTEuMS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDEzNCArMCwwIEBACi1Gcm9tIGRhMzg4NDE2ZGYxZGJhY2I2OTBlYzc1NGM2NTUwM2Ey MDZlYjJmODggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBZHJpYW4gUmViZXIgPGFk cmlhbkBsaXNhcy5kZT4KLURhdGU6IEZyaSwgMiBEZWMgMjAxNiAxNTozMzo0OCArMDEwMAotU3Vi amVjdDogW1BBVENIIDMvM10gc3gvc3NsLmM6IGFkYXB0IHRvIG9wZW5zc2wtMS4xCi0KLUFkZGlu ZyAjaWZkZWZzIHRvIHVzZSB0aGUgbmV3IG9wZW5zc2wtMS4xIEFQSSBpZiBkZXRlY3RlZC4KLQot U2lnbmVkLW9mZi1ieTogQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+Ci0tLS0KLSBzeC9z c2wuYyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCi0gMSBm aWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9zeC9zc2wuYyBiL3N4L3NzbC5jCi1pbmRleCAyMDhlYmI2Li41ZmY4NjE4IDEwMDY0NAot LS0tIGEvc3gvc3NsLmMKLSsrKyBiL3N4L3NzbC5jCi1AQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMg aW50IF9zeF9zc2xfdmVyaWZ5X2NhbGxiYWNrKGludCBwcmV2ZXJpZnlfb2ssIFg1MDlfU1RPUkVf Q1RYICpjdHgpCi0gICAgICAqLwotICAgICBpZiAoIXByZXZlcmlmeV9vayAmJiAoZXJyID09IFg1 MDlfVl9FUlJfVU5BQkxFX1RPX0dFVF9JU1NVRVJfQ0VSVCkpCi0gICAgIHsKLS0gICAgICBYNTA5 X05BTUVfb25lbGluZShYNTA5X2dldF9pc3N1ZXJfbmFtZShjdHgtPmN1cnJlbnRfY2VydCksIGJ1 ZiwgMjU2KTsKLSsgICAgICBYNTA5X05BTUVfb25lbGluZShYNTA5X2dldF9pc3N1ZXJfbmFtZShl cnJfY2VydCksIGJ1ZiwgMjU2KTsKLSAgICAgICBfc3hfZGVidWcoWk9ORSwgImlzc3Vlcj0gJXNc biIsIGJ1Zik7Ci0gICAgIH0KLSAKLUBAIC0xMTUsMTIgKzExNSwyOSBAQCBzdGF0aWMgREggKnN4 X3NzbF9tYWtlX2RoX3BhcmFtcyhCSUdOVU0gKigqY29uc3QgZ2V0X3ByaW1lKShCSUdOVU0gKiks IGNvbnN0IGNoYQotICAgICBpZiAoIWRoKQotICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gCi0rI2lm IE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDA1TAotKwotICAgICBkaC0+cCA9IGdl dF9wcmltZShOVUxMKTsKLSAgICAgQk5fZGVjMmJuKCZkaC0+ZywgZ2VuKTsKLSAgICAgaWYgKCFk aC0+cCB8fCAhZGgtPmcpIHsKLSAgICAgICAgIERIX2ZyZWUoZGgpOwotICAgICAgICAgcmV0dXJu IE5VTEw7Ci0gICAgIH0KLSsjZWxzZQotKyAgICB7Ci0rICAgICAgICBCSUdOVU0gKnAsICpnOwot KyAgICAgICAgcCA9IGdldF9wcmltZShOVUxMKTsKLSsgICAgICAgIEJOX2RlYzJibigmZywgZ2Vu KTsKLSsKLSsgICAgICAgIGlmIChwID09IE5VTEwgfHwgZyA9PSBOVUxMIHx8ICFESF9zZXQwX3Bx ZyhkaCwgcCwgTlVMTCwgZykpIHsKLSsgICAgICAgICAgICBESF9mcmVlKGRoKTsKLSsgICAgICAg ICAgICBCTl9mcmVlKHApOwotKyAgICAgICAgICAgIEJOX2ZyZWUoZyk7Ci0rICAgICAgICAgICAg cmV0dXJuIE5VTEw7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsjZW5kaWYKLSsKLSAgICAgcmV0dXJu IGRoOwotIH0KLSAKLUBAIC0xMzQsNyArMTUxLDcgQEAgc3RhdGljIHZvaWQgc3hfc3NsX2ZyZWVf ZGhfcGFyYW1zKHZvaWQpIHsKLSAKLSBzdGF0aWMgREggKl9zeF9zc2xfdG1wX2RoX2NhbGxiYWNr KFNTTCAqc3NsLCBpbnQgZXhwb3J0LCBpbnQga2V5bGVuKSB7Ci0gICAgIEVWUF9QS0VZICpwa2V5 ID0gU1NMX2dldF9wcml2YXRla2V5KHNzbCk7Ci0tICAgIGludCB0eXBlID0gcGtleSA/IEVWUF9Q S0VZX3R5cGUocGtleS0+dHlwZSkgOiBFVlBfUEtFWV9OT05FOwotKyAgICBpbnQgdHlwZSA9IHBr ZXkgPyBFVlBfUEtFWV9iYXNlX2lkKHBrZXkpIDogRVZQX1BLRVlfTk9ORTsKLSAgICAgdW5zaWdu ZWQgaTsKLSAKLSAgICAgaWYgKHR5cGUgPT0gRVZQX1BLRVlfUlNBIHx8IHR5cGUgPT0gRVZQX1BL RVlfRFNBKQotQEAgLTM1MSw3ICszNjgsMTEgQEAgc3RhdGljIHZvaWQgX3N4X3NzbF9nZXRfZXh0 ZXJuYWxfaWQoc3hfdCBzLCBfc3hfc3NsX2Nvbm5fdCBzYykgewotICAgICAgICAgICAgIH0gZWxz ZSBpZiAoYWx0bmFtZS0+dHlwZSA9PSBHRU5fRE5TKSB7Ci0gICAgICAgICAgICAgICAgIGxlbiA9 IEFTTjFfU1RSSU5HX2xlbmd0aChhbHRuYW1lLT5kLmROU05hbWUpOwotICAgICAgICAgICAgICAg ICBzYy0+ZXh0ZXJuYWxfaWRbaWRdID0gKGNoYXIgKikgbWFsbG9jKHNpemVvZihjaGFyKSAqICAo bGVuICsgMSkpOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwNUwKLSAg ICAgICAgICAgICAgICAgbWVtY3B5KHNjLT5leHRlcm5hbF9pZFtpZF0sIEFTTjFfU1RSSU5HX2Rh dGEoYWx0bmFtZS0+ZC5kTlNOYW1lKSwgbGVuKTsKLSsjZWxzZQotKyAgICAgICAgICAgICAgICBt ZW1jcHkoc2MtPmV4dGVybmFsX2lkW2lkXSwgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKGFsdG5hbWUt PmQuZE5TTmFtZSksIGxlbik7Ci0rI2VuZGlmCi0gICAgICAgICAgICAgICAgIHNjLT5leHRlcm5h bF9pZFtpZF1bbGVuXSA9ICdcMCc7IC8vIGp1c3QgdG8gbWFrZSBzdXJlCi0gICAgICAgICAgICAg ICAgIF9zeF9kZWJ1ZyhaT05FLCAiZXh0ZXJuYWxfaWQ6IEZvdW5kKCVkKSBzdWJqZWN0QWx0TmFt ZS9kTlNOYW1lOiAnJXMnIiwgaWQsIHNjLT5leHRlcm5hbF9pZFtpZF0pOwotICAgICAgICAgICAg ICAgICBpZCsrOwotQEAgLTcyOCwxMSArNzQ5LDE1IEBAIHN0YXRpYyB2b2lkIF9zeF9zc2xfY2xp ZW50KHN4X3Qgcywgc3hfcGx1Z2luX3QgcCkgewotICAgICBTU0xfc2V0X2JpbyhzYy0+c3NsLCBz Yy0+cmJpbywgc2MtPndiaW8pOwotICAgICBTU0xfc2V0X2Nvbm5lY3Rfc3RhdGUoc2MtPnNzbCk7 Ci0gICAgIFNTTF9zZXRfb3B0aW9ucyhzYy0+c3NsLCBTU0xfT1BfTk9fVElDS0VUKTsKLSsjaWYg T1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDVMCi0gI2lmZGVmIEVOQUJMRV9FWFBF UklNRU5UQUwKLSAgICAgU1NMX3NldF9zc2xfbWV0aG9kKHNjLT5zc2wsIFRMU3YxXzJfY2xpZW50 X21ldGhvZCgpKTsKLSAjZWxzZQotICAgICBTU0xfc2V0X3NzbF9tZXRob2Qoc2MtPnNzbCwgVExT djFfY2xpZW50X21ldGhvZCgpKTsKLSAjZW5kaWYKLSsjZWxzZQotKyAgICBTU0xfc2V0X3NzbF9t ZXRob2Qoc2MtPnNzbCwgVExTX2NsaWVudF9tZXRob2QoKSk7Ci0rI2VuZGlmCi0gCi0gICAgIC8q IGVtcHR5IGV4dGVybmFsX2lkICovCi0gICAgIGZvciAoaSA9IDA7IGkgPCBTWF9DT05OX0VYVEVS TkFMX0lEX01BWF9DT1VOVDsgaSsrKQotQEAgLTc2MSw4ICs3ODYsOCBAQCBzdGF0aWMgdm9pZCBf c3hfc3NsX2NsaWVudChzeF90IHMsIHN4X3BsdWdpbl90IHApIHsKLSAgICAgICAgIH0KLSAKLSAg ICAgICAgIC8qIHNldCBjYWxsYmFjayBnaXZpbmcgYSBwYXNzd29yZCBmb3IgcGVtZmlsZSAqLwot LSAgICAgICAgU1NMX0NUWF9zZXRfZGVmYXVsdF9wYXNzd2RfY2JfdXNlcmRhdGEoc2MtPnNzbC0+ Y3R4LCAodm9pZCAqKXBlbWZpbGVfcGFzc3dvcmQpOwotLSAgICAgICAgU1NMX0NUWF9zZXRfZGVm YXVsdF9wYXNzd2RfY2Ioc2MtPnNzbC0+Y3R4LCAmX3N4X3BlbV9wYXNzd2RfY2FsbGJhY2spOwot KyAgICAgICAgU1NMX0NUWF9zZXRfZGVmYXVsdF9wYXNzd2RfY2JfdXNlcmRhdGEoY3R4LCAodm9p ZCAqKXBlbWZpbGVfcGFzc3dvcmQpOwotKyAgICAgICAgU1NMX0NUWF9zZXRfZGVmYXVsdF9wYXNz d2RfY2IoY3R4LCAmX3N4X3BlbV9wYXNzd2RfY2FsbGJhY2spOwotIAotICAgICAgICAgLyogbG9h ZCB0aGUgcHJpdmF0ZSBrZXkgKi8KLSAgICAgICAgIHJldCA9IFNTTF91c2VfUHJpdmF0ZUtleV9m aWxlKHNjLT5zc2wsIHBlbWZpbGUsIFNTTF9GSUxFVFlQRV9QRU0pOwotQEAgLTk3NywxMSArMTAw MiwxNSBAQCBpbnQgc3hfc3NsX3NlcnZlcl9hZGRjZXJ0KHN4X3BsdWdpbl90IHAsIGNvbnN0IGNo YXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBlbWZpbGUsCi0gICAgIEVSUl9jbGVhcl9lcnJvcigpOwot IAotICAgICAvKiBjcmVhdGUgdGhlIGNvbnRleHQgKi8KLSsjaWYgT1BFTlNTTF9WRVJTSU9OX05V TUJFUiA8IDB4MTAxMDAwMDVMCi0gI2lmZGVmIEVOQUJMRV9FWFBFUklNRU5UQUwKLSAgICAgY3R4 ID0gU1NMX0NUWF9uZXcoVExTdjFfMl9tZXRob2QoKSk7Ci0gI2Vsc2UKLSAgICAgY3R4ID0gU1NM X0NUWF9uZXcoU1NMdjIzX21ldGhvZCgpKTsKLSAjZW5kaWYKLSsjZWxzZQotKyAgICBjdHggPSBT U0xfQ1RYX25ldyhUTFNfbWV0aG9kKCkpOwotKyNlbmRpZgotICAgICBpZihjdHggPT0gTlVMTCkg ewotICAgICAgICAgX3N4X2RlYnVnKFpPTkUsICJzc2wgY29udGV4dCBjcmVhdGlvbiBmYWlsZWQ7 ICVzIiwgRVJSX2Vycm9yX3N0cmluZyhFUlJfZ2V0X2Vycm9yKCksIE5VTEwpKTsKLSAgICAgICAg IHJldHVybiAxOwotQEAgLTEwNjMsNyArMTA5MiwxMSBAQCBpbnQgc3hfc3NsX3NlcnZlcl9hZGRj ZXJ0KHN4X3BsdWdpbl90IHAsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnBlbWZpbGUs Ci0gICAgIC8qIHRyeSB0byByZWFkIERIIHBhcmFtcyBmcm9tIHBlbSBmaWxlICovCi0gICAgIGlm KChkaHBhcmFtcyA9IHN4X3NzbF9nZXRfREhwYXJhbXMocGVtZmlsZSkpKSB7Ci0gICAgICAgICBT U0xfQ1RYX3NldF90bXBfZGgoY3R4LCBkaHBhcmFtcyk7Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9O VU1CRVIgPCAweDEwMTAwMDA1TAotICAgICAgICAgX3N4X2RlYnVnKFpPTkUsICJjdXN0b20gREgg cGFyYW1ldGVycyBsb2FkZWQgZnJvbSBjZXJ0aWZpY2F0ZSIsIEJOX251bV9iaXRzKGRocGFyYW1z LT5wKSk7Ci0rI2Vsc2UKLSsgICAgICAgIF9zeF9kZWJ1ZyhaT05FLCAiY3VzdG9tIERIIHBhcmFt ZXRlcnMgbG9hZGVkIGZyb20gY2VydGlmaWNhdGUiLCBESF9iaXRzKGRocGFyYW1zKSk7Ci0rI2Vu ZGlmCi0gICAgIH0KLSAKLSAgICAgLyogdHJ5IHRvIHJlYWQgRUNESCBwYXJhbXMgZnJvbSBwZW0g ZmlsZSAqLwotLS0gCi0yLjkuMwotCgpkaWZmIC0tZ2l0IGEvMTgxZTczNmRjYmIxOWM4MjgyNjZk ODg4MzdmNDM0MzUxMGI0ZDIwZS5wYXRjaCBiLzE4MWU3MzZkY2JiMTljODI4MjY2ZDg4ODM3ZjQz NDM1MTBiNGQyMGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwZWM0ZTUu LjAwMDAwMDAKLS0tIGEvMTgxZTczNmRjYmIxOWM4MjgyNjZkODg4MzdmNDM0MzUxMGI0ZDIwZS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gMTgxZTczNmRjYmIxOWM4 MjgyNjZkODg4MzdmNDM0MzUxMGI0ZDIwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IE9sZWcgR2lya28gPG9sQGluZm9zZXJ2ZXIubHY+Ci1EYXRlOiBGcmksIDIyIFNlcCAyMDE3IDIy OjE4OjM0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHN4L3NzbC5jOiBmaXggdW5kZWZpbmVkIGJl aGF2aW91ciB3aXRoIG9wZW5zc2wtMS4xCi0KLUJOX2RlYzJibiBpbiBPcGVuU1NMIDEuMSByZXF1 aXJlcyBpdHMgZmlyc3QgYXJndW1lbnQgdG8gcG9pbnQgdG8KLWVpdGhlciBwb2ludGVyIHRvIGlu aXRpYWxpc2VkIEJJR05VTSBvciBOVUxMLgotVXNpbmcgcG9pbnRlciB0byB1bmluaXRpYWxpc2Vk IHBvaW50ZXIgdG8gQklHTlVNIGlzIHVuZGVmaW5lZCBiZWhhdmlvdXIKLWNhdXNpbmcgY29yZWR1 bXBzIG9yIG90aGVyIG1lbW9yeSBjb3JydXB0aW9uLgotCi1UaGlzIGNoYW5nZSBmaXhlcyBtaXNz aW5nIGluaXRpYWxpc2F0aW9uIG92ZXJsb29rZWQgd2hlbiBwb3J0aW5nCi10byBPcGVuU1NMIDEu MSBBUEkuCi0KLVNpZ25lZC1vZmYtYnk6IE9sZWcgR2lya28gPG9sQGluZm9zZXJ2ZXIubHY+Ci0t LS0KLSBzeC9zc2wuYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3N4L3NzbC5jIGIvc3gvc3NsLmMKLWluZGV4IDg1 ZmI3MDlkLi40NzY3NDhmMSAxMDA2NDQKLS0tLSBhL3N4L3NzbC5jCi0rKysgYi9zeC9zc2wuYwot QEAgLTEyNCw3ICsxMjQsNyBAQCBzdGF0aWMgREggKnN4X3NzbF9tYWtlX2RoX3BhcmFtcyhCSUdO VU0gKigqY29uc3QgZ2V0X3ByaW1lKShCSUdOVU0gKiksIGNvbnN0IGNoYQotICAgICB9Ci0gI2Vs c2UKLSAgICAgewotLSAgICAgICAgQklHTlVNICpwLCAqZzsKLSsgICAgICAgIEJJR05VTSAqcCwg KmcgPSBOVUxMOwotICAgICAgICAgcCA9IGdldF9wcmltZShOVUxMKTsKLSAgICAgICAgIEJOX2Rl YzJibigmZywgZ2VuKTsKLSAKCmRpZmYgLS1naXQgYS9SRUFETUUuZmVkb3JhIGIvUkVBRE1FLmZl ZG9yYQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmFlMzBhNy4uMDAwMDAwMAotLS0g YS9SRUFETUUuZmVkb3JhCisrKyAvZGV2L251bGwKQEAgLTEsOSArMCwwIEBACi1UbyBtYWtlIHRo ZSBhdXRoZW50aWNhdGlvbiBhZ2FpbnN0IFBBTSBhY3R1YWxseSB3b3JrIG9uZSBvZiB0aGUgc3lz dGVtZAotc2VydmljZSBmaWxlcyBuZWVkcyB0byBhbHRlcmVkLiBUaGUgYzJzIHBhcnQgb2YgamFi YmVyZCBuZWVkcyB0byBydW4gYXMKLXJvb3QgdG8gYmUgYWJsZSB0byByZWFkIC9ldGMvc2hhZG93 LiBPbmUgd2F5IHRvIGFjY29tcGxpc2ggdGhpcyBpcyB0bwotY3JlYXRlIGEgamFiYmVyZC1jMnMu c2VydmljZSBmaWxlIGluIC9ldGMvc3lzdGVtZC9zeXN0ZW0gd2l0aAotZm9sbG93aW5nIGNvbnRl bnQ6Ci0KLS5pbmNsdWRlIC91c3IvbGliL3N5c3RlbWQvc3lzdGVtL2phYmJlcmQtYzJzLnNlcnZp Y2UKLVtTZXJ2aWNlXQotVXNlcj1yb290CgpkaWZmIC0tZ2l0IGEvZGVhZC5wYWNrYWdlIGIvZGVh ZC5wYWNrYWdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMzVhNjQKLS0t IC9kZXYvbnVsbAorKysgYi9kZWFkLnBhY2thZ2UKQEAgLTAsMCArMSBAQAorUmV0aXJlZDogRmFp bHMgdG8gaW5zdGFsbDogaHR0cHM6Ly9mb3JnZS5mZWRvcmFwcm9qZWN0Lm9yZy9yZWxlbmcvdGlj a2V0cy9pc3N1ZXMvMTM0NzMKCmRpZmYgLS1naXQgYS9qYWJiZXJkLWM5OS5wYXRjaCBiL2phYmJl cmQtYzk5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTE1MzU5Li4wMDAw MDAwCi0tLSBhL2phYmJlcmQtYzk5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTMyICswLDAg QEAKLWRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKLWluZGV4IDU1MWE5NjNhZTA2 YTM2MjQuLjA2YmEyYzRlYmRlM2U5YWIgMTAwNzU1Ci0tLS0gYS9jb25maWd1cmUKLSsrKyBiL2Nv bmZpZ3VyZQotQEAgLTE2MzQxLDggKzE2MzQxLDkgQEAgZWxzZQotIC8qIGVuZCBjb25mZGVmcy5o LiAgKi8KLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VndigpIHsgZXhpdCgxKTsgfQotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1haW4oKSB7IGNoYXIgYlsxMF07IHNpZ25hbChTSUdTRUdWLHNlZ3YpOyBzbnBy aW50ZihiLDEwLCIlcyIsTlVMTCk7IGV4aXQoMCk7IH0KLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjaW5jbHVkZSA8c3RkbGliLmg+Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCBzZWd2KCkgeyBleGl0KDEpOyB9Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IG1haW4oKSB7IGNoYXIgYlsxMF07IHNpZ25hbChTSUdT RUdWLHNlZ3YpOyBzbnByaW50ZihiLDEwLCIlcyIsTlVMTCk7IGV4aXQoMCk7IH0KLSBfQUNFT0YK LSBpZiBhY19mbl9jX3RyeV9ydW4gIiRMSU5FTk8iOyB0aGVuIDoKLSAgIHsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVzdWx0OiB5ZXMiID4mNQotQEAgLTE2MzczLDkg KzE2Mzc0LDEwIEBAIGVsc2UKLSAjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGFyZy5oPgotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlZ3YoKSB7IGV4aXQoMSk7IH0KLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBleHBhbmQoY2hhciAqZiwuLi4pIHsgdmFfbGlzdCBhcDsg Y2hhciBiWzEwXTsgdmFfc3RhcnQoYXAsZik7IHZzbnByaW50ZihiLDEwLGYsYXApOyB2YV9lbmQo YXApOyB9Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbigpIHsgY2hh ciBiWzEwXTsgc2lnbmFsKFNJR1NFR1Ysc2Vndik7IGV4cGFuZCgiJXMiLCBOVUxMKTsgZXhpdCgw KTsgfQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNpbmNsdWRlIDxzdGRs aWIuaD4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIHNlZ3YoKSB7 IGV4aXQoMSk7IH0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkIGV4 cGFuZChjaGFyICpmLC4uLikgeyB2YV9saXN0IGFwOyBjaGFyIGJbMTBdOyB2YV9zdGFydChhcCxm KTsgdnNucHJpbnRmKGIsMTAsZixhcCk7IHZhX2VuZChhcCk7IH0KLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgbWFpbigpIHsgY2hhciBiWzEwXTsgc2lnbmFsKFNJR1NF R1Ysc2Vndik7IGV4cGFuZCgiJXMiLCBOVUxMKTsgZXhpdCgwKTsgfQotIF9BQ0VPRgotIGlmIGFj X2ZuX2NfdHJ5X3J1biAiJExJTkVOTyI7IHRoZW4gOgotICAgeyAkYXNfZWNobyAiJGFzX21lOiR7 YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IHllcyIgPiY1Ci1kaWZmIC0tZ2l0IGEvY29uZmln dXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhZjE3MzU0MDc4NTI3MWZkLi4wNzE5MzM4MzBm MzY3NmIyIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBA IC0zMjMsOCArMzIzLDkgQEAgaWYgdGVzdCAieC0kYWNfY3ZfZnVuY19zbnByaW50ZiIgPSAieC15 ZXMiIDsgdGhlbgotICAgICBBQ19NU0dfQ0hFQ0tJTkcoW2lmIHNucHJpbnRmIGNhbiBoYW5kbGUg TlVMTCBhcmd1bWVudHNdKQotICAgICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbWyNp bmNsdWRlIDxzdGRpby5oPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNp bmNsdWRlIDxzaWduYWwuaD4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWd2KCkgeyBleGl0KDEpOyB9Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bWFpbigpIHsgY2hhciBiWzEwXTsgc2lnbmFsKFNJR1NFR1Ysc2Vndik7IHNucHJpbnRmKGIsMTAs IiVzIixOVUxMKTsgZXhpdCgwKTsgfV1dKV0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZvaWQgc2VndigpIHsgZXhpdCgxKTsgfQotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBtYWluKCkgeyBjaGFyIGJbMTBdOyBzaWduYWwoU0lHU0VHVixz ZWd2KTsgc25wcmludGYoYiwxMCwiJXMiLE5VTEwpOyBleGl0KDApOyB9XV0pXSwKLSAgICAgICAg ICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcyksCi0gICAgICAgICAgICAgICAgICAgW0FDX01T R19SRVNVTFQobm8pCi0gICAgICAgICAgICAgICAgICAgIEFDX0RFRklORShIQVZFX0JST0tFTl9T TlBSSU5URiwxLFtEZWZpbmUgdG8gMSBpZiAnc25wcmludGYnIGNhbm5vdCBoYW5kbGUgTlVMTCBh cmd1bWVudHMuXSldKQotQEAgLTMzNCw5ICszMzUsMTAgQEAgaWYgdGVzdCAieC0kYWNfY3ZfZnVu Y192c25wcmludGYiID0gIngteWVzIiA7IHRoZW4KLSAgICAgQUNfUlVOX0lGRUxTRShbQUNfTEFO R19TT1VSQ0UoW1sjaW5jbHVkZSA8c3RkaW8uaD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjaW5jbHVkZSA8c2lnbmFsLmg+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGFyZy5oPgotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlZ3YoKSB7IGV4aXQoMSk7IH0KLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBleHBhbmQoY2hhciAqZiwuLi4pIHsgdmFfbGlzdCBhcDsgY2hhciBiWzEw XTsgdmFfc3RhcnQoYXAsZik7IHZzbnByaW50ZihiLDEwLGYsYXApOyB2YV9lbmQoYXApOyB9Ci0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbigpIHsgY2hhciBiWzEwXTsg c2lnbmFsKFNJR1NFR1Ysc2Vndik7IGV4cGFuZCgiJXMiLCBOVUxMKTsgZXhpdCgwKTsgfV1dKV0s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN0ZGxpYi5o PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgc2VndigpIHsgZXhp dCgxKTsgfQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgZXhwYW5k KGNoYXIgKmYsLi4uKSB7IHZhX2xpc3QgYXA7IGNoYXIgYlsxMF07IHZhX3N0YXJ0KGFwLGYpOyB2 c25wcmludGYoYiwxMCxmLGFwKTsgdmFfZW5kKGFwKTsgfQotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBtYWluKCkgeyBjaGFyIGJbMTBdOyBzaWduYWwoU0lHU0VHVixz ZWd2KTsgZXhwYW5kKCIlcyIsIE5VTEwpOyBleGl0KDApOyB9XV0pXSwKLSAgICAgICAgICAgICAg ICAgICBBQ19NU0dfUkVTVUxUKHllcyksCi0gICAgICAgICAgICAgICAgICAgW0FDX01TR19SRVNV TFQobm8pCi0gICAgICAgICAgICAgICAgICAgIEFDX0RFRklORShIQVZFX0JST0tFTl9WU05QUklO VEYsMSxbRGVmaW5lIHRvIDEgaWYgJ3ZzbnByaW50ZicgY2Fubm90IGhhbmRsZSBOVUxMIGFyZ3Vt ZW50cy5dKV0pCi1kaWZmIC0tZ2l0IGEvc3RvcmFnZS9hdXRocmVnX2xkYXBmdWxsLmMgYi9zdG9y YWdlL2F1dGhyZWdfbGRhcGZ1bGwuYwotaW5kZXggNmRiZjIwMmJmODYyNzkyNS4uYTU0NWFkMWRj YjZjY2NiOSAxMDA2NDQKLS0tLSBhL3N0b3JhZ2UvYXV0aHJlZ19sZGFwZnVsbC5jCi0rKysgYi9z dG9yYWdlL2F1dGhyZWdfbGRhcGZ1bGwuYwotQEAgLTM1LDYgKzM1LDcgQEAKLSAjaWZkZWYgU1RP UkFHRV9MREFQCi0gI2lmZGVmIEhBVkVfQ1JZUFQKLSAjaW5jbHVkZSA8dW5pc3RkLmg+Ci0rI2lu Y2x1ZGUgPGNyeXB0Lmg+Ci0gI2VuZGlmCi0gCi0gI2lmZGVmIEhBVkVfU1NMCi1kaWZmIC0tZ2l0 IGEvc3RvcmFnZS9hdXRocmVnX215c3FsLmMgYi9zdG9yYWdlL2F1dGhyZWdfbXlzcWwuYwotaW5k ZXggMGIzNWQ2ZGRmZDQwYzNhZi4uNWUxNTE0MzgzN2U2NmMwOCAxMDA2NDQKLS0tLSBhL3N0b3Jh Z2UvYXV0aHJlZ19teXNxbC5jCi0rKysgYi9zdG9yYWdlL2F1dGhyZWdfbXlzcWwuYwotQEAgLTM0 LDYgKzM0LDcgQEAKLSAjZWxzZQotICNpZmRlZiBIQVZFX0NSWVBUCi0gI2luY2x1ZGUgPHVuaXN0 ZC5oPgotKyNpbmNsdWRlIDxjcnlwdC5oPgotICNlbmRpZgotICNlbmRpZgotIAotZGlmZiAtLWdp dCBhL3N0b3JhZ2UvYXV0aHJlZ19wZ3NxbC5jIGIvc3RvcmFnZS9hdXRocmVnX3Bnc3FsLmMKLWlu ZGV4IDQ0NmZhMWY4MjE3YjE2MmEuLjEwNjVjNWQzNWI2Mjk3MzcgMTAwNjQ0Ci0tLS0gYS9zdG9y YWdlL2F1dGhyZWdfcGdzcWwuYwotKysrIGIvc3RvcmFnZS9hdXRocmVnX3Bnc3FsLmMKLUBAIC0z Miw2ICszMiw3IEBACi0gI2Vsc2UKLSAjaWZkZWYgSEFWRV9DUllQVAotICNpbmNsdWRlIDx1bmlz dGQuaD4KLSsjaW5jbHVkZSA8Y3J5cHQuaD4KLSAjZW5kaWYKLSAjZW5kaWYKLSAKLWRpZmYgLS1n aXQgYS9zdG9yYWdlL2F1dGhyZWdfc3FsaXRlLmMgYi9zdG9yYWdlL2F1dGhyZWdfc3FsaXRlLmMK LWluZGV4IDI1MDU4ZWU2MzkyMzhhOTEuLmRjZDRjYWRiYTM1MDRmYTUgMTAwNjQ0Ci0tLS0gYS9z dG9yYWdlL2F1dGhyZWdfc3FsaXRlLmMKLSsrKyBiL3N0b3JhZ2UvYXV0aHJlZ19zcWxpdGUuYwot QEAgLTQxLDYgKzQxLDcgQEAKLSAjZWxzZQotICNpZmRlZiBIQVZFX0NSWVBUCi0gI2luY2x1ZGUg PHVuaXN0ZC5oPgotKyNpbmNsdWRlIDxjcnlwdC5oPgotICNlbmRpZgotICNlbmRpZgotIAotZGlm ZiAtLWdpdCBhL3N4L3dlYnNvY2tldC5jIGIvc3gvd2Vic29ja2V0LmMKLWluZGV4IGIwOGUxMzVm NDk2NmM1OTIuLjRkZjA1MTU1OTg1MGRmZTEgMTAwNjQ0Ci0tLS0gYS9zeC93ZWJzb2NrZXQuYwot KysrIGIvc3gvd2Vic29ja2V0LmMKLUBAIC0yMiw2ICsyMiw3IEBACi0gICogaHR0cDovL3Rvb2xz LmlldGYub3JnL2h0bWwvcmZjNzM5NQotICAqLwotIAotKyNkZWZpbmUgX0dOVV9TT1VSQ0UKLSAj aW5jbHVkZSAic3guaCIKLSAjaW5jbHVkZSA8c3RkYXJnLmg+Ci0gI2luY2x1ZGUgPHN0cmluZy5o PgotZGlmZiAtLWdpdCBhL3V0aWwvY3J5cHRfYmxvd2Zpc2guaCBiL3V0aWwvY3J5cHRfYmxvd2Zp c2guaAotaW5kZXggZDgxZThjYmRlYTk0NzNkMC4uOGJhMWE5MTdhODRlOTI3NiAxMDA2NDQKLS0t LSBhL3V0aWwvY3J5cHRfYmxvd2Zpc2guaAotKysrIGIvdXRpbC9jcnlwdF9ibG93ZmlzaC5oCi1A QCAtMjMsNyArMjMsNiBAQAotICNlbmRpZgotIAotIGV4dGVybiBjaGFyICpiY3J5cHQoX19jb25z dCBjaGFyICprZXksIF9fY29uc3QgY2hhciAqc2V0dGluZyk7Ci0tZXh0ZXJuIGNoYXIgKmNyeXB0 X3IoX19jb25zdCBjaGFyICprZXksIF9fY29uc3QgY2hhciAqc2V0dGluZywgdm9pZCAqZGF0YSk7 Ci0gCi0gI2lmbmRlZiBfX1NLSVBfT1cKLSBleHRlcm4gY2hhciAqY3J5cHRfcm4oX19jb25zdCBj aGFyICprZXksIF9fY29uc3QgY2hhciAqc2V0dGluZywKCmRpZmYgLS1naXQgYS9qYWJiZXJkLWZl ZG9yYS1jcnlwdG8tcG9saWN5LnBhdGNoIGIvamFiYmVyZC1mZWRvcmEtY3J5cHRvLXBvbGljeS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTI2NmI0Mi4uMDAwMDAwMAotLS0g YS9qYWJiZXJkLWZlZG9yYS1jcnlwdG8tcG9saWN5LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTEgKzAsMCBAQAotLS0tIGEvc3gvc3NsLmMKLSsrKyBiL3N4L3NzbC5jCi1AQCAtOTg5LDcgKzk4 OSw3IEBAIGludCBzeF9zc2xfc2VydmVyX2FkZGNlcnQoc3hfcGx1Z2luX3QgcCwKLSAKLSAgICAg Ly8gU2V0IGFsbG93ZWQgY2lwaGVycy4gaWYgbm9uIHNldCwgYXQgbGVhc3QgYWx3YXlzIGRpc2Fi bGUgTlVMTCBhbmQgZXhwb3J0Ci0gICAgIGlmICghY2lwaGVycykKLS0gICAgICAgIGNpcGhlcnMg PSAiIWFOVUxMOiFlTlVMTDohRVhQOiIgU1NMX0RFRkFVTFRfQ0lQSEVSX0xJU1Q7Ci0rICAgICAg ICBjaXBoZXJzID0gIlBST0ZJTEU9U1lTVEVNIjsKLSAgICAgX3N4X2RlYnVnKFpPTkUsICJSZXN0 cmljdGluZyBUTFMgY2lwaGVycyB0byAlcyIsIGNpcGhlcnMpOwotICAgICBpZiAoU1NMX0NUWF9z ZXRfY2lwaGVyX2xpc3QoY3R4LCBjaXBoZXJzKSAhPSAxKSB7Ci0gICAgICAgICBfc3hfZGVidWco Wk9ORSwgIkNhbid0IHNldCBjaXBoZXIgbGlzdCBmb3IgU1NMIGNvbnRleHQ6ICVzIiwgRVJSX2Vy cm9yX3N0cmluZyhFUlJfZ2V0X2Vycm9yKCksIE5VTEwpKTsKCmRpZmYgLS1naXQgYS9qYWJiZXJk LWZpeC1wYXRocy5wYXRjaCBiL2phYmJlcmQtZml4LXBhdGhzLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAxMmI4NzBhLi4wMDAwMDAwCi0tLSBhL2phYmJlcmQtZml4LXBhdGhz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsODggKzAsMCBAQAotLS0tIGEvZXRjL2Mycy54bWwu ZGlzdC5pbgotKysrIGIvZXRjL2Mycy54bWwuZGlzdC5pbgotQEAgLTU2LDE2ICs1NiwxNiBAQAot IAotICAgICA8IS0tIElmIGxvZ2dpbmcgdG8gc3lzbG9nLCB0aGlzIGlzIHRoZSBsb2cgZmFjaWxp dHkKLSAgICAgICAgICAobG9jYWwwIC0gbG9jYWw3KSAgICAgICAgICAgICAgICAgICAgICAgIFtk ZWZhdWx0OiBsb2NhbDNdIC0tPgotLSAgICA8ZmFjaWxpdHk+bG9jYWwzPC9mYWNpbGl0eT4KLSsg ICAgPGZhY2lsaXR5PmRhZW1vbjwvZmFjaWxpdHk+Ci0gCi0gICAgIDwhLS0gSWYgbG9nZ2luZyB0 byBmaWxlLCB0aGlzIGlzIHRoZSBmaWxlbmFtZSBvZiB0aGUgbG9nZmlsZSAtLT4KLSAgICAgPCEt LQotLSAgICA8ZmlsZT5AbG9jYWxzdGF0ZWRpckAvQHBhY2thZ2VAL2xvZy9jMnMubG9nPC9maWxl PgotKyAgICA8ZmlsZT4vdmFyL2xvZy9qYWJiZXIvYzJzLmxvZzwvZmlsZT4KLSAgICAgLS0+Ci0g Ci0gICAgIDwhLS0gRmlsZW5hbWUgb2YgdGhlIGRlYnVnIGxvZ2ZpbGUgLS0+Ci0gICAgIDwhLS0K LS0gICAgPGRlYnVnPkBsb2NhbHN0YXRlZGlyQC9AcGFja2FnZUAvbG9nL2RlYnVnLSR7aWR9Lmxv ZzwvZGVidWc+Ci0rICAgIDxkZWJ1Zz4vdmFyL2xvZy9qYWJiZXIvZGVidWctJHtpZH0ubG9nPC9k ZWJ1Zz4KLSAgICAgLS0+Ci0gICA8L2xvZz4KLSAKLS0tLSBhL2V0Yy9yb3V0ZXIueG1sLmRpc3Qu aW4KLSsrKyBiL2V0Yy9yb3V0ZXIueG1sLmRpc3QuaW4KLUBAIC0xNCwxNiArMTQsMTYgQEAKLSAK LSAgICAgPCEtLSBJZiBsb2dnaW5nIHRvIHN5c2xvZywgdGhpcyBpcyB0aGUgbG9nIGZhY2lsaXR5 Ci0gICAgICAgICAgKGxvY2FsMCAtIGxvY2FsNykgICAgICAgICAgICAgICAgICAgICAgICBbZGVm YXVsdDogbG9jYWwzXSAtLT4KLS0gICAgPGZhY2lsaXR5PmxvY2FsMzwvZmFjaWxpdHk+Ci0rICAg IDxmYWNpbGl0eT5kYWVtb248L2ZhY2lsaXR5PgotIAotICAgICA8IS0tIElmIGxvZ2dpbmcgdG8g ZmlsZSwgdGhpcyBpcyB0aGUgZmlsZW5hbWUgb2YgdGhlIGxvZ2ZpbGUgLS0+Ci0gICAgIDwhLS0K LS0gICAgPGZpbGU+QGxvY2Fsc3RhdGVkaXJAL0BwYWNrYWdlQC9sb2cvcm91dGVyLmxvZzwvZmls ZT4KLSsgICAgPGZpbGU+L3Zhci9sb2cvamFiYmVyL3JvdXRlci5sb2c8L2ZpbGU+Ci0gICAgIC0t PgotIAotICAgICA8IS0tIEZpbGVuYW1lIG9mIHRoZSBkZWJ1ZyBsb2dmaWxlIC0tPgotICAgICA8 IS0tCi0tICAgIDxkZWJ1Zz5AbG9jYWxzdGF0ZWRpckAvQHBhY2thZ2VAL2xvZy9kZWJ1Zy0ke2lk fS5sb2c8L2RlYnVnPgotKyAgICA8ZGVidWc+L3Zhci9sb2cvamFiYmVyL2RlYnVnLSR7aWR9Lmxv ZzwvZGVidWc+Ci0gICAgIC0tPgotICAgPC9sb2c+Ci0gCi0tLS0gYS9ldGMvczJzLnhtbC5kaXN0 LmluCi0rKysgYi9ldGMvczJzLnhtbC5kaXN0LmluCi1AQCAtNjYsMTYgKzY2LDE2IEBACi0gCi0g ICAgIDwhLS0gSWYgbG9nZ2luZyB0byBzeXNsb2csIHRoaXMgaXMgdGhlIGxvZyBmYWNpbGl0eQot ICAgICAgICAgIChsb2NhbDAgLSBsb2NhbDcpICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1 bHQ6IGxvY2FsM10gLS0+Ci0tICAgIDxmYWNpbGl0eT5sb2NhbDM8L2ZhY2lsaXR5PgotKyAgICA8 ZmFjaWxpdHk+ZGFlbW9uPC9mYWNpbGl0eT4KLSAKLSAgICAgPCEtLSBpZiBsb2dnaW5nIHRvIGZp bGUsIHRoaXMgaXMgdGhlIGZpbGVuYW1lIG9mIHRoZSBsb2dmaWxlIC0tPgotICAgICA8IS0tCi0t ICAgIDxmaWxlPkBsb2NhbHN0YXRlZGlyQC9AcGFja2FnZUAvbG9nL3Mycy5sb2c8L2ZpbGU+Ci0r ICAgIDxmaWxlPi92YXIvbG9nL2phYmJlci9zMnMubG9nPC9maWxlPgotICAgICAtLT4KLSAKLSAg ICAgPCEtLSBGaWxlbmFtZSBvZiB0aGUgZGVidWcgbG9nZmlsZSAtLT4KLSAgICAgPCEtLQotLSAg ICA8ZGVidWc+QGxvY2Fsc3RhdGVkaXJAL0BwYWNrYWdlQC9sb2cvZGVidWctJHtpZH0ubG9nPC9k ZWJ1Zz4KLSsgICAgPGRlYnVnPi92YXIvbG9nL2phYmJlci9kZWJ1Zy0ke2lkfS5sb2c8L2RlYnVn PgotICAgICAtLT4KLSAgIDwvbG9nPgotIAotLS0tIGEvZXRjL3NtLnhtbC5kaXN0LmluCi0rKysg Yi9ldGMvc20ueG1sLmRpc3QuaW4KLUBAIC01NiwxNiArNTYsMTYgQEAKLSAKLSAgICAgPCEtLSBJ ZiBsb2dnaW5nIHRvIHN5c2xvZywgdGhpcyBpcyB0aGUgbG9nIGZhY2lsaXR5Ci0gICAgICAgICAg KGxvY2FsMCAtIGxvY2FsNykgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdDogbG9jYWwz XSAtLT4KLS0gICAgPGZhY2lsaXR5PmxvY2FsMzwvZmFjaWxpdHk+Ci0rICAgIDxmYWNpbGl0eT5k YWVtb248L2ZhY2lsaXR5PgotIAotICAgICA8IS0tIElmIGxvZ2dpbmcgdG8gZmlsZSwgdGhpcyBp cyB0aGUgZmlsZW5hbWUgb2YgdGhlIGxvZ2ZpbGUgLS0+Ci0gICAgIDwhLS0KLS0gICAgPGZpbGU+ QGxvY2Fsc3RhdGVkaXJAL0BwYWNrYWdlQC9sb2cvc20ubG9nPC9maWxlPgotKyAgICA8ZmlsZT4v dmFyL2xvZy9qYWJiZXIvc20ubG9nPC9maWxlPgotICAgICAtLT4KLSAKLSAgICAgPCEtLSBGaWxl bmFtZSBvZiB0aGUgZGVidWcgbG9nZmlsZSAtLT4KLSAgICAgPCEtLQotLSAgICA8ZGVidWc+QGxv Y2Fsc3RhdGVkaXJAL0BwYWNrYWdlQC9sb2cvZGVidWctJHtpZH0ubG9nPC9kZWJ1Zz4KLSsgICAg PGRlYnVnPi92YXIvbG9nL2phYmJlci9kZWJ1Zy0ke2lkfS5sb2c8L2RlYnVnPgotICAgICAtLT4K LSAgIDwvbG9nPgotIAoKZGlmZiAtLWdpdCBhL2phYmJlcmQuaW5pdCBiL2phYmJlcmQuaW5pdApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWZiYzc3NS4uMDAwMDAwMAotLS0gYS9qYWJi ZXJkLmluaXQKKysrIC9kZXYvbnVsbApAQCAtMSwxNjEgKzAsMCBAQAotIyEvYmluL2Jhc2gKLSMK LSMgQmFzZWQgb24gc2NyaXB0IGZyb20gUmF5bW9uZCAyNURFQzIwMDMgc3VwcG9ydEBiaWdyaXZl cmluZm90ZWNoLmNvbQotIyBDaGFuZ2VkIGJ5IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRl PgotIwotIyBwcm9jZXNzbmFtZTogamFiYmVyZAotIyBkZXNjcmlwdGlvbjogamFiYmVyZCBpcyB0 aGUgbmV4dCBnZW5lcmF0aW9uIG9mIHRoZSBqYWJiZXJkIHNlcnZlcgotIyBjaGtjb25maWc6IC0g ODUgMTUKLSMKLQotIyBzb3VyY2UgZnVuY3Rpb24gbGlicmFyeQotLiAvZXRjL3JjLmQvaW5pdC5k L2Z1bmN0aW9ucwotCi0jIHB1bGwgaW4gc3lzY29uZmlnIHNldHRpbmdzCi1bIC1mIF9fU1lTQ09O Rl9fL2phYmJlcmQgXSAmJiAuIF9fU1lTQ09ORl9fL2phYmJlcmQKLQotaWYgWyAteiAiJFNUQVJU X0RBRU1PTlMiIF07IHRoZW4KLSAgICBTVEFSVF9EQUVNT05TPSJyb3V0ZXIgcmVzb2x2ZXIgc20g YzJzIHMycyIKLWZpCi0KLSMKLXByb2dzPSIkU1RBUlRfREFFTU9OUyIKLXByb2dzUGF0aD0iX19C SU5ESVJfXyIKLWNvbmZQYXRoPSJfX0VUQ0RJUl9fIgotcGlkUGF0aD0iX19QSURESVJfXyIKLXJl dHZhbD0wCi0jCi1SZXFCaW5zICggKSB7Ci0gICAgZm9yIHByb2cgaW4gJHtwcm9nc307IGRvCi0g ICAgICAgIGlmIFsgISAteCAke3Byb2dzUGF0aH0vJHtwcm9nfSBdOyB0aGVuCi0gICAgICAgICAg ICBlY2hvICJqYWJiZXJkIGJpbmFyeSBbJHtwcm9nfV0gbm90IGZvdW5kLiIKLSAgICAgICAgICAg IGVjaG8gIkNhbm5vdCBjb250aW51ZS4iCi0gICAgICAgICAgICByZXR1cm4gLTEKLSAgICAgICAg ZmkKLSAgICBkb25lCi0gICAgcmV0dXJuIDAKLX0KLSMKLVJlcUNvbmZzICggKSB7Ci0gICAgZm9y IHByb2cgaW4gJHtwcm9nc307IGRvCi0gICAgICAgIGlmIFsgISAtZiAke2NvbmZQYXRofS8ke3By b2d9LnhtbCBdOyB0aGVuCi0gICAgICAgICAgICBlY2hvICJqYWJiZXJkIGNvbmZpZ3VyYXRpb24g WyR7cHJvZ30ueG1sXSBub3QgZm91bmQuIgotICAgICAgICAgICAgZWNobyAiQ2Fubm90IGNvbnRp bnVlLiIKLSAgICAgICAgICAgIHJldHVybiAtMQotICAgICAgICBmaQotICAgIGRvbmUKLSAgICBy ZXR1cm4gMAotfQotIwotUmVxRGlycyAoICkgewotICAgIGlmIFsgISAtZCAke3BpZFBhdGh9IF07 IHRoZW4KLSAgICAgICAgZWNobyAiamFiYmVyZCBQSUQgZGlyZWN0b3J5IG5vdCBmb3VuZC4gQ2Fu bm90IGNvbnRpbnVlLiIKLSAgICAgICAgcmV0dXJuIC0xCi0gICAgZmkKLSAgICByZXR1cm4gMAot fQotIwotU3RhcnQgKCApIHsKLSAgICBmb3IgcmVxIGluIFJlcUJpbnMgUmVxQ29uZnMgUmVxRGly czsgZG8KLSAgICAgICAgJHtyZXF9Ci0gICAgICAgIHJldHZhbD0kPwotICAgICAgICBbICR7cmV0 dmFsfSA9PSAwIF0gfHwgcmV0dXJuICR7cmV0dmFsfQotICAgIGRvbmUKLSAgICBlY2hvICJJbml0 aWFsaXppbmcgamFiYmVyZCBwcm9jZXNzZXMgLi4uIgotICAgIGZvciBwcm9nIGluICR7cHJvZ3N9 OyBkbwotICAgICAgICBpZiBbICQoIHBpZG9mIC1zICR7cHJvZ30gKSBdOyB0aGVuCi0gICAgICAg ICAgICBlY2hvICJwcm9jZXNzIFske3Byb2d9XSBhbHJlYWR5IHJ1bm5pbmciCi0gICAgICAgICAg ICBjb250aW51ZQotICAgICAgICBmaQotICAgICAgICBlY2hvIC1uICJTdGFydGluZyAke3Byb2d9 OiAiCi0gICAgICAgIHJtIC1mIC92YXIvbG9jay9zdWJzeXMvJHtwcm9nfQotICAgICAgICBybSAt ZiAke3BpZFBhdGh9LyR7cHJvZ30ucGlkCi0gICAgICAgIGFyZ3M9Ii1jICR7Y29uZlBhdGh9LyR7 cHJvZ30ueG1sIgotICAgICAgICBpZiBbICR7cHJvZ30gPT0gImMycyIgLWEgISAteiAiJEMyU19B U19ST09UIiBdOyB0aGVuCi0gICAgICAgICAgICBpZiBbICRDMlNfQVNfUk9PVCA9PSAieWVzIiBd OyB0aGVuCi0gICAgICAgICAgICAgICAgZGFlbW9uIC0tdXNlciByb290IC0tcGlkZmlsZSAke3Bp ZFBhdGh9LyR7cHJvZ30ucGlkIC0tY2hlY2sgJHtwcm9nfSAiJHtwcm9nc1BhdGh9LyR7cHJvZ30g JHthcmdzfSA+L2Rldi9udWxsIDI+JjEgJiIKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg ICAgICBkYWVtb24gLS11c2VyIGphYmJlciAtLXBpZGZpbGUgJHtwaWRQYXRofS8ke3Byb2d9LnBp ZCAtLWNoZWNrICR7cHJvZ30gIiR7cHJvZ3NQYXRofS8ke3Byb2d9ICR7YXJnc30gPi9kZXYvbnVs bCAyPiYxICYiCi0gICAgICAgICAgICBmaQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBkYWVt b24gLS11c2VyIGphYmJlciAtLXBpZGZpbGUgJHtwaWRQYXRofS8ke3Byb2d9LnBpZCAtLWNoZWNr ICR7cHJvZ30gIiR7cHJvZ3NQYXRofS8ke3Byb2d9ICR7YXJnc30gPi9kZXYvbnVsbCAyPiYxICYi Ci0gICAgICAgIGZpCi0gICAgICAgIHJldHZhbD0kPwotICAgICAgICBlY2hvCi0gICAgICAgIGlm IFsgJHtyZXR2YWx9ID09IDAgXTsgdGhlbgotICAgICAgICAgICAgdG91Y2ggL3Zhci9sb2NrL3N1 YnN5cy8ke3Byb2d9Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxldCByZXR2YWw9LTEKLSAg ICAgICAgICAgIGJyZWFrCi0gICAgICAgIGZpCi0gICAgZG9uZQotICAgIHJldHVybiAke3JldHZh bH0KLX0KLSMKLVN0b3AgKCApIHsKLSAgICBlY2hvICJUZXJtaW5hdGluZyBqYWJiZXJkIHByb2Nl c3NlcyAuLi4iCi0gICAgZm9yIHByb2cgaW4gJChlY2hvICR7cHJvZ3N9IHwgdGFjIC1zICcgJyk7 IGRvCi0gICAgICAgIGVjaG8gLW4gIlN0b3BwaW5nICR7cHJvZ306ICIKLSAgICAgICAga2lsbHBy b2MgJHtwcm9nfQotICAgICAgICByZXR2YWw9JD8KLSAgICAgICAgaWYgWyAke3JldHZhbH0gPT0g MCBdOyB0aGVuCi0gICAgICAgICAgICBybSAtZiAvdmFyL2xvY2svc3Vic3lzLyR7cHJvZ30KLSAg ICAgICAgICAgIHJtIC1mICR7cGlkUGF0aH0vJHtwcm9nfS5waWQKLSAgICAgICAgZmkKLSAgICAg ICAgZWNobwotICAgICAgICBzbGVlcCAxCi0gICAgZG9uZQotICAgIHJldHVybiAke3JldHZhbH0K LX0KLSMKLXJlbG9hZCgpCi17Ci0gICAgZWNobyAiUmVsb2FkaW5nIGphYmJlcmQgcHJvY2Vzc2Vz IC4uLiIKLSAgICBmb3IgcHJvZyBpbiAke3Byb2dzfTsgZG8KLSAgICAgICAga2lsbHByb2MgJHtw cm9nfSAtSFVQCi0gICAgICAgIHJldHZhbD0kPwotICAgIGRvbmUKLSAgICByZXR1cm4gJHtyZXR2 YWx9Ci19Ci0KLXJoc3RhdHVzKCkKLXsKLSAgICAgICAgZm9yIHByb2cgaW4gJHtwcm9nc307IGRv Ci0gICAgICAgICAgICAgICAgc3RhdHVzICR7cHJvZ30KLSAgICAgICAgcmV0dmFsPSQ/Ci0gICAg ICAgIGRvbmUKLSAgICByZXR1cm4gJHtyZXR2YWx9Ci19Ci0KLWNhc2UgIiQxIiBpbgotICAgIHN0 YXJ0KQotICAgICAgICBTdGFydAotICAgICAgICA7OwotICAgIHN0b3ApCi0gICAgICAgIFN0b3AK LSAgICAgICAgOzsKLSAgICByZWxvYWQpCi0gICAgICAgIHJlbG9hZAotICAgICAgICA7OwotICAg IHN0YXR1cykKLSAgICAgICAgcmhzdGF0dXMKLSAgICAgICAgOzsKLSAgICByZXN0YXJ0KQotICAg ICAgICBTdG9wCi0gICAgICAgIFN0YXJ0Ci0gICAgICAgIDs7Ci0gICAgY29uZHJlc3RhcnQpCi0g ICAgICAgICAgICBmb3IgcHJvZyBpbiAke3Byb2dzfTsgZG8KLSAgICAgICAgICAgIGlmIFsgISAt ZiAvdmFyL2xvY2svc3Vic3lzLyR7cHJvZ30gXTsgdGhlbgotICAgICAgICAgICAgICAgIGV4aXQK LSAgICAgICAgICAgIGZpCi0gICAgICAgIGRvbmUKLSAgICAgICAgU3RvcAotICAgICAgICBzbGVl cCAzCi0gICAgICAgIFN0YXJ0Ci0gICAgICAgIDs7Ci0gICAgKikKLSAgICAgICAgZWNobyAiVXNh Z2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8Y29uZHJlc3RhcnR8cmVsb2FkfHN0YXR1c30iCi0g ICAgICAgIGxldCByZXR2YWw9MgotZXNhYwotZXhpdCAke3JldHZhbH0KCmRpZmYgLS1naXQgYS9q YWJiZXJkLnBhbSBiL2phYmJlcmQucGFtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1 YjlmMDVmLi4wMDAwMDAwCi0tLSBhL2phYmJlcmQucGFtCisrKyAvZGV2L251bGwKQEAgLTEsNSAr MCwwIEBACi0jJVBBTS0xLjAKLWF1dGggICAgICAgcmVxdWlyZWQgICAgIHBhbV9ub2xvZ2luLnNv Ci1hdXRoICAgICAgIGluY2x1ZGUgICAgICBwYXNzd29yZC1hdXRoCi1hY2NvdW50ICAgIGluY2x1 ZGUgICAgICBwYXNzd29yZC1hdXRoCi1zZXNzaW9uICAgIGluY2x1ZGUgICAgICBwYXNzd29yZC1h dXRoCgpkaWZmIC0tZ2l0IGEvamFiYmVyZC5zcGVjIGIvamFiYmVyZC5zcGVjCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBmMGIxMTY2Li4wMDAwMDAwCi0tLSBhL2phYmJlcmQuc3BlYwor KysgL2Rldi9udWxsCkBAIC0xLDc5MiArMCwwIEBACi0lZ2xvYmFsIF9oYXJkZW5lZF9idWlsZCAx Ci0lYmNvbmRfd2l0aG91dCBwYW0KLSViY29uZF93aXRob3V0IHNxbGl0ZQotJWJjb25kX3dpdGhv dXQgZGIKLSViY29uZF93aXRob3V0IGxkYXAKLSViY29uZF93aXRob3V0IG15c3FsCi0lYmNvbmRf d2l0aG91dCBwb3N0Z3Jlc3FsCi0laWYgMCV7P3JoZWx9ICYmIDAlez9yaGVsfSA9PSA2Ci0lYmNv bmRfd2l0aCBzeXN0ZW1kCi0lZWxzZQotJWJjb25kX3dpdGhvdXQgc3lzdGVtZAotJWVuZGlmCi0K LVN1bW1hcnk6ICAgICAgICBPcGVuU291cmNlIHNlcnZlciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg SmFiYmVyIHByb3RvY29scwotTmFtZTogICAgICAgICAgIGphYmJlcmQKLVZlcnNpb246ICAgICAg ICAyLjYuMQotUmVsZWFzZTogICAgICAgIDM2JXs/ZGlzdH0KLSMgQXV0b21hdGljYWxseSBjb252 ZXJ0ZWQgZnJvbSBvbGQgZm9ybWF0OiBHUEx2MisgLSByZXZpZXcgaXMgaGlnaGx5IHJlY29tbWVu ZGVkLgotTGljZW5zZTogICAgICAgIEdQTC0yLjAtb3ItbGF0ZXIKLVNvdXJjZTA6ICAgICAgICBo dHRwczovL2dpdGh1Yi5jb20vamFiYmVyZDIvamFiYmVyZDIvcmVsZWFzZXMvZG93bmxvYWQvamFi YmVyZC0le3ZlcnNpb259L2phYmJlcmQtJXt2ZXJzaW9ufS50YXIueHoKLVNvdXJjZTE6ICAgICAg ICBSRUFETUUuZmVkb3JhCi1Tb3VyY2UyOiAgICAgICAgamFiYmVyZC5pbml0Ci1Tb3VyY2UzOiAg ICAgICAgamFiYmVyZC5zeXNjb25maWcKLVBhdGNoMDogICAgICAgICBqYWJiZXJkLWZlZG9yYS1j cnlwdG8tcG9saWN5LnBhdGNoCi1QYXRjaDE6ICAgICAgICAgamFiYmVyZC1maXgtcGF0aHMucGF0 Y2gKLVBhdGNoMjogICAgICAgICB1bmJyZWFrLWF1dG9yZWNvbmYucGF0Y2gKLVBhdGNoMzogICAg ICAgICAwMDAxLWNvbmZpZ3VyZS5hYy1hZGFwdC10by1vcGVuc3NsLTEuMS5wYXRjaAotUGF0Y2g0 OiAgICAgICAgIDAwMDItYXV0aHJlZ19sZGFwZnVsbC1hZGFwdC10by1vcGVuc3NsLTEuMS5wYXRj aAotUGF0Y2g1OiAgICAgICAgIDAwMDMtc3gtc3NsLmMtYWRhcHQtdG8tb3BlbnNzbC0xLjEucGF0 Y2gKLVBhdGNoNjogICAgICAgICAwMDAxLUZpeC1idWlsZC1lcnJvcnMtd2l0aC1NYXJpYURCLTEw LjIucGF0Y2gKLSMgcmhiejE1MTA2NDIKLVBhdGNoNzogICAgICAgICAxODFlNzM2ZGNiYjE5Yzgy ODI2NmQ4ODgzN2Y0MzQzNTEwYjRkMjBlLnBhdGNoCi1QYXRjaDg6ICAgICAgICAgamFiYmVyZC1j OTkucGF0Y2gKLVVSTDogICAgICAgICAgICBodHRwOi8vamFiYmVyZDIub3JnLwotQnVpbGRSZXF1 aXJlczogIG9wZW5zc2wtZGV2ZWwgbGliaWRuLWRldmVsIGV4cGF0LWRldmVsCi1CdWlsZFJlcXVp cmVzOiAgcGVybC1nZW5lcmF0b3JzCi1CdWlsZFJlcXVpcmVzOiAgY3BwdW5pdC1kZXZlbAotJWlm ICV7d2l0aCBzeXN0ZW1kfQotQnVpbGRSZXF1aXJlczogICAgICAgICAgc3lzdGVtZC11bml0cwot UmVxdWlyZXMocG9zdCk6ICAgICAgICAgc3lzdGVtZC11bml0cyBzeXN0ZW1kLXN5c3YKLVJlcXVp cmVzKHByZXVuKTogICAgICAgIHN5c3RlbWQtdW5pdHMKLVJlcXVpcmVzKHBvc3R1bik6ICAgICAg IHN5c3RlbWQtdW5pdHMKLSVlbHNlCi1SZXF1aXJlcyhwb3N0KTogICAgICAgICBvcGVuc3NsIGNo a2NvbmZpZyAvc2Jpbi9zZXJ2aWNlCi1SZXF1aXJlcyhwcmV1bik6ICAgICAgICBjaGtjb25maWcg c2hhZG93LXV0aWxzIC9zYmluL3NlcnZpY2UKLVJlcXVpcmVzKHBvc3R1bik6ICAgICAgIGNoa2Nv bmZpZyAvc2Jpbi9zZXJ2aWNlCi0lZW5kaWYKLSVpZiAle3dpdGggcGFtfQotQnVpbGRSZXF1aXJl czogIHBhbS1kZXZlbAotJWVuZGlmCi0laWYgJXt3aXRoIHNxbGl0ZX0KLUJ1aWxkUmVxdWlyZXM6 ICBzcWxpdGUtZGV2ZWwKLSVlbmRpZgotJWlmICV7d2l0aCBkYn0KLSVpZiAwJXs/ZmVkb3JhfSA+ PSAyNgotQnVpbGRSZXF1aXJlczogIGxpYmRiLWRldmVsCi0lZWxzZQotQnVpbGRSZXF1aXJlczog IGRiNC1kZXZlbAotJWVuZGlmCi0lZW5kaWYKLSVpZiAle3dpdGggbGRhcH0KLUJ1aWxkUmVxdWly ZXM6ICBvcGVubGRhcC1kZXZlbAotJWVuZGlmCi0laWYgJXt3aXRoIG15c3FsfQotQnVpbGRSZXF1 aXJlczogIG1hcmlhZGItY29ubmVjdG9yLWMtZGV2ZWwKLSVlbmRpZgotJWlmICV7d2l0aCBwb3N0 Z3Jlc3FsfQotQnVpbGRSZXF1aXJlczogIGxpYnBxLWRldmVsCi0lZW5kaWYKLUJ1aWxkUmVxdWly ZXM6ICAgICAgICAgIGxpYmdzYXNsLWRldmVsIHVkbnMtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6ICAg ICAgICAgIGh0dHAtcGFyc2VyLWRldmVsCi1CdWlsZFJlcXVpcmVzOiAgICAgICAgICBhdXRvY29u ZiBsaWJ0b29sCi1CdWlsZFJlcXVpcmVzOiBtYWtlCi1CdWlsZFJlcXVpcmVzOiBsaWJ4Y3J5cHQt ZGV2ZWwKLVJlcXVpcmVzKHBvc3QpOiAgICAgICAgIG9wZW5zc2wKLVJlcXVpcmVzKHByZXVuKTog ICAgICAgIHNoYWRvdy11dGlscwotCi0lZGVzY3JpcHRpb24KLVRoZSBqYWJiZXJkIHByb2plY3Qg YWltcyB0byBwcm92aWRlIGFuIG9wZW4tc291cmNlIHNlcnZlciBpbXBsZW1lbnRhdGlvbiBvZgot dGhlIEphYmJlciBwcm90b2NvbHMgZm9yIGluc3RhbnQgbWVzc2FnaW5nIGFuZCBYTUwgcm91dGlu Zy4gVGhlIGdvYWwgb2YgdGhpcwotcHJvamVjdCBpcyB0byBwcm92aWRlIGEgc2NhbGFibGUsIHJl bGlhYmxlLCBlZmZpY2llbnQgYW5kIGV4dGVuc2libGUgc2VydmVyCi10aGF0IHByb3ZpZGVzIGEg Y29tcGxldGUgc2V0IG9mIGZlYXR1cmVzIGFuZCBpcyB1cCB0byBkYXRlIHdpdGggdGhlIGxhdGVz dAotcHJvdG9jb2wgcmV2aXNpb25zLgotCi1qYWJiZXJkMiBpcyB0aGUgbmV4dCBnZW5lcmF0aW9u IG9mIHRoZSBqYWJiZXJkIHNlcnZlci4gSXQgaGFzIGJlZW4KLXJld3JpdHRlbiBmcm9tIHRoZSBn cm91bmQgdXAgdG8gYmUgc2NhbGFibGUsIGFyY2hpdGVjdHVyYWxseSBzb3VuZCwgYW5kIHRvCi1z dXBwb3J0IHRoZSBsYXRlc3QgcHJvdG9jb2wgZXh0ZW5zaW9ucyBjb21pbmcgb3V0IG9mIHRoZSBK U0YuCi0KLVRoaXMgcGFja2FnZSBkZWZhdWx0cyB0byB1c2UgcGFtIGFuZCBzcWxpdGUuCi0KLSVw cmVwCi0lc2V0dXAgLXEKLSMgIlV0aWxpemUgc3lzdGVtLXdpZGUgY3J5cHRvLXBvbGljaWVzIiBp cyBvbmx5IGZvciBGMjErICgjMTE3OTIyOSkKLSMgdGhlcmVmb3JlIHRoZSBwYXRjaCBpcyBub3Qg YXBwbGllZCBvbiBub24gRmVkb3JhIGJ1aWxkcwotJWlmIDAlez9mZWRvcmF9Ci0lcGF0Y2ggLVAw IC1wMQotJWVuZGlmCi0lcGF0Y2ggLVAxIC1wMQotJWlmIDAlez9mZWRvcmF9ID49IDI2Ci0jIFdp dGggRmVkb3JhIDI2IG9wZW5zc2wtMS4xIHdhcyBpbnRyb2R1Y2VkLiBqYWJiZXJkIG5lZWRzIHBh dGNoZXMKLSMgdG8gd29yayB3aXRoIG9wZW5zc2wtMS4xLiBUaGVzZSBwYXRjaGVzIGhhdmUgYmVl biBzdWJtaXR0ZWQgdXBzdHJlYW06Ci0jIGh0dHBzOi8vZ2l0aHViLmNvbS9qYWJiZXJkMi9qYWJi ZXJkMi9wdWxsLzEyOQotIyBUaGUgcGF0Y2hlcyBhbHNvIHdvcmsgd2l0aCBvbGRlciBvcGVuc3Ns IHZlcnNpb25zLgotIyBGb3Igbm93IHRoZSBwYXRjaGVzIGFyZSBvbmx5IGFwcGxpZWQgZm9yIHJh d2hpZGUvZjI2IGFzIGxvbmcgYXMgdXBzdHJlYW0KLSMgaGFzIG5vdCBtZXJnZWQgdGhlIHBhdGNo ZXMuCi0lcGF0Y2ggLVAyIC1wMQotJXBhdGNoIC1QMyAtcDEKLSVwYXRjaCAtUDQgLXAxCi0lcGF0 Y2ggLVA1IC1wMQotJXBhdGNoIC1QNyAtcDEKLSVwYXRjaCAtUDggLXAxCi1hdXRvcmVjb25mIC0t dmVyYm9zZSAtLWZvcmNlIC0taW5zdGFsbAotJWVuZGlmCi0lcGF0Y2ggLVA2IC1wMQotCi0jIENy ZWF0ZSBhIHN5c3VzZXJzLmQgY29uZmlnIGZpbGUKLWNhdCA+amFiYmVyZC5zeXN1c2Vycy5jb25m IDw8RU9GCi11IGphYmJlciAtICdKYWJiZXIgU2VydmVyJyAle192YXJ9L2xpYi8le25hbWV9IC0K LUVPRgotCi0lYnVpbGQKLWV4cG9ydCBDRkxBR1M9IiV7b3B0ZmxhZ3N9IgotJWNvbmZpZ3VyZSBc Ci0gICAgICAgIC0tc3lzY29uZmRpcj0le19zeXNjb25mZGlyfS8le25hbWV9IFwKLSAgICAgICAg LS1sb2NhbHN0YXRlZGlyPSV7X3Zhcn0vbGliIFwKLSVpZiAle3dpdGggcGFtfQotICAgICAgICAt LWVuYWJsZS1wYW0gXAotJWVsc2UKLSAgICAgICAgLS1kaXNhYmxlLXBhbSBcCi0lZW5kaWYKLSVp ZiAle3dpdGggZGJ9Ci0gICAgICAgIC0tZW5hYmxlLWRiIFwKLSVpZiAwJXs/ZmVkb3JhfSA8IDI2 Ci0gICAgICAgIC0td2l0aC1leHRyYS1pbmNsdWRlLXBhdGg9JXtfaW5jbHVkZWRpcn0vbGliZGI0 IFwKLSVlbmRpZgotJWVsc2UKLSAgICAgICAgLS1kaXNhYmxlLWRiIFwKLSVlbmRpZgotJWlmICV7 d2l0aCBteXNxbH0KLSAgICAgICAgLS1lbmFibGUtbXlzcWwgXAotJWlmIDAlez9mZWRvcmF9ID4g MjcKLSAgICAgICAgLS13aXRoLWV4dHJhLWxpYnJhcnktcGF0aD0le19saWJkaXJ9L21hcmlhZGIg XAotJWVsc2UKLSAgICAgICAgLS13aXRoLWV4dHJhLWxpYnJhcnktcGF0aD0le19saWJkaXJ9L215 c3FsIFwKLSVlbmRpZgotJWVsc2UKLSAgICAgICAgLS1kaXNhYmxlLW15c3FsIFwKLSVlbmRpZgot JWlmICV7d2l0aCBsZGFwfQotICAgICAgICAtLWVuYWJsZS1sZGFwIFwKLSVlbHNlCi0gICAgICAg IC0tZGlzYWJsZS1sZGFwIFwKLSVlbmRpZgotJWlmICV7d2l0aCBwb3N0Z3Jlc3FsfQotICAgICAg ICAtLWVuYWJsZS1wZ3NxbCBcCi0lZWxzZQotICAgICAgICAtLWRpc2FibGUtcGdzcWwgXAotJWVu ZGlmCi0laWYgJXt3aXRoIHNxbGl0ZX0KLSAgICAgICAgLS1lbmFibGUtc3FsaXRlIFwKLSVlbHNl Ci0gICAgICAgIC0tZGlzYWJsZS1zcWxpdGUgXAotJWVuZGlmCi0gICAgICAgIC0tZW5hYmxlLWZz IC0tZW5hYmxlLWFub24gLS1lbmFibGUtcGlwZSAtLWVuYWJsZS1zc2wgXAotICAgICAgICAtLWVu YWJsZS13ZWJzb2NrZXQgXAotICAgICAgICAtLWVuYWJsZS1kZWJ1ZwotCi1tYWtlICV7P19zbXBf bWZsYWdzfQotCi0KLSVpbnN0YWxsCi1ybSAtcmYgJFJQTV9CVUlMRF9ST09UCi0KLW1ha2UgaW5z dGFsbCBERVNURElSPSRSUE1fQlVJTERfUk9PVAotCi0jIGNvcnJlY3QgdGhlIHNjcmlwdCBpbnRl cnByZXRlciBmb3IgcGVybCBzY3JpcHRzCi1zZWQgLWkgInN8L3Vzci9wa2cvYmluL3Blcmx8L3Vz ci9iaW4vZW52IHBlcmx8IiB0b29scy8qLnBsCi0KLWluc3RhbGwgLWRwbSA3MDAgJFJQTV9CVUlM RF9ST09ULyV7X3Zhcn0vbGliLyV7bmFtZX0ve2xvZyxwaWQsZGJ9Ci1pbnN0YWxsIC1kcG0gNzU1 ICRSUE1fQlVJTERfUk9PVCV7X3N5c2NvbmZkaXJ9L3BhbS5kLwotaW5zdGFsbCAtRHBtIDY0NCB0 b29scy9wYW1famFiYmVyZCAkUlBNX0JVSUxEX1JPT1Qle19zeXNjb25mZGlyfS9wYW0uZC8le25h bWV9Ci0KLWluc3RhbGwgLWRwbSA3NTUgJFJQTV9CVUlMRF9ST09UJXtfZGF0YWRpcn0vJXtuYW1l fS8KLSMgaW5zdGFsbCBhbnkgdG9vbCBpbiB0b29scy8gdG8gL3Vzci9zaGFyZS9qYWJiZXJkLywg YnV0IHNraXAgTWFrZWZpbGUtc3R1ZmYKLSMgYW5kIHVubmVjY2Vzc2FyeSBzY3JpcHRzCi1pbnN0 YWxsIC1kcG0gNzU1ICRSUE1fQlVJTERfUk9PVCV7X2RhdGFkaXJ9LyV7bmFtZX0vCi1mb3IgaSBp biBgbHMgdG9vbHNgOyBkbwotICAgIGlmIFsgJGkgPT0gIk1ha2VmaWxlIiAtbyAkaSA9PSAiTWFr ZWZpbGUuYW0iIC1vICRpID09ICJNYWtlZmlsZS5pbiIgXAotICAgICAgICAtbyAkaSA9PSAiamFi YmVyZC5pbiIgLW8gJGkgPT0gImphYmJlcmQucmMiIC1vICRpID09ICJwYW1famFiYmVyZCIgXTsg dGhlbgotICAgICAgICBjb250aW51ZTsKLSAgICBmaQotCi0gICAgc2VkIC1pICJzfFxyfHxnIiB0 b29scy8kaQotICAgIGluc3RhbGwgLXBtIDc1NSB0b29scy8kaSAkUlBNX0JVSUxEX1JPT1Qle19k YXRhZGlyfS8le25hbWV9LwotZG9uZQotCi1pbnN0YWxsIC1kcG0gNzU1ICRSUE1fQlVJTERfUk9P VCV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vCi0KLSVpZiAhICV7d2l0aCBzeXN0ZW1kfQotcm0gLWZy diAkUlBNX0JVSUxEX1JPT1Qle19wcmVmaXh9L2xpYi9zeXN0ZW1kCi0KLWluc3RhbGwgLURwbSA3 NTUgJXtTT1VSQ0UyfSAkUlBNX0JVSUxEX1JPT1Qle19pbml0cmRkaXJ9LyV7bmFtZX0KLWluc3Rh bGwgLURwbSA2NDQgJXtTT1VSQ0UzfSAkUlBNX0JVSUxEX1JPT1Qle19zeXNjb25mZGlyfS9zeXNj b25maWcvJXtuYW1lfQotCi1zZWQgLWkgLWUgInMsX19CSU5ESVJfXywle19iaW5kaXJ9LGciIFwK LSAgICAgICAtZSAicyxfX0VUQ0RJUl9fLCV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vLGciIFwKLSAg ICAgICAtZSAicyxfX1BJRERJUl9fLCV7X3Zhcn0vbGliLyV7bmFtZX0vcGlkLGciIFwKLSAgICAg ICAtZSAicyxfX1NZU0NPTkZfXywle19zeXNjb25mZGlyfS9zeXNjb25maWcsZyIgXAotICAgICAg ICAgICRSUE1fQlVJTERfUk9PVCV7X2luaXRyZGRpcn0vJXtuYW1lfSBcCi0gICAgICAgICAgJFJQ TV9CVUlMRF9ST09UJXtfc3lzY29uZmRpcn0vc3lzY29uZmlnLyV7bmFtZX0KLSVlbmRpZgotCi0j IHJlbW92ZSBzdGF0aWMgbGlicmFyaWVzCi1maW5kICRSUE1fQlVJTERfUk9PVCAtbmFtZSAiKi5s YSIgLWRlbGV0ZQotCi0jIFJlbW92ZSBVcHN0YXJ0IGNvbmZpZ3VyYXRpb24gZmlsZXMsIHRoZXkg YXJlIG5vdCBuZWVkZWQgZm9yIEZlZG9yYQotcm0gLWYgJFJQTV9CVUlMRF9ST09UL2V0Yy9qYWJi ZXJkLyouY29uZgotcm0gLWYgJFJQTV9CVUlMRF9ST09UL3Vzci9ldGMvaW5pdC8qLmNvbmYKLQot I2RlZmF1bHQgYXV0aGVudGljYXRpb24gYmFja2VuZAotI2VuYWJsZSBTU0wgY2VydGlmaWNhdGUK LSNjbGllbnRzIG11c3QgZG8gU1RBUlRUTFMKLSNkaXNhYmxlIGFjY291bnQgcmVnaXN0cmF0aW9u cyBieSBkZWZhdWx0LCBiZWNhdXNlIHRoZSBkZWZhdWx0IGluc3RhbGxhdGlvbiB1c2VzIFBBTQot I3NldCB0aGUgcmVhbG0gdG8gJycgZm9yIGEgd29ya2luZyBhdXRoZW50aWNhdGlvbiBhZ2FpbnN0 IFBBTQotc2VkIC1pIC1lICc6YTtOOyQhYmEnIFwKLSAgICAgICAgICAgIC1lICdzLDxtb2R1bGU+ bXlzcWw8L21vZHVsZT4sPG1vZHVsZT5wYW08L21vZHVsZT4sZycgXAotICAgICAgICAgICAgLWUg InMscmVnaXN0ZXItZW5hYmxlPSd0cnVlJz4scmVhbG09JycgcmVxdWlyZS1zdGFydHRscz0ndHJ1 ZScgcGVtZmlsZT0nL2V0Yy8le25hbWV9L3NlcnZlci5wZW0nPixnIiBcCi0gICAgICAgICAgICAg ICAgJFJQTV9CVUlMRF9ST09UJXtfc3lzY29uZmRpcn0vJXtuYW1lfS9jMnMueG1sCi0KLXRvdWNo ICRSUE1fQlVJTERfUk9PVCV7X3N5c2NvbmZkaXJ9L2phYmJlcmQvc2VydmVyLnBlbQotCi0jIHdl IGhhdmUgb3VyIG93biBzdGFydCBzY3JpcHQKLXJtIC1mICRSUE1fQlVJTERfUk9PVCV7X2JpbmRp cn0vamFiYmVyZAotCi0jIHdlIGhhdmUgb3VyIG93biBzdGFydCBzY3JpcHQKLXJtIC1mICRSUE1f QlVJTERfUk9PVCV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vamFiYmVyZC5jZmcqCi0KLSMgUkVBRE1F LmZlZG9yYQotY3AgJXtTT1VSQ0UxfSAuCi0KLWluc3RhbGwgLW0wNjQ0IC1EIGphYmJlcmQuc3lz dXNlcnMuY29uZiAle2J1aWxkcm9vdH0le19zeXN1c2Vyc2Rpcn0vamFiYmVyZC5jb25mCi0KLQot Ci0KLSVwb3N0Ci0laWYgJXt3aXRoIHN5c3RlbWR9Ci0lc3lzdGVtZF9wb3N0ICV7bmFtZX0uc2Vy dmljZQotaWYgWyAkMSAtZXEgMSBdIDsgdGhlbgotICAgICAgICAjcmVwbGFjZSBkZWZhdWx0IHBh c3N3b3JkcywgeWV0IGFub3RoZXIgaGFjawotICAgICAgICBleHBvcnQgTkVXUEFTUz0kKCBkZCBp Zj0vZGV2L3VyYW5kb20gYnM9MjAgY291bnQ9MSAyPi9kZXYvbnVsbCBcCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgc2hhMXN1bSB8IGF3ayAne3ByaW50ICQxfScgKQotICAgICAg ICBjZCAle19zeXNjb25mZGlyfS8le25hbWV9Ci0gICAgICAgICV7X19zZWR9IC1pIC1mLSByb3V0 ZXItdXNlcnMueG1sIHJvdXRlci54bWwgPDxFTkQKLXMsPHNlY3JldD5zZWNyZXQ8L3NlY3JldD4s PHNlY3JldD4kTkVXUEFTUzwvc2VjcmV0PixnCi1FTkQKLSAgICAgICAgJXtfX3NlZH0gLWkgLWYt ICoueG1sIDw8RU5ECi1zLDxwYXNzPnNlY3JldDwvcGFzcz4sPHBhc3M+JE5FV1BBU1M8L3Bhc3M+ LGcKLUVORAotCi1maQotCi0jY3JlYXRlIHNzbCBjZXJ0aWZpY2F0ZQotY2QgJXtfc3lzY29uZmRp cn0vJXtuYW1lfQotaWYgWyAhIC1zIHNlcnZlci5wZW0gXTsgdGhlbgotIGlmIFsgLWUgJXtfYmlu ZGlyfS9tYWtlLWR1bW15LWNlcnQgXTsgdGhlbgotICAjIG9wZW5zc2wtMS4xIHBsYWNlcyB0aGUg c2NyaXB0IGluIC91c3IKLSAgJXtfX19idWlsZF9zaGVsbH0gJXtfYmluZGlyfS9tYWtlLWR1bW15 LWNlcnQKLSBlbHNlCi0gICV7X19fYnVpbGRfc2hlbGx9ICV7X3N5c2NvbmZkaXJ9L3BraS90bHMv Y2VydHMvbWFrZS1kdW1teS1jZXJ0IHNlcnZlci5wZW0KLSBmaQotIGNob3duIHJvb3QuamFiYmVy IHNlcnZlci5wZW0KLSBjaG1vZCA2NDAgc2VydmVyLnBlbQotZmkKLSVlbHNlCi1pZiBbICIkMSIg LWVxICIxIiBdOyB0aGVuCi0gICAgICAgIC9zYmluL2Noa2NvbmZpZyAtLWFkZCAle25hbWV9Ci0g ICAgICAgICNyZXBsYWNlIGRlZmF1bHQgcGFzc3dvcmRzLCB5ZXQgYW5vdGhlciBoYWNrCi0gICAg ICAgIGV4cG9ydCBORVdQQVNTPSQoIGRkIGlmPS9kZXYvdXJhbmRvbSBicz0yMCBjb3VudD0xIDI+ L2Rldi9udWxsIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzaGExc3VtIHwg YXdrICd7cHJpbnQgJDF9JyApCi0gICAgICAgIGNkICV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0KLSAg ICAgICAgJXtfX3NlZH0gLWkgLWYtIHJvdXRlci11c2Vycy54bWwgcm91dGVyLnhtbCA8PEVORAot cyw8c2VjcmV0PnNlY3JldDwvc2VjcmV0Piw8c2VjcmV0PiRORVdQQVNTPC9zZWNyZXQ+LGcKLUVO RAotICAgICAgICAle19fc2VkfSAtaSAtZi0gKi54bWwgPDxFTkQKLXMsPHBhc3M+c2VjcmV0PC9w YXNzPiw8cGFzcz4kTkVXUEFTUzwvcGFzcz4sZwotRU5ECi0KLWZpCi0KLSNjcmVhdGUgc3NsIGNl cnRpZmljYXRlCi1jZCAle19zeXNjb25mZGlyfS8le25hbWV9Ci1pZiBbICEgLXMgc2VydmVyLnBl bSBdOyB0aGVuCi0gJXtfX19idWlsZF9zaGVsbH0gJXtfc3lzY29uZmRpcn0vcGtpL3Rscy9jZXJ0 cy9tYWtlLWR1bW15LWNlcnQgc2VydmVyLnBlbQotIGNob3duIHJvb3QuamFiYmVyIHNlcnZlci5w ZW0KLSBjaG1vZCA2NDAgc2VydmVyLnBlbQotZmkKLSVlbmRpZgotCi0lcHJldW4KLSVpZiAle3dp dGggc3lzdGVtZH0KLSVzeXN0ZW1kX3ByZXVuICV7bmFtZX0uc2VydmljZQotJWVsc2UKLWlmIFsg IiQxIiAtZXEgIjAiIF07IHRoZW4KLSAgICAgICAgL3NiaW4vc2VydmljZSAle25hbWV9IHN0b3Ag PiAvZGV2L251bGwgMj4mMQotICAgICAgICAvc2Jpbi9jaGtjb25maWcgLS1kZWwgJXtuYW1lfQot ZmkKLSVlbmRpZgotCi0KLSVwb3N0dW4KLSVpZiAle3dpdGggc3lzdGVtZH0KLSVzeXN0ZW1kX3Bv c3R1bl93aXRoX3Jlc3RhcnQgJXtuYW1lfS5zZXJ2aWNlCi0KLSV0cmlnZ2VydW4gLS0gamFiYmVy ZCA8IDIuMi4xNC0zCi0jIFNhdmUgdGhlIGN1cnJlbnQgc2VydmljZSBydW5sZXZlbCBpbmZvCi0j IFVzZXIgbXVzdCBtYW51YWxseSBydW4gc3lzdGVtZC1zeXN2LWNvbnZlcnQgLS1hcHBseSBqYWJi ZXJkCi0jIHRvIG1pZ3JhdGUgdGhlbSB0byBzeXN0ZW1kIHRhcmdldHMKLS91c3IvYmluL3N5c3Rl bWQtc3lzdi1jb252ZXJ0IC0tc2F2ZSAle25hbWV9ID4vZGV2L251bGwgMj4mMSB8fDoKLQotIyBJ ZiB0aGUgcGFja2FnZSBpcyBhbGxvd2VkIHRvIGF1dG9zdGFydDoKLS9iaW4vc3lzdGVtY3RsIC0t bm8tcmVsb2FkIGVuYWJsZSAle25hbWV9LnNlcnZpY2UgPi9kZXYvbnVsbCAyPiYxIHx8OgotCi0j IFJ1biB0aGVzZSBiZWNhdXNlIHRoZSBTeXNWIHBhY2thZ2UgYmVpbmcgcmVtb3ZlZCB3b24ndCBk byB0aGVtCi0vc2Jpbi9jaGtjb25maWcgLS1kZWwgJXtuYW1lfSA+L2Rldi9udWxsIDI+JjEgfHwg OgotL2Jpbi9zeXN0ZW1jdGwgdHJ5LXJlc3RhcnQgJXtuYW1lfS5zZXJ2aWNlID4vZGV2L251bGwg Mj4mMSB8fCA6Ci0lZWxzZQotaWYgWyAiJDEiIC1lcSAiMSIgXTsgdGhlbgotICAgICAgICAvc2Jp bi9zZXJ2aWNlICV7bmFtZX0gY29uZHJlc3RhcnQgPiAvZGV2L251bGwgMj4mMQotZmkKLSVlbmRp ZgotCi0KLSVmaWxlcwotJWRvYyBBVVRIT1JTIENPUFlJTkcgQ2hhbmdlTG9nIE5FV1MgUkVBRE1F IFRPRE8gUkVBRE1FLmZlZG9yYQotJXtfbWFuZGlyfS9tYW44LyoKLSV7X2JpbmRpcn0vKgotJWlm ICV7d2l0aCBzeXN0ZW1kfQotJXtfdW5pdGRpcn0vKgotJWVsc2UKLSV7X2luaXRyZGRpcn0vJXtu YW1lfQotJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L3N5c2NvbmZpZy8le25hbWV9 Ci0lZW5kaWYKLSV7X2xpYmRpcn0vJXtuYW1lfS8KLSVhdHRyKDc1MCwgamFiYmVyLCBqYWJiZXIp ICVkaXIgJXtfc3lzY29uZmRpcn0vJXtuYW1lfQotJWF0dHIoNzUwLCBqYWJiZXIsIGphYmJlcikg JWRpciAle19zeXNjb25mZGlyfS8le25hbWV9L3RlbXBsYXRlcwotJWNvbmZpZyhub3JlcGxhY2Up ICV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vc2VydmVyLnBlbQotJWF0dHIoNjQwLCBqYWJiZXIsIGph YmJlcikgJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9LyV7bmFtZX0vKnhtbCoKLSVh dHRyKDY0MCwgamFiYmVyLCBqYWJiZXIpICVjb25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGly fS8le25hbWV9L3RlbXBsYXRlcy8qeG1sKgotJWRpciAle19kYXRhZGlyfS8le25hbWV9LwotJWF0 dHIoNjQ0LHJvb3Qscm9vdCkgJXtfZGF0YWRpcn0vJXtuYW1lfS8qCi0lY29uZmlnKG5vcmVwbGFj ZSkgJXtfc3lzY29uZmRpcn0vcGFtLmQvJXtuYW1lfQotJWF0dHIoNzAwLCBqYWJiZXIsIGphYmJl cikgJXtfdmFyfS9saWIvJXtuYW1lfQotJXtfc3lzdXNlcnNkaXJ9L2phYmJlcmQuY29uZgotCi0l Y2hhbmdlbG9nCi0qIFRodSBKdWwgMTYgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDIuNi4xLTM2Ci0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDVfTWFzc19SZWJ1aWxkCi0KLSogRnJp IEp1biAxMiAyMDI2IFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpQHJlZGhhdC5jb20+IC0gMi42 LjEtMzUKLS0gUmVidWlsdCBmb3Igb3BlbnNzbCA0LjAKLQotKiBGcmkgSmFuIDE2IDIwMjYgRmVk b3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYu MS0zNAotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3Jh XzQ0X01hc3NfUmVidWlsZAotCi0qIFRodSBKdWwgMjQgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdp bmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDIuNi4xLTMzCi0tIFJlYnVpbHQg Zm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDNfTWFzc19SZWJ1aWxk Ci0KLSogVHVlIEZlYiAxMSAyMDI1IFpiaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWsgPHpieXN6 ZWtAaW4ud2F3LnBsPiAtIDIuNi4xLTMyCi0tIEFkZCBzeXN1c2Vycy5kIGNvbmZpZyBmaWxlIHRv IGFsbG93IHJwbSB0byBjcmVhdGUgdXNlcnMvZ3JvdXBzIGF1dG9tYXRpY2FsbHkKLQotKiBTYXQg RmViIDAxIDIwMjUgQmrDtnJuIEVzc2VyIDxiZXNzZXI4MkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAy LjYuMS0zMQotLSBBZGQgZXhwbGljaXQgQlI6IGxpYnhjcnlwdC1kZXZlbAotCi0qIEZyaSBKYW4g MTcgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qu b3JnPiAtIDIuNi4xLTMwCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9GZWRvcmFfNDJfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEp1bCAyNiAyMDI0IE1pcm9zbGF2 IFN1Y2jDvSA8bXN1Y2h5QHJlZGhhdC5jb20+IC0gMi42LjEtMjkKLS0gY29udmVydCBsaWNlbnNl IHRvIFNQRFgKLQotKiBUaHUgSnVsIDE4IDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcg PHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0yOAotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQxX01hc3NfUmVidWlsZAotCi0qIFdl ZCBKYW4gMjQgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXBy b2plY3Qub3JnPiAtIDIuNi4xLTI3Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogU2F0IEphbiAyMCAyMDI0IEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi42 LjEtMjYKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9y YV80MF9NYXNzX1JlYnVpbGQKLQotKiBUaHUgSnVsIDIwIDIwMjMgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0yNQotLSBSZWJ1aWx0 IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM5X01hc3NfUmVidWls ZAotCi0qIFdlZCBBcHIgMTIgMjAyMyBBcmp1biBTaGFua2FyIDxhcmp1bkByZWRoYXQuY29tPiAt IDIuNi4xLTI0Ci0tIFBvcnQgdG8gQzk5ICgjMjE4NjE5NSkKLQotKiBUaHUgSmFuIDE5IDIwMjMg RmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAy LjYuMS0yMwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVk b3JhXzM4X01hc3NfUmVidWlsZAotCi0qIFRodSBKdWwgMjEgMjAyMiBGZWRvcmEgUmVsZWFzZSBF bmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDIuNi4xLTIyCi0tIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzdfTWFzc19SZWJ1 aWxkCi0KLSogVGh1IEphbiAyMCAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxl bmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi42LjEtMjEKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNl9NYXNzX1JlYnVpbGQKLQotKiBUdWUgU2Vw IDE0IDIwMjEgU2FoYW5hIFByYXNhZCA8c2FoYW5hQHJlZGhhdC5jb20+IC0gMi42LjEtMjAKLS0g UmVidWlsdCB3aXRoIE9wZW5TU0wgMy4wLjAKLQotKiBUaHUgSnVsIDIyIDIwMjEgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0xOQot LSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM1X01h c3NfUmVidWlsZAotCi0qIFR1ZSBNYXIgMDIgMjAyMSBaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6 bWVrIDx6YnlzemVrQGluLndhdy5wbD4gLSAyLjYuMS0xOAotLSBSZWJ1aWx0IGZvciB1cGRhdGVk IHN5c3RlbWQtcnBtLW1hY3JvcwotICBTZWUgaHR0cHM6Ly9wYWd1cmUuaW8vZmVzY28vaXNzdWUv MjU4My4KLQotKiBNb24gRmViIDA4IDIwMjEgUGF2ZWwgUmFpc2t1cCA8cHJhaXNrdXBAcmVkaGF0 LmNvbT4gLSAyLjYuMS0xNwotLSByZWJ1aWxkIGZvciBsaWJwcSBBQkkgZml4IHJoYnojMTkwODI2 OAotCi0qIFR1ZSBKYW4gMjYgMjAyMSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDIuNi4xLTE2Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzRfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEp1bCAy OCAyMDIwIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5v cmc+IC0gMi42LjEtMTUKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV8zM19NYXNzX1JlYnVpbGQKLQotKiBXZWQgQXByIDE1IDIwMjAgSWdvciBSYWl0 cyA8aWduYXRlbmtvYnJhaW5AZmVkb3JhcHJvamVjdC5vcmc+IC0gMi42LjEtMTQKLS0gUmVidWls ZCBmb3IgaHR0cC1wYXJzZXIgMi45LjQKLQotKiBXZWQgSmFuIDI5IDIwMjAgRmVkb3JhIFJlbGVh c2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0xMwotLSBS ZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMyX01hc3Nf UmVidWlsZAotCi0qIFRodSBKdWwgMjUgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8 cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDIuNi4xLTEyCi0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzFfTWFzc19SZWJ1aWxkCi0KLSogRnJp IEZlYiAwMSAyMDE5IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJv amVjdC5vcmc+IC0gMi42LjEtMTEKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8zMF9NYXNzX1JlYnVpbGQKLQotKiBNb24gSmFuIDE0IDIwMTkgQmrD tnJuIEVzc2VyIDxiZXNzZXI4MkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0xMAotLSBSZWJ1 aWx0IGZvciBsaWJjcnlwdC5zby4yICgjMTY2NjAzMykKLQotKiBGcmkgSnVsIDEzIDIwMTggRmVk b3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYu MS05Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFf MjlfTWFzc19SZWJ1aWxkCi0KLSogV2VkIEZlYiAwNyAyMDE4IEZlZG9yYSBSZWxlYXNlIEVuZ2lu ZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi42LjEtOAotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI4X01hc3NfUmVidWlsZAot Ci0qIFNhdCBKYW4gMjAgMjAxOCBCasO2cm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qu b3JnPiAtIDIuNi4xLTcKLS0gUmVidWlsdCBmb3Igc3dpdGNoIHRvIGxpYnhjcnlwdAotCi0qIFdl ZCBOb3YgMDggMjAxNyBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjYuMS02Ci0t IEZpeCBjcmFzaCB3aXRoIG5ldyBvcGVuc3NsIDEuMSBzdXBwb3J0IHBhdGNoIChPbGVnIEdpcmtv KSAoIzE1MTA2NDIpCi0KLSogV2VkIFNlcCAyMCAyMDE3IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxp c2FzLmRlPiAtIDIuNi4xLTUKLS0gU3dpdGNoIHRvIG1hcmlhZGItY29ubmVjdG9yLWMtZGV2ZWwg ZnJvbSBteXNxbC1kZXZlbCBmb3IgPiBmMjcgKCMxNDkzNjI3KQotCi0qIFdlZCBBdWcgMDIgMjAx NyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAt IDIuNi4xLTQKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0Zl ZG9yYV8yN19CaW51dGlsc19NYXNzX1JlYnVpbGQKLQotKiBXZWQgSnVsIDI2IDIwMTcgRmVkb3Jh IFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjYuMS0z Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjdf TWFzc19SZWJ1aWxkCi0KLSogV2VkIEp1bCAxMiAyMDE3IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxp c2FzLmRlPiAtIDIuNi4xLTIKLS0gYWRkZWQgcGF0Y2ggdG8gZml4IGJ1aWxkIGVycm9ycyB3aXRo IG1hcmlhZGIgMTAuMiAoIzE0NzAwMzYpCi0KLSogVHVlIEp1bCAwNCAyMDE3IEFkcmlhbiBSZWJl ciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuNi4xLTEKLS0gdXBkYXRlZCB0byAyLjYuMSAoc2VjdXJp dHkgYnVnZml4IHJlbGVhc2UpCi0KLSogRnJpIEZlYiAxMCAyMDE3IEZlZG9yYSBSZWxlYXNlIEVu Z2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi41LjAtMgotLSBSZWJ1aWx0 IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI2X01hc3NfUmVidWls ZAotCi0qIFRodSBKYW4gMDUgMjAxNyBNYXTEm2ogQ2VwbCA8bWNlcGxAcmVkaGF0LmNvbT4gLSAy LjUuMC0xCi0tIE5ldyB1cHN0cmVhbSByZWxlYXNlLgotCi0qIFR1ZSBEZWMgMjAgMjAxNiBBZHJp YW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjQuMC02Ci0tIEFkZGVkIHBhdGNoZXMgdG8g Zml4ICJzZWdmYXV0IGluICdzbScgY29tcG9uZW50IHdoZW4gYmxvY2tpbmcgdXNlcnMiICgjMTQw NjA2MikKLS0gQlIgbGliZGItZGV2ZWwgaW5zdGVhZCBvZiBkYjQtZGV2ZWwKLQotKiBGcmkgRGVj IDAyIDIwMTYgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi40LjAtNQotLSBBZGRl ZCBwYXRjaGVzIHRvIGJ1aWxkIGFnYWluc3Qgb3BlbnNzbC0xLjEgKG9ubHkgZm9yID49IDI2KQot Ci0qIFR1ZSBPY3QgMDQgMjAxNiBNYXTEm2ogQ2VwbCA8bWNlcGxAcmVkaGF0LmNvbT4gLSAyLjQu MC00Ci0tIE1ha2Ugc3BlYyBhbHRlcm5hdGl2ZWx5IHdvcmtpbmcgd2l0aCBSSEVMLTYgKG5vIHN5 c3RlbWQpLgotCi0qIFR1ZSBPY3QgMDQgMjAxNiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5k ZT4gLSAyLjQuMC0zCi0tIEZpeGVzICJFbmFibGUgd2Vic29ja2V0cyIgKCMxMzgwOTU4KQotCi0q IFNhdCBKdW4gMjUgMjAxNiBNYXTEm2ogQ2VwbCA8bWNlcGxAcmVkaGF0LmNvbT4gLSAyLjQuMC0y Ci0tIFVzZSBzdGFuZGFyZCBjb25kaXRpb25hbCBtYWNyb3MgaW4gU1BFQyAoIzY0NzEwMSkKLS0g Rml4IHN5c3RlbSBwYXRocyAoIzg1NzU0MCkKLQotKiBNb24gTWF5IDIzIDIwMTYgQWRyaWFuIFJl YmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi40LjAtMQotLSB1cGRhdGVkIHRvIDIuNC4wCi0KLSog U3VuIEZlYiAyOCAyMDE2IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMy42LTEK LS0gdXBkYXRlZCB0byAyLjMuNgotLSByZW1vdmUgZml4IGZvciAiVmVyc2lvbiBtaXNtYXRjaCBl cnJvci4iCi0KLSogVGh1IEZlYiAwNCAyMDE2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4zLjUtMgotLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI0X01hc3NfUmVidWlsZAotCi0qIFN1biBK YW4gMzEgMjAxNiBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjMuNS0xCi0tIHVw ZGF0ZWQgdG8gMi4zLjUKLS0gcnVuIGF1dG9yZWNvbmYgdG8gZml4IGxpYnRvb2wgZXJyb3IKLQot KiBNb24gTm92IDA5IDIwMTUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4zLjQt MQotLSB1cGRhdGVkIHRvIDIuMy40Ci0KLSogV2VkIEp1biAxNyAyMDE1IEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDIuMy4zLTYK LS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yM19N YXNzX1JlYnVpbGQKLQotKiBUdWUgQXByIDIxIDIwMTUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlz YXMuZGU+IC0gMi4zLjMtNQotLSBmaXggcmVsZWFzZSBudW1iZXIKLQotKiBUdWUgQXByIDE0IDIw MTUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4zLjMtMQotLSB1cGRhdGVkIHRv IDIuMy4zCi0KLSogVGh1IEZlYiAyNiAyMDE1IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRl PiAtIDIuMy4yLTQKLS0gZml4ZXMgIlV0aWxpemUgc3lzdGVtLXdpZGUgY3J5cHRvLXBvbGljaWVz IiAoIzExNzkyMjkpICh0aGFua3MgdG8gTWF0xJtqIENlcGwpCi0KLSogU2F0IEF1ZyAxNiAyMDE0 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qu b3JnPiAtIDIuMy4yLTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV8yMV8yMl9NYXNzX1JlYnVpbGQKLQotKiBTYXQgSnVuIDA3IDIwMTQgRmVkb3Jh IFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0g Mi4zLjItMgotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVk b3JhXzIxX01hc3NfUmVidWlsZAotCi0qIFR1ZSBGZWIgMjUgMjAxNCBBZHJpYW4gUmViZXIgPGFk cmlhbkBsaXNhcy5kZT4gLSAyLjMuMi0xCi0tIHVwZGF0ZWQgdG8gMi4zLjIKLS0gZHJvcHBlZCBw YXRjaGVzCi0KLSogVHVlIEZlYiAxOCAyMDE0IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRl PiAtIDIuMy4xLTMKLS0gdXBzdHJlYW1lZCBzeXN0ZW1kIHVuaXQgZmlsZXMgKFBhdGNoMSkKLQot KiBXZWQgRGVjIDA0IDIwMTMgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4zLjEt MgotLSBmaXhlcyAiUmVncmVzc2lvbiB3aXRoIGphYmJlcmQgMi4zLjEgYW5kIHBvc3RncmVzcWwi ICgjMTAzNjg3NikKLSAgaHR0cHM6Ly9naXRodWIuY29tL2phYmJlcmQyL2phYmJlcmQyL2lzc3Vl cy80OAotCi0qIFRodSBOb3YgMjggMjAxMyBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4g LSAyLjMuMS0xCi0tIHVwZGF0ZWQgdG8gMi4zLjEKLQotKiBGcmkgQXVnIDIzIDIwMTMgQWRyaWFu IFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE3LTUKLS0gZW5hYmxlIF9oYXJkZW5lZF9i dWlsZCAoIzk1NDM0MCkKLQotKiBTYXQgQXVnIDAzIDIwMTMgRmVkb3JhIFJlbGVhc2UgRW5naW5l ZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4yLjE3LTQKLS0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yMF9NYXNzX1Jl YnVpbGQKLQotKiBXZWQgSnVsIDE3IDIwMTMgUGV0ciBQaXNhciA8cHBpc2FyQHJlZGhhdC5jb20+ IC0gMi4yLjE3LTMKLS0gUGVybCA1LjE4IHJlYnVpbGQKLQotKiBUaHUgSmFuIDMxIDIwMTMgQWRy aWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE3LTIKLS0gYWRkZWQgUkVBRE1FLmZl ZG9yYSB3aGljaCBkZXNjcmliZXMgd2hhdCB0byBjaGFuZ2UKLSAgZm9yIGF1dGhlbnRpY2F0aW9u IHdpdGggUEFNICgjODk2NTc1KQotCi0qIE1vbiBBdWcgMjcgMjAxMiBBZHJpYW4gUmViZXIgPGFk cmlhbkBsaXNhcy5kZT4gLSAyLjIuMTctMQotLSB1cGRhdGVkIHRvIDIuMi4xNwotLSByZW1vdmVk IGFsbCB0aHJlZSBwYXRjaGVzIHdoaWNoIGFyZSBub3cgaW5jbHVkZWQKLQotKiBXZWQgQXVnIDIy IDIwMTIgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE2LTUKLS0gaW5jbHVk ZWQgcGF0Y2ggZm9yICJWdWxuZXJhYmlsaXR5IGluIFhNUFAgU2VydmVyIERpYWxiYWNrIEltcGxl bWVudGF0aW9ucyIKLSAgaHR0cDovL3htcHAub3JnL3Jlc291cmNlcy9zZWN1cml0eS1ub3RpY2Vz L3NlcnZlci1kaWFsYmFjay8KLS0gZml4ZWQgIkludHJvZHVjZSBuZXcgc3lzdGVtZC1ycG0gbWFj cm9zIGluIGphYmJlcmQgc3BlYyBmaWxlIiAoIzg1MDE3NSkKLQotKiBUdWUgSnVsIDI0IDIwMTIg QWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE2LTQKLS0gYWRkZWQgbGliZGI0 IGluY2x1ZGUgZGlyZWN0b3J5IHRvIGluY2x1ZGUgc2VhcmNoIHBhdGgKLQotKiBUaHUgSnVsIDE5 IDIwMTIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJv amVjdC5vcmc+IC0gMi4yLjE2LTMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8xOF9NYXNzX1JlYnVpbGQKLQotKiBXZWQgSnVuIDIwIDIwMTIgQWRy aWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE2LTIKLS0gYWRkZWQgcGF0Y2ggZm9y ICJtdWx0aXBsZSBjYWxscyBvZiBzcmFuZCgpIHdpdGggZXhwYXQtMi4xLjAiCi0gIGh0dHBzOi8v Z2l0aHViLmNvbS9KYWJiZXJkMi9qYWJiZXJkMi9wdWxsLzUKLQotKiBTYXQgTWF5IDA1IDIwMTIg QWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4yLjE2LTEKLS0gdXBkYXRlZCB0byAy LjIuMTYKLS0gYWRkZWQgcGF0Y2ggNDE4ODRkOTkxOS5wYXRjaCB0byBidWlsZCB3aXRob3V0IGRl YnVnCi0KLSogV2VkIE1heSAwMiAyMDEyIEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAt IDIuMi4xNS0xCi0tIHVwZGF0ZWQgdG8gMi4yLjE1Ci0KLSogU2F0IE1hciAyNCAyMDEyIEFkcmlh biBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMi4xNC0zCi0tIHJlbW92ZWQgYnVpbGRyb290 IGFuZCBjbGVhbiBzZWN0aW9uCi0tIHN3aXRjaGVkIHRvIHN5c3RlbWQKLQotKiBGcmkgSmFuIDEz IDIwMTIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJv amVjdC5vcmc+IC0gMi4yLjE0LTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8xN19NYXNzX1JlYnVpbGQKLQotKiBXZWQgSnVuIDAxIDIwMTEgRG9t aW5pYyBIb3BmIDxkbWFwaHlAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4yLjE0LTEKLS0gdXBkYXRl IHRvIDIuMi4xNCAoIzcwMDM5MCwgQ1ZFLTIwMTEtMTc1NSkKLS0gcmVtb3ZlIHVubmVlZGVkIHVw c3RhcnQgY29uZmlndXJhdGlvbiBmaWxlcwotCi0qIFdlZCBNYXIgMjMgMjAxMSBEYW4gSG9yw6Fr IDxkYW5AZGFubnkuY3o+IC0gMi4yLjEzLTMKLS0gcmVidWlsdCBmb3IgbXlzcWwgNS41LjEwIChz b25hbWUgYnVtcCBpbiBsaWJteXNxbGNsaWVudCkKLQotKiBUdWUgTWFyIDIyIDIwMTEgRG9taW5p YyBIb3BmIDxkbWFwaHlAZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4yLjEzLTIKLS0gcmVidWlsZCBh Z2FpbnN0IG5ldyBsaWJteXNxbGNsaWVudAotCi0qIFdlZCBGZWIgMjMgMjAxMSBEb21pbmljIEhv cGYgPGRtYXBoeUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjIuMTMtMQotLSB1cGRhdGVkIHRvIDIu Mi4xMwotCi0qIFR1ZSBGZWIgMTUgMjAxMSBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4g LSAyLjIuMTItMQotLSB1cGRhdGVkIHRvIDIuMi4xMgotCi0qIFdlZCBGZWIgMDkgMjAxMSBGZWRv cmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4g LSAyLjIuMTEtOAotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kv RmVkb3JhXzE1X01hc3NfUmVidWlsZAotCi0qIFdlZCBKYW4gMDUgMjAxMSBBZHJpYW4gUmViZXIg PGFkcmlhbkBsaXNhcy5kZT4gLSAyLjIuMTEtNwotLSBwb3J0ZWQgc3BlYyBjaGFuZ2VzIGZyb20g ZjE0IGJyYW5jaCB0byBkZXZlbCBicmFuY2gKLS0gZml4ICJqYWJiZXJkIHNwZWMgZmlsZSBwdXRz IHNlcnZlci5wZW0gaW4gL2V0YyBpbnN0ZWFkIG9mIC9ldGMvamFiYmVyZCIgKCM2Njc1MDQpCi0K LSogV2VkIFNlcCAyOSAyMDEwIGprZWF0aW5nIC0gMi4yLjExLTIKLS0gUmVidWlsdCBmb3IgZ2Nj IGJ1ZyA2MzQ3NTcKLQotKiBTdW4gU2VwIDEyIDIwMTAgRG9taW5pYyBIb3BmIDxkbWFwaHlAZmVk b3JhcHJvamVjdC5vcmc+IC0gMi4yLjExLTEKLS0gbmV3IHVwc3RyZWFtIHJlbGVhc2UKLS0gZml4 IHNjcmlwdC13aXRob3V0LXNoZWJhbmcgZXJyb3JzCi0tIHByZXNlcnZlIHRpbWVzdGFtcCBvZiBD aGFuZ2VMb2cgd2hpbGUgY29udmVydGluZyB0byBVVEY4Ci0KLSogVGh1IEF1ZyAxMiAyMDEwIERv bWluaWMgSG9wZiA8ZG1hcGh5QGZlZG9yYXByb2plY3Qub3JnPiAtIDIuMi4xMC0xCi0tIG5ldyB1 cHN0cmVhbSByZWxlYXNlIGphYmJlcmQgMi4yLjEwCi0tIGFkZCBwYXRjaCBqYWJiZXJkLWZpeC1t aXNzaW5nLXJlZmVyZW5jZS1pbi1sb2dfZXJyb3IucGF0Y2ggZnJvbSB1cHN0cmVhbSBzdm4KLS0g dXNlICUle19tYW5kaXJ9IG1hY3JvIGZvciBtYW5wYWdlcwotLSBjcmVhdGUgYSBuZXcgc291cmNl IGZpbGUgZm9yIHRoZSBQQU0gaW5mbyBpbnN0ZWFkIG9mIHdyaXRpbmcgaXQgb24gdGhlIGZseQot LSBpbnN0YWxsIGFsbCB0b29scyBwcm92aWRlZCBieSB1cHN0cmVhbSB0byAvdXNyL3NoYXJlL2ph YmJlcmQvCi0tIHJlbW92ZSBzdG9yYWdlIGRyaXZlciByZXBsYWNlbWVudCwgc2luY2UgMi4yLjEw IHNxbGl0ZSBpcyB0aGUgZGVmYXVsdAotLSByZW1vdmUgZGVwZW5kZW5jeSB0byBnYy1kZXZlbAot LSByZW1vdmUgdW5uZWNjZXNzYXJ5IGRlZmluZXMgZm9yIHN5c2NvbmZkaXIgYW5kIGRvbid0IHVz ZSB1bm5lY2Nlc3NhcnkgbWFjcm9zCi0tIHJlbW92ZSBzdGF0aWMgbGlicmFyaWVzCi0tIGZpeCBh IGxvdCBvZiBycG1saW50IGVycm9ycyBhbmQgd2FybmluZ3MKLQotKiBXZWQgU2VwIDE2IDIwMDkg VG9tYXMgTXJheiA8dG1yYXpAcmVkaGF0LmNvbT4gLSAyLjIuOC01Ci0tIHVzZSBwYXNzd29yZC1h dXRoIGNvbW1vbiBQQU0gY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHN5c3RlbS1hdXRoCi0KLSog RnJpIEF1ZyAyMSAyMDA5IFRvbWFzIE1yYXogPHRtcmF6QHJlZGhhdC5jb20+IC0gMi4yLjgtNAot LSByZWJ1aWx0IHdpdGggbmV3IG9wZW5zc2wKLQotKiBGcmkgSnVsIDI0IDIwMDkgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4y LjgtMwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3Jh XzEyX01hc3NfUmVidWlsZAotCi0qIEZyaSBKdW4gMTkgMjAwOSBBZHJpYW4gUmViZXIgPGFkcmlh bkBsaXNhcy5kZT4gLSAyLjIuOC0yCi0tIHVwZGF0ZWQgdG8gMi4yLjgKLS0gYWRkZWQgcGF0Y2gg dG8gZml4ICJyb3V0ZXIgc2VnZmF1bHRzIiAocmhieiM0OTc2NzEpCi0KLSogVHVlIE1hciAzMSAy MDA5IEJlcm5pZSBJbm5vY2VudGkgPGJlcm5pZUBjb2Rld2l6Lm9yZz4gLSAyLjIuNy4xLTIKLS0g Zml4IHJoYnojMzQ5NzE0OiBqYWJiZXJkIGRvZXMgbm90IGNsb3NlIGl0cyBzdGRpbi9zdGRvdXQv c3RkZXJyCi0KLSogVGh1IEZlYiAyNiAyMDA5IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRl PiAtIDIuMi43LjEtMQotLSB1cGRhdGVkIHRvIDIuMi43LjEKLS0gIldvcmthcm91bmQgZm9yIGJ1 Z2d5IEphdmEgVExTIGltcGxlbWVudGF0aW9uIChhZmZlY3RpbmcgT3BlbkZpcmUgYW5kIEdUYWxr KSIKLQotKiBXZWQgRmViIDI1IDIwMDkgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1l bmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMi4yLjctMgotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzExX01hc3NfUmVidWlsZAotCi0qIFR1 ZSBGZWIgMTcgMjAwOSBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjIuNy0xCi0t IHVwZGF0ZWQgdG8gMi4yLjcKLQotKiBNb24gRmViIDE2IDIwMDkgQWRyaWFuIFJlYmVyIDxhZHJp YW5AbGlzYXMuZGU+IC0gMi4yLjYtMQotLSB1cGRhdGVkIHRvIDIuMi42Ci0KLSogVHVlIEZlYiAw MyAyMDA5IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMi41LTEKLS0gdXBkYXRl ZCB0byAyLjIuNQotCi0qIEZyaSBKYW4gMjMgMjAwOSBCZXJuaWUgSW5ub2NlbnRpIDxiZXJuaWVA Y29kZXdpei5vcmc+IC0gMi4yLjQtMgotLSBSZXBsYWNlIC9ldGMvc3lzY29uZmlnL2phYmJlcmQg b24gdXBncmFkZSB0byBkcm9wIG9ic29sZXRlIGRhZW1vbnMKLS0gUmVidWlsdCBmb3IgbmV3IGxp Ym15c3FsY2xpZW50Ci0KLSogVHVlIE9jdCAwNyAyMDA4IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxp c2FzLmRlPiAtIDIuMi40LTEKLS0gdXBkYXRlZCB0byAyLjIuNAotICAodGhpcyB2ZXJzaW9uIGFu ZCBwaWRnaW4gMi41LjEgZmluYWxseSB3b3JrIHRvZ2V0aGVyKQotCi0qIE1vbiBGZWIgMTEgMjAw OCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjEuMjMtMQotLSB1cGRhdGVkIHRv IDIuMS4yMwotCi0qIFR1ZSBKYW4gMDggMjAwOCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5k ZT4gLSAyLjEuMjEtMQotLSB1cGRhdGVkIHRvIDIuMS4yMQotCi0qIFR1ZSBKYW4gMDggMjAwOCBB ZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAyLjEuMjAtMQotLSB1cGRhdGVkIHRvIDIu MS4yMAotCi0qIFRodSBEZWMgMDYgMjAwNyBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4g LSAyLjEuMTktMQotLSB1cGRhdGVkIHRvIDIuMS4xOQotLSB0aGlzIHZlcnNpb24gbWlnaHQgYmUg Y29uZmlnIGZpbGUgaW5jb21wYXRpYmxlIHRvIDIuMAotICBpbiBjZXJ0YWluIGNhc2VzCi0tIGZv ciBkZXRhaWxzIHBsZWFzZSByZWZlciB0byB0aGUgVVBHUkFERSBmaWxlCi0KLSogV2VkIERlYyAw NSAyMDA3IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMC0wLnMxMS4xNQotLSBy ZWJ1aWx0IGZvciBuZXcgb3BlbnNzbCBhbmQgb3BlbmxkYXAKLQotKiBNb24gQXVnIDI3IDIwMDcg QWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczExLjE0Ci0tIGFwcGxpZWQg cGF0Y2ggdG8gZml4IGJ6ICMxNzUyMTkKLS0gcmVtb3ZlZCBjb25maWcgZmxhZyBmb3Igc3RhcnR1 cCBzY3JpcHQKLS0gdXBkYXRlZCBMaWNlbnNlCi0tIGFkZGVkIHBhdGNoIGZvciBuZXcgZ2xpYmMg b3BlbiBtYWNybwotCi0qIFR1ZSBKdW4gMTIgMjAwNyBUaG9yc3RlbiBMZWVtaHVpcyA8ZmVkb3Jh IFtBVF0gbGVlbWh1aXMuaW5mbz4gLSAyLjAtMC5zMTEuMTMKLS0gcmVidWlsdCBvbiBiZWhhbGYg b2YgQWRyaWFuCi0KLSogVGh1IERlYyAwNyAyMDA2IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2Fz LmRlPiAtIDIuMC0wLnMxMS4xMgotLSByZWJ1aWx0Ci0KLSogVHVlIFNlcCAxMiAyMDA2IEFkcmlh biBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMC0wLnMxMS4xMQotLSByZWJ1aWx0Ci0KLSog TW9uIEF1ZyAwNyAyMDA2IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMC0wLnMx MS4xMAotLSBjaGFuZ2VkIHBhbSBmaWxlIHRvIHVzZSBpbmNsdWRlCi0tIGFkZGVkIHJldHVybiB2 YWx1ZSBmb3Igc3RhdHVzKCkgZnVuY3Rpb24gKGJ6ICMyMDA5OTYpCi0KLSogTW9uIEFwciAwMyAy MDA2IEFkcmlhbiBSZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMC0wLnMxMS45Ci0tIHVwZGF0 ZWQgdG8gMi4wLTAuczExCi0KLSogV2VkIEZlYiAxNSAyMDA2IEFkcmlhbiBSZWJlciA8YWRyaWFu QGxpc2FzLmRlPiAtIDIuMC0wLnMxMC45Ci0tIHJlYnVpbHQKLQotKiBTdW4gTm92IDI3IDIwMDUg QWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczEwLjgKLS0gJSV7X3N5c2Nv bmZkaXJ9L2phYmJlcmQvc2VydmVyLnBlbSB3YXMgbGlzdGVkIHR3aWNlCi0tIGFkZGVkIC9zYmlu L3NlcnZpY2UgZGVwZW5kZW5jeSB0byAlJXBvc3QsICUlcG9zdHVuIGFuZCAlJXByZXVuCi0tIGph YmJlciB1c2VyIGlzIG5vdCBkZWxldGVkIHRvIGF2b2lkIHVub3duZWQgZmlsZXMKLQotKiBNb24g T2N0IDE3IDIwMDUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczEwLjcK LS0gdXBkYXRlZCB0byAyLjAtMC5zMTAKLQotKiBNb24gQXVnIDAxIDIwMDUgQWRyaWFuIFJlYmVy IDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczkuNgotLSB1cGRhdGVkIHRvIDIuMC0wLnM5LjYK LQotKiBUaHUgTWF5IDEyIDIwMDUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4w LTAuczguNQotLSB1cGRhdGVkIHRvIDIuMC0wLnM4LjUKLS0gdXNpbmcgbmV3IGxvY2F0aW9uIG9m IG1ha2UtZHVtbXktY2VydAotCi0qIFdlZCBNYXIgMDkgMjAwNSBBZHJpYW4gUmViZXIgPGFkcmlh bkBsaXNhcy5kZT4gLSAyLjAtMC5zNi41Ci0tIHJlbW92ZWQgRXBvY2g6IDAKLS0gbW9yZSBSZXF1 aXJlcyguLi4pCi0tIHR5cG8KLS0gY2hhbmdlZCBkYiBsb2NhdGlvbiB0byAlJXtfdmFyfS9saWIv amFiYmVyZAotLSByZW1vdmVkIG5vcmVwbGFjZSBmb3Igc3RhcnQgc2NyaXB0Ci0tIG1ha2UgYmFj a2VuZHMgb3B0aW9uYWwgZHVyaW5nIGJ1aWxkCi0tIHVzZSAtcCB3aXRoIHRoZSBpbnN0YWxsIGNv bW1hbmQKLS0gY29tYmluZWQgc29tZSBvZiB0aGUgc2VkIG1hZ2ljCi0tIGFkZGVkIGEgamFiYmVy ZCBmaWxlIGluIHN5c2NvbmZpZyB0byBjb250cm9sIGlmIGFsbCBkYWVtb25zCi0gIHNob3VsZCBi ZSBzdGFydGVkCi0tIGRvbid0IHN1aWQgYzJzIGFuZCBhZGQgY29uZmlnIG9wdGlvbiBpbiBzeXNj b25maWcvamFiYmVyZAotICB0byBzdGFydCBjMnMgYXMgcm9vdCBpZiByZXF1aXJlZCB0byBhdXRo ZW50aWNhdGUgYWdhaW5zdCBwYW0vc2hhZG93Ci0KLSogVHVlIE1hciAwOCAyMDA1IEFkcmlhbiBS ZWJlciA8YWRyaWFuQGxpc2FzLmRlPiAtIDIuMC0wLnM2LjQKLS0gbWFkZSBwYXNzd29yZCBtb3Jl IHJhbmRvbSAoL2Rldi9yYW5kb20pCi0tIHJlcGxhY2UgcGFzc3dvcmQgaW4gdGhlIGNvbmZpZyB3 aXRob3V0IG1ha2luZyBpdCB2aXNpYmxlIGluIHBzCi0tIGVuYWJsZSBsZGFwLCBteXNxbCwgcG9z dGdyZXNxbCBiYWNrZW5kcwotLSByZW1vdmUgZGVwZW5kZW5jeSBvbiBwZXJsIGR1cmluZyBidWls ZAotLSBtYWtlIHBhbSBkZWZhdWx0IGF1dGhlbnRpY2F0aW9uIGJhY2tlbmQgaW4gYzJzLnhtbAot LSBtYWtlIGZpbGVzIGluIGV0YyAoNjQwLCBqYWJiZXIsIGphYmJlcikKLS0gZW5hYmxlZCBTU0wg Y2VydGlmaWNhdGUgaW4gYzJzLnhtbAotLSBlbmFibGVkIGF1dG8gY3JlYXRpb24gb2YgYWNjb3Vu dHMgaW4gc20ueG1sIChuZWNlc3NhcnkgZm9yIHVzYWdlIHdpdGggUEFNKQotLSBlbmFibGVkIHJl cXVpcmUtc3RhcnRscwotCi0qIE1vbiBNYXIgMDcgMjAwNSBBZHJpYW4gUmViZXIgPGFkcmlhbkBs aXNhcy5kZT4gLSAyLjAtMC5zNi4zCi0tIGNoYW5nZWQgc3RhcnRzY3JpcHQgYWdhaW4KLQotKiBN b24gTWFyIDA3IDIwMDUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczYu MgotLSBjaGFuZ2VkIHN0YXJ0c2NyaXB0IHRvIHN1cHBvcnQgY29uZHJlc3RhcnQKLQotKiBNb24g TWFyIDA3IDIwMDUgQWRyaWFuIFJlYmVyIDxhZHJpYW5AbGlzYXMuZGU+IC0gMi4wLTAuczYuMQot LSB1cGRhdGVkIHRvIDIuMHM2Ci0KLSogV2VkIE5vdiAyNCAyMDA0IEFkcmlhbiBSZWJlciA8YWRy aWFuQGxpc2FzLmRlPiAtIDA6Mi4wLTAuZmRyLjE2LnM0Ci0tIHVwZGF0ZWQgdG8gMi4wczQKLS0g YWRkZWQgamFiYmVyZC1jMnMtYnVmZmVycy5wYXRjaAotICAoaHR0cDovL2phYmJlcnN0dWRpby5v cmcvcHJvamVjdHMvamFiYmVyZDIvYnVncy92aWV3LnBocD9pZD00NTI4KQotLSByZXBsYWNlIDxk cml2ZXI+bXlzcWw8L2RyaXZlcj4gd2l0aCA8ZHJpdmVyPmRiPC9kcml2ZXI+IGluIHNtLnhtbAot Ci0qIE1vbiBKdWwgMTkgMjAwNCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAwOjIu MC0wLmZkci4xNS5zMwotLSBhZGQgfHw6IGF0IHRoZSBlbmQgb2YgdGhlIHVzZXJhZGQgbGluZQot Ci0qIE1vbiBKdWwgMTkgMjAwNCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAwOjIu MC0wLmZkci4xNC5zMwotLSBjcmVhdGUgamFiYmVyIHVzZXIgaW4gJSVwcmUgaW5zdGVhZCBvZiBp biAlJXBvc3QKLS0gcmVtb3ZlIC1yIGZyb20gdXNlcmRlbAotCi0qIE1vbiBKdWwgMTkgMjAwNCBB ZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAwOjIuMC0wLmZkci4xMy5zMwotLSBzL2ph YmJlcmQyLyUle25hbWV9LwotLSByZXBsYWNlIGFub3RoZXIgZGVmYXVsdCBwYXNzd29yZAotCi0q IEZyaSBKdWwgMTYgMjAwNCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAwOjIuMC0w LmZkci4xMi5zMwotLSAlJXtfdmFyfS9qYWJiZXJkIGlzIG5vdyBvd25lZCBiZSB0aGUgcGFja2Fn ZQotLSAlJWdob3N0LWluZyBzZXJ2ZXIucGVtCi0tIGRpc2FibGUgcm0taW5nICUle192YXJ9L2ph YmJlcmQgb24gdW5pbnN0YWxsCi0KLSogRnJpIEp1bCAxNiAyMDA0IEFkcmlhbiBSZWJlciA8YWRy aWFuQGxpc2FzLmRlPiAtIDA6Mi4wLTAuZmRyLjExLnMzCi0tIHVzaW5nICUle19kYXRhZGlyfS9z c2wvY2VydHMvbWFrZS1kdW1teS1jZXJ0IHRvCi0gIGNyZWF0ZSB0aGUgY2VydGlmaWNhdGUKLS0g YWRkZWQgLXIgdG8gdXNlcmFkZAotLSBhZGRlZCBvcGVuc3NsIHRvIHBvc3QtcmVxdWlyZXMKLS0g YWRkZWQgbGliaWRuLWRldmVsIGFuZCBwYW0tZGV2ZWwgYXMgQnVpbGRSZXF1aXJlcwotCi0qIE1v biBKdWwgMTIgMjAwNCBBZHJpYW4gUmViZXIgPGFkcmlhbkBsaXNhcy5kZT4gLSAwOjIuMC0wLmZk ci4xMC5zMwotLSBjb21wbGV0ZSByZXdyaXRlIGZvciBmZWRvcmEgKEkgbWVhbiBpdCkKLQotKiBU dWUgTWF5IDE4IDIwMDQgVGltIE5pZW11ZWxsZXIgPHRpbUBuaWVtdWVsbGVyLmRlPgotLSBJbml0 aWFsIHNwZWMgZmlsZQoKZGlmZiAtLWdpdCBhL2phYmJlcmQuc3lzY29uZmlnIGIvamFiYmVyZC5z eXNjb25maWcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI2M2Y5MjUuLjAwMDAwMDAK LS0tIGEvamFiYmVyZC5zeXNjb25maWcKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0j IF9fU1lTQ09ORl9fL2phYmJlcmQKLSMgdGhpcyBmaWxlcyBjb250cm9scyB3aGljaCBkYWVtb25z IGFyZSBzdGFydGVkIGJ5IHRoZSBqYWJiZXJkIHN0YXJ0c2NyaXB0Ci0jCi0jIHRoZSBmb2xsb3dp bmcgZXhhbXBsZSBzaG93cyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3RhcnR1cCBvZiBqYWJiZXJk IGRhZW1vbnMKLSMgbmVjZXNzYXJ5IGZvciBhIGphYmJlcmQgc2VydmVyIHJ1bm5pbmcgb24gb25l IGhvc3QKLSMgU1RBUlRfREFFTU9OUz0icm91dGVyIHNtIGMycyBzMnMiCi0jCi0jIGEgamFiYmVy ZCBzZXJ2ZXIgY29uc2lzdHMgb2Y6Ci0jICogcm91dGVyCi0jICogc20gKFNlc3Npb24gTWFuYWdl cikKLSMgKiBjMnMgKENsaWVudCB0byBTZXJ2ZXIpCi0jICogczJzIChTZXJ2ZXIgdG8gU2VydmVy KQotIwotU1RBUlRfREFFTU9OUz0icm91dGVyIHNtIGMycyBzMnMiCi0KLSMgc2V0IEMyU19BU19S T09UIHRvICJ5ZXMiIHRvIHN0YXJ0IGMycyBhcyByb290Ci0jIHRoaXMgY2FuIGJlIG5lY2Vzc2Fy eSBpZiBjMnMgbmVlZHMgdG8gYXV0aGVudGljYXRlIGFnYWluc3QgcGFtL3NoYWRvdwotQzJTX0FT X1JPT1Q9Im5vIgoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBiNmU3NWZhLi4wMDAwMDAwCi0tLSBhL3NvdXJjZXMKKysrIC9kZXYv bnVsbApAQCAtMSArMCwwIEBACi1TSEE1MTIgKGphYmJlcmQtMi42LjEudGFyLnh6KSA9IDg0NTM0 N2QyYjgxMmY2MjMyYWM4NDc3MWUyNzZjMDc4MzYzNjQwNmQ3M2FlM2NlZGJjNWMyODExOWYzM2M0 MGExYzk5NTgyNzA1MGMwMjI3ZDcyNjBkYWRiYTgxNDM0NjkyMDU5ZmY1YTBiOTExZTFjMGM5MmY4 MjFlMzNlZWVhCgpkaWZmIC0tZ2l0IGEvdW5icmVhay1hdXRvcmVjb25mLnBhdGNoIGIvdW5icmVh ay1hdXRvcmVjb25mLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNDBhYmNk Li4wMDAwMDAwCi0tLSBhL3VuYnJlYWstYXV0b3JlY29uZi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDEzICswLDAgQEAKLS0tLSBhL2NvbmZpZ3VyZS5hYwkyMDE2LTA1LTIyIDE5OjM5OjEzLjAw MDAwMDAwMCArMDAwMAotKysrIGIvY29uZmlndXJlLmFjCTIwMTYtMTItMDIgMDk6MDU6MjIuNjky MDAwMDAwICswMDAwCi1AQCAtNzQsMTAgKzc0LDYgQEAKLSAgICAgQUNfREVGSU5FKE1JT19ERUJV RywxLFtEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byBlbmFibGUgbWFuYWdlZCBJTyBkZWJ1ZyBv dXRwdXQuXSkKLSBmaQotIAotLSMgQ29sb3JpemVkIGJ1aWxkIG91dHB1dAotLUFYX0NIRUNLX0NP TVBJTEVfRkxBRyhbLWZkaWFnbm9zdGljcy1jb2xvcl0sIFtDRkxBR1M9IiR7Q0ZMQUdTfSAtZmRp YWdub3N0aWNzLWNvbG9yIl0sCi0tICAgIFtBWF9DSEVDS19DT01QSUxFX0ZMQUcoWy1mY29sb3It ZGlhZ25vc3RpY3NdLCBbQ0ZMQUdTPSIke0NGTEFHU30gLWZjb2xvci1kaWFnbm9zdGljcyJdKV0p Ci0tCi0gIyBUd28tc3RlcCBoZWFkZXIgY2hlY2tpbmcuICBGaXJzdCBjaGVjayBmb3IgaGVhZGVy cyB3aGljaCBkb24ndAotICMgcmVxdWlyZSBhbnkgb3RoZXIgaGVhZGVycy4KLSBBQ19IRUFERVJf RElSRU5UCg==