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: Artur Frenszek-Iwicki To: git-commits@fedoraproject.org Subject: [rpms/dokuwiki] f44: Backport some more security patches Date: Wed, 22 Jul 2026 20:08:22 GMT Message-ID: <178475090286.1.4542406383683029280.rpms-dokuwiki-313be0d448d5@fedoraproject.org> List-ID: X-Git-Repo: rpms/dokuwiki X-Git-Branch: f44 X-Git-Rev: 313be0d448d5e34122d71de8fac4f87cc944c7ac QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZG9rdXdpa2kKQnJh bmNoIDogZjQ0CkNvbW1pdCA6IDMxM2JlMGQ0NDhkNWUzNDEyMmQ3MWRlOGZhYzRmODdjYzk0NGM3 YWMKQXV0aG9yIDogQXJ0dXIgRnJlbnN6ZWstSXdpY2tpIDxmZWRvcmFAc3ZnYW1lcy5wbD4KRGF0 ZSAgIDogMjAyNi0wNy0yMlQyMjowMDowMCswMjowMApTdGF0cyAgOiArNzI3Ly0xIGluIDMgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Rva3V3aWtp L2MvMzEzYmUwZDQ0OGQ1ZTM0MTIyZDcxZGU4ZmFjNGY4N2NjOTQ0YzdhYz9icmFuY2g9ZjQ0CgpM b2c6CkJhY2twb3J0IHNvbWUgbW9yZSBzZWN1cml0eSBwYXRjaGVzCgotLS0KZGlmZiAtLWdpdCBh LzQ3MDMucGF0Y2ggYi80NzAzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjJiM2M4MGIKLS0tIC9kZXYvbnVsbAorKysgYi80NzAzLnBhdGNoCkBAIC0wLDAgKzEsNjcy IEBACitGcm9tIGJmMmNhM2JjMGZkNDBkNjdlYWFlYzA5ZGZlNWE0NjM4OTBhYzNkNTIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWFzIEdvaHIgPGFuZGlAc3BsaXRicmFpbi5v cmc+CitEYXRlOiBTdW4sIDE5IEp1bCAyMDI2IDExOjIyOjE4ICswMjAwCitTdWJqZWN0OiBbUEFU Q0ggMS84XSBzZWN1cml0eShhdXRocGxhaW4pOiBlc2NhcGUgdXNlcm5hbWUgaW4gbW9kaWZ5VXNl ciByZWdleAorCittb2RpZnlVc2VyKCkgYnVpbHQgaXRzIFBDUkUgcGF0dGVybiBmcm9tIHRoZSBy YXcgdXNlcm5hbWUsIHNvIGEgdXNlcm5hbWUKK2NvbnRhaW5pbmcgYSByZWdleCBtZXRhY2hhcmFj dGVyIG1hdGNoZWQgb3RoZXIgYWNjb3VudHMgd2hlbiB0aGUgdXNlcgordXBkYXRlZCB0aGVpciBv d24gcHJvZmlsZS4gQSBkb3Qgc3Vydml2ZXMgY2xlYW5Vc2VyKCksIHNvIGEgdXNlcm5hbWUgbGlr ZQorYS5iIHJlbW92ZWQgZXZlcnkgbGluZSBtYXRjaGluZyAvXmEuYjovIChlLmcuIGExYiwgb3Ig YWRtaW4gZm9yIGFkLmluKSwKK2Rlc3Ryb3lpbmcgb3RoZXIgYWNjb3VudHMgYW5kIGVuYWJsaW5n IGFkbWluaXN0cmF0b3IgbG9ja291dC4KKworRXNjYXBlIHRoZSB1c2VybmFtZSB3aXRoIHByZWdf cXVvdGUsIG1hdGNoaW5nIGRlbGV0ZVVzZXJzKCkuCisKK1NldmVyaXR5OiBtZWRpdW0gLSBvbiB0 aGUgZGVmYXVsdCBiYWNrZW5kLCBhIHVzZXIgd2l0aCBhIHJlZ2V4LW1ldGFjaGFyYWN0ZXIKK3Vz ZXJuYW1lIHdobyBlZGl0cyB0aGVpciBvd24gcHJvZmlsZSBjYW4gY29ycnVwdCBvciBkZWxldGUg b3RoZXIgYWNjb3VudHMgYW5kCitsb2NrIG91dCB0aGUgYWRtaW5pc3RyYXRvcgorCitmaXhlcyAj NDY5NAorLS0tCisgbGliL3BsdWdpbnMvYXV0aHBsYWluL190ZXN0L2VzY2FwaW5nLnRlc3QucGhw IHwgNTIgKysrKysrKysrKysrKysrKysrKworIGxpYi9wbHVnaW5zL2F1dGhwbGFpbi9hdXRoLnBo cCAgICAgICAgICAgICAgICB8ICA5ICsrKy0KKyAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2xpYi9wbHVnaW5zL2F1dGhwbGFp bi9fdGVzdC9lc2NhcGluZy50ZXN0LnBocCBiL2xpYi9wbHVnaW5zL2F1dGhwbGFpbi9fdGVzdC9l c2NhcGluZy50ZXN0LnBocAoraW5kZXggMTExYTI0MTc2Ny4uOTY2ODg4NWI2NSAxMDA2NDQKKy0t LSBhL2xpYi9wbHVnaW5zL2F1dGhwbGFpbi9fdGVzdC9lc2NhcGluZy50ZXN0LnBocAorKysrIGIv bGliL3BsdWdpbnMvYXV0aHBsYWluL190ZXN0L2VzY2FwaW5nLnRlc3QucGhwCitAQCAtODgsNiAr ODgsNTggQEAgcHVibGljIGZ1bmN0aW9uIHRlc3RNb2RpZnlVc2VyKCkgeworICAgICAgICAgJHRo aXMtPmFzc2VydFRydWUoJHRoaXMtPmF1dGgtPmNoZWNrUGFzcygidGVzdHVzZXIiLCAkdXNlclsn cGFzcyddKSk7CisgICAgIH0KKyAKKysgICAgLyoqCisrICAgICAqIEBzZWUgdGVzdE1vZGlmeVVz ZXJSZWdleE1ldGFjaGFyYWN0ZXIKKysgICAgICovCisrICAgIHB1YmxpYyBmdW5jdGlvbiBwcm92 aWRlUmVnZXhNZXRhY2hhcmFjdGVyVXNlcnMoKQorKyAgICB7CisrICAgICAgICAvLyBPbmx5IHRo ZSBkb3QgYWN0dWFsbHkgc3Vydml2ZXMgY2xlYW5Vc2VyKCkgYW5kIGlzIHRodXMgcmVhY2hhYmxl IGFzCisrICAgICAgICAvLyBhIHN0b3JlZCB1c2VybmFtZSB0aHJvdWdoIHRoZSBub3JtYWwgdXNl ciBmbG93LiBUaGUgb3RoZXIKKysgICAgICAgIC8vIG1ldGFjaGFyYWN0ZXJzIGFyZSBub3JtYWxs eSBzdHJpcHBlZCBkdXJpbmcgY2xlYW5pbmcgYW5kIGNhbm5vdAorKyAgICAgICAgLy8gb2NjdXIg dGhhdCB3YXksIGJ1dCBhcmUgZXhlcmNpc2VkIGhlcmUgZGlyZWN0bHkgdG8gZW5zdXJlCisrICAg ICAgICAvLyBtb2RpZnlVc2VyKCkgZXNjYXBlcyB0aGUgdXNlcm5hbWUgcm9idXN0bHkgb24gaXRz IG93bi4KKysgICAgICAgIC8vIFthdHRhY2tlciB1c2VybmFtZSwgc2libGluZyB0aGF0IGFuIHVu ZXNjYXBlZCAvXjxhdHRhY2tlcj46LyBtYXRjaGVzXQorKyAgICAgICAgcmV0dXJuIFsKKysgICAg ICAgICAgICBbJ2EuYicsICdhMWInXSwgICAvLyAuIG1hdGNoZXMgYW55IHNpbmdsZSBjaGFyYWN0 ZXIgKHJlYWNoYWJsZSB2aWEgY2xlYW5Vc2VyKQorKyAgICAgICAgICAgIFsneHkrJywgJ3h5eSdd LCAgIC8vICsgbWF0Y2hlcyB0aGUgcmVwZWF0ZWQgcHJlY2VkaW5nIGNoYXJhY3RlcgorKyAgICAg ICAgICAgIFsnYWI/JywgJ2EnXSwgICAgIC8vID8gbWFrZXMgdGhlIHByZWNlZGluZyBjaGFyYWN0 ZXIgb3B0aW9uYWwKKysgICAgICAgICAgICBbJ2NbZCcsICdjW2QnXSwgICAvLyBbIHdvdWxkIG1h a2UgdGhlIHVuZXNjYXBlZCBwYXR0ZXJuIGFuIGludmFsaWQgcmVnZXgKKysgICAgICAgIF07Cisr ICAgIH0KKysKKysgICAgLyoqCisrICAgICAqIE1vZGlmeWluZyBhIHVzZXIgd2hvc2UgbmFtZSBj b250YWlucyBhIHJlZ2V4IG1ldGFjaGFyYWN0ZXIgbXVzdCBvbmx5CisrICAgICAqIHRvdWNoIHRo YXQgdXNlcidzIG93biBsaW5lIGFuZCBuZXZlciBtYXRjaCBvciBkZXN0cm95IG90aGVyIGFjY291 bnRzLgorKyAgICAgKgorKyAgICAgKiBAcGFyYW0gc3RyaW5nICRhdHRhY2tlciB1c2VybmFtZSBj b250YWluaW5nIGEgcmVnZXggbWV0YWNoYXJhY3RlcgorKyAgICAgKiBAcGFyYW0gc3RyaW5nICRz aWJsaW5nICBhY2NvdW50IGFuIHVuZXNjYXBlZCBwYXR0ZXJuIHdvdWxkIGFsc28gbWF0Y2gKKysg ICAgICogQGRhdGFQcm92aWRlciBwcm92aWRlUmVnZXhNZXRhY2hhcmFjdGVyVXNlcnMKKysgICAg ICovCisrICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0TW9kaWZ5VXNlclJlZ2V4TWV0YWNoYXJhY3Rl cigkYXR0YWNrZXIsICRzaWJsaW5nKQorKyAgICB7CisrICAgICAgICAkdGhpcy0+YXV0aC0+Y3Jl YXRlVXNlcigkYXR0YWNrZXIsICJwYXNzd29yZCIsICJBdHRhY2tlciIsICJhQGV4YW1wbGUuY29t Iik7CisrICAgICAgICBpZiAoJHNpYmxpbmcgIT09ICRhdHRhY2tlcikgeworKyAgICAgICAgICAg ICR0aGlzLT5hdXRoLT5jcmVhdGVVc2VyKCRzaWJsaW5nLCAicGFzc3dvcmQiLCAiU2libGluZyIs ICJzQGV4YW1wbGUuY29tIik7CisrICAgICAgICB9CisrICAgICAgICAkdGhpcy0+cmVsb2FkVXNl cnMoKTsKKysKKysgICAgICAgIC8vIHRoZSBhdHRhY2tlciB1cGRhdGVzIG9ubHkgdGhlaXIgb3du IHByb2ZpbGUKKysgICAgICAgICR1c2VyID0gJHRoaXMtPmF1dGgtPmdldFVzZXJEYXRhKCRhdHRh Y2tlcik7CisrICAgICAgICAkdXNlclsnbmFtZSddID0gIlJlbmFtZWQiOworKyAgICAgICAgJHRo aXMtPmFzc2VydFRydWUoJHRoaXMtPmF1dGgtPm1vZGlmeVVzZXIoJGF0dGFja2VyLCAkdXNlcikp OworKyAgICAgICAgJHRoaXMtPnJlbG9hZFVzZXJzKCk7CisrCisrICAgICAgICAvLyB0aGUgYXR0 YWNrZXIncyBvd24gY2hhbmdlIHRvb2sgZWZmZWN0CisrICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1 YWxzKCJSZW5hbWVkIiwgJHRoaXMtPmF1dGgtPmdldFVzZXJEYXRhKCRhdHRhY2tlcilbJ25hbWUn XSk7CisrCisrICAgICAgICAvLyB0aGUgc2libGluZyBhY2NvdW50IG11c3Qgc3Vydml2ZSB1bnRv dWNoZWQKKysgICAgICAgICRzYXZlZCA9ICR0aGlzLT5hdXRoLT5nZXRVc2VyRGF0YSgkc2libGlu Zyk7CisrICAgICAgICAkdGhpcy0+YXNzZXJ0Tm90RmFsc2UoJHNhdmVkLCAic2libGluZyBhY2Nv dW50ICckc2libGluZycgd2FzIGRlc3Ryb3llZCIpOworKyAgICAgICAgaWYgKCRzaWJsaW5nICE9 PSAkYXR0YWNrZXIpIHsKKysgICAgICAgICAgICAkdGhpcy0+YXNzZXJ0RXF1YWxzKCJTaWJsaW5n IiwgJHNhdmVkWyduYW1lJ10pOworKyAgICAgICAgfQorKyAgICB9CisrCisgICAgIC8vIHJlYWxs eSBvbmx5IHJlcXVpcmVkIGZvciBkZXZlbG9wZXJzIHRvIGVuc3VyZSB0aGlzIHBsdWdpbiB3aWxs CisgICAgIC8vIHdvcmsgd2l0aCBzeXN0ZW1zIHJ1bm5pbmcgb24gUENSRSA2LjYgYW5kIGxvd2Vy LgorICAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpbmVTcGxpdCgpeworZGlmZiAtLWdpdCBhL2xp Yi9wbHVnaW5zL2F1dGhwbGFpbi9hdXRoLnBocCBiL2xpYi9wbHVnaW5zL2F1dGhwbGFpbi9hdXRo LnBocAoraW5kZXggMGI3ZWUxNTRlZC4uYWU3NTAxMzkzMSAxMDA2NDQKKy0tLSBhL2xpYi9wbHVn aW5zL2F1dGhwbGFpbi9hdXRoLnBocAorKysrIGIvbGliL3BsdWdpbnMvYXV0aHBsYWluL2F1dGgu cGhwCitAQCAtMjE5LDcgKzIxOSwxNCBAQCBwdWJsaWMgZnVuY3Rpb24gbW9kaWZ5VXNlcigkdXNl ciwgJGNoYW5nZXMpCisgICAgICAgICAgICAgJHVzZXJpbmZvWydncnBzJ10KKyAgICAgICAgICk7 CisgCistICAgICAgICBpZiAoIWlvX3JlcGxhY2VJbkZpbGUoJGNvbmZpZ19jYXNjYWRlWydwbGFp bmF1dGgudXNlcnMnXVsnZGVmYXVsdCddLCAnL14nIC4gJHVzZXIgLiAnOi8nLCAkdXNlcmxpbmUs IHRydWUpKSB7CisrICAgICAgICBpZiAoCisrICAgICAgICAgICAgIWlvX3JlcGxhY2VJbkZpbGUo CisrICAgICAgICAgICAgICAgICRjb25maWdfY2FzY2FkZVsncGxhaW5hdXRoLnVzZXJzJ11bJ2Rl ZmF1bHQnXSwKKysgICAgICAgICAgICAgICAgJy9eJyAuIHByZWdfcXVvdGUoJHVzZXIsICcvJykg LiAnOi8nLAorKyAgICAgICAgICAgICAgICAkdXNlcmxpbmUsCisrICAgICAgICAgICAgICAgIHRy dWUKKysgICAgICAgICAgICApCisrICAgICAgICApIHsKKyAgICAgICAgICAgICBtc2coJ1RoZXJl IHdhcyBhbiBlcnJvciBtb2RpZnlpbmcgeW91ciB1c2VyIGRhdGEuIFlvdSBtYXkgbmVlZCB0byBy ZWdpc3RlciBhZ2Fpbi4nLCAtMSk7CisgICAgICAgICAgICAgLy8gRklYTUUsIGlvIGZ1bmN0aW9u cyBzaG91bGQgYmUgZmFpbC1zYWZlIHNvIGV4aXN0aW5nIGRhdGEgaXNuJ3QgbG9zdAorICAgICAg ICAgICAgICRBQ1QgPSAncmVnaXN0ZXInOworCitGcm9tIDA5OTE5ZDgxNWMzMDg5ZjcyOTYyZjJm ZDlkNjIyNjhlOTJjYmJlNGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWFz IEdvaHIgPGFuZGlAc3BsaXRicmFpbi5vcmc+CitEYXRlOiBTdW4sIDE5IEp1bCAyMDI2IDExOjMx OjU4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi84XSBzZWN1cml0eShyZXZlcnQpOiBlc2NhcGUg Y2hhbmdlbG9nIHVzZXIgYW5kIGlwIHRvIHByZXZlbnQKKyBzdG9yZWQgWFNTCisKK1RoZSByZXZl cnQgYWRtaW4gcGx1Z2luIGlzIG1hbmFnZXItYWNjZXNzaWJsZSBhbmQgcHJpbnRlZCB0aGUgY2hh bmdlbG9nCit1c2VybmFtZSB1bmVzY2FwZWQuIEF1dGggYmFja2VuZHMgdGhhdCBpbmhlcml0IHRo ZSBiYXNlCitBdXRoUGx1Z2luOjpjbGVhblVzZXIoKSBuby1vcCAoYXV0aHBkbywgYXV0aGxkYXAs IHRoaXJkLXBhcnR5KSBhbGxvdworSFRNTC1iZWFyaW5nIHVzZXJuYW1lcywgbGV0dGluZyBhIHJl Z3VsYXIgZWRpdG9yIHBsYW50IGEgcGF5bG9hZCB0aGF0CitydW5zIGluIGEgbWFuYWdlcidzIG9y IGFkbWluJ3MgYnJvd3NlciB3aGVuIHRoZXkgb3BlbiB0aGUgcmV2ZXJ0IHRvb2wuCisKK0Fsc28g ZXNjYXBlIHRoZSBJUCBpbiB0aGUgc2hhcmVkIFJldmlzaW9uSW5mbyByZW5kZXJlciBhcyBkZWZl bnNlIGluCitkZXB0aCBhZ2FpbnN0IG1pZ3JhdGVkLCByZW1vdGUtQVBJIG9yIHRoaXJkLXBhcnR5 IGNoYW5nZWxvZyBlbnRyaWVzLgorCitTZXZlcml0eTogbWVkaXVtIC0gYSByZWd1bGFyIGVkaXRv ciBjYW4gc3RvcmUgYW4gSFRNTCB1c2VybmFtZSB0aGF0IHJ1bnMgaW4gYQorbWFuYWdlcidzIG9y IGFkbWluJ3Mgc2Vzc2lvbiB3aGVuIHRoZXkgb3BlbiB0aGUgcmV2ZXJ0IHRvb2wsIGJ1dCBvbmx5 IG9uIGF1dGgKK2JhY2tlbmRzIHRoYXQgcGVybWl0IEhUTUwgaW4gdXNlcm5hbWVzLCBub3QgdGhl IGRlZmF1bHQgYXV0aHBsYWluLgorCitmaXhlcyAjNDY5NQorLS0tCisgaW5jL0NoYW5nZUxvZy9S ZXZpc2lvbkluZm8ucGhwIHwgNCArKy0tCisgbGliL3BsdWdpbnMvcmV2ZXJ0L2FkbWluLnBocCAg IHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvaW5jL0NoYW5nZUxvZy9SZXZpc2lvbkluZm8ucGhwIGIvaW5jL0No YW5nZUxvZy9SZXZpc2lvbkluZm8ucGhwCitpbmRleCA1ODgxYjAyOTY5Li4yMGI5NGZjY2U1IDEw MDY0NAorLS0tIGEvaW5jL0NoYW5nZUxvZy9SZXZpc2lvbkluZm8ucGhwCisrKysgYi9pbmMvQ2hh bmdlTG9nL1JldmlzaW9uSW5mby5waHAKK0BAIC0xNTcsMTAgKzE1NywxMCBAQCBwdWJsaWMgZnVu Y3Rpb24gc2hvd0VkaXRvcigpCisgICAgICAgICBpZiAoJHRoaXMtPnZhbCgndXNlcicpKSB7Cisg ICAgICAgICAgICAgJGh0bWwgPSAnPGJkaT4nIC4gZWRpdG9yaW5mbygkdGhpcy0+dmFsKCd1c2Vy JykpIC4gJzwvYmRpPic7CisgICAgICAgICAgICAgaWYgKGF1dGhfaXNtYW5hZ2VyKCkpIHsKKy0g ICAgICAgICAgICAgICAgJGh0bWwgLj0gJyA8YmRvIGRpcj0ibHRyIj4oJyAuICR0aGlzLT52YWwo J2lwJykgLiAnKTwvYmRvPic7CisrICAgICAgICAgICAgICAgICRodG1sIC49ICcgPGJkbyBkaXI9 Imx0ciI+KCcgLiBoc2MoJHRoaXMtPnZhbCgnaXAnKSkgLiAnKTwvYmRvPic7CisgICAgICAgICAg ICAgfQorICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAkaHRtbCA9ICc8YmRvIGRpcj0i bHRyIj4nIC4gJHRoaXMtPnZhbCgnaXAnKSAuICc8L2Jkbz4nOworKyAgICAgICAgICAgICRodG1s ID0gJzxiZG8gZGlyPSJsdHIiPicgLiBoc2MoJHRoaXMtPnZhbCgnaXAnKSkgLiAnPC9iZG8+JzsK KyAgICAgICAgIH0KKyAgICAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9InVzZXIiPicgLiAkaHRt bCAuICc8L3NwYW4+JzsKKyAgICAgfQorZGlmZiAtLWdpdCBhL2xpYi9wbHVnaW5zL3JldmVydC9h ZG1pbi5waHAgYi9saWIvcGx1Z2lucy9yZXZlcnQvYWRtaW4ucGhwCitpbmRleCAzMWQ5Yzg3M2Y1 Li5kOWJhMjMxMjc5IDEwMDY0NAorLS0tIGEvbGliL3BsdWdpbnMvcmV2ZXJ0L2FkbWluLnBocAor KysrIGIvbGliL3BsdWdpbnMvcmV2ZXJ0L2FkbWluLnBocAorQEAgLTE4NSw3ICsxODUsNyBAQCBw cm90ZWN0ZWQgZnVuY3Rpb24gbGlzdEVkaXRzKCRmaWx0ZXIpCisgICAgICAgICAgICAgZWNobyAn IOKAkyAnIC4gaHRtbHNwZWNpYWxjaGFycygkcmVjZW50WydzdW0nXSk7CisgCisgICAgICAgICAg ICAgZWNobyAnIDxzcGFuIGNsYXNzPSJ1c2VyIj4nOworLSAgICAgICAgICAgICAgICBlY2hvICRy ZWNlbnRbJ3VzZXInXSAuICcgJyAuICRyZWNlbnRbJ2lwJ107CisrICAgICAgICAgICAgICAgIGVj aG8gaHNjKCRyZWNlbnRbJ3VzZXInXSkgLiAnICcgLiBoc2MoJHJlY2VudFsnaXAnXSk7CisgICAg ICAgICAgICAgZWNobyAnPC9zcGFuPic7CisgCisgICAgICAgICAgICAgZWNobyAnPC9kaXY+JzsK KworRnJvbSAyNzkxNmE3NmFlM2EwMzBiMzE4NmRlNmQ0NjRhN2FmYTY2MGM4ZGY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhcyBHb2hyIDxhbmRpQHNwbGl0YnJhaW4ub3Jn PgorRGF0ZTogU3VuLCAxOSBKdWwgMjAyNiAxNzoyOTo1NCArMDIwMAorU3ViamVjdDogW1BBVENI IDMvOF0gc2VjdXJpdHkoYXV0aGFkKTogZXNjYXBlIHVzZXJuYW1lIGluIExEQVAgZmlsdGVyIHRv CisgcHJldmVudCBpbmplY3Rpb24KKworYWRMREFQVXNlcnM6OmluZm8oKSBjb25jYXRlbmF0ZWQg dGhlIHN1cHBsaWVkIHVzZXJuYW1lIGludG8gYW4gTERBUAorc2VhcmNoIGZpbHRlciB3aXRob3V0 IGVzY2FwaW5nLiBUaGUgdXNlcm5hbWUgaXMgcmVhY2hhYmxlIHVuYXV0aGVudGljYXRlZAordGhy b3VnaCB0aGUgcGFzc3dvcmQtcmVzZXQgZm9ybSwgZ2l2aW5nIGEgYmxpbmQgTERBUCBmaWx0ZXIg aW5qZWN0aW9uCitvcmFjbGUgYWdhaW5zdCB0aGUgZGlyZWN0b3J5OiBhIGxvZ2luIG9mICopKG9i amVjdGNsYXNzPSogYWx0ZXJzIHRoZQorZmlsdGVyIHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGJlaW5n IG1hdGNoZWQgbGl0ZXJhbGx5LgorCitFc2NhcGUgdGhlIHVzZXJuYW1lIHdpdGggdGhlIGxpYnJh cnkncyBvd24gbGRhcFNsYXNoZXMoKSBiZWZvcmUgYnVpbGRpbmcKK3RoZSBmaWx0ZXIuIEFzIGdy b3VwcygpIGFuZCBwYXNzd29yZEV4cGlyeSgpIGRlbGVnYXRlIHRvIGluZm8oKSwgdGhpcworY292 ZXJzIGFsbCByZWFjaGFibGUgYXV0aGFkIHF1ZXJ5IHBhdGhzLgorCitTZXZlcml0eTogbWVkaXVt IC0gdW5hdXRoZW50aWNhdGVkIHZpYSB0aGUgcGFzc3dvcmQtcmVzZXQgZm9ybSBvbiBBY3RpdmUK K0RpcmVjdG9yeSBkZXBsb3ltZW50cywgYnV0IGEgYmxpbmQsIHJlYWQtb25seSBvcmFjbGU6IGl0 IGFsbG93cyB1c2VyCitlbnVtZXJhdGlvbiBhbmQgc2xvdyBiaXQtYnktYml0IGluZmVyZW5jZSBv ZiBkaXJlY3RvcnkgYXR0cmlidXRlcywgd2l0aCBubworYXV0aGVudGljYXRpb24gYnlwYXNzLCBw cml2aWxlZ2UgZXNjYWxhdGlvbiwgb3Igd3JpdGUgYWNjZXNzLgorCitmaXhlcyAjNDY5NworLS0t CisgbGliL3BsdWdpbnMvYXV0aGFkL2FkTERBUC9jbGFzc2VzL2FkTERBUFVzZXJzLnBocCB8IDQg KystLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9saWIvcGx1Z2lucy9hdXRoYWQvYWRMREFQL2NsYXNzZXMvYWRMREFQVXNl cnMucGhwIGIvbGliL3BsdWdpbnMvYXV0aGFkL2FkTERBUC9jbGFzc2VzL2FkTERBUFVzZXJzLnBo cAoraW5kZXggZDc1MGYxMDg4Mi4uZjgzMmFhOGFlOCAxMDA2NDQKKy0tLSBhL2xpYi9wbHVnaW5z L2F1dGhhZC9hZExEQVAvY2xhc3Nlcy9hZExEQVBVc2Vycy5waHAKKysrKyBiL2xpYi9wbHVnaW5z L2F1dGhhZC9hZExEQVAvY2xhc3Nlcy9hZExEQVBVc2Vycy5waHAKK0BAIC0yMjUsMTAgKzIyNSwx MCBAQCBwdWJsaWMgZnVuY3Rpb24gaW5mbygkdXNlcm5hbWUsICRmaWVsZHMgPSBOVUxMLCAkaXNH VUlEID0gZmFsc2UpCisgICAgICAgICAgICAgJGZpbHRlciA9ICJvYmplY3RndWlkPSIgLiAkdXNl cm5hbWU7CisgICAgICAgICB9CisgICAgICAgICBlbHNlIGlmIChzdHJzdHIoJHVzZXJuYW1lLCAi QCIpKSB7CistICAgICAgICAgICAgICRmaWx0ZXIgPSAidXNlclByaW5jaXBhbE5hbWU9IiAuICR1 c2VybmFtZTsKKysgICAgICAgICAgICAgJGZpbHRlciA9ICJ1c2VyUHJpbmNpcGFsTmFtZT0iIC4g JHRoaXMtPmFkbGRhcC0+dXRpbGl0aWVzKCktPmxkYXBTbGFzaGVzKCR1c2VybmFtZSk7CisgICAg ICAgICB9CisgICAgICAgICBlbHNlIHsKKy0gICAgICAgICAgICAgJGZpbHRlciA9ICJzYW1hY2Nv dW50bmFtZT0iIC4gJHVzZXJuYW1lOworKyAgICAgICAgICAgICAkZmlsdGVyID0gInNhbWFjY291 bnRuYW1lPSIgLiAkdGhpcy0+YWRsZGFwLT51dGlsaXRpZXMoKS0+bGRhcFNsYXNoZXMoJHVzZXJu YW1lKTsKKyAgICAgICAgIH0KKyAgICAgICAgICRmaWx0ZXIgPSAiKCYob2JqZWN0Q2F0ZWdvcnk9 cGVyc29uKSh7JGZpbHRlcn0pKSI7CisgICAgICAgICBpZiAoJGZpZWxkcyA9PT0gTlVMTCkgeyAK KworRnJvbSBjY2I3ZTZmY2M1NDhiZTE1YzFhNzE0OTlhN2JiMTZlNGQ5ZDA4YTEzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhcyBHb2hyIDxhbmRpQHNwbGl0YnJhaW4ub3Jn PgorRGF0ZTogU3VuLCAxOSBKdWwgMjAyNiAxNzo0MzowMyArMDIwMAorU3ViamVjdDogW1BBVENI IDQvOF0gc2VjdXJpdHkoZXh0ZW5zaW9uKTogdmFsaWRhdGUgbGluayBVUkxzIGFuZCBlc2NhcGUg cmVtb3RlCisgZGF0YSB0byBwcmV2ZW50IFhTUworCitUaGUgRXh0ZW5zaW9uIE1hbmFnZXIgcmVu ZGVycyBtZXRhZGF0YSBmZXRjaGVkIGZyb20gdGhlIHJlbW90ZSByZXBvc2l0b3J5CitpbnRvIGFu IGFkbWluLW9ubHkgdG9vbC4gYnVpbGRBdHRyaWJ1dGVzKCkgZXNjYXBlcyBtZXRhY2hhcmFjdGVy cyBidXQgZG9lcworbm90IHZhbGlkYXRlIFVSTCBzY2hlbWVzLCBzbyBhIGxpc3RpbmcgY2FuIHNl dCBhIGxpbmsgdGFyZ2V0IHRvIGEKK2phdmFzY3JpcHQ6IFVSTCB0aGF0IGV4ZWN1dGVzIGluIHRo ZSBzdXBlcnVzZXIncyBzZXNzaW9uIG9uIGNsaWNrLgorCitGaXg6IHJlamVjdCBub24taHR0cChz KSBVUkxzIGJlZm9yZSBlbWl0dGluZyB0aGUgYnVndHJhY2tlciwgZG9uYXRpb24sCitkb3dubG9h ZCBhbmQgcmVwb3NpdG9yeSBsaW5rcy4gVGhlIHBsdWdpbnJlcG8gQVBJIHN0b3JlcyBhbmQgc2Vy dmVzIHRoZXNlCitmaWVsZHMgKGJ1Z3RyYWNrZXIsIGRvbmF0aW9udXJsLCBkb3dubG9hZHVybCwg c291cmNlcmVwbykgdmVyYmF0aW0sIHNvIHRoZXkKK2FyZSBhdHRhY2tlci1jb250cm9sbGVkIGFu ZCB0aGUgamF2YXNjcmlwdDogdmVjdG9yIGlzIHJlYWNoYWJsZS4KKworSGFyZGVuaW5nIG9ubHk6 IHRoZSBzYW1lIHNjaGVtZSBjaGVjayBvbiB0aGUgaG9tZXBhZ2UgYW5kIHNjcmVlbnNob3QgbGlu a3MsCitwbHVzIGhzYygpIG9uIHRoZSBncmF2YXRhciBlbWFpbGlkIGFuZCB0aGUgY29tcGF0aWJs ZSB2ZXJzaW9uIGxhYmVsL2RhdGUuCitUaGVzZSBhcmUgbm90IHJlYWNoYWJsZSB0aHJvdWdoIHRo ZSBvZmZpY2lhbCByZXBvc2l0b3J5IHRvZGF5ICh0aGUgaG9tZXBhZ2UKK3VybCBpcyBub3Qgc2Vy dmVkIGJ5IHRoZSBBUEksIHNjcmVlbnNob3QgdXJscyBhcmUgd3JhcHBlZCBieSBtbCgpLCBlbWFp bGlkCitpcyBhbiBtZDUgaGFzaCwgYW5kIHRoZSBjb21wYXRpYmxlIGxhYmVsL2RhdGUgY29tZSBm cm9tIHNlcnZlciBjb25maWcpLCBidXQKK2d1YXJkaW5nIHRoZW0ga2VlcHMgYSBmdXR1cmUgcmVw b3NpdG9yeS1zaWRlIGNoYW5nZSBmcm9tIHJlb3BlbmluZyB0aGUgZ2FwLgorCitTZXZlcml0eTog bWVkaXVtIC0gYSBqYXZhc2NyaXB0OiBVUkwgc3VwcGxpZWQgdGhyb3VnaCB0aGUgcHVibGljIGV4 dGVuc2lvbgorcmVwb3NpdG9yeSBBUEkgcnVucyBpbiB0aGUgc3VwZXJ1c2VyJ3Mgc2Vzc2lvbiB3 aGVuIHRoZXkgY2xpY2sgYSBwbHVnaW4ncworbGluayBpbiB0aGUgYWRtaW4tb25seSBFeHRlbnNp b24gTWFuYWdlci4KKworZml4ZXMgIzQ2OTgKKy0tLQorIGxpYi9wbHVnaW5zL2V4dGVuc2lvbi9H dWlFeHRlbnNpb24ucGhwIHwgNDIgKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAxIGZpbGUg Y2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9saWIvcGx1Z2lucy9leHRlbnNpb24vR3VpRXh0ZW5zaW9uLnBocCBiL2xpYi9wbHVnaW5zL2V4 dGVuc2lvbi9HdWlFeHRlbnNpb24ucGhwCitpbmRleCBmODJlZDU4NTUwLi4zNDBjMGFhY2E1IDEw MDY0NAorLS0tIGEvbGliL3BsdWdpbnMvZXh0ZW5zaW9uL0d1aUV4dGVuc2lvbi5waHAKKysrKyBi L2xpYi9wbHVnaW5zL2V4dGVuc2lvbi9HdWlFeHRlbnNpb24ucGhwCitAQCAtODAsNyArODAsNyBA QCBwcm90ZWN0ZWQgZnVuY3Rpb24gdGh1bWJuYWlsKCkKKyAgICAgICAgICAgICAnYWx0JyA9PiAn JywKKyAgICAgICAgIF07CisgCistICAgICAgICBpZiAoJHNjcmVlbikgeworKyAgICAgICAgaWYg KCRzY3JlZW4gJiYgJHRoaXMtPmlzVmFsaWRVUkwoJHNjcmVlbikpIHsKKyAgICAgICAgICAgICAk bGluayA9IFsKKyAgICAgICAgICAgICAgICAgJ2hyZWYnID0+ICRzY3JlZW4sCisgICAgICAgICAg ICAgICAgICd0YXJnZXQnID0+ICdfYmxhbmsnLAorQEAgLTE2OSwyMCArMTY5LDE4IEBAIHB1Ymxp YyBmdW5jdGlvbiBtYWluTGlua3MoKQorICAgICAgICAgJGh0bWwgPSAnPGRpdiBjbGFzcz0ibGlu a2JhciI+JzsKKyAKKyAKKy0gICAgICAgICRob21lcGFnZSA9ICR0aGlzLT5leHRlbnNpb24tPmdl dFVSTCgpOworLSAgICAgICAgaWYgKCRob21lcGFnZSkgeworLSAgICAgICAgICAgICRwYXJhbXMg PSAkdGhpcy0+cHJlcGFyZUxpbmtBdHRyaWJ1dGVzKCRob21lcGFnZSwgJ2hvbWVwYWdlJyk7Cisr ICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnByZXBhcmVMaW5rQXR0cmlidXRlcygkdGhpcy0+ZXh0 ZW5zaW9uLT5nZXRVUkwoKSwgJ2hvbWVwYWdlJyk7CisrICAgICAgICBpZiAoJHBhcmFtcykgewor ICAgICAgICAgICAgICRodG1sIC49ICcgPGEgJyAuIGJ1aWxkQXR0cmlidXRlcygkcGFyYW1zLCB0 cnVlKSAuICc+JyAuICR0aGlzLT5nZXRMYW5nKCdob21lcGFnZV9saW5rJykgLiAnPC9hPic7Cisg ICAgICAgICB9CisgCistICAgICAgICAkYnVndHJhY2tlciA9ICR0aGlzLT5leHRlbnNpb24tPmdl dEJ1Z3RyYWNrZXJVUkwoKTsKKy0gICAgICAgIGlmICgkYnVndHJhY2tlcikgeworLSAgICAgICAg ICAgICRwYXJhbXMgPSAkdGhpcy0+cHJlcGFyZUxpbmtBdHRyaWJ1dGVzKCRidWd0cmFja2VyLCAn YnVncycpOworKyAgICAgICAgJHBhcmFtcyA9ICR0aGlzLT5wcmVwYXJlTGlua0F0dHJpYnV0ZXMo JHRoaXMtPmV4dGVuc2lvbi0+Z2V0QnVndHJhY2tlclVSTCgpLCAnYnVncycpOworKyAgICAgICAg aWYgKCRwYXJhbXMpIHsKKyAgICAgICAgICAgICAkaHRtbCAuPSAnIDxhICcgLiBidWlsZEF0dHJp YnV0ZXMoJHBhcmFtcywgdHJ1ZSkgLiAnPicgLiAkdGhpcy0+Z2V0TGFuZygnYnVnc19mZWF0dXJl cycpIC4gJzwvYT4nOworICAgICAgICAgfQorIAorLSAgICAgICAgaWYgKCR0aGlzLT5leHRlbnNp b24tPmdldERvbmF0aW9uVVJMKCkpIHsKKy0gICAgICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnBy ZXBhcmVMaW5rQXR0cmlidXRlcygkdGhpcy0+ZXh0ZW5zaW9uLT5nZXREb25hdGlvblVSTCgpLCAn ZG9uYXRlJyk7CisrICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnByZXBhcmVMaW5rQXR0cmlidXRl cygkdGhpcy0+ZXh0ZW5zaW9uLT5nZXREb25hdGlvblVSTCgpLCAnZG9uYXRlJyk7CisrICAgICAg ICBpZiAoJHBhcmFtcykgeworICAgICAgICAgICAgICRodG1sIC49ICcgPGEgJyAuIGJ1aWxkQXR0 cmlidXRlcygkcGFyYW1zLCB0cnVlKSAuICc+JyAuICR0aGlzLT5nZXRMYW5nKCdkb25hdGVfYWN0 aW9uJykgLiAnPC9hPic7CisgICAgICAgICB9CisgCitAQCAtMjM3LDcgKzIzNSw3IEBAIHByb3Rl Y3RlZCBmdW5jdGlvbiBkZXRhaWxzKCkKKyAKKyAgICAgICAgIGlmICghJHRoaXMtPmV4dGVuc2lv bi0+aXNCdW5kbGVkKCkgJiYgJHRoaXMtPmV4dGVuc2lvbi0+Z2V0Q29tcGF0aWJsZVZlcnNpb25z KCkpIHsKKyAgICAgICAgICAgICAkbGlzdFsnY29tcGF0aWJsZSddID0gaW1wbG9kZSgnLCAnLCBh cnJheV9tYXAoCistICAgICAgICAgICAgICAgIHN0YXRpYyBmbigkZGF0ZSwgJHZlcnNpb24pID0+ ICc8YmRpPicgLiAkdmVyc2lvblsnbGFiZWwnXSAuICcgKCcgLiAkZGF0ZSAuICcpPC9iZGk+JywK KysgICAgICAgICAgICAgICAgc3RhdGljIGZuKCRkYXRlLCAkdmVyc2lvbikgPT4gJzxiZGk+JyAu IGhzYygkdmVyc2lvblsnbGFiZWwnXSkgLiAnICgnIC4gaHNjKCRkYXRlKSAuICcpPC9iZGk+JywK KyAgICAgICAgICAgICAgICAgYXJyYXlfa2V5cygkdGhpcy0+ZXh0ZW5zaW9uLT5nZXRDb21wYXRp YmxlVmVyc2lvbnMoKSksCisgICAgICAgICAgICAgICAgIGFycmF5X3ZhbHVlcygkdGhpcy0+ZXh0 ZW5zaW9uLT5nZXRDb21wYXRpYmxlVmVyc2lvbnMoKSkKKyAgICAgICAgICAgICApKTsKK0BAIC0y OTksNyArMjk3LDcgQEAgcHJvdGVjdGVkIGZ1bmN0aW9uIGF1dGhvcigpCisgICAgICAgICBpZiAo JG1haWxpZCkgeworICAgICAgICAgICAgICR1cmwgPSAkdGhpcy0+dGFiVVJMKCdzZWFyY2gnLCBb J3EnID0+ICdhdXRob3JpZDonIC4gJG1haWxpZF0pOworICAgICAgICAgICAgICRodG1sID0gJzxh IGhyZWY9IicgLiAkdXJsIC4gJyIgY2xhc3M9ImF1dGhvciIgdGl0bGU9IicgLiAkdGhpcy0+Z2V0 TGFuZygnYXV0aG9yX2hpbnQnKSAuICciID4nIC4KKy0gICAgICAgICAgICAgICAgJzxpbWcgc3Jj PSIvL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLycgLiAkbWFpbGlkIC4KKysgICAgICAgICAgICAg ICAgJzxpbWcgc3JjPSIvL3d3dy5ncmF2YXRhci5jb20vYXZhdGFyLycgLiBoc2MoJG1haWxpZCkg LgorICAgICAgICAgICAgICAgICAnP3M9NjAmYW1wO2Q9bW0iIHdpZHRoPSIyMCIgaGVpZ2h0PSIy MCIgYWx0PSIiIC8+ICcgLgorICAgICAgICAgICAgICAgICBoc2MoJG5hbWUpIC4gJzwvYT4nOwor ICAgICAgICAgfSBlbHNlIHsKK0BAIC00MDAsNiArMzk4LDIwIEBAIHByb3RlY3RlZCBmdW5jdGlv biBnZXRDbGFzc2VzKCkKKyAgICAgICAgIHJldHVybiBpbXBsb2RlKCcgJywgJGNsYXNzZXMpOwor ICAgICB9CisgCisrICAgIC8qKgorKyAgICAgKiBDaGVjayB3aGV0aGVyIHRoZSBnaXZlbiBVUkwg aXMgYSBzYWZlIGh0dHAocykgVVJMCisrICAgICAqCisrICAgICAqIFJlbW90ZSByZXBvc2l0b3J5 IGRhdGEgbXVzdCBub3QgYmUgYWJsZSB0byBzbXVnZ2xlIGluIG90aGVyIHNjaGVtZXMKKysgICAg ICogc3VjaCBhcyBqYXZhc2NyaXB0OiB3aGljaCB3b3VsZCBleGVjdXRlIGluIHRoZSBhZG1pbidz IHNlc3Npb24uCisrICAgICAqCisrICAgICAqIEBwYXJhbSBzdHJpbmcgJHVybCBUaGUgVVJMIHRv IGNoZWNrCisrICAgICAqIEByZXR1cm4gYm9vbAorKyAgICAgKi8KKysgICAgcHJvdGVjdGVkIGZ1 bmN0aW9uIGlzVmFsaWRVUkwoJHVybCkKKysgICAgeworKyAgICAgICAgcmV0dXJuIChib29sKXBy ZWdfbWF0Y2goJyNeaHR0cHM/Oi8vI2knLCAoc3RyaW5nKSR1cmwpOworKyAgICB9CisrCisgICAg IC8qKgorICAgICAgKiBDcmVhdGUgYW4gYXR0cmlidXRlcyBhcnJheSBmb3IgYSBsaW5rCisgICAg ICAqCitAQCAtNDA3LDEyICs0MTksMTQgQEAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldENsYXNzZXMo KQorICAgICAgKgorICAgICAgKiBAcGFyYW0gc3RyaW5nICR1cmwgVGhlIFVSTCB0byBsaW5rIHRv CisgICAgICAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzIEFkZGl0aW9uYWwgY2xhc3NlcyB0byBhZGQK Ky0gICAgICogQHJldHVybiBhcnJheQorKyAgICAgKiBAcmV0dXJuIGFycmF5IEVtcHR5IHdoZW4g dGhlIFVSTCBpcyBtaXNzaW5nIG9yIG5vdCBhIHNhZmUgaHR0cChzKSBVUkwKKyAgICAgICovCisg ICAgIHByb3RlY3RlZCBmdW5jdGlvbiBwcmVwYXJlTGlua0F0dHJpYnV0ZXMoJHVybCwgJGNsYXNz KQorICAgICB7CisgICAgICAgICBnbG9iYWwgJGNvbmY7CisgCisrICAgICAgICBpZiAoISR0aGlz LT5pc1ZhbGlkVVJMKCR1cmwpKSByZXR1cm4gW107CisrCisgICAgICAgICAkYXR0cmlidXRlcyA9 IFsKKyAgICAgICAgICAgICAnaHJlZicgPT4gJHVybCwKKyAgICAgICAgICAgICAnY2xhc3MnID0+ ICd1cmxleHRlcm4nLAorQEAgLTQ0Nyw3ICs0NjEsOCBAQCBwcm90ZWN0ZWQgZnVuY3Rpb24gcHJl cGFyZUxpbmtBdHRyaWJ1dGVzKCR1cmwsICRjbGFzcykKKyAgICAgICovCisgICAgIHByb3RlY3Rl ZCBmdW5jdGlvbiBzaG9ydGxpbmsoJHVybCwgJGNsYXNzLCAkZmFsbGJhY2sgPSAnJykKKyAgICAg eworLSAgICAgICAgaWYgKCEkdXJsKSByZXR1cm4gJGZhbGxiYWNrOworKyAgICAgICAgJHBhcmFt cyA9ICR0aGlzLT5wcmVwYXJlTGlua0F0dHJpYnV0ZXMoJHVybCwgJGNsYXNzKTsKKysgICAgICAg IGlmICghJHBhcmFtcykgcmV0dXJuICRmYWxsYmFjazsKKyAKKyAgICAgICAgICRsaW5rID0gcGFy c2VfdXJsKCR1cmwpOworICAgICAgICAgJGJhc2UgPSAkbGlua1snaG9zdCddOworQEAgLTQ1Nyw3 ICs0NzIsNiBAQCBwcm90ZWN0ZWQgZnVuY3Rpb24gc2hvcnRsaW5rKCR1cmwsICRjbGFzcywgJGZh bGxiYWNrID0gJycpCisgCisgICAgICAgICAkbmFtZSA9IHNob3J0ZW4oJGJhc2UsICRsb25nLCA1 NSk7CisgCistICAgICAgICAkcGFyYW1zID0gJHRoaXMtPnByZXBhcmVMaW5rQXR0cmlidXRlcygk dXJsLCAkY2xhc3MpOworICAgICAgICAgJGh0bWwgPSAnPGEgJyAuIGJ1aWxkQXR0cmlidXRlcygk cGFyYW1zLCB0cnVlKSAuICc+JyAuIGhzYygkbmFtZSkgLiAnPC9hPic7CisgICAgICAgICByZXR1 cm4gJGh0bWw7CisgICAgIH0KKworRnJvbSBiZWQ1ZTZjNTA5YmIzMGFlY2QwOGEwM2M3MWRmMWIy NDQxYzZmYWU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQW5kcmVhcyBHb2hyIDxh bmRpQHNwbGl0YnJhaW4ub3JnPgorRGF0ZTogU3VuLCAxOSBKdWwgMjAyNiAxOToxMzozNiArMDIw MAorU3ViamVjdDogW1BBVENIIDUvOF0gc2VjdXJpdHkoZXh0ZW5zaW9uKTogc2VydmUgYWpheCB0 b2dnbGUgZXJyb3IgcmVzcG9uc2VzIGFzCisgcGxhaW4gdGV4dAorCitUaGUgYWpheCB0b2dnbGUg aGFuZGxlciBlY2hvZWQgZXJyb3IgbWVzc2FnZXMgdGhhdCBlbWJlZCB0aGUgcmF3IGV4dAorcGFy YW1ldGVyIHdoaWxlIGluaGVyaXRpbmcgdGhlIGFqYXgucGhwIGRlZmF1bHQgQ29udGVudC1UeXBl IG9mCit0ZXh0L2h0bWwuIE5hdmlnYXRpbmcgZGlyZWN0bHkgdG8gdGhlIGFqYXggVVJMIHdpdGgg YSBjcmFmdGVkIGV4dCB2YWx1ZQorY291bGQgdGhlcmVmb3JlIHJlZmxlY3QgbWFya3VwIGludG8g YW4gSFRNTCByZXNwb25zZS4KKworRGVmYXVsdCB0aGUgaGFuZGxlcidzIG91dHB1dCB0byB0ZXh0 L3BsYWluIHNvIGVycm9yIG1lc3NhZ2VzIGFyZSBpbmVydDsKK3RoZSBzdWNjZXNzIHBhdGggc3Rp bGwgb3ZlcnJpZGVzIHRvIHRleHQvaHRtbCBiZWZvcmUgcmVuZGVyaW5nIEhUTUwuCisKK1NldmVy aXR5OiBsb3cgLSByZWZsZWN0ZWQgWFNTIHJlcXVpcmluZyB0aGUgdGFyZ2V0IHRvIGZvbGxvdyBh IGNyYWZ0ZWQgYWpheAorVVJMOyB0aGUgZXh0ZW5zaW9uIG1hbmFnZXIgaXMgc3VwZXJ1c2VyLW9u bHksIHNvIHRoZSByZWFjaCBhbmQgYXVkaWVuY2UgYXJlCituYXJyb3cuCisKK2ZpeGVzICM0Njk5 CistLS0KKyBsaWIvcGx1Z2lucy9leHRlbnNpb24vYWN0aW9uLnBocCB8IDMgKysrCisgMSBmaWxl IGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvbGliL3BsdWdpbnMvZXh0 ZW5zaW9uL2FjdGlvbi5waHAgYi9saWIvcGx1Z2lucy9leHRlbnNpb24vYWN0aW9uLnBocAoraW5k ZXggNTAxNTZkY2FmNC4uNWUxNjE4ZGY1ZSAxMDA2NDQKKy0tLSBhL2xpYi9wbHVnaW5zL2V4dGVu c2lvbi9hY3Rpb24ucGhwCisrKysgYi9saWIvcGx1Z2lucy9leHRlbnNpb24vYWN0aW9uLnBocAor QEAgLTQwLDYgKzQwLDkgQEAgcHVibGljIGZ1bmN0aW9uIGhhbmRsZUFqYXhUb2dnbGUoRXZlbnQg JGV2ZW50LCAkcGFyYW0pCisgICAgICAgICAkZXZlbnQtPnByZXZlbnREZWZhdWx0KCk7CisgICAg ICAgICAkZXZlbnQtPnN0b3BQcm9wYWdhdGlvbigpOworIAorKyAgICAgICAgLy8gZXJyb3IgcmVz cG9uc2VzIGJlbG93IGFyZSBwbGFpbiB0ZXh0OyB0aGUgc3VjY2VzcyBwYXRoIG92ZXJyaWRlcyB0 aGlzIGJlZm9yZSByZW5kZXJpbmcgSFRNTAorKyAgICAgICAgaGVhZGVyKCdDb250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgnKTsKKysKKyAgICAgICAgIC8qKiBAdmFyIGFkbWlu X3BsdWdpbl9leHRlbnNpb24gJGFkbWluICovCisgICAgICAgICAkYWRtaW4gPSBwbHVnaW5fbG9h ZCgnYWRtaW4nLCAnZXh0ZW5zaW9uJyk7CisgICAgICAgICBpZiAoISRhZG1pbi0+aXNBY2Nlc3Np YmxlQnlDdXJyZW50VXNlcigpKSB7CisKK0Zyb20gNTkyMzJiODE4NTljNGRiZmVhNjI4YzJlNzg2 MmZmYjllMDdjODg2OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFuZHJlYXMgR29o ciA8YW5kaUBzcGxpdGJyYWluLm9yZz4KK0RhdGU6IFN1biwgMTkgSnVsIDIwMjYgMjA6Mjk6NTAg KzAyMDAKK1N1YmplY3Q6IFtQQVRDSCA2LzhdIHNlY3VyaXR5KGV4dGVuc2lvbik6IGF2b2lkIERP TSBYU1Mgd2hlbiBvcGVuaW5nCisgc2NyZWVuc2hvdCBsaWdodGJveAorCitUaGUgc2NyZWVuc2hv dCBsaWdodGJveCByZWFkIHRoZSByZXBvc2l0b3J5LXN1cHBsaWVkIHNjcmVlbnNob3QgVVJMIGJh Y2sKK291dCBvZiB0aGUgbGluaydzIGhyZWYgYW5kIGNvbmNhdGVuYXRlZCBpdCBpbnRvIGFuIEhU TUwgc3RyaW5nLCBzbyBhIFVSTAorY2FycnlpbmcgYSBxdW90ZSBjb3VsZCBicmVhayBvdXQgb2Yg dGhlIHNyYyBhdHRyaWJ1dGUgYW5kIHJ1biBzY3JpcHQgaW4gdGhlCithZG1pbidzIHNlc3Npb24g b24gY2xpY2suIEJ1aWxkIHRoZSBpbWcgZWxlbWVudCB2aWEgalF1ZXJ5J3MgYXR0cmlidXRlIEFQ SQoraW5zdGVhZCBzbyB0aGUgVVJMIGlzIG5ldmVyIHBhcnNlZCBhcyBIVE1MLgorCitUaGlzIGlz IGhhcmRlbmluZywgbm90IGEgZml4IGZvciBhIHZlY3RvciByZWFjaGFibGUgdGhyb3VnaCB0aGUg b2ZmaWNpYWwKK3JlcG9zaXRvcnk6IHRoZSBwbHVnaW5yZXBvIEFQSSBzZXJ2ZXMgc2NyZWVuc2hv dHVybCBhcyBhbiBtbCgpLXdyYXBwZWQKK2Rva3V3aWtpLm9yZyBmZXRjaC5waHAgbGluayB3aXRo IHRoZSBhdXRob3Itc3VwcGxpZWQgdmFsdWUgcmF3dXJsZW5jb2RlKCknZAoraW50byB0aGUgbWVk aWEgcGFyYW1ldGVyLCBzbyBubyBIVE1MIG1ldGFjaGFyYWN0ZXIgc3Vydml2ZXMuIExhbmRpbmcg YQorbGl0ZXJhbCBxdW90ZSBpbiB0aGUgZmllbGQgcmVxdWlyZXMgYSB0YW1wZXJlZCBBUEkgcmVz cG9uc2UsIGkuZS4gYQorbWFuLWluLXRoZS1taWRkbGUgb24gdGhlIHJlcG9zaXRvcnkgY29ubmVj dGlvbiBvciBhIGNvbXByb21pc2VkIHJlcG9zaXRvcnkKK2JhY2tlbmQuCisKK1NldmVyaXR5OiBs b3cgLSBub3QgcmVhY2hhYmxlIHRocm91Z2ggdGhlIG9mZmljaWFsIHJlcG9zaXRvcnksIHdoaWNo IGVuY29kZXMKK3RoZSB2YWx1ZTsgZXhwbG9pdGF0aW9uIG5lZWRzIGEgbWFuLWluLXRoZS1taWRk bGUgb3IgYSBjb21wcm9taXNlZCByZXBvc2l0b3J5CitiYWNrZW5kIHRvIHN1cHBseSBhIGNyYWZ0 ZWQgc2NyZWVuc2hvdCBVUkwsIHBsdXMgYW4gYWRtaW4gd2hvIGNsaWNrcyB0aGUKK3RodW1ibmFp bC4KKworZml4ZXMgIzQ3MDAKKy0tLQorIGxpYi9wbHVnaW5zL2V4dGVuc2lvbi9zY3JpcHQuanMg fCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisK K2RpZmYgLS1naXQgYS9saWIvcGx1Z2lucy9leHRlbnNpb24vc2NyaXB0LmpzIGIvbGliL3BsdWdp bnMvZXh0ZW5zaW9uL3NjcmlwdC5qcworaW5kZXggNjEzMDFkMWY5ZC4uODIxMmFhZjQ4OCAxMDA2 NDQKKy0tLSBhL2xpYi9wbHVnaW5zL2V4dGVuc2lvbi9zY3JpcHQuanMKKysrKyBiL2xpYi9wbHVn aW5zL2V4dGVuc2lvbi9zY3JpcHQuanMKK0BAIC0zOSw3ICszOSw3IEBAIGpRdWVyeShmdW5jdGlv biAoKSB7CisgICAgICAgICAvLyBmaWxsIGFuZCBzaG93IGl0CisgICAgICAgICAkbGlnaHRib3gK KyAgICAgICAgICAgICAuc2hvdygpCistICAgICAgICAgICAgLmZpbmQoJ2RpdicpLmh0bWwoJzxp bWcgc3JjPSInICsgaW1hZ2VfaHJlZiArICciIC8+Jyk7CisrICAgICAgICAgICAgLmZpbmQoJ2Rp dicpLmVtcHR5KCkuYXBwZW5kKGpRdWVyeSgnPGltZz4nLCB7c3JjOiBpbWFnZV9ocmVmfSkpOwor IAorICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9KTsKKworRnJvbSAzZWQzNDA4OTQzOWVj NjBhZGMyOTRiNGQ0Yjk3NmM1Yzg4Y2Y1YmU1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogQW5kcmVhcyBHb2hyIDxhbmRpQHNwbGl0YnJhaW4ub3JnPgorRGF0ZTogU3VuLCAxOSBKdWwg MjAyNiAyMDo0MDoxNiArMDIwMAorU3ViamVjdDogW1BBVENIIDcvOF0gc2VjdXJpdHkoYXV0aCk6 IHVzZSBzdHJpY3QgY29tcGFyaXNvbiBpbiBtZW1iZXJzaGlwIGFuZAorIEFDTCBjaGVja3MKKwor TG9vc2UgY29tcGFyaXNvbiB0cmVhdGVkIG51bWVyaWNhbGx5LWVxdWFsIHN0cmluZ3MgYXMgdGhl IHNhbWUgdmFsdWUsIHNvCithIHN1cGVydXNlciwgbWFuYWdlciwgb3IgQUNMIGVudHJ5IG5hbWVk IHdpdGggYSBudW1lcmljIHN0cmluZyAoZS5nLiAxZTMKK29yIEAxZTMpIG1hdGNoZWQgYW55IHVz ZXIgb3IgZ3JvdXAgd2hvc2UgbmFtZSB3YXMgbnVtZXJpY2FsbHkgZXF1YWwKKygxMDAwLCAwMTAw MCwgMTAwMC4wKS4gU3VjaCBuYW1lcyBzdXJ2aXZlIGF1dGhfbmFtZWVuY29kZSgpIHVudG91Y2hl ZCwKK2FsbG93aW5nIHNpbGVudCBwcml2aWxlZ2UgZXNjYWxhdGlvbi4gTWF0Y2ggbmFtZXMgc3Ry aWN0bHkgaW4KK2F1dGhfaXNNZW1iZXIoKSBhbmQgYXV0aF9hY2xjaGVja19jYigpLgorCitTZXZl cml0eTogbG93IC0gb25seSBleHBsb2l0YWJsZSB3aGVuIGFuIGFkbWluaXN0cmF0b3IgbmFtZXMg YSBzdXBlcnVzZXIsCittYW5hZ2VyIG9yIEFDTCBncm91cCB3aXRoIGEgbnVtZXJpYyBzdHJpbmcg c3VjaCBhcyAxZTMsIGFuIHVudXN1YWwKK2NvbmZpZ3VyYXRpb24sIHNvIHJlYWxpc3RpYyBkZXBs b3ltZW50cyBhcmUgcmFyZWx5IGFmZmVjdGVkLgorCitmaXhlcyAjNDcwMQorLS0tCisgX3Rlc3Qv dGVzdHMvaW5jL2F1dGhfYWRtaW5jaGVjay50ZXN0LnBocCB8IDE4ICsrKysrKysrKysrKysrKysr KworIGluYy9hdXRoLnBocCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0t LQorIDIgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2luYy9hdXRoLnBocCBiL2luYy9hdXRoLnBocAoraW5kZXggYzFhYzc3MGE1 My4uNjY1ZDEwMWYyOCAxMDA2NDQKKy0tLSBhL2luYy9hdXRoLnBocAorKysrIGIvaW5jL2F1dGgu cGhwCitAQCAtNjcwLDEwICs2NzAsMTAgQEAgZnVuY3Rpb24gYXV0aF9pc01lbWJlcigkbWVtYmVy bGlzdCwgJHVzZXIsIGFycmF5ICRncm91cHMpCisgICAgICAgICBpZiAoISRhdXRoLT5pc0Nhc2VT ZW5zaXRpdmUoKSkgJG1lbWJlciA9IFBocFN0cmluZzo6c3RydG9sb3dlcigkbWVtYmVyKTsKKyAg ICAgICAgIGlmICgkbWVtYmVyWzBdID09ICdAJykgeworICAgICAgICAgICAgICRtZW1iZXIgPSAk YXV0aC0+Y2xlYW5Hcm91cChzdWJzdHIoJG1lbWJlciwgMSkpOworLSAgICAgICAgICAgIGlmIChp bl9hcnJheSgkbWVtYmVyLCAkZ3JvdXBzKSkgcmV0dXJuIHRydWU7CisrICAgICAgICAgICAgaWYg KGluX2FycmF5KCRtZW1iZXIsICRncm91cHMsIHRydWUpKSByZXR1cm4gdHJ1ZTsKKyAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgJG1lbWJlciA9ICRhdXRoLT5jbGVhblVzZXIoJG1lbWJl cik7CistICAgICAgICAgICAgaWYgKCRtZW1iZXIgPT0gJHVzZXIpIHJldHVybiB0cnVlOworKyAg ICAgICAgICAgIGlmICgkbWVtYmVyID09PSAkdXNlcikgcmV0dXJuIHRydWU7CisgICAgICAgICB9 CisgICAgIH0KKyAKK0BAIC04MDMsNyArODAzLDcgQEAgZnVuY3Rpb24gYXV0aF9hY2xjaGVja19j YigkZGF0YSkKKyAgICAgICAgICAgICBpZiAoISRhdXRoLT5pc0Nhc2VTZW5zaXRpdmUoKSAmJiAk YWNsWzFdICE9PSAnQEFMTCcpIHsKKyAgICAgICAgICAgICAgICAgJGFjbFsxXSA9IFBocFN0cmlu Zzo6c3RydG9sb3dlcigkYWNsWzFdKTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgaWYg KCFpbl9hcnJheSgkYWNsWzFdLCAkZ3JvdXBzKSkgeworKyAgICAgICAgICAgIGlmICghaW5fYXJy YXkoJGFjbFsxXSwgJGdyb3VwcywgdHJ1ZSkpIHsKKyAgICAgICAgICAgICAgICAgY29udGludWU7 CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGlmICgkYWNsWzJdID4gQVVUSF9ERUxFVEUp ICRhY2xbMl0gPSBBVVRIX0RFTEVURTsgLy9ubyBhZG1pbnMgaW4gdGhlIEFDTCEKK0BAIC04MzMs NyArODMzLDcgQEAgZnVuY3Rpb24gYXV0aF9hY2xjaGVja19jYigkZGF0YSkKKyAgICAgICAgICAg ICAgICAgaWYgKCEkYXV0aC0+aXNDYXNlU2Vuc2l0aXZlKCkgJiYgJGFjbFsxXSAhPT0gJ0BBTEwn KSB7CisgICAgICAgICAgICAgICAgICAgICAkYWNsWzFdID0gUGhwU3RyaW5nOjpzdHJ0b2xvd2Vy KCRhY2xbMV0pOworICAgICAgICAgICAgICAgICB9CistICAgICAgICAgICAgICAgIGlmICghaW5f YXJyYXkoJGFjbFsxXSwgJGdyb3VwcykpIHsKKysgICAgICAgICAgICAgICAgaWYgKCFpbl9hcnJh eSgkYWNsWzFdLCAkZ3JvdXBzLCB0cnVlKSkgeworICAgICAgICAgICAgICAgICAgICAgY29udGlu dWU7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgaWYgKCRhY2xbMl0gPiBB VVRIX0RFTEVURSkgJGFjbFsyXSA9IEFVVEhfREVMRVRFOyAvL25vIGFkbWlucyBpbiB0aGUgQUNM IQorCitGcm9tIDA1NzljMmY4YTZjZjhjNzZjYjc1NmI5MWE0YWIxMTY3ZGNmZmQ0YWYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBbmRyZWFzIEdvaHIgPGFuZGlAc3BsaXRicmFpbi5v cmc+CitEYXRlOiBTdW4sIDE5IEp1bCAyMDI2IDIyOjMzOjMwICswMjAwCitTdWJqZWN0OiBbUEFU Q0ggOC84XSBzZWN1cml0eShtZWRpYSk6IGF1dGhvcml6ZSB0aGUgcmVzb2x2ZWQgdGFyZ2V0IG9m IG1lZGlhCisgd3JpdGUgb3BlcmF0aW9ucworCitUaGUgbWVkaWEgbWFuYWdlciBjb21wdXRlZCBh IHBlcm1pc3Npb24gbGV2ZWwgZm9yIHRoZSByZXF1ZXN0J3MgbmFtZXNwYWNlCithbmQgcGFzc2Vk IGl0IHRvIHRoZSBtZWRpYSB3cml0ZSBoZWxwZXJzLCB3aGljaCB0aGVuIGFjdGVkIG9uIGEgdGFy Z2V0IHRoYXQKK25lZWQgbm90IGxpdmUgaW4gdGhhdCBuYW1lc3BhY2UuIFJlYWNoYWJpbGl0eSBk aWZmZXJzIHBlciBoZWxwZXI6CisKKy0gbWVkaWFfcmVzdG9yZSgpIHRvb2sgdGhlIGlkIHRvIHJl c3RvcmUgZnJvbSB0aGUgc2VwYXJhdGUgImltYWdlIgorICBwYXJhbWV0ZXIsIHVucmVsYXRlZCB0 byB0aGUgbmFtZXNwYWNlIHRoZSBwZXJtaXNzaW9uIHdhcyBjb21wdXRlZCBmb3IuIEEKKyAgdXNl ciB3aXRoIHVwbG9hZCBwZXJtaXNzaW9uIGluIGFueSBvbmUgbmFtZXNwYWNlIGNvdWxkIHJlc3Rv cmUgcmV2aXNpb25zCisgIG9mIG1lZGlhIGluIG5hbWVzcGFjZXMgdGhleSBjYW5ub3Qgd3JpdGUu CisKKy0gbWVkaWFfdXBsb2FkKCkgYW5kIG1lZGlhX3VwbG9hZF94aHIoKSBkZXJpdmUgdGhlIHRh cmdldCBmcm9tIHRoZSB1cGxvYWQKKyAgbmFtZXNwYWNlIHBsdXMgYSB1c2VyLWNvbnRyb2xsZWQg ZmlsZW5hbWUgdGhhdCBtYXkgY2FycnkgaXRzIG93biBuYW1lc3BhY2UKKyAgc2VnbWVudHMsIHNv IHRoZSB0YXJnZXQgY2FuIG9ubHkgcmVzb2x2ZSBpbnRvIGEgc3ViLW5hbWVzcGFjZSBvZiB0aGUg dXBsb2FkCisgIG5hbWVzcGFjZS4gV2hlcmUgdGhhdCBjaGlsZCBoYXMgYSBzdHJpY3RlciBBQ0ws IHRoZSBwYXJlbnQncyBwZXJtaXNzaW9uIHdhcworICBhcHBsaWVkIGluc3RlYWQuCisKKy0gbWVk aWFfbWV0YXNhdmUoKSB3YXMgbm90IHZ1bG5lcmFibGU6IGl0cyB0YXJnZXQgYW5kIGl0cyBwZXJt aXNzaW9uIGJvdGgKKyAgZGVyaXZlIGZyb20gdGhlIHNhbWUgcmVxdWVzdCBpZCwgc28gdGhlIG5h bWVzcGFjZXMgYWx3YXlzIG1hdGNoZWQuIEl0IGlzCisgIGNoYW5nZWQgb25seSBmb3IgY29uc2lz dGVuY3kuCisKK0VhY2ggaGVscGVyIG5vdyByZWNvbXB1dGVzIHRoZSBwZXJtaXNzaW9uIGZyb20g aXRzIHJlc29sdmVkIHRhcmdldCBpZCwgYXMKK21lZGlhX2RlbGV0ZSgpIGFscmVhZHkgZG9lcy4g VGhlIHJlZHVuZGFudCAkYXV0aCBwYXJhbWV0ZXIgaXMgcmVtb3ZlZCBmcm9tCittZWRpYV9yZXN0 b3JlKCkgYW5kIG1lZGlhX21ldGFzYXZlKCksIHdoaWNoIGhhdmUgbm8gb3RoZXIgY2FsbGVycywg YW5kCitpZ25vcmVkIGJ1dCBrZXB0IGZvciBjb21wYXRpYmlsaXR5IGluIG1lZGlhX3VwbG9hZCgp IGFuZCBtZWRpYV91cGxvYWRfeGhyKCkuCisKK1NldmVyaXR5OiBtZWRpdW0gLSBhbiBhdXRoZW50 aWNhdGVkIHVzZXIgd2l0aCB1cGxvYWQgcmlnaHRzIGluIG9uZSBuYW1lc3BhY2UKK2NhbiByZXN0 b3JlIG1lZGlhIHJldmlzaW9ucyBpbiBvdGhlciBuYW1lc3BhY2VzLCBvciB3cml0ZSBpbnRvIGEg c3RyaWN0ZXIKK3N1Yi1uYW1lc3BhY2Ugb2Ygb25lIHRoZXkgY2FuIHVwbG9hZCB0bzsgYW4gYXV0 aG9yaXphdGlvbiBieXBhc3MgYWZmZWN0aW5nCittZWRpYSBpbnRlZ3JpdHksIG5vdCBjb2RlIGV4 ZWN1dGlvbiBvciBkaXNjbG9zdXJlLgorCitmaXhlcyAjNDcwMgorLS0tCisgX3Rlc3QvdGVzdHMv aW5jL21lZGlhX21ldGFzYXZlLnRlc3QucGhwIHwgIDUwICsrKysrKysrCisgX3Rlc3QvdGVzdHMv aW5jL21lZGlhX3Jlc3RvcmUudGVzdC5waHAgIHwgIDc3ICsrKysrKysrKysrKworIF90ZXN0L3Rl c3RzL2luYy9tZWRpYV91cGxvYWQudGVzdC5waHAgICB8IDE1NCArKysrKysrKysrKysrKysrKysr KysrKysKKyBpbmMvbWVkaWEucGhwICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMzYgKysr LS0tCisgbGliL2V4ZS9tZWRpYW1hbmFnZXIucGhwICAgICAgICAgICAgICAgIHwgICA2ICstCisg NSBmaWxlcyBjaGFuZ2VkLCAzMDQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisgY3Jl YXRlIG1vZGUgMTAwNjQ0IF90ZXN0L3Rlc3RzL2luYy9tZWRpYV9tZXRhc2F2ZS50ZXN0LnBocAor IGNyZWF0ZSBtb2RlIDEwMDY0NCBfdGVzdC90ZXN0cy9pbmMvbWVkaWFfcmVzdG9yZS50ZXN0LnBo cAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBfdGVzdC90ZXN0cy9pbmMvbWVkaWFfdXBsb2FkLnRlc3Qu cGhwCisKK2RpZmYgLS1naXQgYS9pbmMvbWVkaWEucGhwIGIvaW5jL21lZGlhLnBocAoraW5kZXgg NjNkMDZlMjMxMS4uZTMwZmZjZGQwNSAxMDA2NDQKKy0tLSBhL2luYy9tZWRpYS5waHAKKysrKyBi L2luYy9tZWRpYS5waHAKK0BAIC02NCwxMyArNjQsMTIgQEAgZnVuY3Rpb24gbWVkaWFfZmlsZXNp bnVzZSgkZGF0YSwgJGlkKQorICAqIEBhdXRob3IgS2F0ZSBBcnphbWFzdHNldmEgPHBzaG5zQHVr ci5uZXQ+CisgICoKKyAgKiBAcGFyYW0gc3RyaW5nICRpZCBtZWRpYSBpZAorLSAqIEBwYXJhbSBp bnQgJGF1dGggcGVybWlzc2lvbiBsZXZlbAorICAqIEBwYXJhbSBhcnJheSAkZGF0YQorICAqIEBy ZXR1cm4gZmFsc2V8c3RyaW5nCisgICovCistZnVuY3Rpb24gbWVkaWFfbWV0YXNhdmUoJGlkLCAk YXV0aCwgJGRhdGEpCisrZnVuY3Rpb24gbWVkaWFfbWV0YXNhdmUoJGlkLCAkZGF0YSkKKyB7Cist ICAgIGlmICgkYXV0aCA8IEFVVEhfVVBMT0FEKSByZXR1cm4gZmFsc2U7CisrICAgIGlmIChhdXRo X3F1aWNrYWNsY2hlY2sobWVkaWFBY2xQYXRoKCRpZCkpIDwgQVVUSF9VUExPQUQpIHJldHVybiBm YWxzZTsKKyAgICAgaWYgKCFjaGVja1NlY3VyaXR5VG9rZW4oKSkgcmV0dXJuIGZhbHNlOworICAg ICBnbG9iYWwgJGxhbmc7CisgICAgIGdsb2JhbCAkY29uZjsKK0BAIC0zMDUsMTEgKzMwNCwxMiBA QCBmdW5jdGlvbiBtZWRpYV9kZWxldGUoJGlkLCAkYXV0aCkKKyAvKioKKyAgKiBIYW5kbGUgZmls ZSB1cGxvYWRzIHZpYSBYTUxIdHRwUmVxdWVzdAorICAqCistICogQHBhcmFtIHN0cmluZyAkbnMg ICB0YXJnZXQgbmFtZXNwYWNlCistICogQHBhcmFtIGludCAgICAkYXV0aCBjdXJyZW50IGF1dGgg Y2hlY2sgcmVzdWx0CisrICogQHBhcmFtIHN0cmluZyAgICRucyAgIHRhcmdldCBuYW1lc3BhY2UK KysgKiBAcGFyYW0gbnVsbHxpbnQgJGF1dGggZGVwcmVjYXRlZCBhbmQgaWdub3JlZCwgdGhlIEFD TCBpcyByZS1jaGVja2VkIGFnYWluc3QKKysgKiAgICAgICAgICAgICAgICAgICAgICAgdGhlIHJl c29sdmVkIHRhcmdldCBpZAorICAqIEByZXR1cm4gZmFsc2V8c3RyaW5nIGZhbHNlIG9uIGVycm9y LCBpZCBvZiB0aGUgbmV3IGZpbGUgb24gc3VjY2VzcworICAqLworLWZ1bmN0aW9uIG1lZGlhX3Vw bG9hZF94aHIoJG5zLCAkYXV0aCkKKytmdW5jdGlvbiBtZWRpYV91cGxvYWRfeGhyKCRucywgJGF1 dGggPSBudWxsKQorIHsKKyAgICAgaWYgKCFjaGVja1NlY3VyaXR5VG9rZW4oKSkgcmV0dXJuIGZh bHNlOworICAgICBnbG9iYWwgJElOUFVUOworQEAgLTMyOCwxMSArMzI4LDEyIEBAIGZ1bmN0aW9u IG1lZGlhX3VwbG9hZF94aHIoJG5zLCAkYXV0aCkKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg ICAgfQorIAorKyAgICAkdGFyZ2V0ID0gY2xlYW5JRCgkbnMgLiAnOicgLiAkaWQpOworICAgICAk cmVzID0gbWVkaWFfc2F2ZSgKKyAgICAgICAgIFsnbmFtZScgPT4gJHBhdGgsICdtaW1lJyA9PiAk bWltZSwgJ2V4dCcgID0+ICRleHRdLAorLSAgICAgICAgJG5zIC4gJzonIC4gJGlkLAorKyAgICAg ICAgJHRhcmdldCwKKyAgICAgICAgICgkSU5QVVQtPmdldC0+c3RyKCdvdycpID09ICd0cnVlJyks CistICAgICAgICAkYXV0aCwKKysgICAgICAgIGF1dGhfcXVpY2thY2xjaGVjayhtZWRpYUFjbFBh dGgoJHRhcmdldCkpLAorICAgICAgICAgJ2NvcHknCisgICAgICk7CisgICAgIHVubGluaygkcGF0 aCk7CitAQCAtMzUxLDExICszNTIsMTIgQEAgZnVuY3Rpb24gbWVkaWFfdXBsb2FkX3hocigkbnMs ICRhdXRoKQorICAqIEBhdXRob3IgTWljaGFlbCBLbGllciA8Y2hpQGNoaW1lcmljLmRlPgorICAq CisgICogQHBhcmFtIHN0cmluZyAgICAgJG5zICAgIHRhcmdldCBuYW1lc3BhY2UKKy0gKiBAcGFy YW0gaW50ICAgICAgICAkYXV0aCAgY3VycmVudCBhdXRoIGNoZWNrIHJlc3VsdAorKyAqIEBwYXJh bSBudWxsfGludCAgICRhdXRoICBkZXByZWNhdGVkIGFuZCBpZ25vcmVkLCB0aGUgQUNMIGlzIHJl LWNoZWNrZWQKKysgKiAgICAgICAgICAgICAgICAgICAgICAgICAgYWdhaW5zdCB0aGUgcmVzb2x2 ZWQgdGFyZ2V0IGlkCisgICogQHBhcmFtIGJvb2x8YXJyYXkgJGZpbGUgICRfRklMRVMgbWVtYmVy LCAkX0ZJTEVTWyd1cGxvYWQnXSBpZiBmYWxzZQorICAqIEByZXR1cm4gZmFsc2V8c3RyaW5nIGZh bHNlIG9uIGVycm9yLCBpZCBvZiB0aGUgbmV3IGZpbGUgb24gc3VjY2VzcworICAqLworLWZ1bmN0 aW9uIG1lZGlhX3VwbG9hZCgkbnMsICRhdXRoLCAkZmlsZSA9IGZhbHNlKQorK2Z1bmN0aW9uIG1l ZGlhX3VwbG9hZCgkbnMsICRhdXRoID0gbnVsbCwgJGZpbGUgPSBmYWxzZSkKKyB7CisgICAgIGlm ICghY2hlY2tTZWN1cml0eVRva2VuKCkpIHJldHVybiBmYWxzZTsKKyAgICAgZ2xvYmFsICRsYW5n OworQEAgLTM4MSwxNSArMzgzLDE2IEBAIGZ1bmN0aW9uIG1lZGlhX3VwbG9hZCgkbnMsICRhdXRo LCAkZmlsZSA9IGZhbHNlKQorICAgICAgICAgbXNnKHNwcmludGYoJGxhbmdbJ21lZGlhZXh0Y2hh bmdlJ10sICRmZXh0LCAkaWV4dCkpOworICAgICB9CisgCisrICAgICR0YXJnZXQgPSBjbGVhbklE KCRucyAuICc6JyAuICRpZCk7CisgICAgICRyZXMgPSBtZWRpYV9zYXZlKAorICAgICAgICAgWwor ICAgICAgICAgICAgICduYW1lJyA9PiAkZmlsZVsndG1wX25hbWUnXSwKKyAgICAgICAgICAgICAn bWltZScgPT4gJGltaW1lLAorICAgICAgICAgICAgICdleHQnID0+ICRpZXh0CisgICAgICAgICBd LAorLSAgICAgICAgJG5zIC4gJzonIC4gJGlkLAorKyAgICAgICAgJHRhcmdldCwKKyAgICAgICAg ICRJTlBVVC0+cG9zdC0+Ym9vbCgnb3cnKSwKKy0gICAgICAgICRhdXRoLAorKyAgICAgICAgYXV0 aF9xdWlja2FjbGNoZWNrKG1lZGlhQWNsUGF0aCgkdGFyZ2V0KSksCisgICAgICAgICAnY29weV91 cGxvYWRlZF9maWxlJworICAgICApOworICAgICBpZiAoaXNfYXJyYXkoJHJlcykpIHsKK0BAIC0x MzAwLDE1ICsxMzAzLDE2IEBAIGZ1bmN0aW9uIG1lZGlhX2ltYWdlX2RpZmYoJGltYWdlLCAkbF9y ZXYsICRyX3JldiwgJGxfc2l6ZSwgJHJfc2l6ZSwgJHR5cGUpCisgICoKKyAgKiBAcGFyYW0gc3Ry aW5nICRpbWFnZSBtZWRpYSBpZAorICAqIEBwYXJhbSBpbnQgICAgJHJldiAgIHJldmlzaW9uIHRp bWVzdGFtcCBvciBlbXB0eSBzdHJpbmcKKy0gKiBAcGFyYW0gaW50ICAgICRhdXRoCistICogQHJl dHVybiBzdHJpbmcgLSBmaWxlJ3MgaWQKKysgKiBAcmV0dXJuIGZhbHNlfHN0cmluZyB0aGUgZmls ZSdzIGlkLCBvciBmYWxzZSBvbiBlcnJvcgorICAqCisgICogQGF1dGhvciBLYXRlIEFyemFtYXN0 c2V2YSA8cHNobnNAdWtyLm5ldD4KKyAgKi8KKy1mdW5jdGlvbiBtZWRpYV9yZXN0b3JlKCRpbWFn ZSwgJHJldiwgJGF1dGgpCisrZnVuY3Rpb24gbWVkaWFfcmVzdG9yZSgkaW1hZ2UsICRyZXYpCisg eworICAgICBnbG9iYWwgJGNvbmY7CistICAgIGlmICgkYXV0aCA8IEFVVEhfVVBMT0FEIHx8ICEk Y29uZlsnbWVkaWFyZXZpc2lvbnMnXSkgcmV0dXJuIGZhbHNlOworKyAgICBpZiAoISRjb25mWydt ZWRpYXJldmlzaW9ucyddKSByZXR1cm4gZmFsc2U7CisrICAgICRpbWFnZSA9IGNsZWFuSUQoJGlt YWdlKTsKKysgICAgaWYgKGF1dGhfcXVpY2thY2xjaGVjayhtZWRpYUFjbFBhdGgoJGltYWdlKSkg PCBBVVRIX1VQTE9BRCkgcmV0dXJuIGZhbHNlOworICAgICAkcmVtb3ZlZCA9ICghZmlsZV9leGlz dHMobWVkaWFGTigkaW1hZ2UpKSAmJiBmaWxlX2V4aXN0cyhtZWRpYU1ldGFGTigkaW1hZ2UsICcu Y2hhbmdlcycpKSk7CisgICAgIGlmICghJGltYWdlIHx8ICghZmlsZV9leGlzdHMobWVkaWFGTigk aW1hZ2UpKSAmJiAhJHJlbW92ZWQpKSByZXR1cm4gZmFsc2U7CisgICAgIGlmICghJHJldiB8fCAh ZmlsZV9leGlzdHMobWVkaWFGTigkaW1hZ2UsICRyZXYpKSkgcmV0dXJuIGZhbHNlOworZGlmZiAt LWdpdCBhL2xpYi9leGUvbWVkaWFtYW5hZ2VyLnBocCBiL2xpYi9leGUvbWVkaWFtYW5hZ2VyLnBo cAoraW5kZXggM2U1MDllNzNjZi4uNmUxMGMzMWUzZCAxMDA2NDQKKy0tLSBhL2xpYi9leGUvbWVk aWFtYW5hZ2VyLnBocAorKysrIGIvbGliL2V4ZS9tZWRpYW1hbmFnZXIucGhwCitAQCAtODYsMTcg Kzg2LDE3IEBACisgCisgLy8gaGFuZGxlIG1ldGEgc2F2aW5nCisgaWYgKCRJTUcgJiYgQGFycmF5 X2tleV9leGlzdHMoJ3NhdmUnLCAkSU5QVVQtPmFycignZG8nKSkpIHsKKy0gICAgJEpVTVBUTyA9 IG1lZGlhX21ldGFzYXZlKCRJTUcsICRBVVRILCAkSU5QVVQtPmFycignbWV0YScpKTsKKysgICAg JEpVTVBUTyA9IG1lZGlhX21ldGFzYXZlKCRJTUcsICRJTlBVVC0+YXJyKCdtZXRhJykpOworIH0K KyAKKyBpZiAoJElNRyAmJiAoJElOUFVULT5zdHIoJ21lZGlhZG8nKSA9PSAnc2F2ZScgfHwgQGFy cmF5X2tleV9leGlzdHMoJ3NhdmUnLCAkSU5QVVQtPmFycignbWVkaWFkbycpKSkpIHsKKy0gICAg JEpVTVBUTyA9IG1lZGlhX21ldGFzYXZlKCRJTUcsICRBVVRILCAkSU5QVVQtPmFycignbWV0YScp KTsKKysgICAgJEpVTVBUTyA9IG1lZGlhX21ldGFzYXZlKCRJTUcsICRJTlBVVC0+YXJyKCdtZXRh JykpOworIH0KKyAKKyBpZiAoJElOUFVULT5pbnQoJ3JldicpICYmICRjb25mWydtZWRpYXJldmlz aW9ucyddKSAkUkVWID0gJElOUFVULT5pbnQoJ3JldicpOworIAorIGlmICgkSU5QVVQtPnN0cign bWVkaWFkbycpID09ICdyZXN0b3JlJyAmJiAkY29uZlsnbWVkaWFyZXZpc2lvbnMnXSAmJiBjaGVj a1NlY3VyaXR5VG9rZW4oKSkgeworLSAgICAkSlVNUFRPID0gbWVkaWFfcmVzdG9yZSgkSU5QVVQt PnN0cignaW1hZ2UnKSwgJFJFViwgJEFVVEgpOworKyAgICAkSlVNUFRPID0gbWVkaWFfcmVzdG9y ZSgkSU5QVVQtPnN0cignaW1hZ2UnKSwgJFJFVik7CisgfQorIAorIC8vIGhhbmRsZSBkZWxldGlv bgoKZGlmZiAtLWdpdCBhL0NWRS0yMDI2LTM3MTA2LnBhdGNoIGIvQ1ZFLTIwMjYtMzcxMDYucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFlMWU1YwotLS0gL2Rldi9u dWxsCisrKyBiL0NWRS0yMDI2LTM3MTA2LnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0Zyb20gZWQy OGY5OTBiNmUxNzA1ZGFiNTIyYWQzNGFmYThjMDJiMTg4ZGM5MSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEFuZHJlYXMgR29ociA8Z29ockBjb3Ntb2NvZGUuZGU+CitEYXRlOiBXZWQs IDEgSnVsIDIwMjYgMTQ6NTE6NTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gdXNlIGFjdGlvbk9L KCkgdG8gZ2F0ZSB0aGUgcmVnaXN0ZXIgYWN0aW9uCisKK1RoZSBSZWdpc3RlciBhY3Rpb24gZHVw bGljYXRlZCB0aGUgb3BlbnJlZ2lzdGVyIGFuZCBhZGRVc2VyIGNhcGFiaWxpdHkKK2NoZWNrcyB0 aGF0IGFjdGlvbk9LKCdyZWdpc3RlcicpIGFscmVhZHkgcGVyZm9ybXMuIERlbGVnYXRlIHRvIGl0 IHNvIHRoZQorYWN0aW9uIGdhdGUgYW5kIHJlZ2lzdGVyKCkgaXRzZWxmIHNoYXJlIGEgc2luZ2xl IHNvdXJjZSBvZiB0cnV0aC4KKworU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kb2t1d2lraS9kb2t1 d2lraS9pc3N1ZXMvNDY4MiNpc3N1ZWNvbW1lbnQtNDg1NDk4NzUwMAorLS0tCisgaW5jL0FjdGlv bi9SZWdpc3Rlci5waHAgfCA4ICsrLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luYy9BY3Rpb24vUmVnaXN0ZXIu cGhwIGIvaW5jL0FjdGlvbi9SZWdpc3Rlci5waHAKK2luZGV4IDIzMmQyMWEwMTUuLjMzZTA1OTZm N2QgMTAwNjQ0CistLS0gYS9pbmMvQWN0aW9uL1JlZ2lzdGVyLnBocAorKysrIGIvaW5jL0FjdGlv bi9SZWdpc3Rlci5waHAKK0BAIC01LDcgKzUsNiBAQAorIHVzZSBkb2t1d2lraVxVaVxVc2VyUmVn aXN0ZXI7CisgdXNlIGRva3V3aWtpXEFjdGlvblxFeGNlcHRpb25cQWN0aW9uQWJvcnQ7CisgdXNl IGRva3V3aWtpXEFjdGlvblxFeGNlcHRpb25cQWN0aW9uRGlzYWJsZWRFeGNlcHRpb247CistdXNl IGRva3V3aWtpXEV4dGVuc2lvblxBdXRoUGx1Z2luOworIHVzZSBkb2t1d2lraVxVaTsKKyAKKyAv KioKK0BAIC0yOCwxMSArMjcsOCBAQCBwdWJsaWMgZnVuY3Rpb24gY2hlY2tQcmVjb25kaXRpb25z KCkKKyAgICAgeworICAgICAgICAgcGFyZW50OjpjaGVja1ByZWNvbmRpdGlvbnMoKTsKKyAKKy0g ICAgICAgIC8qKiBAdmFyIEF1dGhQbHVnaW4gJGF1dGggKi8KKy0gICAgICAgIGdsb2JhbCAkYXV0 aDsKKy0gICAgICAgIGdsb2JhbCAkY29uZjsKKy0gICAgICAgIGlmIChpc3NldCgkY29uZlsnb3Bl bnJlZ2lzdGVyJ10pICYmICEkY29uZlsnb3BlbnJlZ2lzdGVyJ10pIHRocm93IG5ldyBBY3Rpb25E aXNhYmxlZEV4Y2VwdGlvbigpOworLSAgICAgICAgaWYgKCEkYXV0aC0+Y2FuRG8oJ2FkZFVzZXIn KSkgdGhyb3cgbmV3IEFjdGlvbkRpc2FibGVkRXhjZXB0aW9uKCk7CisrICAgICAgICAvLyBhY3Rp b25PSygpIGJ1bmRsZXMgdGhlIGRpc2FibGVhY3Rpb25zLCBsZWdhY3kgb3BlbnJlZ2lzdGVyIGFu ZCBhZGRVc2VyIGNhcGFiaWxpdHkgY2hlY2tzCisrICAgICAgICBpZiAoIWFjdGlvbk9LKCdyZWdp c3RlcicpKSB0aHJvdyBuZXcgQWN0aW9uRGlzYWJsZWRFeGNlcHRpb24oKTsKKyAgICAgfQorIAor ICAgICAvKiogQGluaGVyaXRkb2MgKi8KCmRpZmYgLS1naXQgYS9kb2t1d2lraS5zcGVjIGIvZG9r dXdpa2kuc3BlYwppbmRleCA4OTk2ZWU4Li43NDgyZTMxIDEwMDY0NAotLS0gYS9kb2t1d2lraS5z cGVjCisrKyBiL2Rva3V3aWtpLnNwZWMKQEAgLTUsNyArNSw3IEBAIExpY2Vuc2U6CUdQTC0yLjAt b25seQogJWdsb2JhbAkJcmVsZWFzZW51bSAyMDI1LTA1LTE0YgogJWdsb2JhbAkJcmVsZWFzZXRh ZyAlKHJlbD0iJXtyZWxlYXNlbnVtfSI7IGVjaG8gIiR7cmVsLy8tL30iKQogVmVyc2lvbjoJJXty ZWxlYXNldGFnfQotUmVsZWFzZToJNSV7P2Rpc3R9CitSZWxlYXNlOgk2JXs/ZGlzdH0KIAogJWds b2JhbCBwaHBfbWluX3ZlcnNpb24gNy40CiAKQEAgLTE5LDYgKzE5LDE3IEBAIFBhdGNoMToJCWRv a3V3aWtpLXJtLWJ1bmRsZWQtbGlicy5wYXRjaAogIyBodHRwczovL2dpdGh1Yi5jb20vZG9rdXdp a2kvZG9rdXdpa2kvY29tbWl0L2JmYzE2N2RiNjM5NjdmOGM4NzJiM2Q3OTdjYTgxMTM4YjkwMTFl ZjQKIFBhdGNoMjoJCUNWRS0yMDI2LTI2NDc3LnBhdGNoCiAKKyMgVXBzdHJlYW0gY29uc2lkZXJz IHRoZSBDVkUgdG8gYmUgYm9ndXMsIGJ1dCBzdGlsbCB1c2VkIGl0IGFzIG9wcG9ydHVuaXR5Cisj IHRvIHJlbW92ZSBzb21lIG9ic29sZXRlIGNvZGUgdXNlZCBpbiBjcml0aWNhbCBwYXRocy4KKyMK KyMgQmFja3BvcnQgZnJvbSB1cHN0cmVhbToKKyMgaHR0cHM6Ly9naXRodWIuY29tL2Rva3V3aWtp L2Rva3V3aWtpL2NvbW1pdC9lZDI4Zjk5MGI2ZTE3MDVkYWI1MjJhZDM0YWZhOGMwMmIxODhkYzkx CitQYXRjaDM6CQlDVkUtMjAyNi0zNzEwNi5wYXRjaAorCisjIEJhY2twb3J0IGZyb20gdXBzdHJl YW0uIEVkaXRlZCB0byByZW1vdmUgY2hhbmdlcyB0byB0ZXN0cy4KKyMgaHR0cHM6Ly9naXRodWIu Y29tL2Rva3V3aWtpL2Rva3V3aWtpL3B1bGwvNDcwMworUGF0Y2g0OgkJNDcwMy5wYXRjaAorCiBC dWlsZEFyY2g6CW5vYXJjaAogCiAlZ2xvYmFsIHNtb2tlX3Rlc3QgMQpAQCAtMjgwLDYgKzI5MSw5 IEBAIGZpCiAlZG9jIERPS1VXSUtJLVNFTElOVVguUkVBRE1FCiAKICVjaGFuZ2Vsb2cKKyogV2Vk IEp1bCAyMiAyMDI2IEFydHVyIEZyZW5zemVrLUl3aWNraSA8ZmVkb3JhQHN2Z2FtZXMucGw+IC0g MjAyNTA1MTRiLTYKKy0gQmFja3BvcnQgc29tZSBtb3JlIHNlY3VyaXR5IHBhdGNoZXMKKwogKiBN b24gQXByIDIwIDIwMjYgQXJ0dXIgRnJlbnN6ZWstSXdpY2tpIDxmZWRvcmFAc3ZnYW1lcy5wbD4g LSAyMDI1MDUxNGItNQogLSBBZGQgYSBwYXRjaCBmb3IgQ1ZFLTIwMjYtMjY0NzcKIAo=