From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: Re: [PATCH 2/2] drm/i915/guc: default to using GuC submission where possible Date: Tue, 26 Apr 2016 09:49:53 +0100 Message-ID: <571F2BB1.5020108@intel.com> References: <1461349375-5394-1-git-send-email-david.s.gordon@intel.com> <1461349375-5394-2-git-send-email-david.s.gordon@intel.com> <20160422184515.GK17454@nuc-i3427.alporthouse.com> <571DEC51.3050205@intel.com> <20160425103907.GA4033@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id AC6856E77D for ; Tue, 26 Apr 2016 08:49:55 +0000 (UTC) In-Reply-To: <20160425103907.GA4033@nuc-i3427.alporthouse.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org, "Dai, Yu" , "O'Rourke, Tom" List-Id: intel-gfx@lists.freedesktop.org T24gMjUvMDQvMTYgMTE6MzksIENocmlzIFdpbHNvbiB3cm90ZToKPiBPbiBNb24sIEFwciAyNSwg MjAxNiBhdCAxMTowNzoxM0FNICswMTAwLCBEYXZlIEdvcmRvbiB3cm90ZToKPj4gT24gMjIvMDQv MTYgMTk6NDUsIENocmlzIFdpbHNvbiB3cm90ZToKPj4+IE9uIEZyaSwgQXByIDIyLCAyMDE2IGF0 IDA3OjIyOjU1UE0gKzAxMDAsIERhdmUgR29yZG9uIHdyb3RlOgo+Pj4+IFRoaXMgcGF0Y2ggc2lt cGx5IGNoYW5nZXMgdGhlIGRlZmF1bHQgdmFsdWUgb2YgImVuYWJsZV9ndWNfc3VibWlzc2lvbiIK Pj4+ID5mcm9tIDAgKG5ldmVyKSB0byAtMSAoYXV0bykuIFRoaXMgbWVhbnMgdGhhdCBHdUMgc3Vi bWlzc2lvbiB3aWxsIGJlCj4+Pj4gdXNlZCBpZiB0aGUgcGxhdGZvcm0gaGFzIGEgR3VDLCB0aGUg R3VDIHN1cHBvcnRzIHRoZSByZXF1ZXN0IHN1Ym1pc3Npb24KPj4+PiBwcm90b2NvbCwgYW5kIGFu eSByZXF1aXJlZCBHdUMgZmlybXd3YXJlIHdhcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiBJZiBhbnkK Pj4+PiBvZiB0aGVzZSBjb25kaXRpb25zIGFyZSBub3QgbWV0LCB0aGUgZHJpdmVyIHdpbGwgZmFs bCBiYWNrIHRvIHVzaW5nCj4+Pj4gZXhlY2xpc3QgbW9kZS4KPj4+Cj4+PiBUaGVyZSBhcmUgc2V2 ZXJhbCBzaG9ydGNvbWluZ3MgeWV0LCBpbiBwYXJ0aWN1bGFyIHlvdSd2ZSBkZWNpZGVkIHRvIGFk ZAo+Pj4gbmV3IEFCSS4uLgo+Pj4KPj4+IGk5MTVfZ3VjX3dxX2NoZWNrX3NwYWNlKCk6IERvIG5v dCByZXR1cm4gRVRJTUVET1VULiBUaGlzIGZ1bmN0aW9uJ3MKPj4+IHJldHVybiBjb2RlIGlzIEFC SS4KPj4+Cj4+PiBZb3VyIGNob2ljZXMgYXJlIGVpdGhlciBFQUdBSU4gaWYgeW91IHRoaW5rIHRo ZSBoYXJkd2FyZSB3aWxsIGNhdGNoIHVwLCBvcgo+Pj4gbW9yZSBsaWtlbHkgRUlPIGFuZCByZXNl dCB0aGUgaGFyZHdhcmUuCj4+Cj4+IFRoaXMgbGF5ZXIgZG9lc24ndCBoYXZlIGVub3VnaCBpbmZv cm1hdGlvbiB0byBkZXRlcm1pbmUgdGhhdCB3ZSBuZWVkCj4+IGEgcmVzZXQsIHNvIGl0J2xsIGhh dmUgdG8gYmUgRUFHQUlOLiBURFIgc2hvdWxkIGNhdGNoIHRoZSBjYXNlIHdoZXJlCj4+IHdlIGNv bnRpbnVlIHRvIGJlIHVuYWJsZSB0byBzdWJtaXQgZm9yIGFuIGV4dGVuZGVkIHBlcmlvZCwgZm9y Cj4+IHdoYXRldmVyIHJlYXNvbi4KPgo+IFlvdSBkb24ndD8gVGhpcyBpcyBhbiBpbnRlcmZhY2Ug dG8gdGhlIGhhcmR3YXJlLCBpZiB5b3UgZG9uJ3Qga25vdyBpZgo+IHRoZSBHdUMgaXMgcmVzcG9u ZGluZyB3aG8gZG9lcz8gVGhlIG90aGVyIGxheWVycyBvbmx5IGxvb2sgYXQgd2hldGhlciB3ZQo+ IGFkdmFuY2luZyB0aHJvdWdoIHRoZSByZXF1ZXN0cyAoZWl0aGVyIGJyZWFkY3J1bWJzIG9yIHRp bWVyIHRpY2tzKS4KCldlbGwgdGhpcyBwYXJ0aWN1bGFyIGZ1bmN0aW9uIGlzIG9ubHkgbG9va2lu ZyBhdCB0aGUgc3RhdGUgb2YgdGhlIFdRLCAKYW5kIGRvZXNuJ3QgdHJhY2sgaG93IGZhc3Qgd2Un cmUgc2VuZGluZyByZXF1ZXN0cyBvciBob3cgbWFueSByZXF1ZXN0cyAKYXJlIG91dHN0YW5kaW5n LiBTbyBpdCBjYW4ndCByZWFsbHkgc2F5IHdoZXRoZXIgYSBsYWNrIG9mIHNwYWNlIGlzIGEgCnJl YWwgaXNzdWUsIG9yIGp1c3QgYSB0cmFuc2llbnQgY29uZGl0aW9uIHRoYXQgd2UnbGwgcmVjb3Zl ciBmcm9tIChidXQgCnNlZSBiZWxvdykuCgo+IElmIHlvdSByZXR1cm4gRUFHQUlOLCB3ZSBidXN5 c3BpbiB0aHJvdWdoIHRoZSBlbnRpcmUgZXhlY2J1ZmZlci4gVGhhdCdzCj4gYWNjZXB0YWJsZSAt IGFzIHdlIHdpbGwgY2F0Y2ggdGhlIHJlc2V0IGF0IHNvbWUgcG9pbnQuIElmIHdlIGJ1c3lzcGlu Cj4gaGVyZSwgd2UgaGF2ZSB0byBob29rIGludG8gdGhlIHJlc2V0IHRvIGFsbG93IGl0IHRvIHN0 ZWFsIHRoZQo+IHN0cnVjdF9tdXRleC4KPgo+PiBJIGRvbid0IGxpa2UgdGhlIHNwaW53YWl0IGFu eXdheSwgc28gbWF5YmUgd2Ugc2hvdWxkIGp1c3QgcmV0dXJuIHRoZQo+PiBpbW1lZGlhdGUgcmVz dWx0IG9mIHNhbXBsaW5nIHRoZSBXUSBzcGFjZSBvbmNlLCBhbmQgbGV0IHRoZSB1cHBlcgo+PiBs YXllcnMgZGVhbCB3aXRoIGhvdyBvciB3aGV0aGVyIHRvIHdhaXQtYW5kLXJldHJ5Lgo+Cj4gSSB3 b3VsZCBoYXZlIGl0IGJ1c3lzcGluIGZvciBhIGZldyBtaWNyb3NlY29uZHMuIE5vbmUgb2YgdGhl IHVwcGVyCj4gbGF5ZXJzIGhhdmUgYW55IG1vcmUgY2x1ZSB0aGFuIHlvdSBoZXJlLCB0aG91Z2gg b25lIG9wdGlvbiBpcyB0byBrZWVwCj4gdGhlIGxpc3Qgb2YgcmVxdWVzdHMgYW5kIHdhaXQgZm9y IHRoZSBvbGRlc3QgdG8gZXhwaXJlIC0gYW5kIHdlIHNob3VsZAo+IGJlIGFibGUgdG8gZmluZCB0 aGF0IGZyb20gdGhlIGVuZ2luZSwgSSBmb3JnZXQgaWYgdGhlcmUgaXMgYSAxOjEKPiBjb3JyZXNw b25kZW5jZSBiZXR3ZWVuIGVuZ2luZSBhbmQgd29ya3F1ZXVlIHRob3VnaC4KClNvLCBJIHRlc3Rl ZCB0aGUgaWRlYSBvZiBqdXN0IHJldHVybmluZyAtRUFHQUlOIGltbWVkaWF0ZWx5LCBhbmQgaXQg CnNlZW1zIHRoYXQgd2UgKmNhbiogZmlsbCB0aGUgV1EgLS0gYnV0IG9ubHkgaW4gb25lIHBhcnRp Y3VsYXIgc2NlbmFyaW8uIApUaGF0IHdhcyBnZW1fY3R4X3N3aXRjaCAtLSBwcmVzdW1hYmx5IGJl Y2F1c2UgdGhhdCBpbnZvbHZlcyBhIGxvdCBvZiAKd29yayBieSB0aGUgR1BVIGFuZCBleHRyYSBv dmVyaGVhZCBmb3IgdGhlIEd1Qy4gT3RoZXJ3aXNlLCB0aGUgV1Egd2FzIApuZXZlciBmdWxsLiBB bmQgaW4gdGhhdCB0ZXN0LCB0aGUgc3RyYXRlZ3kgb2YgcmV0dXJuaW5nIC1FQUdBSU4gd29ya2Vk IApwZXJmZWN0bHkgd2VsbCwgd2l0aCBubyBvdGhlciBlcnJvcnMgdHJpZ2dlcmVkIGFzIGEgcmVz dWx0LiBTbyB0aGlzIG1heSAKd2VsbCBiZSB0aGUgcmlnaHQgd2F5IHRvIGdvIC0tIGl0J3MgY2Vy dGFpbmx5IHRoZSBzaW1wbGVzdCA6KQoKPj4+IGd1Y19hZGRfd29ya3F1ZXVlX2l0ZW06IGNhbm5v dCBmYWlsCj4+Pgo+Pj4gSXQgbXVzdCBiZSBmaXhlZCBzdWNoIHRoYXQgaXQgaXMgYSB2b2lkIGZ1 bmN0aW9uIHdpdGhvdXQgcG9zc2liaWxpdHkgb2YKPj4+IGZhaWx1cmUuCj4+Cj4+IFRoZSBjb2Rl IGNsZWFybHkgaW5kaWNhdGVzIHRoYXQgdGhpcyAic2hvdWxkbid0IGhhcHBlbiIsIGFuZCB5ZXMs IGl0Cj4+IHdvdWxkIGluZGljYXRlIGFuIGluY29uc2lzdGVuY3kgaW4gdGhlIGludGVybmFsIHN0 YXRlIG9mIHRoZSBkcml2ZXIKPj4gaWYgdGhlIFdBUk4tYW5kLXJldHVybi1lcnJvciBwYXRoIHdl cmUgdGFrZW4uCj4+Cj4+IEhvd2V2ZXIsIHRoZSByZWFzb24gZm9yIGluY2x1ZGluZyBzdWNoIGEg Y2hlY2sgaXMgYmVjYXVzZSB3ZSdyZQo+PiBjcm9zc2luZyBiZXR3ZWVuIGxvZ2ljYWwgc3VibW9k dWxlcyBoZXJlLiBUaGUgR3VDIHN1Ym1pc3Npb24gY29kZQo+PiByZXF1aXJlcyB0aGF0IHRoZSBM UkMgY29kZSAod2hpY2ggaXMgTk9UIEd1Qy1zcGVjaWZpYykgaGFzCj4+IHByZXZpb3VzbHkgY2Fs bGVkIHRoZSBwcmVjaGVjay1mb3Itc3BhY2UgZnVuY3Rpb24gYW5kIGdvdCB0aGUKPj4gZ28tYWhl YWQgc2lnbmFsLiBTbyB0aGlzIGlzIGVzc2VudGlhbGx5IGNoZWNraW5nIHRoYXQgdGhlIGludGVy bmFsCj4+IHByb3RvY29sIGhhcyBiZWVuIGZvbGxvd2VkIGNvcnJlY3RseS4gSWYgdGhlIExSQyBj b2RlIHdlcmUgdXBkYXRlZAo+PiBzdWNoIHRoYXQgaXQgbWlnaHQgbWlzcyB0aGUgcHJlY2hlY2st Zm9yLXNwYWNlIGluIHNvbWUgcGF0aHMsIHRoaXMKPj4gV0FSTi1hbmQtZmFpbCBjaGVjayB3b3Vs ZCBoZWxwIGlkZW50aWZ5IHRoZSBwcm90b2NvbCBlcnJvci4KPj4KPj4gSSBjYW4gY2hhbmdlIGl0 IHRvIGEgQlVHKCkgaWYgeW91IHByZWZlciEKPgo+IFBlcnNvbmFsbHksIHllcy4gQW5kIGlmIGl0 IGlzIGV2ZXIgaGl0IGluIHByYWN0aWNlIGFuZCBub3QgYnkgYW4gaWd0LAo+IHRoYXQgbG9va3Mg ZG91Ymx5IGJhZC4KPgo+IGFkZC1yZXF1ZXN0IGNhbm5vdCBmYWlsIGFzIHdlIGNhbm5vdCB1bndp bmQgdGhlIHRyYW5zYWN0aW9ucyBmb3IgdGhlCj4gcmVxdWVzdC4gV2UgY291bGQgZGVmZXIgdGhl IGdsb2JhbCBzdGF0ZSB1cGRhdGVzIHVudGlsIGFmdGVyIHRoZQo+IHRyYW5zYWN0aW9uIGlzIGNv bW1pdHRlZCwgYnV0IGRvbid0IHRvZGF5IGFuZCB3ZSB0aGVuIGhhdmUgdG8gZmluZCBhIHdheQo+ IHRvIG1pdGlnYXRlIHRoYXQgY29zdCB0byBldmVyeSByZXF1ZXN0IHZzIG1ha2luZyB0aGUgZXJy b3IgcGF0aCBzaW1wbGVyLgoKT3Igd2UgY291bGQgbWFrZSB0aGUgZ2xvYmFsIHN0YXRlIHVwZGF0 ZXMgcmV2ZXJzaWJsZSwgYXMgd2UncmUgZG9pbmcgaW4gCnRoZSBzY2hlZHVsZXIgY29kZS4gQnV0 IG9uZSB3YXkgb3IgYW5vdGhlciwgSSB0aGluayB3ZSBzaG91bGQgYmUgbW92aW5nIAp0b3dhcmRz IGEgdHJhbnNhY3Rpb25hbCBtb2RlbCB3aGVyZSBpdCBlaXRoZXIgd29ya3Mgb3IgZmFpbHMgd2l0 aCBubyAKc2lkZS1lZmZlY3RzLgoKPj4+IE5vdCB0aGF0IHlvdSBldmVuIHN1Y2Nlc3NmdWxseSBo b29rZWQgdXAgdGhlIGZhaWx1cmUgcGF0aHMgaW4KPj4+IHRoZSBjdXJyZW50IGNvZGUuCj4+Cj4+ IFRoZSBjdXJyZW50IGNvZGUgaXMgYnJva2VuIGF0IGxlYXN0IGJlY2F1c2UgdGhlIHdob2xlIGNh bGxjaGFpbiBpcwo+PiBkZWNsYXJlZCBhcyByZXR1cm5pbmcgYW4gaW50IGVycm9yIGNvZGUsIG9u bHkgdG8gZmluZCB0aGF0IHRoZQo+PiB0b3Btb3N0IGxldmVsIHNheXMgdGhhdCBhZGRfcmVxdWVz dC9lbWl0X3JlcXVlc3QgYXJlIG5vdCBhbGxvd2VkIHRvCj4+IGZhaWwhCj4+Cj4+IEl0IHdvdWxk IGJlIHJhdGhlciBiZXR0ZXIgaWYgdGhlIHRvcCBsZXZlbCBoYW5kbGVkIGFsbCBlcnJvcnMgaW4K Pj4gc3VibWlzc2lvbiwgZXZlbiBpZiBpdCB3ZXJlIG9ubHkgYnkgZHJvcHBpbmcgdGhlIHJlcXVl c3QgYW5kCj4+IHJlc2V0dGluZyB0aGUgZW5naW5lIQo+Pgo+Pj4gU2FtZSBmb3IgZ3VjX3Jpbmdf ZG9vcmJlbGwuCj4+Cj4+IFRoZSByYXRpb25hbGUgZm9yIGFuIGVycm9yIHJldHVybiBpcyBzbGln aHRseSBkaWZmZXJlbnQgaGVyZSwgYXMKPj4gdGhpcyB3b3VsZCBub3QgaW5kaWNhdGUgYW4gaW50 ZXJuYWwgbG9naWMgZXJyb3IgaW4gdGhlIGRyaXZlciwgYnV0Cj4+IHJhdGhlciBhIGZhaWx1cmUg b2YgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBkcml2ZXIgYW5kIHRoZQo+PiBkb29yYmVsbCBo YXJkd2FyZSAob3IgcG9zc2libHkgdGhlIEd1QyBmaXJtd2FyZSwgYnV0IEkgZG9uJ3QgdGhpbmsg YQo+PiBHdUMgYnVnIGNvdWxkIGNhdXNlIG1vcmUgdGhhbiBvbmUgZmFpbHVyZS10by11cGRhdGUs IGhlbmNlIHRoZSByZXRyeQo+PiBjb3VudCBpcyBvbmx5IDIpLgo+Pgo+PiBJZiB0aGUgZG9vcmJl bGwgaGFyZHdhcmUgaXMgbm90IHdvcmtpbmcgY29ycmVjdGx5LCB0aGVyZSBpcyBub3RoaW5nCj4+ IHdlIGNhbiBkbyBhYm91dCBpdCBoZXJlOyB0aGUgb25seSBvcHRpb24gaXMgdG8gcmVwb3J0IHRo ZSBmYWlsdXJlIHVwCj4+IHRvIHNvbWUgbGF5ZXIgdGhhdCBjYW4gcmVjb3ZlciwgcHJvYmFibHkg YnkgcmVzZXR0aW5nIHRoZSBHUFUuCj4KPiBFeGFjdGx5LiBKdXN0IHByZXRlbmQgaXQgd29ya2Vk IGFuZCB3ZSB3aWxsIHJlc2V0IHRoZSBHUFUgd2hlbiB3ZSBmaW5kCj4gb3V0IGl0IGRpZG4ndC4K Ckl0J3MgaW1wb3J0YW50IHRvIGtlZXAgcy93IHN0YXRlIHNlbGYtY29uc2lzdGVudCwgb3RoZXJ3 aXNlIGNvZGUgd2lsbCAKbGlrZWx5IGNyYXNoIHdoZW4gaXRzIHByZWNvbmRpdGlvbnMgYXJlIG5v dCBtZXQ7IGFuZCBpdCdzIGdvb2QgdG8ga2VlcCAKcy93IHN0YXRlIGNvbnNpc3RlbnQgd2l0aCB0 aGF0IG9mIHRoZSBoL3csIG90aGVyd2lzZSBzeXN0ZW0gYmVoYXZpb3VyIGlzIApsaWtlbHkgdG8g YmUgdW5wcmVkaWN0YWJsZS4KClNvIEknZCByYXRoZXIgYWN0aXZlbHkgcmVwb3J0IGEgZGV0ZWN0 ZWQgcHJvYmxlbSB0aGFuIGp1c3QgbGV0IGEgCmJhY2tncm91bmQgdGFzayBub25kZXRlcm1pbmlz dGljYWxseSBmaW5kIG91dCBsYXRlciB0aGF0ICJzb21ldGhpbmcgd2VudCAKd3JvbmciLiBNdWNo IGVhc2llciB0byBwaW4gZG93biB0aGUgZmlyc3Qgc3ltcHRvbSBvZiB0aGUgZmFpbHVyZSB0aGF0 IAp3YXksIGFuZCB0aGVyZWZvcmUgbWF5YmUgZWFzaWVyIHRvIGZpbmQgdGhlIHJvb3QgY2F1c2Uu Cgo+Pj4gQW5kIHdoYXQgZXhhY3RseSBpcyB0aGF0IGF0b21pYzY0X2NtcHhjaGcoKSBzZXJpYWxp c2luZyB3aXRoPyBUaGVyZSBhcmUKPj4+IG5vIG90aGVyIENQVXMgY29udGVuZGluZyB3aXRoIHRo ZSB3cml0ZSwgYW5kIG5laXRoZXIgZG9lcyB0aGUgR3VDIChhbmQgSQo+Pj4gZG91YnQgaXQgaXMg dGFraW5nIGFueSBub3RpY2Ugb2YgdGhlIGxvY2sgY21weGNoZykuIFVzaW5nIGNtcHhjaGcgd2hl cmUKPj4+IGEgc2luZ2xlIFdSSVRFX09OQ0UoKSBvZiBhIDMyYml0IHZhbHVlIHdpbnMgdGhlIHBl cmYgcHJpemUgZm9yIGhvdGVzdAo+Pj4gaW5zdHJ1Y3Rpb24gYW5kIGZ1bmN0aW9uIGluIHRoZSBr ZXJuZWwuCj4+Cj4+IFRoZSBkb29yYmVsbCBjb250cm9sbGVyIGhhcmR3YXJlLCBJIHNob3VsZCB0 aGluay4gVGhlIEJTcGVjCj4+IGRlc2NyaWJlcyB1c2luZyBMT0NLX0NNUFhDSEc4QiB0byB1cGRh dGUgZG9vcmJlbGxzLCBzbyBJIHRoaW5rIHRoaXMKPj4gY29kZSBpcyBqdXN0IGJhc2VkIG9uIHdo YXQgaXQgc2F5cyB0aGVyZS4gSWYgdGhlIENQVSBoYXJkd2FyZQo+PiBkb2Vzbid0IGltcGxlbWVu dCBpdCBlZmZpY2llbnRseSwgc3VyZWx5IHRoZSBHUFUgaC93IGRlc2lnbmVycwo+PiB3b3VsZG4n dCBoYXZlIG1hbmRhdGVkIGl0IGluIHRoaXMgd2F5Pwo+Cj4gV293LCBJJ20gc3VycHJpc2VkIHRo YXQgdGhleSB3b3VsZCBwdXQgaW50byB0aGUgc2FtZSBkb21haW4uIFN0aWxsLAo+IHVubGVzcyB5 b3UgYXJlIGFjdHVhbGx5IHNlcmlhbGlzaW5nIHdpdGggYW5vdGhlciB3cml0ZXIsIHdoYXQgaXMg dGhlCj4gcG9pbnQgb2YgdXNpbmcgbG9jayBjbXB4Y2hnPyBFLmcuIGFuIHhjaGcgd291bGQgYmUg ZW5vdWdoIHRvIGVuZm9yY2UKPiBvcmRlcmluZywgYW5kIHlvdSBzaG91bGQgYXNrIHRoZW0gYWdh aW4gaWYgdGhpcyBpcyBub3QgYSBsaXR0bGUgb3ZlcmtpbGwKPiBmb3Igb25lLXdheSBzaWduYWxp bmcuCj4gLUNocmlzCgpUaGUgZG9vcmJlbGwgY29udHJvbGxlciBpcyBlc3NlbnRpYWxseSBhIGNh Y2hlLXNub29wLCBsb29raW5nIGZvciB3cml0ZXMgCnRvIHRoZSBub21pbmF0ZWQgbGluZSBhbmQg c2VuZGluZyBhbiBpbnRlcnJ1cHQgdG8gdGhlIEd1QyB3aGVuIGl0IHNlZXMgCm9uZS4gSWYgSSB3 ZXJlIGRlc2lnbmluZyB0aGF0LCBJIG1pZ2h0IHdlbGwgdGhpbmsgaXQgd291bGQgYmUgc2ltcGxl ciAKKGZvciB0aGUgaGFyZHdhcmUpIG9ubHkgdG8gd2F0Y2ggZm9yIHdyaXRlcyB0aGF0IHdlcmUg c3BlY2lhbCBpbiBzb21lIAp3YXksIHN1Y2ggYXMgaGF2aW5nIExPQ0sgYXNzZXJ0ZWQuIFRoYXQg c2VlbXMgYSBwZXJmZWN0bHkgcmVhc29uYWJsZSB3YXkgCm9mIGRpc3Rpbmd1aXNoaW5nIHRoZSBz cGVjaWFsICJyaW5nIHRoZSBkb29yYmVsbCwgd2FrZSB0aGUgR3VDIiB3cml0ZSAKZnJvbSBqdXN0 IGFueSBvbGQgYWNjZXNzIHRoYXQgbWlnaHQgYXQgZmlyc3QgbG9vayBsaWtlIGEgY2FjaGUgaGl0 LiAKKEJUVywgSSBkb24ndCB0aGluayB0aGUgY3VycmVudCBkb29yYmVsbCBjb250cm9sbGVyIGFj dHVhbGx5ICpkb2VzKiAKd2F0Y2ggb25seSBmb3IgbG9ja2VkIGN5Y2xlcywgYnV0IHNvbWUgdmVy c2lvbiBtaWdodCkuIFNvIEknZCByYXRoZXIgCnN0aWNrIHdpdGggdGhlIGV4YWN0IHNlcXVlbmNl IHRoYXQgdGhlIEJTcGVjIHN1Z2dlc3RzLCBhdCBsZWFzdCB1bnRpbCAKaXQncyBhbGwgYmVlbiB0 aG9yb3VnaGx5IHRlc3RlZCAoImNvcnJlY3RuZXNzIGZpcnN0LCBvcHRpbWlzZSBsYXRlciIpLgoK LkRhdmUuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=