From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bartlomiej Zolnierkiewicz Subject: Re: [PATCH v3] Fix loading of module radeonfb on PowerMac Date: Thu, 08 Feb 2018 14:28:11 +0100 Message-ID: <22661745.JSDcq4C6er@amdc3058> References: <1479153557-20849-1-git-send-email-malat@debian.org> <2327325.HZp8yQY9TN@amdc3058> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id A9BC36E15B for ; Thu, 8 Feb 2018 13:28:16 +0000 (UTC) In-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mathieu Malaterre Cc: Linux Fbdev development list , linux-kernel@vger.kernel.org, dri-devel , Tomi Valkeinen , Lennart Sorensen List-Id: dri-devel@lists.freedesktop.org T24gV2VkbmVzZGF5LCBKYW51YXJ5IDMxLCAyMDE4IDA4OjUxOjIzIFBNIE1hdGhpZXUgTWFsYXRl cnJlIHdyb3RlOgo+IEJhcnRsb21pZWosCj4gCj4gT24gV2VkLCBKYW4gMzEsIDIwMTggYXQgMTI6 NTcgUE0sIEJhcnRsb21pZWogWm9sbmllcmtpZXdpY3oKPiA8Yi56b2xuaWVya2llQHNhbXN1bmcu Y29tPiB3cm90ZToKPiA+IE9uIFR1ZXNkYXksIEphbnVhcnkgMzAsIDIwMTggMDI6MTQ6MTAgUE0g TWF0aGlldSBNYWxhdGVycmUgd3JvdGU6Cj4gPj4gQmFydGxvbWllaiwKPiA+Pgo+ID4+IE9uIFdl ZCwgSmFuIDMsIDIwMTggYXQgMzo0NyBQTSwgQmFydGxvbWllaiBab2xuaWVya2lld2ljego+ID4+ IDxiLnpvbG5pZXJraWVAc2Ftc3VuZy5jb20+IHdyb3RlOgo+ID4+ID4KPiA+PiA+IE9uIFRodXJz ZGF5LCBEZWNlbWJlciAyMSwgMjAxNyAxMTowNzo1NiBQTSBNYXRoaWV1IE1hbGF0ZXJyZSB3cm90 ZToKPiA+PiA+PiBXaGVuIHRoZSBsaW51eCBrZXJuZWwgaXMgYnVpbGQgd2l0aCAodHlwaWNhbCBr ZXJuZWwgc2hpcCB3aXRoIERlYmlhbgo+ID4+ID4+IGluc3RhbGxlcik6Cj4gPj4gPj4KPiA+PiA+ PiBDT05GSUdfRkJfT0Y9eQo+ID4+ID4+IENPTkZJR19WVF9IV19DT05TT0xFX0JJTkRJTkc9eQo+ ID4+ID4+IENPTkZJR19GQl9SQURFT049bQo+ID4+ID4+Cj4gPj4gPj4gVGhlIG9mZmIgZHJpdmVy IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBtb2R1bGUgcmFkZW9uZmIuIEl0IGlzIHRoZW4KPiA+PiA+ PiBpbXBvc3NpYmxlIHRvIGxvYWQgdGhlIG1vZHVsZSwgZXJyb3IgcmVwb3J0ZWQgaXM6Cj4gPj4g Pj4KPiA+PiA+PiBbICAgOTYuNTUxNDg2XSByYWRlb25mYiAwMDAwOjAwOjEwLjA6IGVuYWJsaW5n IGRldmljZSAoMDAwNiAtPiAwMDA3KQo+ID4+ID4+IFsgICA5Ni41NTE1MjZdIHJhZGVvbmZiIDAw MDA6MDA6MTAuMDogQkFSIDA6IGNhbid0IHJlc2VydmUgW21lbSAweDk4MDAwMDAwLTB4OWZmZmZm ZmYgcHJlZl0KPiA+PiA+PiBbICAgOTYuNTUxNTMxXSByYWRlb25mYiAoMDAwMDowMDoxMC4wKTog Y2Fubm90IHJlcXVlc3QgcmVnaW9uIDAuCj4gPj4gPj4gWyAgIDk2LjU1MTU0NV0gcmFkZW9uZmI6 IHByb2JlIG9mIDAwMDA6MDA6MTAuMCBmYWlsZWQgd2l0aCBlcnJvciAtMTYKPiA+PiA+Pgo+ID4+ ID4+IFRoaXMgcGF0Y2ggcmVwcm9kdWNlIHRoZSBiZWhhdmlvciBvZiB0aGUgbW9kdWxlIHJhZGVv biwgc28gYXMgdG8gbWFrZSBpdAo+ID4+ID4+IHBvc3NpYmxlIHRvIGxvYWQgcmFkZW9uZmIgd2hl biBvZmZiIGlzIGZpcnN0IGxvYWRlZC4KPiA+PiA+Pgo+ID4+ID4+IEl0IHNob3VsZCBiZSBub3Rp Y2VkIHRoYXQgYG9mZmJfZGVzdHJveWAgaXMgbmV2ZXIgY2FsbGVkIHdoaWNoIGV4cGxhaW4gdGhl Cj4gPj4gPj4gbmVlZCB0byBza2lwIGVycm9yIGRldGVjdGlvbiBvbiB0aGUgcmFkZW9uIHNpZGUu Cj4gPj4gPgo+ID4+ID4gVGhpcyBzdGlsbCBuZWVkcyB0byBiZSBleHBsYWluZWQgbW9yZSwgZnJv bSBteSBsYXN0IG1haWw6Cj4gPj4gPgo+ID4+ID4gIlRoZSBsYXN0IHB1dF9mYl9pbmZvKCkgb24g ZmJfaW5mbyBzaG91bGQgY2FsbCAtPmZiX2Rlc3Ryb3kKPiA+PiA+IChvZmZiX2Rlc3Ryb3kgaW4g b3VyIGNhc2UpIGFuZCByZW1vdmVfY29uZmxpY3RpbmdfZnJhbWVidWZmZXJzKCkKPiA+PiA+IGlz IGNhbGxpbmcgcHV0X2ZiX2luZm8oKSBzbyB0aGVyZSBpcyBzb21lIGV4dHJhIHJlZmVyZW5jZSBv bgo+ID4+ID4gZmJfaW5mbyBzb21ld2hlcmUgcHJldmVudGluZyBpdCBmcm9tIGdvaW5nIGF3YXku Cj4gPj4gPgo+ID4+ID4gUGxlYXNlIGxvb2sgaW50byBmaXhpbmcgdGhpcy4iCj4gPj4KPiA+PiBJ IGFtIG5vdCBmYW1pbGlhciB3aXRoIHRoZSBmYiBzdHVmZiBpbnRlcm5hbHMgYnV0IGhlcmUgaXMg d2hhdCBJIHNlZToKPiA+Pgo+ID4+ICMgbW9kcHJvYmUgcmFkZW9uZmIKPiA+Pgo+ID4+IGxlYWRz IHRvOgo+ID4+Cj4gPj4gWyAgIDUyLjA1ODU0Nl0gYnVzOiAncGNpJzogYWRkIGRyaXZlciByYWRl b25mYgo+ID4+IFsgICA1Mi4wNTg1ODhdIGJ1czogJ3BjaSc6IGRyaXZlcl9wcm9iZV9kZXZpY2U6 IG1hdGNoZWQgZGV2aWNlCj4gPj4gMDAwMDowMDoxMC4wIHdpdGggZHJpdmVyIHJhZGVvbmZiCj4g Pj4gWyAgIDUyLjA1ODU5NV0gYnVzOiAncGNpJzogcmVhbGx5X3Byb2JlOiBwcm9iaW5nIGRyaXZl ciByYWRlb25mYiB3aXRoCj4gPj4gZGV2aWNlIDAwMDA6MDA6MTAuMAo+ID4+IFsgICA1Mi4wNTg2 MDhdIGRldmljZXNfa3NldDogTW92aW5nIDAwMDA6MDA6MTAuMCB0byBlbmQgb2YgbGlzdAo+ID4+ IFsgICA1Mi4wNTg2MTNdIHJhZGVvbmZiX3BjaV9yZWdpc3RlciBCRUdJTgo+ID4+IFsgICA1Mi4w NTg2MzRdIHJhZGVvbmZiIDAwMDA6MDA6MTAuMDogZW5hYmxpbmcgZGV2aWNlICgwMDA2IC0+IDAw MDcpCj4gPj4gPGF0IHRoaXMgcG9pbnQgcmFkZW9uX2tpY2tfb3V0X2Zpcm13YXJlX2ZiIGlzIGNh bGxlZD4KPiA+PiBbICAgNTIuMDU4NjY2XSBjaGVja2luZyBnZW5lcmljICg5YzAwODAwMCA5NjAw MCkgdnMgaHcgKDk4MDAwMDAwIDgwMDAwMDApCj4gPj4gWyAgIDUyLjA1ODY2N10gZmI6IHN3aXRj aGluZyB0byByYWRlb25mYiBmcm9tIE9GZmIgQVRZLFJvY2tIbwo+ID4+IFsgICA1Mi4wNTg4NDRd IENvbnNvbGU6IHN3aXRjaGluZyB0byBjb2xvdXIgZHVtbXkgZGV2aWNlIDgweDI1Cj4gPj4gWyAg IDUyLjA1ODg2MF0gZGV2aWNlOiAnZmIwJzogZGV2aWNlX3VucmVnaXN0ZXIKPiA+PiBbICAgNTIu MDU4OTU2XSBQTTogUmVtb3ZpbmcgaW5mbyBmb3IgTm8gQnVzOmZiMAo+ID4+IFsgICA1Mi4wNTkw MTRdIGRldmljZTogJ2ZiMCc6IGRldmljZV9jcmVhdGVfcmVsZWFzZQo+ID4+IDxhIGNhbGwgdG8g ZG9fdW5yZWdpc3Rlcl9mcmFtZWJ1ZmZlciBpcyBkb25lPgo+ID4+IDxwdXRfZmJfaW5mbyBpcyBk b25lIHdpdGggYSBjb3VudD0yIGFuZCBkZXY9TlVMTD4KPiA+PiBbICAgNTIuMDU5MDQ4XSBkZXZp Y2U6ICd2dGNvbjEnOiBkZXZpY2VfdW5yZWdpc3Rlcgo+ID4+IFsgICA1Mi4wNTkwNzZdIFBNOiBS ZW1vdmluZyBpbmZvIGZvciBObyBCdXM6dnRjb24xCj4gPj4gWyAgIDUyLjA1OTA5MV0gZGV2aWNl OiAndnRjb24xJzogZGV2aWNlX2NyZWF0ZV9yZWxlYXNlCj4gPj4gWyAgIDUyLjA1OTEwN10gcmFk ZW9uZmIgMDAwMDowMDoxMC4wOiBCQVIgMDogY2FuJ3QgcmVzZXJ2ZSBbbWVtCj4gPj4gMHg5ODAw MDAwMC0weDlmZmZmZmZmIHByZWZdCj4gPj4gWyAgIDUyLjI1NjE1MV0gYXBlcl9iYXNlOiA5ODAw MDAwMCBNQ19GQl9MT0MgdG86IDliZmY5ODAwLCBNQ19BR1BfTE9DCj4gPj4gdG86IGZmZmZhMDAw Cj4gPj4gWyAgIDUyLjI1NjE1N10gcmFkZW9uZmIgKDAwMDA6MDA6MTAuMCk6IEZvdW5kIDMyNzY4 ayBvZiBERFIgNjQgYml0cwo+ID4+IHdpZGUgdmlkZW9yYW0KPiA+Pgo+ID4+IEkgY2FuIGNvbmZp cm0gdGhhdCBvZmZiX2Rlc3Ryb3kgaXMgbmV2ZXIgY2FsbGVkIChub3Qgc3VyZSBleGFjdGx5Cj4g Pj4gd2h5KSwgYnV0IGluIGFueSBjYXNlIHRoZSBjYWxsIHRvIHJhZGVvbl9raWNrX291dF9maXJt d2FyZV9mYiBoYXBwZW4KPiA+PiBtdWNoIGVhcmxpZXIsIGF0IGxlYXN0IGJlZm9yZSB0aGUgcHV0 X2ZiX2luZm8uCj4gPgo+ID4gSXQgaXMgb2theSwgcHV0X2ZiX2luZm8oKSBpcyBjYWxsZWQgaW5k aXJlY3RseSBieSByYWRlb25fa2lja19vdXRfZmlybXdhcmVfZmIoKQo+ID4KPiA+IHJhZGVvbl9r aWNrX291dF9maXJtd2FyZV9mYigpCj4gPiAgICAgICAgIHJlbW92ZV9jb25mbGljdGluZ19mcmFt ZWJ1ZmZlcnMoKQo+ID4gICAgICAgICAgICAgICAgIGRvX3JlbW92ZV9jb25mbGljdGluZ19mcmFt ZWJ1ZmZlcnMoKQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgZG9fdW5yZWdpc3Rlcl9mcmFt ZWJ1ZmZlcigpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1dF9mYl9pbmZv KCkKPiA+Cj4gPiBvZmZiX2Rlc3Ryb3koKSBpcyBub3QgY2FsbGVkIGJlY2F1c2UgdGhlcmUgaXMg YW4gZXh0cmEgcmVmZXJlbmNlIG9uIG9sZAo+ID4gZmJfaW5mbyAoLT5jb3VudCA9PSAyKToKPiA+ Cj4gPiBzdGF0aWMgdm9pZCBwdXRfZmJfaW5mbyhzdHJ1Y3QgZmJfaW5mbyAqZmJfaW5mbykKPiA+ IHsKPiA+ICAgICAgICAgaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZmYl9pbmZvLT5jb3VudCkp Cj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gICAgICAgICBpZiAoZmJfaW5mby0+ZmJv cHMtPmZiX2Rlc3Ryb3kpCj4gPiAgICAgICAgICAgICAgICAgZmJfaW5mby0+ZmJvcHMtPmZiX2Rl c3Ryb3koZmJfaW5mbyk7Cj4gPiB9Cj4gPgo+ID4gVGhlIHF1ZXN0aW9uIGlzIHdoeSB0aGVyZSBp cyBhbiBleHRyYSByZWZlcmVuY2UsIHByb2JhYmx5IHVzZXItc3BhY2UKPiA+IGlzIHN0aWxsIGhv bGRpbmcgdGhlIGZiX2luZm8gcmVmZXJlbmNlIG9idGFpbmVkIGluIGZiX29wZW4oKSBjYWxsIGFu ZAo+ID4gZmJfcmVsZWFzZSgpIGlzIG5ldmVyIGNhbGxlZC4gQmVzaWRlcyBub3QgY2FsbGluZyBm Ym9wcy0+ZmJfZGVzdHJveSgpCj4gPiB0aGlzIGFsc28gY2F1c2VzIG1pc3NpbmcgY2FsbCBvZiBm Ym9wcy0+ZmJfcmVsZWFzZSgpIChpbiBmYl9yZWxlYXNlKCkpCj4gPiB3aGljaCBzb21lIGZiIGRy aXZlcnMgYXJlIGltcGxlbWVudGluZyAoYnV0IG5vdCBvZmZiLmMpLgo+ID4KPiA+PiBDb3VsZCB5 b3UgZGVzY3JpYmUgYSBiaXQgbW9yZSB0aGUgY2hhaW4gb2YgY2FsbHMgeW91IHdlcmUgdGhpbmtp bmcgb2YgPwo+ID4KPiA+IFBsZWFzZSBhZGQgV0FSTl9PTigxKSB0byBnZXRfZmJfaW5mbygpIGFu ZCBwdXRfZmJfaW5mbygpIHNvIHdlIGNhbiBjaGVjawo+ID4gZnJvbSB0aGUgc3RhY2t0cmFjZSBp ZiBpdCBpcyBhY3R1YWxseSBmYl9vcGVuKCkgdGhhdCBob2xkcyB0aGUgZXh0cmEKPiA+IG9sZCBm Yl9pbmZvIHJlZmVyZW5jZS4KPiA+Cj4gPiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2NvcmUvZmJtZW0u YzoKPiA+Cj4gPiBzdGF0aWMgc3RydWN0IGZiX2luZm8gKmdldF9mYl9pbmZvKHVuc2lnbmVkIGlu dCBpZHgpCj4gPiB7Cj4gPiAgICAgICAgIHN0cnVjdCBmYl9pbmZvICpmYl9pbmZvOwo+ID4KPiA+ ICAgICAgICAgaWYgKGlkeCA+PSBGQl9NQVgpCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIEVS Ul9QVFIoLUVOT0RFVik7Cj4gPgo+ID4gICAgICAgICBtdXRleF9sb2NrKCZyZWdpc3RyYXRpb25f bG9jayk7Cj4gPiAgICAgICAgIGZiX2luZm8gPSByZWdpc3RlcmVkX2ZiW2lkeF07Cj4gPiAgICAg ICAgIGlmIChmYl9pbmZvKQo+ID4gICAgICAgICAgICAgICAgIGF0b21pY19pbmMoJmZiX2luZm8t PmNvdW50KTsKPiA+Cj4gPiBpZiAoZmJfaW5mbykKPiA+ICAgICAgICAgV0FSTl9PTigxKTsKPiA+ Cj4gPiAgICAgICAgIG11dGV4X3VubG9jaygmcmVnaXN0cmF0aW9uX2xvY2spOwo+ID4KPiA+ICAg ICAgICAgcmV0dXJuIGZiX2luZm87Cj4gPiB9Cj4gPgo+ID4gc3RhdGljIHZvaWQgcHV0X2ZiX2lu Zm8oc3RydWN0IGZiX2luZm8gKmZiX2luZm8pCj4gPiB7Cj4gPiBXQVJOX09OKDEpOwo+ID4KPiA+ ICAgICAgICAgaWYgKCFhdG9taWNfZGVjX2FuZF90ZXN0KCZmYl9pbmZvLT5jb3VudCkpCj4gPiAg ICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gICAgICAgICBpZiAoZmJfaW5mby0+ZmJvcHMtPmZi X2Rlc3Ryb3kpCj4gPiAgICAgICAgICAgICAgICAgZmJfaW5mby0+ZmJvcHMtPmZiX2Rlc3Ryb3ko ZmJfaW5mbyk7Cj4gPiB9Cj4gCj4gCj4gQWxyaWdodCwgaGVyZSBpcyB3aGF0IEkgc2VlOgo+IAo+ IFsgICAxOC45NjE2MzldIFBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOnZjczcKPiBbICAgMTgu OTY2NDQ4XSBkZXZpY2U6ICd2Y3NhNyc6IGRldmljZV9hZGQKPiBbICAgMTguOTY2NDk2XSBQTTog QWRkaW5nIGluZm8gZm9yIE5vIEJ1czp2Y3NhNwo+IFsgICAxOS4wMDE3MDFdIFdBUk5JTkc6IENQ VTogMCBQSUQ6IDQwNSBhdAo+IGRyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYm1lbS5jOjY4IGdl dF9mYl9pbmZvLnBhcnQuMysweDU4LzB4N2MKPiBbICAgMTkuMDAxNzE1XSBNb2R1bGVzIGxpbmtl ZCBpbjogdWlucHV0IHNuZF9hb2FfY29kZWNfdG9vbmllCj4gc25kX2FvYV9mYWJyaWNfbGF5b3V0 IHNuZF9hb2Egc25kX2FvYV9pMnNidXMgc25kX2FvYV9zb3VuZGJ1cyBzbmRfcGNtCj4gc25kX3Rp bWVyIHNuZCBzb3VuZGNvcmUgcmFja19tZXRlciBldmRldiBpMmNfZGV2IHNnIHVzYl9zdG9yYWdl Cj4gaXBfdGFibGVzIHhfdGFibGVzIGF1dG9mczQgZXh0NCBjcmMxNiBtYmNhY2hlIGpiZDIgZnNj cnlwdG8KPiBoaWRfZ2VuZXJpYyB1c2JoaWQgaGlkIG9oY2lfcGNpIGVoY2lfcGNpIG9oY2lfaGNk IGVoY2lfaGNkIHN1bmdlbQo+IGZpcmV3aXJlX29oY2kgc3VuZ2VtX3BoeSBzcl9tb2QgZmlyZXdp cmVfY29yZSBjcmNfaXR1X3QgY2Ryb20gc2RfbW9kCj4gdXNiY29yZQo+IFsgICAxOS4wMDE3NzNd IENQVTogMCBQSUQ6IDQwNSBDb21tOiBYb3JnIE5vdCB0YWludGVkIDQuMTUuMCsgIzMyMQo+IFsg ICAxOS4wMDE3NzhdIE5JUDogIGMwMzllZjIwIExSOiBjMDM5ZWVmYyBDVFI6IGMwMzllZjQ0Cj4g WyAgIDE5LjAwMTc4MV0gUkVHUzogZGVjYzdjODAgVFJBUDogMDcwMCAgIE5vdCB0YWludGVkICAo NC4xNS4wKykKPiBbICAgMTkuMDAxNzg0XSBNU1I6ICAwMDAyOTAzMiA8RUUsTUUsSVIsRFIsUkk+ ICBDUjogMjgyMjI4MjggIFhFUjogMDAwMDAwMDAKPiBbICAgMTkuMDAxNzk1XQo+ICAgICAgICAg ICAgICAgIEdQUjAwOiBjMDM5ZWVmYyBkZWNjN2QzMCBjMTQ3YWIwMCAwMDAwMDAwMCBkYzNlZDhj MAo+IGRmNTY4YTZjIDAwMDAwMDAxIGMxNDdhYjAwCj4gICAgICAgICAgICAgICAgR1BSMDg6IGRm NTY4YTZjIDAwMDAwMDAyIDAwMDAwMDAwIGRjMjgwYzUwIDI4MjIyODIyCj4gMDA2ZjlmZjQgMDA2 ZmZmNTAgODAwMDAwMDAKPiAgICAgICAgICAgICAgICBHUFIxNjogODgwMDAyMjggMDAwMDAwMDgg YmZjYjViMDggMDAwMDAwMDIgZGVjYzdlNjAKPiA4MDAwMDAwMCBmZmZmZmZlYSAwMDAwMDA0MQo+ ICAgICAgICAgICAgICAgIEdQUjI0OiAwMDAwMDAwMCAwMDAwMDAwNiBkZjU2OGE2YyBkYzNlZDhj MCBkZjVlZjFlOAo+IGRmNTY4YTQwIGMwOGY3YzE4IGRjMTk4ODAwCj4gWyAgIDE5LjAwMTgzNV0g TklQIFtjMDM5ZWYyMF0gZ2V0X2ZiX2luZm8ucGFydC4zKzB4NTgvMHg3Ywo+IFsgICAxOS4wMDE4 NDBdIExSIFtjMDM5ZWVmY10gZ2V0X2ZiX2luZm8ucGFydC4zKzB4MzQvMHg3Ywo+IFsgICAxOS4w MDE4NDJdIENhbGwgVHJhY2U6Cj4gWyAgIDE5LjAwMTg0OF0gW2RlY2M3ZDMwXSBbYzAzOWVlZmNd IGdldF9mYl9pbmZvLnBhcnQuMysweDM0LzB4N2MgKHVucmVsaWFibGUpCj4gWyAgIDE5LjAwMTg1 NF0gW2RlY2M3ZDQwXSBbYzAzOWVmYTBdIGZiX29wZW4rMHg1Yy8weDE4Ywo+IFsgICAxOS4wMDE4 NjZdIFtkZWNjN2Q2MF0gW2MwMWUwZTkwXSBjaHJkZXZfb3BlbisweGI4LzB4MTljCj4gWyAgIDE5 LjAwMTg3Ml0gW2RlY2M3ZDkwXSBbYzAxZDc5OTRdIGRvX2RlbnRyeV9vcGVuKzB4MjRjLzB4Mzk4 Cj4gWyAgIDE5LjAwMTg4MV0gW2RlY2M3ZGMwXSBbYzAxZWMzNzhdIHBhdGhfb3BlbmF0KzB4NGM0 LzB4MTFiOAo+IFsgICAxOS4wMDE4ODhdIFtkZWNjN2U1MF0gW2MwMWVlMGQ4XSBkb19maWxwX29w ZW4rMHhiYy8weDEwYwo+IFsgICAxOS4wMDE4OTNdIFtkZWNjN2YwMF0gW2MwMWQ5M2IwXSBkb19z eXNfb3BlbisweDE1OC8weDIyOAo+IFsgICAxOS4wMDE5MDFdIFtkZWNjN2Y0MF0gW2MwMDE4MWNj XSByZXRfZnJvbV9zeXNjYWxsKzB4MC8weDQwCj4gWyAgIDE5LjAwMTkwOF0gLS0tIGludGVycnVw dDogYzAxIGF0IDB4Yjc1MWI5NDAKPiAgICAgICAgICAgICAgICAgICAgTFIgPSAweGI3NTFiOGRj Cj4gWyAgIDE5LjAwMTkxMl0gSW5zdHJ1Y3Rpb24gZHVtcDoKPiBbICAgMTkuMDAxOTE3XSA3ZmMz ZjM3OCA1N2ZmMTAzYSA0ODJjYzE3MSAzZDIwYzA5MyAzOTI5MWE4NCA3ZmU5ZjgyZQo+IDJmOWYw MDAwIDQxOWUwMDE4Cj4gWyAgIDE5LjAwMTkyN10gN2QyMGY4MjggMzEyOTAwMDEgN2QyMGY5MmQg NDBhMmZmZjQgPDBmZTAwMDAwPiA3ZmMzZjM3OAo+IDQ4MmNjYTY5IDdmZTNmYjc4Cj4gWyAgIDE5 LjAwMTkzOF0gLS0tWyBlbmQgdHJhY2UgZTBiZjQxOTJlYjFjNGY2MCBdLS0tCj4gWyAgIDE5LjAw MTk4NV0gV0FSTklORzogQ1BVOiAwIFBJRDogNDA1IGF0Cj4gZHJpdmVycy92aWRlby9mYmRldi9j b3JlL2ZibWVtLmM6NzcgcHV0X2ZiX2luZm8rMHgxOC8weDY4Cj4gWyAgIDE5LjAwMTk4OF0gTW9k dWxlcyBsaW5rZWQgaW46IHVpbnB1dCBzbmRfYW9hX2NvZGVjX3Rvb25pZQo+IHNuZF9hb2FfZmFi cmljX2xheW91dCBzbmRfYW9hIHNuZF9hb2FfaTJzYnVzIHNuZF9hb2Ffc291bmRidXMgc25kX3Bj bQo+IHNuZF90aW1lciBzbmQgc291bmRjb3JlIHJhY2tfbWV0ZXIgZXZkZXYgaTJjX2RldiBzZyB1 c2Jfc3RvcmFnZQo+IGlwX3RhYmxlcyB4X3RhYmxlcyBhdXRvZnM0IGV4dDQgY3JjMTYgbWJjYWNo ZSBqYmQyIGZzY3J5cHRvCj4gaGlkX2dlbmVyaWMgdXNiaGlkIGhpZCBvaGNpX3BjaSBlaGNpX3Bj aSBvaGNpX2hjZCBlaGNpX2hjZCBzdW5nZW0KPiBmaXJld2lyZV9vaGNpIHN1bmdlbV9waHkgc3Jf bW9kIGZpcmV3aXJlX2NvcmUgY3JjX2l0dV90IGNkcm9tIHNkX21vZAo+IHVzYmNvcmUKPiBbICAg MTkuMDAyMDI4XSBDUFU6IDAgUElEOiA0MDUgQ29tbTogWG9yZyBUYWludGVkOiBHICAgICAgICBX Cj4gNC4xNS4wKyAjMzIxCj4gWyAgIDE5LjAwMjAzMV0gTklQOiAgYzAzOWU2ZWMgTFI6IGMwMzll ZWIwIENUUjogYzAzOWVlNDgKPiBbICAgMTkuMDAyMDM1XSBSRUdTOiBkZWNjN2UxMCBUUkFQOiAw NzAwICAgVGFpbnRlZDogRyAgICAgICAgVyAgICAgICAgICg0LjE1LjArKQo+IFsgICAxOS4wMDIw MzddIE1TUjogIDAwMDI5MDMyIDxFRSxNRSxJUixEUixSST4gIENSOiAyODAwMDIyMiAgWEVSOiAy MDAwMDAwMAo+IFsgICAxOS4wMDIwNDddCj4gICAgICAgICAgICAgICAgR1BSMDA6IGMwMzllZWIw IGRlY2M3ZWMwIGMxNDdhYjAwIGRjMTk4ODAwIGRjM2VkOGMwCj4gZGMzZWQ4YzggMDAwMDAwMDEg YzE0N2FiMDAKPiAgICAgICAgICAgICAgICBHUFIwODogMDAwMDAwMDAgYzA4ZmE2ZjggMDAwMDAw MDAgZGMyODBjNTAgMjgwMDAyMjgKPiAwMDZmOWZmNCAwMDZmZmY1MCAwMDAwMDAwMAo+ICAgICAg ICAgICAgICAgIEdQUjE2OiAwMDcwMDFhOCAwMDAwMDAwOCBiZmNiNWIwOCAwMDcwMDFhNCAwMDAw MDAwMAo+IDAwNzBkMGM0IDAwMDAwMDAyIDAwMDAwMDAwCj4gICAgICAgICAgICAgICAgR1BSMjQ6 IGI2YWQ4YjFjIGRjM2VkOGM4IGRmNWVmMWU4IGRmM2U0ZWUwIGRjMjgwYzUwCj4gZGY1ZWYxZTgg ZGMxOTg4MGMgZGMxOTg4MDAKPiBbICAgMTkuMDAyMDg2XSBOSVAgW2MwMzllNmVjXSBwdXRfZmJf aW5mbysweDE4LzB4NjgKPiBbICAgMTkuMDAyMDkxXSBMUiBbYzAzOWVlYjBdIGZiX3JlbGVhc2Ur MHg2OC8weDgwCj4gWyAgIDE5LjAwMjA5M10gQ2FsbCBUcmFjZToKPiBbICAgMTkuMDAyMDk2XSBb ZGVjYzdlYzBdIFtkZjVlZjFlOF0gMHhkZjVlZjFlOCAodW5yZWxpYWJsZSkKPiBbICAgMTkuMDAy MTAyXSBbZGVjYzdlZDBdIFtjMDM5ZWViMF0gZmJfcmVsZWFzZSsweDY4LzB4ODAKPiBbICAgMTku MDAyMTA4XSBbZGVjYzdlZTBdIFtjMDFkZDJlOF0gX19mcHV0KzB4YjQvMHgyNjAKPiBbICAgMTku MDAyMTE4XSBbZGVjYzdmMTBdIFtjMDA2ZTA4OF0gdGFza193b3JrX3J1bisweGMwLzB4ZTgKPiBb ICAgMTkuMDAyMTI5XSBbZGVjYzdmMzBdIFtjMDAwYWE5MF0gZG9fbm90aWZ5X3Jlc3VtZSsweGI0 LzB4YjgKPiBbICAgMTkuMDAyMTM1XSBbZGVjYzdmNDBdIFtjMDAxOGI0Y10gZG9fdXNlcl9zaWdu YWwrMHg3Yy8weGNjCj4gWyAgIDE5LjAwMjE0MF0gLS0tIGludGVycnVwdDogYzAwIGF0IDB4Yjc1 MWE3ZDgKPiAgICAgICAgICAgICAgICAgICAgTFIgPSAweGI3NTFhN2FjCj4gWyAgIDE5LjAwMjE0 NF0gSW5zdHJ1Y3Rpb24gZHVtcDoKPiBbICAgMTkuMDAyMTQ3XSA4MDAxMDAxNCAzODIxMDAxMCA3 YzA4MDNhNiA0ZTgwMDAyMCAzODYwMDAwMCA0ZTgwMDAyMAo+IDdjMDgwMmE2IDkwMDEwMDA0Cj4g WyAgIDE5LjAwMjE1N10gNjAwMDAwMDAgOTQyMWZmZjAgN2MwODAyYTYgOTAwMTAwMTQgPDBmZTAw MDAwPiA3ZDQwMTgyOAo+IDMxNGFmZmZmIDdkNDAxOTJkCj4gWyAgIDE5LjAwMjE2OF0gLS0tWyBl bmQgdHJhY2UgZTBiZjQxOTJlYjFjNGY2MSBdLS0tCj4gWyAgIDE5LjAwMjU5NV0gV0FSTklORzog Q1BVOiAwIFBJRDogNDA1IGF0Cj4gZHJpdmVycy92aWRlby9mYmRldi9jb3JlL2ZibWVtLmM6Njgg Z2V0X2ZiX2luZm8ucGFydC4zKzB4NTgvMHg3Ywo+IFsgICAxOS4wMDI2MDFdIE1vZHVsZXMgbGlu a2VkIGluOiB1aW5wdXQgc25kX2FvYV9jb2RlY190b29uaWUKPiBzbmRfYW9hX2ZhYnJpY19sYXlv dXQgc25kX2FvYSBzbmRfYW9hX2kyc2J1cyBzbmRfYW9hX3NvdW5kYnVzIHNuZF9wY20KPiBzbmRf dGltZXIgc25kIHNvdW5kY29yZSByYWNrX21ldGVyIGV2ZGV2IGkyY19kZXYgc2cgdXNiX3N0b3Jh Z2UKPiBpcF90YWJsZXMgeF90YWJsZXMgYXV0b2ZzNCBleHQ0IGNyYzE2IG1iY2FjaGUgamJkMiBm c2NyeXB0bwo+IGhpZF9nZW5lcmljIHVzYmhpZCBoaWQgb2hjaV9wY2kgZWhjaV9wY2kgb2hjaV9o Y2QgZWhjaV9oY2Qgc3VuZ2VtCj4gZmlyZXdpcmVfb2hjaSBzdW5nZW1fcGh5IHNyX21vZCBmaXJl d2lyZV9jb3JlIGNyY19pdHVfdCBjZHJvbSBzZF9tb2QKPiB1c2Jjb3JlCj4gWyAgIDE5LjAwMjY0 NV0gQ1BVOiAwIFBJRDogNDA1IENvbW06IFhvcmcgVGFpbnRlZDogRyAgICAgICAgVwo+IDQuMTUu MCsgIzMyMQo+IFsgICAxOS4wMDI2NDldIE5JUDogIGMwMzllZjIwIExSOiBjMDM5ZWVmYyBDVFI6 IGMwMzllZjQ0Cj4gWyAgIDE5LjAwMjY1Ml0gUkVHUzogZGVjYzdjODAgVFJBUDogMDcwMCAgIFRh aW50ZWQ6IEcgICAgICAgIFcgICAgICAgICAoNC4xNS4wKykKPiBbICAgMTkuMDAyNjU1XSBNU1I6 ICAwMDAyOTAzMiA8RUUsTUUsSVIsRFIsUkk+ICBDUjogMjgyMjIyNDggIFhFUjogMDAwMDAwMDAK PiBbICAgMTkuMDAyNjY0XQo+ICAgICAgICAgICAgICAgIEdQUjAwOiBjMDM5ZWVmYyBkZWNjN2Qz MCBjMTQ3YWIwMCAwMDAwMDAwMCBkZWNhMDM0MAo+IGRlY2EwMzQ4IDAwMDAwMDAxIDAwMDAwMDAw Cj4gICAgICAgICAgICAgICAgR1BSMDg6IDAwMDAwMDAwIDAwMDAwMDAyIDAwMDAwMDAwIGRjMjgw YzUwIDI4MjIyODQyCj4gMDA2ZjlmZjQgMDA2ZmZmNTAgODAwMDAwMDAKPiAgICAgICAgICAgICAg ICBHUFIxNjogODgwMDA0NDggMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDIgZGVjYzdlNjAKPiA4 MDAwMDAwMCBmZmZmZmZlYSAwMDAwMDA0MQo+ICAgICAgICAgICAgICAgIEdQUjI0OiAwMDAwMDAw MCAwMDAwMDAwNiBjMDFlMGRkOCBkZWNhMDM0MCBkZjVlZjFlOAo+IGRmNTY4YTQwIGMwOGY3YzE4 IGRjMTk4ODAwCj4gWyAgIDE5LjAwMjcwNF0gTklQIFtjMDM5ZWYyMF0gZ2V0X2ZiX2luZm8ucGFy dC4zKzB4NTgvMHg3Ywo+IFsgICAxOS4wMDI3MDhdIExSIFtjMDM5ZWVmY10gZ2V0X2ZiX2luZm8u cGFydC4zKzB4MzQvMHg3Ywo+IFsgICAxOS4wMDI3MTFdIENhbGwgVHJhY2U6Cj4gWyAgIDE5LjAw MjcxNl0gW2RlY2M3ZDMwXSBbYzAzOWVlZmNdIGdldF9mYl9pbmZvLnBhcnQuMysweDM0LzB4N2Mg KHVucmVsaWFibGUpCj4gWyAgIDE5LjAwMjcyMl0gW2RlY2M3ZDQwXSBbYzAzOWVmYTBdIGZiX29w ZW4rMHg1Yy8weDE4Ywo+IFsgICAxOS4wMDI3MzBdIFtkZWNjN2Q2MF0gW2MwMWUwZTkwXSBjaHJk ZXZfb3BlbisweGI4LzB4MTljCj4gWyAgIDE5LjAwMjczNV0gW2RlY2M3ZDkwXSBbYzAxZDc5OTRd IGRvX2RlbnRyeV9vcGVuKzB4MjRjLzB4Mzk4Cj4gWyAgIDE5LjAwMjc0M10gW2RlY2M3ZGMwXSBb YzAxZWMzNzhdIHBhdGhfb3BlbmF0KzB4NGM0LzB4MTFiOAo+IFsgICAxOS4wMDI3NDhdIFtkZWNj N2U1MF0gW2MwMWVlMGQ4XSBkb19maWxwX29wZW4rMHhiYy8weDEwYwo+IFsgICAxOS4wMDI3NTRd IFtkZWNjN2YwMF0gW2MwMWQ5M2IwXSBkb19zeXNfb3BlbisweDE1OC8weDIyOAo+IFsgICAxOS4w MDI3NjBdIFtkZWNjN2Y0MF0gW2MwMDE4MWNjXSByZXRfZnJvbV9zeXNjYWxsKzB4MC8weDQwCj4g WyAgIDE5LjAwMjc2Nl0gLS0tIGludGVycnVwdDogYzAxIGF0IDB4Yjc1MWI5NDAKPiAgICAgICAg ICAgICAgICAgICAgTFIgPSAweGI3NTFiOGRjCj4gWyAgIDE5LjAwMjc3MF0gSW5zdHJ1Y3Rpb24g ZHVtcDoKPiBbICAgMTkuMDAyNzc0XSA3ZmMzZjM3OCA1N2ZmMTAzYSA0ODJjYzE3MSAzZDIwYzA5 MyAzOTI5MWE4NCA3ZmU5ZjgyZQo+IDJmOWYwMDAwIDQxOWUwMDE4Cj4gWyAgIDE5LjAwMjc4NF0g N2QyMGY4MjggMzEyOTAwMDEgN2QyMGY5MmQgNDBhMmZmZjQgPDBmZTAwMDAwPiA3ZmMzZjM3OAo+ IDQ4MmNjYTY5IDdmZTNmYjc4Cj4gWyAgIDE5LjAwMjc5NV0gLS0tWyBlbmQgdHJhY2UgZTBiZjQx OTJlYjFjNGY2MiBdLS0tCj4gWyAgIDE5LjAxMTYyOV0gZ2VtIDAwMDI6MjA6MGYuMCBldGgwOiBM aW5rIGlzIHVwIGF0IDEwMCBNYnBzLCBmdWxsLWR1cGxleAo+IFsgICAxOS4wMTE3NDZdIGdlbSAw MDAyOjIwOjBmLjAgZXRoMDogUGF1c2UgaXMgZGlzYWJsZWQKPiBbICAgMTkuMDExODQ2XSBJUHY2 OiBBRERSQ09ORihORVRERVZfQ0hBTkdFKTogZXRoMDogbGluayBiZWNvbWVzIHJlYWR5Cj4gWyAg IDE5LjAxODk1NF0gZGV2aWNlOiAnaW5wdXQzJzogZGV2aWNlX2FkZAo+IFsgICAxOS4wMTkwMzFd IFBNOiBBZGRpbmcgaW5mbyBmb3IgTm8gQnVzOmlucHV0Mwo+IAo+IAo+IFRoZW4gbGF0ZXIgb24g KGFmdGVyIG1vZHByb2JlIHJhZGVvbmZiKToKPiAKPiBbICA2NTcuMTM1MTA1XSBQTTogUmVtb3Zp bmcgaW5mbyBmb3IgTm8gQnVzOmZiMAo+IFsgIDY1Ny4xMzUxNjRdIGRldmljZTogJ2ZiMCc6IGRl dmljZV9jcmVhdGVfcmVsZWFzZQo+IFsgIDY1Ny4xMzUyNzldIFdBUk5JTkc6IENQVTogMCBQSUQ6 IDQ3NSBhdAo+IGRyaXZlcnMvdmlkZW8vZmJkZXYvY29yZS9mYm1lbS5jOjc3IHB1dF9mYl9pbmZv KzB4MTgvMHg2OAo+IFsgIDY1Ny4xMzUyODRdIE1vZHVsZXMgbGlua2VkIGluOiByYWRlb25mYigr KSB1aW5wdXQKPiBzbmRfYW9hX2NvZGVjX3Rvb25pZSBzbmRfYW9hX2ZhYnJpY19sYXlvdXQgc25k X2FvYSBzbmRfYW9hX2kyc2J1cwo+IHNuZF9hb2Ffc291bmRidXMgc25kX3BjbSBzbmRfdGltZXIg c25kIHNvdW5kY29yZSByYWNrX21ldGVyIGV2ZGV2Cj4gaTJjX2RldiBzZyB1c2Jfc3RvcmFnZSBp cF90YWJsZXMgeF90YWJsZXMgYXV0b2ZzNCBleHQ0IGNyYzE2IG1iY2FjaGUKPiBqYmQyIGZzY3J5 cHRvIGhpZF9nZW5lcmljIHVzYmhpZCBoaWQgb2hjaV9wY2kgZWhjaV9wY2kgb2hjaV9oY2QKPiBl aGNpX2hjZCBzdW5nZW0gZmlyZXdpcmVfb2hjaSBzdW5nZW1fcGh5IHNyX21vZCBmaXJld2lyZV9j b3JlCj4gY3JjX2l0dV90IGNkcm9tIHNkX21vZCB1c2Jjb3JlCj4gWyAgNjU3LjEzNTM0NF0gQ1BV OiAwIFBJRDogNDc1IENvbW06IG1vZHByb2JlIFRhaW50ZWQ6IEcgICAgICAgIFcKPiAgIDQuMTUu MCsgIzMyMQo+IFsgIDY1Ny4xMzUzNDhdIE5JUDogIGMwMzllNmVjIExSOiBjMDM5ZTgzNCBDVFI6 IDAwMDAwMDAwCj4gWyAgNjU3LjEzNTM1Ml0gUkVHUzogZGVjOTNhZjAgVFJBUDogMDcwMCAgIFRh aW50ZWQ6IEcgICAgICAgIFcgICAgICAgICAoNC4xNS4wKykKPiBbICA2NTcuMTM1MzU1XSBNU1I6 ICAwMDAyOTAzMiA8RUUsTUUsSVIsRFIsUkk+ICBDUjogMjQyMjg4MjIgIFhFUjogMjAwMDAwMDAK PiBbICA2NTcuMTM1MzY1XQo+ICAgICAgICAgICAgICAgIEdQUjAwOiBjMDM5ZTgzNCBkZWM5M2Jh MCBkYzI4ZWFhMCBkYzE5ODgwMCAwMDAwMDAwMAo+IDAwMDAwNWMwIDAwMDAwMDAyIDAwMDAwMDAw Cj4gICAgICAgICAgICAgICAgR1BSMDg6IDAwMDAxMDMyIGMwOGMyYzJjIDAwMDAwMDAwIGMwOGMx YWIwIDI4MjI4NDI0Cj4gMDA0OWNlNmMgZTIyODdiNWMgMDAwMDAwMDAKPiAgICAgICAgICAgICAg ICBHUFIxNjogYzA2OTc0ZGMgMDAwMDAwMDcgZTIyODQzODQgMDAwMDAwMDEgZGVjOTg1MmMKPiBl MjI4MjYxMCAwMDAwMDAwMCAwMDBhMDAwMAo+ICAgICAgICAgICAgICAgIEdQUjI0OiBjMDdjOWQ2 MCBjMDdjOWQyYyBkYzE5ODgwYyAwMDAwMDAwMCBkZWM5M2JiOAo+IDAwMDAwMDAwIGMwOTMxYTg0 IGRjMTk4ODAwCj4gWyAgNjU3LjEzNTQwNV0gTklQIFtjMDM5ZTZlY10gcHV0X2ZiX2luZm8rMHgx OC8weDY4Cj4gWyAgNjU3LjEzNTQxMV0gTFIgW2MwMzllODM0XSBkb191bnJlZ2lzdGVyX2ZyYW1l YnVmZmVyKzB4ZjgvMHgxNDgKPiBbICA2NTcuMTM1NDEzXSBDYWxsIFRyYWNlOgo+IFsgIDY1Ny4x MzU0MTldIFtkZWM5M2JiMF0gW2MwMzllODM0XSBkb191bnJlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4 ZjgvMHgxNDgKPiBbICA2NTcuMTM1NDI1XSBbZGVjOTNiZTBdIFtjMDM5ZWExY10KPiBkb19yZW1v dmVfY29uZmxpY3RpbmdfZnJhbWVidWZmZXJzKzB4MTk4LzB4MWI4Cj4gWyAgNjU3LjEzNTQzMV0g W2RlYzkzYzMwXSBbYzAzOWVhODRdIHJlbW92ZV9jb25mbGljdGluZ19mcmFtZWJ1ZmZlcnMrMHg0 OC8weDZjCj4gWyAgNjU3LjEzNTQ3NF0gW2RlYzkzYzUwXSBbZTIyNzRkNmNdCj4gcmFkZW9uZmJf cGNpX3JlZ2lzdGVyKzB4MTg0LzB4MTgzOCBbcmFkZW9uZmJdCj4gWyAgNjU3LjEzNTQ4MV0gW2Rl YzkzY2IwXSBbYzAzN2U5ZmNdIHBjaV9kZXZpY2VfcHJvYmUrMHgxMTAvMHgxODAKPiBbICA2NTcu MTM1NDkyXSBbZGVjOTNjZTBdIFtjMDQ1YmU3MF0gZHJpdmVyX3Byb2JlX2RldmljZSsweDM3OC8w eDRhMAo+IFsgIDY1Ny4xMzU0OTddIFtkZWM5M2QxMF0gW2MwNDVjMGFjXSBfX2RyaXZlcl9hdHRh Y2grMHgxMTQvMHgxMTgKPiBbICA2NTcuMTM1NTAzXSBbZGVjOTNkMzBdIFtjMDQ1OTNkY10gYnVz X2Zvcl9lYWNoX2RldisweDc0LzB4YzAKPiBbICA2NTcuMTM1NTA4XSBbZGVjOTNkNjBdIFtjMDQ1 YWNkNF0gYnVzX2FkZF9kcml2ZXIrMHgxOGMvMHgyYTAKPiBbICA2NTcuMTM1NTE1XSBbZGVjOTNk ODBdIFtjMDQ1Y2UzY10gZHJpdmVyX3JlZ2lzdGVyKzB4OTQvMHgxM2MKPiBbICA2NTcuMTM1NTI0 XSBbZGVjOTNkOTBdIFtjMDAwNGFmNF0gZG9fb25lX2luaXRjYWxsKzB4NGMvMHgxNzgKPiBbICA2 NTcuMTM1NTM2XSBbZGVjOTNkZjBdIFtjMDBjZWQxOF0gZG9faW5pdF9tb2R1bGUrMHg3MC8weDFl Ywo+IFsgIDY1Ny4xMzU1NDJdIFtkZWM5M2UxMF0gW2MwMGNkY2IwXSBsb2FkX21vZHVsZSsweDIw ZDgvMHgyNmI4Cj4gWyAgNjU3LjEzNTU0OF0gW2RlYzkzZWMwXSBbYzAwY2U1MDBdIFN5U19maW5p dF9tb2R1bGUrMHhjNC8weDEyMAo+IFsgIDY1Ny4xMzU1NTVdIFtkZWM5M2Y0MF0gW2MwMDE4MWNj XSByZXRfZnJvbV9zeXNjYWxsKzB4MC8weDQwCj4gWyAgNjU3LjEzNTU2Ml0gLS0tIGludGVycnVw dDogYzAxIGF0IDB4MzRkNDUwCj4gICAgICAgICAgICAgICAgICAgIExSID0gMHg0NzYxMDgKPiBb ICA2NTcuMTM1NTY2XSBJbnN0cnVjdGlvbiBkdW1wOgo+IFsgIDY1Ny4xMzU1NzJdIDgwMDEwMDE0 IDM4MjEwMDEwIDdjMDgwM2E2IDRlODAwMDIwIDM4NjAwMDAwIDRlODAwMDIwCj4gN2MwODAyYTYg OTAwMTAwMDQKPiBbICA2NTcuMTM1NTgyXSA2MDAwMDAwMCA5NDIxZmZmMCA3YzA4MDJhNiA5MDAx MDAxNCA8MGZlMDAwMDA+IDdkNDAxODI4Cj4gMzE0YWZmZmYgN2Q0MDE5MmQKPiBbICA2NTcuMTM1 NTkzXSAtLS1bIGVuZCB0cmFjZSBlMGJmNDE5MmViMWM0ZjYzIF0tLS0KPiBbICA2NTcuMTM1NjEz XSBkZXZpY2U6ICd2dGNvbjEnOiBkZXZpY2VfdW5yZWdpc3Rlcgo+IFsgIDY1Ny4xMzU2NDRdIFBN OiBSZW1vdmluZyBpbmZvIGZvciBObyBCdXM6dnRjb24xCj4gCj4gCj4gRnVsbCBkbWVzZzoKPiBo dHRwczovL3Blb3BsZS5kZWJpYW4ub3JnL35tYWxhdC9kbWVzZ19yYWRlb25mYi50eHQKPiAKPiBE b2VzIHRoYXQgaGVscCBhdCBhbGw/IHRoZSBjYWxsIHN0YWNrIGRvZXMgbm90IG1ha2UgbXVjaCBz ZW5zZSB0byBtZS4KPiBJIGFtIGFjY2Vzc2luZyB0aGUgTWFjIE1pbmkgb3ZlciBzc2guCgpUaGFu ayB5b3UsIGl0IGhlbHBzLgoKVXNlci1zcGFjZSBpcyBob2xkaW5nIHJlZmVyZW5jZSBvbiB0aGUg L2Rldi9mYjAgYW5kIG9sZCBmYl9pbmZvCihmcm9tIG9mZmIpIHdoaWxlIG9mZmIgaXMgYmVpbmcg cmVwbGFjZWQgYnkgcmFkZW9uZmIgKHRoaXMgaXMKd2h5IC0+ZmJfZGVzdHJveSBpcyBuZXZlciBj YWxsZWQpLiBZb3UgbWF5IHRyeSBjaGVja2luZyB3aXRoCmxzb2YgY29tbWFuZCB0byBzZWUgd2hh dCBpcyBob2xkaW5nIC9kZXYvZmIwIG9wZW4uLgoKPiBGb3IgcmVmZXJlbmNlLCB0aGUgcGF0Y2gg SSB1c2VkIGlzOgo+IGh0dHBzOi8vZ2l0aHViLmNvbS9tYWxhdGVycmUvbGludXgvY29tbWl0Lzg5 ZmQ3ZDQ0MzhjNTIwMGExYTRmY2JhMWQ2MGRkNzAxZmRhNGY0MGUucGF0Y2gKPiAKPiAKPiA+PiA+ PiBTaWduZWQtb2ZmLWJ5OiBNYXRoaWV1IE1hbGF0ZXJyZSA8bWFsYXRAZGViaWFuLm9yZz4KPiA+ PiA+PiBMaW5rOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84MjY2MjkjNTcKPiA+PiA+PiBMaW5r OiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTc0MQo+ID4+ ID4+IFN1Z2dlc3RlZC1ieTogTGVubmFydCBTb3JlbnNlbiA8bHNvcmVuc2VAY3NjbHViLnV3YXRl cmxvby5jYT4KPiA+PiA+PiAtLS0KPiA+PiA+PiB2MjogT25seSBmYWlscyB3aGVuIENPTkZJR19Q Q0MgaXMgbm90IHNldAo+ID4+ID4+IHYzOiBPbmx5IGZhaWxzIHdoZW4gQ09ORklHX0ZCX09GIGlz IG5vdCBzZXQsIENPTkZJR19QQ0Mgd2FzIHRvbyBicm9hZC4gU2luY2UgdGhlIGNvbmZsaWN0cyBp biByZWdpb24gaXMgZHVlIHRvIE9GZmIgZXhwbGljaXRseSByZWZlcnMgdG8gaXQuCj4gPj4gPgo+ ID4+ID4gSXQgc2VlbXMgdGhhdCB0aGVyZSBtYXkgc3RpbGwgYmUgY29uZmlndXJhdGlvbnMgd2hl biB0aGlzIGlzCj4gPj4gPiBpbmNvcnJlY3QgLT4gd2hlbiBvZmZiIGRyaXZlcyBwcmltYXJ5IChu b24tcmFkZW9uKSBjYXJkIGFuZCByYWRlb25mYgo+ID4+ID4gZHJpdmVzIHNlY29uZGFyeSAocmFk ZW9uKSBjYXJkLi4KPiA+PiA+Cj4gPj4gPj4gIGRyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L3JhZGVv bl9iYXNlLmMgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ID4+ICAxIGZpbGUg Y2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQo+ID4+ID4+Cj4gPj4gPj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdmlkZW8vZmJkZXYvYXR5L3JhZGVvbl9iYXNlLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L2F0eS9yYWRlb25fYmFzZS5jCj4gPj4gPj4gaW5kZXggNGQ3N2RhZWVjZjk5Li4yMjE4NzkxOTY1 MzEgMTAwNjQ0Cj4gPj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvcmFkZW9uX2Jh c2UuYwo+ID4+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L3JhZGVvbl9iYXNlLmMK PiA+PiA+PiBAQCAtMjI1OSw2ICsyMjU5LDIyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYmluX2F0 dHJpYnV0ZSBlZGlkMl9hdHRyID0gewo+ID4+ID4+ICAgICAgIC5yZWFkICAgPSByYWRlb25fc2hv d19lZGlkMiwKPiA+PiA+PiAgfTsKPiA+PiA+Pgo+ID4+ID4+ICtzdGF0aWMgaW50IHJhZGVvbl9r aWNrX291dF9maXJtd2FyZV9mYihzdHJ1Y3QgcGNpX2RldiAqcGRldikKPiA+PiA+PiArewo+ID4+ ID4+ICsgICAgIHN0cnVjdCBhcGVydHVyZXNfc3RydWN0ICphcDsKPiA+PiA+PiArCj4gPj4gPj4g KyAgICAgYXAgPSBhbGxvY19hcGVydHVyZXMoMSk7Cj4gPj4gPj4gKyAgICAgaWYgKCFhcCkKPiA+ PiA+PiArICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ID4+ID4+ICsKPiA+PiA+PiArICAg ICBhcC0+cmFuZ2VzWzBdLmJhc2UgPSBwY2lfcmVzb3VyY2Vfc3RhcnQocGRldiwgMCk7Cj4gPj4g Pj4gKyAgICAgYXAtPnJhbmdlc1swXS5zaXplID0gcGNpX3Jlc291cmNlX2xlbihwZGV2LCAwKTsK PiA+PiA+PiArCj4gPj4gPj4gKyAgICAgcmVtb3ZlX2NvbmZsaWN0aW5nX2ZyYW1lYnVmZmVycyhh cCwgS0JVSUxEX01PRE5BTUUsIGZhbHNlKTsKPiA+PiA+PiArICAgICBrZnJlZShhcCk7Cj4gPj4g Pj4gKwo+ID4+ID4+ICsgICAgIHJldHVybiAwOwo+ID4+ID4+ICt9Cj4gPj4gPj4KPiA+PiA+PiAg c3RhdGljIGludCByYWRlb25mYl9wY2lfcmVnaXN0ZXIoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4g Pj4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2 aWNlX2lkICplbnQpCj4gPj4gPj4gQEAgLTIzMTIsMTkgKzIzMjgsMjcgQEAgc3RhdGljIGludCBy YWRlb25mYl9wY2lfcmVnaXN0ZXIoc3RydWN0IHBjaV9kZXYgKnBkZXYsCj4gPj4gPj4gICAgICAg cmluZm8tPmZiX2Jhc2VfcGh5cyA9IHBjaV9yZXNvdXJjZV9zdGFydCAocGRldiwgMCk7Cj4gPj4g Pj4gICAgICAgcmluZm8tPm1taW9fYmFzZV9waHlzID0gcGNpX3Jlc291cmNlX3N0YXJ0IChwZGV2 LCAyKTsKPiA+PiA+Pgo+ID4+ID4+ICsgICAgIHJldCA9IHJhZGVvbl9raWNrX291dF9maXJtd2Fy ZV9mYihwZGV2KTsKPiA+PiA+PiArICAgICBpZiAocmV0KQo+ID4+ID4+ICsgICAgICAgICAgICAg cmV0dXJuIHJldDsKPiA+PiA+PiArCj4gPj4gPj4gICAgICAgLyogcmVxdWVzdCB0aGUgbWVtIHJl Z2lvbnMgKi8KPiA+PiA+PiAgICAgICByZXQgPSBwY2lfcmVxdWVzdF9yZWdpb24ocGRldiwgMCwg InJhZGVvbmZiIGZyYW1lYnVmZmVyIik7Cj4gPj4gPj4gICAgICAgaWYgKHJldCA8IDApIHsKPiA+ PiA+PiArI2lmbmRlZiBDT05GSUdfRkJfT0YKPiA+PiA+PiAgICAgICAgICAgICAgIHByaW50aygg S0VSTl9FUlIgInJhZGVvbmZiICglcyk6IGNhbm5vdCByZXF1ZXN0IHJlZ2lvbiAwLlxuIiwKPiA+ PiA+PiAgICAgICAgICAgICAgICAgICAgICAgcGNpX25hbWUocmluZm8tPnBkZXYpKTsKPiA+PiA+ PiAgICAgICAgICAgICAgIGdvdG8gZXJyX3JlbGVhc2VfZmI7Cj4gPj4gPj4gKyNlbmRpZgo+ID4+ ID4+ICAgICAgIH0KPiA+PiA+Pgo+ID4+ID4+ICAgICAgIHJldCA9IHBjaV9yZXF1ZXN0X3JlZ2lv bihwZGV2LCAyLCAicmFkZW9uZmIgbW1pbyIpOwo+ID4+ID4+ICAgICAgIGlmIChyZXQgPCAwKSB7 Cj4gPj4gPj4gKyNpZm5kZWYgQ09ORklHX0ZCX09GCj4gPj4gPj4gICAgICAgICAgICAgICBwcmlu dGsoIEtFUk5fRVJSICJyYWRlb25mYiAoJXMpOiBjYW5ub3QgcmVxdWVzdCByZWdpb24gMi5cbiIs Cj4gPj4gPj4gICAgICAgICAgICAgICAgICAgICAgIHBjaV9uYW1lKHJpbmZvLT5wZGV2KSk7Cj4g Pj4gPj4gICAgICAgICAgICAgICBnb3RvIGVycl9yZWxlYXNlX3BjaTA7Cj4gPj4gPj4gKyNlbmRp Zgo+ID4+ID4+ICAgICAgIH0KPiA+PiA+Pgo+ID4+ID4+ICAgICAgIC8qIG1hcCB0aGUgcmVnaW9u cyAqLwo+ID4+ID4+IEBAIC0yNTA5LDEwICsyNTMzLDEyIEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJf cGNpX3JlZ2lzdGVyKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAo+ID4+ID4+ICAgICAgIGlvdW5tYXAo cmluZm8tPm1taW9fYmFzZSk7Cj4gPj4gPj4gIGVycl9yZWxlYXNlX3BjaTI6Cj4gPj4gPj4gICAg ICAgcGNpX3JlbGVhc2VfcmVnaW9uKHBkZXYsIDIpOwo+ID4+ID4+ICsjaWZuZGVmIENPTkZJR19G Ql9PRgo+ID4+ID4+ICBlcnJfcmVsZWFzZV9wY2kwOgo+ID4+ID4+ICAgICAgIHBjaV9yZWxlYXNl X3JlZ2lvbihwZGV2LCAwKTsKPiA+PiA+PiAgZXJyX3JlbGVhc2VfZmI6Cj4gPj4gPj4gICAgICAg ICAgZnJhbWVidWZmZXJfcmVsZWFzZShpbmZvKTsKPiA+PiA+PiArI2VuZGlmCj4gPj4gPj4gIGVy cl9kaXNhYmxlOgo+ID4+ID4+ICBlcnJfb3V0Ogo+ID4+ID4+ICAgICAgIHJldHVybiByZXQ7Cj4g Pj4gPgoKQmVzdCByZWdhcmRzLAotLQpCYXJ0bG9taWVqIFpvbG5pZXJraWV3aWN6ClNhbXN1bmcg UiZEIEluc3RpdHV0ZSBQb2xhbmQKU2Ftc3VuZyBFbGVjdHJvbmljcwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==