From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff McGee Subject: Re: [RFC] GuC firmware versioning change Date: Thu, 18 Oct 2018 10:32:37 -0700 Message-ID: <20181018173237.GG21521@jeffdesk> References: <20181012202430.GB21521@jeffdesk> <20181012205143.GS10727@intel.com> <20181012213326.GE21521@jeffdesk> <20181012214605.GF21521@jeffdesk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 437356E075 for ; Thu, 18 Oct 2018 17:31:34 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMTE6NTc6MDZBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAxMTo0NSBQTSBKZWZmIE1jR2VlIDxqZWZm Lm1jZ2VlQGludGVsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gRnJpLCBPY3QgMTIsIDIwMTggYXQg MDI6MzM6MjZQTSAtMDcwMCwgSmVmZiBNY0dlZSB3cm90ZToKPiA+ID4gT24gRnJpLCBPY3QgMTIs IDIwMTggYXQgMDE6NTE6NDZQTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdyb3RlOgo+ID4gPiA+IE9u IEZyaSwgT2N0IDEyLCAyMDE4IGF0IDAxOjI0OjMwUE0gLTA3MDAsIEplZmYgTWNHZWUgd3JvdGU6 Cj4gPiA+ID4gPiBUaGUgR3VDIGZpcm13YXJlIHRlYW0gaXMgcHJvcG9zaW5nIGEgY2hhbmdlIHRv IHRoZSBmaXJtd2FyZSB2ZXJzaW9uaW5nIHNjaGVtZS4KPiA+ID4gPiA+IFRoZSBnb2FsIGlzIHRv IG1vcmUgYWNjdXJhdGVseSB0cmFjayB0aGUgZmlybXdhcmUgaW50ZXJmYWNlIHRvIGhlbHAgdXNl cnMKPiA+ID4gPiA+IG1hbmFnZSBkZXBlbmRlbmNpZXMgb24gdGhhdCBpbnRlcmZhY2UuIFRoZSBw cm9wb3NlZCBzY2hlbWUgaXMgYmFzZWQgb24KPiA+ID4gPiA+IHNlbXZlci5vcmcgd2l0aCBzb21l IGFkZGl0aW9ucyB0byBoYW5kbGUgYnJhbmNoaW5nLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoZSBw cm9wb3NlZCB2ZXJzaW9uIG51bWJlciB3b3VsZCBoYXZlIDQgZmllbGRzOiBCQVNFLk1BSk9SLk1J Tk9SLlBBVENILgo+ID4gPiA+ID4gQ29udHJhc3QgdGhpcyB3aXRoIHRoZSAyIGZpZWxkcyBpbiB0 aGUgY3VycmVudCB2ZXJzaW9uIG51bWJlcjogTUFKT1IuTUlOT1IuCj4gPiA+ID4gPiBTaWRlIG5v dGUsIHRoZSBjdXJyZW50IGZpcm13YXJlIGVuY29kZXMgYSBCUkFOQ0ggYW5kIENMSUVOVCBudW1i ZXIgYXMgd2VsbCwgYnV0Cj4gPiA+ID4gPiB0aGV5IGhhdmUgbm90IGJlZW4gbmVlZGVkIGJ5IGk5 MTUuIFNvIGEgZmlybXdhcmUgcmVsZWFzZWQgd2l0aCB0aGUgcHJvcG9zZWQKPiA+ID4gPiA+IHNj aGVtZSB3b3VsZCBiZSBuYW1lZCA8cGxhdGZvcm0+X2d1Y192ZXI8YmFzZT5fPG1ham9yPl88bWlu b3I+XzxwYXRjaD4uYmluCj4gPiA+ID4gPiAoZXg6IHNrbF9ndWNfdmVyMV81XzRfNy5iaW4pIGlu c3RlYWQgb2YgdGhlIGN1cnJlbnQKPiA+ID4gPiA+IDxwbGF0Zm9ybT5fZ3VjX3ZlcjxtYWpvcj5f PG1pbm9yPi5iaW4gKGV4OiBza2xfZ3VjX3ZlcjlfMzMuYmluKS4KPiA+ID4gPiA+Cj4gPiA+ID4g PiBUaGUgQkFTRSBudW1iZXIgaXMgYW4gSUQgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGEgc2V0 IG9mIHJlbGVhc2VzIGluIHdoaWNoCj4gPiA+ID4gPiB0aGUgTUFKT1IuTUlOT1IuUEFUQ0ggc2Vt YW50aWNzIGFyZSBjb25zaXN0ZW50LiBJbiBvdGhlciB3b3JkcywgdHdvIHJlbGVhc2VzCj4gPiA+ ID4gPiBmcm9tIHRoZSBzYW1lIEJBU0UgY2FuIGJlIGNvbXBhcmVkIHZpYSB0aGVpciBNQUpPUi5N SU5PUi5QQVRDSCB0byBpbmZlciB0aGVpcgo+ID4gPiA+ID4gcmVsYXRpb25zaGlwIGFzIGRlc2Ny aWJlZCBiZWxvdy4gVHdvIHJlbGVhc2VzIGZyb20gYSBkaWZmZXJlbnQgQkFTRSBjYW5ub3QgYmUK PiA+ID4gPiA+IHJlbGlhYmx5IGNvbXBhcmVkLiBUaGUgQkFTRSBudW1iZXIgZmFjaWxpdGF0ZXMg YXJiaXRyYXJ5IGJyYW5jaGluZyB3aGljaCBjYW4KPiA+ID4gPiA+IGNyZWF0ZSBkdXBsaWNhdGUg YW5kL29yIGRpc2Nvbm5lY3RlZCBNQUpPUi5NSU5PUi5QQVRDSCB2ZXJzaW9ucy4gVGhpcyB0eXBl IG9mCj4gPiA+ID4gPiBicmFuY2hpbmcgaXMgZXhwZWN0ZWQgdG8gYmUgcmFyZSwgYW5kIHNvIEJB U0Ugd2lsbCByYXJlbHkgY2hhbmdlLiBXaGVuIGEgbmV3Cj4gPiA+ID4gPiBCQVNFIGlzIGNyZWF0 ZWQsIHRoZSBNQUpPUi5NSU5PUi5QQVRDSCByZXNldCB0byBzdGFydGluZyB2YWx1ZXMuCj4gPiA+ ID4KPiA+ID4gPiBDb3VsZCB5b3UgcGxlYXNlIGNsYXJpZnkgYSBiaXQgd2hhdCBCQVNFIG1lYW5z Pwo+ID4gPiA+IFdoYXQgd291bGQgYmUgYSBkaWZmZXJlbnQgQkFTRT8KPiA+ID4gPgo+ID4gPgo+ ID4gPiBUaGUgQkFTRSBudW1iZXIgc3VwcG9ydHMgZ2VuZXJhbCBicmFuY2hpbmcgdGhhdCB3b3Vs ZCBjYXVzZSB2ZXJzaW9uIG51bWJlcgo+ID4gPiBjb25mbGljdHMuIEJyYW5jaGluZyBmb3IgZmly bXdhcmUgcmVsZWFzZXMgaXMgbm90IGRlc2lyYWJsZSwgYnV0IGl0IGlzIGEKPiA+ID4gcHJhY3Rp Y2FsIHJlYWxpdHkuIFRoZXJlZm9yZSB0aGUgdmVyc2lvbmluZyBzY2hlbWUgbXVzdCBhY2NvbW9k YXRlIGl0LiBMZXQncwo+ID4gPiBzYXkgdGhhdCBhIGhpZ2gtcHJpb3JpdHkgcmVxdWVzdCBpcyBt YWRlIHRvIHB1dCBzcGVjaWZpYyB1cGRhdGVzIG9uIGFuIG9sZAo+ID4gPiByZWxlYXNlIHRoYXQg c2FpZCBjdXN0b21lciBpcyBsb2NrZWQgb24uIFRob3NlIHVwZGF0ZXMgY291bGQgaW5jbHVkZSBh bnkgc29ydAo+ID4gPiBvZiBjaGFuZ2UgaW5jbHVkaW5nIGludGVyZmFjZSBjaGFuZ2UuIFRoZW4g d2UgaGF2ZSBhIHNlcXVlbmNlIGxpa2UgYmVsb3c6Cj4gPiA+Cj4gPiA+IHYxLjEuMC4wICAgdjEu MS4wLjEgICB2MS4xLjAuMiAgIHYxLjEuMC4zICAgdjEuMS4xLjAKPiA+ID4gLS0tLU8tLS0tLS0t LS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTwo+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPLS0tLS0tLS0tLU8KPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICB2 Mi4xLjEuMCAgIHYyLjEuMS4xCj4gPiA+Cj4gPiA+IFlvdSBjYW4gc2VlIHRoYXQgaWYgd2UgZG9u J3QgaGF2ZSBhIEJBU0UgbnVtYmVyIHRoYXQgY2hhbmdlcyBmcm9tIDEgdG8gMiwgdGhlbgo+ID4g PiB3ZSBlbmQgdXAgd2l0aCBkdXBsaWNhdGVkIHYxLjEuMCBhbG9uZyB0aGUgZGlmZmVyZW50IGJy YW5jaGVzIHdoaWNoIGFyZSBub3QgdGhlCj4gPiA+IHNhbWUuIEFzIEkgd3JvdGUsIHRoaXMgc2hv dWxkIGJlIGEgdmVyeSByYXJlIHNjZW5hcmlvLCBidXQgaXQgY2FuIGhhcHBlbi4gTWF5YmUKPiA+ ID4gdXBzdHJlYW0gd2lsbCBhbHdheXMgYmUgc3VwcGxpZWQgd2l0aCByZWxlYXNlcyBmcm9tIHRo ZSAibWFpbiIgQkFTRSwgYW5kIHlvdQo+ID4gPiBjYW4gaWdub3JlIHRoaXMgZmllbGQsIGJ1dCBp dCBuZWVkcyB0byBiZSB0aGVyZSBmb3Igb3RoZXIgZmlybXdhcmUKPiA+ID4gZGlzdHJpYnV0aW9u cy4KPiAKPiBUaGUgd2F5IHRoaXMgaXMgdXN1YWxseSBzb2x2ZWQgaW4gc2VtdmVyIGlzIHRvIG5v dCBwcmVwZW5kIGEgQkFTRSwgYnV0Cj4gcG9zdGZpeCBhIGJyYW5jaC1zcGVjaWZpYyB2ZXJzaW9u LCB3aGlsZSBrZWVwaW5nIHRoZSBtYWlubGluZSB2ZXJzaW9uCj4gdW5jaGFuZ2VkLiBTbwo+IAo+ IHYyLjEuMS4wIGJlY29tZXMgdjEuMS4wLjEtYnJhbmNoMS0wCj4gdjIuMS4xLjEgYmVjb21lcyB2 MS4xLjAuMS1icmFuY2gxLTEKPiAKPiBXaXRoIHRoZSBydWxlIHRoYXQgYnJhbmNoZXMgYXJlIGV4 cGxpY2l0bHkgdW5zb3J0ZWQgKHRoYXQncyBkZW5vdGVkIGJ5Cj4gdGhlIC0gLSBhcm91bmQgdGhl bSwgaW5zdGVhZCBvIHVzaW5nIGRvdHMpLCBzbyBub3QgY29tcGFyYWJsZS4gQm9udXMKPiBwb2lu dHMgaWYgeW91IG5hbWUgdGhlIGJyYW5jaCBwb2ludHMgYnkgdGhlIGN1c3RvbWVycyAoY291bGQg YmUgdGhlCj4gcHJvZHVjdCwgb3IgaW50ZXJuYWwgY3VzdG9tZXIgZ3JvdXAgb3Igd2hhdGV2ZXIp IHRvIG1ha2UgdGhlc2UgbmFtZXMKPiBzbGlnaHRseSBtb3JlIG1lYW5pbmdmdWwuCj4gCkkgZG9u J3Qgc2VlIGFueSBtZW50aW9uIG9mIGJyYW5jaCBoYW5kbGluZyBvbiBzZW12ZXIub3JnLiBJdCBk aXNjdXNzZXMgdXNpbmcKaHlwaGVuIGZvciBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhbmQgcGx1cyBm b3IgbWV0YWRhdGEuIEFueSBvdGhlciByZWZlcmVuY2VzCnlvdSBjYW4gc2hhcmUgd291bGQgYmUg YXBwcmVjaWF0ZWQuCgpXZSBjYW4gY2VydGFpbmx5IHVzZSBhbiBhcHByb2FjaCBsaWtlIHRoaXMs IHdoZXJlIHRoZSBicmFuY2ggSUQgKGNoYW5nZWQgZnJvbQpCQVNFIElEKSBpcyBhcHBlbmRlZCB2 aWEgdGhlIGh5cGhlbiBvbmx5IGlmIG5lY2Vzc2FyeS4gV2Ugd291bGQgcHJvYmFibHkgc3RpY2sK d2l0aCBhIHNpbXBsZSBudW1lcmljYWwgYnJhbmNoIElEIHJhdGhlciB0aGFuIGEgc3RyaW5nLCBz byB0aGF0IHRoZSBmdWxsCnZlcnNpb24gZW5jb2RlZCBpbiBmaXJtd2FyZSBpcyBjb21wYWN0LiBX ZSBoYXZlIDY0IGJpdHMgY3VycmVudGx5IGFsbG9jYXRlZApmb3IgdmVyc2lvbiBpbmZvIGluIHRo ZSBDU1MuIFdlIGNvdWxkIGRlZmluZSBhbiBlbnVtZXJhdGlvbiBpbiB0aGUgaW50ZXJmYWNlCnRv IG5hbWUgZWFjaCBJRCBtb3JlIHZlcmJvc2VseS4KCkknbSBzdGlsbCBub3QgY2xlYXIgb24gaG93 IHRoZSBtYWpvci5taW5vci5wYXRjaCBzaG91bGQgY2hhbmdlIGluIHRoaXMgbW9kZWwKd2hlbiB0 aGUgZmlyc3QgYW5kIHN1YnNlcXVlbnQgcmVsZWFzZXMgZnJvbSBhIGJyYW5jaCBhcmUgbWFkZS4g WW91ciBleGFtcGxlCnNlZW1zIHRvIGluZGljYXRlIHRoYXQgbWFqb3IubWlub3IucGF0Y2ggYXJl IGxvY2tlZCwgYW5kIGVhY2ggcmVsZWFzZSBmb3IKdGhlIGJyYW5jaCBnZXRzIG9uZSBpbmNyZW1l bnRlZCB2ZXJzaW9uIGF0IHRoZSBlbmQuIEkgd291bGQgcHJlZmVyIHRoYXQgdGhlCm1ham9yLm1p bm9yLnBhdGNoIGNvbnRpbnVlIHRvIGV2b2x2ZSBvbiB0aGUgYnJhbmNoIHBlciBub3JtYWwgY29u dmVudGlvbiwgYnV0CnRoZW4gdGhlIGJyYW5jaCBJRCB3b3VsZCBpbmRpY2F0ZSB0aGF0IHRoZXJl IGlzIG5vIGdhdXJhbnRlZWQgcmVsYXRpb25zaGlwIHRvCmFueSBtYWpvci5taW5vci5wYXRjaCBv biBhbm90aGVyIGJyYW5jaC4gU28gaW4gYmVsb3cgc2VxdWVuY2UgdGhlICIxIiBicmFuY2gKcmVz ZXRzIHRvIHYxLjAuMCBmb3IgZmlyc3QgcmVsZWFzZSwgdGhlbiBuZXh0IHJlbGVhc2UgaXMgdjEu MS4wIGlmIGZvciBleGFtcGxlCmEgYmFja3dhcmRzIGNvbXBhdGlibGUgaW50ZXJmYWNlIGNoYW5n ZSBpcyBtYWRlLCBhbmQgc28gb24uIERvZXMgdGhhdCBzZWVtCnJlYXNvbmFibGU/CgogdjEuMC4w ICAgICB2MS4wLjEgICAgIHYxLjAuMiAgICAgdjEuMC4zICAgICB2MS4xLjAKLS0tLU8tLS0tLS0t LS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTwogICAgICAgICAgICAgICAgICAg ICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPLS0tLS0tLS0tLU8K ICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4wLjAtMSAgIHYxLjEuMC0xCgotSmVmZgoKPiBQ cmVmaXhpbmcgYSBCQVNFLCB3aXRoIGEgZG90LCBpcyB2ZXJ5IG11Y2ggbm90IGhvdyBpdCdzIGRv bmUgYW5kIHZlcnkKPiBjb25mdXNpbmcuIFRoZXJlJ3Mgb25lIHRoaW5nIGRlYmlhbiBkb2VzLCBp dCdzIHByZXBlbmRpbmcgYW4gRVBPQ0gsCj4gd2hpY2ggaXMgdXNlZCBmb3IgZS5nLiBDKysgcGFj a2FnZXMgd2hlbiB0aGUgY29tcGlsZXIgYWJpIGNoYW5nZXMuIEkKPiB0aGluayByZWFkaW5nIHVw IG9uIGRlYmlhbidzIHJ1bGVzIHdvdWxkIGJlIGdvb2QgaW5zcGlyYXRpb24gZm9yIHRoaXMKPiBw cm9ibGVtOgo+IAo+IGh0dHBzOi8vc2VydmVyZmF1bHQuY29tL3F1ZXN0aW9ucy82MDQ1NDEvZGVi aWFuLXBhY2thZ2VzLXZlcnNpb24tY29udmVudGlvbgo+IAo+IENoZWVycywgRGFuaWVsCj4gCj4g PiA+IC1KZWZmCj4gPiA+Cj4gPgo+ID4gU29ycnksIEkgbWlzcmVwcmVzZW50ZWQgaG93IHRvIHRo ZSBudW1iZXJzIHdvdWxkIGNoYW5nZSBpbiB0aGUgYWJvdmUgZXhhbXBsZS4KPiA+IFRoZSBjaGFu Z2Ugb2YgQkFTRSBmcm9tIDEgdG8gMiB3b3VsZCByZXNldCBNQUpPUi5NSU5PUi5QQVRDSC4gU28g dGhlIHNlcXVlbmNlCj4gPiBzaG91bGQgYmUgdjEuMS4wLjIgLT4gdjIuMS4wLjAgLT4gdjIuMS4w LjEgYW5kIHNvIG9uLgo+ID4KPiA+IElmIHdlIGRvbid0IGhhdmUgQkFTRSwgdGhlIHB1cmUgc2Vt dmVyLm9yZyBzZXF1ZW5jZSB3b3VsZCBiZToKPiA+Cj4gPiAgIHYxLjAuMCAgICAgdjEuMC4xICAg ICB2MS4wLjIgICAgIHYxLjAuMyAgICAgdjEuMS4wCj4gPiAtLS0tTy0tLS0tLS0tLS1PLS0tLS0t LS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPLS0tLS0t LS0tLU8KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4xLjAgICAgIHYxLjEuMQo+ ID4KPiA+IEFuZCBzbyB5b3Ugc2VlIHRoZSBkdXBsaWNhdGlvbiBvZiB2ZXJzaW9uIG51bWJlci4K PiA+IC0gSmVmZgo+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGUgTUFKT1IgbnVtYmVyIGNvbmZv cm1zIHRvIHRoZSBtYWpvciBpbiBzZW12ZXIub3JnLiBJdCBpbmNyZW1lbnRzIG9uIGEKPiA+ID4g PiA+IGJhY2t3YXJkcyBpbmNvbXBhdGlibGUgY2hhbmdlIG9mIHRoZSBpbnRlcmZhY2UuIEl0IHJl c2V0cyB0byAxIG9uIGEgY2hhbmdlIG9mCj4gPiA+ID4gPiBCQVNFLiBUaGUgTUFKT1IgbnVtYmVy IGJhc2ljYWxseSB3b3JrcyB0aGUgc2FtZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZAo+ID4gPiA+ ID4gcHJvcG9zZWQgdmVyc2lvbmluZyBzY2hlbWVzLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFRoZSBN SU5PUiBudW1iZXIgY29uZm9ybXMgdG8gdGhlIG1pbm9yIGluIHNlbXZlci5vcmcuIEl0IGluY3Jl bWVudHMgb24gYQo+ID4gPiA+ID4gYmFja3dhcmRzIGNvbXBhdGlibGUgY2hhbmdlIG9mIHRoZSBp bnRlcmZhY2UgKG5ldyBpbnRlcmZhY2VzIHRoYXQgYXJlIG9wdGlvbmFsCj4gPiA+ID4gPiB0byB1 c2UpLiBJdCB3aWxsIGFsc28gaW5jcmVtZW50IG9uIHN1YnN0YW50aWFsIG5ldyBpbnRlcm5hbCBm dW5jdGlvbmFsaXR5IHRoYXQKPiA+ID4gPiA+IGRvZXNuJ3QgYWZmZWN0IHRoZSBpbnRlcmZhY2Ug YnV0IHNob3VsZCBiZSBjYWxsZWQgb3V0IHRvIHRoZSB1c2VyLiBJdCByZXNldHMgdG8KPiA+ID4g PiA+IDAgb24gYSBjaGFuZ2Ugb2YgTUFKT1IuIFRoZSBNSU5PUiBudW1iZXIgaW4gdGhlIGN1cnJl bnQgdmVyc2lvbmluZyBzY2hlbWUKPiA+ID4gPiA+IGluY3JlbWVudHMgb24gYW55IGJhY2t3YXJk cyBjb21wYXRpYmxlIGNoYW5nZS4gVGhlIHByb3Bvc2VkIHZlcnNpb25pbmcgc2NoZW1lCj4gPiA+ ID4gPiBicmVha3MgdGhpcyBpbnRvIHRoZSBNSU5PUiBudW1iZXIganVzdCBkZXNjcmliZWQgYW5k IHRoZSBQQVRDSCBudW1iZXIgYmVsb3cuCj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlIFBBVENIIG51 bWJlciBjb25mb3JtcyB0byB0aGUgcGF0Y2ggaW4gc2VtdmVyLm9yZy4gSXQgaW5jcmVtZW50cyBv biBhCj4gPiA+ID4gPiBiYWNrd2FyZHMgY29tcGF0aWJsZSBpbnRlcm5hbCBjaGFuZ2UsIHVzdWFs bHkgYSBidWcgZml4LiBJdCByZXNldHMgdG8gMCBvbiBhCj4gPiA+ID4gPiBjaGFuZ2Ugb2YgTUlO T1IuCj4gPiA+ID4KPiA+ID4gPiBJIGxpa2UgdGhlIGlkZWEgb2YgTUFKT1IuTUlOT1IuUEFUQ0gg Zm9sbG93aW5nIHNlbXZlci5vcmcuCj4gPiA+ID4KPiA+ID4gPiBJIHRoaW5rIGlmIHdlIHJlbW92 ZSB0aGUgQkFTRSBvdXQgb2YgcGljdHVyZSBhbmQganVzdCB1c2Ugc2VtdmVyIGNsZWFyLAo+ID4g PiA+IGJ1dCBtYXliZSBpdCBpcyBqdXN0IGJlY2F1c2UgSSBkaWRuJ3QgcXVpdGUgdW5kZXJzdGFu ZCBCQVNFLgo+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlIE1BSk9SLk1JTk9SIGNvbGxl Y3RpdmVseSBkZWZpbmUgdGhlIGludGVyZmFjZSB2ZXJzaW9uLiBCZWNhdXNlIHRoZSBNSU5PUgo+ ID4gPiA+ID4gbWF5IGFsc28gaW5jcmVtZW50IG9uIGEgc3Vic3RhbnRpYWwgaW50ZXJuYWwgY2hh bmdlLCBpdCBkb2Vzbid0IGFsd2F5cyBtYXJrIGFuCj4gPiA+ID4gPiBpbnRlcmZhY2UgY2hhbmdl LCBlLmcuIDQuNSBhbmQgNC42IG1heSBoYXZlIGlkZW50aWNhbCBpbnRlcmZhY2VzLiBCdXQgdGhl Cj4gPiA+ID4gPiBkZXRlcm1pbmF0aW9uIG9mIGludGVyZmFjZSBjb21wYXRpYmlsaXR5IGlzIHVu Y2hhbmdlZCwgZS5nLiA0LjYgaXMgYWx3YXlzCj4gPiA+ID4gPiBiYWNrd2FyZHMgY29tcGF0aWJs ZSB3aXRoIDQuNS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBFYWNoIE1BSk9SLk1JTk9SIG1heSBjb250 aW51ZSB0byByZWNlaXZlIGludGVybmFsIGZpeGVzIGFsb25nIGEgYnJhbmNoIGV2ZW4KPiA+ID4g PiA+IGFmdGVyIHRoZSBtYWluIGJyYW5jaCBmb3IgdGhhdCBCQVNFIGhhcyBtb3ZlZCBvbiB0byBh bm90aGVyIE1BSk9SLk1JTk9SLgo+ID4gPiA+ID4gUmVsZWFzZXMgZnJvbSB0aGVzZSBmaXgtb25s eSBicmFuY2hlcyBpbmNyZW1lbnQgb25seSB0aGUgUEFUQ0ggbnVtYmVyIG9uIHRoYXQKPiA+ID4g PiA+IE1BSk9SLk1JTk9SLCBhbmQgdGhlcmVmb3JlIHJlbWFpbiBzZW1hbnRpY2FsbHkgY29uc2lz dGVudCB3aXRoIHRoZSBtYWluIGJyYW5jaC4KPiA+ID4gPiA+IE5vIGNoYW5nZSBvZiBCQVNFIGlz IHRoZXJlZm9yZSBuZWVkZWQuIENvbnNpZGVyIGFuIGV4YW1wbGU6Cj4gPiA+ID4gPgo+ID4gPiA+ ID4gdjEuMS4wLjAgICB2MS4xLjAuMSAgIHYxLjEuMC4yICAgdjEuMS4xLjAgICB2MS4xLjEuMQo+ ID4gPiA+ID4gLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0t TyAgICA8LS0gbWFpbiBhZG9wdHMgdjEuMS4xLngKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE8tLS0tLS0tLS0tTyAgICAgPC0tIGZpeGVzIGZvciBpbnRlcmZh Y2UgdjEuMS4wLngKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEuMS4wLjMg ICB2MS4xLjAuNAo+ID4gPiA+Cj4gPiA+ID4gVGhpcyBhcHByb2FjaCBpcyBjb29sIGFuZCBtb3Jl IG9yIGxlc3MgaG93IE1lc2EgaGFuZGxlcyB0aGVpciByZWxlYXNlcywKPiA+ID4gPiBleGNlcHQg YnkgdGhlIGZhY3QgdGhhdCB0aGVpciBNYWpvciBpcyB0aGUgeWVhciBhbmQgbWlub3IgaXMgdGhl IG1vbnRoLgo+ID4gPiA+Cj4gPiA+ID4gSG93ZXZlciwgb24gdGhlIGZpcm13YXJlIHNpZGUgSSBo YXZlIGEgY29uY2VybiBiZWNhdXNlIHdlIGFyZSBzbyBmYXIgdHJ5aW5nCj4gPiA+ID4gdG8gbWFr ZSBzdXJlIHRoYXQgd2UgaGF2ZSAxLTEgcmVsYXRpb25zaGlwIG9uIGtlcm5lbC1maXJtd2FyZSB2 ZXJzaW9uLgo+ID4gPiA+Cj4gPiA+ID4gQnV0IGJhc2VkIG9uIHRoaXMgdmlldyBhbmQgd2hhdCBB bnVzaGEgdG9sZCBtZSB5ZXN0ZXJkYXkgaXQgc2VlbXMKPiA+ID4gPiB0aGF0IEd1QyBpcyBnZXR0 aW5nIGNvbnN0YW50IHJlbGVhc2VzLiBXaXRoIHRoZSBjb25zdGFudCBwYXRjaGVzIHdlIHdpbGwK PiA+ID4gPiBzb29uIGV4cGxvZGUgbGludXgtZmlybXdhcmUuZ2l0IHJlcG9zaXRvcnkgc2l6ZS4K PiA+ID4gPgo+ID4gPiA+IEJ1dCB0aGlzIG1heWJlIGlzIHNvbWV0aGluZyB0byBiZSBzb2x2ZWQg b24gbGludXgtZmlybXdhcmUgc2lkZSBhbmQgd2UgbWFrZQo+ID4gPiA+IHN1cmUgdGhhdCB3ZSBj bGVhbiB1cCBhbmQgcmVtb3ZlIGZpcm13YXJlIHRoYXQgd2VyZSBuZXZlciByZWxlYXNlZCBpbiBh bnkKPiA+ID4gPiBvZmZpY2lhbCBMaW51eCBrZXJuZWwuIEFudXNoYSBvciBBbnRvbmlvLCB0aG91 Z2h0cz8KPiA+ID4gPgo+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiBSb2RyaWdvLgo+ID4gPiA+Cj4g PiA+Cj4gPiA+IEkgZXhwZWN0IHRoYXQgaTkxNSB3aWxsIHN0aWxsIHJlcXVpcmUgYSBzaW5nbGUg dmVyc2lvbiBvZiBmaXJtd2FyZSBwZXIgcGxhdGZvcm0KPiA+ID4gYXMgaXQgZG9lcyB0b2RheS4g VGhpcyBjaGFuZ2Ugc2hvdWxkIG5vdCBpbXBhY3QgdGhhdCBvdGhlciB0aGFuIHRvIHJlcXVpcmUg aTkxNQo+ID4gPiB0byBjaGVjayA0IG51bWJlcnMgaW5zdGVhZCBvZiAyLgo+ID4gPgo+ID4gPiBJ dCBpcyB0cnVlIHRoYXQgZmlybXdhcmUgcmVsZWFzZXMgYXJlIG1hZGUgKmludGVybmFsbHkqIChm cm9tIHRoZSBmaXJtd2FyZQo+ID4gPiB0ZWFtIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRlYW1z KSBhdCBhIGZyZXF1ZW50IHJhdGUuIEl0IGlzIHVwIHRvIGVhY2ggT1MKPiA+ID4gdGVhbSB0byBk ZWNpZGUgdGhlaXIgb3duIGNhZGVuY2UgZm9yIGludGVncmF0aW5nIGFuZCBkaXN0cmlidXRpbmcg dGhvc2UKPiA+ID4gZmlybXdhcmUgYmFzZWQgb24gdGhlaXIgdW5pcXVlIHNpdHVhdGlvbi4gU28g dGhlIExpbnV4IHRlYW0gbWF5IGZpbHRlciB0aGVzZQo+ID4gPiByZWxlYXNlcyBhbmQgdXBkYXRl IHRoZSB1cHN0cmVhbSBtdWNoIGxlc3MgZnJlcXVlbnRseS4KPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ ID4gPiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoYW5nZSB0aGUgQkFTRSBiZWNhdXNlIHRoZSBicmFu Y2hpbmcgaGFwcGVuZWQgZnJvbSB0aGUKPiA+ID4gPiA+IGxhc3QgZml4ICh2MS4xLjAuMikgb24g dGhlIG1haW4gYnJhbmNoIHByaW9yIHRvIHRoZSBjaGFuZ2Ugb2YgaW50ZXJmYWNlCj4gPiA+ID4g PiAodjEuMS4xLjApLiBBcyBsb25nIGFzIG9ubHkgZml4ZXMgYXJlIGFwcGxpZWQgdG8gdjEuMS4w LngsIHRoZXJlIGlzIG5vIHJpc2sgb2YKPiA+ID4gPiA+IHZlcnNpb24gbnVtYmVyIGNsYXNoLiBB bGwgb2YgdGhlc2UgcmVsZWFzZSB2ZXJzaW9ucyByZW1haW4gc2VtYW50aWNhbGx5Cj4gPiA+ID4g PiBjb25uZWN0ZWQgd2l0aCBvbmUgc21hbGwgY2F2ZWF0LiBJZiB0aGlzIHNldCBvZiByZWxlYXNl IHZlcnNpb25zIGNhbWUKPiA+ID4gPiA+IHNlcXVlbnRpYWxseSBhbG9uZyBhIHNpbmdsZSBicmFu Y2gsIG9uZSBjb3VsZCBpbmZlciB0aGF0IHRoZSBleGFjdCBmaXhlcyBpbgo+ID4gPiA+ID4gdjEu MS4wLjQgd2VyZSBpbmhlcml0ZWQgYnkgdjEuMS4xLjAuIFdpdGggdGhpcyAiaGlkZGVuIiBicmFu Y2hpbmcsIHRoaXMgbWF5Cj4gPiA+ID4gPiBub3QgYmUgdHJ1ZSBhcyBpbiB0aGlzIGV4YW1wbGUu IE9uZSB3b3VsZCBuZWVkIHRvIHJldmlldyB0aGUgdjEuMS4xLjAgcmVsZWFzZQo+ID4gPiA+ID4g bm90ZXMgdG8gY2hlY2suCj4gPiA+ID4gPgo+ID4gPiA+ID4gUGxlYXNlIHByb3ZpZGUgYW55IGZl ZWRiYWNrIG9uIHRoZSBwcm9wb3NlZCBjaGFuZ2UuCj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhhbmtz LAo+ID4gPiA+ID4gSmVmZgo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiA+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiBJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IAo+IAo+IC0tIAo+IERhbmll bCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiArNDEgKDAp IDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=