SGkgWmFjaywKCnRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoIQoKT24gVGh1LCAyMDIzLTA5LTI4IGF0 IDAwOjEzIC0wNDAwLCBaYWNrIFJ1c2luIHdyb3RlOgo+IEZyb206IFphY2sgUnVzaW4gPHphY2ty QHZtd2FyZS5jb20+Cj4gCj4gU3VyZmFjZXMgY2FuIGJlIGJhY2tlZCAoaS5lLiBzdG9yZWQgaW4p IG1lbW9yeSBvYmplY3RzIChtb2Incykgd2hpY2gKPiBhcmUgY3JlYXRlZCBhbmQgbWFuYWdlZCBi eSB0aGUgdXNlcnNwYWNlIGFzIEdFTSBidWZmZXJzLiBTdXJmYWNlcwo+IGdyYWIgb25seSBhIHR0 bSByZWZlcmVuY2Ugd2hpY2ggbWVhbnMgdGhhdCB0aGUgZ2VtIG9iamVjdCBjYW4KPiBiZSBkZWxl dGVkIHVuZGVybmVhdGggdXMsIGVzcGVjaWFsbHkgaW4gY2FzZXMgd2hlcmUgcHJpbWUgYnVmZmVy Cj4gZXhwb3J0IGlzIHVzZWQuCj4gCj4gTWFrZSBzdXJlIHRoYXQgYWxsIHVzZXJzcGFjZSBzdXJm YWNlcyB3aGljaCBhcmUgYmFja2VkIGJ5IGdlbSBvYmplY3RzCj4gaG9sZCBhIGdlbSByZWZlcmVu Y2UgdG8gbWFrZSBzdXJlIHRoZXkncmUgbm90IGRlbGV0ZWQgYmVmb3JlIHZtdwo+IHN1cmZhY2Vz IGFyZSBkb25lIHdpdGggdGhlbSwgd2hpY2ggZml4ZXM6Cj4gLS0tLS0tLS0tLS0tWyBjdXQgaGVy ZSBdLS0tLS0tLS0tLS0tCj4gcmVmY291bnRfdDogdW5kZXJmbG93OyB1c2UtYWZ0ZXItZnJlZS4K PiBXQVJOSU5HOiBDUFU6IDIgUElEOiAyNjMyIGF0IGxpYi9yZWZjb3VudC5jOjI4IHJlZmNvdW50 X3dhcm5fc2F0dXJhdGUrMHhmYi8weDE1MAo+IE1vZHVsZXMgbGlua2VkIGluOiBvdmVybGF5IHZz b2NrX2xvb3BiYWNrIHZtd192c29ja192aXJ0aW9fdHJhbnNwb3J0X2NvbW1vbiB2bXdfdnNvY2tf dm1jaV90cmFuc3BvcnQgdnNvY2sgc25kX2VuczEzNzEgc25kX2FjOTdfY29kZWMgYWM5N19idXMg c25kX3BjbSBnYW1lcG9ydD4KPiBDUFU6IDIgUElEOiAyNjMyIENvbW06IHZtd19yZWZfY291bnQg Tm90IHRhaW50ZWQgNi41LjAtcmMyLXZtd2dmeCAjMQo+IEhhcmR3YXJlIG5hbWU6IFZNd2FyZSwg SW5jLiBWTXdhcmUgVmlydHVhbCBQbGF0Zm9ybS80NDBCWCBEZXNrdG9wIFJlZmVyZW5jZSBQbGF0 Zm9ybSwgQklPUyA2LjAwIDExLzEyLzIwMjAKPiBSSVA6IDAwMTA6cmVmY291bnRfd2Fybl9zYXR1 cmF0ZSsweGZiLzB4MTUwCj4gQ29kZTogZWIgOWUgMGYgYjYgMWQgOGIgNWIgYTYgMDEgODAgZmIg MDEgMGYgODcgYmEgZTQgODAgMDAgODMgZTMgMDEgNzUgODkgNDggYzcgYzcgYzAgM2MgZjkgYTMg YzYgMDUgNmYgNWIgYTYgMDEgMDEgZTggMTUgODEgOTggZmYgPDBmPiAwYiBlOSA2ZiBmZiBmZiBm ZiAwZiBiPgo+IFJTUDogMDAxODpmZmZmYmRjMzQzNDRiYmEwIEVGTEFHUzogMDAwMTAyODYKPiBS QVg6IDAwMDAwMDAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAwMDAwMDAwIFJDWDogMDAwMDAwMDAw MDAwMDAyNwo+IFJEWDogZmZmZjk2MDQ3NWVhMTU0OCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJ OiBmZmZmOTYwNDc1ZWExNTQwCj4gUkJQOiBmZmZmYmRjMzQzNDRiYmE4IFIwODogMDAwMDAwMDAw MDAwMDAwMyBSMDk6IDY1NjQ2ZTc1MjAzYTc0NWYKPiBSMTA6IGZmZmZmZmZmYTViMzJiMjAgUjEx OiA3MjY1NzQ2NjYxMmQ2NTczIFIxMjogZmZmZjk2MDM3ZDZhNjQwMAo+IFIxMzogZmZmZjk2MDM0 ODQ4MDViMCBSMTQ6IDAwMDAwMDAwMDAwMDAwMGIgUjE1OiBmZmZmOTYwM2JlZDA2MDYwCj4gRlM6 wqAgMDAwMDdmNWZkODUyMGM0MCgwMDAwKSBHUzpmZmZmOTYwNDc1ZTgwMDAwKDAwMDApIGtubEdT OjAwMDAwMDAwMDAwMDAwMDAKPiBDUzrCoCAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAw MDAwMDA4MDA1MDAzMwo+IENSMjogMDAwMDdmNWZkYTc1NTAwMCBDUjM6IDAwMDAwMDAxMGQwMTIw MDUgQ1I0OiAwMDAwMDAwMDAwMzcwNmUwCj4gQ2FsbCBUcmFjZToKPiDCoDxUQVNLPgo+IMKgPyBz aG93X3JlZ3MrMHg2ZS8weDgwCj4gwqA/IHJlZmNvdW50X3dhcm5fc2F0dXJhdGUrMHhmYi8weDE1 MAo+IMKgPyBfX3dhcm4rMHg5MS8weDE1MAo+IMKgPyByZWZjb3VudF93YXJuX3NhdHVyYXRlKzB4 ZmIvMHgxNTAKPiDCoD8gcmVwb3J0X2J1ZysweDE5ZC8weDFiMAo+IMKgPyBoYW5kbGVfYnVnKzB4 NDYvMHg4MAo+IMKgPyBleGNfaW52YWxpZF9vcCsweDFkLzB4ODAKPiDCoD8gYXNtX2V4Y19pbnZh bGlkX29wKzB4MWYvMHgzMAo+IMKgPyByZWZjb3VudF93YXJuX3NhdHVyYXRlKzB4ZmIvMHgxNTAK PiDCoGRybV9nZW1fb2JqZWN0X2hhbmRsZV9wdXRfdW5sb2NrZWQrMHhiYS8weDExMCBbZHJtXQo+ IMKgZHJtX2dlbV9vYmplY3RfcmVsZWFzZV9oYW5kbGUrMHg2ZS8weDgwIFtkcm1dCj4gwqBkcm1f Z2VtX2hhbmRsZV9kZWxldGUrMHg2YS8weGMwIFtkcm1dCj4gwqA/IF9fcGZ4X3Ztd19ib191bnJl Zl9pb2N0bCsweDEwLzB4MTAgW3Ztd2dmeF0KPiDCoHZtd19ib191bnJlZl9pb2N0bCsweDMzLzB4 NDAgW3Ztd2dmeF0KPiDCoGRybV9pb2N0bF9rZXJuZWwrMHhiYy8weDE2MCBbZHJtXQo+IMKgZHJt X2lvY3RsKzB4MmQyLzB4NTgwIFtkcm1dCj4gwqA/IF9fcGZ4X3Ztd19ib191bnJlZl9pb2N0bCsw eDEwLzB4MTAgW3Ztd2dmeF0KPiDCoD8gZG9fdm1pX211bm1hcCsweGVlLzB4MTgwCj4gwqB2bXdf Z2VuZXJpY19pb2N0bCsweGJkLzB4MTgwIFt2bXdnZnhdCj4gwqB2bXdfdW5sb2NrZWRfaW9jdGwr MHgxOS8weDIwIFt2bXdnZnhdCj4gwqBfX3g2NF9zeXNfaW9jdGwrMHg5OS8weGQwCj4gwqBkb19z eXNjYWxsXzY0KzB4NWQvMHg5MAo+IMKgPyBzeXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4MmEv MHg1MAo+IMKgPyBkb19zeXNjYWxsXzY0KzB4NmQvMHg5MAo+IMKgPyBoYW5kbGVfbW1fZmF1bHQr MHgxNmUvMHgyZjAKPiDCoD8gZXhpdF90b191c2VyX21vZGVfcHJlcGFyZSsweDM0LzB4MTcwCj4g wqA/IGlycWVudHJ5X2V4aXRfdG9fdXNlcl9tb2RlKzB4ZC8weDIwCj4gwqA/IGlycWVudHJ5X2V4 aXQrMHgzZi8weDUwCj4gwqA/IGV4Y19wYWdlX2ZhdWx0KzB4OGUvMHgxOTAKPiDCoGVudHJ5X1NZ U0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDZlLzB4ZDgKPiBSSVA6IDAwMzM6MHg3ZjVmZGE1MWFh ZmYKPiBDb2RlOiAwMCA0OCA4OSA0NCAyNCAxOCAzMSBjMCA0OCA4ZCA0NCAyNCA2MCBjNyAwNCAy NCAxMCAwMCAwMCAwMCA0OCA4OSA0NCAyNCAwOCA0OCA4ZCA0NCAyNCAyMCA0OCA4OSA0NCAyNCAx MCBiOCAxMCAwMCAwMCAwMCAwZiAwNSA8NDE+IDg5IGMwIDNkIDAwIGYwIGZmIGZmIDc+Cj4gUlNQ OiAwMDJiOjAwMDA3ZmZkNTM2YTRkMzAgRUZMQUdTOiAwMDAwMDI0NiBPUklHX1JBWDogMDAwMDAw MDAwMDAwMDAxMAo+IFJBWDogZmZmZmZmZmZmZmZmZmZkYSBSQlg6IDAwMDA3ZmZkNTM2YTRkZTAg UkNYOiAwMDAwN2Y1ZmRhNTFhYWZmCj4gUkRYOiAwMDAwN2ZmZDUzNmE0ZGUwIFJTSTogMDAwMDAw MDA0MDA4NjQ0MiBSREk6IDAwMDAwMDAwMDAwMDAwMDMKPiBSQlA6IDAwMDAwMDAwNDAwODY0NDIg UjA4OiAwMDAwNTVmYTYwM2FkYTUwIFIwOTogMDAwMDAwMDAwMDAwMDAwMAo+IFIxMDogMDAwMDAw MDAwMDAwMDAwMSBSMTE6IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwN2ZmZDUzNmE1MWI4Cj4g UjEzOiAwMDAwMDAwMDAwMDAwMDAzIFIxNDogMDAwMDU1ZmE1ZWJiNGM4MCBSMTU6IDAwMDA3ZjVm ZGE5MGYwNDAKPiDCoDwvVEFTSz4KPiAtLS1bIGVuZCB0cmFjZSAwMDAwMDAwMDAwMDAwMDAwIF0t LS0KPiAKPiBBIGxvdCBvZiB0aGUgYW5hbHlpcyBvbiB0aGUgYnVnIHdhcyBkb25lIGJ5IE11cnJh eSBNY0FsbGlzdGVyIGFuZAo+IElhbiBGb3JiZXMuCj4gCj4gUmVwb3J0ZWQtYnk6IE11cnJheSBN Y0FsbGlzdGVyIDxtdXJyYXkubWNhbGxpc3RlckBnbWFpbC5jb20+Cj4gQ2M6IElhbiBGb3JiZXMg PGlmb3JiZXNAdm13YXJlLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBaYWNrIFJ1c2luIDx6YWNrckB2 bXdhcmUuY29tPgo+IEZpeGVzOiBhOTUwYjk4OWVhMjkgKCJkcm0vdm13Z2Z4OiBEbyBub3QgZHJv cCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBoYW5kbGUgdG9vIHNvb24iKQo+IENjOiA8c3RhYmxlQHZn ZXIua2VybmVsLm9yZz4gIyB2Ni4yKwoKRG8geW91IHJlbWVtYmVyIHRoZSBwYXJ0aWN1bGFyIHJl YXNvbiB0aGlzIHdhcyBtYXJrZWQgNi4yKz8KCldlIHNlZSB0aGlzIG9uIERlYmlhbiA2LjEuNjcg KHdoaWNoIGF0IGxlYXN0IGhhcyB0aGUgbWVudGlvbmVkCiJkcm0vdm13Z2Z4OiBEbyBub3QgZHJv cCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBoYW5kbGUgdG9vIHNvb24iKToKCi0tLS0tLS0tLS0tLVsg Y3V0IGhlcmUgXS0tLS0tLS0tLS0tLQpyZWZjb3VudF90OiB1bmRlcmZsb3c7IHVzZS1hZnRlci1m cmVlLgpXQVJOSU5HOiBDUFU6IDAgUElEOiAxOTQ1IGF0IGxpYi9yZWZjb3VudC5jOjI4IHJlZmNv dW50X3dhcm5fc2F0dXJhdGUrMHhiYS8weDExMApNb2R1bGVzIGxpbmtlZCBpbjogLi4uCkNQVTog MCBQSUQ6IDE5NDUgQ29tbToga3NwbGFzaHFtbCBUYWludGVkOiBHICAgICAgICAgICBPRSAgICAg IDYuMS4wLTE2LWFtZDY0ICMxICBEZWJpYW4gNi4xLjY3LTEKSGFyZHdhcmUgbmFtZTogVk13YXJl LCBJbmMuIFZNd2FyZSBWaXJ0dWFsIFBsYXRmb3JtLzQ0MEJYIERlc2t0b3AgUmVmZXJlbmNlIFBs YXRmb3JtLCBCSU9TIDYuMDAgMTEvMTIvMjAyMApSSVA6IDAwMTA6cmVmY291bnRfd2Fybl9zYXR1 cmF0ZSsweGJhLzB4MTEwCkNvZGU6IC4uLgpSU1A6IDAwMTg6ZmZmZmIzY2I0MWNmYmM1OCBFRkxB R1M6IDAwMDEwMjg2ClJBWDogMDAwMDAwMDAwMDAwMDAwMCBSQlg6IGZmZmY4ZDdkYTA1ZGRlMDAg UkNYOiAwMDAwMDAwMDAwMDAwMDI3ClJEWDogZmZmZjhkODAyZGUyMDNhOCBSU0k6IDAwMDAwMDAw MDAwMDAwMDEgUkRJOiBmZmZmOGQ4MDJkZTIwM2EwClJCUDogZmZmZjhkN2QxMTBmNTgwMCBSMDg6 IDAwMDAwMDAwMDAwMDAwMDAgUjA5OiBmZmZmYjNjYjQxY2ZiYWQwClIxMDogMDAwMDAwMDAwMDAw MDAwMyBSMTE6IGZmZmY4ZDgwM2ZlYzFiMjggUjEyOiAwMDAwMDAwMDAwMDAwMDE1ClIxMzogZmZm ZjhkN2QxMTBmNTg1OCBSMTQ6IGZmZmY4ZDdkMTEwZjU4NDAgUjE1OiAwMDAwMDAwMDAwMDAwMDE1 CkZTOiAgMDAwMDdmNjU4NGNjOTljMCgwMDAwKSBHUzpmZmZmOGQ4MDJkZTAwMDAwKDAwMDApIGtu bEdTOjAwMDAwMDAwMDAwMDAwMDAKQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAw MDAwMDA4MDA1MDAzMwpDUjI6IDAwMDA3ZmNhOTI4YTUwMDAgQ1IzOiAwMDAwMDAwMTQzZjEyMDA0 IENSNDogMDAwMDAwMDAwMDM3MDZmMApDYWxsIFRyYWNlOgogPFRBU0s+CiA/IF9fd2FybisweDdk LzB4YzAKID8gcmVmY291bnRfd2Fybl9zYXR1cmF0ZSsweGJhLzB4MTEwCiA/IHJlcG9ydF9idWcr MHhlMi8weDE1MAogPyBoYW5kbGVfYnVnKzB4NDEvMHg3MAogPyBleGNfaW52YWxpZF9vcCsweDEz LzB4NjAKID8gYXNtX2V4Y19pbnZhbGlkX29wKzB4MTYvMHgyMAogPyByZWZjb3VudF93YXJuX3Nh dHVyYXRlKzB4YmEvMHgxMTAKID8gcmVmY291bnRfd2Fybl9zYXR1cmF0ZSsweGJhLzB4MTEwCiBk cm1fZ2VtX2hhbmRsZV9kZWxldGUrMHg4Yy8weGQwIFtkcm1dCiA/IHZtd19ib19jcmVhdGUrMHhh MC8weGEwIFt2bXdnZnhdCiB2bXdfYm9fdW5yZWZfaW9jdGwrMHhmLzB4MjAgW3Ztd2dmeF0KIGRy bV9pb2N0bF9rZXJuZWwrMHhjNi8weDE3MCBbZHJtXQogZHJtX2lvY3RsKzB4MjJmLzB4NDEwIFtk cm1dCiA/IHZtd19ib19jcmVhdGUrMHhhMC8weGEwIFt2bXdnZnhdCiA/IGRybV9pb2N0bF9rZXJu ZWwrMHgxNzAvMHgxNzAgW2RybV0KIHZtd19nZW5lcmljX2lvY3RsKzB4YTQvMHgxMTAgW3Ztd2dm eF0KIF9feDY0X3N5c19pb2N0bCsweDhkLzB4ZDAKIGRvX3N5c2NhbGxfNjQrMHg1OC8weGMwCiA/ IGV4aXRfdG9fdXNlcl9tb2RlX3ByZXBhcmUrMHg0MC8weDFlMAogPyBzeXNjYWxsX2V4aXRfdG9f dXNlcl9tb2RlKzB4MjcvMHg0MAogPyBkb19zeXNjYWxsXzY0KzB4NjcvMHhjMAogPyB2bXdfZ2Vu ZXJpY19pb2N0bCsweGE0LzB4MTEwIFt2bXdnZnhdCiA/IGV4aXRfdG9fdXNlcl9tb2RlX3ByZXBh cmUrMHg0MC8weDFlMAogPyBzeXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4MjcvMHg0MAogPyBk b19zeXNjYWxsXzY0KzB4NjcvMHhjMAogPyBzeXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlKzB4Mjcv MHg0MAogPyBkb19zeXNjYWxsXzY0KzB4NjcvMHhjMAogPyBkb19zeXNjYWxsXzY0KzB4NjcvMHhj MAogZW50cnlfU1lTQ0FMTF82NF9hZnRlcl9od2ZyYW1lKzB4NjQvMHhjZQpSSVA6IDAwMzM6MHg3 ZjY1ODlmMWNiNWIKQ29kZTogLi4uClJTUDogMDAyYjowMDAwN2ZmZjBjYjRiYjUwIEVGTEFHUzog MDAwMDAyNDYgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMTAKUkFYOiBmZmZmZmZmZmZmZmZmZmRh IFJCWDogMDAwMDdmNjU0NDY5OTZjMCBSQ1g6IDAwMDA3ZjY1ODlmMWNiNWIKUkRYOiAwMDAwN2Zm ZjBjYjRiYmYwIFJTSTogMDAwMDAwMDA0MDA4NjQ0MiBSREk6IDAwMDAwMDAwMDAwMDAwMDkKUkJQ OiAwMDAwN2ZmZjBjYjRiYmYwIFIwODogMDAwMDAwMDAwMDAwMDAwNyBSMDk6IDAwMDA1NWUxNjA4 YzFmZDAKUjEwOiA3M2FmMmQyNjNhMWNlN2Q3IFIxMTogMDAwMDAwMDAwMDAwMDI0NiBSMTI6IDAw MDAwMDAwNDAwODY0NDIKUjEzOiAwMDAwMDAwMDAwMDAwMDA5IFIxNDogMDAwMDU1ZTE2MDYzODQw MCBSMTU6IDAwMDA3ZjY1OGI2MTYwMjAKIDwvVEFTSz4KLS0tWyBlbmQgdHJhY2UgMDAwMDAwMDAw MDAwMDAwMCBdLS0tCgpNYXliZSB0aGUgc3ViamVjdCBwYXRjaCBzaGFsbCBiZSBxdWV1ZWQgZm9y IHN0YWJsZSBhcyB3ZWxsPwoKPiAtLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X2JvLmPCoMKgwqDCoMKgwqAgfMKgIDcgKysrLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4 L3Ztd2dmeF9iby5owqDCoMKgwqDCoMKgIHwgMTcgKysrKysrKysrLS0tLQo+IMKgZHJpdmVycy9n cHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jwqAgfMKgIDYgKystLS0KPiDCoGRyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5owqDCoMKgwqDCoCB8wqAgNCArKysKPiDCoGRyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2V4ZWNidWYuY8KgIHwgMTAgKysrKystLS0KPiDCoGRy aXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2dlbS5jwqDCoMKgwqDCoCB8IDE4ICsrKysrKysr KysrLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuY8KgwqDCoMKgwqAg fMKgIDYgKystLS0KPiDCoGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X292ZXJsYXkuY8Kg IHzCoCAyICstCj4gwqBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5jIHwg MTIgKysrKy0tLS0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zaGFkZXIuY8Kg wqAgfMKgIDQgKy0tCj4gwqBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9zdXJmYWNlLmPC oCB8IDMxICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+IMKgMTEgZmlsZXMgY2hhbmdlZCwgNjgg aW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9iby5jCj4gaW5kZXggYzQzODUzNTk3Nzc2Li4yYmZhYzNhYWQ3YjcgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS92bXdnZngvdm13Z2Z4X2JvLmMKPiBAQCAtMzQsNiArMzQsOCBAQAo+IMKgCj4gwqBzdGF0aWMg dm9pZCB2bXdfYm9fcmVsZWFzZShzdHJ1Y3Qgdm13X2JvICp2Ym8pCj4gwqB7Cj4gK8KgwqDCoMKg wqDCoMKgV0FSTl9PTih2Ym8tPnRiby5iYXNlLmZ1bmNzICYmCj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGtyZWZfcmVhZCgmdmJvLT50Ym8uYmFzZS5yZWZjb3VudCkgIT0gMCk7Cj4g wqDCoMKgwqDCoMKgwqDCoHZtd19ib191bm1hcCh2Ym8pOwo+IMKgwqDCoMKgwqDCoMKgwqBkcm1f Z2VtX29iamVjdF9yZWxlYXNlKCZ2Ym8tPnRiby5iYXNlKTsKPiDCoH0KPiBAQCAtNDk3LDcgKzQ5 OSw3IEBAIHN0YXRpYyBpbnQgdm13X3VzZXJfYm9fc3luY2NwdV9yZWxlYXNlKHN0cnVjdCBkcm1f ZmlsZSAqZmlscCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICghKGZsYWdz ICYgZHJtX3Ztd19zeW5jY3B1X2FsbG93X2NzKSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGF0b21pY19kZWMoJnZtd19iby0+Y3B1X3dyaXRlcnMp Owo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZih2bXdfYm8pOwo+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZigmdm13X2JvKTsKPiDCoMKgwqDCoMKg wqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gQEAgLTUzOSw3ICs1 NDEsNyBAQCBpbnQgdm13X3VzZXJfYm9fc3luY2NwdV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJldCA9IHZtd191c2VyX2JvX3N5bmNjcHVfZ3JhYih2Ym8sIGFyZy0+ZmxhZ3MpOwo+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZih2Ym8pOwo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZigmdmJvKTsKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGlmICh1bmxpa2VseShyZXQgIT0gMCkpIHsK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAocmV0 ID09IC1FUkVTVEFSVFNZUyB8fCByZXQgPT0gLUVCVVNZKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVCVVNZ Owo+IEBAIC02MTIsNyArNjE0LDYgQEAgaW50IHZtd191c2VyX2JvX2xvb2t1cChzdHJ1Y3QgZHJt X2ZpbGUgKmZpbHAsCj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqAq b3V0ID0gdG9fdm13X2JvKGdvYmopOwo+IC3CoMKgwqDCoMKgwqDCoHR0bV9ib19nZXQoJigqb3V0 KS0+dGJvKTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiDCoH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uaCBiL2RyaXZlcnMvZ3B1L2Ry bS92bXdnZngvdm13Z2Z4X2JvLmgKPiBpbmRleCAxZDQzM2ZjZWVkM2QuLjBkNDk2ZGM5YzZhZiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9iby5oCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfYm8uaAo+IEBAIC0xOTUsMTIgKzE5NSwxOSBA QCBzdGF0aWMgaW5saW5lIHN0cnVjdCB2bXdfYm8gKnZtd19ib19yZWZlcmVuY2Uoc3RydWN0IHZt d19ibyAqYnVmKQo+IMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gYnVmOwo+IMKgfQo+IMKgCj4gLXN0 YXRpYyBpbmxpbmUgdm9pZCB2bXdfdXNlcl9ib191bnJlZihzdHJ1Y3Qgdm13X2JvICp2Ym8pCj4g K3N0YXRpYyBpbmxpbmUgc3RydWN0IHZtd19ibyAqdm13X3VzZXJfYm9fcmVmKHN0cnVjdCB2bXdf Ym8gKnZibykKPiDCoHsKPiAtwqDCoMKgwqDCoMKgwqBpZiAodmJvKSB7Cj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHR0bV9ib19wdXQoJnZiby0+dGJvKTsKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgZHJtX2dlbV9vYmplY3RfcHV0KCZ2Ym8tPnRiby5iYXNlKTsKPiAt wqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgZHJtX2dlbV9vYmplY3RfZ2V0KCZ2Ym8t PnRiby5iYXNlKTsKPiArwqDCoMKgwqDCoMKgwqByZXR1cm4gdmJvOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgaW5saW5lIHZvaWQgdm13X3VzZXJfYm9fdW5yZWYoc3RydWN0IHZtd19ibyAqKmJ1ZikKPiAr ewo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCB2bXdfYm8gKnRtcF9idWYgPSAqYnVmOwo+ICsKPiAr wqDCoMKgwqDCoMKgwqAqYnVmID0gTlVMTDsKPiArwqDCoMKgwqDCoMKgwqBpZiAodG1wX2J1ZikK PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZHJtX2dlbV9vYmplY3RfcHV0KCZ0bXBf YnVmLT50Ym8uYmFzZSk7Cj4gwqB9Cj4gwqAKPiDCoHN0YXRpYyBpbmxpbmUgc3RydWN0IHZtd19i byAqdG9fdm13X2JvKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ29iaikKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jIGIvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfY290YWJsZS5jCj4gaW5kZXggYzBiMjRkMWNhY2JmLi5hN2MwNzY5MjI2 MmIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY290YWJsZS5jCj4gQEAgLTQz Miw3ICs0MzIsNyBAQCBzdGF0aWMgaW50IHZtd19jb3RhYmxlX3Jlc2l6ZShzdHJ1Y3Qgdm13X3Jl c291cmNlICpyZXMsIHNpemVfdCBuZXdfc2l6ZSkKPiDCoMKgwqDCoMKgwqDCoMKgICogZm9yIHRo ZSBuZXcgQ09UYWJsZS4gSW5pdGlhbGx5IHBpbiB0aGUgYnVmZmVyIG9iamVjdCB0byBtYWtlIHN1 cmUKPiDCoMKgwqDCoMKgwqDCoMKgICogd2UgY2FuIHVzZSB0cnlyZXNlcnZlIHdpdGhvdXQgZmFp bHVyZS4KPiDCoMKgwqDCoMKgwqDCoMKgICovCj4gLcKgwqDCoMKgwqDCoMKgcmV0ID0gdm13X2Jv X2NyZWF0ZShkZXZfcHJpdiwgJmJvX3BhcmFtcywgJmJ1Zik7Cj4gK8KgwqDCoMKgwqDCoMKgcmV0 ID0gdm13X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCAmYm9fcGFyYW1zLCAmYnVmKTsKPiDC oMKgwqDCoMKgwqDCoMKgaWYgKHJldCkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgRFJNX0VSUk9SKCJGYWlsZWQgaW5pdGlhbGl6aW5nIG5ldyBjb3RhYmxlIE1PQi5cbiIpOwo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ290byBvdXRfZG9uZTsKPiBAQCAtNTAy LDcgKzUwMiw3IEBAIHN0YXRpYyBpbnQgdm13X2NvdGFibGVfcmVzaXplKHN0cnVjdCB2bXdfcmVz b3VyY2UgKnJlcywgc2l6ZV90IG5ld19zaXplKQo+IMKgCj4gwqDCoMKgwqDCoMKgwqDCoHZtd19y ZXNvdXJjZV9tb2JfYXR0YWNoKHJlcyk7Cj4gwqDCoMKgwqDCoMKgwqDCoC8qIExldCBnbyBvZiB0 aGUgb2xkIG1vYi4gKi8KPiAtwqDCoMKgwqDCoMKgwqB2bXdfYm9fdW5yZWZlcmVuY2UoJm9sZF9i dWYpOwo+ICvCoMKgwqDCoMKgwqDCoHZtd191c2VyX2JvX3VucmVmKCZvbGRfYnVmKTsKPiDCoMKg wqDCoMKgwqDCoMKgcmVzLT5pZCA9IHZjb3RibC0+dHlwZTsKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqByZXQgPSBkbWFfcmVzdl9yZXNlcnZlX2ZlbmNlcyhiby0+YmFzZS5yZXN2LCAxKTsKPiBAQCAt NTIxLDcgKzUyMSw3IEBAIHN0YXRpYyBpbnQgdm13X2NvdGFibGVfcmVzaXplKHN0cnVjdCB2bXdf cmVzb3VyY2UgKnJlcywgc2l6ZV90IG5ld19zaXplKQo+IMKgb3V0X3dhaXQ6Cj4gwqDCoMKgwqDC oMKgwqDCoHR0bV9ib191bnBpbihibyk7Cj4gwqDCoMKgwqDCoMKgwqDCoHR0bV9ib191bnJlc2Vy dmUoYm8pOwo+IC3CoMKgwqDCoMKgwqDCoHZtd19ib191bnJlZmVyZW5jZSgmYnVmKTsKPiArwqDC oMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZigmYnVmKTsKPiDCoAo+IMKgb3V0X2RvbmU6Cj4g wqDCoMKgwqDCoMKgwqDCoE1LU19TVEFUX1RJTUVfUE9QKE1LU1NUQVRfS0VSTl9DT1RBQkxFX1JF U0laRSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2LmgKPiBpbmRleCA1OGJmZGYyMDNl Y2EuLjNjZDUwOTBkZWRmYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Zt d2dmeF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5oCj4g QEAgLTg1Myw2ICs4NTMsMTAgQEAgc3RhdGljIGlubGluZSBib29sIHZtd19yZXNvdXJjZV9tb2Jf YXR0YWNoZWQoY29uc3Qgc3RydWN0IHZtd19yZXNvdXJjZSAqcmVzKQo+IMKgLyoqCj4gwqAgKiBH RU0gcmVsYXRlZCBmdW5jdGlvbmFsaXR5IC0gdm13Z2Z4X2dlbS5jCj4gwqAgKi8KPiArc3RydWN0 IHZtd19ib19wYXJhbXM7Cj4gK2ludCB2bXdfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IHZtd19w cml2YXRlICp2bXcsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJ1Y3Qgdm13X2JvX3BhcmFtcyAqcGFyYW1zLAo+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHZtd19ibyAqKnBfdmJvKTsK PiDCoGV4dGVybiBpbnQgdm13X2dlbV9vYmplY3RfY3JlYXRlX3dpdGhfaGFuZGxlKHN0cnVjdCB2 bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbHAsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1 aW50MzJfdCBzaXplLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9leGVjYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKPiBp bmRleCA5OGUwNzIzY2E2ZjUuLjA2YjA2MzUwZjYxZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9leGVjYnVmLmMKPiBAQCAtMTE1MSw3ICsxMTUxLDcgQEAgc3RhdGljIGludCB2 bXdfdHJhbnNsYXRlX21vYl9wdHIoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIFNWR0FNb2JJZCAqaWQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qgdm13X2JvICoqdm13X2JvX3ApCj4g wqB7Cj4gLcKgwqDCoMKgwqDCoMKgc3RydWN0IHZtd19ibyAqdm13X2JvOwo+ICvCoMKgwqDCoMKg wqDCoHN0cnVjdCB2bXdfYm8gKnZtd19ibywgKnRtcF9ibzsKPiDCoMKgwqDCoMKgwqDCoMKgdWlu dDMyX3QgaGFuZGxlID0gKmlkOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgdm13X3JlbG9jYXRp b24gKnJlbG9jOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgcmV0Owo+IEBAIC0xMTY0LDcgKzExNjQs OCBAQCBzdGF0aWMgaW50IHZtd190cmFuc2xhdGVfbW9iX3B0cihzdHJ1Y3Qgdm13X3ByaXZhdGUg KmRldl9wcml2LAo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqDCoMKgwqDCoMKgwqDCoHZtd19ib19w bGFjZW1lbnRfc2V0KHZtd19ibywgVk1XX0JPX0RPTUFJTl9NT0IsIFZNV19CT19ET01BSU5fTU9C KTsKPiDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gdm13X3ZhbGlkYXRpb25fYWRkX2JvKHN3X2NvbnRl eHQtPmN0eCwgdm13X2JvKTsKPiAtwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZih2bXdf Ym8pOwo+ICvCoMKgwqDCoMKgwqDCoHRtcF9ibyA9IHZtd19ibzsKPiArwqDCoMKgwqDCoMKgwqB2 bXdfdXNlcl9ib191bnJlZigmdG1wX2JvKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHVubGlrZWx5 KHJldCAhPSAwKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7 Cj4gwqAKPiBAQCAtMTIwNiw3ICsxMjA3LDcgQEAgc3RhdGljIGludCB2bXdfdHJhbnNsYXRlX2d1 ZXN0X3B0cihzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNWR0FH dWVzdFB0ciAqcHRyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB2bXdfYm8gKip2bXdfYm9fcCkKPiDC oHsKPiAtwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgdm13X2JvICp2bXdfYm87Cj4gK8KgwqDCoMKgwqDC oMKgc3RydWN0IHZtd19ibyAqdm13X2JvLCAqdG1wX2JvOwo+IMKgwqDCoMKgwqDCoMKgwqB1aW50 MzJfdCBoYW5kbGUgPSBwdHItPmdtcklkOwo+IMKgwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qgdm13X3Jl bG9jYXRpb24gKnJlbG9jOwo+IMKgwqDCoMKgwqDCoMKgwqBpbnQgcmV0Owo+IEBAIC0xMjIwLDcg KzEyMjEsOCBAQCBzdGF0aWMgaW50IHZtd190cmFuc2xhdGVfZ3Vlc3RfcHRyKHN0cnVjdCB2bXdf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqDCoMKgwqDCoMKgwqDCoHZtd19ib19wbGFjZW1lbnRfc2V0 KHZtd19ibywgVk1XX0JPX0RPTUFJTl9HTVIgfCBWTVdfQk9fRE9NQUlOX1ZSQU0sCj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVk1XX0JP X0RPTUFJTl9HTVIgfCBWTVdfQk9fRE9NQUlOX1ZSQU0pOwo+IMKgwqDCoMKgwqDCoMKgwqByZXQg PSB2bXdfdmFsaWRhdGlvbl9hZGRfYm8oc3dfY29udGV4dC0+Y3R4LCB2bXdfYm8pOwo+IC3CoMKg wqDCoMKgwqDCoHZtd191c2VyX2JvX3VucmVmKHZtd19ibyk7Cj4gK8KgwqDCoMKgwqDCoMKgdG1w X2JvID0gdm13X2JvOwo+ICvCoMKgwqDCoMKgwqDCoHZtd191c2VyX2JvX3VucmVmKCZ0bXBfYm8p Owo+IMKgwqDCoMKgwqDCoMKgwqBpZiAodW5saWtlbHkocmV0ICE9IDApKQo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiDCoAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2dlbS5jCj4gaW5kZXggYzBkYTg5ZTE2ZTZmLi44YjFlYjAwNjE2MTAgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZ2VtLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9nZW0uYwo+IEBAIC0xMTEsNiArMTExLDIwIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2dlbV9vYmplY3RfZnVuY3Mgdm13X2dlbV9vYmplY3RfZnVuY3Mg PSB7Cj4gwqDCoMKgwqDCoMKgwqDCoC52bV9vcHMgPSAmdm13X3ZtX29wcywKPiDCoH07Cj4gwqAK PiAraW50IHZtd19nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3Qgdm13X3ByaXZhdGUgKnZtdywKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB2 bXdfYm9fcGFyYW1zICpwYXJhbXMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3Qgdm13X2JvICoqcF92Ym8pCj4gK3sKPiArwqDCoMKgwqDC oMKgwqBpbnQgcmV0ID0gdm13X2JvX2NyZWF0ZSh2bXcsIHBhcmFtcywgcF92Ym8pOwo+ICsKPiAr wqDCoMKgwqDCoMKgwqBpZiAocmV0ICE9IDApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGdvdG8gb3V0X25vX2JvOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAoKnBfdmJvKS0+dGJvLmJh c2UuZnVuY3MgPSAmdm13X2dlbV9vYmplY3RfZnVuY3M7Cj4gK291dF9ub19ibzoKPiArwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+ICt9Cj4gKwo+IMKgaW50IHZtd19nZW1fb2JqZWN0X2NyZWF0 ZV93aXRoX2hhbmRsZShzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2LAo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHN0cnVjdCBkcm1fZmlsZSAqZmlscCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50MzJf dCBzaXplLAo+IEBAIC0xMjYsMTIgKzE0MCwxMCBAQCBpbnQgdm13X2dlbV9vYmplY3RfY3JlYXRl X3dpdGhfaGFuZGxlKHN0cnVjdCB2bXdfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAucGluID0gZmFsc2UKPiDCoMKgwqDCoMKgwqDCoMKgfTsKPiDC oAo+IC3CoMKgwqDCoMKgwqDCoHJldCA9IHZtd19ib19jcmVhdGUoZGV2X3ByaXYsICZwYXJhbXMs IHBfdmJvKTsKPiArwqDCoMKgwqDCoMKgwqByZXQgPSB2bXdfZ2VtX29iamVjdF9jcmVhdGUoZGV2 X3ByaXYsICZwYXJhbXMsIHBfdmJvKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHJldCAhPSAwKQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ290byBvdXRfbm9fYm87Cj4gwqAKPiAt wqDCoMKgwqDCoMKgwqAoKnBfdmJvKS0+dGJvLmJhc2UuZnVuY3MgPSAmdm13X2dlbV9vYmplY3Rf ZnVuY3M7Cj4gLQo+IMKgwqDCoMKgwqDCoMKgwqByZXQgPSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUo ZmlscCwgJigqcF92Ym8pLT50Ym8uYmFzZSwgaGFuZGxlKTsKPiDCoG91dF9ub19ibzoKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+ IGluZGV4IDE0ODlhZDczYzEwMy4uODE4YjdmMTA5ZjUzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dm eC92bXdnZnhfa21zLmMKPiBAQCAtMTQ3MSw4ICsxNDcxLDggQEAgc3RhdGljIGludCB2bXdfY3Jl YXRlX2JvX3Byb3h5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gwqDCoMKgwqDCoMKgwqDCoC8q IFJlc2VydmUgYW5kIHN3aXRjaCB0aGUgYmFja2luZyBtb2IuICovCj4gwqDCoMKgwqDCoMKgwqDC oG11dGV4X2xvY2soJnJlcy0+ZGV2X3ByaXYtPmNtZGJ1Zl9tdXRleCk7Cj4gwqDCoMKgwqDCoMKg wqDCoCh2b2lkKSB2bXdfcmVzb3VyY2VfcmVzZXJ2ZShyZXMsIGZhbHNlLCB0cnVlKTsKPiAtwqDC oMKgwqDCoMKgwqB2bXdfYm9fdW5yZWZlcmVuY2UoJnJlcy0+Z3Vlc3RfbWVtb3J5X2JvKTsKPiAt wqDCoMKgwqDCoMKgwqByZXMtPmd1ZXN0X21lbW9yeV9ibyA9IHZtd19ib19yZWZlcmVuY2UoYm9f bW9iKTsKPiArwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZigmcmVzLT5ndWVzdF9tZW1v cnlfYm8pOwo+ICvCoMKgwqDCoMKgwqDCoHJlcy0+Z3Vlc3RfbWVtb3J5X2JvID0gdm13X3VzZXJf Ym9fcmVmKGJvX21vYik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJlcy0+Z3Vlc3RfbWVtb3J5X29mZnNl dCA9IDA7Cj4gwqDCoMKgwqDCoMKgwqDCoHZtd19yZXNvdXJjZV91bnJlc2VydmUocmVzLCBmYWxz ZSwgZmFsc2UsIGZhbHNlLCBOVUxMLCAwKTsKPiDCoMKgwqDCoMKgwqDCoMKgbXV0ZXhfdW5sb2Nr KCZyZXMtPmRldl9wcml2LT5jbWRidWZfbXV0ZXgpOwo+IEBAIC0xNjY2LDcgKzE2NjYsNyBAQCBz dGF0aWMgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqdm13X2ttc19mYl9jcmVhdGUoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiDCoGVycl9vdXQ6Cj4gwqDCoMKgwqDCoMKgwqDCoC8qIHZtd191c2Vy X2xvb2t1cF9oYW5kbGUgdGFrZXMgb25lIHJlZiBzbyBkb2VzIG5ld19mYiAqLwo+IMKgwqDCoMKg wqDCoMKgwqBpZiAoYm8pCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZtd191c2Vy X2JvX3VucmVmKGJvKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X3VzZXJf Ym9fdW5yZWYoJmJvKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHN1cmZhY2UpCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfc3VyZmFjZV91bnJlZmVyZW5jZSgmc3VyZmFjZSk7 Cj4gwqAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfb3Zlcmxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfb3ZlcmxheS5jCj4gaW5kZXggZmI4 NWYyNDRjM2QwLi5jNDViNDcyNGU0MTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zt d2dmeC92bXdnZnhfb3ZlcmxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn Znhfb3ZlcmxheS5jCj4gQEAgLTQ1MSw3ICs0NTEsNyBAQCBpbnQgdm13X292ZXJsYXlfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiDCoAo+IMKgwqDCoMKgwqDCoMKg wqByZXQgPSB2bXdfb3ZlcmxheV91cGRhdGVfc3RyZWFtKGRldl9wcml2LCBidWYsIGFyZywgdHJ1 ZSk7Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZihidWYpOwo+ICvCoMKg wqDCoMKgwqDCoHZtd191c2VyX2JvX3VucmVmKCZidWYpOwo+IMKgCj4gwqBvdXRfdW5sb2NrOgo+ IMKgwqDCoMKgwqDCoMKgwqBtdXRleF91bmxvY2soJm92ZXJsYXktPm11dGV4KTsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYyBiL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNlLmMKPiBpbmRleCA3MWVlYWJmMDAxYzguLmNh MzAwYzc0MjdkMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9y ZXNvdXJjZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2Uu Ywo+IEBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIHZvaWQgdm13X3Jlc291cmNlX3JlbGVhc2Uo c3RydWN0IGtyZWYgKmtyZWYpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAo cmVzLT5jb2hlcmVudCkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqB2bXdfYm9fZGlydHlfcmVsZWFzZShyZXMtPmd1ZXN0X21lbW9yeV9ibyk7Cj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB0dG1fYm9fdW5yZXNlcnZlKGJvKTsKPiAtwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X2JvX3VucmVmZXJlbmNlKCZyZXMtPmd1ZXN0 X21lbW9yeV9ibyk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZtd191c2VyX2Jv X3VucmVmKCZyZXMtPmd1ZXN0X21lbW9yeV9ibyk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqBpZiAobGlrZWx5KHJlcy0+aHdfZGVzdHJveSAhPSBOVUxMKSkgewo+ IEBAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIGludCB2bXdfcmVzb3VyY2VfYnVmX2FsbG9jKHN0 cnVjdCB2bXdfcmVzb3VyY2UgKnJlcywKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHJldHVybiAwOwo+IMKgwqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqByZXQg PSB2bXdfYm9fY3JlYXRlKHJlcy0+ZGV2X3ByaXYsICZib19wYXJhbXMsICZnYm8pOwo+ICvCoMKg wqDCoMKgwqDCoHJldCA9IHZtd19nZW1fb2JqZWN0X2NyZWF0ZShyZXMtPmRldl9wcml2LCAmYm9f cGFyYW1zLCAmZ2JvKTsKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHVubGlrZWx5KHJldCAhPSAwKSkK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdvdG8gb3V0X25vX2JvOwo+IMKgCj4g QEAgLTQ1NywxMSArNDU3LDExIEBAIHZvaWQgdm13X3Jlc291cmNlX3VucmVzZXJ2ZShzdHJ1Y3Qg dm13X3Jlc291cmNlICpyZXMsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgdm13X3Jlc291cmNlX21vYl9kZXRhY2gocmVzKTsKPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAocmVzLT5jb2hlcmVudCkKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgdm13X2JvX2RpcnR5X3JlbGVhc2UocmVzLT5ndWVzdF9tZW1vcnlfYm8pOwo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X2JvX3VucmVmZXJl bmNlKCZyZXMtPmd1ZXN0X21lbW9yeV9ibyk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfdXNlcl9ib191bnJlZigmcmVzLT5ndWVzdF9tZW1vcnlf Ym8pOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAobmV3X2d1ZXN0X21lbW9yeV9ibykgewo+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVzLT5ndWVzdF9tZW1v cnlfYm8gPSB2bXdfYm9fcmVmZXJlbmNlKG5ld19ndWVzdF9tZW1vcnlfYm8pOwo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVzLT5ndWVzdF9tZW1vcnlf Ym8gPSB2bXdfdXNlcl9ib19yZWYobmV3X2d1ZXN0X21lbW9yeV9ibyk7Cj4gwqAKPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKgo+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIFRoZSB2YWxpZGF0aW9uIGNv ZGUgc2hvdWxkIGFscmVhZHkgaGF2ZSBhZGRlZCBhCj4gQEAgLTU1MSw3ICs1NTEsNyBAQCB2bXdf cmVzb3VyY2VfY2hlY2tfYnVmZmVyKHN0cnVjdCB3d19hY3F1aXJlX2N0eCAqdGlja2V0LAo+IMKg wqDCoMKgwqDCoMKgwqB0dG1fYm9fcHV0KHZhbF9idWYtPmJvKTsKPiDCoMKgwqDCoMKgwqDCoMKg dmFsX2J1Zi0+Ym8gPSBOVUxMOwo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoZ3Vlc3RfbWVtb3J5X2Rp cnR5KQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfYm9fdW5yZWZlcmVuY2Uo JnJlcy0+Z3Vlc3RfbWVtb3J5X2JvKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg dm13X3VzZXJfYm9fdW5yZWYoJnJlcy0+Z3Vlc3RfbWVtb3J5X2JvKTsKPiDCoAo+IMKgwqDCoMKg wqDCoMKgwqByZXR1cm4gcmV0Owo+IMKgfQo+IEBAIC03MjcsNyArNzI3LDcgQEAgaW50IHZtd19y ZXNvdXJjZV92YWxpZGF0ZShzdHJ1Y3Qgdm13X3Jlc291cmNlICpyZXMsIGJvb2wgaW50ciwKPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGdvdG8gb3V0X25vX3ZhbGlkYXRlOwo+IMKg wqDCoMKgwqDCoMKgwqBlbHNlIGlmICghcmVzLT5mdW5jLT5uZWVkc19ndWVzdF9tZW1vcnkgJiYg cmVzLT5ndWVzdF9tZW1vcnlfYm8pIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oFdBUk5fT05fT05DRSh2bXdfcmVzb3VyY2VfbW9iX2F0dGFjaGVkKHJlcykpOwo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB2bXdfYm9fdW5yZWZlcmVuY2UoJnJlcy0+Z3Vlc3RfbWVt b3J5X2JvKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X3VzZXJfYm9fdW5y ZWYoJnJlcy0+Z3Vlc3RfbWVtb3J5X2JvKTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKgCj4gwqDC oMKgwqDCoMKgwqDCoHJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF9zaGFkZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3NoYWRl ci5jCj4gaW5kZXggMWU4MWZmMjQyMmNmLi5hMDFjYTMyMjZkMGEgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc2hhZGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9zaGFkZXIuYwo+IEBAIC0xODAsNyArMTgwLDcgQEAgc3RhdGljIGlu dCB2bXdfZ2Jfc2hhZGVyX2luaXQoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiwKPiDCoAo+ IMKgwqDCoMKgwqDCoMKgwqByZXMtPmd1ZXN0X21lbW9yeV9zaXplID0gc2l6ZTsKPiDCoMKgwqDC oMKgwqDCoMKgaWYgKGJ5dGVfY29kZSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqByZXMtPmd1ZXN0X21lbW9yeV9ibyA9IHZtd19ib19yZWZlcmVuY2UoYnl0ZV9jb2RlKTsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmVzLT5ndWVzdF9tZW1vcnlfYm8gPSB2bXdf dXNlcl9ib19yZWYoYnl0ZV9jb2RlKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oHJlcy0+Z3Vlc3RfbWVtb3J5X29mZnNldCA9IG9mZnNldDsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+ IMKgwqDCoMKgwqDCoMKgwqBzaGFkZXItPnNpemUgPSBzaXplOwo+IEBAIC04MDksNyArODA5LDcg QEAgc3RhdGljIGludCB2bXdfc2hhZGVyX2RlZmluZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNoYWRlcl90eXBlLCBu dW1faW5wdXRfc2lnLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtX291dHB1dF9zaWcsIHRmaWxlLCBzaGFk ZXJfaGFuZGxlKTsKPiDCoG91dF9iYWRfYXJnOgo+IC3CoMKgwqDCoMKgwqDCoHZtd191c2VyX2Jv X3VucmVmKGJ1ZmZlcik7Cj4gK8KgwqDCoMKgwqDCoMKgdm13X3VzZXJfYm9fdW5yZWYoJmJ1ZmZl cik7Cj4gwqDCoMKgwqDCoMKgwqDCoHJldHVybiByZXQ7Cj4gwqB9Cj4gwqAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jIGIvZHJpdmVycy9ncHUv ZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jCj4gaW5kZXggNWRiNDAzZWU4MjYxLi4zODI5YmUy ODJmZjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFj ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfc3VyZmFjZS5jCj4gQEAg LTY4Niw5ICs2ODYsNiBAQCBzdGF0aWMgdm9pZCB2bXdfdXNlcl9zdXJmYWNlX2Jhc2VfcmVsZWFz ZShzdHJ1Y3QgdHRtX2Jhc2Vfb2JqZWN0ICoqcF9iYXNlKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgY29udGFpbmVyX29mKGJhc2UsIHN0cnVjdCB2bXdfdXNlcl9zdXJmYWNlLCBwcmltZS5iYXNl KTsKPiDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IHZtd19yZXNvdXJjZSAqcmVzID0gJnVzZXJfc3Jm LT5zcmYucmVzOwo+IMKgCj4gLcKgwqDCoMKgwqDCoMKgaWYgKHJlcy0+Z3Vlc3RfbWVtb3J5X2Jv KQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkcm1fZ2VtX29iamVjdF9wdXQoJnJl cy0+Z3Vlc3RfbWVtb3J5X2JvLT50Ym8uYmFzZSk7Cj4gLQo+IMKgwqDCoMKgwqDCoMKgwqAqcF9i YXNlID0gTlVMTDsKPiDCoMKgwqDCoMKgwqDCoMKgdm13X3Jlc291cmNlX3VucmVmZXJlbmNlKCZy ZXMpOwo+IMKgfQo+IEBAIC04NTUsMjMgKzg1MiwyMSBAQCBpbnQgdm13X3N1cmZhY2VfZGVmaW5l X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gwqDCoMKgwqDCoMKg wqDCoCAqIGV4cGVjdCBhIGJhY2t1cCBidWZmZXIgdG8gYmUgcHJlc2VudC4KPiDCoMKgwqDCoMKg wqDCoMKgICovCj4gwqDCoMKgwqDCoMKgwqDCoGlmIChkZXZfcHJpdi0+aGFzX21vYiAmJiByZXEt PnNoYXJlYWJsZSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1aW50MzJfdCBi YWNrdXBfaGFuZGxlOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0g dm13X2dlbV9vYmplY3RfY3JlYXRlX3dpdGhfaGFuZGxlKGRldl9wcml2LAo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGZpbGVfcHJpdiwKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXMt Pmd1ZXN0X21lbW9yeV9zaXplLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCZiYWNrdXBfaGFuZGxlLAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCZyZXMtPmd1ZXN0X21lbW9yeV9ibyk7 Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHN0cnVjdCB2bXdfYm9fcGFyYW1zIHBh cmFtcyA9IHsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oC5kb21haW4gPSBWTVdfQk9fRE9NQUlOX1NZUywKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoC5idXN5X2RvbWFpbiA9IFZNV19CT19ET01BSU5fU1lTLAo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgLmJvX3R5cGUg PSB0dG1fYm9fdHlwZV9kZXZpY2UsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAuc2l6ZSA9IHJlcy0+Z3Vlc3RfbWVtb3J5X3NpemUsCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAucGluID0gZmFsc2UKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHJldCA9IHZtd19nZW1fb2JqZWN0X2NyZWF0ZShkZXZfcHJpdiwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgICZwYXJhbXMsCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAmcmVzLT5ndWVzdF9tZW1vcnlfYm8pOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgaWYgKHVubGlrZWx5KHJldCAhPSAwKSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZtd19yZXNvdXJjZV91bnJlZmVyZW5jZSgmcmVzKTsK PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3RvIG91 dF91bmxvY2s7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB9Cj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZtd19ib19yZWZlcmVuY2UocmVzLT5ndWVzdF9tZW1vcnlf Ym8pOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKgo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKiBXZSBkb24ndCBleHBvc2UgdGhlIGhhbmRsZSB0byB0aGUgdXNl cnNwYWNlIGFuZCBzdXJmYWNlCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGFs cmVhZHkgaG9sZHMgYSBnZW0gcmVmZXJlbmNlCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAqLwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkcm1fZ2VtX2hhbmRsZV9k ZWxldGUoZmlsZV9wcml2LCBiYWNrdXBfaGFuZGxlKTsKPiDCoMKgwqDCoMKgwqDCoMKgfQo+IMKg Cj4gwqDCoMKgwqDCoMKgwqDCoHRtcCA9IHZtd19yZXNvdXJjZV9yZWZlcmVuY2UoJnNyZi0+cmVz KTsKPiBAQCAtMTUxMiw3ICsxNTA3LDcgQEAgdm13X2diX3N1cmZhY2VfZGVmaW5lX2ludGVybmFs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpZiAocmV0ID09IDApIHsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqBpZiAocmVzLT5ndWVzdF9tZW1vcnlfYm8tPnRiby5iYXNlLnNpemUgPCByZXMt Pmd1ZXN0X21lbW9yeV9zaXplKSB7Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoFZNV19ERUJVR19VU0VSKCJTdXJmYWNlIGJh Y2t1cCBidWZmZXIgdG9vIHNtYWxsLlxuIik7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X2JvX3VucmVmZXJlbmNlKCZy ZXMtPmd1ZXN0X21lbW9yeV9ibyk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X3VzZXJfYm9fdW5yZWYoJnJlcy0+Z3Vl c3RfbWVtb3J5X2JvKTsKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0ID0gLUVJTlZBTDsKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZ290byBvdXRf dW5sb2NrOwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oH0gZWxzZSB7Cj4gQEAgLTE1MjYsOCArMTUyMSw2IEBAIHZtd19nYl9zdXJmYWNlX2RlZmluZV9p bnRlcm5hbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXMtPmd1ZXN0X21lbW9yeV9zaXplLAo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAm YmFja3VwX2hhbmRsZSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgJnJlcy0+Z3Vlc3RfbWVtb3J5X2JvKTsKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgaWYgKHJldCA9PSAwKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgdm13X2JvX3JlZmVyZW5jZShyZXMtPmd1ZXN0X21lbW9yeV9i byk7Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IMKgwqDCoMKgwqDCoMKgwqBpZiAodW5saWtl bHkocmV0ICE9IDApKSB7CgotLSAKQWxleGFuZGVyIFN2ZXJkbGluClNpZW1lbnMgQUcKd3d3LnNp ZW1lbnMuY29tCg==