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 15:48:04 -0700 Message-ID: <20181018224804.GH21521@jeffdesk> References: <20181012202430.GB21521@jeffdesk> <20181012205143.GS10727@intel.com> <20181012213326.GE21521@jeffdesk> <20181012214605.GF21521@jeffdesk> <20181018173237.GG21521@jeffdesk> <20181018181221.GA2285@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 306AA6E00B for ; Thu, 18 Oct 2018 22:47:00 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181018181221.GA2285@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMTE6MTI6MjFBTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IE9uIFRodSwgT2N0IDE4LCAyMDE4IGF0IDEwOjMyOjM3QU0gLTA3MDAsIEplZmYgTWNH ZWUgd3JvdGU6Cj4gPiBPbiBUaHUsIE9jdCAxOCwgMjAxOCBhdCAxMTo1NzowNkFNICswMjAwLCBE YW5pZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAxMTo0NSBQ TSBKZWZmIE1jR2VlIDxqZWZmLm1jZ2VlQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+ID4KPiA+ID4g PiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAwMjozMzoyNlBNIC0wNzAwLCBKZWZmIE1jR2VlIHdy b3RlOgo+ID4gPiA+ID4gT24gRnJpLCBPY3QgMTIsIDIwMTggYXQgMDE6NTE6NDZQTSAtMDcwMCwg Um9kcmlnbyBWaXZpIHdyb3RlOgo+ID4gPiA+ID4gPiBPbiBGcmksIE9jdCAxMiwgMjAxOCBhdCAw MToyNDozMFBNIC0wNzAwLCBKZWZmIE1jR2VlIHdyb3RlOgo+ID4gPiA+ID4gPiA+IFRoZSBHdUMg ZmlybXdhcmUgdGVhbSBpcyBwcm9wb3NpbmcgYSBjaGFuZ2UgdG8gdGhlIGZpcm13YXJlIHZlcnNp b25pbmcgc2NoZW1lLgo+ID4gPiA+ID4gPiA+IFRoZSBnb2FsIGlzIHRvIG1vcmUgYWNjdXJhdGVs eSB0cmFjayB0aGUgZmlybXdhcmUgaW50ZXJmYWNlIHRvIGhlbHAgdXNlcnMKPiA+ID4gPiA+ID4g PiBtYW5hZ2UgZGVwZW5kZW5jaWVzIG9uIHRoYXQgaW50ZXJmYWNlLiBUaGUgcHJvcG9zZWQgc2No ZW1lIGlzIGJhc2VkIG9uCj4gPiA+ID4gPiA+ID4gc2VtdmVyLm9yZyB3aXRoIHNvbWUgYWRkaXRp b25zIHRvIGhhbmRsZSBicmFuY2hpbmcuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGUg cHJvcG9zZWQgdmVyc2lvbiBudW1iZXIgd291bGQgaGF2ZSA0IGZpZWxkczogQkFTRS5NQUpPUi5N SU5PUi5QQVRDSC4KPiA+ID4gPiA+ID4gPiBDb250cmFzdCB0aGlzIHdpdGggdGhlIDIgZmllbGRz IGluIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyOiBNQUpPUi5NSU5PUi4KPiA+ID4gPiA+ID4g PiBTaWRlIG5vdGUsIHRoZSBjdXJyZW50IGZpcm13YXJlIGVuY29kZXMgYSBCUkFOQ0ggYW5kIENM SUVOVCBudW1iZXIgYXMgd2VsbCwgYnV0Cj4gPiA+ID4gPiA+ID4gdGhleSBoYXZlIG5vdCBiZWVu IG5lZWRlZCBieSBpOTE1LiBTbyBhIGZpcm13YXJlIHJlbGVhc2VkIHdpdGggdGhlIHByb3Bvc2Vk Cj4gPiA+ID4gPiA+ID4gc2NoZW1lIHdvdWxkIGJlIG5hbWVkIDxwbGF0Zm9ybT5fZ3VjX3Zlcjxi YXNlPl88bWFqb3I+XzxtaW5vcj5fPHBhdGNoPi5iaW4KPiA+ID4gPiA+ID4gPiAoZXg6IHNrbF9n dWNfdmVyMV81XzRfNy5iaW4pIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQKPiA+ID4gPiA+ID4gPiA8 cGxhdGZvcm0+X2d1Y192ZXI8bWFqb3I+XzxtaW5vcj4uYmluIChleDogc2tsX2d1Y192ZXI5XzMz LmJpbikuCj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGUgQkFTRSBudW1iZXIgaXMgYW4g SUQgdGhhdCBpcyB1c2VkIHRvIGlkZW50aWZ5IGEgc2V0IG9mIHJlbGVhc2VzIGluIHdoaWNoCj4g PiA+ID4gPiA+ID4gdGhlIE1BSk9SLk1JTk9SLlBBVENIIHNlbWFudGljcyBhcmUgY29uc2lzdGVu dC4gSW4gb3RoZXIgd29yZHMsIHR3byByZWxlYXNlcwo+ID4gPiA+ID4gPiA+IGZyb20gdGhlIHNh bWUgQkFTRSBjYW4gYmUgY29tcGFyZWQgdmlhIHRoZWlyIE1BSk9SLk1JTk9SLlBBVENIIHRvIGlu ZmVyIHRoZWlyCj4gPiA+ID4gPiA+ID4gcmVsYXRpb25zaGlwIGFzIGRlc2NyaWJlZCBiZWxvdy4g VHdvIHJlbGVhc2VzIGZyb20gYSBkaWZmZXJlbnQgQkFTRSBjYW5ub3QgYmUKPiA+ID4gPiA+ID4g PiByZWxpYWJseSBjb21wYXJlZC4gVGhlIEJBU0UgbnVtYmVyIGZhY2lsaXRhdGVzIGFyYml0cmFy eSBicmFuY2hpbmcgd2hpY2ggY2FuCj4gPiA+ID4gPiA+ID4gY3JlYXRlIGR1cGxpY2F0ZSBhbmQv b3IgZGlzY29ubmVjdGVkIE1BSk9SLk1JTk9SLlBBVENIIHZlcnNpb25zLiBUaGlzIHR5cGUgb2YK PiA+ID4gPiA+ID4gPiBicmFuY2hpbmcgaXMgZXhwZWN0ZWQgdG8gYmUgcmFyZSwgYW5kIHNvIEJB U0Ugd2lsbCByYXJlbHkgY2hhbmdlLiBXaGVuIGEgbmV3Cj4gPiA+ID4gPiA+ID4gQkFTRSBpcyBj cmVhdGVkLCB0aGUgTUFKT1IuTUlOT1IuUEFUQ0ggcmVzZXQgdG8gc3RhcnRpbmcgdmFsdWVzLgo+ ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBDb3VsZCB5b3UgcGxlYXNlIGNsYXJpZnkgYSBiaXQgd2hh dCBCQVNFIG1lYW5zPwo+ID4gPiA+ID4gPiBXaGF0IHdvdWxkIGJlIGEgZGlmZmVyZW50IEJBU0U/ Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhlIEJBU0UgbnVtYmVyIHN1cHBvcnRz IGdlbmVyYWwgYnJhbmNoaW5nIHRoYXQgd291bGQgY2F1c2UgdmVyc2lvbiBudW1iZXIKPiA+ID4g PiA+IGNvbmZsaWN0cy4gQnJhbmNoaW5nIGZvciBmaXJtd2FyZSByZWxlYXNlcyBpcyBub3QgZGVz aXJhYmxlLCBidXQgaXQgaXMgYQo+ID4gPiA+ID4gcHJhY3RpY2FsIHJlYWxpdHkuIFRoZXJlZm9y ZSB0aGUgdmVyc2lvbmluZyBzY2hlbWUgbXVzdCBhY2NvbW9kYXRlIGl0LiBMZXQncwo+ID4gPiA+ ID4gc2F5IHRoYXQgYSBoaWdoLXByaW9yaXR5IHJlcXVlc3QgaXMgbWFkZSB0byBwdXQgc3BlY2lm aWMgdXBkYXRlcyBvbiBhbiBvbGQKPiA+ID4gPiA+IHJlbGVhc2UgdGhhdCBzYWlkIGN1c3RvbWVy IGlzIGxvY2tlZCBvbi4gVGhvc2UgdXBkYXRlcyBjb3VsZCBpbmNsdWRlIGFueSBzb3J0Cj4gPiA+ ID4gPiBvZiBjaGFuZ2UgaW5jbHVkaW5nIGludGVyZmFjZSBjaGFuZ2UuIFRoZW4gd2UgaGF2ZSBh IHNlcXVlbmNlIGxpa2UgYmVsb3c6Cj4gPiA+ID4gPgo+ID4gPiA+ID4gdjEuMS4wLjAgICB2MS4x LjAuMSAgIHYxLjEuMC4yICAgdjEuMS4wLjMgICB2MS4xLjEuMAo+ID4gPiA+ID4gLS0tLU8tLS0t LS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTwo+ID4gPiA+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAo+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTy0tLS0tLS0tLS1PCj4gPiA+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHYyLjEuMS4wICAgdjIuMS4xLjEKPiA+ID4gPiA+Cj4gPiA+ ID4gPiBZb3UgY2FuIHNlZSB0aGF0IGlmIHdlIGRvbid0IGhhdmUgYSBCQVNFIG51bWJlciB0aGF0 IGNoYW5nZXMgZnJvbSAxIHRvIDIsIHRoZW4KPiA+ID4gPiA+IHdlIGVuZCB1cCB3aXRoIGR1cGxp Y2F0ZWQgdjEuMS4wIGFsb25nIHRoZSBkaWZmZXJlbnQgYnJhbmNoZXMgd2hpY2ggYXJlIG5vdCB0 aGUKPiA+ID4gPiA+IHNhbWUuIEFzIEkgd3JvdGUsIHRoaXMgc2hvdWxkIGJlIGEgdmVyeSByYXJl IHNjZW5hcmlvLCBidXQgaXQgY2FuIGhhcHBlbi4gTWF5YmUKPiA+ID4gPiA+IHVwc3RyZWFtIHdp bGwgYWx3YXlzIGJlIHN1cHBsaWVkIHdpdGggcmVsZWFzZXMgZnJvbSB0aGUgIm1haW4iIEJBU0Us IGFuZCB5b3UKPiA+ID4gPiA+IGNhbiBpZ25vcmUgdGhpcyBmaWVsZCwgYnV0IGl0IG5lZWRzIHRv IGJlIHRoZXJlIGZvciBvdGhlciBmaXJtd2FyZQo+ID4gPiA+ID4gZGlzdHJpYnV0aW9ucy4KPiA+ ID4gCj4gPiA+IFRoZSB3YXkgdGhpcyBpcyB1c3VhbGx5IHNvbHZlZCBpbiBzZW12ZXIgaXMgdG8g bm90IHByZXBlbmQgYSBCQVNFLCBidXQKPiA+ID4gcG9zdGZpeCBhIGJyYW5jaC1zcGVjaWZpYyB2 ZXJzaW9uLCB3aGlsZSBrZWVwaW5nIHRoZSBtYWlubGluZSB2ZXJzaW9uCj4gPiA+IHVuY2hhbmdl ZC4gU28KPiA+ID4gCj4gPiA+IHYyLjEuMS4wIGJlY29tZXMgdjEuMS4wLjEtYnJhbmNoMS0wCj4g PiA+IHYyLjEuMS4xIGJlY29tZXMgdjEuMS4wLjEtYnJhbmNoMS0xCj4gCj4gKzEuIFRoaXMgd291 bGQgYmUgbXVjaCBjbGVhbmVyLgo+IAo+IAo+ID4gPiAKPiA+ID4gV2l0aCB0aGUgcnVsZSB0aGF0 IGJyYW5jaGVzIGFyZSBleHBsaWNpdGx5IHVuc29ydGVkICh0aGF0J3MgZGVub3RlZCBieQo+ID4g PiB0aGUgLSAtIGFyb3VuZCB0aGVtLCBpbnN0ZWFkIG8gdXNpbmcgZG90cyksIHNvIG5vdCBjb21w YXJhYmxlLiBCb251cwo+ID4gPiBwb2ludHMgaWYgeW91IG5hbWUgdGhlIGJyYW5jaCBwb2ludHMg YnkgdGhlIGN1c3RvbWVycyAoY291bGQgYmUgdGhlCj4gPiA+IHByb2R1Y3QsIG9yIGludGVybmFs IGN1c3RvbWVyIGdyb3VwIG9yIHdoYXRldmVyKSB0byBtYWtlIHRoZXNlIG5hbWVzCj4gPiA+IHNs aWdodGx5IG1vcmUgbWVhbmluZ2Z1bC4KPiAKPiArMSBmb3IgbWVhbmluZ2Z1bCBuYW1lcy4KPiAK PiA+ID4gCj4gPiBJIGRvbid0IHNlZSBhbnkgbWVudGlvbiBvZiBicmFuY2ggaGFuZGxpbmcgb24g c2VtdmVyLm9yZy4KPiAKPiBBbHNvIEkgZG9uJ3Qgc2VlIGFuIGV4dHJhIGZpZWxkIGZvciBiYXNl IG9uIHNlbXZlci5vcmcuCj4gU28gRGFuaWVsIGlzIHNob3dpbmcgaG93IGl0IGlzIHVzdWFsbHkg c29sdmVkIG9uIG1hbnkgTGludXggZGlzdHJvcwo+IGFuZCBwYWNrYWdlcyB3aXRob3V0IGNyZWF0 aW5nIHRoaXMgY29tcGxleGl0eS4KPiAKPiA+IEl0IGRpc2N1c3NlcyB1c2luZwo+ID4gaHlwaGVu IGZvciBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhbmQgcGx1cyBmb3IgbWV0YWRhdGEuIEFueSBvdGhl ciByZWZlcmVuY2VzCj4gPiB5b3UgY2FuIHNoYXJlIHdvdWxkIGJlIGFwcHJlY2lhdGVkLgo+ID4g Cj4gPiBXZSBjYW4gY2VydGFpbmx5IHVzZSBhbiBhcHByb2FjaCBsaWtlIHRoaXMsIHdoZXJlIHRo ZSBicmFuY2ggSUQgKGNoYW5nZWQgZnJvbQo+ID4gQkFTRSBJRCkgaXMgYXBwZW5kZWQgdmlhIHRo ZSBoeXBoZW4gb25seSBpZiBuZWNlc3NhcnkuIFdlIHdvdWxkIHByb2JhYmx5IHN0aWNrCj4gPiB3 aXRoIGEgc2ltcGxlIG51bWVyaWNhbCBicmFuY2ggSUQgcmF0aGVyIHRoYW4gYSBzdHJpbmcsCj4g Cj4gc28gYnJhbmNoMSwgYnJhbmNoMi4uLiBhdCBsZWFzdCBpdCBnZXRzIGNsZWFyIGZvciBldmVy eW9uZQo+IHRoYXQgdGhpcyBpcyB0aGUgYnJhbmNoIGFuZCBub3QgdGhlIG1haW5saW5lLCB3aGls ZSBtYWlubGluZSBrZWVwcwo+IHRoZSBjbGVhbiBzZW12ZXIuCj4gCj4gPiBzbyB0aGF0IHRoZSBm dWxsCj4gPiB2ZXJzaW9uIGVuY29kZWQgaW4gZmlybXdhcmUgaXMgY29tcGFjdC4gV2UgaGF2ZSA2 NCBiaXRzIGN1cnJlbnRseSBhbGxvY2F0ZWQKPiA+IGZvciB2ZXJzaW9uIGluZm8gaW4gdGhlIENT Uy4gV2UgY291bGQgZGVmaW5lIGFuIGVudW1lcmF0aW9uIGluIHRoZSBpbnRlcmZhY2UKPiA+IHRv IG5hbWUgZWFjaCBJRCBtb3JlIHZlcmJvc2VseS4KPiAKPiBzYXZlIG9uZSBpbnQgZm9yIGJyYW5j aCBudW1iZXIuIGlmIDAgaXQgaXMgbWFpbmxpbmUgYW5kIGZpbGVuYW1lIGRvZXNuJ3QKPiBuZWVk IHRvIGhhdmUgYW55IHN0cmluZywgb3RoZXJ3aXNlIC1icmFuY2g8aW50Pi4KPiAKPiA+IAo+ID4g SSdtIHN0aWxsIG5vdCBjbGVhciBvbiBob3cgdGhlIG1ham9yLm1pbm9yLnBhdGNoIHNob3VsZCBj aGFuZ2UgaW4gdGhpcyBtb2RlbAo+ID4gd2hlbiB0aGUgZmlyc3QgYW5kIHN1YnNlcXVlbnQgcmVs ZWFzZXMgZnJvbSBhIGJyYW5jaCBhcmUgbWFkZS4gWW91ciBleGFtcGxlCj4gPiBzZWVtcyB0byBp bmRpY2F0ZSB0aGF0IG1ham9yLm1pbm9yLnBhdGNoIGFyZSBsb2NrZWQsIGFuZCBlYWNoIHJlbGVh c2UgZm9yCj4gPiB0aGUgYnJhbmNoIGdldHMgb25lIGluY3JlbWVudGVkIHZlcnNpb24gYXQgdGhl IGVuZC4gSSB3b3VsZCBwcmVmZXIgdGhhdCB0aGUKPiA+IG1ham9yLm1pbm9yLnBhdGNoIGNvbnRp bnVlIHRvIGV2b2x2ZSBvbiB0aGUgYnJhbmNoIHBlciBub3JtYWwgY29udmVudGlvbiwgYnV0Cj4g PiB0aGVuIHRoZSBicmFuY2ggSUQgd291bGQgaW5kaWNhdGUgdGhhdCB0aGVyZSBpcyBubyBnYXVy YW50ZWVkIHJlbGF0aW9uc2hpcCB0bwo+ID4gYW55IG1ham9yLm1pbm9yLnBhdGNoIG9uIGFub3Ro ZXIgYnJhbmNoLiBTbyBpbiBiZWxvdyBzZXF1ZW5jZSB0aGUgIjEiIGJyYW5jaAo+ID4gcmVzZXRz IHRvIHYxLjAuMCBmb3IgZmlyc3QgcmVsZWFzZSwgdGhlbiBuZXh0IHJlbGVhc2UgaXMgdjEuMS4w IGlmIGZvciBleGFtcGxlCj4gPiBhIGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVyZmFjZSBjaGFu Z2UgaXMgbWFkZSwgYW5kIHNvIG9uLiBEb2VzIHRoYXQgc2VlbQo+ID4gcmVhc29uYWJsZT8KPiA+ IAo+IAo+IElmIEkgd2FzIG9uZSBvZiB0aGUgdXNlcnMgb2YgYnJhbmNoZWQgdmVyc2lvbmluZyBJ J2QgbGlrZSB0byBrbm93IGhvdwo+IGl0IGNvbXBhcmVzIHdpdGggdGhlIG1haW5saW5lLgo+IAo+ IFNvIGlmIEkgcmVjaWV2ZSBhIHYxLjAuMC4xIEkgd291bGQgaW1lZGlhdGVsbHkgYXNzdW1lIHRo aXMgd2FzIGRlcml2YXRlZAo+IGZyb20gMS4wLjAgaW5zdGVhZCBvZiAxLjAuMi4KPiAKClNvIGFy ZSB5b3Ugc2F5aW5nIHRoYXQgd2hlbiBicmFuY2hpbmcgZnJvbSBtYWlubGluZSB2MS4wLjIsIHRo ZSBmaXJzdCByZWxlYXNlCnNob3VsZCB1c2UgdjEuMC4yLWJyYW5jaDE/IEJ1dCB3aGF0IHdvdWxk IHRoZSBzdWJzZXF1ZW50IHZlcnNpb25zIHVzZT8gSWYgSQpsb2NrIHRoZSB2MS4wLjIgcG9ydGlv biB0byBwcmVzZXJ2ZSBicmFuY2gtb2ZmIHBvaW50LCBJIHdpbGwgbmVlZCBhIDV0aCBmaWVsZApq dXN0IHRvIG51bWJlciB0aGUgcmVsZWFzZXMgZnJvbSB0aGlzIGJyYW5jaCwgZS5nLiB2MS4wLjIt YnJhbmNoMS0wLAp2MS4wLjItYnJhbmNoMS0xLCBldGMuIEkgZ3Vlc3MgdGhhdCBpcyB3aGF0IERh bmllbCBzdWdnZXN0ZWQuIEJ1dCBpZiB0aGUgYnJhbmNoCmlzIGxvbmctbGl2ZWQsIEkndmUgbm93 IGxvc3QgdmlzaWJpbGl0eSBpbnRvIHdoYXQgc29ydCBvZiBjaGFuZ2VzIChpbnRlcmZhY2Ugb3IK aW50ZXJuYWwpIGFyZSBnb2luZyBvbi4gSSBndWVzcyB0aGF0J3MgdGhlIHRyYWRlLW9mZi4KCj4g PiAgdjEuMC4wICAgICB2MS4wLjEgICAgIHYxLjAuMiAgICAgdjEuMC4zICAgICB2MS4xLjAKPiA+ IC0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE8tLS0tLS0tLS0tTwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg ICB2MS4wLjAtMSAgIHYxLjEuMC0xCj4gCj4gRm9yIHRoZSByZXBlbnNlbnRhdGlvbiBJIHRoaW5n IHRoYXQgaW50ZXJuYWxseSB5b3UgY2FuIHNhdmUgb25seSBudW1iZXIKPiBvbmUsIGJ1dCB3aGVu IGJ1aWxkaW5nIGZpbmFsIGZpbGUgbmFtZSBmb3IgZGlzdHJpYnV0aW9uIHdlIHNob3VsZCBwcmlu dAo+IHYxLjAuMC1icmFuY2gxIC4uLi4gIHYxLjEuMC1icmFuY2gxCj4gCj4gb3IgZXZlbiBiZXR0 ZXIgd2l0aCBtZWFuaW5nZnVsIHN0cmluZ3MgaW5zdGVhZCBvZiBicmFuY2gKPiBhcyBEYW5pZWwg c3VnZ2VzdGVkLgo+IAo+IG1heWJlIGFuIGV4dGVybmFsIG1hcHBpbmcgdGFibGUgZnJvbSBicmFu Y2ggbnVtYmVycyB0byBjdXN0b21lciBzdHJpbmdzPwo+IAoKQWdyZWVkLiBUaGUgY29udmVudGlv biBmb3IgbmFtaW5nIHRoZSBmaXJtd2FyZSBmaWxlIGZyb20gdGhlIDQgYmFzaWMgbnVtZXJpYwpm aWVsZHMgaXMgY29tcGxldGVseSB1cCB0byB0aGUgT1MgdGVhbS4gU28gMy40LjEtMywgMy40LjEt YnJhbmNoMywgb3IKMy40LjEtY3VzdG9tZXJYICh3aGVyZSBjdXN0b21lclggbWFwcyB0byBicmFu Y2ggaWQgMyB0aHJvdWdoIHNvbWUgdGFibGUgdGhhdApkcml2ZXIga25vd3MgYWJvdXQpIGFyZSBh bGwgdmFsaWQgb3B0aW9ucy4gSSB0aGluayB0aGUgbWFwcGluZyB0YWJsZSBzaG91bGQgYmUKaW5j b3Jwb3JhdGVkIGludG8gdGhlIHB1YmxpYyBpbnRlcmZhY2Ugc3BlYyBpbiBzb21lIGZhc2hpb24u Ci1KZWZmCgo+IFRoYW5rcywKPiBSb2RyaWdvLgo+IAo+ID4gCj4gPiAtSmVmZgo+ID4gCj4gPiA+ IFByZWZpeGluZyBhIEJBU0UsIHdpdGggYSBkb3QsIGlzIHZlcnkgbXVjaCBub3QgaG93IGl0J3Mg ZG9uZSBhbmQgdmVyeQo+ID4gPiBjb25mdXNpbmcuIFRoZXJlJ3Mgb25lIHRoaW5nIGRlYmlhbiBk b2VzLCBpdCdzIHByZXBlbmRpbmcgYW4gRVBPQ0gsCj4gPiA+IHdoaWNoIGlzIHVzZWQgZm9yIGUu Zy4gQysrIHBhY2thZ2VzIHdoZW4gdGhlIGNvbXBpbGVyIGFiaSBjaGFuZ2VzLiBJCj4gPiA+IHRo aW5rIHJlYWRpbmcgdXAgb24gZGViaWFuJ3MgcnVsZXMgd291bGQgYmUgZ29vZCBpbnNwaXJhdGlv biBmb3IgdGhpcwo+ID4gPiBwcm9ibGVtOgo+ID4gPiAKPiA+ID4gaHR0cHM6Ly9zZXJ2ZXJmYXVs dC5jb20vcXVlc3Rpb25zLzYwNDU0MS9kZWJpYW4tcGFja2FnZXMtdmVyc2lvbi1jb252ZW50aW9u Cj4gPiA+IAo+ID4gPiBDaGVlcnMsIERhbmllbAo+ID4gPiAKPiA+ID4gPiA+IC1KZWZmCj4gPiA+ ID4gPgo+ID4gPiA+Cj4gPiA+ID4gU29ycnksIEkgbWlzcmVwcmVzZW50ZWQgaG93IHRvIHRoZSBu dW1iZXJzIHdvdWxkIGNoYW5nZSBpbiB0aGUgYWJvdmUgZXhhbXBsZS4KPiA+ID4gPiBUaGUgY2hh bmdlIG9mIEJBU0UgZnJvbSAxIHRvIDIgd291bGQgcmVzZXQgTUFKT1IuTUlOT1IuUEFUQ0guIFNv IHRoZSBzZXF1ZW5jZQo+ID4gPiA+IHNob3VsZCBiZSB2MS4xLjAuMiAtPiB2Mi4xLjAuMCAtPiB2 Mi4xLjAuMSBhbmQgc28gb24uCj4gPiA+ID4KPiA+ID4gPiBJZiB3ZSBkb24ndCBoYXZlIEJBU0Us IHRoZSBwdXJlIHNlbXZlci5vcmcgc2VxdWVuY2Ugd291bGQgYmU6Cj4gPiA+ID4KPiA+ID4gPiAg IHYxLjAuMCAgICAgdjEuMC4xICAgICB2MS4wLjIgICAgIHYxLjAuMyAgICAgdjEuMS4wCj4gPiA+ ID4gLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTwo+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4g PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE8tLS0tLS0tLS0tTwo+ID4gPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4xLjAgICAgIHYxLjEuMQo+ID4gPiA+Cj4gPiA+ ID4gQW5kIHNvIHlvdSBzZWUgdGhlIGR1cGxpY2F0aW9uIG9mIHZlcnNpb24gbnVtYmVyLgo+ID4g PiA+IC0gSmVmZgo+ID4gPiA+Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGUgTUFKT1Ig bnVtYmVyIGNvbmZvcm1zIHRvIHRoZSBtYWpvciBpbiBzZW12ZXIub3JnLiBJdCBpbmNyZW1lbnRz IG9uIGEKPiA+ID4gPiA+ID4gPiBiYWNrd2FyZHMgaW5jb21wYXRpYmxlIGNoYW5nZSBvZiB0aGUg aW50ZXJmYWNlLiBJdCByZXNldHMgdG8gMSBvbiBhIGNoYW5nZSBvZgo+ID4gPiA+ID4gPiA+IEJB U0UuIFRoZSBNQUpPUiBudW1iZXIgYmFzaWNhbGx5IHdvcmtzIHRoZSBzYW1lIGJldHdlZW4gdGhl IGN1cnJlbnQgYW5kCj4gPiA+ID4gPiA+ID4gcHJvcG9zZWQgdmVyc2lvbmluZyBzY2hlbWVzLgo+ ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4gVGhlIE1JTk9SIG51bWJlciBjb25mb3JtcyB0byB0 aGUgbWlub3IgaW4gc2VtdmVyLm9yZy4gSXQgaW5jcmVtZW50cyBvbiBhCj4gPiA+ID4gPiA+ID4g YmFja3dhcmRzIGNvbXBhdGlibGUgY2hhbmdlIG9mIHRoZSBpbnRlcmZhY2UgKG5ldyBpbnRlcmZh Y2VzIHRoYXQgYXJlIG9wdGlvbmFsCj4gPiA+ID4gPiA+ID4gdG8gdXNlKS4gSXQgd2lsbCBhbHNv IGluY3JlbWVudCBvbiBzdWJzdGFudGlhbCBuZXcgaW50ZXJuYWwgZnVuY3Rpb25hbGl0eSB0aGF0 Cj4gPiA+ID4gPiA+ID4gZG9lc24ndCBhZmZlY3QgdGhlIGludGVyZmFjZSBidXQgc2hvdWxkIGJl IGNhbGxlZCBvdXQgdG8gdGhlIHVzZXIuIEl0IHJlc2V0cyB0bwo+ID4gPiA+ID4gPiA+IDAgb24g YSBjaGFuZ2Ugb2YgTUFKT1IuIFRoZSBNSU5PUiBudW1iZXIgaW4gdGhlIGN1cnJlbnQgdmVyc2lv bmluZyBzY2hlbWUKPiA+ID4gPiA+ID4gPiBpbmNyZW1lbnRzIG9uIGFueSBiYWNrd2FyZHMgY29t cGF0aWJsZSBjaGFuZ2UuIFRoZSBwcm9wb3NlZCB2ZXJzaW9uaW5nIHNjaGVtZQo+ID4gPiA+ID4g PiA+IGJyZWFrcyB0aGlzIGludG8gdGhlIE1JTk9SIG51bWJlciBqdXN0IGRlc2NyaWJlZCBhbmQg dGhlIFBBVENIIG51bWJlciBiZWxvdy4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFRoZSBQ QVRDSCBudW1iZXIgY29uZm9ybXMgdG8gdGhlIHBhdGNoIGluIHNlbXZlci5vcmcuIEl0IGluY3Jl bWVudHMgb24gYQo+ID4gPiA+ID4gPiA+IGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIGNo YW5nZSwgdXN1YWxseSBhIGJ1ZyBmaXguIEl0IHJlc2V0cyB0byAwIG9uIGEKPiA+ID4gPiA+ID4g PiBjaGFuZ2Ugb2YgTUlOT1IuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEkgbGlrZSB0aGUgaWRl YSBvZiBNQUpPUi5NSU5PUi5QQVRDSCBmb2xsb3dpbmcgc2VtdmVyLm9yZy4KPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gSSB0aGluayBpZiB3ZSByZW1vdmUgdGhlIEJBU0Ugb3V0IG9mIHBpY3R1cmUg YW5kIGp1c3QgdXNlIHNlbXZlciBjbGVhciwKPiA+ID4gPiA+ID4gYnV0IG1heWJlIGl0IGlzIGp1 c3QgYmVjYXVzZSBJIGRpZG4ndCBxdWl0ZSB1bmRlcnN0YW5kIEJBU0UuCj4gPiA+ID4gPiA+Cj4g PiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiBUaGUgTUFKT1IuTUlOT1IgY29sbGVjdGl2ZWx5IGRl ZmluZSB0aGUgaW50ZXJmYWNlIHZlcnNpb24uIEJlY2F1c2UgdGhlIE1JTk9SCj4gPiA+ID4gPiA+ ID4gbWF5IGFsc28gaW5jcmVtZW50IG9uIGEgc3Vic3RhbnRpYWwgaW50ZXJuYWwgY2hhbmdlLCBp dCBkb2Vzbid0IGFsd2F5cyBtYXJrIGFuCj4gPiA+ID4gPiA+ID4gaW50ZXJmYWNlIGNoYW5nZSwg ZS5nLiA0LjUgYW5kIDQuNiBtYXkgaGF2ZSBpZGVudGljYWwgaW50ZXJmYWNlcy4gQnV0IHRoZQo+ ID4gPiA+ID4gPiA+IGRldGVybWluYXRpb24gb2YgaW50ZXJmYWNlIGNvbXBhdGliaWxpdHkgaXMg dW5jaGFuZ2VkLCBlLmcuIDQuNiBpcyBhbHdheXMKPiA+ID4gPiA+ID4gPiBiYWNrd2FyZHMgY29t cGF0aWJsZSB3aXRoIDQuNS4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEVhY2ggTUFKT1Iu TUlOT1IgbWF5IGNvbnRpbnVlIHRvIHJlY2VpdmUgaW50ZXJuYWwgZml4ZXMgYWxvbmcgYSBicmFu Y2ggZXZlbgo+ID4gPiA+ID4gPiA+IGFmdGVyIHRoZSBtYWluIGJyYW5jaCBmb3IgdGhhdCBCQVNF IGhhcyBtb3ZlZCBvbiB0byBhbm90aGVyIE1BSk9SLk1JTk9SLgo+ID4gPiA+ID4gPiA+IFJlbGVh c2VzIGZyb20gdGhlc2UgZml4LW9ubHkgYnJhbmNoZXMgaW5jcmVtZW50IG9ubHkgdGhlIFBBVENI IG51bWJlciBvbiB0aGF0Cj4gPiA+ID4gPiA+ID4gTUFKT1IuTUlOT1IsIGFuZCB0aGVyZWZvcmUg cmVtYWluIHNlbWFudGljYWxseSBjb25zaXN0ZW50IHdpdGggdGhlIG1haW4gYnJhbmNoLgo+ID4g PiA+ID4gPiA+IE5vIGNoYW5nZSBvZiBCQVNFIGlzIHRoZXJlZm9yZSBuZWVkZWQuIENvbnNpZGVy IGFuIGV4YW1wbGU6Cj4gPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gPiB2MS4xLjAuMCAgIHYxLjEu MC4xICAgdjEuMS4wLjIgICB2MS4xLjEuMCAgIHYxLjEuMS4xCj4gPiA+ID4gPiA+ID4gLS0tLU8t LS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTyAgICA8LS0gbWFpbiBh ZG9wdHMgdjEuMS4xLngKPiA+ID4gPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBc Cj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiA+ID4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiA+ID4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPLS0tLS0tLS0tLU8gICAgIDwtLSBmaXhlcyBmb3IgaW50ZXJm YWNlIHYxLjEuMC54Cj4gPiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4x LjAuMyAgIHYxLjEuMC40Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoaXMgYXBwcm9hY2ggaXMg Y29vbCBhbmQgbW9yZSBvciBsZXNzIGhvdyBNZXNhIGhhbmRsZXMgdGhlaXIgcmVsZWFzZXMsCj4g PiA+ID4gPiA+IGV4Y2VwdCBieSB0aGUgZmFjdCB0aGF0IHRoZWlyIE1ham9yIGlzIHRoZSB5ZWFy IGFuZCBtaW5vciBpcyB0aGUgbW9udGguCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEhvd2V2ZXIs IG9uIHRoZSBmaXJtd2FyZSBzaWRlIEkgaGF2ZSBhIGNvbmNlcm4gYmVjYXVzZSB3ZSBhcmUgc28g ZmFyIHRyeWluZwo+ID4gPiA+ID4gPiB0byBtYWtlIHN1cmUgdGhhdCB3ZSBoYXZlIDEtMSByZWxh dGlvbnNoaXAgb24ga2VybmVsLWZpcm13YXJlIHZlcnNpb24uCj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IEJ1dCBiYXNlZCBvbiB0aGlzIHZpZXcgYW5kIHdoYXQgQW51c2hhIHRvbGQgbWUgeWVzdGVy ZGF5IGl0IHNlZW1zCj4gPiA+ID4gPiA+IHRoYXQgR3VDIGlzIGdldHRpbmcgY29uc3RhbnQgcmVs ZWFzZXMuIFdpdGggdGhlIGNvbnN0YW50IHBhdGNoZXMgd2Ugd2lsbAo+ID4gPiA+ID4gPiBzb29u IGV4cGxvZGUgbGludXgtZmlybXdhcmUuZ2l0IHJlcG9zaXRvcnkgc2l6ZS4KPiA+ID4gPiA+ID4K PiA+ID4gPiA+ID4gQnV0IHRoaXMgbWF5YmUgaXMgc29tZXRoaW5nIHRvIGJlIHNvbHZlZCBvbiBs aW51eC1maXJtd2FyZSBzaWRlIGFuZCB3ZSBtYWtlCj4gPiA+ID4gPiA+IHN1cmUgdGhhdCB3ZSBj bGVhbiB1cCBhbmQgcmVtb3ZlIGZpcm13YXJlIHRoYXQgd2VyZSBuZXZlciByZWxlYXNlZCBpbiBh bnkKPiA+ID4gPiA+ID4gb2ZmaWNpYWwgTGludXgga2VybmVsLiBBbnVzaGEgb3IgQW50b25pbywg dGhvdWdodHM/Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiA+ID4gUm9k cmlnby4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJIGV4cGVjdCB0aGF0IGk5MTUg d2lsbCBzdGlsbCByZXF1aXJlIGEgc2luZ2xlIHZlcnNpb24gb2YgZmlybXdhcmUgcGVyIHBsYXRm b3JtCj4gPiA+ID4gPiBhcyBpdCBkb2VzIHRvZGF5LiBUaGlzIGNoYW5nZSBzaG91bGQgbm90IGlt cGFjdCB0aGF0IG90aGVyIHRoYW4gdG8gcmVxdWlyZSBpOTE1Cj4gPiA+ID4gPiB0byBjaGVjayA0 IG51bWJlcnMgaW5zdGVhZCBvZiAyLgo+ID4gPiA+ID4KPiA+ID4gPiA+IEl0IGlzIHRydWUgdGhh dCBmaXJtd2FyZSByZWxlYXNlcyBhcmUgbWFkZSAqaW50ZXJuYWxseSogKGZyb20gdGhlIGZpcm13 YXJlCj4gPiA+ID4gPiB0ZWFtIHRvIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHRlYW1zKSBhdCBhIGZy ZXF1ZW50IHJhdGUuIEl0IGlzIHVwIHRvIGVhY2ggT1MKPiA+ID4gPiA+IHRlYW0gdG8gZGVjaWRl IHRoZWlyIG93biBjYWRlbmNlIGZvciBpbnRlZ3JhdGluZyBhbmQgZGlzdHJpYnV0aW5nIHRob3Nl Cj4gPiA+ID4gPiBmaXJtd2FyZSBiYXNlZCBvbiB0aGVpciB1bmlxdWUgc2l0dWF0aW9uLiBTbyB0 aGUgTGludXggdGVhbSBtYXkgZmlsdGVyIHRoZXNlCj4gPiA+ID4gPiByZWxlYXNlcyBhbmQgdXBk YXRlIHRoZSB1cHN0cmVhbSBtdWNoIGxlc3MgZnJlcXVlbnRseS4KPiA+ID4gPiA+Cj4gPiA+ID4g PiA+ID4KPiA+ID4gPiA+ID4gPiBUaGVyZSBpcyBubyBuZWVkIHRvIGNoYW5nZSB0aGUgQkFTRSBi ZWNhdXNlIHRoZSBicmFuY2hpbmcgaGFwcGVuZWQgZnJvbSB0aGUKPiA+ID4gPiA+ID4gPiBsYXN0 IGZpeCAodjEuMS4wLjIpIG9uIHRoZSBtYWluIGJyYW5jaCBwcmlvciB0byB0aGUgY2hhbmdlIG9m IGludGVyZmFjZQo+ID4gPiA+ID4gPiA+ICh2MS4xLjEuMCkuIEFzIGxvbmcgYXMgb25seSBmaXhl cyBhcmUgYXBwbGllZCB0byB2MS4xLjAueCwgdGhlcmUgaXMgbm8gcmlzayBvZgo+ID4gPiA+ID4g PiA+IHZlcnNpb24gbnVtYmVyIGNsYXNoLiBBbGwgb2YgdGhlc2UgcmVsZWFzZSB2ZXJzaW9ucyBy ZW1haW4gc2VtYW50aWNhbGx5Cj4gPiA+ID4gPiA+ID4gY29ubmVjdGVkIHdpdGggb25lIHNtYWxs IGNhdmVhdC4gSWYgdGhpcyBzZXQgb2YgcmVsZWFzZSB2ZXJzaW9ucyBjYW1lCj4gPiA+ID4gPiA+ ID4gc2VxdWVudGlhbGx5IGFsb25nIGEgc2luZ2xlIGJyYW5jaCwgb25lIGNvdWxkIGluZmVyIHRo YXQgdGhlIGV4YWN0IGZpeGVzIGluCj4gPiA+ID4gPiA+ID4gdjEuMS4wLjQgd2VyZSBpbmhlcml0 ZWQgYnkgdjEuMS4xLjAuIFdpdGggdGhpcyAiaGlkZGVuIiBicmFuY2hpbmcsIHRoaXMgbWF5Cj4g PiA+ID4gPiA+ID4gbm90IGJlIHRydWUgYXMgaW4gdGhpcyBleGFtcGxlLiBPbmUgd291bGQgbmVl ZCB0byByZXZpZXcgdGhlIHYxLjEuMS4wIHJlbGVhc2UKPiA+ID4gPiA+ID4gPiBub3RlcyB0byBj aGVjay4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IFBsZWFzZSBwcm92aWRlIGFueSBmZWVk YmFjayBvbiB0aGUgcHJvcG9zZWQgY2hhbmdlLgo+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g VGhhbmtzLAo+ID4gPiA+ID4gPiA+IEplZmYKPiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gPiA+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+ ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g PiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo+ID4gPiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAtLSAKPiA+ID4g RGFuaWVsIFZldHRlcgo+ID4gPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24K PiA+ID4gKzQxICgwKSA3OSAzNjUgNTcgNDggLSBodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK