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: Diego Herrera To: git-commits@fedoraproject.org Subject: [rpms/opentoonz] f44: Update to 1.8.0 Date: Thu, 30 Jul 2026 18:32:03 GMT Message-ID: <178543632381.1.1830512809110124755.rpms-opentoonz-63f7647fbc74@fedoraproject.org> List-ID: X-Git-Repo: rpms/opentoonz X-Git-Branch: f44 X-Git-Rev: 63f7647fbc7425d7ea2f18dfbba28bb8412ed319 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnRvb256CiAgICAgICAgICAgIEJyYW5jaCA6IGY0NAogICAgICAgICAg ICBDb21taXQgOiA2M2Y3NjQ3ZmJjNzQyNWQ3ZWEyZjE4ZGZiYmEyOGJiODQxMmVkMzE5CiAgICAg ICAgICAgIEF1dGhvciA6IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+CiAgICAg ICAgICAgIERhdGUgICA6IDIwMjYtMDctMzBUMTM6NDc6NTUtMDQ6MDAKICAgICAgICAgICAgU3Rh dHMgIDogKzk5Ny8tMTAwMyBpbiAyMyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBz Oi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvb3BlbnRvb256L2MvNjNmNzY0N2ZiYzc0MjVk N2VhMmYxOGRmYmJhMjhiYjg0MTJlZDMxOT9icmFuY2g9ZjQ0CgogICAgICAgICAgICBMb2c6CiAg ICAgICAgICAgIFVwZGF0ZSB0byAxLjguMAoKKiBJbXBsZW1lbnQgYXV0b3NwZWMKKiBDbGVhbnVw IHBhdGNoZXMKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXgg YmZiYTVmYS4uODE0ZmQxMSAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3Jl CkBAIC0xLDcgKzEsOSBAQAogL3Jlc3VsdHNfKgogL3Jldmlldy0qCiAvKi5zcmMucnBtCisvKi50 YXIuZ3oKIC92MS41LjAudGFyLmd6CiAvdjEuNi4wLnRhci5negogL3YxLjcuMC50YXIuZ3oKIC92 MS43LjEudGFyLmd6CisvdjEuOC4wLnRhci5negoKZGlmZiAtLWdpdCBhLzAwMDEtbHpvLWZpeC5w YXRjaCBiLzAwMDEtbHpvLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4xZjA1NmY2Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1sem8tZml4LnBhdGNoCkBAIC0w LDAgKzEsMjIgQEAKK0Zyb20gOTI3NGUwZGQyNGRjNmM3MTFlNDdlYmYyYzE1ODAzNDBhYzMyM2Ew YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJh QHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDI3IEp1bCAyMDI2IDE2OjQzOjMxIC0wNDAwCitTdWJq ZWN0OiBbUEFUQ0ggMS85XSBsem8tZml4CisKKworZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMv Q01ha2VMaXN0cy50eHQgYi90b29uei9zb3VyY2VzL0NNYWtlTGlzdHMudHh0CitpbmRleCA3Y2Y5 NzlhNjMuLmYwMWI3MTk3MCAxMDA2NDQKKy0tLSBhL3Rvb256L3NvdXJjZXMvQ01ha2VMaXN0cy50 eHQKKysrKyBiL3Rvb256L3NvdXJjZXMvQ01ha2VMaXN0cy50eHQKK0BAIC03NDQsNyArNzQ0LDcg QEAgYWRkX3N1YmRpcmVjdG9yeShpbWFnZSkKKyBhZGRfc3ViZGlyZWN0b3J5KHRvb256cXQpCisg YWRkX3N1YmRpcmVjdG9yeSh0bnp0b29scykKKyAKKy1hZGRfc3ViZGlyZWN0b3J5KCR7U0RLUk9P VH0vbHpvL2RyaXZlciBsem9kcml2ZXIpCisrIyBhZGRfc3ViZGlyZWN0b3J5KCR7U0RLUk9PVH0v bHpvL2RyaXZlciBsem9kcml2ZXIpCisgCisgYWRkX3N1YmRpcmVjdG9yeSh0b29ueikKKyBhZGRf c3ViZGlyZWN0b3J5KHRjbGVhbnVwcGVyKQorLS0gCisyLjU1LjAKKwoKZGlmZiAtLWdpdCBhLzAw MDItdGlmZi1maXgucGF0Y2ggYi8wMDAyLXRpZmYtZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmNjY2FmMGEKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAyLXRpZmYt Zml4LnBhdGNoCkBAIC0wLDAgKzEsMjAxIEBACitGcm9tIDZjYjg4MjdmMTIzZjljZDg5ZGE5YjIx YTkwNjFlMzcyNDdlYjkyYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEaWVnbyBI ZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyNyBKdWwgMjAyNiAxNjo0 OTo1OCAtMDQwMAorU3ViamVjdDogW1BBVENIIDIvOV0gdGlmZiBmaXgKKworCitkaWZmIC0tZ2l0 IGEvdG9vbnovY21ha2UvRmluZFRJRkYuY21ha2UgYi90b29uei9jbWFrZS9GaW5kVElGRi5jbWFr ZQoraW5kZXggYjNkYjVmYTA0Li5iNDMzMmNkODYgMTAwNjQ0CistLS0gYS90b29uei9jbWFrZS9G aW5kVElGRi5jbWFrZQorKysrIGIvdG9vbnovY21ha2UvRmluZFRJRkYuY21ha2UKK0BAIC0zLDI4 ICszLDEyIEBAIGZpbmRfcGF0aCgKKyAgICAgVElGRl9JTkNMVURFX0RJUgorICAgICBOQU1FUwor ICAgICAgICAgdGlmZmlvLmgKKy0gICAgSElOVFMKKy0gICAgICAgICR7U0RLUk9PVH0KKy0gICAg UEFUSF9TVUZGSVhFUworLSAgICAgICAgdGlmZi00LjAuMy9saWJ0aWZmLworLSMgaWYgbW9ubyBv ciBhbm90aGVyIGZyYW1ld29yayB3aXRoIGEgdGlmIGxpYnJhcnkKKy0jIGlzIGluc3RhbGxlZCwg aWdub3JlIGl0LgorLWlmKEJVSUxEX0VOVl9BUFBMRSkKKy0gICAgTk9fREVGQVVMVF9QQVRICist ICAgIE5PX0NNQUtFX0VOVklST05NRU5UUEFUSAorLSAgICBOT19DTUFLRV9QQVRICistZW5kaWYo KQorICkKKyAKKyBmaW5kX2xpYnJhcnkoCisgICAgIFRJRkZfTElCUkFSWQorICAgICBOQU1FUwor LSAgICAgICAgbGlidGlmZi5hCistICAgIEhJTlRTCistICAgICAgICAke1NES1JPT1R9CistICAg IFBBVEhfU1VGRklYRVMKKy0gICAgICAgIHRpZmYtNC4wLjMvbGlidGlmZi8ubGlicworLSAgICBO T19ERUZBVUxUX1BBVEgKKysgICAgICAgIGxpYnRpZmYuc28KKyApCisgCisgbWVzc2FnZSgiKioq KiogbGlidGlmZiBIZWFkZXIgcGF0aDoiICR7VElGRl9JTkNMVURFX0RJUn0pCitkaWZmIC0tZ2l0 IGEvdG9vbnovc291cmNlcy9pbWFnZS90aWYvdGlpb190aWYuY3BwIGIvdG9vbnovc291cmNlcy9p bWFnZS90aWYvdGlpb190aWYuY3BwCitpbmRleCBjOTY4MmYyZmMuLmVhMzhiMTI2NCAxMDA2NDQK Ky0tLSBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvdGlmL3RpaW9fdGlmLmNwcAorKysrIGIvdG9vbnov c291cmNlcy9pbWFnZS90aWYvdGlpb190aWYuY3BwCitAQCAtNjUsNyArNjUsNiBAQCBwdWJsaWM6 CisgCisgICBpbnQgc2tpcExpbmVzKGludCBsaW5lQ291bnQpIG92ZXJyaWRlOworICAgdm9pZCBy ZWFkTGluZShjaGFyICpidWZmZXIsIGludCB4MCwgaW50IHgxLCBpbnQgc2hyaW5rKSBvdmVycmlk ZTsKKy0gIHZvaWQgcmVhZExpbmUoc2hvcnQgKmJ1ZmZlciwgaW50IHgwLCBpbnQgeDEsIGludCBz aHJpbmspIG92ZXJyaWRlOworIH07CisgCisgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC00MjIsMTQ1ICs0MjEsOSBAQCBp bnQgVGlmUmVhZGVyOjpza2lwTGluZXMoaW50IGxpbmVDb3VudCkgeworIAorICNpbmNsdWRlICJ0 aW1hZ2VfaW8uaCIKKyAKKy12b2lkIFRpZlJlYWRlcjo6cmVhZExpbmUoc2hvcnQgKmJ1ZmZlciwg aW50IHgwLCBpbnQgeDEsIGludCBzaHJpbmspIHsKKy0gIGFzc2VydChzaHJpbmsgPiAwKTsKKy0K Ky0gIGNvbnN0IGludCBwaXhlbFNpemUgPSA4OworLSAgaW50IHN0cmlwUm93U2l6ZSAgICA9IG1f cm93TGVuZ3RoICogcGl4ZWxTaXplOworLQorLSAgaWYgKG1fcm93IDwgbV9pbmZvLm1feTAgfHwg bV9yb3cgPiBtX2luZm8ubV95MSkgeworLSAgICBtZW1zZXQoYnVmZmVyLCAwLCAoeDEgLSB4MCAr IDEpICogcGl4ZWxTaXplKTsKKy0gICAgbV9yb3crKzsKKy0gICAgcmV0dXJuOworLSAgfQorLQor LSAgaW50IHN0cmlwSW5kZXggPSBtX3JvdyAvIG1fcm93c1BlclN0cmlwOworLSAgaWYgKG1fc3Ry aXBJbmRleCAhPSBzdHJpcEluZGV4KSB7CistICAgIC8vIFJldHJpZXZlIHRoZSBzdHJpcCBob2xk aW5nIGN1cnJlbnQgcm93LiBQbGVhc2UsIG9ic2VydmUgdGhhdAorLSAgICAvLyBUSUZGIGZ1bmN0 aW9ucyB3aWxsIHJldHVybiB0aGUgc3RyaXAgYnVmZmVyIGluIHRoZSBCT1RUT00tVVAgb3JpZW50 YXRpb24sCistICAgIC8vIG5vIG1hdHRlciB0aGUgaW50ZXJuYWwgdGlmJ3Mgb3JpZW50YXRpb24g c3RvcmFnZQorLQorLSAgICBtX3N0cmlwSW5kZXggPSBzdHJpcEluZGV4OworLQorLSAgICBpZiAo VElGRklzVGlsZWQobV90aWZmKSkgeworLSAgICAgIC8vIFJldHJpZXZlIHRpbGVzIHNpemUKKy0g ICAgICB1aW50MzIgdGlsZVdpZHRoID0gMCwgdGlsZUhlaWdodCA9IDA7CistICAgICAgVElGRkdl dEZpZWxkKG1fdGlmZiwgVElGRlRBR19USUxFV0lEVEgsICZ0aWxlV2lkdGgpOworLSAgICAgIFRJ RkZHZXRGaWVsZChtX3RpZmYsIFRJRkZUQUdfVElMRUxFTkdUSCwgJnRpbGVIZWlnaHQpOworLSAg ICAgIGFzc2VydCh0aWxlV2lkdGggPiAwICYmIHRpbGVIZWlnaHQgPiAwKTsKKy0KKy0gICAgICAv LyBBbGxvY2F0ZSBhIHN1ZmZpY2llbnQgYnVmZmVyIHRvIHN0b3JlIGEgc2luZ2xlIHRpbGUKKy0g ICAgICBpbnQgdGlsZVNpemUgPSB0aWxlV2lkdGggKiB0aWxlSGVpZ2h0OworLSAgICAgIHN0ZDo6 dW5pcXVlX3B0cjx1aW50NjRbXT4gdGlsZShuZXcgdWludDY0W3RpbGVTaXplXSk7CistCistICAg ICAgaW50IHggPSAwOworLSAgICAgIGludCB5ID0gdGlsZUhlaWdodCAqIG1fc3RyaXBJbmRleDsK Ky0KKy0gICAgICAvLyBJbiBjYXNlIGl0J3MgdGhlIGxhc3QgdGlsZXMgcm93LCB0aGUgdGlsZSBz aXplIG1pZ2h0IGV4Y2VlZCB0aGUgaW1hZ2UKKy0gICAgICAvLyBib3VuZHMKKy0gICAgICBpbnQg bGFzdFR5ID0gc3RkOjptaW4oKGludCl0aWxlSGVpZ2h0LCBtX2luZm8ubV9seSAtIHkpOworLQor LSAgICAgIC8vIFRyYXZlcnNlIHRoZSB0aWxlcyByb3cKKy0gICAgICB3aGlsZSAoeCA8IG1faW5m by5tX2x4KSB7CistICAgICAgICBpbnQgcmV0ID0gVElGRlJlYWRSR0JBVGlsZV82NChtX3RpZmYs IHgsIHksIHRpbGUuZ2V0KCkpOworLSAgICAgICAgYXNzZXJ0KHJldCk7CistCistICAgICAgICBp bnQgdGlsZVJvd1NpemUgPSBzdGQ6Om1pbigoaW50KXRpbGVXaWR0aCwgbV9pbmZvLm1fbHggLSB4 KSAqIHBpeGVsU2l6ZTsKKy0KKy0gICAgICAgIC8vIENvcHkgdGhlIHRpbGUgcm93cyBpbiB0aGUg Y29ycmVzcG9uZGluZyBvdXRwdXQgc3RyaXAgcm93cworLSAgICAgICAgZm9yIChpbnQgdHkgPSAw OyB0eSA8IGxhc3RUeTsgKyt0eSkgeworLSAgICAgICAgICBtZW1jcHkobV9zdHJpcEJ1ZmZlciAr ICh0eSAqIG1fcm93TGVuZ3RoICsgeCkgKiBwaXhlbFNpemUsCistICAgICAgICAgICAgICAgICAo VUNIQVIgKil0aWxlLmdldCgpICsgdHkgKiB0aWxlV2lkdGggKiBwaXhlbFNpemUsIHRpbGVSb3dT aXplKTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHggKz0gdGlsZVdpZHRoOworLSAgICAgIH0K Ky0gICAgfSBlbHNlIHsKKy0gICAgICBpbnQgeSAgPSBtX3Jvd3NQZXJTdHJpcCAqIG1fc3RyaXBJ bmRleDsKKy0gICAgICBpbnQgb2sgPSBUSUZGUmVhZFJHQkFTdHJpcF82NChtX3RpZmYsIHksICh1 aW50NjQgKiltX3N0cmlwQnVmZmVyKTsKKy0gICAgICBhc3NlcnQob2spOworLSAgICB9CistICB9 CistCistICB1aW50MTYgb3JpZW50ID0gT1JJRU5UQVRJT05fVE9QTEVGVDsKKy0gIFRJRkZHZXRG aWVsZChtX3RpZmYsIFRJRkZUQUdfT1JJRU5UQVRJT04sICZvcmllbnQpOworLQorLSAgaW50IHIg PSBtX3Jvd3NQZXJTdHJpcCAtIDEgLSAobV9yb3cgJSBtX3Jvd3NQZXJTdHJpcCk7CistICBzd2l0 Y2ggKG9yaWVudCkgIC8vIFByZXR0eSB3ZWFrIGNoZWNrIGZvciB0b3AvYm90dG9tIG9yaWVudGF0 aW9uCistICB7CistICBjYXNlIE9SSUVOVEFUSU9OX1RPUExFRlQ6CistICBjYXNlIE9SSUVOVEFU SU9OX1RPUFJJR0hUOgorLSAgY2FzZSBPUklFTlRBVElPTl9MRUZUVE9QOgorLSAgY2FzZSBPUklF TlRBVElPTl9SSUdIVFRPUDoKKy0gICAgLy8gV2UgaGF2ZSB0byBpbnZlcnQgdGhlIGZpeGVkIEJP VFRPTS1VUCByZXR1cm5lZCBieSBUSUZGIGZ1bmN0aW9ucyAtIHNpbmNlCistICAgIC8vIHRoaXMg ZnVuY3Rpb24gaXMKKy0gICAgLy8gc3VwcG9zZWQgdG8gaWdub3JlIG9yaWVudGF0aW9uIGlzc3Vl cyAod2hpY2ggYXJlIG1hbmFnZWQgb3V0c2lkZSkuCistCistICAgIC8vIFRoZSBsYXN0IHRpbGVz IHJvdyB3aWxsIGFjdHVhbGx5IHN0YXJ0IGF0IHRoZSBFTkQgT0YgVEhFIElNQUdFIChub3QKKy0g ICAgLy8gbmVjZXNzYXJpbHkgYXQKKy0gICAgLy8gbV9yb3dzUGVyU3RyaXAgbXVsdGlwbGVzKS4g U28sIHdlIG11c3QgYWRqdXN0IGZvciB0aGF0LgorLQorLSAgICByID0gc3RkOjptaW4obV9yb3dz UGVyU3RyaXAsIG1faW5mby5tX2x5IC0gbV9yb3dzUGVyU3RyaXAgKiBtX3N0cmlwSW5kZXgpIC0K Ky0gICAgICAgIDEgLSAobV9yb3cgJSBtX3Jvd3NQZXJTdHJpcCk7CistICAgIGJyZWFrOworLQor LSAgY2FzZSBPUklFTlRBVElPTl9CT1RSSUdIVDoKKy0gIGNhc2UgT1JJRU5UQVRJT05fQk9UTEVG VDoKKy0gIGNhc2UgT1JJRU5UQVRJT05fUklHSFRCT1Q6CistICBjYXNlIE9SSUVOVEFUSU9OX0xF RlRCT1Q6CistICAgIHIgPSBtX3JvdyAlIG1fcm93c1BlclN0cmlwOworLSAgICBicmVhazsKKy0g IH0KKy0KKy0gIC8vIEZpbmFsbHksIGNvcHkgdGhlIHN0cmlwIHJvdyB0byB0aGUgb3V0cHV0IHJv dyBidWZmZXIKKy0gIFRQaXhlbDY0ICpwaXggPSAoVFBpeGVsNjQgKilidWZmZXI7CistICBVU0hP UlQgKnYgICAgID0gKFVTSE9SVCAqKShtX3N0cmlwQnVmZmVyICsgciAqIHN0cmlwUm93U2l6ZSk7 CistCistICBwaXggKz0geDA7CistICB2ICs9IDQgKiB4MDsKKy0KKy0gIGludCB3aWR0aCA9Cist ICAgICAgKHgxIDwgeDApID8gKG1faW5mby5tX2x4IC0gMSkgLyBzaHJpbmsgKyAxIDogKHgxIC0g eDApIC8gc2hyaW5rICsgMTsKKy0KKy0gIGZvciAoaW50IGkgPSAwOyBpIDwgd2lkdGg7IGkrKykg eworLSAgICBVU0hPUlQgYyA9ICp2Kys7CistICAgIHBpeC0+ciAgID0gYzsKKy0gICAgYyAgICAg ICAgPSAqdisrOworLSAgICBwaXgtPmcgICA9IGM7CistICAgIGMgICAgICAgID0gKnYrKzsKKy0g ICAgcGl4LT5iICAgPSBjOworLSAgICBjICAgICAgICA9ICp2Kys7CistICAgIHBpeC0+bSAgID0g YzsKKy0KKy0gICAgcGl4ICs9IHNocmluazsKKy0gICAgdiArPSA0ICogKHNocmluayAtIDEpOwor LSAgfQorLQorLSAgbV9yb3crKzsKKy19CistCisgLy89PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAKKyB2b2lkIFRpZlJlYWRl cjo6cmVhZExpbmUoY2hhciAqYnVmZmVyLCBpbnQgeDAsIGludCB4MSwgaW50IHNocmluaykgewor LSAgaWYgKHRoaXMtPm1faW5mby5tX2JpdHNQZXJTYW1wbGUgPT0gMTYgJiYKKy0gICAgICB0aGlz LT5tX2luZm8ubV9zYW1wbGVQZXJQaXhlbCA+PSAzKSB7CistICAgIHN0ZDo6dmVjdG9yPHNob3J0 PiBhcHAoNCAqIChtX2luZm8ubV9seCkpOworLSAgICByZWFkTGluZSgmYXBwWzBdLCB4MCwgeDEs IHNocmluayk7CistCistICAgIFRQaXhlbDY0ICpwaXhpbiA9IChUUGl4ZWw2NCAqKSZhcHBbMF07 CistCistICAgIFRQaXhlbDMyICpwaXhvdXQgPSAoVFBpeGVsMzIgKilidWZmZXI7CistICAgIGZv ciAoaW50IGogPSAwOyBqIDwgeDA7IGorKykgeworLSAgICAgIHBpeG91dCsrOworLSAgICAgIHBp eGluKys7CistICAgIH0KKy0KKy0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCAoeDEgLSB4MCkgKyAx OyBpKyspCistICAgICAgKnBpeG91dCsrID0gUGl4ZWxDb252ZXJ0ZXI8VFBpeGVsMzI+Ojpmcm9t KCpwaXhpbisrKTsKKy0KKy0gICAgcmV0dXJuOworLSAgfQorLQorICAgYXNzZXJ0KHNocmluayA+ IDApOworIAorICAgY29uc3QgaW50IHBpeGVsU2l6ZSA9IDQ7CistLSAKKzIuNTUuMAorCgpkaWZm IC0tZ2l0IGEvMDAwMy1leHItZml4LnBhdGNoIGIvMDAwMy1leHItZml4LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMjkwNmUKLS0tIC9kZXYvbnVsbAorKysgYi8w MDAzLWV4ci1maXgucGF0Y2gKQEAgLTAsMCArMSwxMTggQEAKK0Zyb20gOWE4ZjZjNzI2MzlkOGVk N2FkZWQ5YmRhM2JjZjJjNmM5MGI0YmQ4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDI3IEp1bCAy MDI2IDE2OjUyOjUxIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMy85XSBleHIgZml4CisKKworZGlm ZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvQ01ha2VMaXN0cy50eHQgYi90b29uei9zb3Vy Y2VzL2ltYWdlL0NNYWtlTGlzdHMudHh0CitpbmRleCAwMWQ5MGY2YTMuLmQ2Y2EwYjVjMSAxMDA2 NDQKKy0tLSBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rvb256 L3NvdXJjZXMvaW1hZ2UvQ01ha2VMaXN0cy50eHQKK0BAIC0yMDIsNCArMjAyLDYgQEAgZWxzZWlm KEJVSUxEX0VOVl9VTklYTElLRSkKKyAgICAgZW5kaWYoKQorIGVuZGlmKCkKKyAKKytzZXQoRVhU UkFfTElCUyAke0VYVFJBX0xJQlN9IC1sdGlueWV4cikKKysKKyB0YXJnZXRfbGlua19saWJyYXJp ZXMoaW1hZ2UgUXQ1OjpDb3JlIFF0NTo6R3VpIFF0NTo6TmV0d29yayAke1pfTElCfSAke0dMVVRf TElCfSAke0dMX0xJQn0gJHtKUEVHX0xJQn0gJHtUSUZGX0xJQn0gJHtQTkdfTElCfSAke0VYVFJB X0xJQlN9KQorZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvZXhyL3RpbnlleHJfb3Rt b2QuaCBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvZXhyL3RpbnlleHJfb3Rtb2QuaAoraW5kZXggNTZj MTgxMGJkLi4yMzA5OTRiMDIgMTAwNjQ0CistLS0gYS90b29uei9zb3VyY2VzL2ltYWdlL2V4ci90 aW55ZXhyX290bW9kLmgKKysrKyBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvZXhyL3RpbnlleHJfb3Rt b2QuaAorQEAgLTEsNyArMSw2IEBACisgI2lmbmRlZiBUSU5ZRVhSX09UTU9EX0hfCisgI2RlZmlu ZSBUSU5ZRVhSX09UTU9EX0hfCisgCistI2RlZmluZSBUSU5ZRVhSX0lNUExFTUVOVEFUSU9OCisg I2luY2x1ZGUgInRpbnlleHIuaCIKKyAjaW5jbHVkZSA8Y2Fzc2VydD4KKyAKK0BAIC03Nyw2ICs3 Niw4NSBAQCBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT VUNIIERBTUFHRS4KKyAKKyAvLyBFbmQgb2YgT3BlbkVYUiBsaWNlbnNlIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKysjaWZuZGVmIFRJTllFWFJf SU1QTEVNRU5UQVRJT05fREVGSU5FRAorKworKyNpbmNsdWRlIDxjYXNzZXJ0PgorKyNpbmNsdWRl IDxjc3RkaW8+CisrI2luY2x1ZGUgPGNzdGRsaWI+CisrI2luY2x1ZGUgPGNzdHJpbmc+CisrCisr I2luY2x1ZGUgPGFsZ29yaXRobT4KKysjaW5jbHVkZSA8c3N0cmVhbT4KKysjaW5jbHVkZSA8c3Ry aW5nPgorKyNpbmNsdWRlIDx2ZWN0b3I+CisrCisrbmFtZXNwYWNlIHRpbnlleHIgeworKworK3N0 YXRpYyBjb25zdCBpbnQga0VYUlZlcnNpb25TaXplID0gODsKKysKKytzdHJ1Y3QgTGF5ZXJDaGFu bmVsIHsKKysgIGV4cGxpY2l0IExheWVyQ2hhbm5lbChzaXplX3QgaSwgc3RkOjpzdHJpbmcgbikg OiBpbmRleChpKSwgbmFtZShuKSB7fQorKyAgc2l6ZV90IGluZGV4OworKyAgc3RkOjpzdHJpbmcg bmFtZTsKKyt9OworKworKworK3N0YXRpYyB2b2lkIFNldEVycm9yTWVzc2FnZShjb25zdCBzdGQ6 OnN0cmluZyAmbXNnLCBjb25zdCBjaGFyICoqZXJyKSB7CisrICBpZiAoZXJyKSB7CisrI2lmZGVm IF9XSU4zMgorKyAgICAoKmVycikgPSBfc3RyZHVwKG1zZy5jX3N0cigpKTsKKysjZWxzZQorKyAg ICAoKmVycikgPSBzdHJkdXAobXNnLmNfc3RyKCkpOworKyNlbmRpZgorKyAgfQorK30KKysKKytz dGF0aWMgdm9pZCBHZXRMYXllcnMoY29uc3QgRVhSSGVhZGVyICZleHJfaGVhZGVyLAorKyAgICAg ICAgICAgICAgICAgICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gJmxheWVyX25hbWVzKSB7 CisrICAvLyBOYWl2ZSBpbXBsZW1lbnRhdGlvbgorKyAgLy8gR3JvdXAgY2hhbm5lbHMgYnkgbGF5 ZXJzCisrICAvLyBnbyBvdmVyIGFsbCBjaGFubmVsIG5hbWVzLCBzcGxpdCBieSBwZXJpb2RzCisr ICAvLyBjb2xsZWN0IHVuaXF1ZSBuYW1lcworKyAgbGF5ZXJfbmFtZXMuY2xlYXIoKTsKKysgIGZv ciAoaW50IGMgPSAwOyBjIDwgZXhyX2hlYWRlci5udW1fY2hhbm5lbHM7IGMrKykgeworKyAgICBz dGQ6OnN0cmluZyBmdWxsX25hbWUoZXhyX2hlYWRlci5jaGFubmVsc1tjXS5uYW1lKTsKKysgICAg Y29uc3Qgc2l6ZV90IHBvcyA9IGZ1bGxfbmFtZS5maW5kX2xhc3Rfb2YoJy4nKTsKKysgICAgaWYg KHBvcyAhPSBzdGQ6OnN0cmluZzo6bnBvcyAmJiBwb3MgIT0gMCAmJiBwb3MgKyAxIDwgZnVsbF9u YW1lLnNpemUoKSkgeworKyAgICAgIGZ1bGxfbmFtZS5lcmFzZShwb3MpOworKyAgICAgIGlmIChz dGQ6OmZpbmQobGF5ZXJfbmFtZXMuYmVnaW4oKSwgbGF5ZXJfbmFtZXMuZW5kKCksIGZ1bGxfbmFt ZSkgPT0KKysgICAgICAgICAgbGF5ZXJfbmFtZXMuZW5kKCkpCisrICAgICAgICBsYXllcl9uYW1l cy5wdXNoX2JhY2soZnVsbF9uYW1lKTsKKysgICAgfQorKyAgfQorK30KKysKKytzdGF0aWMgdm9p ZCBDaGFubmVsc0luTGF5ZXIoY29uc3QgRVhSSGVhZGVyICZleHJfaGVhZGVyLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyBsYXllcl9uYW1lLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnZlY3RvcjxMYXllckNoYW5uZWw+ICZjaGFubmVs cykgeworKyAgY2hhbm5lbHMuY2xlYXIoKTsKKysgIGZvciAoaW50IGMgPSAwOyBjIDwgZXhyX2hl YWRlci5udW1fY2hhbm5lbHM7IGMrKykgeworKyAgICBzdGQ6OnN0cmluZyBjaF9uYW1lKGV4cl9o ZWFkZXIuY2hhbm5lbHNbY10ubmFtZSk7CisrICAgIGlmIChsYXllcl9uYW1lLmVtcHR5KCkpIHsK KysgICAgICBjb25zdCBzaXplX3QgcG9zID0gY2hfbmFtZS5maW5kX2xhc3Rfb2YoJy4nKTsKKysg ICAgICBpZiAocG9zICE9IHN0ZDo6c3RyaW5nOjpucG9zICYmIHBvcyA8IGNoX25hbWUuc2l6ZSgp KSB7CisrICAgICAgICBjaF9uYW1lID0gY2hfbmFtZS5zdWJzdHIocG9zICsgMSk7CisrICAgICAg fQorKyAgICB9IGVsc2UgeworKyAgICAgIGNvbnN0IHNpemVfdCBwb3MgPSBjaF9uYW1lLmZpbmQo bGF5ZXJfbmFtZSArICcuJyk7CisrICAgICAgaWYgKHBvcyA9PSBzdGQ6OnN0cmluZzo6bnBvcykg Y29udGludWU7CisrICAgICAgaWYgKHBvcyA9PSAwKSB7CisrICAgICAgICBjaF9uYW1lID0gY2hf bmFtZS5zdWJzdHIobGF5ZXJfbmFtZS5zaXplKCkgKyAxKTsKKysgICAgICB9CisrICAgIH0KKysg ICAgTGF5ZXJDaGFubmVsIGNoKHNpemVfdChjKSwgY2hfbmFtZSk7CisrICAgIGNoYW5uZWxzLnB1 c2hfYmFjayhjaCk7CisrICB9CisrfQorKworK30KKysKKysjZW5kaWYKKysKKyAjaWZkZWYgX19j cGx1c3BsdXMKKyBleHRlcm4gIkMiIHsKKyAjZW5kaWYKKy0tIAorMi41NS4wCisKCmRpZmYgLS1n aXQgYS8wMDA0LWdldGhvc3RieW5hbWUucGF0Y2ggYi8wMDA0LWdldGhvc3RieW5hbWUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUxZTIzZgotLS0gL2Rldi9udWxs CisrKyBiLzAwMDQtZ2V0aG9zdGJ5bmFtZS5wYXRjaApAQCAtMCwwICsxLDI2NSBAQAorRnJvbSA1 YTRiZTIyYWJjNjhhMWRkMTBkZjUyY2JjNDdkYTlkY2U4NjBhNmQ2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4KK0RhdGU6 IE1vbiwgMjcgSnVsIDIwMjYgMTY6NTM6MjkgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCA0LzldIGdl dGhvc3RieW5hbWUKKworCitkaWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZh cm0vdGZhcm10YXNrLmNwcCBiL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3RmYXJtdGFz ay5jcHAKK2luZGV4IGVhYmIwMDA4Mi4uOWJhZDc5ODhiIDEwMDY0NAorLS0tIGEvdG9vbnovc291 cmNlcy90b29uemZhcm0vdGZhcm0vdGZhcm10YXNrLmNwcAorKysrIGIvdG9vbnovc291cmNlcy90 b29uemZhcm0vdGZhcm0vdGZhcm10YXNrLmNwcAorQEAgLTIyLDEzICsyMiwxMyBAQAorICNlbGlm IGRlZmluZWQoTUFDT1NYKQorICNpbmNsdWRlICJ0dmVyc2lvbi5oIgorIHVzaW5nIG5hbWVzcGFj ZSBUVkVSOworLSNpbmNsdWRlIDxuZXRkYi5oPiAgICAgIC8vIGdldGhvc3RieW5hbWUKKysjaW5j bHVkZSA8bmV0ZGIuaD4gICAgICAvLyBnZXRhZGRyaW5mbworICNpbmNsdWRlIDxhcnBhL2luZXQu aD4gIC8vIGluZXRfbnRvYQorICNlbHNlCisgLy8gdGhlc2Ugd2VyZSBpbmNsdWRlZCBmb3IgT1NY LCBpJ20gbm90IHN1cmUgaWYgdGhleSBhcmUgcmVxdWlyZWQgZm9yIGxpbnV4IG9yCisgLy8gbm90 PyBsZWF2aW5nIHRoZW0gaW4gYXMgbGludXggd2FzIGJ1aWxkaW5nIHN1Y2Nlc3NmdWxseSBhbHJl YWR5LiBkYW1pZXMxMyAtCisgLy8gMjAxNy0wNC0xNS4KKy0jaW5jbHVkZSA8bmV0ZGIuaD4gICAg ICAvLyBnZXRob3N0YnluYW1lCisrI2luY2x1ZGUgPG5ldGRiLmg+ICAgICAgLy8gZ2V0YWRkcmlu Zm8KKyAjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+ICAvLyBpbmV0X250b2EKKyAjZW5kaWYKKyAKK0BA IC00ODQsNiArNDg0LDExIEBAIFFTdHJpbmcgVEZhcm1UYXNrOjpnZXRDb21tYW5kTGluZVByZ05h bWUoKSBjb25zdCB7CisgUVN0cmluZyBURmFybVRhc2s6OmdldENvbW1hbmRMaW5lQXJndW1lbnRz KCkgY29uc3QgeworICAgUVN0cmluZyBjbWRsaW5lID0gIiI7CisgCisrICBzdHJ1Y3QgYWRkcmlu Zm8gKmFpID0gTlVMTDsKKysgIHN0cnVjdCBhZGRyaW5mbyBoaW50czsKKysgIG1lbXNldCgmaGlu dHMsIDAsIHNpemVvZihzdHJ1Y3QgYWRkcmluZm8pKTsKKysgIGhpbnRzLmFpX2ZhbWlseSA9IEFG X0lORVQ7CisrCisgICBpZiAoIW1fdGFza0ZpbGVQYXRoLmlzRW1wdHkoKSkKKyAgICAgY21kbGlu ZSArPSAiIFwiIiArCisgICAgICAgICAgICAgICAgUVN0cmluZzo6ZnJvbVN0ZFdTdHJpbmcoCitA QCAtNDkxLDkgKzQ5NiwxMiBAQCBRU3RyaW5nIFRGYXJtVGFzazo6Z2V0Q29tbWFuZExpbmVBcmd1 bWVudHMoKSBjb25zdCB7CisgICAgICAgICAgICAgICAgIlwiIjsKKyAKKyAgIGlmIChtX2NhbGxl ck1hY2hpbmVOYW1lICE9ICIiKSB7CistICAgIHN0cnVjdCBob3N0ZW50ICpoZSA9IGdldGhvc3Ri eW5hbWUobV9jYWxsZXJNYWNoaW5lTmFtZS50b0xhdGluMSgpKTsKKy0gICAgaWYgKGhlKSB7Cist ICAgICAgY2hhciAqaXBBZGRyZXNzID0gaW5ldF9udG9hKCooc3RydWN0IGluX2FkZHIgKikqKGhl LT5oX2FkZHJfbGlzdCkpOworKyAgICBpbnQgc3VjID0gZ2V0YWRkcmluZm8obV9jYWxsZXJNYWNo aW5lTmFtZS50b0xhdGluMSgpLCBOVUxMLCAmaGludHMsICZhaSk7CisrICAgIGlmIChzdWMgPT0g MCkgeworKyAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiAqYWlfYWRkcjsKKysgICAgICBhaV9hZGRy ID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFpLT5haV9hZGRyOworKworKyAgICAgIGNoYXIgKmlw QWRkcmVzcyA9IGluZXRfbnRvYSgoc3RydWN0IGluX2FkZHIpYWlfYWRkci0+c2luX2FkZHIpOwor ICAgICAgIGNtZGxpbmUgKz0gIiAtdG1zZyAiICsgUVN0cmluZzo6ZnJvbVV0ZjgoaXBBZGRyZXNz KTsKKyAgICAgfQorICAgfQorZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3Rm YXJtL3RzZXJ2ZXJwcm94eS5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybS90c2Vy dmVycHJveHkuY3BwCitpbmRleCAwMzUyOTZjMTQuLjJlZTRiYTk1OCAxMDA2NDQKKy0tLSBhL3Rv b256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3RzZXJ2ZXJwcm94eS5jcHAKKysrKyBiL3Rvb256 L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3RzZXJ2ZXJwcm94eS5jcHAKK0BAIC0yOCwxNiArMjgs MjMgQEAgZW51bSB7CisgLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorIAorIGludCBhc2tTZXJ2ZXIo c3RyaW5nIGhvc3ROYW1lLCBpbnQgcG9ydElkLCBzdHJpbmcgcXVlc3Rpb24sIHN0cmluZyAmYW5z d2VyKSB7CistICBzdHJ1Y3QgaG9zdGVudCAqaGUgPSBnZXRob3N0YnluYW1lKGhvc3ROYW1lLmNf c3RyKCkpOworLSAgaWYgKCFoZSkgcmV0dXJuIEhPU1RfVU5LTk9XTjsKKy0KKysgIHN0cnVjdCBh ZGRyaW5mbyAqYWkgPSBOVUxMOworKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOworKyAgbWVtc2V0 KCZoaW50cywgMCwgc2l6ZW9mKHN0cnVjdCBhZGRyaW5mbykpOworKyAgaGludHMuYWlfZmFtaWx5 ID0gQUZfSU5FVDsKKysKKysgIGludCBzdWMgPSBnZXRhZGRyaW5mbyhob3N0TmFtZS5jX3N0cigp LCBOVUxMLCAmaGludHMsICZhaSk7CisrICBpZiAoc3VjICE9IDApIHJldHVybiBIT1NUX1VOS05P V047CisrIAorICAgaW50IHNvY2tldF9pZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwg MCk7CistCisrICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFpX2FkZHI7CisrICBhaV9hZGRyID0gKHN0 cnVjdCBzb2NrYWRkcl9pbiAqKWFpLT5haV9hZGRyOworKyAKKyAgIHN0cnVjdCBzb2NrYWRkcl9p biBhZGRyOworICAgbWVtc2V0KChjaGFyICopJmFkZHIsIDAsIHNpemVvZiBhZGRyKTsKKy0gIGFk ZHIuc2luX2ZhbWlseSA9IGhlLT5oX2FkZHJ0eXBlOworLSAgYWRkci5zaW5fcG9ydCAgID0gaHRv bnMocG9ydElkKTsKKy0gIG1lbWNweSgoY2hhciAqKSYoYWRkci5zaW5fYWRkciksIGhlLT5oX2Fk ZHIsIGhlLT5oX2xlbmd0aCk7CisrICBhZGRyLnNpbl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFt aWx5OworKyAgYWRkci5zaW5fcG9ydCAgID0gaHRvbnMocG9ydCk7CisrICBhZGRyLnNpbl9hZGRy ID0gYWlfYWRkci0+c2luX2FkZHI7CisgCisgICBpbnQgcmNDb25uZWN0ID0gY29ubmVjdChzb2Nr ZXRfaWQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmKGFkZHIpLCBzaXplb2YgYWRkcik7CisgICBpZiAo cmNDb25uZWN0ID09IFNPQ0tFVF9FUlJPUikgcmV0dXJuIENPTk5FQ1RJT05fRkFJTEVEOworQEAg LTgyLDE2ICs4OSwyMyBAQCBUU2VydmVyUHJveHk6On5UU2VydmVyUHJveHkoKSB7CisgLy8tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorIAorIGJvb2wgVFNlcnZlclByb3h5Ojp0ZXN0Q29ubmVjdGlvbigp IGNvbnN0IHsKKy0gIHN0cnVjdCBob3N0ZW50ICpoZSA9IGdldGhvc3RieW5hbWUobV9ob3N0TmFt ZS5jX3N0cigpKTsKKy0gIGlmICghaGUpIHJldHVybiBmYWxzZTsKKy0KKysgIGFkZHJpbmZvICph aSA9IE5VTEw7CisrICBzdHJ1Y3QgYWRkcmluZm8gaGludHM7CisrICBtZW1zZXQoJmhpbnRzLCAw LCBzaXplb2Yoc3RydWN0IGFkZHJpbmZvKSk7CisrICBoaW50cy5haV9mYW1pbHkgPSBBRl9JTkVU OworKworKyAgaW50IHN1YyA9IGdldGFkZHJpbmZvKG1faG9zdE5hbWUuY19zdHIoKSwgTlVMTCwg JmhpbnRzLCAmYWkpOworKyAgaWYgKHN1YyAhPSAwKSByZXR1cm4gZmFsc2U7CisrIAorICAgaW50 IHNvY2tldF9pZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7CisrICBzdHJ1Y3Qg c29ja2FkZHJfaW4gKmFpX2FkZHI7CisrICBhaV9hZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAq KWFpLT5haV9hZGRyOworIAorICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHI7CisgICBtZW1zZXQo KGNoYXIgKikmYWRkciwgMCwgc2l6ZW9mIGFkZHIpOworLSAgYWRkci5zaW5fZmFtaWx5ID0gaGUt PmhfYWRkcnR5cGU7CistICBhZGRyLnNpbl9wb3J0ICAgPSBodG9ucyhtX3BvcnRJZCk7CistICBt ZW1jcHkoKGNoYXIgKikmKGFkZHIuc2luX2FkZHIpLCBoZS0+aF9hZGRyLCBoZS0+aF9sZW5ndGgp OworKyAgYWRkci5zaW5fZmFtaWx5ID0gYWlfYWRkci0+c2luX2ZhbWlseTsKKysgIGFkZHIuc2lu X3BvcnQgICA9IGh0b25zKHBvcnQpOworKyAgYWRkci5zaW5fYWRkciA9IGFpX2FkZHItPnNpbl9h ZGRyOworIAorICAgYm9vbCByZXQgPSAoU09DS0VUX0VSUk9SICE9CisgICAgICAgICAgICAgICBj b25uZWN0KHNvY2tldF9pZCwgKHN0cnVjdCBzb2NrYWRkciAqKSYoYWRkciksIHNpemVvZiBhZGRy KSk7CitkaWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm0vdHRjcGlwY2xp ZW50LmNwcCBiL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0Y3BpcGNsaWVudC5jcHAK K2luZGV4IGY4YTc2NDUwMy4uODk2NzFkZTgxIDEwMDY0NAorLS0tIGEvdG9vbnovc291cmNlcy90 b29uemZhcm0vdGZhcm0vdHRjcGlwY2xpZW50LmNwcAorKysrIGIvdG9vbnovc291cmNlcy90b29u emZhcm0vdGZhcm0vdHRjcGlwY2xpZW50LmNwcAorQEAgLTQ5LDggKzQ5LDEzIEBAIGludCBUVGNw SXBDbGllbnQ6OmNvbm5lY3QoY29uc3QgUVN0cmluZyAmaG9zdE5hbWUsIGNvbnN0IFFTdHJpbmcg JmFkZHJTdHIsCisgICAgICAgdW5zaWduZWQgbG9uZyBpcEFkZHIgPSBpbmV0X2FkZHIoYWRkclN0 ci5jX3N0cigpKTsKKyAgICAgfQorICAgKi8KKy0gIHN0cnVjdCBob3N0ZW50ICpoZSA9IGdldGhv c3RieW5hbWUoaG9zdE5hbWUudG9VdGY4KCkpOworLSAgaWYgKCFoZSkgeworKyAgc3RydWN0IGFk ZHJpbmZvICphaSA9IE5VTEw7CisrICBzdHJ1Y3QgYWRkcmluZm8gaGludHM7CisrICBtZW1zZXQo JmhpbnRzLCAwLCBzaXplb2Yoc3RydWN0IGFkZHJpbmZvKSk7CisrICBoaW50cy5haV9mYW1pbHkg PSBBRl9JTkVUOworKworKyAgaW50IHN1YyA9IGdldGFkZHJpbmZvKGhvc3ROYW1lLnRvVXRmOCgp LCBOVUxMLCAmaGludHMsICZhaSk7CisrICBpZiAoc3VjICE9IDApIHsKKyAjaWZkZWYgX1dJTjMy CisgICAgIGludCBlcnIgPSBXU0FHZXRMYXN0RXJyb3IoKTsKKyAjZWxzZQorQEAgLTU5LDEyICs2 NCwxNCBAQCBpbnQgVFRjcElwQ2xpZW50Ojpjb25uZWN0KGNvbnN0IFFTdHJpbmcgJmhvc3ROYW1l LCBjb25zdCBRU3RyaW5nICZhZGRyU3RyLAorICAgfQorIAorICAgaW50IHNvY2tldF9pZCA9IHNv Y2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7CisrICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFp X2FkZHI7CisrICBhaV9hZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFpLT5haV9hZGRyOwor IAorICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHI7CisgICBtZW1zZXQoKGNoYXIgKikmYWRkciwg MCwgc2l6ZW9mIGFkZHIpOworLSAgYWRkci5zaW5fZmFtaWx5ID0gaGUtPmhfYWRkcnR5cGU7Cisr ICBhZGRyLnNpbl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFtaWx5OworICAgYWRkci5zaW5fcG9y dCAgID0gaHRvbnMocG9ydCk7CistICBtZW1jcHkoKGNoYXIgKikmKGFkZHIuc2luX2FkZHIpLCBo ZS0+aF9hZGRyLCBoZS0+aF9sZW5ndGgpOworKyAgYWRkci5zaW5fYWRkciA9IGFpX2FkZHItPnNp bl9hZGRyOworIAorICAgaW50IHJjQ29ubmVjdCA9IDo6Y29ubmVjdChzb2NrZXRfaWQsIChzdHJ1 Y3Qgc29ja2FkZHIgKikmKGFkZHIpLCBzaXplb2YgYWRkcik7CisgICBpZiAocmNDb25uZWN0ID09 IFNPQ0tFVF9FUlJPUikgeworZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3Rm YXJtL3R0Y3BpcHNlcnZlci5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybS90dGNw aXBzZXJ2ZXIuY3BwCitpbmRleCAzYTY1ZDUxNzQuLmQxZTEyN2EzYSAxMDA2NDQKKy0tLSBhL3Rv b256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0Y3BpcHNlcnZlci5jcHAKKysrKyBiL3Rvb256 L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0Y3BpcHNlcnZlci5jcHAKK0BAIC00MzEsMTUgKzQz MSwyMSBAQCB2b2lkIFRUY3BJcFNlcnZlcjo6c2VuZFJlcGx5KGludCBzb2NrZXQsIGNvbnN0IFFT dHJpbmcgJnJlcGx5KSB7CisgaW50IGVzdGFibGlzaCh1bnNpZ25lZCBzaG9ydCBwb3J0bnVtLCBp bnQgJnNvY2spIHsKKyAgIGNoYXIgbXluYW1lW01BWEhPU1ROQU1FICsgMV07CisgICBzdHJ1Y3Qg c29ja2FkZHJfaW4gc2E7CistICBzdHJ1Y3QgaG9zdGVudCAqaHA7CisrICBzdHJ1Y3QgYWRkcmlu Zm8gKmFpID0gTlVMTDsKKysgIHN0cnVjdCBhZGRyaW5mbyBoaW50czsKKysgIG1lbXNldCgmaGlu dHMsIDAsIHNpemVvZihzdHJ1Y3QgYWRkcmluZm8pKTsKKysgIGhpbnRzLmFpX2ZhbWlseSA9IEFG X0lORVQ7CisgCisgICBtZW1zZXQoJnNhLCAwLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKSk7 IC8qIGNsZWFyIG91ciBhZGRyZXNzICovCisgICBnZXRob3N0bmFtZShteW5hbWUsIE1BWEhPU1RO QU1FKTsgICAgICAgICAgIC8qIHdobyBhcmUgd2U/ICovCistICBocCA9IGdldGhvc3RieW5hbWUo bXluYW1lKTsgICAgICAgICAgICAgICAgIC8qIGdldCBvdXIgYWRkcmVzcyBpbmZvICovCistICBp ZiAoaHAgPT0gTlVMTCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdlIGRvbid0IGV4 aXN0ICE/ICovCisrICBpbnQgc3VjID0gZ2V0YWRkcmluZm8obXluYW1lLCBOVUxMLCAmaGludHMs ICZhaSk7IC8qIGdldCBvdXIgYWRkcmVzcyBpbmZvICovCisrICBpZiAoc3VjICE9IDApICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKiB3ZSBkb24ndCBleGlzdCAhPyAqLworICAgICByZXR1 cm4gKC0xKTsKKyAKKy0gIHNhLnNpbl9mYW1pbHkgPSBocC0+aF9hZGRydHlwZTsgLyogdGhpcyBp cyBvdXIgaG9zdCBhZGRyZXNzICovCisrICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFpX2FkZHI7Cisr ICBhaV9hZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFpLT5haV9hZGRyOworKworKyAgc2Eu c2luX2ZhbWlseSA9IGFpX2FkZHItPnNpbl9mYW1pbHk7IC8qIHRoaXMgaXMgb3VyIGhvc3QgYWRk cmVzcyAqLworICAgc2Euc2luX3BvcnQgICA9IGh0b25zKHBvcnRudW0pOyAvKiB0aGlzIGlzIG91 ciBwb3J0IG51bWJlciAqLworICAgaWYgKChzb2NrID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RS RUFNLCAwKSkgPCAwKSAvKiBjcmVhdGUgc29ja2V0ICovCisgICB7CitkaWZmIC0tZ2l0IGEvdG9v bnovc291cmNlcy90b29uemZhcm0vdGZhcm1jb250cm9sbGVyL3RmYXJtY29udHJvbGxlcl9zaHV0 ZG93bi5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybWNvbnRyb2xsZXIvdGZhcm1j b250cm9sbGVyX3NodXRkb3duLmNwcAoraW5kZXggMWU3MDA1Y2M2Li4zMjA4N2QxOGIgMTAwNjQ0 CistLS0gYS90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybWNvbnRyb2xsZXIvdGZhcm1jb250 cm9sbGVyX3NodXRkb3duLmNwcAorKysrIGIvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm1j b250cm9sbGVyL3RmYXJtY29udHJvbGxlcl9zaHV0ZG93bi5jcHAKK0BAIC0xNiwyMSArMTYsMjgg QEAKKyAKKyBpbnQgY2FsbF9zb2NrZXQoY2hhciAqaG9zdG5hbWUsIHVuc2lnbmVkIHNob3J0IHBv cnRudW0pIHsKKyAgIHN0cnVjdCBzb2NrYWRkcl9pbiBzYTsKKy0gIHN0cnVjdCBob3N0ZW50ICpo cDsKKysgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxMOworKyAgc3RydWN0IGFkZHJpbmZvIGhp bnRzOworKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKHN0cnVjdCBhZGRyaW5mbykpOworKyAg aGludHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKKyAgIGludCBzOworIAorLSAgaWYgKChocCA9IGdl dGhvc3RieW5hbWUoaG9zdG5hbWUpKSA9PSBOVUxMKSAvKiBkbyB3ZSBrbm93IHRoZSBob3N0J3Mg Ki8KKysgIGludCBzdWMgPSBnZXRhZGRyaW5mbyhob3N0bmFtZSwgTlVMTCwgJmhpbnRzLCAmYWkp OworKyAgaWYgKHN1YyAhPSAwKSAvKiBkbyB3ZSBrbm93IHRoZSBob3N0J3MgKi8KKyAgIHsKKyAg ICAgZXJybm8gPSBFQ09OTlJFRlVTRUQ7IC8qIGFkZHJlc3M/ICovCisgICAgIHJldHVybiAoLTEp OyAgICAgICAgICAvKiBubyAqLworICAgfQorIAorKyAgc3RydWN0IHNvY2thZGRyX2luICphaV9h ZGRyOworKyAgYWlfYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilhaS0+YWlfYWRkcjsKKysK KyAgIG1lbXNldCgmc2EsIDAsIHNpemVvZihzYSkpOworLSAgbWVtY3B5KChjaGFyICopJnNhLnNp bl9hZGRyLCBocC0+aF9hZGRyLCBocC0+aF9sZW5ndGgpOyAvKiBzZXQgYWRkcmVzcyAqLworLSAg c2Euc2luX2ZhbWlseSA9IGhwLT5oX2FkZHJ0eXBlOworKyAgc2Euc2luX2FkZHIgPSBhaV9hZGRy LT5zaW5fYWRkcjsKKysgIHNhLnNpbl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFtaWx5OworICAg c2Euc2luX3BvcnQgICA9IGh0b25zKCh1X3Nob3J0KXBvcnRudW0pOworIAorLSAgaWYgKChzID0g c29ja2V0KGhwLT5oX2FkZHJ0eXBlLCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkgLyogZ2V0IHNvY2tl dCAqLworKyAgaWYgKChzID0gc29ja2V0KGFpX2FkZHItPnNpbl9mYW1pbHksIFNPQ0tfU1RSRUFN LCAwKSkgPCAwKSAvKiBnZXQgc29ja2V0ICovCisgICAgIHJldHVybiAoLTEpOworICAgaWYgKGNv bm5lY3QocywgKHN0cnVjdCBzb2NrYWRkciAqKSZzYSwgc2l6ZW9mIHNhKSA8IDApIC8qIGNvbm5l Y3QgKi8KKyAgIHsKK2RpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybXNl cnZlci90ZmFybXNlcnZlcl9zaHV0ZG93bi5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90 ZmFybXNlcnZlci90ZmFybXNlcnZlcl9zaHV0ZG93bi5jcHAKK2luZGV4IGEzZmY2ZmM2MC4uN2Qy MmM3NjBhIDEwMDY0NAorLS0tIGEvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm1zZXJ2ZXIv dGZhcm1zZXJ2ZXJfc2h1dGRvd24uY3BwCisrKysgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90 ZmFybXNlcnZlci90ZmFybXNlcnZlcl9zaHV0ZG93bi5jcHAKK0BAIC0xNiwyMSArMTYsMjggQEAK KyAKKyBpbnQgY2FsbF9zb2NrZXQoY2hhciAqaG9zdG5hbWUsIHVuc2lnbmVkIHNob3J0IHBvcnRu dW0pIHsKKyAgIHN0cnVjdCBzb2NrYWRkcl9pbiBzYTsKKy0gIHN0cnVjdCBob3N0ZW50ICpocDsK KysgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxMOworKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRz OworKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKHN0cnVjdCBhZGRyaW5mbykpOworKyAgaGlu dHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKKyAgIGludCBzOworIAorLSAgaWYgKChocCA9IGdldGhv c3RieW5hbWUoaG9zdG5hbWUpKSA9PSBOVUxMKSAvKiBkbyB3ZSBrbm93IHRoZSBob3N0J3MgKi8K KysgIGludCBzdWMgPSBnZXRhZGRyaW5mbyhob3N0bmFtZSwgTlVMTCwgJmhpbnRzLCAmYWkpOwor KyAgaWYgKHN1YyAhPSAwKSAvKiBkbyB3ZSBrbm93IHRoZSBob3N0J3MgKi8KKyAgIHsKKyAgICAg ZXJybm8gPSBFQ09OTlJFRlVTRUQ7IC8qIGFkZHJlc3M/ICovCisgICAgIHJldHVybiAoLTEpOyAg ICAgICAgICAvKiBubyAqLworICAgfQorIAorKyAgc3RydWN0IHNvY2thZGRyX2luICphaV9hZGRy OworKyAgYWlfYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilhaS0+YWlfYWRkcjsKKysKKyAg IG1lbXNldCgmc2EsIDAsIHNpemVvZihzYSkpOworLSAgbWVtY3B5KChjaGFyICopJnNhLnNpbl9h ZGRyLCBocC0+aF9hZGRyLCBocC0+aF9sZW5ndGgpOyAvKiBzZXQgYWRkcmVzcyAqLworLSAgc2Eu c2luX2ZhbWlseSA9IGhwLT5oX2FkZHJ0eXBlOworKyAgc2Euc2luX2FkZHIgPSBhaV9hZGRyLT5z aW5fYWRkcjsKKysgIHNhLnNpbl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFtaWx5OworICAgc2Eu c2luX3BvcnQgICA9IGh0b25zKCh1X3Nob3J0KXBvcnRudW0pOworIAorLSAgaWYgKChzID0gc29j a2V0KGhwLT5oX2FkZHJ0eXBlLCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkgLyogZ2V0IHNvY2tldCAq LworKyAgaWYgKChzID0gc29ja2V0KGFpX2FkZHItPnNpbl9mYW1pbHksIFNPQ0tfU1RSRUFNLCAw KSkgPCAwKSAvKiBnZXQgc29ja2V0ICovCisgICAgIHJldHVybiAoLTEpOworICAgaWYgKGNvbm5l Y3QocywgKHN0cnVjdCBzb2NrYWRkciAqKSZzYSwgc2l6ZW9mIHNhKSA8IDApIC8qIGNvbm5lY3Qg Ki8KKyAgIHsKKy0tIAorMi41NS4wCisKCmRpZmYgLS1naXQgYS8wMDA1LWluc3RhbGwtcGF0aC1m aXgucGF0Y2ggYi8wMDA1LWluc3RhbGwtcGF0aC1maXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uMDI1ZmNmNwotLS0gL2Rldi9udWxsCisrKyBiLzAwMDUtaW5zdGFs bC1wYXRoLWZpeC5wYXRjaApAQCAtMCwwICsxLDgzIEBACitGcm9tIDVmOWFhMjdmMTRiY2E4ZmRm MDJiZjlkZTg2MmU1ZTA4NDQzNTZkYjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBE aWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyNyBKdWwgMjAy NiAxNjo1Mzo0OCAtMDQwMAorU3ViamVjdDogW1BBVENIIDUvOV0gaW5zdGFsbCBwYXRoIGZpeAor CisKK2RpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3Rvb256L0NNYWtlTGlzdHMudHh0IGIvdG9v bnovc291cmNlcy90b29uei9DTWFrZUxpc3RzLnR4dAoraW5kZXggYTcwYWY2ZGVkLi5hZTE0ZGE2 NzEgMTAwNjQ0CistLS0gYS90b29uei9zb3VyY2VzL3Rvb256L0NNYWtlTGlzdHMudHh0CisrKysg Yi90b29uei9zb3VyY2VzL3Rvb256L0NNYWtlTGlzdHMudHh0CitAQCAtNjg2LDcgKzY4Niw3IEBA IGlmKEJVSUxEX0VOVl9VTklYTElLRSBBTkQgQlVJTERfVEFSR0VUX1dJTikKKyAgICAgICAgICAg ICAiJDxUQVJHRVRfRklMRTp0Y29udmVydGVyPiIKKyAgICAgICAgICAgICAiJDxUQVJHRVRfRklM RTp0ZmFybWNvbnRyb2xsZXI+IgorICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOnRmYXJtc2Vy dmVyPiIKKy0gICAgICAgIERFU1RJTkFUSU9OIGJpbgorKyAgICAgICAgREVTVElOQVRJT04gJHtD TUFLRV9JTlNUQUxMX1BSRUZJWH0vYmluCisgICAgICkKKyAKKyAgICAgaWYoTFpPRFJJVkVSX0ZP VU5EKQorQEAgLTY5NCw3ICs2OTQsNyBAQCBpZihCVUlMRF9FTlZfVU5JWExJS0UgQU5EIEJVSUxE X1RBUkdFVF9XSU4pCisgICAgICAgICAgICAgUFJPR1JBTVMKKyAgICAgICAgICAgICAgICAgIiQ8 VEFSR0VUX0ZJTEU6bHpvY29tcHJlc3M+IgorICAgICAgICAgICAgICAgICAiJDxUQVJHRVRfRklM RTpsem9kZWNvbXByZXNzPiIKKy0gICAgICAgICAgICBERVNUSU5BVElPTiBiaW4KKysgICAgICAg ICAgICBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4KKyAgICAgICAgICkK KyAgICAgZW5kaWYoKQorIAorQEAgLTczMCwyMSArNzMwLDIwIEBAIGVsc2VpZihCVUlMRF9FTlZf VU5JWExJS0UgQU5EIE5PVCBCVUlMRF9UQVJHRVRfV0lOKQorICAgICBpbnN0YWxsKAorICAgICAg ICAgVEFSR0VUUworICAgICAgICAgICAgIE9wZW5Ub29uegorLSAgICAgICAgREVTVElOQVRJT04g YmluCisrICAgICAgICBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4KKyAg ICAgKQorIAorICAgICAjIFNoZWxsIHNjcmlwdCB0aGF0IGNvcGllcyBmaWxlcyB0byB0aGUgaG9t ZSBkaXJlY3RvcnkgYXMgbmVlZGVkCisgICAgICMgYW5kIHNldHMgdGhlIGxpYnJhcnkgcHJlbG9h ZCBwYXRoLgorICAgICBmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vYmluL29wZW50b29u egorICIjIS9iaW4vc2gKKy1PUEVOVE9PTlpfQkFTRT1cJChkaXJuYW1lIFwiXCQwXCIpLy4uCisg CisgaWYgWyAhIC1kIFwkSE9NRS8uY29uZmlnL09wZW5Ub29ueiBdOyB0aGVuCisgICAgIG1rZGly IC1wIFwkSE9NRS8uY29uZmlnL09wZW5Ub29uegorIGZpCisgCisgaWYgWyAhIC1kIFwkSE9NRS8u Y29uZmlnL09wZW5Ub29uei9zdHVmZiBdOyB0aGVuCistICAgIGNwIC1yIFwkT1BFTlRPT05aX0JB U0Uvc2hhcmUvb3BlbnRvb256L3N0dWZmIFwkSE9NRS8uY29uZmlnL09wZW5Ub29uegorKyAgICBj cCAtciAke1NIQVJFX0lOU1RBTExfUFJFRklYfS9vcGVudG9vbnovc3R1ZmYgXCRIT01FLy5jb25m aWcvT3BlblRvb256CisgZmkKKyAKKyBpZiBbICEgLWQgXCRIT01FLy5jb25maWcvT3BlblRvb256 L3N0dWZmL3Byb2plY3RzL2xpYnJhcnkgXTsgdGhlbgorQEAgLTc3MSw5ICs3NzAsOSBAQCBUT09O WlNUVURJT1BBTEVUVEU9XCJcJEhPTUUvLmNvbmZpZy9PcGVuVG9vbnovc3R1ZmYvc3R1ZGlvcGFs ZXR0ZVwiCisgRU9GCisgZmkKKyAKKy1leHBvcnQgJHtQUkVMT0FEX1ZBUklBQkxFfT1cJHtPUEVO VE9PTlpfQkFTRX0vbGliL29wZW50b29uejpcJHske1BSRUxPQURfVkFSSUFCTEV9fQorK2V4cG9y dCAke1BSRUxPQURfVkFSSUFCTEV9PSR7TElCX0lOU1RBTExfRElSfS9vcGVudG9vbno6XCR7JHtQ UkVMT0FEX1ZBUklBQkxFfX0KKyAKKy1leGVjIFwkT1BFTlRPT05aX0JBU0UvYmluL09wZW5Ub29u eiBcIlwkQFwiCisrZXhlYyAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4vT3BlblRvb256IFwi XCRAXCIKKyAiKQorICAgICAjIG9ubHkgbmVlZGVkIGZvciBleGVjdXRpbmcgd2l0aG91dCBpbnN0 YWxsaW5nCisgICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EIGNobW9kICt4ICR7Q01BS0VfQklO QVJZX0RJUn0vYmluL29wZW50b29ueikKK0BAIC04MTEsMTMgKzgxMCwxMyBAQCBleGVjIFwkT1BF TlRPT05aX0JBU0UvYmluL09wZW5Ub29ueiBcIlwkQFwiCisgICAgICAgICAgICAgIiQ8VEFSR0VU X0ZJTEU6dG56dG9vbHM+IgorICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOnRuenN0ZGZ4PiIK KyAgICAgICAgICAgICAiJDxUQVJHRVRfRklMRTp0ZmFybT4iCistICAgICAgICBERVNUSU5BVElP TiBsaWIvb3BlbnRvb256CisrICAgICAgICBERVNUSU5BVElPTiAke0xJQl9JTlNUQUxMX0RJUn0v b3BlbnRvb256CisgICAgICkKKyAKKyAgICAgaW5zdGFsbCgKKyAgICAgICAgIERJUkVDVE9SWQor ICAgICAgICAgICAgICR7Q01BS0VfU09VUkNFX0RJUn0vLi4vLi4vc3R1ZmYKKy0gICAgICAgIERF U1RJTkFUSU9OIHNoYXJlL29wZW50b29uegorKyAgICAgICAgREVTVElOQVRJT04gJHtTSEFSRV9J TlNUQUxMX1BSRUZJWH0vb3BlbnRvb256CisgICAgICkKKyAKKyBlbmRpZigpCistLSAKKzIuNTUu MAorCgpkaWZmIC0tZ2l0IGEvMDAwNi1raXNzZmZ0LWZpeC5wYXRjaCBiLzAwMDYta2lzc2ZmdC1m aXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAwNDQxMQotLS0g L2Rldi9udWxsCisrKyBiLzAwMDYta2lzc2ZmdC1maXgucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAor RnJvbSA3OGI5Y2Y3MDkxMzA5ZTg5ZjFmYTI0ZjZjNGY2MjBmM2QyMTUzZjk0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4K K0RhdGU6IE1vbiwgMjcgSnVsIDIwMjYgMTY6NTY6NDYgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCA2 LzldIGtpc3NmZnQgZml4CisKKworZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvc3RkZngvQ01h a2VMaXN0cy50eHQgYi90b29uei9zb3VyY2VzL3N0ZGZ4L0NNYWtlTGlzdHMudHh0CitpbmRleCA1 OGU5OTQ5ZWUuLjllMmYxMTEyMyAxMDA2NDQKKy0tLSBhL3Rvb256L3NvdXJjZXMvc3RkZngvQ01h a2VMaXN0cy50eHQKKysrKyBiL3Rvb256L3NvdXJjZXMvc3RkZngvQ01ha2VMaXN0cy50eHQKK0BA IC0yNzEsOCArMjcxLDYgQEAgc2V0KFNPVVJDRVMKKyAgICAgaXdhX25vaXNlMTIzNC5jcHAKKyAg ICAgaXdhX3BucGVyc3BlY3RpdmVmeC5jcHAKKyAgICAgaXdhX3NvYXBidWJibGVmeC5jcHAKKy0g ICAgJHtTREtST09UfS9raXNzX2ZmdC9raXNzX2ZmdC5jCistICAgICR7U0RLUk9PVH0va2lzc19m ZnQva2lzc19mZnRuZC5jCisgICAgIGl3YV9ib2tlaGZ4LmNwcAorICAgICBpd2FfdGltZWNvZGVm eC5jcHAKKyAgICAgaXdhX2Jva2VocmVmZnguY3BwCitAQCAtMzA3LDYgKzMwNSw3IEBAIGFkZF9s aWJyYXJ5KHRuenN0ZGZ4IFNIQVJFRCAke0hFQURFUlN9ICR7U09VUkNFU30gJHtPQkpDU09VUkNF U30pCisgYWRkX2RlZmluaXRpb25zKAorICAgICAtRF9VU1JETEwKKyAgICAgLURUTlpTVERGWF9F WFBPUlRTCisrICAgIC1Ea2lzc19mZnRfc2NhbGFyPWRvdWJsZQorICkKKyAKKyBpZihCVUlMRF9F TlZfQVBQTEUpCitAQCAtMzMwLDEyICszMjksMTIgQEAgZWxzZSgpCisgZW5kaWYoKQorIAorIGlu Y2x1ZGVfZGlyZWN0b3JpZXMoCistICAgICR7U0RLUk9PVH0va2lzc19mZnQKKysgICAgL3Vzci9p bmNsdWRlL2tpc3NmZnQvCisgKQorIAorIF9maW5kX3Rvb256X2xpYnJhcnkoVE5aTElCUyAidG56 Y29yZTt0bnpiYXNlO3Rvb256bGliIikKKyAKKy10YXJnZXRfbGlua19saWJyYXJpZXModG56c3Rk ZnggUXQ1OjpDb3JlIFF0NTo6R3VpIFF0NTo6T3BlbkdMICR7R0xfTElCfSAke0dMRVdfTElCfSAk e1ROWkxJQlN9ICR7UFRIUkVBRF9MSUJSQVJZfSkKKyt0YXJnZXRfbGlua19saWJyYXJpZXModG56 c3RkZnggUXQ1OjpDb3JlIFF0NTo6R3VpIFF0NTo6T3BlbkdMICR7R0xfTElCfSAke0dMRVdfTElC fSAke1ROWkxJQlN9ICR7UFRIUkVBRF9MSUJSQVJZfSBraXNzZmZ0LWRvdWJsZSkKKyAKKyBpZihP cGVuQ1ZfRk9VTkQpCisgICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyh0bnpzdGRmeCAke09wZW5D Vl9MSUJTfSkKKy0tIAorMi41NS4wCisKCmRpZmYgLS1naXQgYS8wMDA3LXRvb256cmxlLXJtLnBh dGNoIGIvMDAwNy10b29uenJsZS1ybS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi42MjVjMmM2Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNy10b29uenJsZS1ybS5wYXRj aApAQCAtMCwwICsxLDIzIEBACitGcm9tIGQyYWY4MDFlZmQ5NzI5YzI2M2QxMjJmODZhMzQ2NGRi MGY2ZmY1ZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEaWVnbyBIZXJyZXJhIDxk aGVycmVyYUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyNyBKdWwgMjAyNiAxNjo1NzoyNCAtMDQw MAorU3ViamVjdDogW1BBVENIIDcvOV0gdG9vbnpybGUgcm0KKworCitkaWZmIC0tZ2l0IGEvdG9v bnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dCBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvQ01h a2VMaXN0cy50eHQKK2luZGV4IGQ2Y2EwYjVjMS4uNDQyMGYxY2YxIDEwMDY0NAorLS0tIGEvdG9v bnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dAorKysrIGIvdG9vbnovc291cmNlcy9pbWFn ZS9DTWFrZUxpc3RzLnR4dAorQEAgLTc0LDcgKzc0LDggQEAgaWYoTk9UIEJVSUxEX1RBUkdFVF9C U0QpCisgICAgICAgICB0aWYvdGlpb190aWYuY3BwCisgICAgICAgICB0enAvdGlpb19wbHQuY3Bw CisgICAgICAgICB0enAvdGlpb190enAuY3BwCistICAgICAgICB0enAvdG9vbnpybGUuY3BwCisr ICAgICAgICAjIFJlbW92ZWQgc2luY2UgaXQgcmVxdWlyZXMgbGlidGlmZiBpbnRlcm5hbCBBUEkg YWNjZXNzLgorKyAgICAgICAgIyB0enAvdG9vbnpybGUuY3BwCisgICAgICAgICB0enAvYXZsLmMK KyAgICAgKQorIGVuZGlmKCkKKy0tIAorMi41NS4wCisKCmRpZmYgLS1naXQgYS8wMDA4LXR6cC10 aWZmaW9wLWZpeC5wYXRjaCBiLzAwMDgtdHpwLXRpZmZpb3AtZml4LnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMmQ4YmYKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA4 LXR6cC10aWZmaW9wLWZpeC5wYXRjaApAQCAtMCwwICsxLDQyIEBACitGcm9tIDJkODMxODFhNWJj YmJiMjA3ZmI1ZDgzNzcwMTFlZDUzYTNjOGZjNWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAyNyBK dWwgMjAyNiAxNjo1Nzo0MCAtMDQwMAorU3ViamVjdDogW1BBVENIIDgvOV0gdHpwIHRpZmZpb3Ag Zml4CisKKworZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL3RpaW9fdHpwLmNw cCBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL3RpaW9fdHpwLmNwcAoraW5kZXggMDgwZjliZGY0 Li5hMjJmOWQwZjcgMTAwNjQ0CistLS0gYS90b29uei9zb3VyY2VzL2ltYWdlL3R6cC90aWlvX3R6 cC5jcHAKKysrKyBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL3RpaW9fdHpwLmNwcAorQEAgLTcs NyArNyw3IEBACisgI2luY2x1ZGUgInRleGNlcHRpb24uaCIKKyAKKyAjaW5jbHVkZSAidGlmZmlv LmgiCistI2luY2x1ZGUgInRpZmZpb3AuaCIKKysvLyAjaW5jbHVkZSAidGlmZmlvcC5oIgorIC8v ICNpbmNsdWRlICJ0c3BlY2lhbHN0eWxlaWQuaCIKKyAjaW5jbHVkZSA8c2V0PgorIAorQEAgLTIy NSw4ICsyMjUsNyBAQCB2b2lkIFR6cFJlYWRlcjo6cmVhZExpbmUoY2hhciAqYnVmZmVyLCBpbnQg eDAsIGludCB4MSwgaW50IHNocmluaykgeworICAgICAgIHN0YXRpYyBzdGQ6OnNldDxpbnQ+IHRh YmxlOworIAorICAgICAgIC8vLyBwZXIgbGUgdHpwIGNoZSB2ZW5nb25vIGRhIElyaXgKKy0gICAg ICBib29sIGJpZ0VuZGlhbiA9CistICAgICAgICAgIChtX3RpZmYtPnRpZl9oZWFkZXIuY2xhc3Np Yy50aWZmX21hZ2ljID09IFRJRkZfQklHRU5ESUFOKTsKKysgICAgICBib29sIGJpZ0VuZGlhbiA9 IFRJRkZJc0JpZ0VuZGlhbihtX3RpZmYpOworIAorICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwg bV9seDsgaSsrKSB7CisgICAgICAgICB1bnNpZ25lZCBzaG9ydCBpblBpeCA9IGxpbmVbaV07CitA QCAtMjU1LDggKzI1NCw3IEBAIHZvaWQgVHpwUmVhZGVyOjpyZWFkTGluZShjaGFyICpidWZmZXIs IGludCB4MCwgaW50IHgxLCBpbnQgc2hyaW5rKSB7CisgICAgICAgc3RhdGljIHN0ZDo6c2V0PGlu dD4gdGFibGU7CisgCisgICAgICAgLy8vIHBlciBsZSB0enAgY2hlIHZlbmdvbm8gZGEgSXJpeAor LSAgICAgIGJvb2wgYmlnRW5kaWFuID0KKy0gICAgICAgICAgKG1fdGlmZi0+dGlmX2hlYWRlci5j bGFzc2ljLnRpZmZfbWFnaWMgPT0gVElGRl9CSUdFTkRJQU4pOworKyAgICAgIGJvb2wgYmlnRW5k aWFuID0gVElGRklzQmlnRW5kaWFuKG1fdGlmZik7CisgCisgICAgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBtX2x4OyBpKyspIHsKKyAgICAgICAgIHVuc2lnbmVkIHNob3J0IGluUGl4ID0gbGluZVtp XTsKKy0tIAorMi41NS4wCisKCmRpZmYgLS1naXQgYS8wMDA5LWFwcGRhdGEucGF0Y2ggYi8wMDA5 LWFwcGRhdGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JjMWJl ZQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDktYXBwZGF0YS5wYXRjaApAQCAtMCwwICsxLDI0IEBA CitGcm9tIDJlZTBiZGQwYTI0ZWVkNGUwOWNiNDQ3MzA3MDFhODY4MGI2NzMyM2MgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29t PgorRGF0ZTogTW9uLCAyNyBKdWwgMjAyNiAxNjo1ODozMiAtMDQwMAorU3ViamVjdDogW1BBVENI IDkvOV0gYXBwZGF0YQorCisKK2RpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3hkZy1kYXRhL2lv LmdpdGh1Yi5PcGVuVG9vbnouYXBwZGF0YS54bWwgYi90b29uei9zb3VyY2VzL3hkZy1kYXRhL2lv LmdpdGh1Yi5PcGVuVG9vbnouYXBwZGF0YS54bWwKK2luZGV4IDFlYTg4MjZlZS4uY2NiOTRkNTVl IDEwMDY0NAorLS0tIGEvdG9vbnovc291cmNlcy94ZGctZGF0YS9pby5naXRodWIuT3BlblRvb256 LmFwcGRhdGEueG1sCisrKysgYi90b29uei9zb3VyY2VzL3hkZy1kYXRhL2lvLmdpdGh1Yi5PcGVu VG9vbnouYXBwZGF0YS54bWwKK0BAIC0xOCw2ICsxOCwxMCBAQAorICAgICAgIER3YW5nbyBsYXVu Y2hlZCB0aGUgT3BlblRvb256IHByb2plY3QgaW4gY29vcGVyYXRpb24KKyAgICAgICB3aXRoIERp Z2l0YWwgVmlkZW8gYW5kIFN0dWRpbyBHaGlibGkuCisgICAgIDwvcD4KKysgICAgPHA+CisrICAg ICAgVGhpcyB2ZXJzaW9uIHdhcyBwYWNrYWdlZCBmb3IgRmVkb3JhIHVzaW5nIHRoZSBsYXRlc3Qg c3RhYmxlIGxpYnJhcmllcworKyAgICAgIGF2YWlsYWJsZSBpbiB0aGUgZGlzdHJpYnV0aW9uLCBp biBleGNoYW5nZSBzb21lIGZlYXR1cmVzIHdlcmUgZGlzYWJsZWQuCisrICAgIDwvcD4KKyAgIDwv ZGVzY3JpcHRpb24+CisgICA8dXJsIHR5cGU9ImhvbWVwYWdlIj5odHRwczovL29wZW50b29uei5n aXRodWIuaW8vZS88L3VybD4KKyAgIDx1cmwgdHlwZT0iYnVndHJhY2tlciI+aHR0cHM6Ly9naXRo dWIuY29tL29wZW50b29uei9vcGVudG9vbnovaXNzdWVzPC91cmw+CistLSAKKzIuNTUuMAorCgpk aWZmIC0tZ2l0IGEvY2hhbmdlbG9nIGIvY2hhbmdlbG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmJmYmU5NmUKLS0tIC9kZXYvbnVsbAorKysgYi9jaGFuZ2Vsb2cKQEAgLTAs MCArMSwxMTggQEAKKyogVGh1IEp1bCAxNiAyMDI2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS43LjEtMjEKKy0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NV9NYXNzX1JlYnVpbGQKKworKiBU aHUgSmFuIDI5IDIwMjYgTmljb2xhcyBDaGF1dmV0IDxrd2l6YXJ0QGdtYWlsLmNvbT4gLSAxLjcu MS0yMAorLSBSZWJ1aWx0IGZvciBPcGVuQ1YgNC4xMworCisqIEZyaSBKYW4gMTYgMjAyNiBGZWRv cmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNy4x LTE5CistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFf NDRfTWFzc19SZWJ1aWxkCisKKyogV2VkIERlYyAxMCAyMDI1IE5pY29sYXMgQ2hhdXZldCA8a3dp emFydEBnbWFpbC5jb20+IC0gMS43LjEtMTgKKy0gUmVidWlsdCBmb3IgT3BlbkNWLTQuMTIKKwor KiBUaHUgSnVsIDI0IDIwMjUgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRv cmFwcm9qZWN0Lm9yZz4gLSAxLjcuMS0xNworLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXBy b2plY3Qub3JnL3dpa2kvRmVkb3JhXzQzX01hc3NfUmVidWlsZAorCisqIFR1ZSBGZWIgMDQgMjAy NSBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4gLSAxLjcuMS0xNgorLSBSZWJ1aWxk IGZvciBvcGVuY3YtNC4xMS4wCisKKyogTW9uIEZlYiAzIDIwMjUgRGllZ28gSGVycmVyYSA8ZGhl cnJlcmFAcmVkaGF0LmNvbT4gMS43LjEtMTUKKy0gRml4IGFtYmlndW9zbHkgZGVmaW5lZCBmdW5j dGlvbiBwb2ludGVycworCisqIEZyaSBKYW4gMTcgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVl cmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNy4xLTE0CistIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDJfTWFzc19SZWJ1aWxkCisK KyogU3VuIFNlcCAwOCAyMDI0IEFudG9uaW8gVHJhbmRlIDxzYWdpdHRlckBmZWRvcmFwcm9qZWN0 Lm9yZz4gMS43LjEtMTMKKy0gUmVidWlsZCBmb3IgU3VwZXJMVS03LjAuMAorCisqIE1vbiBTZXAg MDIgMjAyNCBNaXJvc2xhdiBTdWNow70gPG1zdWNoeUByZWRoYXQuY29tPiAtIDEuNy4xLTEyCist IGNvbnZlcnQgbGljZW5zZSB0byBTUERYCisKKyogVGh1IEp1bCAyNSAyMDI0IFPDqXJnaW8gQmFz dG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDEuNy4xLTExCistIFJlYnVpbGQgZm9yIG9wZW5jdiA0 LjEwLjAKKworKiBUaHUgSnVsIDE4IDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjcuMS0xMAorLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQxX01hc3NfUmVidWlsZAorCisqIFR1ZSBG ZWIgMDYgMjAyNCBGcmFudGnFoWVrIFphdGxvdWthbCA8ZnphdGxvdWtAcmVkaGF0LmNvbT4gLSAx LjcuMS05CistIFJlYnVpbHQgZm9yIHR1cmJvanBlZyAzLjAuMgorCisqIE1vbiBGZWIgMDUgMjAy NCBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4gLSAxLjcuMS04CistIFJlYnVpbGQg Zm9yIG9wZW5jdiA0LjkuMAorCisqIFRodSBGZWIgMSAyMDI0IERpZWdvIEhlcnJlcmEgPGRoZXJy ZXJhQHJlZGhhdC5jb20+IDEuNy4xLTcKKy0gRml4IGZvciBraXNzZmZ0LXYxMzEuMS4wCistIEZp eCBmb3IgdGlueWV4ci12MS4wLjcKKworKiBUaHUgSmFuIDI1IDIwMjQgRmVkb3JhIFJlbGVhc2Ug RW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjcuMS02CistIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1 aWxkCisKKyogU3VuIEphbiAyMSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxl bmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS43LjEtNQorLSBSZWJ1aWx0IGZvciBodHRwczovL2Zl ZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQwX01hc3NfUmVidWlsZAorCisqIE1vbiBBdWcg MDcgMjAyMyBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4gLSAxLjcuMS00CistIFJl YnVpbGQgZm9yIG9wZW5jdiA0LjguMAorCisqIFRodSBKdWwgMjAgMjAyMyBGZWRvcmEgUmVsZWFz ZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNy4xLTMKKy0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zOV9NYXNzX1Jl YnVpbGQKKworKiBTYXQgSnVsIDE1IDIwMjMgQW50b25pbyBUcmFuZGUgPHNhZ2l0dGVyQGZlZG9y YXByb2plY3Qub3JnPiAxLjcuMS0yCistIFJlYnVpbGQgZm9yIFN1cGVyTFUtNi4wLjAKKworKiBU dWUgSnVuIDIwIDIwMjMgRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS43LjEt MQorLSBVcGRhdGVkIHRvIDEuNy4xCistIFVwZGF0ZSBwYWNrYWdlIGRlc2NyaXB0aW9uCisKKyog V2VkIE1heSAxMCAyMDIzIERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNy4w LTEKKy0gVXBkYXRlZCB0byAxLjcuMAorCisqIE1vbiBGZWIgNiAyMDIzIERpZWdvIEhlcnJlcmEg PGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNi4wLTExCistIEZpeCBzaXplX3QgcmVkZWZpbml0aW9u IGlzc3VlIG9uIHRnYzo6aGFzaCBjbGFzcy4KKworKiBUaHUgSmFuIDE5IDIwMjMgRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjYuMC0xMAor LSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM4X01h c3NfUmVidWlsZAorCisqIE1vbiBKYW4gMTYgMjAyMyBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2Vy anV4LmNvbT4gLSAxLjYuMC05CistIFJlYnVpbGQgZm9yIG9wZW5jdiA0LjcuMAorCisqIFdlZCBO b3YgMiAyMDIyIERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNi4wLTgKKy0g RXhwb3NlIHN0YXRpYyBsaWJyYXJ5IGRlcGVuZGVuY3kKKworKiBUaHUgQXVnIDI1IDIwMjIgRGll Z28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS42LjAtNworLSBNYWtlIGV4ciBwYXRj aCBjb21wYXRpYmxlIHdpdGggdXBzdHJlYW0KKworKiBUaHUgQXVnIDI1IDIwMjIgRGllZ28gSGVy cmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS42LjAtNgorLSBGaXggZXhyIGxpbmtpbmcgcHJv YmxlbXMKKworKiBUaHUgQXVnIDI1IDIwMjIgScOxYWtpIMOaY2FyIDxpdWNhckBmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAxLjYuMC01CistIEFkaGVyZSB0byBCTEFTL0xBUEFDSyBndWlkZWxpbmVzCisK KyogRnJpIEp1bCAyMiAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVk b3JhcHJvamVjdC5vcmc+IC0gMS42LjAtNAorLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXBy b2plY3Qub3JnL3dpa2kvRmVkb3JhXzM3X01hc3NfUmVidWlsZAorCisqIFR1ZSBKdW4gMjEgMjAy MiBTw6lyZ2lvIEJhc3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4gLSAxLjYuMC0zCistIFJlYnVpbHQg Zm9yIG9wZW5jdiA0LjYuMAorCisqIEZyaSBBcHIgMjkgMjAyMiBEaWVnbyBIZXJyZXJhIDxkaGVy cmVyYUByZWRoYXQuY29tPiAxLjYuMC0yCistIERpc2FibGUgZXhyIGZvcm1hdCBiZWNhdXNlIG9m IGxpbmtpbmcgcHJvYmxlbXMKKworKiBNb24gQXByIDE4IDIwMjIgRGllZ28gSGVycmVyYSA8ZGhl cnJlcmFAcmVkaGF0LmNvbT4gMS42LjAtMQorLSBVcGRhdGVkIHRvIDEuNi4wCisKKyogV2VkIE1h ciAxNiAyMDIyIERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNS4wLTUKKy0g Rml4ZWQgYnVpbGQgcHJvYmxlbXMgd2l0aCBjbWFrZQorLSBsaWJ1c2IgcmV0aXJlZCBmcm9tIHJh d2hpZGUKKworKiBTYXQgRmViIDUgMjAyMiBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQu Y29tPiAxLjUuMC00CistIFJlc3RvcmVkIG1ldGFpbmZvIAorCisqIEZyaSBGZWIgNCAyMDIyIERp ZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNS4wLTMKKy0gQWRkZWQgdmVyc2lv biBtYWNybyB0byB0aGUgc291cmNlIHVybCAKKworKiBGcmkgRmViIDQgMjAyMiBEaWVnbyBIZXJy ZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPiAxLjUuMC0yCistIEFkZGVkIGNtYWtlIG1hY3Jvcwor LSBVc2VkIGRlc2t0b3AtZmlsZS12YWxpZGF0ZSBpbnN0ZWFkIG9mIGRlc2t0b3AtZmlsZS1pbnN0 YWxsCistIENsZWFuZWQgdXAgcmVxdWlyZW1lbnRzCisKKyogV2VkIEZlYiAyIDIwMjIgRGllZ28g SGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS41LjAtMQorLSBGaXJzdCBjb21taXQKCmRp ZmYgLS1naXQgYS9vcGVudG9vbnotMS41LjAtbHpvLWZpeC5wYXRjaCBiL29wZW50b29uei0xLjUu MC1sem8tZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDNmOWNhLi4w MDAwMDAwCi0tLSBhL29wZW50b29uei0xLjUuMC1sem8tZml4LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMTMgKzAsMCBAQAotZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvQ01ha2VMaXN0cy50 eHQgYi90b29uei9zb3VyY2VzL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA3Y2YzZDdjNS4uNzFhNWQy N2YgMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2VzL0NNYWtlTGlzdHMudHh0Ci0rKysgYi90b29u ei9zb3VyY2VzL0NNYWtlTGlzdHMudHh0Ci1AQCAtNjE0LDcgKzYxNCw3IEBAIGFkZF9zdWJkaXJl Y3RvcnkoaW1hZ2UpCi0gYWRkX3N1YmRpcmVjdG9yeSh0b29uenF0KQotIGFkZF9zdWJkaXJlY3Rv cnkodG56dG9vbHMpCi0gCi0tYWRkX3N1YmRpcmVjdG9yeSgke1NES1JPT1R9L2x6by9kcml2ZXIg bHpvZHJpdmVyKQotKyMgYWRkX3N1YmRpcmVjdG9yeSgke1NES1JPT1R9L2x6by9kcml2ZXIgbHpv ZHJpdmVyKQotIAotIGFkZF9zdWJkaXJlY3RvcnkodG9vbnopCi0gYWRkX3N1YmRpcmVjdG9yeSh0 Y2xlYW51cHBlcikKCmRpZmYgLS1naXQgYS9vcGVudG9vbnotMS41LjAtdGlmZi1maXgucGF0Y2gg Yi9vcGVudG9vbnotMS41LjAtdGlmZi1maXgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDQ0MzQxNjcuLjAwMDAwMDAKLS0tIGEvb3BlbnRvb256LTEuNS4wLXRpZmYtZml4LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkyICswLDAgQEAKLWRpZmYgLS1naXQgYS90b29uei9j bWFrZS9GaW5kVElGRi5jbWFrZSBiL3Rvb256L2NtYWtlL0ZpbmRUSUZGLmNtYWtlCi1pbmRleCBi M2RiNWZhMC4uYjQzMzJjZDggMTAwNjQ0Ci0tLS0gYS90b29uei9jbWFrZS9GaW5kVElGRi5jbWFr ZQotKysrIGIvdG9vbnovY21ha2UvRmluZFRJRkYuY21ha2UKLUBAIC0zLDI4ICszLDEyIEBAIGZp bmRfcGF0aCgKLSAgICAgVElGRl9JTkNMVURFX0RJUgotICAgICBOQU1FUwotICAgICAgICAgdGlm ZmlvLmgKLS0gICAgSElOVFMKLS0gICAgICAgICR7U0RLUk9PVH0KLS0gICAgUEFUSF9TVUZGSVhF UwotLSAgICAgICAgdGlmZi00LjAuMy9saWJ0aWZmLwotLSMgaWYgbW9ubyBvciBhbm90aGVyIGZy YW1ld29yayB3aXRoIGEgdGlmIGxpYnJhcnkKLS0jIGlzIGluc3RhbGxlZCwgaWdub3JlIGl0Lgot LWlmKEJVSUxEX0VOVl9BUFBMRSkKLS0gICAgTk9fREVGQVVMVF9QQVRICi0tICAgIE5PX0NNQUtF X0VOVklST05NRU5UUEFUSAotLSAgICBOT19DTUFLRV9QQVRICi0tZW5kaWYoKQotICkKLSAKLSBm aW5kX2xpYnJhcnkoCi0gICAgIFRJRkZfTElCUkFSWQotICAgICBOQU1FUwotLSAgICAgICAgbGli dGlmZi5hCi0tICAgIEhJTlRTCi0tICAgICAgICAke1NES1JPT1R9Ci0tICAgIFBBVEhfU1VGRklY RVMKLS0gICAgICAgIHRpZmYtNC4wLjMvbGlidGlmZi8ubGlicwotLSAgICBOT19ERUZBVUxUX1BB VEgKLSsgICAgICAgIGxpYnRpZmYuc28KLSApCi0gCi0gbWVzc2FnZSgiKioqKiogbGlidGlmZiBI ZWFkZXIgcGF0aDoiICR7VElGRl9JTkNMVURFX0RJUn0pCi1kaWZmIC0tZ2l0IGEvdG9vbnovc291 cmNlcy9pbWFnZS90aWYvdGlpb190aWYuY3BwIGIvdG9vbnovc291cmNlcy9pbWFnZS90aWYvdGlp b190aWYuY3BwCi1pbmRleCA1OTBmMGJmZi4uMTM4NTY0MmQgMTAwNjQ0Ci0tLS0gYS90b29uei9z b3VyY2VzL2ltYWdlL3RpZi90aWlvX3RpZi5jcHAKLSsrKyBiL3Rvb256L3NvdXJjZXMvaW1hZ2Uv dGlmL3RpaW9fdGlmLmNwcAotQEAgLTY1LDcgKzY1LDYgQEAgcHVibGljOgotIAotICAgaW50IHNr aXBMaW5lcyhpbnQgbGluZUNvdW50KSBvdmVycmlkZTsKLSAgIHZvaWQgcmVhZExpbmUoY2hhciAq YnVmZmVyLCBpbnQgeDAsIGludCB4MSwgaW50IHNocmluaykgb3ZlcnJpZGU7Ci0tICB2b2lkIHJl YWRMaW5lKHNob3J0ICpidWZmZXIsIGludCB4MCwgaW50IHgxLCBpbnQgc2hyaW5rKSBvdmVycmlk ZTsKLSB9OwotIAotIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCi1AQCAtNDIyLDE0NSArNDIxLDkgQEAgaW50IFRpZlJlYWRlcjo6 c2tpcExpbmVzKGludCBsaW5lQ291bnQpIHsKLSAKLSAjaW5jbHVkZSAidGltYWdlX2lvLmgiCi0g Ci0tdm9pZCBUaWZSZWFkZXI6OnJlYWRMaW5lKHNob3J0ICpidWZmZXIsIGludCB4MCwgaW50IHgx LCBpbnQgc2hyaW5rKSB7Ci0tICBhc3NlcnQoc2hyaW5rID4gMCk7Ci0tCi0tICBjb25zdCBpbnQg cGl4ZWxTaXplID0gODsKLS0gIGludCBzdHJpcFJvd1NpemUgICAgPSBtX3Jvd0xlbmd0aCAqIHBp eGVsU2l6ZTsKLS0KLS0gIGlmIChtX3JvdyA8IG1faW5mby5tX3kwIHx8IG1fcm93ID4gbV9pbmZv Lm1feTEpIHsKLS0gICAgbWVtc2V0KGJ1ZmZlciwgMCwgKHgxIC0geDAgKyAxKSAqIHBpeGVsU2l6 ZSk7Ci0tICAgIG1fcm93Kys7Ci0tICAgIHJldHVybjsKLS0gIH0KLS0KLS0gIGludCBzdHJpcElu ZGV4ID0gbV9yb3cgLyBtX3Jvd3NQZXJTdHJpcDsKLS0gIGlmIChtX3N0cmlwSW5kZXggIT0gc3Ry aXBJbmRleCkgewotLSAgICAvLyBSZXRyaWV2ZSB0aGUgc3RyaXAgaG9sZGluZyBjdXJyZW50IHJv dy4gUGxlYXNlLCBvYnNlcnZlIHRoYXQKLS0gICAgLy8gVElGRiBmdW5jdGlvbnMgd2lsbCByZXR1 cm4gdGhlIHN0cmlwIGJ1ZmZlciBpbiB0aGUgQk9UVE9NLVVQIG9yaWVudGF0aW9uLAotLSAgICAv LyBubyBtYXR0ZXIgdGhlIGludGVybmFsIHRpZidzIG9yaWVudGF0aW9uIHN0b3JhZ2UKLS0KLS0g ICAgbV9zdHJpcEluZGV4ID0gc3RyaXBJbmRleDsKLS0KLS0gICAgaWYgKFRJRkZJc1RpbGVkKG1f dGlmZikpIHsKLS0gICAgICAvLyBSZXRyaWV2ZSB0aWxlcyBzaXplCi0tICAgICAgdWludDMyIHRp bGVXaWR0aCA9IDAsIHRpbGVIZWlnaHQgPSAwOwotLSAgICAgIFRJRkZHZXRGaWVsZChtX3RpZmYs IFRJRkZUQUdfVElMRVdJRFRILCAmdGlsZVdpZHRoKTsKLS0gICAgICBUSUZGR2V0RmllbGQobV90 aWZmLCBUSUZGVEFHX1RJTEVMRU5HVEgsICZ0aWxlSGVpZ2h0KTsKLS0gICAgICBhc3NlcnQodGls ZVdpZHRoID4gMCAmJiB0aWxlSGVpZ2h0ID4gMCk7Ci0tCi0tICAgICAgLy8gQWxsb2NhdGUgYSBz dWZmaWNpZW50IGJ1ZmZlciB0byBzdG9yZSBhIHNpbmdsZSB0aWxlCi0tICAgICAgaW50IHRpbGVT aXplID0gdGlsZVdpZHRoICogdGlsZUhlaWdodDsKLS0gICAgICBzdGQ6OnVuaXF1ZV9wdHI8dWlu dDY0W10+IHRpbGUobmV3IHVpbnQ2NFt0aWxlU2l6ZV0pOwotLQotLSAgICAgIGludCB4ID0gMDsK LS0gICAgICBpbnQgeSA9IHRpbGVIZWlnaHQgKiBtX3N0cmlwSW5kZXg7Ci0tCi0tICAgICAgLy8g SW4gY2FzZSBpdCdzIHRoZSBsYXN0IHRpbGVzIHJvdywgdGhlIHRpbGUgc2l6ZSBtaWdodCBleGNl ZWQgdGhlIGltYWdlCi0tICAgICAgLy8gYm91bmRzCi0tICAgICAgaW50IGxhc3RUeSA9IHN0ZDo6 bWluKChpbnQpdGlsZUhlaWdodCwgbV9pbmZvLm1fbHkgLSB5KTsKLS0KLS0gICAgICAvLyBUcmF2 ZXJzZSB0aGUgdGlsZXMgcm93Ci0tICAgICAgd2hpbGUgKHggPCBtX2luZm8ubV9seCkgewotLSAg ICAgICAgaW50IHJldCA9IFRJRkZSZWFkUkdCQVRpbGVfNjQobV90aWZmLCB4LCB5LCB0aWxlLmdl dCgpKTsKLS0gICAgICAgIGFzc2VydChyZXQpOwotLQotLSAgICAgICAgaW50IHRpbGVSb3dTaXpl ID0gc3RkOjptaW4oKGludCl0aWxlV2lkdGgsIG1faW5mby5tX2x4IC0geCkgKiBwaXhlbFNpemU7 Ci0tCi0tICAgICAgICAvLyBDb3B5IHRoZSB0aWxlIHJvd3MgaW4gdGhlIGNvcnJlc3BvbmRpbmcg b3V0cHV0IHN0cmlwIHJvd3MKLS0gICAgICAgIGZvciAoaW50IHR5ID0gMDsgdHkgPCBsYXN0VHk7 ICsrdHkpIHsKLS0gICAgICAgICAgbWVtY3B5KG1fc3RyaXBCdWZmZXIgKyAodHkgKiBtX3Jvd0xl bmd0aCArIHgpICogcGl4ZWxTaXplLAotLSAgICAgICAgICAgICAgICAgKFVDSEFSICopdGlsZS5n ZXQoKSArIHR5ICogdGlsZVdpZHRoICogcGl4ZWxTaXplLCB0aWxlUm93U2l6ZSk7Ci0tICAgICAg ICB9Ci0tCi0tICAgICAgICB4ICs9IHRpbGVXaWR0aDsKLS0gICAgICB9Ci0tICAgIH0gZWxzZSB7 Ci0tICAgICAgaW50IHkgID0gbV9yb3dzUGVyU3RyaXAgKiBtX3N0cmlwSW5kZXg7Ci0tICAgICAg aW50IG9rID0gVElGRlJlYWRSR0JBU3RyaXBfNjQobV90aWZmLCB5LCAodWludDY0ICopbV9zdHJp cEJ1ZmZlcik7Ci0tICAgICAgYXNzZXJ0KG9rKTsKLS0gICAgfQotLSAgfQotLQotLSAgdWludDE2 IG9yaWVudCA9IE9SSUVOVEFUSU9OX1RPUExFRlQ7Ci0tICBUSUZGR2V0RmllbGQobV90aWZmLCBU SUZGVEFHX09SSUVOVEFUSU9OLCAmb3JpZW50KTsKLS0KLS0gIGludCByID0gbV9yb3dzUGVyU3Ry aXAgLSAxIC0gKG1fcm93ICUgbV9yb3dzUGVyU3RyaXApOwotLSAgc3dpdGNoIChvcmllbnQpICAv LyBQcmV0dHkgd2VhayBjaGVjayBmb3IgdG9wL2JvdHRvbSBvcmllbnRhdGlvbgotLSAgewotLSAg Y2FzZSBPUklFTlRBVElPTl9UT1BMRUZUOgotLSAgY2FzZSBPUklFTlRBVElPTl9UT1BSSUdIVDoK LS0gIGNhc2UgT1JJRU5UQVRJT05fTEVGVFRPUDoKLS0gIGNhc2UgT1JJRU5UQVRJT05fUklHSFRU T1A6Ci0tICAgIC8vIFdlIGhhdmUgdG8gaW52ZXJ0IHRoZSBmaXhlZCBCT1RUT00tVVAgcmV0dXJu ZWQgYnkgVElGRiBmdW5jdGlvbnMgLSBzaW5jZQotLSAgICAvLyB0aGlzIGZ1bmN0aW9uIGlzCi0t ICAgIC8vIHN1cHBvc2VkIHRvIGlnbm9yZSBvcmllbnRhdGlvbiBpc3N1ZXMgKHdoaWNoIGFyZSBt YW5hZ2VkIG91dHNpZGUpLgotLQotLSAgICAvLyBUaGUgbGFzdCB0aWxlcyByb3cgd2lsbCBhY3R1 YWxseSBzdGFydCBhdCB0aGUgRU5EIE9GIFRIRSBJTUFHRSAobm90Ci0tICAgIC8vIG5lY2Vzc2Fy aWx5IGF0Ci0tICAgIC8vIG1fcm93c1BlclN0cmlwIG11bHRpcGxlcykuIFNvLCB3ZSBtdXN0IGFk anVzdCBmb3IgdGhhdC4KLS0KLS0gICAgciA9IHN0ZDo6bWluKG1fcm93c1BlclN0cmlwLCBtX2lu Zm8ubV9seSAtIG1fcm93c1BlclN0cmlwICogbV9zdHJpcEluZGV4KSAtCi0tICAgICAgICAxIC0g KG1fcm93ICUgbV9yb3dzUGVyU3RyaXApOwotLSAgICBicmVhazsKLS0KLS0gIGNhc2UgT1JJRU5U QVRJT05fQk9UUklHSFQ6Ci0tICBjYXNlIE9SSUVOVEFUSU9OX0JPVExFRlQ6Ci0tICBjYXNlIE9S SUVOVEFUSU9OX1JJR0hUQk9UOgotLSAgY2FzZSBPUklFTlRBVElPTl9MRUZUQk9UOgotLSAgICBy ID0gbV9yb3cgJSBtX3Jvd3NQZXJTdHJpcDsKLS0gICAgYnJlYWs7Ci0tICB9Ci0tCi0tICAvLyBG aW5hbGx5LCBjb3B5IHRoZSBzdHJpcCByb3cgdG8gdGhlIG91dHB1dCByb3cgYnVmZmVyCi0tICBU UGl4ZWw2NCAqcGl4ID0gKFRQaXhlbDY0ICopYnVmZmVyOwotLSAgVVNIT1JUICp2ICAgICA9IChV U0hPUlQgKikobV9zdHJpcEJ1ZmZlciArIHIgKiBzdHJpcFJvd1NpemUpOwotLQotLSAgcGl4ICs9 IHgwOwotLSAgdiArPSA0ICogeDA7Ci0tCi0tICBpbnQgd2lkdGggPQotLSAgICAgICh4MSA8IHgw KSA/IChtX2luZm8ubV9seCAtIDEpIC8gc2hyaW5rICsgMSA6ICh4MSAtIHgwKSAvIHNocmluayAr IDE7Ci0tCi0tICBmb3IgKGludCBpID0gMDsgaSA8IHdpZHRoOyBpKyspIHsKLS0gICAgVVNIT1JU IGMgPSAqdisrOwotLSAgICBwaXgtPnIgICA9IGM7Ci0tICAgIGMgICAgICAgID0gKnYrKzsKLS0g ICAgcGl4LT5nICAgPSBjOwotLSAgICBjICAgICAgICA9ICp2Kys7Ci0tICAgIHBpeC0+YiAgID0g YzsKLS0gICAgYyAgICAgICAgPSAqdisrOwotLSAgICBwaXgtPm0gICA9IGM7Ci0tCi0tICAgIHBp eCArPSBzaHJpbms7Ci0tICAgIHYgKz0gNCAqIChzaHJpbmsgLSAxKTsKLS0gIH0KLS0KLS0gIG1f cm93Kys7Ci0tfQotLQotIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0gCi0gdm9pZCBUaWZSZWFkZXI6OnJlYWRMaW5lKGNo YXIgKmJ1ZmZlciwgaW50IHgwLCBpbnQgeDEsIGludCBzaHJpbmspIHsKLS0gIGlmICh0aGlzLT5t X2luZm8ubV9iaXRzUGVyU2FtcGxlID09IDE2ICYmCi0tICAgICAgdGhpcy0+bV9pbmZvLm1fc2Ft cGxlUGVyUGl4ZWwgPj0gMykgewotLSAgICBzdGQ6OnZlY3RvcjxzaG9ydD4gYXBwKDQgKiAobV9p bmZvLm1fbHgpKTsKLS0gICAgcmVhZExpbmUoJmFwcFswXSwgeDAsIHgxLCBzaHJpbmspOwotLQot LSAgICBUUGl4ZWw2NCAqcGl4aW4gPSAoVFBpeGVsNjQgKikmYXBwWzBdOwotLQotLSAgICBUUGl4 ZWwzMiAqcGl4b3V0ID0gKFRQaXhlbDMyICopYnVmZmVyOwotLSAgICBmb3IgKGludCBqID0gMDsg aiA8IHgwOyBqKyspIHsKLS0gICAgICBwaXhvdXQrKzsKLS0gICAgICBwaXhpbisrOwotLSAgICB9 Ci0tCi0tICAgIGZvciAoaW50IGkgPSAwOyBpIDwgKHgxIC0geDApICsgMTsgaSsrKQotLSAgICAg ICpwaXhvdXQrKyA9IFBpeGVsQ29udmVydGVyPFRQaXhlbDMyPjo6ZnJvbSgqcGl4aW4rKyk7Ci0t Ci0tICAgIHJldHVybjsKLS0gIH0KLS0KLSAgIGFzc2VydChzaHJpbmsgPiAwKTsKLSAKLSAgIGNv bnN0IGludCBwaXhlbFNpemUgPSA0OwoKZGlmZiAtLWdpdCBhL29wZW50b29uei0xLjcuMC1nZXRo b3N0YnluYW1lLnBhdGNoIGIvb3BlbnRvb256LTEuNy4wLWdldGhvc3RieW5hbWUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMwNmY1OWYuLjAwMDAwMDAKLS0tIGEvb3BlbnRv b256LTEuNy4wLWdldGhvc3RieW5hbWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNTYgKzAs MCBAQAotZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3RmYXJtdGFz ay5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybS90ZmFybXRhc2suY3BwCi1pbmRl eCA4MzYyNjZiZS4uOWY5Y2Y4ZTIgMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2VzL3Rvb256ZmFy bS90ZmFybS90ZmFybXRhc2suY3BwCi0rKysgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFy bS90ZmFybXRhc2suY3BwCi1AQCAtMjIsMTMgKzIyLDEzIEBACi0gI2VsaWYgZGVmaW5lZChNQUNP U1gpCi0gI2luY2x1ZGUgInR2ZXJzaW9uLmgiCi0gdXNpbmcgbmFtZXNwYWNlIFRWRVI7Ci0tI2lu Y2x1ZGUgPG5ldGRiLmg+ICAgICAgLy8gZ2V0aG9zdGJ5bmFtZQotKyNpbmNsdWRlIDxuZXRkYi5o PiAgICAgIC8vIGdldGFkZHJpbmZvCi0gI2luY2x1ZGUgPGFycGEvaW5ldC5oPiAgLy8gaW5ldF9u dG9hCi0gI2Vsc2UKLSAvLyB0aGVzZSB3ZXJlIGluY2x1ZGVkIGZvciBPU1gsIGknbSBub3Qgc3Vy ZSBpZiB0aGV5IGFyZSByZXF1aXJlZCBmb3IgbGludXggb3IKLSAvLyBub3Q/IGxlYXZpbmcgdGhl bSBpbiBhcyBsaW51eCB3YXMgYnVpbGRpbmcgc3VjY2Vzc2Z1bGx5IGFscmVhZHkuIGRhbWllczEz IC0KLSAvLyAyMDE3LTA0LTE1LgotLSNpbmNsdWRlIDxuZXRkYi5oPiAgICAgIC8vIGdldGhvc3Ri eW5hbWUKLSsjaW5jbHVkZSA8bmV0ZGIuaD4gICAgICAvLyBnZXRhZGRyaW5mbwotICNpbmNsdWRl IDxhcnBhL2luZXQuaD4gIC8vIGluZXRfbnRvYQotICNlbmRpZgotIAotQEAgLTQ4OCw2ICs0ODgs MTEgQEAgUVN0cmluZyBURmFybVRhc2s6OmdldENvbW1hbmRMaW5lUHJnTmFtZSgpIGNvbnN0IHsK LSBRU3RyaW5nIFRGYXJtVGFzazo6Z2V0Q29tbWFuZExpbmVBcmd1bWVudHMoKSBjb25zdCB7Ci0g ICBRU3RyaW5nIGNtZGxpbmUgPSAiIjsKLSAKLSsgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxM OwotKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwotKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9m KHN0cnVjdCBhZGRyaW5mbykpOwotKyAgaGludHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKLSsKLSAg IGlmICghbV90YXNrRmlsZVBhdGguaXNFbXB0eSgpKQotICAgICBjbWRsaW5lICs9ICIgXCIiICsK LSAgICAgICAgICAgICAgICBRU3RyaW5nOjpmcm9tU3RkV1N0cmluZygKLUBAIC00OTUsOSArNTAw LDEyIEBAIFFTdHJpbmcgVEZhcm1UYXNrOjpnZXRDb21tYW5kTGluZUFyZ3VtZW50cygpIGNvbnN0 IHsKLSAgICAgICAgICAgICAgICAiXCIiOwotIAotICAgaWYgKG1fY2FsbGVyTWFjaGluZU5hbWUg IT0gIiIpIHsKLS0gICAgc3RydWN0IGhvc3RlbnQgKmhlID0gZ2V0aG9zdGJ5bmFtZShtX2NhbGxl ck1hY2hpbmVOYW1lLnRvTGF0aW4xKCkpOwotLSAgICBpZiAoaGUpIHsKLS0gICAgICBjaGFyICpp cEFkZHJlc3MgPSBpbmV0X250b2EoKihzdHJ1Y3QgaW5fYWRkciAqKSooaGUtPmhfYWRkcl9saXN0 KSk7Ci0rICAgIGludCBzdWMgPSBnZXRhZGRyaW5mbyhtX2NhbGxlck1hY2hpbmVOYW1lLnRvTGF0 aW4xKCksIE5VTEwsICZoaW50cywgJmFpKTsKLSsgICAgaWYgKHN1YyA9PSAwKSB7Ci0rICAgICAg c3RydWN0IHNvY2thZGRyX2luICphaV9hZGRyOwotKyAgICAgIGFpX2FkZHIgPSAoc3RydWN0IHNv Y2thZGRyX2luICopYWktPmFpX2FkZHI7Ci0rCi0rICAgICAgY2hhciAqaXBBZGRyZXNzID0gaW5l dF9udG9hKChzdHJ1Y3QgaW5fYWRkcilhaV9hZGRyLT5zaW5fYWRkcik7Ci0gICAgICAgY21kbGlu ZSArPSAiIC10bXNnICIgKyBRU3RyaW5nOjpmcm9tVXRmOChpcEFkZHJlc3MpOwotICAgICB9Ci0g ICB9Ci1kaWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm0vdHNlcnZlcnBy b3h5LmNwcCBiL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3RzZXJ2ZXJwcm94eS5jcHAK LWluZGV4IDAzNTI5NmMxLi4yZWU0YmE5NSAxMDA2NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvdG9v bnpmYXJtL3RmYXJtL3RzZXJ2ZXJwcm94eS5jcHAKLSsrKyBiL3Rvb256L3NvdXJjZXMvdG9vbnpm YXJtL3RmYXJtL3RzZXJ2ZXJwcm94eS5jcHAKLUBAIC0yOCwxNiArMjgsMjMgQEAgZW51bSB7Ci0g Ly89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotIAotIGludCBhc2tTZXJ2ZXIoc3RyaW5nIGhvc3ROYW1l LCBpbnQgcG9ydElkLCBzdHJpbmcgcXVlc3Rpb24sIHN0cmluZyAmYW5zd2VyKSB7Ci0tICBzdHJ1 Y3QgaG9zdGVudCAqaGUgPSBnZXRob3N0YnluYW1lKGhvc3ROYW1lLmNfc3RyKCkpOwotLSAgaWYg KCFoZSkgcmV0dXJuIEhPU1RfVU5LTk9XTjsKLS0KLSsgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBO VUxMOwotKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwotKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6 ZW9mKHN0cnVjdCBhZGRyaW5mbykpOwotKyAgaGludHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKLSsK LSsgIGludCBzdWMgPSBnZXRhZGRyaW5mbyhob3N0TmFtZS5jX3N0cigpLCBOVUxMLCAmaGludHMs ICZhaSk7Ci0rICBpZiAoc3VjICE9IDApIHJldHVybiBIT1NUX1VOS05PV047Ci0rIAotICAgaW50 IHNvY2tldF9pZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7Ci0tCi0rICBzdHJ1 Y3Qgc29ja2FkZHJfaW4gKmFpX2FkZHI7Ci0rICBhaV9hZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9p biAqKWFpLT5haV9hZGRyOwotKyAKLSAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyOwotICAgbWVt c2V0KChjaGFyICopJmFkZHIsIDAsIHNpemVvZiBhZGRyKTsKLS0gIGFkZHIuc2luX2ZhbWlseSA9 IGhlLT5oX2FkZHJ0eXBlOwotLSAgYWRkci5zaW5fcG9ydCAgID0gaHRvbnMocG9ydElkKTsKLS0g IG1lbWNweSgoY2hhciAqKSYoYWRkci5zaW5fYWRkciksIGhlLT5oX2FkZHIsIGhlLT5oX2xlbmd0 aCk7Ci0rICBhZGRyLnNpbl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFtaWx5OwotKyAgYWRkci5z aW5fcG9ydCAgID0gaHRvbnMocG9ydCk7Ci0rICBhZGRyLnNpbl9hZGRyID0gYWlfYWRkci0+c2lu X2FkZHI7Ci0gCi0gICBpbnQgcmNDb25uZWN0ID0gY29ubmVjdChzb2NrZXRfaWQsIChzdHJ1Y3Qg c29ja2FkZHIgKikmKGFkZHIpLCBzaXplb2YgYWRkcik7Ci0gICBpZiAocmNDb25uZWN0ID09IFNP Q0tFVF9FUlJPUikgcmV0dXJuIENPTk5FQ1RJT05fRkFJTEVEOwotQEAgLTgyLDE2ICs4OSwyMyBA QCBUU2VydmVyUHJveHk6On5UU2VydmVyUHJveHkoKSB7Ci0gLy8tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQotIAotIGJvb2wgVFNlcnZlclByb3h5Ojp0ZXN0Q29ubmVjdGlvbigpIGNvbnN0IHsKLS0gIHN0 cnVjdCBob3N0ZW50ICpoZSA9IGdldGhvc3RieW5hbWUobV9ob3N0TmFtZS5jX3N0cigpKTsKLS0g IGlmICghaGUpIHJldHVybiBmYWxzZTsKLS0KLSsgIGFkZHJpbmZvICphaSA9IE5VTEw7Ci0rICBz dHJ1Y3QgYWRkcmluZm8gaGludHM7Ci0rICBtZW1zZXQoJmhpbnRzLCAwLCBzaXplb2Yoc3RydWN0 IGFkZHJpbmZvKSk7Ci0rICBoaW50cy5haV9mYW1pbHkgPSBBRl9JTkVUOwotKwotKyAgaW50IHN1 YyA9IGdldGFkZHJpbmZvKG1faG9zdE5hbWUuY19zdHIoKSwgTlVMTCwgJmhpbnRzLCAmYWkpOwot KyAgaWYgKHN1YyAhPSAwKSByZXR1cm4gZmFsc2U7Ci0rIAotICAgaW50IHNvY2tldF9pZCA9IHNv Y2tldChBRl9JTkVULCBTT0NLX1NUUkVBTSwgMCk7Ci0rICBzdHJ1Y3Qgc29ja2FkZHJfaW4gKmFp X2FkZHI7Ci0rICBhaV9hZGRyID0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKWFpLT5haV9hZGRyOwot IAotICAgc3RydWN0IHNvY2thZGRyX2luIGFkZHI7Ci0gICBtZW1zZXQoKGNoYXIgKikmYWRkciwg MCwgc2l6ZW9mIGFkZHIpOwotLSAgYWRkci5zaW5fZmFtaWx5ID0gaGUtPmhfYWRkcnR5cGU7Ci0t ICBhZGRyLnNpbl9wb3J0ICAgPSBodG9ucyhtX3BvcnRJZCk7Ci0tICBtZW1jcHkoKGNoYXIgKikm KGFkZHIuc2luX2FkZHIpLCBoZS0+aF9hZGRyLCBoZS0+aF9sZW5ndGgpOwotKyAgYWRkci5zaW5f ZmFtaWx5ID0gYWlfYWRkci0+c2luX2ZhbWlseTsKLSsgIGFkZHIuc2luX3BvcnQgICA9IGh0b25z KHBvcnQpOwotKyAgYWRkci5zaW5fYWRkciA9IGFpX2FkZHItPnNpbl9hZGRyOwotIAotICAgYm9v bCByZXQgPSAoU09DS0VUX0VSUk9SICE9Ci0gICAgICAgICAgICAgICBjb25uZWN0KHNvY2tldF9p ZCwgKHN0cnVjdCBzb2NrYWRkciAqKSYoYWRkciksIHNpemVvZiBhZGRyKSk7Ci1kaWZmIC0tZ2l0 IGEvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm0vdHRjcGlwY2xpZW50LmNwcCBiL3Rvb256 L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0Y3BpcGNsaWVudC5jcHAKLWluZGV4IGY4YTc2NDUw Li44OTY3MWRlOCAxMDA2NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0 Y3BpcGNsaWVudC5jcHAKLSsrKyBiL3Rvb256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtL3R0Y3Bp cGNsaWVudC5jcHAKLUBAIC00OSw4ICs0OSwxMyBAQCBpbnQgVFRjcElwQ2xpZW50Ojpjb25uZWN0 KGNvbnN0IFFTdHJpbmcgJmhvc3ROYW1lLCBjb25zdCBRU3RyaW5nICZhZGRyU3RyLAotICAgICAg IHVuc2lnbmVkIGxvbmcgaXBBZGRyID0gaW5ldF9hZGRyKGFkZHJTdHIuY19zdHIoKSk7Ci0gICAg IH0KLSAgICovCi0tICBzdHJ1Y3QgaG9zdGVudCAqaGUgPSBnZXRob3N0YnluYW1lKGhvc3ROYW1l LnRvVXRmOCgpKTsKLS0gIGlmICghaGUpIHsKLSsgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxM OwotKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwotKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9m KHN0cnVjdCBhZGRyaW5mbykpOwotKyAgaGludHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKLSsKLSsg IGludCBzdWMgPSBnZXRhZGRyaW5mbyhob3N0TmFtZS50b1V0ZjgoKSwgTlVMTCwgJmhpbnRzLCAm YWkpOwotKyAgaWYgKHN1YyAhPSAwKSB7Ci0gI2lmZGVmIF9XSU4zMgotICAgICBpbnQgZXJyID0g V1NBR2V0TGFzdEVycm9yKCk7Ci0gI2Vsc2UKLUBAIC01OSwxMiArNjQsMTQgQEAgaW50IFRUY3BJ cENsaWVudDo6Y29ubmVjdChjb25zdCBRU3RyaW5nICZob3N0TmFtZSwgY29uc3QgUVN0cmluZyAm YWRkclN0ciwKLSAgIH0KLSAKLSAgIGludCBzb2NrZXRfaWQgPSBzb2NrZXQoQUZfSU5FVCwgU09D S19TVFJFQU0sIDApOwotKyAgc3RydWN0IHNvY2thZGRyX2luICphaV9hZGRyOwotKyAgYWlfYWRk ciA9IChzdHJ1Y3Qgc29ja2FkZHJfaW4gKilhaS0+YWlfYWRkcjsKLSAKLSAgIHN0cnVjdCBzb2Nr YWRkcl9pbiBhZGRyOwotICAgbWVtc2V0KChjaGFyICopJmFkZHIsIDAsIHNpemVvZiBhZGRyKTsK LS0gIGFkZHIuc2luX2ZhbWlseSA9IGhlLT5oX2FkZHJ0eXBlOwotKyAgYWRkci5zaW5fZmFtaWx5 ID0gYWlfYWRkci0+c2luX2ZhbWlseTsKLSAgIGFkZHIuc2luX3BvcnQgICA9IGh0b25zKHBvcnQp OwotLSAgbWVtY3B5KChjaGFyICopJihhZGRyLnNpbl9hZGRyKSwgaGUtPmhfYWRkciwgaGUtPmhf bGVuZ3RoKTsKLSsgIGFkZHIuc2luX2FkZHIgPSBhaV9hZGRyLT5zaW5fYWRkcjsKLSAKLSAgIGlu dCByY0Nvbm5lY3QgPSA6OmNvbm5lY3Qoc29ja2V0X2lkLCAoc3RydWN0IHNvY2thZGRyICopJihh ZGRyKSwgc2l6ZW9mIGFkZHIpOwotICAgaWYgKHJjQ29ubmVjdCA9PSBTT0NLRVRfRVJST1IpIHsK LWRpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybS90dGNwaXBzZXJ2ZXIu Y3BwIGIvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm0vdHRjcGlwc2VydmVyLmNwcAotaW5k ZXggYWM2ZGY2ZWUuLmQ3NjI0MmY2IDEwMDY0NAotLS0tIGEvdG9vbnovc291cmNlcy90b29uemZh cm0vdGZhcm0vdHRjcGlwc2VydmVyLmNwcAotKysrIGIvdG9vbnovc291cmNlcy90b29uemZhcm0v dGZhcm0vdHRjcGlwc2VydmVyLmNwcAotQEAgLTQ0NywxNSArNDQ3LDIxIEBAIHZvaWQgVFRjcElw U2VydmVyOjpzZW5kUmVwbHkoaW50IHNvY2tldCwgY29uc3QgUVN0cmluZyAmcmVwbHkpIHsKLSBp bnQgZXN0YWJsaXNoKHVuc2lnbmVkIHNob3J0IHBvcnRudW0sIGludCAmc29jaykgewotICAgY2hh ciBteW5hbWVbTUFYSE9TVE5BTUUgKyAxXTsKLSAgIHN0cnVjdCBzb2NrYWRkcl9pbiBzYTsKLS0g IHN0cnVjdCBob3N0ZW50ICpocDsKLSsgIHN0cnVjdCBhZGRyaW5mbyAqYWkgPSBOVUxMOwotKyAg c3RydWN0IGFkZHJpbmZvIGhpbnRzOwotKyAgbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKHN0cnVj dCBhZGRyaW5mbykpOwotKyAgaGludHMuYWlfZmFtaWx5ID0gQUZfSU5FVDsKLSAKLSAgIG1lbXNl dCgmc2EsIDAsIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW4pKTsgLyogY2xlYXIgb3VyIGFkZHJl c3MgKi8KLSAgIGdldGhvc3RuYW1lKG15bmFtZSwgTUFYSE9TVE5BTUUpOyAgICAgICAgICAgLyog d2hvIGFyZSB3ZT8gKi8KLS0gIGhwID0gZ2V0aG9zdGJ5bmFtZShteW5hbWUpOyAgICAgICAgICAg ICAgICAgLyogZ2V0IG91ciBhZGRyZXNzIGluZm8gKi8KLS0gIGlmIChocCA9PSBOVUxMKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLyogd2UgZG9uJ3QgZXhpc3QgIT8gKi8KLSsgIGludCBz dWMgPSBnZXRhZGRyaW5mbyhteW5hbWUsIE5VTEwsICZoaW50cywgJmFpKTsgLyogZ2V0IG91ciBh ZGRyZXNzIGluZm8gKi8KLSsgIGlmIChzdWMgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIHdlIGRvbid0IGV4aXN0ICE/ICovCi0gICAgIHJldHVybiAoLTEpOwotIAotLSAgc2Eu c2luX2ZhbWlseSA9IGhwLT5oX2FkZHJ0eXBlOyAvKiB0aGlzIGlzIG91ciBob3N0IGFkZHJlc3Mg Ki8KLSsgIHN0cnVjdCBzb2NrYWRkcl9pbiAqYWlfYWRkcjsKLSsgIGFpX2FkZHIgPSAoc3RydWN0 IHNvY2thZGRyX2luICopYWktPmFpX2FkZHI7Ci0rCi0rICBzYS5zaW5fZmFtaWx5ID0gYWlfYWRk ci0+c2luX2ZhbWlseTsgLyogdGhpcyBpcyBvdXIgaG9zdCBhZGRyZXNzICovCi0gICBzYS5zaW5f cG9ydCAgID0gaHRvbnMocG9ydG51bSk7IC8qIHRoaXMgaXMgb3VyIHBvcnQgbnVtYmVyICovCi0g ICBpZiAoKHNvY2sgPSBzb2NrZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIDApKSA8IDApIC8qIGNy ZWF0ZSBzb2NrZXQgKi8KLSAgIHsKLWRpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3Rvb256ZmFy bS90ZmFybWNvbnRyb2xsZXIvdGZhcm1jb250cm9sbGVyX3NodXRkb3duLmNwcCBiL3Rvb256L3Nv dXJjZXMvdG9vbnpmYXJtL3RmYXJtY29udHJvbGxlci90ZmFybWNvbnRyb2xsZXJfc2h1dGRvd24u Y3BwCi1pbmRleCAxZTcwMDVjYy4uMzIwODdkMTggMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2Vz L3Rvb256ZmFybS90ZmFybWNvbnRyb2xsZXIvdGZhcm1jb250cm9sbGVyX3NodXRkb3duLmNwcAot KysrIGIvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm1jb250cm9sbGVyL3RmYXJtY29udHJv bGxlcl9zaHV0ZG93bi5jcHAKLUBAIC0xNiwyMSArMTYsMjggQEAKLSAKLSBpbnQgY2FsbF9zb2Nr ZXQoY2hhciAqaG9zdG5hbWUsIHVuc2lnbmVkIHNob3J0IHBvcnRudW0pIHsKLSAgIHN0cnVjdCBz b2NrYWRkcl9pbiBzYTsKLS0gIHN0cnVjdCBob3N0ZW50ICpocDsKLSsgIHN0cnVjdCBhZGRyaW5m byAqYWkgPSBOVUxMOwotKyAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwotKyAgbWVtc2V0KCZoaW50 cywgMCwgc2l6ZW9mKHN0cnVjdCBhZGRyaW5mbykpOwotKyAgaGludHMuYWlfZmFtaWx5ID0gQUZf SU5FVDsKLSAgIGludCBzOwotIAotLSAgaWYgKChocCA9IGdldGhvc3RieW5hbWUoaG9zdG5hbWUp KSA9PSBOVUxMKSAvKiBkbyB3ZSBrbm93IHRoZSBob3N0J3MgKi8KLSsgIGludCBzdWMgPSBnZXRh ZGRyaW5mbyhob3N0bmFtZSwgTlVMTCwgJmhpbnRzLCAmYWkpOwotKyAgaWYgKHN1YyAhPSAwKSAv KiBkbyB3ZSBrbm93IHRoZSBob3N0J3MgKi8KLSAgIHsKLSAgICAgZXJybm8gPSBFQ09OTlJFRlVT RUQ7IC8qIGFkZHJlc3M/ICovCi0gICAgIHJldHVybiAoLTEpOyAgICAgICAgICAvKiBubyAqLwot ICAgfQotIAotKyAgc3RydWN0IHNvY2thZGRyX2luICphaV9hZGRyOwotKyAgYWlfYWRkciA9IChz dHJ1Y3Qgc29ja2FkZHJfaW4gKilhaS0+YWlfYWRkcjsKLSsKLSAgIG1lbXNldCgmc2EsIDAsIHNp emVvZihzYSkpOwotLSAgbWVtY3B5KChjaGFyICopJnNhLnNpbl9hZGRyLCBocC0+aF9hZGRyLCBo cC0+aF9sZW5ndGgpOyAvKiBzZXQgYWRkcmVzcyAqLwotLSAgc2Euc2luX2ZhbWlseSA9IGhwLT5o X2FkZHJ0eXBlOwotKyAgc2Euc2luX2FkZHIgPSBhaV9hZGRyLT5zaW5fYWRkcjsKLSsgIHNhLnNp bl9mYW1pbHkgPSBhaV9hZGRyLT5zaW5fZmFtaWx5OwotICAgc2Euc2luX3BvcnQgICA9IGh0b25z KCh1X3Nob3J0KXBvcnRudW0pOwotIAotLSAgaWYgKChzID0gc29ja2V0KGhwLT5oX2FkZHJ0eXBl LCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkgLyogZ2V0IHNvY2tldCAqLwotKyAgaWYgKChzID0gc29j a2V0KGFpX2FkZHItPnNpbl9mYW1pbHksIFNPQ0tfU1RSRUFNLCAwKSkgPCAwKSAvKiBnZXQgc29j a2V0ICovCi0gICAgIHJldHVybiAoLTEpOwotICAgaWYgKGNvbm5lY3QocywgKHN0cnVjdCBzb2Nr YWRkciAqKSZzYSwgc2l6ZW9mIHNhKSA8IDApIC8qIGNvbm5lY3QgKi8KLSAgIHsKLWRpZmYgLS1n aXQgYS90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybXNlcnZlci90ZmFybXNlcnZlcl9zaHV0 ZG93bi5jcHAgYi90b29uei9zb3VyY2VzL3Rvb256ZmFybS90ZmFybXNlcnZlci90ZmFybXNlcnZl cl9zaHV0ZG93bi5jcHAKLWluZGV4IGEzZmY2ZmM2Li43ZDIyYzc2MCAxMDA2NDQKLS0tLSBhL3Rv b256L3NvdXJjZXMvdG9vbnpmYXJtL3RmYXJtc2VydmVyL3RmYXJtc2VydmVyX3NodXRkb3duLmNw cAotKysrIGIvdG9vbnovc291cmNlcy90b29uemZhcm0vdGZhcm1zZXJ2ZXIvdGZhcm1zZXJ2ZXJf c2h1dGRvd24uY3BwCi1AQCAtMTYsMjEgKzE2LDI4IEBACi0gCi0gaW50IGNhbGxfc29ja2V0KGNo YXIgKmhvc3RuYW1lLCB1bnNpZ25lZCBzaG9ydCBwb3J0bnVtKSB7Ci0gICBzdHJ1Y3Qgc29ja2Fk ZHJfaW4gc2E7Ci0tICBzdHJ1Y3QgaG9zdGVudCAqaHA7Ci0rICBzdHJ1Y3QgYWRkcmluZm8gKmFp ID0gTlVMTDsKLSsgIHN0cnVjdCBhZGRyaW5mbyBoaW50czsKLSsgIG1lbXNldCgmaGludHMsIDAs IHNpemVvZihzdHJ1Y3QgYWRkcmluZm8pKTsKLSsgIGhpbnRzLmFpX2ZhbWlseSA9IEFGX0lORVQ7 Ci0gICBpbnQgczsKLSAKLS0gIGlmICgoaHAgPSBnZXRob3N0YnluYW1lKGhvc3RuYW1lKSkgPT0g TlVMTCkgLyogZG8gd2Uga25vdyB0aGUgaG9zdCdzICovCi0rICBpbnQgc3VjID0gZ2V0YWRkcmlu Zm8oaG9zdG5hbWUsIE5VTEwsICZoaW50cywgJmFpKTsKLSsgIGlmIChzdWMgIT0gMCkgLyogZG8g d2Uga25vdyB0aGUgaG9zdCdzICovCi0gICB7Ci0gICAgIGVycm5vID0gRUNPTk5SRUZVU0VEOyAv KiBhZGRyZXNzPyAqLwotICAgICByZXR1cm4gKC0xKTsgICAgICAgICAgLyogbm8gKi8KLSAgIH0K LSAKLSsgIHN0cnVjdCBzb2NrYWRkcl9pbiAqYWlfYWRkcjsKLSsgIGFpX2FkZHIgPSAoc3RydWN0 IHNvY2thZGRyX2luICopYWktPmFpX2FkZHI7Ci0rCi0gICBtZW1zZXQoJnNhLCAwLCBzaXplb2Yo c2EpKTsKLS0gIG1lbWNweSgoY2hhciAqKSZzYS5zaW5fYWRkciwgaHAtPmhfYWRkciwgaHAtPmhf bGVuZ3RoKTsgLyogc2V0IGFkZHJlc3MgKi8KLS0gIHNhLnNpbl9mYW1pbHkgPSBocC0+aF9hZGRy dHlwZTsKLSsgIHNhLnNpbl9hZGRyID0gYWlfYWRkci0+c2luX2FkZHI7Ci0rICBzYS5zaW5fZmFt aWx5ID0gYWlfYWRkci0+c2luX2ZhbWlseTsKLSAgIHNhLnNpbl9wb3J0ICAgPSBodG9ucygodV9z aG9ydClwb3J0bnVtKTsKLSAKLS0gIGlmICgocyA9IHNvY2tldChocC0+aF9hZGRydHlwZSwgU09D S19TVFJFQU0sIDApKSA8IDApIC8qIGdldCBzb2NrZXQgKi8KLSsgIGlmICgocyA9IHNvY2tldChh aV9hZGRyLT5zaW5fZmFtaWx5LCBTT0NLX1NUUkVBTSwgMCkpIDwgMCkgLyogZ2V0IHNvY2tldCAq LwotICAgICByZXR1cm4gKC0xKTsKLSAgIGlmIChjb25uZWN0KHMsIChzdHJ1Y3Qgc29ja2FkZHIg Kikmc2EsIHNpemVvZiBzYSkgPCAwKSAvKiBjb25uZWN0ICovCi0gICB7CgpkaWZmIC0tZ2l0IGEv b3BlbnRvb256LTEuNy4wLWluc3RhbGwtcGF0aC1maXgucGF0Y2ggYi9vcGVudG9vbnotMS43LjAt aW5zdGFsbC1wYXRoLWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzI4 Njg5MC4uMDAwMDAwMAotLS0gYS9vcGVudG9vbnotMS43LjAtaW5zdGFsbC1wYXRoLWZpeC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLWRpZmYgLS1naXQgYS90b29uei9zb3Vy Y2VzL3Rvb256L0NNYWtlTGlzdHMudHh0IGIvdG9vbnovc291cmNlcy90b29uei9DTWFrZUxpc3Rz LnR4dAotaW5kZXggZDNhZWU0OTEuLmRkZTY5MDc5IDEwMDY0NAotLS0tIGEvdG9vbnovc291cmNl cy90b29uei9DTWFrZUxpc3RzLnR4dAotKysrIGIvdG9vbnovc291cmNlcy90b29uei9DTWFrZUxp c3RzLnR4dAotQEAgLTY2MCwyMSArNjYwLDIwIEBAIGVsc2VpZihCVUlMRF9FTlZfVU5JWExJS0Ug QU5EIE5PVCBCVUlMRF9UQVJHRVRfV0lOKQotICAgICBpbnN0YWxsKAotICAgICAgICAgVEFSR0VU UwotICAgICAgICAgICAgIE9wZW5Ub29uegotLSAgICAgICAgREVTVElOQVRJT04gYmluCi0rICAg ICAgICBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4KLSAgICAgKQotIAot ICAgICAjIFNoZWxsIHNjcmlwdCB0aGF0IGNvcGllcyBmaWxlcyB0byB0aGUgaG9tZSBkaXJlY3Rv cnkgYXMgbmVlZGVkCi0gICAgICMgYW5kIHNldHMgdGhlIGxpYnJhcnkgcHJlbG9hZCBwYXRoLgot ICAgICBmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vYmluL29wZW50b29uegotICIjIS9i aW4vc2gKLS1PUEVOVE9PTlpfQkFTRT1cJChkaXJuYW1lIFwiXCQwXCIpLy4uCi0gCi0gaWYgWyAh IC1kIFwkSE9NRS8uY29uZmlnL09wZW5Ub29ueiBdOyB0aGVuCi0gICAgIG1rZGlyIC1wIFwkSE9N RS8uY29uZmlnL09wZW5Ub29uegotIGZpCi0gCi0gaWYgWyAhIC1kIFwkSE9NRS8uY29uZmlnL09w ZW5Ub29uei9zdHVmZiBdOyB0aGVuCi0tICAgIGNwIC1yIFwkT1BFTlRPT05aX0JBU0Uvc2hhcmUv b3BlbnRvb256L3N0dWZmIFwkSE9NRS8uY29uZmlnL09wZW5Ub29uegotKyAgICBjcCAtciAke1NI QVJFX0lOU1RBTExfUFJFRklYfS9vcGVudG9vbnovc3R1ZmYgXCRIT01FLy5jb25maWcvT3BlblRv b256Ci0gZmkKLSAKLSBpZiBbICEgLWQgXCRIT01FLy5jb25maWcvT3BlblRvb256L3N0dWZmL3By b2plY3RzL2xpYnJhcnkgXTsgdGhlbgotQEAgLTcwMSw5ICs3MDAsOSBAQCBUT09OWlNUVURJT1BB TEVUVEU9XCJcJEhPTUUvLmNvbmZpZy9PcGVuVG9vbnovc3R1ZmYvc3R1ZGlvcGFsZXR0ZVwiCi0g RU9GCi0gZmkKLSAKLS1leHBvcnQgJHtQUkVMT0FEX1ZBUklBQkxFfT1cJHtPUEVOVE9PTlpfQkFT RX0vbGliL29wZW50b29uejpcJHske1BSRUxPQURfVkFSSUFCTEV9fQotK2V4cG9ydCAke1BSRUxP QURfVkFSSUFCTEV9PSR7TElCX0lOU1RBTExfRElSfS9vcGVudG9vbno6XCR7JHtQUkVMT0FEX1ZB UklBQkxFfX0KLSAKLS1leGVjIFwkT1BFTlRPT05aX0JBU0UvYmluL09wZW5Ub29ueiBcIlwkQFwi Ci0rZXhlYyAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9iaW4vT3BlblRvb256IFwiXCRAXCIKLSAi KQotICAgICAjIG9ubHkgbmVlZGVkIGZvciBleGVjdXRpbmcgd2l0aG91dCBpbnN0YWxsaW5nCi0g ICAgIGV4ZWN1dGVfcHJvY2VzcyhDT01NQU5EIGNobW9kICt4ICR7Q01BS0VfQklOQVJZX0RJUn0v YmluL29wZW50b29ueikKLUBAIC03MTYsNyArNzE1LDcgQEAgZXhlYyBcJE9QRU5UT09OWl9CQVNF L2Jpbi9PcGVuVG9vbnogXCJcJEBcIgotICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOnRjb252 ZXJ0ZXI+IgotICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOnRmYXJtY29udHJvbGxlcj4iCi0g ICAgICAgICAgICAgIiQ8VEFSR0VUX0ZJTEU6dGZhcm1zZXJ2ZXI+IgotLSAgICAgICAgREVTVElO QVRJT04gYmluCi0rICAgICAgICBERVNUSU5BVElPTiAke0NNQUtFX0lOU1RBTExfUFJFRklYfS9i aW4KLSAgICAgKQotIAotICAgICBpZihMWk9EUklWRVJfRk9VTkQpCi1AQCAtNzI0LDcgKzcyMyw3 IEBAIGV4ZWMgXCRPUEVOVE9PTlpfQkFTRS9iaW4vT3BlblRvb256IFwiXCRAXCIKLSAgICAgICAg ICAgICBQUk9HUkFNUwotICAgICAgICAgICAgICAgICAiJDxUQVJHRVRfRklMRTpsem9jb21wcmVz cz4iCi0gICAgICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOmx6b2RlY29tcHJlc3M+IgotLSAg ICAgICAgICAgIERFU1RJTkFUSU9OIGJpbgotKyAgICAgICAgICAgIERFU1RJTkFUSU9OICR7Q01B S0VfSU5TVEFMTF9QUkVGSVh9L2JpbgotICAgICAgICAgKQotICAgICBlbmRpZigpCi0gCi1AQCAt NzQxLDEzICs3NDAsMTMgQEAgZXhlYyBcJE9QRU5UT09OWl9CQVNFL2Jpbi9PcGVuVG9vbnogXCJc JEBcIgotICAgICAgICAgICAgICIkPFRBUkdFVF9GSUxFOnRuenRvb2xzPiIKLSAgICAgICAgICAg ICAiJDxUQVJHRVRfRklMRTp0bnpzdGRmeD4iCi0gICAgICAgICAgICAgIiQ8VEFSR0VUX0ZJTEU6 dGZhcm0+IgotLSAgICAgICAgREVTVElOQVRJT04gbGliL29wZW50b29uegotKyAgICAgICAgREVT VElOQVRJT04gJHtMSUJfSU5TVEFMTF9ESVJ9L29wZW50b29uegotICAgICApCi0gCi0gICAgIGlu c3RhbGwoCi0gICAgICAgICBESVJFQ1RPUlkKLSAgICAgICAgICAgICAke0NNQUtFX1NPVVJDRV9E SVJ9Ly4uLy4uL3N0dWZmCi0tICAgICAgICBERVNUSU5BVElPTiBzaGFyZS9vcGVudG9vbnoKLSsg ICAgICAgIERFU1RJTkFUSU9OICR7U0hBUkVfSU5TVEFMTF9QUkVGSVh9L29wZW50b29uegotICAg ICApCi0gCi0gZW5kaWYoKQoKZGlmZiAtLWdpdCBhL29wZW50b29uei0xLjcuMC10b29uenJsZS1y bS5wYXRjaCBiL29wZW50b29uei0xLjcuMC10b29uenJsZS1ybS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggYjZmYjA1Zi4uMDAwMDAwMAotLS0gYS9vcGVudG9vbnotMS43LjAt dG9vbnpybGUtcm0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi1kaWZmIC0t Z2l0IGEvdG9vbnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dCBiL3Rvb256L3NvdXJjZXMv aW1hZ2UvQ01ha2VMaXN0cy50eHQKLWluZGV4IDg3OTUzY2VkLi5jY2RhOTFkZSAxMDA2NDQKLS0t LSBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvQ01ha2VMaXN0cy50eHQKLSsrKyBiL3Rvb256L3NvdXJj ZXMvaW1hZ2UvQ01ha2VMaXN0cy50eHQKLUBAIC03Miw3ICs3Miw4IEBAIGlmKE5PVCBCVUlMRF9U QVJHRVRfQlNEKQotICAgICAgICAgdGlmL3RpaW9fdGlmLmNwcAotICAgICAgICAgdHpwL3RpaW9f cGx0LmNwcAotICAgICAgICAgdHpwL3RpaW9fdHpwLmNwcAotLSAgICAgICAgdHpwL3Rvb256cmxl LmNwcAotKyAgICAgICAgIyBSZW1vdmVkIHNpbmNlIGl0IHJlcXVpcmVzIGxpYnRpZmYgaW50ZXJu YWwgQVBJIGFjY2Vzcy4KLSsgICAgICAgICMgdHpwL3Rvb256cmxlLmNwcAotICAgICAgICAgdHpw L2F2bC5jCi0gICAgICkKLSBlbmRpZigpCgpkaWZmIC0tZ2l0IGEvb3BlbnRvb256LTEuNy4wLXR6 cC10aWZmaW9wLWZpeC5wYXRjaCBiL29wZW50b29uei0xLjcuMC10enAtdGlmZmlvcC1maXgucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIzM2MzZTEuLjAwMDAwMDAKLS0tIGEv b3BlbnRvb256LTEuNy4wLXR6cC10aWZmaW9wLWZpeC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDMzICswLDAgQEAKLWRpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL2ltYWdlL3R6cC90aWlvX3R6 cC5jcHAgYi90b29uei9zb3VyY2VzL2ltYWdlL3R6cC90aWlvX3R6cC5jcHAKLWluZGV4IDA4MGY5 YmRmLi5hMjJmOWQwZiAxMDA2NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL3RpaW9f dHpwLmNwcAotKysrIGIvdG9vbnovc291cmNlcy9pbWFnZS90enAvdGlpb190enAuY3BwCi1AQCAt Nyw3ICs3LDcgQEAKLSAjaW5jbHVkZSAidGV4Y2VwdGlvbi5oIgotIAotICNpbmNsdWRlICJ0aWZm aW8uaCIKLS0jaW5jbHVkZSAidGlmZmlvcC5oIgotKy8vICNpbmNsdWRlICJ0aWZmaW9wLmgiCi0g Ly8gI2luY2x1ZGUgInRzcGVjaWFsc3R5bGVpZC5oIgotICNpbmNsdWRlIDxzZXQ+Ci0gCi1AQCAt MjI1LDggKzIyNSw3IEBAIHZvaWQgVHpwUmVhZGVyOjpyZWFkTGluZShjaGFyICpidWZmZXIsIGlu dCB4MCwgaW50IHgxLCBpbnQgc2hyaW5rKSB7Ci0gICAgICAgc3RhdGljIHN0ZDo6c2V0PGludD4g dGFibGU7Ci0gCi0gICAgICAgLy8vIHBlciBsZSB0enAgY2hlIHZlbmdvbm8gZGEgSXJpeAotLSAg ICAgIGJvb2wgYmlnRW5kaWFuID0KLS0gICAgICAgICAgKG1fdGlmZi0+dGlmX2hlYWRlci5jbGFz c2ljLnRpZmZfbWFnaWMgPT0gVElGRl9CSUdFTkRJQU4pOwotKyAgICAgIGJvb2wgYmlnRW5kaWFu ID0gVElGRklzQmlnRW5kaWFuKG1fdGlmZik7Ci0gCi0gICAgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBtX2x4OyBpKyspIHsKLSAgICAgICAgIHVuc2lnbmVkIHNob3J0IGluUGl4ID0gbGluZVtpXTsK LUBAIC0yNTUsOCArMjU0LDcgQEAgdm9pZCBUenBSZWFkZXI6OnJlYWRMaW5lKGNoYXIgKmJ1ZmZl ciwgaW50IHgwLCBpbnQgeDEsIGludCBzaHJpbmspIHsKLSAgICAgICBzdGF0aWMgc3RkOjpzZXQ8 aW50PiB0YWJsZTsKLSAKLSAgICAgICAvLy8gcGVyIGxlIHR6cCBjaGUgdmVuZ29ubyBkYSBJcml4 Ci0tICAgICAgYm9vbCBiaWdFbmRpYW4gPQotLSAgICAgICAgICAobV90aWZmLT50aWZfaGVhZGVy LmNsYXNzaWMudGlmZl9tYWdpYyA9PSBUSUZGX0JJR0VORElBTik7Ci0rICAgICAgYm9vbCBiaWdF bmRpYW4gPSBUSUZGSXNCaWdFbmRpYW4obV90aWZmKTsKLSAKLSAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IG1fbHg7IGkrKykgewotICAgICAgICAgdW5zaWduZWQgc2hvcnQgaW5QaXggPSBsaW5l W2ldOwoKZGlmZiAtLWdpdCBhL29wZW50b29uei0xLjcuMS1hcHBkYXRhLnBhdGNoIGIvb3BlbnRv b256LTEuNy4xLWFwcGRhdGEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQz YzMxMjIuLjAwMDAwMDAKLS0tIGEvb3BlbnRvb256LTEuNy4xLWFwcGRhdGEucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1kaWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy94ZGct ZGF0YS9pby5naXRodWIuT3BlblRvb256LmFwcGRhdGEueG1sIGIvdG9vbnovc291cmNlcy94ZGct ZGF0YS9pby5naXRodWIuT3BlblRvb256LmFwcGRhdGEueG1sCi1pbmRleCA0ZjYzMWE3ZS4uN2Jm YTFlMzkgMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2VzL3hkZy1kYXRhL2lvLmdpdGh1Yi5PcGVu VG9vbnouYXBwZGF0YS54bWwKLSsrKyBiL3Rvb256L3NvdXJjZXMveGRnLWRhdGEvaW8uZ2l0aHVi Lk9wZW5Ub29uei5hcHBkYXRhLnhtbAotQEAgLTE4LDYgKzE4LDEwIEBACi0gICAgICAgRHdhbmdv IGxhdW5jaGVkIHRoZSBPcGVuVG9vbnogcHJvamVjdCBpbiBjb29wZXJhdGlvbgotICAgICAgIHdp dGggRGlnaXRhbCBWaWRlbyBhbmQgU3R1ZGlvIEdoaWJsaS4KLSAgICAgPC9wPgotKyAgICA8cD4K LSsgICAgICBUaGlzIHZlcnNpb24gd2FzIHBhY2thZ2VkIGZvciBGZWRvcmEgdXNpbmcgdGhlIGxh dGVzdCBzdGFibGUgbGlicmFyaWVzCi0rICAgICAgYXZhaWxhYmxlIGluIHRoZSBkaXN0cmlidXRp b24sIGluIGV4Y2hhbmdlIHNvbWUgZmVhdHVyZXMgd2VyZSBkaXNhYmxlZC4KLSsgICAgPC9wPgot ICAgPC9kZXNjcmlwdGlvbj4KLSAgIDx1cmwgdHlwZT0iaG9tZXBhZ2UiPmh0dHBzOi8vb3BlbnRv b256LmdpdGh1Yi5pby9lLzwvdXJsPgotICAgPHVybCB0eXBlPSJidWd0cmFja2VyIj5odHRwczov L2dpdGh1Yi5jb20vb3BlbnRvb256L29wZW50b29uei9pc3N1ZXM8L3VybD4KCmRpZmYgLS1naXQg YS9vcGVudG9vbnotMS43LjEtZXhyLWZpeC5wYXRjaCBiL29wZW50b29uei0xLjcuMS1leHItZml4 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YTQ3NDk1Li4wMDAwMDAwCi0t LSBhL29wZW50b29uei0xLjcuMS1leHItZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTE4 ICswLDAgQEAKLWRpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL2ltYWdlL0NNYWtlTGlzdHMudHh0 IGIvdG9vbnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dAotaW5kZXggODc5NTNjZWQuLjhj MGIyNGZlIDEwMDY0NAotLS0tIGEvdG9vbnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dAot KysrIGIvdG9vbnovc291cmNlcy9pbWFnZS9DTWFrZUxpc3RzLnR4dAotQEAgLTE5Nyw0ICsxOTcs NiBAQCBlbHNlaWYoQlVJTERfRU5WX1VOSVhMSUtFKQotICAgICBlbmRpZigpCi0gZW5kaWYoKQot IAotK3NldChFWFRSQV9MSUJTICR7RVhUUkFfTElCU30gLWx0aW55ZXhyKQotKwotIHRhcmdldF9s aW5rX2xpYnJhcmllcyhpbWFnZSBRdDU6OkNvcmUgUXQ1OjpHdWkgUXQ1OjpOZXR3b3JrICR7Wl9M SUJ9ICR7R0xVVF9MSUJ9ICR7R0xfTElCfSAke0pQRUdfTElCfSAke1RJRkZfTElCfSAke1BOR19M SUJ9ICR7RVhUUkFfTElCU30pCi1kaWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy9pbWFnZS9leHIv dGlueWV4cl9vdG1vZC5oIGIvdG9vbnovc291cmNlcy9pbWFnZS9leHIvdGlueWV4cl9vdG1vZC5o Ci1pbmRleCBlY2UzMTc1NS4uMDFhMDE3ODYgMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2VzL2lt YWdlL2V4ci90aW55ZXhyX290bW9kLmgKLSsrKyBiL3Rvb256L3NvdXJjZXMvaW1hZ2UvZXhyL3Rp bnlleHJfb3Rtb2QuaAotQEAgLTEsNyArMSw2IEBACi0gI2lmbmRlZiBUSU5ZRVhSX09UTU9EX0hf Ci0gI2RlZmluZSBUSU5ZRVhSX09UTU9EX0hfCi0gCi0tI2RlZmluZSBUSU5ZRVhSX0lNUExFTUVO VEFUSU9OCi0gI2luY2x1ZGUgInRpbnlleHIuaCIKLSAKLSAvKgotQEAgLTc2LDYgKzc1LDg1IEBA IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN QUdFLgotIAotIC8vIEVuZCBvZiBPcGVuRVhSIGxpY2Vuc2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIAotKyNpZm5kZWYgVElOWUVYUl9JTVBMRU1F TlRBVElPTl9ERUZJTkVECi0rCi0rI2luY2x1ZGUgPGNhc3NlcnQ+Ci0rI2luY2x1ZGUgPGNzdGRp bz4KLSsjaW5jbHVkZSA8Y3N0ZGxpYj4KLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSsKLSsjaW5jbHVk ZSA8YWxnb3JpdGhtPgotKyNpbmNsdWRlIDxzc3RyZWFtPgotKyNpbmNsdWRlIDxzdHJpbmc+Ci0r I2luY2x1ZGUgPHZlY3Rvcj4KLSsKLStuYW1lc3BhY2UgdGlueWV4ciB7Ci0rCi0rc3RhdGljIGNv bnN0IGludCBrRVhSVmVyc2lvblNpemUgPSA4OwotKwotK3N0cnVjdCBMYXllckNoYW5uZWwgewot KyAgZXhwbGljaXQgTGF5ZXJDaGFubmVsKHNpemVfdCBpLCBzdGQ6OnN0cmluZyBuKSA6IGluZGV4 KGkpLCBuYW1lKG4pIHt9Ci0rICBzaXplX3QgaW5kZXg7Ci0rICBzdGQ6OnN0cmluZyBuYW1lOwot K307Ci0rCi0rCi0rc3RhdGljIHZvaWQgU2V0RXJyb3JNZXNzYWdlKGNvbnN0IHN0ZDo6c3RyaW5n ICZtc2csIGNvbnN0IGNoYXIgKiplcnIpIHsKLSsgIGlmIChlcnIpIHsKLSsjaWZkZWYgX1dJTjMy Ci0rICAgICgqZXJyKSA9IF9zdHJkdXAobXNnLmNfc3RyKCkpOwotKyNlbHNlCi0rICAgICgqZXJy KSA9IHN0cmR1cChtc2cuY19zdHIoKSk7Ci0rI2VuZGlmCi0rICB9Ci0rfQotKwotK3N0YXRpYyB2 b2lkIEdldExheWVycyhjb25zdCBFWFJIZWFkZXIgJmV4cl9oZWFkZXIsCi0rICAgICAgICAgICAg ICAgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiAmbGF5ZXJfbmFtZXMpIHsKLSsgIC8v IE5haXZlIGltcGxlbWVudGF0aW9uCi0rICAvLyBHcm91cCBjaGFubmVscyBieSBsYXllcnMKLSsg IC8vIGdvIG92ZXIgYWxsIGNoYW5uZWwgbmFtZXMsIHNwbGl0IGJ5IHBlcmlvZHMKLSsgIC8vIGNv bGxlY3QgdW5pcXVlIG5hbWVzCi0rICBsYXllcl9uYW1lcy5jbGVhcigpOwotKyAgZm9yIChpbnQg YyA9IDA7IGMgPCBleHJfaGVhZGVyLm51bV9jaGFubmVsczsgYysrKSB7Ci0rICAgIHN0ZDo6c3Ry aW5nIGZ1bGxfbmFtZShleHJfaGVhZGVyLmNoYW5uZWxzW2NdLm5hbWUpOwotKyAgICBjb25zdCBz aXplX3QgcG9zID0gZnVsbF9uYW1lLmZpbmRfbGFzdF9vZignLicpOwotKyAgICBpZiAocG9zICE9 IHN0ZDo6c3RyaW5nOjpucG9zICYmIHBvcyAhPSAwICYmIHBvcyArIDEgPCBmdWxsX25hbWUuc2l6 ZSgpKSB7Ci0rICAgICAgZnVsbF9uYW1lLmVyYXNlKHBvcyk7Ci0rICAgICAgaWYgKHN0ZDo6Zmlu ZChsYXllcl9uYW1lcy5iZWdpbigpLCBsYXllcl9uYW1lcy5lbmQoKSwgZnVsbF9uYW1lKSA9PQot KyAgICAgICAgICBsYXllcl9uYW1lcy5lbmQoKSkKLSsgICAgICAgIGxheWVyX25hbWVzLnB1c2hf YmFjayhmdWxsX25hbWUpOwotKyAgICB9Ci0rICB9Ci0rfQotKwotK3N0YXRpYyB2b2lkIENoYW5u ZWxzSW5MYXllcihjb25zdCBFWFJIZWFkZXIgJmV4cl9oZWFkZXIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nIGxheWVyX25hbWUsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0ZDo6dmVjdG9yPExheWVyQ2hhbm5lbD4gJmNoYW5uZWxzKSB7Ci0r ICBjaGFubmVscy5jbGVhcigpOwotKyAgZm9yIChpbnQgYyA9IDA7IGMgPCBleHJfaGVhZGVyLm51 bV9jaGFubmVsczsgYysrKSB7Ci0rICAgIHN0ZDo6c3RyaW5nIGNoX25hbWUoZXhyX2hlYWRlci5j aGFubmVsc1tjXS5uYW1lKTsKLSsgICAgaWYgKGxheWVyX25hbWUuZW1wdHkoKSkgewotKyAgICAg IGNvbnN0IHNpemVfdCBwb3MgPSBjaF9uYW1lLmZpbmRfbGFzdF9vZignLicpOwotKyAgICAgIGlm IChwb3MgIT0gc3RkOjpzdHJpbmc6Om5wb3MgJiYgcG9zIDwgY2hfbmFtZS5zaXplKCkpIHsKLSsg ICAgICAgIGNoX25hbWUgPSBjaF9uYW1lLnN1YnN0cihwb3MgKyAxKTsKLSsgICAgICB9Ci0rICAg IH0gZWxzZSB7Ci0rICAgICAgY29uc3Qgc2l6ZV90IHBvcyA9IGNoX25hbWUuZmluZChsYXllcl9u YW1lICsgJy4nKTsKLSsgICAgICBpZiAocG9zID09IHN0ZDo6c3RyaW5nOjpucG9zKSBjb250aW51 ZTsKLSsgICAgICBpZiAocG9zID09IDApIHsKLSsgICAgICAgIGNoX25hbWUgPSBjaF9uYW1lLnN1 YnN0cihsYXllcl9uYW1lLnNpemUoKSArIDEpOwotKyAgICAgIH0KLSsgICAgfQotKyAgICBMYXll ckNoYW5uZWwgY2goc2l6ZV90KGMpLCBjaF9uYW1lKTsKLSsgICAgY2hhbm5lbHMucHVzaF9iYWNr KGNoKTsKLSsgIH0KLSt9Ci0rCi0rfQotKwotKyNlbmRpZgotKwotICNpZmRlZiBfX2NwbHVzcGx1 cwotIGV4dGVybiAiQyIgewotICNlbmRpZgotQEAgLTQ3Myw3ICs1NTEsNyBAQCBpbnQgU2F2ZUVY UkltYWdlVG9GaWxlSGFuZGxlKGNvbnN0IEVYUkltYWdlICpleHJfaW1hZ2UsCi0gICB1bnNpZ25l ZCBjaGFyICptZW0gPSBOVUxMOwotICAgc2l6ZV90IG1lbV9zaXplICAgID0gU2F2ZUVYUkltYWdl VG9NZW1vcnkoZXhyX2ltYWdlLCBleHJfaGVhZGVyLCAmbWVtLCBlcnIpOwotICAgaWYgKG1lbV9z aXplID09IDApIHsKLS0gICAgcmV0dXJuIFRJTllFWFJfRVJST1JfU0VSSUFMWkFUSU9OX0ZBSUxF RDsKLSsgICAgcmV0dXJuIFRJTllFWFJfRVJST1JfU0VSSUFMSVpBVElPTl9GQUlMRUQ7Ci0gICB9 Ci0gCi0gICBzaXplX3Qgd3JpdHRlbl9zaXplID0gMDsKCmRpZmYgLS1naXQgYS9vcGVudG9vbnot MS43LjEtZnVuY3B0ci1maXgucGF0Y2ggYi9vcGVudG9vbnotMS43LjEtZnVuY3B0ci1maXgucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJhYTQwZjQuLjAwMDAwMDAKLS0tIGEv b3BlbnRvb256LTEuNy4xLWZ1bmNwdHItZml4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDkg KzAsMCBAQAotZGlmZiAtLWdpdCBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL2F2bC5oIGIvdG9v bnovc291cmNlcy9pbWFnZS90enAvYXZsLmgKLWluZGV4IGU0OGY5Y2QzLi5kN2JmMTBiMCAxMDA2 NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvaW1hZ2UvdHpwL2F2bC5oCi0rKysgYi90b29uei9zb3Vy Y2VzL2ltYWdlL3R6cC9hdmwuaAotQEAgLTcyLDcgKzcyLDcgQEAgZXh0ZXJuIGRvdWJsZSBBdmxf RHVtbXlbXTsKLSAjZGVmaW5lIEFWTF9EVVBfVVNIIChBVkxfTk9EVVBfVVNIIHwgMSkKLSAjZGVm aW5lIEFWTF9EVVBfQ0hSIChBVkxfTk9EVVBfQ0hSIHwgMSkKLSAKLS0jZGVmaW5lIEFWTF9BVkxD TVAgKGludCAoKikoKSkwCi0rI2RlZmluZSBBVkxfQVZMQ01QIChpbnQgKCopKHZvaWQgKiwgdm9p ZCAqKSkwCi0gCi0gI2RlZmluZSBhdmxfdHJlZV9ub2R1cCh1c3JjbXApIGF2bF9fdHJlZShBVkxf Tk9EVVBfTUJSLCAodW5zaWduZWQpMCwgKHVzcmNtcCkpCi0gI2RlZmluZSBhdmxfdHJlZV9ub2R1 cF9tYnIoc3RydWN0dXJlLCBtZW1iZXIsIHVzcmNtcCkgICAgICAgICAgICAgICAgICAgICAgICAg IFwKLUBAIC0xNjMsNyArMTYzLDcgQEAgc3RydWN0IGF2bF9wYXRoIHsKLSB0eXBlZGVmIHN0cnVj dCBhdmxfdHJlZSB7Ci0gICB1bnNpZ25lZCBzaG9ydCBrZXlpbmZvOwotICAgdW5zaWduZWQgc2hv cnQga2V5b2ZmczsKLS0gIGludCAoKnVzcmNtcCkoKTsKLSsgIGludCAoKnVzcmNtcCkodm9pZCAq LCB2b2lkICopOwotICAgbG9uZyBub2RlczsKLSAgIHN0cnVjdCBhdmxfbm9kZSAqcm9vdDsKLSAg IHN0cnVjdCBhdmxfcGF0aCAqcGF0aDsKLUBAIC0yMjMsNyArMjIzLDcgQEAgVE5aQVBJIGludCBh dmxfcG9ydGluZ19wcm9ibGVtcygpOwotIAotICNlbHNlCi0gCi0tVE5aQVBJIFRSRUUgKmF2bF9f dHJlZShpbnQgdHJlZXR5cGUsIHVuc2lnbmVkIGtleW9mZnMsIGludCAoKnVzcmNtcCkoKSk7Ci0r VE5aQVBJIFRSRUUgKmF2bF9fdHJlZShpbnQgdHJlZXR5cGUsIHVuc2lnbmVkIGtleW9mZnMsIGlu dCAoKnVzcmNtcCkodm9pZCAqLCB2b2lkICopKTsKLSBUTlpBUEkgVFJFRSAqYXZsX2NvcHkoVFJF RSAqdHJlZSk7Ci0gCi0gVE5aQVBJIGludCBhdmxfaW5zZXJ0KFRSRUUgKnRyZWUsIHZvaWQgKmRh dGEpOwotQEAgLTIzNiw3ICsyMzYsNyBAQCBUTlpBUEkgdm9pZCAqYXZsX2xvY2F0ZV9maXJzdChU UkVFICp0cmVlKTsKLSBUTlpBUEkgdm9pZCAqYXZsX2xvY2F0ZV9sYXN0KFRSRUUgKnRyZWUpOwot IFROWkFQSSB2b2lkICphdmxfX3JlbW92ZShUUkVFICp0cmVlLCBsb25nIGtleXZhbCk7Ci0gCi0t VE5aQVBJIHZvaWQgYXZsX19zY2FuKFRSRUUgKnRyZWUsIHZvaWQgKCp1c3JmdW4pKCksIGludCBi YWNrKTsKLStUTlpBUEkgdm9pZCBhdmxfX3NjYW4oVFJFRSAqdHJlZSwgdm9pZCAoKnVzcmZ1biko dm9pZCAqKSwgaW50IGJhY2spOwotIAotIFROWkFQSSB2b2lkICphdmxfZmlyc3QoVFJFRSAqdHJl ZSk7Ci0gVE5aQVBJIHZvaWQgKmF2bF9sYXN0KFRSRUUgKnRyZWUpOwotQEAgLTI0Nyw3ICsyNDcs NyBAQCBUTlpBUEkgdm9pZCBhdmxfc3RvcChUUkVFICp0cmVlKTsKLSAKLSBUTlpBUEkgdm9pZCAq YXZsX19saW5rKFRSRUUgKnRyZWUsIHVuc2lnbmVkIHB0cm9mZnMsIGludCBiYWNrKTsKLSAKLS1U TlpBUEkgdm9pZCBhdmxfcmVsZWFzZShUUkVFICp0cmVlLCB2b2lkICgqdXNyZnVuKSgpKTsKLStU TlpBUEkgdm9pZCBhdmxfcmVsZWFzZShUUkVFICp0cmVlLCB2b2lkICgqdXNyZnVuKSh2b2lkICop KTsKLSBUTlpBUEkgdm9pZCBhdmxfcmVzZXQoVFJFRSAqdHJlZSk7Ci0gVE5aQVBJIHZvaWQgYXZs X2Nsb3NlKFRSRUUgKnRyZWUpOwotIAoKZGlmZiAtLWdpdCBhL29wZW50b29uei0xLjcuMS1raXNz ZmZ0LWZpeC5wYXRjaCBiL29wZW50b29uei0xLjcuMS1raXNzZmZ0LWZpeC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM3OWJlZi4uMDAwMDAwMAotLS0gYS9vcGVudG9vbnot MS43LjEta2lzc2ZmdC1maXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1k aWZmIC0tZ2l0IGEvdG9vbnovc291cmNlcy9zdGRmeC9DTWFrZUxpc3RzLnR4dCBiL3Rvb256L3Nv dXJjZXMvc3RkZngvQ01ha2VMaXN0cy50eHQKLWluZGV4IDRkZTA2ZWM4Li5jN2FmMmMxOSAxMDA2 NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvc3RkZngvQ01ha2VMaXN0cy50eHQKLSsrKyBiL3Rvb256 L3NvdXJjZXMvc3RkZngvQ01ha2VMaXN0cy50eHQKLUBAIC0yNzAsOCArMjcwLDggQEAgc2V0KFNP VVJDRVMKLSAgICAgaXdhX25vaXNlMTIzNC5jcHAKLSAgICAgaXdhX3BucGVyc3BlY3RpdmVmeC5j cHAKLSAgICAgaXdhX3NvYXBidWJibGVmeC5jcHAKLS0gICAgJHtTREtST09UfS9raXNzX2ZmdDEz MC9raXNzX2ZmdC5jCi0tICAgICR7U0RLUk9PVH0va2lzc19mZnQxMzAvdG9vbHMva2lzc19mZnRu ZC5jCi0rIyAgICAke1NES1JPT1R9L2tpc3NfZmZ0MTMwL2tpc3NfZmZ0LmMKLSsjICAgICR7U0RL Uk9PVH0va2lzc19mZnQxMzAvdG9vbHMva2lzc19mZnRuZC5jCi0gICAgIGl3YV9ib2tlaGZ4LmNw cAotICAgICBpd2FfdGltZWNvZGVmeC5jcHAKLSAgICAgaXdhX2Jva2VocmVmZnguY3BwCi1AQCAt MzAzLDYgKzMwMyw3IEBAIGFkZF9saWJyYXJ5KHRuenN0ZGZ4IFNIQVJFRCAke0hFQURFUlN9ICR7 U09VUkNFU30gJHtPQkpDU09VUkNFU30pCi0gYWRkX2RlZmluaXRpb25zKAotICAgICAtRF9VU1JE TEwKLSAgICAgLURUTlpTVERGWF9FWFBPUlRTCi0rICAgIC1Ea2lzc19mZnRfc2NhbGFyPWRvdWJs ZQotICkKLSAKLSBpZihCVUlMRF9FTlZfQVBQTEUpCi1AQCAtMzI2LDEyICszMjcsMTMgQEAgZWxz ZSgpCi0gZW5kaWYoKQotIAotIGluY2x1ZGVfZGlyZWN0b3JpZXMoCi0tICAgICR7U0RLUk9PVH0v a2lzc19mZnQxMzAKLSsjICAgICR7U0RLUk9PVH0va2lzc19mZnQxMzAKLSsgICAgL3Vzci9pbmNs dWRlL2tpc3NmZnQvCi0gKQotIAotIF9maW5kX3Rvb256X2xpYnJhcnkoVE5aTElCUyAidG56Y29y ZTt0bnpiYXNlO3Rvb256bGliIikKLSAKLS10YXJnZXRfbGlua19saWJyYXJpZXModG56c3RkZngg UXQ1OjpDb3JlIFF0NTo6R3VpIFF0NTo6T3BlbkdMICR7R0xfTElCfSAke0dMRVdfTElCfSAke1RO WkxJQlN9ICR7UFRIUkVBRF9MSUJSQVJZfSkKLSt0YXJnZXRfbGlua19saWJyYXJpZXModG56c3Rk ZnggUXQ1OjpDb3JlIFF0NTo6R3VpIFF0NTo6T3BlbkdMICR7R0xfTElCfSAke0dMRVdfTElCfSAk e1ROWkxJQlN9ICR7UFRIUkVBRF9MSUJSQVJZfSBraXNzZmZ0LWRvdWJsZSkKLSAKLSBpZihPcGVu Q1ZfRk9VTkQpCi0gICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyh0bnpzdGRmeCAke09wZW5DVl9M SUJTfSkKLWRpZmYgLS1naXQgYS90b29uei9zb3VyY2VzL3N0ZGZ4L2l3YV9ib2tlaF91dGlsLmgg Yi90b29uei9zb3VyY2VzL3N0ZGZ4L2l3YV9ib2tlaF91dGlsLmgKLWluZGV4IDViYjU5M2M2Li4z ZTI3MzVlZSAxMDA2NDQKLS0tLSBhL3Rvb256L3NvdXJjZXMvc3RkZngvaXdhX2Jva2VoX3V0aWwu aAotKysrIGIvdG9vbnovc291cmNlcy9zdGRmeC9pd2FfYm9rZWhfdXRpbC5oCi1AQCAtNiw3ICs2 LDcgQEAKLSAjaW5jbHVkZSAidGdlb21ldHJ5LmgiCi0gI2luY2x1ZGUgInRyYXN0ZXIuaCIKLSAj aW5jbHVkZSAia2lzc19mZnQuaCIKLS0jaW5jbHVkZSAidG9vbHMva2lzc19mZnRuZC5oIgotKyNp bmNsdWRlICJraXNzX2ZmdG5kLmgiCi0gI2luY2x1ZGUgInR0aWxlLmgiCi0gI2luY2x1ZGUgInN0 ZGZ4LmgiCi0gI2luY2x1ZGUgInRmeHBhcmFtLmgiCi1kaWZmIC0tZ2l0IGEvdG9vbnovc291cmNl cy9zdGRmeC9pd2FfZ2xhcmVmeC5oIGIvdG9vbnovc291cmNlcy9zdGRmeC9pd2FfZ2xhcmVmeC5o Ci1pbmRleCA0OTg3M2E0ZC4uYmU4MmI3YmIgMTAwNjQ0Ci0tLS0gYS90b29uei9zb3VyY2VzL3N0 ZGZ4L2l3YV9nbGFyZWZ4LmgKLSsrKyBiL3Rvb256L3NvdXJjZXMvc3RkZngvaXdhX2dsYXJlZngu aAotQEAgLTE1LDcgKzE1LDcgQEAgSXdhX0dsYXJlRngKLSAjaW5jbHVkZSA8UUxpc3Q+Ci0gI2lu Y2x1ZGUgPFFUaHJlYWQ+Ci0gCi0tI2luY2x1ZGUgInRvb2xzL2tpc3NfZmZ0bmQuaCIKLSsjaW5j bHVkZSAia2lzc19mZnRuZC5oIgotIAotIGNvbnN0IGludCBMQVlFUl9OVU0gPSA1OwotIAoKZGlm ZiAtLWdpdCBhL29wZW50b29uei5zcGVjIGIvb3BlbnRvb256LnNwZWMKaW5kZXggZTdlNzI1MC4u OWJjMjUxOCAxMDA2NDQKLS0tIGEvb3BlbnRvb256LnNwZWMKKysrIGIvb3BlbnRvb256LnNwZWMK QEAgLTEsNjQgKzEsNjIgQEAKICV1bmRlZmluZSBfX2NtYWtlX2luX3NvdXJjZV9idWlsZAogJWRl ZmluZSBfdnBhdGhfc3JjZGlyIHRvb256L3NvdXJjZXMKIAotTmFtZTogICAgb3BlbnRvb256Ci1W ZXJzaW9uOiAxLjcuMQotUmVsZWFzZTogMjElez9kaXN0fQotU3VtbWFyeTogMkQgYW5pbWF0aW9u IHNvZnR3YXJlCitOYW1lOiAgICAgICAgICAgb3BlbnRvb256CitWZXJzaW9uOiAgICAgICAgMS44 LjAKK1JlbGVhc2U6ICAgICAgICAlYXV0b3JlbGVhc2UKK1N1bW1hcnk6ICAgICAgICAyRCBhbmlt YXRpb24gc29mdHdhcmUKIAotIyBBdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCBmcm9tIG9sZCBmb3Jt YXQ6IEJTRCAtIHJldmlldyBpcyBoaWdobHkgcmVjb21tZW5kZWQuCi1MaWNlbnNlOiBMaWNlbnNl UmVmLUNhbGxhd2F5LUJTRAotVVJMOiAgICAgaHR0cHM6Ly9vcGVudG9vbnouZ2l0aHViLmlvLwot U291cmNlMDogaHR0cHM6Ly9naXRodWIuY29tL29wZW50b29uei9vcGVudG9vbnovYXJjaGl2ZS9y ZWZzL3RhZ3MvdiV7dmVyc2lvbn0udGFyLmd6CitMaWNlbnNlOiAgICAgICAgQlNELTMtQ2xhdXNl CitVUkw6ICAgICAgICAgICAgaHR0cHM6Ly9vcGVudG9vbnouZ2l0aHViLmlvLworU291cmNlMDog ICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVudG9vbnovb3BlbnRvb256L2FyY2hpdmUvcmVm cy90YWdzL3Yle3ZlcnNpb259LnRhci5negogCi1QYXRjaDA6IG9wZW50b29uei0xLjUuMC1sem8t Zml4LnBhdGNoCitQYXRjaDogICAgICAgICAgMDAwMS1sem8tZml4LnBhdGNoCiAjIGh0dHBzOi8v Z2l0aHViLmNvbS9vcGVudG9vbnovb3BlbnRvb256L2lzc3Vlcy80MTk5Ci1QYXRjaDE6IG9wZW50 b29uei0xLjUuMC10aWZmLWZpeC5wYXRjaAotUGF0Y2gyOiBvcGVudG9vbnotMS43LjEtZXhyLWZp eC5wYXRjaAorUGF0Y2g6ICAgICAgICAgIDAwMDItdGlmZi1maXgucGF0Y2gKK1BhdGNoOiAgICAg ICAgICAwMDAzLWV4ci1maXgucGF0Y2gKICMgaHR0cHM6Ly9naXRodWIuY29tL29wZW50b29uei9v cGVudG9vbnovcHVsbC80MjM5Ci1QYXRjaDM6IG9wZW50b29uei0xLjcuMC1nZXRob3N0YnluYW1l LnBhdGNoCi1QYXRjaDQ6IG9wZW50b29uei0xLjcuMC1pbnN0YWxsLXBhdGgtZml4LnBhdGNoCi1Q YXRjaDU6IG9wZW50b29uei0xLjcuMS1raXNzZmZ0LWZpeC5wYXRjaCAgICAgICAKLVBhdGNoNjog b3BlbnRvb256LTEuNy4wLXRvb256cmxlLXJtLnBhdGNoCi1QYXRjaDc6IG9wZW50b29uei0xLjcu MC10enAtdGlmZmlvcC1maXgucGF0Y2gKLVBhdGNoODogb3BlbnRvb256LTEuNy4xLWFwcGRhdGEu cGF0Y2gKLVBhdGNoOTogb3BlbnRvb256LTEuNy4xLWZ1bmNwdHItZml4LnBhdGNoCi0KLUJ1aWxk UmVxdWlyZXM6IGZsZXhpYmxhcy1kZXZlbAotQnVpbGRSZXF1aXJlczogYm9vc3QtZGV2ZWwKLUJ1 aWxkUmVxdWlyZXM6IGNtYWtlCi1CdWlsZFJlcXVpcmVzOiBkZXNrdG9wLWZpbGUtdXRpbHMKLUJ1 aWxkUmVxdWlyZXM6IGZyZWVnbHV0LWRldmVsCi1CdWlsZFJlcXVpcmVzOiBmcmVldHlwZS1kZXZl bAotQnVpbGRSZXF1aXJlczogZ2NjCi1CdWlsZFJlcXVpcmVzOiBnY2MtYysrCi1CdWlsZFJlcXVp cmVzOiBnbGV3LWRldmVsCi1CdWlsZFJlcXVpcmVzOiBraXNzLWZmdC1kZXZlbAotQnVpbGRSZXF1 aXJlczogbGliYXBwc3RyZWFtLWdsaWIKLUJ1aWxkUmVxdWlyZXM6IGxpYmpwZWctdHVyYm8tZGV2 ZWwKLUJ1aWxkUmVxdWlyZXM6IGxpYm15cGFpbnQtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IGxpYnBu Zy1kZXZlbAotQnVpbGRSZXF1aXJlczogbGlidGlmZi1kZXZlbAotQnVpbGRSZXF1aXJlczogcGtn Y29uZmlnKGxpYnVzYi0xLjApCi1CdWlsZFJlcXVpcmVzOiBsejQtZGV2ZWwKLUJ1aWxkUmVxdWly ZXM6IGx6by1kZXZlbAotQnVpbGRSZXF1aXJlczogb3BlbmN2LWRldmVsCi1CdWlsZFJlcXVpcmVz OiBxdDUtcXRiYXNlLWRldmVsCi1CdWlsZFJlcXVpcmVzOiBxdDUtcXRtdWx0aW1lZGlhLWRldmVs Ci1CdWlsZFJlcXVpcmVzOiBxdDUtcXRzY3JpcHQtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHF0NS1x dHNlcmlhbHBvcnQtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHF0NS1xdHN2Zy1kZXZlbAotQnVpbGRS ZXF1aXJlczogcXQ1LXF0dG9vbHMtZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IFN1cGVyTFUtZGV2ZWwK LUJ1aWxkUmVxdWlyZXM6IHRpbnlleHItZGV2ZWwKLUJ1aWxkUmVxdWlyZXM6IHR1cmJvanBlZy1k ZXZlbAotQnVpbGRSZXF1aXJlczogeHotZGV2ZWwKLQotQnVpbGRSZXF1aXJlczogcXQ1LXF0dG9v bHMtc3RhdGljCi0KLVJlcXVpcmVzOiBvcGVuY3YKLVJlcXVpcmVzOiBoaWNvbG9yLWljb24tdGhl bWUKLVJlcXVpcmVzOiAle25hbWV9LWRhdGEgPSAle3ZlcnNpb259LSV7cmVsZWFzZX0KK1BhdGNo OiAgICAgICAgICAwMDA0LWdldGhvc3RieW5hbWUucGF0Y2gKK1BhdGNoOiAgICAgICAgICAwMDA1 LWluc3RhbGwtcGF0aC1maXgucGF0Y2gKK1BhdGNoOiAgICAgICAgICAwMDA2LWtpc3NmZnQtZml4 LnBhdGNoICAgICAgIAorUGF0Y2g6ICAgICAgICAgIDAwMDctdG9vbnpybGUtcm0ucGF0Y2gKK1Bh dGNoOiAgICAgICAgICAwMDA4LXR6cC10aWZmaW9wLWZpeC5wYXRjaAorUGF0Y2g6ICAgICAgICAg IDAwMDktYXBwZGF0YS5wYXRjaAorCitCdWlsZFJlcXVpcmVzOiAgZmxleGlibGFzLWRldmVsCitC dWlsZFJlcXVpcmVzOiAgYm9vc3QtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBjbWFrZQorQnVpbGRS ZXF1aXJlczogIGRlc2t0b3AtZmlsZS11dGlscworQnVpbGRSZXF1aXJlczogIGZyZWVnbHV0LWRl dmVsCitCdWlsZFJlcXVpcmVzOiAgZnJlZXR5cGUtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBnY2MK K0J1aWxkUmVxdWlyZXM6ICBnY2MtYysrCitCdWlsZFJlcXVpcmVzOiAgZ2xldy1kZXZlbAorQnVp bGRSZXF1aXJlczogIGtpc3MtZmZ0LWRldmVsCitCdWlsZFJlcXVpcmVzOiAgbGliYXBwc3RyZWFt LWdsaWIKK0J1aWxkUmVxdWlyZXM6ICBsaWJqcGVnLXR1cmJvLWRldmVsCitCdWlsZFJlcXVpcmVz OiAgbGlibXlwYWludC1kZXZlbAorQnVpbGRSZXF1aXJlczogIGxpYnBuZy1kZXZlbAorQnVpbGRS ZXF1aXJlczogIGxpYnRpZmYtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBwa2djb25maWcobGlidXNi LTEuMCkKK0J1aWxkUmVxdWlyZXM6ICBsejQtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBsem8tZGV2 ZWwKK0J1aWxkUmVxdWlyZXM6ICBvcGVuY3YtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBxdDUtcXRi YXNlLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgcXQ1LXF0bXVsdGltZWRpYS1kZXZlbAorQnVpbGRS ZXF1aXJlczogIHF0NS1xdHNjcmlwdC1kZXZlbAorQnVpbGRSZXF1aXJlczogIHF0NS1xdHNlcmlh bHBvcnQtZGV2ZWwKK0J1aWxkUmVxdWlyZXM6ICBxdDUtcXRzdmctZGV2ZWwKK0J1aWxkUmVxdWly ZXM6ICBxdDUtcXR0b29scy1kZXZlbAorQnVpbGRSZXF1aXJlczogIFN1cGVyTFUtZGV2ZWwKK0J1 aWxkUmVxdWlyZXM6ICB0aW55ZXhyLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgdHVyYm9qcGVnLWRl dmVsCitCdWlsZFJlcXVpcmVzOiAgeHotZGV2ZWwKKworQnVpbGRSZXF1aXJlczogIHF0NS1xdHRv b2xzLXN0YXRpYworCitSZXF1aXJlczogICAgICAgb3BlbmN2CitSZXF1aXJlczogICAgICAgaGlj b2xvci1pY29uLXRoZW1lCitSZXF1aXJlczogICAgICAgJXtuYW1lfS1kYXRhID0gJXt2ZXJzaW9u fS0le3JlbGVhc2V9CiAKICVkZXNjcmlwdGlvbgogT3BlblRvb256IGlzIGEgMkQgYW5pbWF0aW9u IHNvZnR3YXJlIHB1Ymxpc2hlZCBieSBEV0FOR08uIEl0IGlzIGJhc2VkIG9uIApAQCAtMTM5LDEy MSArMTM3LDQgQEAgYXBwc3RyZWFtLXV0aWwgdmFsaWRhdGUtcmVsYXggLS1ub25ldCBcCiAKIAog JWNoYW5nZWxvZwotKiBUaHUgSnVsIDE2IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcg PHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjcuMS0yMQotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ1X01hc3NfUmVidWlsZAotCi0qIFRo dSBKYW4gMjkgMjAyNiBOaWNvbGFzIENoYXV2ZXQgPGt3aXphcnRAZ21haWwuY29tPiAtIDEuNy4x LTIwCi0tIFJlYnVpbHQgZm9yIE9wZW5DViA0LjEzCi0KLSogRnJpIEphbiAxNiAyMDI2IEZlZG9y YSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS43LjEt MTkKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80 NF9NYXNzX1JlYnVpbGQKLQotKiBXZWQgRGVjIDEwIDIwMjUgTmljb2xhcyBDaGF1dmV0IDxrd2l6 YXJ0QGdtYWlsLmNvbT4gLSAxLjcuMS0xOAotLSBSZWJ1aWx0IGZvciBPcGVuQ1YtNC4xMgotCi0q IFRodSBKdWwgMjQgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9y YXByb2plY3Qub3JnPiAtIDEuNy4xLTE3Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJv amVjdC5vcmcvd2lraS9GZWRvcmFfNDNfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEZlYiAwNCAyMDI1 IFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDEuNy4xLTE2Ci0tIFJlYnVpbGQg Zm9yIG9wZW5jdi00LjExLjAKLQotKiBNb24gRmViIDMgMjAyNSBEaWVnbyBIZXJyZXJhIDxkaGVy cmVyYUByZWRoYXQuY29tPiAxLjcuMS0xNQotLSBGaXggYW1iaWd1b3NseSBkZWZpbmVkIGZ1bmN0 aW9uIHBvaW50ZXJzCi0KLSogRnJpIEphbiAxNyAyMDI1IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS43LjEtMTQKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80Ml9NYXNzX1JlYnVpbGQKLQot KiBTdW4gU2VwIDA4IDIwMjQgQW50b25pbyBUcmFuZGUgPHNhZ2l0dGVyQGZlZG9yYXByb2plY3Qu b3JnPiAxLjcuMS0xMwotLSBSZWJ1aWxkIGZvciBTdXBlckxVLTcuMC4wCi0KLSogTW9uIFNlcCAw MiAyMDI0IE1pcm9zbGF2IFN1Y2jDvSA8bXN1Y2h5QHJlZGhhdC5jb20+IC0gMS43LjEtMTIKLS0g Y29udmVydCBsaWNlbnNlIHRvIFNQRFgKLQotKiBUaHUgSnVsIDI1IDIwMjQgU8OpcmdpbyBCYXN0 byA8c2VyZ2lvQHNlcmp1eC5jb20+IC0gMS43LjEtMTEKLS0gUmVidWlsZCBmb3Igb3BlbmN2IDQu MTAuMAotCi0qIFRodSBKdWwgMTggMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNy4xLTEwCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDFfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEZl YiAwNiAyMDI0IEZyYW50acWhZWsgWmF0bG91a2FsIDxmemF0bG91a0ByZWRoYXQuY29tPiAtIDEu Ny4xLTkKLS0gUmVidWlsdCBmb3IgdHVyYm9qcGVnIDMuMC4yCi0KLSogTW9uIEZlYiAwNSAyMDI0 IFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDEuNy4xLTgKLS0gUmVidWlsZCBm b3Igb3BlbmN2IDQuOS4wCi0KLSogVGh1IEZlYiAxIDIwMjQgRGllZ28gSGVycmVyYSA8ZGhlcnJl cmFAcmVkaGF0LmNvbT4gMS43LjEtNwotLSBGaXggZm9yIGtpc3NmZnQtdjEzMS4xLjAKLS0gRml4 IGZvciB0aW55ZXhyLXYxLjAuNwotCi0qIFRodSBKYW4gMjUgMjAyNCBGZWRvcmEgUmVsZWFzZSBF bmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNy4xLTYKLS0gUmVidWls dCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVp bGQKLQotKiBTdW4gSmFuIDIxIDIwMjQgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVu Z0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjcuMS01Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogTW9uIEF1ZyAw NyAyMDIzIFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDEuNy4xLTQKLS0gUmVi dWlsZCBmb3Igb3BlbmN2IDQuOC4wCi0KLSogVGh1IEp1bCAyMCAyMDIzIEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS43LjEtMwotLSBSZWJ1 aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM5X01hc3NfUmVi dWlsZAotCi0qIFNhdCBKdWwgMTUgMjAyMyBBbnRvbmlvIFRyYW5kZSA8c2FnaXR0ZXJAZmVkb3Jh cHJvamVjdC5vcmc+IDEuNy4xLTIKLS0gUmVidWlsZCBmb3IgU3VwZXJMVS02LjAuMAotCi0qIFR1 ZSBKdW4gMjAgMjAyMyBEaWVnbyBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPiAxLjcuMS0x Ci0tIFVwZGF0ZWQgdG8gMS43LjEKLS0gVXBkYXRlIHBhY2thZ2UgZGVzY3JpcHRpb24KLQotKiBX ZWQgTWF5IDEwIDIwMjMgRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS43LjAt MQotLSBVcGRhdGVkIHRvIDEuNy4wCi0KLSogTW9uIEZlYiA2IDIwMjMgRGllZ28gSGVycmVyYSA8 ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS42LjAtMTEKLS0gRml4IHNpemVfdCByZWRlZmluaXRpb24g aXNzdWUgb24gdGdjOjpoYXNoIGNsYXNzLgotCi0qIFRodSBKYW4gMTkgMjAyMyBGZWRvcmEgUmVs ZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNi4wLTEwCi0t IFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzhfTWFz c19SZWJ1aWxkCi0KLSogTW9uIEphbiAxNiAyMDIzIFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJq dXguY29tPiAtIDEuNi4wLTkKLS0gUmVidWlsZCBmb3Igb3BlbmN2IDQuNy4wCi0KLSogV2VkIE5v diAyIDIwMjIgRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS42LjAtOAotLSBF eHBvc2Ugc3RhdGljIGxpYnJhcnkgZGVwZW5kZW5jeQotCi0qIFRodSBBdWcgMjUgMjAyMiBEaWVn byBIZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPiAxLjYuMC03Ci0tIE1ha2UgZXhyIHBhdGNo IGNvbXBhdGlibGUgd2l0aCB1cHN0cmVhbQotCi0qIFRodSBBdWcgMjUgMjAyMiBEaWVnbyBIZXJy ZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPiAxLjYuMC02Ci0tIEZpeCBleHIgbGlua2luZyBwcm9i bGVtcwotCi0qIFRodSBBdWcgMjUgMjAyMiBJw7Fha2kgw5pjYXIgPGl1Y2FyQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDEuNi4wLTUKLS0gQWRoZXJlIHRvIEJMQVMvTEFQQUNLIGd1aWRlbGluZXMKLQot KiBGcmkgSnVsIDIyIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRv cmFwcm9qZWN0Lm9yZz4gLSAxLjYuMC00Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJv amVjdC5vcmcvd2lraS9GZWRvcmFfMzdfTWFzc19SZWJ1aWxkCi0KLSogVHVlIEp1biAyMSAyMDIy IFPDqXJnaW8gQmFzdG8gPHNlcmdpb0BzZXJqdXguY29tPiAtIDEuNi4wLTMKLS0gUmVidWlsdCBm b3Igb3BlbmN2IDQuNi4wCi0KLSogRnJpIEFwciAyOSAyMDIyIERpZWdvIEhlcnJlcmEgPGRoZXJy ZXJhQHJlZGhhdC5jb20+IDEuNi4wLTIKLS0gRGlzYWJsZSBleHIgZm9ybWF0IGJlY2F1c2Ugb2Yg bGlua2luZyBwcm9ibGVtcwotCi0qIE1vbiBBcHIgMTggMjAyMiBEaWVnbyBIZXJyZXJhIDxkaGVy cmVyYUByZWRoYXQuY29tPiAxLjYuMC0xCi0tIFVwZGF0ZWQgdG8gMS42LjAKLQotKiBXZWQgTWFy IDE2IDIwMjIgRGllZ28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS41LjAtNQotLSBG aXhlZCBidWlsZCBwcm9ibGVtcyB3aXRoIGNtYWtlCi0tIGxpYnVzYiByZXRpcmVkIGZyb20gcmF3 aGlkZQotCi0qIFNhdCBGZWIgNSAyMDIyIERpZWdvIEhlcnJlcmEgPGRoZXJyZXJhQHJlZGhhdC5j b20+IDEuNS4wLTQKLS0gUmVzdG9yZWQgbWV0YWluZm8gCi0KLSogRnJpIEZlYiA0IDIwMjIgRGll Z28gSGVycmVyYSA8ZGhlcnJlcmFAcmVkaGF0LmNvbT4gMS41LjAtMwotLSBBZGRlZCB2ZXJzaW9u IG1hY3JvIHRvIHRoZSBzb3VyY2UgdXJsIAotCi0qIEZyaSBGZWIgNCAyMDIyIERpZWdvIEhlcnJl cmEgPGRoZXJyZXJhQHJlZGhhdC5jb20+IDEuNS4wLTIKLS0gQWRkZWQgY21ha2UgbWFjcm9zCi0t IFVzZWQgZGVza3RvcC1maWxlLXZhbGlkYXRlIGluc3RlYWQgb2YgZGVza3RvcC1maWxlLWluc3Rh bGwKLS0gQ2xlYW5lZCB1cCByZXF1aXJlbWVudHMKLQotKiBXZWQgRmViIDIgMjAyMiBEaWVnbyBI ZXJyZXJhIDxkaGVycmVyYUByZWRoYXQuY29tPiAxLjUuMC0xCi0tIEZpcnN0IGNvbW1pdAorJWF1 dG9jaGFuZ2Vsb2cKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCA3ZDA3YjZk Li44MjI2N2Y3IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSBA QAotU0hBNTEyICh2MS43LjAudGFyLmd6KSA9IDEyNDAwMDliN2QwY2ZlMDExNTY2ZTM4NGY2YzQ3 YTBjOGNmNWJhZTJjYWNjNzA4YWVmOGU3ZDJkN2U1MTJhMzkxOTRhMDRmYjM4YTQ0MzU4MWVkYmQy NDZhN2IyNzYyMzQ5MjlkOGQ2NjFmZjAzNTU5NTViZDEzNzk4MWI0Y2NhCi1TSEE1MTIgKHYxLjcu MS50YXIuZ3opID0gZTMzZGYzMTViOTQ1NTEwYzJkYmM1YWVmMzRiODZmYTIwZGI1NzFhMzE5Njg4 OGExOTQwZjNkYmI0YzUzNDBiOGI1N2NkNjU5YWJlZTQ1NmU0OWZjOGY0ZjNkMTBiNmVjZmVjY2M3 NzcwZWMzMTkzZWUzZjVlNjBkYWQ2ZmU1Y2YKK1NIQTUxMiAodjEuOC4wLnRhci5neikgPSAzYmQ5 OGE1MGFhN2M5NmQ3M2IzNjgxMjU5MjczZmY4OWI4ZDFiNzFiZGUzNzkyYzE5Y2NhZmNlZjFiMmJl YjMyZjE5NjU2MGU1MWY0OTMzMTgwOWU3MGM2NDc0Y2Y5NzkyNGI0MGJjMzJmN2M0ODVkYzZhOWQ2 MjRjN2Y5NzM1NAo=