From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 00/39] GPU scheduler for i915 driver Date: Tue, 21 Jul 2015 15:33:42 +0200 Message-ID: <20150721133342.GK16722@phenom.ffwll.local> References: <1437143628-6329-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by gabe.freedesktop.org (Postfix) with ESMTPS id 380066E7E2 for ; Tue, 21 Jul 2015 06:31:04 -0700 (PDT) Received: by wibud3 with SMTP id ud3so127694557wib.0 for ; Tue, 21 Jul 2015 06:31:02 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1437143628-6329-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKdWwgMTcsIDIwMTUgYXQgMDM6MzM6MDlQTSArMDEwMCwgSm9obi5DLkhhcnJpc29u QEludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25A SW50ZWwuY29tPgo+IAo+IEltcGxlbWVudGVkIGEgYmF0Y2ggYnVmZmVyIHN1Ym1pc3Npb24gc2No ZWR1bGVyIGZvciB0aGUgaTkxNSBEUk0gZHJpdmVyLgo+IAo+IFRoZSBnZW5lcmFsIHRoZW9yeSBv ZiBvcGVyYXRpb24gaXMgdGhhdCB3aGVuIGJhdGNoIGJ1ZmZlcnMgYXJlIHN1Ym1pdHRlZCB0byB0 aGUKPiBkcml2ZXIsIHRoZSBleGVjYnVmZmVyKCkgY29kZSBhc3NpZ25zIGEgdW5pcXVlIHNlcW5v IHZhbHVlIGFuZCB0aGVuIHBhY2thZ2VzIHVwCj4gYWxsIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJl ZCB0byBleGVjdXRlIHRoZSBiYXRjaCBidWZmZXIgYXQgYSBsYXRlciB0aW1lLiBUaGlzCj4gcGFj a2FnZSBpcyBnaXZlbiBvdmVyIHRvIHRoZSBzY2hlZHVsZXIgd2hpY2ggYWRkcyBpdCB0byBhbiBp bnRlcm5hbCBub2RlIGxpc3QuCj4gVGhlIHNjaGVkdWxlciBhbHNvIHNjYW5zIHRoZSBsaXN0IG9m IG9iamVjdHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBiYXRjaCBidWZmZXIKPiBhbmQgY29tcGFyZXMg dGhlbSBhZ2FpbnN0IHRoZSBvYmplY3RzIGFscmVhZHkgaW4gdXNlIGJ5IG90aGVyIGJ1ZmZlcnMg aW4gdGhlCj4gbm9kZSBsaXN0LiBJZiBtYXRjaGVzIGFyZSBmb3VuZCB0aGVuIHRoZSBuZXcgYmF0 Y2ggYnVmZmVyIG5vZGUgaXMgbWFya2VkIGFzCj4gYmVpbmcgZGVwZW5kZW50IHVwb24gdGhlIG1h dGNoaW5nIG5vZGUuIFRoZSBzYW1lIGlzIGRvbmUgZm9yIHRoZSBjb250ZXh0IG9iamVjdC4KPiBU aGUgc2NoZWR1bGVyIGFsc28gYnVtcHMgdXAgdGhlIHByaW9yaXR5IG9mIHN1Y2ggbWF0Y2hpbmcg bm9kZXMgb24gdGhlIGdyb3VuZHMKPiB0aGF0IHRoZSBtb3JlIGRlcGVuZGVuY2llcyBhIGdpdmVu IGJhdGNoIGJ1ZmZlciBoYXMgdGhlIG1vcmUgaW1wb3J0YW50IGl0IGlzCj4gbGlrZWx5IHRvIGJl Lgo+IAo+IFRoZSBzY2hlZHVsZXIgYWltcyB0byBoYXZlIGEgZ2l2ZW4gKHR1bmVhYmxlKSBudW1i ZXIgb2YgYmF0Y2ggYnVmZmVycyBpbiBmbGlnaHQKPiBvbiB0aGUgaGFyZHdhcmUgYXQgYW55IGdp dmVuIHRpbWUuIElmIGZld2VyIHRoYW4gdGhpcyBhcmUgY3VycmVudGx5IGV4ZWN1dGluZwo+IHdo ZW4gYSBuZXcgbm9kZSBpcyBxdWV1ZWQsIHRoZW4gdGhlIG5vZGUgaXMgcGFzc2VkIHN0cmFpZ2h0 IHRocm91Z2ggdG8gdGhlCj4gc3VibWl0IGZ1bmN0aW9uLiBPdGhlcndpc2UgaXQgaXMgc2ltcGx5 IGFkZGVkIHRvIHRoZSBxdWV1ZSBhbmQgdGhlIGRyaXZlcgo+IHJldHVybnMgYmFjayB0byB1c2Vy IGxhbmQuCj4gCj4gQXMgZWFjaCBiYXRjaCBidWZmZXIgY29tcGxldGVzLCBpdCByYWlzZXMgYW4g aW50ZXJydXB0IHdoaWNoIHdha2VzIHVwIHRoZQo+IHNjaGVkdWxlci4gTm90ZSB0aGF0IGl0IGlz IHBvc3NpYmxlIGZvciBtdWx0aXBsZSBidWZmZXJzIHRvIGNvbXBsZXRlIGJlZm9yZSB0aGUKPiBJ UlEgaGFuZGxlciBnZXRzIHRvIHJ1bi4gRnVydGhlciwgdGhlIHNlcW5vIHZhbHVlcyBvZiB0aGUg aW5kaXZpZHVhbCBidWZmZXJzIGFyZQo+IG5vdCBuZWNlc3NhcnkgaW5jcmVtZW50aW5nIGFzIHRo ZSBzY2hlZHVsZXIgbWF5IGhhdmUgcmUtb3JkZXJlZCB0aGVpcgo+IHN1Ym1pc3Npb24uIEhvd2V2 ZXIsIHRoZSBzY2hlZHVsZXIga2VlcHMgdGhlIGxpc3Qgb2YgZXhlY3V0aW5nIGJ1ZmZlcnMgaW4g b3JkZXIKPiBvZiBoYXJkd2FyZSBzdWJtaXNzaW9uLiBUaHVzIGl0IGNhbiBzY2FuIHRocm91Z2gg dGhlIGxpc3QgdW50aWwgYSBtYXRjaGluZyBzZXFubwo+IGlzIGZvdW5kIGFuZCB0aGVuIG1hcmsg YWxsIGluIGZsaWdodCBub2RlcyBmcm9tIHRoYXQgcG9pbnQgb24gYXMgY29tcGxldGVkLgo+IAo+ IEEgZGVmZXJyZWQgd29yayBxdWV1ZSBpcyBhbHNvIHBva2VkIGJ5IHRoZSBpbnRlcnJ1cHQgaGFu ZGxlci4gV2hlbiB0aGlzIHdha2VzIHVwCj4gaXQgY2FuIGRvIG1vcmUgaW52b2x2ZWQgcHJvY2Vz c2luZyBzdWNoIGFzIGFjdHVhbGx5IHJlbW92aW5nIGNvbXBsZXRlZCBub2Rlcwo+IGZyb20gdGhl IHF1ZXVlIGFuZCBmcmVlaW5nIHVwIHRoZSByZXNvdXJjZXMgYXNzb2NpYXRlZCB3aXRoIHRoZW0g KGludGVybmFsCj4gbWVtb3J5IGFsbG9jYXRpb25zLCBEUk0gb2JqZWN0IHJlZmVyZW5jZXMsIGNv bnRleHQgcmVmZXJlbmNlLCBldGMuKS4gVGhlIHdvcmsKPiBoYW5kbGVyIGFsc28gY2hlY2tzIHRo ZSBpbiBmbGlnaHQgY291bnQgYW5kIGNhbGxzIHRoZSBzdWJtaXNzaW9uIGNvZGUgaWYgYSBuZXcK PiBzbG90IGhhcyBhcHBlYXJlZC4KPiAKPiBXaGVuIHRoZSBzY2hlZHVsZXIncyBzdWJtaXQgY29k ZSBpcyBjYWxsZWQsIGl0IHNjYW5zIHRoZSBxdWV1ZWQgbm9kZSBsaXN0IGZvcgo+IHRoZSBoaWdo ZXN0IHByaW9yaXR5IG5vZGUgdGhhdCBoYXMgbm8gdW5tZXQgZGVwZW5kZW5jaWVzLiBOb3RlIHRo YXQgdGhlCj4gZGVwZW5kZW5jeSBjYWxjdWxhdGlvbiBpcyBjb21wbGV4IGFzIGl0IG11c3QgdGFr ZSBpbnRlci1yaW5nIGRlcGVuZGVuY2llcyBhbmQKPiBwb3RlbnRpYWwgcHJlZW1wdGlvbnMgaW50 byBhY2NvdW50LiBOb3RlIGFsc28gdGhhdCBpbiB0aGUgZnV0dXJlIHRoaXMgd2lsbCBiZQo+IGV4 dGVuZGVkIHRvIGluY2x1ZGUgZXh0ZXJuYWwgZGVwZW5kZW5jaWVzIHN1Y2ggYXMgdGhlIEFuZHJv aWQgTmF0aXZlIFN5bmMgZmlsZQo+IGRlc2NyaXB0b3JzIGFuZC9vciB0aGUgbGludXggZG1hLWJ1 ZmYgc3luY2hyb25pc2F0aW9uIHNjaGVtZS4KPiAKPiBJZiBhIHN1aXRhYmxlIG5vZGUgaXMgZm91 bmQgdGhlbiBpdCBpcyBzZW50IHRvIGV4ZWNidWZmX2ZpbmFsKCkgZm9yIHN1Ym1pc3Npb24KPiB0 byB0aGUgaGFyZHdhcmUuIFRoZSBpbiBmbGlnaHQgY291bnQgaXMgdGhlbiByZS1jaGVja2VkIGFu ZCBhIG5ldyBub2RlIHBvcHBlZAo+IGZyb20gdGhlIGxpc3QgaWYgYXBwcm9wcmlhdGUuCj4gCj4g VGhlIHNjaGVkdWxlciBhbHNvIGFsbG93cyBoaWdoIHByaW9yaXR5IGJhdGNoIGJ1ZmZlcnMgKGUu Zy4gZnJvbSBhIGRlc2t0b3AKPiBjb21wb3NpdG9yKSB0byBqdW1wIGFoZWFkIG9mIHdoYXRldmVy IGlzIGFscmVhZHkgcnVubmluZyBpZiB0aGUgdW5kZXJseWluZwo+IGhhcmR3YXJlIHN1cHBvcnRz IHByZS1lbXB0aW9uLiBJbiB0aGlzIHNpdHVhdGlvbiwgYW55IHdvcmsgdGhhdCB3YXMgcHJlLWVt cHRlZAo+IGlzIHJldHVybmVkIHRvIHRoZSBxdWV1ZWQgbGlzdCByZWFkeSB0byBiZSByZXN1Ym1p dHRlZCB3aGVuIG5vIG1vcmUgaGlnaAo+IHByaW9yaXR5IHdvcmsgaXMgb3V0c3RhbmRpbmcuCj4g Cj4gW1BhdGNoZXMgYWdhaW5zdCBkcm0taW50ZWwtbmlnaHRseSB0cmVlIGZldGNoZWQgMTUvMDcv MjAxNSB3aXRoIHN0cnVjdCBmZW5jZQo+IGNvbnZlcnNpb24gcGF0Y2hlcyBhcHBsaWVkXQoKQSBm ZXcgaGlnaC1sZXZlbCBjb21tZW50czoKCnNlcW5vIGhhbmRsaW5nCi0tLS0tLS0tLS0tLS0tCgpT byB5b3UgZG8gcmV3b3JrIHNlcW5vIGhhbmRsaW5nIHRvIG1hdGVyaWFsaXplIHRoZW0gZmFpcmx5 IGxhdGUsIGJ1dAp0aGVyZSdzIHN0aWxsIChhdCBsZWFzdCBzZWVtaW5nbHksIG5vdCBzdXJlIHdo ZXRoZXIgdGhhdCBhbGwgZmFsbHMgb3V0CmFnYWluKSBhIGxvdCBvZiBjb2RlIHRvIGhhbmRsZSBz ZXFubyB2YWx1ZXMganVtcGluZyBhcm91bmQuCgpNeSBnb2FsIHdpdGggYWxsIHRoZSByZXF1ZXN0 L2ZlbmNlIGFic3RyYWN0aW9uIHdhcyB0aGF0IGNvcmUgY29kZSBjYW4gc3RvcApjYXJpbmcgYWJv dXQgd2hlcmUvaG93IHRoZSBzZXFubyBpcyBzdG9yZWQsIHdoaWNoIHdvdWxkIGFsbG93IHVzIHRv IHN3aXRjaAp0byBhIHBlci10aW1lbGluZSBzZXFubyBzY2hlbSwgaS5lLiBwZXIgY3R4L2VuZ2lu ZSwgc3RvcmUgdG8gYSBwcml2YXRlCnBlci1jdHggbG9jYXRpb24uCgpPcmlnaW5hbGx5IGl0IG1h ZGUgc2Vuc2UgdG8ga2VlcCBzZXFubyB2YWx1ZXMgYXMtaXMgc2luY2UgdGhleSB3aGVyZSB1c2Vk CmFsbCBvdmVyIHRoZSBkcml2ZXIsIGJ1dCB3ZSBmaXhlZCB0aGF0IHdpdGggdGhlIHNlcW5vMnJl cXVlc3QgY29udmVyc2lvbgphbmQgd2l0aCB0aGUgcmVxdWVzdCBwcmVhbGxvY2F0aW9uIHBhdGNo ZXMuIFdoYXQncyBzdGlsbCBtaXNzaW5nIHRoYXQKcHJldmVudHMgdXMgZnJvbSBmdWxseSBhYnN0 cmFjdGluZyBhd2F5IHNlcW5vLCBob3cgdGhleSdyZSBhbGxvY2F0ZWQgYW5kCndoZXJlIHRoZXkn cmUgc3RvcmVkIGZyb20gYSBmZW5jZS1pbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWw/Cgpw YXJhbGxlbCBkYXRhIHN0cnVjdHVyZXMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpDdXJyZW50 bHkgeW91ciBzY2hlZHVsZXIgYnVpbGRzIHVwIGEgcGFyYWxsZWwgc2V0IG9mIGRhdGFzdHJjdHVy ZXMKc3RhcnRpbmcgZnJvbSBkZXZfcHJpdi0+c2NoZWR1bGVyLiBUaGF0IHByb2JhYmx5IG1ha2Vz IHNlbnNlIGZvciBhbgpleHRlcm5hbCBwYXRjaCBzZXJpZXMsIGJ1dCBmb3IgdXNwdHJlYW1pbmcg SSBkb24ndCBsaWtlIHBhcmFsbGVsIGRhdGEKc3RydWN0dXJlcyBmb3IgYSBmZXcgcmVhc29uczoK Ci0gSXQgbWFrZXMgaXQgaGFyZGVyIHRvIHJlZmFjdG9yIGNvZGUgc2luY2UgaXQncyBtb3JlIGhv b3BzIHRvIGp1bXAKICB0aHJvdWdoIHdoZW4gZ29pbmcgZnJvbSBvbmUgaGlyYXJjaHkgdG8gdGhl IG90aGVyIG9uZS4gRS5nLiB3aGVuIHlvdQogIHdhbGsgYSBsaXN0IG9uIG9uZSBzaWRlIHRoZXJl IG1pZ2h0IG5vdCBiZSBhIHBlcmZlY3RseSBjb3JyZXNwb25kaW5nCiAgbGlzdCBvcmRlciBvbiB0 aGUgb3RoZXIgc2lkZS4KCi0gSXQncyBoYXJkZXIgdG8gc3BvdCBkdXBsaWNhdGVkIGxvZ2ljIChs aWtlIHRoZSBkZXBlbmN5IGNhbGN1bGF0aW9uCiAgY29kZSkuCgotIEl0J3MgaGFyZGVyIG9uIHJl dmlld2VycyBzaW5jZSBiZWhhdmlvciBmb3IgdGhlIG5ldyBzdHVmZiBuZWVkcyB0byBiZQogIGlu ZmVycmVkIGZyb20gdGhlIGNvZGUsIHdoaWxlIGV4dGVuZGluZyBleGlzdGluZyBzdHVmZiBjYW4g YnVpbGQgb24KICB3b3JraW5nIGFzc3VtcHRpb25zLiBZZWFoIEknbSBqdXN0IGxhenkgOy0pCgot IEVzcGVjaWFsbHkgaW4gR0VNIGNvZGUgaXQncyBub3QgZ3JlYXQgaGF2aW5nIHRvIGttYWxsb2Mg c2hhZG93aW5nCiAgc3RydWN0dXJlcyBkZWVwIGRvd24gaW4gdGhlIGNhbGwgY2hhaW4uCgpBbnl3 YXkgSSB0aGluayB0aGUgZ2xvYmFsIHN0dWZmIHNob3VsZCBqdXN0IGJlIGFuIGVtYmVkZGVkIHN0 cnVjdCBpbgpkZXZfcHJpdiAod2UgZG9uJ3QgYm90aGVyIHdpdGgga21hbGxvYyBpbiBnZW5lcmFs KS4gVGhlIHBlci1lbmdpbmUgYXJyYXlzCnNob3VsZCBiZSBzcGxpdCBhbmQgbW92ZWQgaW50byBp bnRlbF9lbmdpbmVfY3MuIEFueXRoaW5nIGN0eCBzcGVjaWZpYwooaGF2ZW4ndCBzcG90dGVkIG11 Y2gpIGJlbG9uZ3MgaW50byBjdHggYW5kIHRoZSBxdWV1ZV9lbnRyeSBzaG91bGQgYmUKbW92ZWQg aW50byByZXF1ZXN0cy4gWWVzIHRoZXJlJ3Mgbm90IGEgMToxIHJlcXVlc3Q6UUUgbWFwcGluZywg YnV0IHdlIGhhdmUKdGhhdCBhbHJlYWR5IHdpdGggZXhlY2xpc3RzIHdoZXJlIHdlIGNhbiBjb2Fs ZXNjZSByZXF1ZXN0cyB0b2dldGhlciBpZgp0aGV5J3JlIGp1c3QgdGFpbCB1cGRhdGVzIHRvIHRo ZSBzYW1lIGN0eCBvbiB0aGUgc2FtZSBlbmdpbmUuCgpsZWdhY3kgcmluZ2J1ZmZlciBzY2hlZHVs ZXIKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGUgcmVhbGx5IG5pY2UgdGhpbmcgd2l0 aCBleGVjbGlzdCBpcyB0aGF0IGVhY2ggY3R4IGhhcyBpdHMgb3duIHJpbmcgYW5kCndlIGRvbid0 IG5lZWQgdG8gZGVsYXkgZW1pdHRpbmcgcmluZ2J1ZmZlciBjb21tYW5kcyBhdCBhbGwgZm9yIHRo ZQpzY2hlZHVsZXIsIGp1c3QgdGhlIHRhaWwgdXBkYXRlIGFuZCBleGVjbGlzdCBzdWJtaXNzaW9u LiBUaGF0IG1lYW5zCnNjaGVkdWxlciB3aXRoIGV4ZWNsaXN0IGlzIHJlYWxseSBqdXN0IGFuIGlu dGVybmFsIGRldGFpbCBsaWtlIHRoZSBndWMKc3VibWlzc2lvbiBhbmQgd29uJ3QgbmVlZCBhbnkg YmlnIGNoYW5nZXMgdG8gdGhlIGNvcmUgZ2VtIGNvZGUuCgpMZWdhY3kgc2NoZWR1bGVyIG90b2gg bWVhbnMgd2UgbmVlZCB0byBtYWtlIHN1cmUgbm8gcmluZ2J1ZmZlciBjb21tYW5kcwpnZXQgZW1p dHRlZCwgd2hpY2ggbWVhbnMgc29tZSBraW5kIG9mIHRyYW5zYWN0aW9uYWwgcmluZyBhY2Nlc3Mg dGhpbmcgb3IKc29tZXRoaW5nIHNpbWlsYXIgbGlrZSBDaHJpcyBzdWdnZXN0ZWQuIFRoYXQncyBh IGxvdCBtb3JlIHRoYW4ganVzdCB0aGUKZ3VhcmFudGVlcyBpbiB0aGUgYWRkX3JlcXVlc3QgcmV3 b3JrLCBhbmQgSSBkb24ndCByZWFsbHkgdGhpbmsgdGhhdCBlZmZvcnQKaXMgd29ydGggaXQgcmVh bGx5LgoKSSd2ZSBtYWRlIHNvbWUgbW9yZSBjb21tZW50cyBhYm91dCBhIGJ1bmNoIG9mIHRoZSBk ZXRhaWxzLCB0aGlzIGlzIGp1c3QKdGhlIG92ZXJhbGwgZGVzaWduIGNvbW1lbnRzLgoKQ2hlZXJz LCBEYW5pZWwKPiAKPiBEYXZlIEdvcmRvbiAoMSk6Cj4gICBkcm0vaTkxNTogVXBkYXRpbmcgYXNz b3J0ZWQgcmVnaXN0ZXIgYW5kIHN0YXR1cyBwYWdlIGRlZmluaXRpb25zCj4gCj4gSm9obiBIYXJy aXNvbiAoMzgpOgo+ICAgZHJtL2k5MTU6IEFkZCB0b3RhbCBjb3VudCB0byBjb250ZXh0IHN0YXR1 cyBkZWJ1Z2ZzIG91dHB1dAo+ICAgZHJtL2k5MTU6IEV4cGxpY2l0IHBvd2VyIGVuYWJsZSBkdXJp bmcgZGVmZXJyZWQgY29udGV4dCBpbml0aWFsaXNhdGlvbgo+ICAgZHJtL2k5MTU6IFByZWx1ZGUg dG8gc3BsaXR0aW5nIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIgaW4gdHdvCj4gICBkcm0vaTkxNTog U3BsaXQgaTkxNV9kZW1fZG9fZXhlY2J1ZmZlcigpIGluIGhhbGYKPiAgIGRybS9pOTE1OiBSZS1p bnN0YXRlIHJlcXVlc3QtPnVuaXEgYmVjYXVzZSBpdCBpcyBleHRyZW1lbHkgdXNlZnVsCj4gICBk cm0vaTkxNTogU3RhcnQgb2YgR1BVIHNjaGVkdWxlcgo+ICAgZHJtL2k5MTU6IFByZXBhcmUgcmV0 aXJlX3JlcXVlc3RzIHRvIGhhbmRsZSBvdXQtb2Ytb3JkZXIgc2Vxbm9zCj4gICBkcm0vaTkxNTog QWRkZWQgc2NoZWR1bGVyIGhvb2sgaW50byBpOTE1X2dlbV9jb21wbGV0ZV9yZXF1ZXN0c19yaW5n KCkKPiAgIGRybS9pOTE1OiBEaXNhYmxlIGhhcmR3YXJlIHNlbWFwaG9yZXMgd2hlbiBHUFUgc2No ZWR1bGVyIGlzIGVuYWJsZWQKPiAgIGRybS9pOTE1OiBGb3JjZSBNTUlPIGZsaXBzIHdoZW4gc2No ZWR1bGVyIGVuYWJsZWQKPiAgIGRybS9pOTE1OiBBZGRlZCBzY2hlZHVsZXIgaG9vayB3aGVuIGNs b3NpbmcgRFJNIGZpbGUgaGFuZGxlcwo+ICAgZHJtL2k5MTU6IEFkZGVkIGRlZmVycmVkIHdvcmsg aGFuZGxlciBmb3Igc2NoZWR1bGVyCj4gICBkcm0vaTkxNTogUmVkaXJlY3QgZXhlY2J1ZmZlcl9m aW5hbCgpIHZpYSBzY2hlZHVsZXIKPiAgIGRybS9pOTE1OiBLZWVwIHRoZSByZXNlcnZlZCBzcGFj ZSBtZWNoYW5pc20gaGFwcHkKPiAgIGRybS9pOTE1OiBBZGRlZCB0cmFja2luZy9sb2NraW5nIG9m IGJhdGNoIGJ1ZmZlciBvYmplY3RzCj4gICBkcm0vaTkxNTogSG9vayBzY2hlZHVsZXIgbm9kZSBj bGVhbiB1cCBpbnRvIHJldGlyZSByZXF1ZXN0cwo+ICAgZHJtL2k5MTU6IEFkZGVkIHNjaGVkdWxl ciBpbnRlcnJ1cHQgaGFuZGxlciBob29rCj4gICBkcm0vaTkxNTogQWRkZWQgc2NoZWR1bGVyIHN1 cHBvcnQgdG8gX193YWl0X3JlcXVlc3QoKSBjYWxscwo+ICAgZHJtL2k5MTU6IEFkZGVkIHNjaGVk dWxlciBzdXBwb3J0IHRvIHBhZ2UgZmF1bHQgaGFuZGxlcgo+ICAgZHJtL2k5MTU6IEFkZGVkIHNj aGVkdWxlciBmbHVzaCBjYWxscyB0byByaW5nIHRocm90dGxlIGFuZCBpZGxlIGZ1bmN0aW9ucwo+ ICAgZHJtL2k5MTU6IEFkZCBzY2hlZHVsZXIgaG9vayB0byBHUFUgcmVzZXQKPiAgIGRybS9pOTE1 OiBBZGRlZCBhIG1vZHVsZSBwYXJhbWV0ZXIgZm9yIGFsbG93aW5nIHNjaGVkdWxlciBvdmVycmlk ZXMKPiAgIGRybS9pOTE1OiBTdXBwb3J0IGZvciAndW5mbHVzaGVkJyByaW5nIGlkbGUKPiAgIGRy bS9pOTE1OiBEZWZlciBzZXFubyBhbGxvY2F0aW9uIHVudGlsIGFjdHVhbCBoYXJkd2FyZSBzdWJt aXNzaW9uIHRpbWUKPiAgIGRybS9pOTE1OiBBZGRlZCBpbW1lZGlhdGUgc3VibWlzc2lvbiBvdmVy cmlkZSB0byBzY2hlZHVsZXIKPiAgIGRybS9pOTE1OiBBZGQgc3luYyB3YWl0IHN1cHBvcnQgdG8g c2NoZWR1bGVyCj4gICBkcm0vaTkxNTogQ29ubmVjdGluZyBleGVjYnVmZiBmZW5jZXMgdG8gc2No ZWR1bGVyCj4gICBkcm0vaTkxNTogQWRkZWQgdHJhY2UgcG9pbnRzIHRvIHNjaGVkdWxlcgo+ICAg ZHJtL2k5MTU6IEFkZGVkIHNjaGVkdWxlciBxdWV1ZSB0aHJvdHRsaW5nIGJ5IERSTSBmaWxlIGhh bmRsZQo+ICAgZHJtL2k5MTU6IEFkZGVkIGRlYnVnZnMgaW50ZXJmYWNlIHRvIHNjaGVkdWxlciB0 dW5pbmcgcGFyYW1ldGVycwo+ICAgZHJtL2k5MTU6IEFkZGVkIGRlYnVnIHN0YXRlIGR1bXAgZmFj aWxpdGllcyB0byBzY2hlZHVsZXIKPiAgIGRybS9pOTE1OiBBZGQgZWFybHkgZXhpdCB0byBleGVj YnVmZl9maW5hbCgpIGlmIGluc3VmZmljaWVudCByaW5nIHNwYWNlCj4gICBkcm0vaTkxNTogQWRk ZWQgc2NoZWR1bGVyIHN0YXRpc3RpYyByZXBvcnRpbmcgdG8gZGVidWdmcwo+ICAgZHJtL2k5MTU6 IEFkZGVkIHNlcW5vIHZhbHVlcyB0byBzY2hlZHVsZXIgc3RhdHVzIGR1bXAKPiAgIGRybS9pOTE1 OiBBZGQgc2NoZWR1bGVyIHN1cHBvcnQgZnVuY3Rpb25zIGZvciBURFIKPiAgIGRybS9pOTE1OiBH UFUgcHJpb3JpdHkgYnVtcGluZyB0byBwcmV2ZW50IHN0YXJ2YXRpb24KPiAgIGRybS9pOTE1OiBF bmFibGUgR1BVIHNjaGVkdWxlciBieSBkZWZhdWx0Cj4gICBkcm0vaTkxNTogQWxsb3cgc2NoZWR1 bGVyIHRvIG1hbmFnZSBpbnRlci1yaW5nIG9iamVjdCBzeW5jaHJvbmlzYXRpb24KPiAKPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgIHwgICAgMSArCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAyMjEgKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICAgICAgICAgICAgfCAgICA2ICsKPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICAgIHwgICAgOSArCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICAgNDIgKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgIDE5MSArKy0KPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgIDMzOCArKysrLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgICAgICAgICAgIHwgICAgMyArCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgICAgICAgICB8ICAgIDQgKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgIDMwICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgICAgICB8IDE3NjIgKysrKysrKysrKysrKysrKysr KysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oICAgICAg fCAgMTc4ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmggICAgICAgICAg fCAgMjMzICsrKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAg IHwgICAgNiArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAg fCAgMTYzICsrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCAgICAgICAgICAg fCAgICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwg ICA0NyArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgfCAg IDQzICstCj4gIDE4IGZpbGVzIGNoYW5nZWQsIDMxMTAgaW5zZXJ0aW9ucygrKSwgMTY4IGRlbGV0 aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z Y2hlZHVsZXIuYwo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zY2hlZHVsZXIuaAo+IAo+IC0tIAo+IDEuOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=