From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pekka Paalanen Subject: Re: KMS timings (Re: [PATCH 6/8] drm/bochs: phase 3: provide a custom ->atomic_commit implementation) Date: Tue, 21 Jul 2015 14:22:03 +0300 Message-ID: <20150721142203.0f9d8573@gmail.com> References: <1437049241-11972-1-git-send-email-zhjwpku@gmail.com> <1437049241-11972-7-git-send-email-zhjwpku@gmail.com> <20150717090809.6c9d7d02@gmail.com> <20150720104609.10c01e4a@gmail.com> <20150720123548.0d9b6472@gmail.com> <20150720142100.GH16722@phenom.ffwll.local> <20150721100609.4c4d7f37@gmail.com> <20150721090258.GB16722@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-la0-f49.google.com (mail-la0-f49.google.com [209.85.215.49]) by gabe.freedesktop.org (Postfix) with ESMTPS id E0B766E60C for ; Tue, 21 Jul 2015 04:22:09 -0700 (PDT) Received: by laem6 with SMTP id m6so115459619lae.0 for ; Tue, 21 Jul 2015 04:22:07 -0700 (PDT) In-Reply-To: <20150721090258.GB16722@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAyMSBKdWwgMjAxNSAxMTowMjo1OCArMDIwMApEYW5pZWwgVmV0dGVyIDxkYW5pZWxA ZmZ3bGwuY2g+IHdyb3RlOgoKPiBPbiBUdWUsIEp1bCAyMSwgMjAxNSBhdCAxMDowNjowOUFNICsw MzAwLCBQZWtrYSBQYWFsYW5lbiB3cm90ZToKPiA+IE9uIE1vbiwgMjAgSnVsIDIwMTUgMTA6MzI6 MzEgLTA3MDAKPiA+IFN0w6lwaGFuZSBNYXJjaGVzaW4gPHN0ZXBoYW5lLm1hcmNoZXNpbkBnbWFp bC5jb20+IHdyb3RlOgo+ID4gCj4gPiA+IE9uIE1vbiwgSnVsIDIwLCAyMDE1IGF0IDc6MjEgQU0s IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4gd3JvdGU6Cj4gPiA+ID4gT24gTW9uLCBK dWwgMjAsIDIwMTUgYXQgMTI6MzU6NDhQTSArMDMwMCwgUGVra2EgUGFhbGFuZW4gd3JvdGU6Cj4g PiA+ID4+IE9uIE1vbiwgMjAgSnVsIDIwMTUgMDE6NTg6MzMgLTA3MDAKPiA+ID4gPj4gU3TDqXBo YW5lIE1hcmNoZXNpbiA8c3RlcGhhbmUubWFyY2hlc2luQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ ID4+Cj4gPiA+ID4+ID4gT24gTW9uLCBKdWwgMjAsIDIwMTUgYXQgMTI6NDYgQU0sIFBla2thIFBh YWxhbmVuIDxwcGFhbGFuZW5AZ21haWwuY29tPiB3cm90ZToKPiA+ID4gPj4gPiA+IE9uIFN1biwg MTkgSnVsIDIwMTUgMTc6MjA6MzIgLTA3MDAKPiA+ID4gPj4gPiA+IFN0w6lwaGFuZSBNYXJjaGVz aW4gPHN0ZXBoYW5lLm1hcmNoZXNpbkBnbWFpbC5jb20+IHdyb3RlOgo+ID4gPiA+PiA+ID4KPiA+ ID4gPj4gPiA+PiBPbiBUaHUsIEp1bCAxNiwgMjAxNSBhdCAxMTowOCBQTSwgUGVra2EgUGFhbGFu ZW4gPHBwYWFsYW5lbkBnbWFpbC5jb20+IHdyb3RlOgo+ID4gPiA+PiA+ID4+ID4KPiA+ID4gPj4g PiA+PiA+IE9uIFRodSwgMTYgSnVsIDIwMTUgMjA6MjA6MzkgKzA4MDAKPiA+ID4gPj4gPiA+PiA+ IEpvaG4gSHVudGVyIDx6aGp3cGt1QGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4+ID4gPj4gPgo+ ID4gPiA+PiA+ID4+ID4gPiBGcm9tOiBaaGFvIEp1bndhbmcgPHpoandwa3VAZ21haWwuY29tPgo+ ID4gPiA+PiA+ID4+ID4gPgo+ID4gPiA+PiA+ID4+ID4gPiBUaGlzIHN1cHBvcnRzIHRoZSBhc3lu Y2hyb25vdXMgY29tbWl0cywgcmVxdWlyZWQgZm9yIHBhZ2UtZmxpcHBpbmcKPiA+ID4gPj4gPiA+ PiA+ID4gU2luY2UgaXQncyB2aXJ0dWFsIGh3IGl0J3Mgb2sgdG8gY29tbWl0IGFzeW5jIHN0dWZm IHJpZ2h0IGF3YXksIHdlCj4gPiA+ID4+ID4gPj4gPiA+IG5ldmVyIGhhdmUgdG8gd2FpdCBmb3Ig dmJsYW5rLgo+ID4gPiA+PiA+ID4+ID4KPiA+ID4gPj4gPiA+PiA+IEhpLAo+ID4gPiA+PiA+ID4+ ID4KPiA+ID4gPj4gPiA+PiA+IGluIHRoZW9yeSwgeWVzLiBUaGlzIGlzIHdoYXQgYSBwYXRjaCB0 byBib2NocyBpbXBsZW1lbnRlZCBub3QgdG9vIGxvbmcKPiA+ID4gPj4gPiA+PiA+IGFnbywgc28g QUZBSUsgeW91IGFyZSBvbmx5IHJlcGxpY2F0aW5nIHRoZSBleGlzdGluZyBiZWhhdmlvdXIuCj4g PiA+ID4+ID4gPj4gPgo+ID4gPiA+PiA+ID4+ID4gSG93ZXZlciwgaWYgdXNlcnNwYWNlIGRvaW5n IGFuIGFzeW5jIGNvbW1pdCAob3Igc3luYywgSSBzdXBwb3NlKSBkb2VzCj4gPiA+ID4+ID4gPj4g PiBub3QgaW5jdXIgYW55IHdhaXRzIGluIHRoZSBrZXJuZWwgaW4gZS5nLiBzZW5kaW5nIHRoZSBw YWdlIGZsaXAgZXZlbnQsCj4gPiA+ID4+ID4gPj4gPiB0aGVuIGZsaXAgZHJpdmVuIHByb2dyYW1z IChlLmcuIGEgV2F5bGFuZCBjb21wb3NpdG9yLCBzYXksIFdlc3RvbikKPiA+ID4gPj4gPiA+PiA+ IHdpbGwgYmUgcnVubmluZyBpdHMgcmVuZGVyaW5nIGxvb3AgYXMgYSBidXN5LWxvb3AsIGJlY2F1 c2UgdGhlIGtlcm5lbAo+ID4gPiA+PiA+ID4+ID4gZG9lcyBub3QgdGhyb3R0bGUgaXQgdG8gdGhl ICh2aXJ0dWFsKSBkaXNwbGF5IHJlZnJlc2ggcmF0ZS4KPiA+ID4gPj4gPiA+PiA+Cj4gPiA+ID4+ ID4gPj4gPiBUaGlzIHdpbGwgY2F1c2UgbWF4aW1hbCBDUFUgdXNhZ2UgYW5kIHBvb3IgdXNlciBl eHBlcmllbmNlIGFzCj4gPiA+ID4+ID4gPj4gPiBldmVyeXRoaW5nIGVsc2UgbmVlZHMgdG8gZmln aHQgZm9yIENQVSB0aW1lIGFuZCBldmVudCBkaXNwYXRjaCB0byBnZXQKPiA+ID4gPj4gPiA+PiA+ IHRocm91Z2gsIGxpa2UgaW5wdXQuCj4gPiA+ID4+ID4gPj4gPgo+ID4gPiA+PiA+ID4+ID4gSSB3 b3VsZCBob3BlIHNvbWVvbmUgY291bGQgZG8gYSBmb2xsb3ctdXAgdG8gaW1wbGVtZW50IGEgcmVm cmVzaCBjeWNsZQo+ID4gPiA+PiA+ID4+ID4gZW11bGF0aW9uIGJhc2VkIG9uIGEgY2xvY2suIFVz ZXJzcGFjZSBleHBlY3RzIHBhZ2UgZmxpcHMgdG8gaGFwcGVuIGF0Cj4gPiA+ID4+ID4gPj4gPiBt b3N0IGF0IHJlZnJlc2ggcmF0ZSB3aGVuIGFza2luZyBmb3IgdmJsYW5rLXN5bmNlZCBmbGlwcy4g SXQncyBvbmx5Cj4gPiA+ID4+ID4gPj4gPiBuYXR1cmFsIGZvciB1c2Vyc3BhY2UgdG8gZHJpdmUg aXRzIHJlbmRlcmluZyBsb29wIGJhc2VkIG9uIHRoZSB2YmxhbmsKPiA+ID4gPj4gPiA+PiA+IGN5 Y2xlLgo+ID4gPiA+PiA+ID4+Cj4gPiA+ID4+ID4gPj4KPiA+ID4gPj4gPiA+PiBJJ3ZlIGJlZW4g YXNraW5nIG15c2VsZiB0aGUgc2FtZSBxdWVzdGlvbiAoZm9yIHRoZSBVREwgZHJpdmVyKSBhbmQg SSdtCj4gPiA+ID4+ID4gPj4gbm90IHN1cmUgaWYgdGhpcyBwb2xpY3kgc2hvdWxkIGdvIGluIHRo ZSBrZXJuZWwuIEFmdGVyIGFsbCwgdGhlcmUKPiA+ID4gPj4gPiA+PiBjb3VsZCBiZSBsZWdpdGlt YXRlIHJlYXNvbnMgZm9yIHVzZXIgc3BhY2UgdG8gcmVuZGVyIGxvdHMgb2YgZnJhbWVzCj4gPiA+ ID4+ID4gPj4gcGVyIHNlY29uZC4gSXQgc2VlbXMgdG8gbWUgdGhhdCBpZiB1c2VyIHNwYWNlIGRv ZXNuJ3Qgd2FudCB0b28gbWFueQo+ID4gPiA+PiA+ID4+IGZwcywgaXQgc2hvdWxkIGp1c3QgdGhy b3R0bGUgaXRzZWxmLgo+ID4gPiA+PiA+ID4KPiA+ID4gPj4gPiA+IElmIHVzZXJzcGFjZSB3YW50 cyB0byByZW5kZXIgbG90cyBvZiBmcmFtZXMgcGVyIHNlY29uZCwgSU1PIGl0IHNob3VsZAo+ID4g PiA+PiA+ID4gbm90IGJlIHVzaW5nIHZibGFuay1zeW5jZWQgb3BlcmF0aW9ucyBpbiBhIHdheSB0 aGF0IG1heSB0aHJvdHRsZSBpdC4KPiA+ID4gPj4gPiA+IFRoZSBsb3RzIG9mIGZyYW1lcyB1c2Ug Y2FzZSBpcyBhbHJlYWR5IG5vbi13b3JraW5nIGZvciB0aGUgbWFqb3JpdHkgb2YKPiA+ID4gPj4g PiA+IHRoZSBkcml2ZXJzIHdpdGhvdXQgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DLCByaWdodD8K PiA+ID4gPj4gPiA+Cj4gPiA+ID4+ID4gPiBUaGUgcHJvYmxlbSBoZXJlIEkgc2VlIGlzIHRoYXQg b25lIERSTSBkcml2ZXIgZGVjaWRlcyB0byB3b3JrIGRpZmZlcmVudAo+ID4gPiA+PiA+ID4gdG8g b3RoZXIgRFJNIGRyaXZlcnMuIEFsbCByZWFsLWhhcmR3YXJlIERSTSBkcml2ZXJzLCB3aGVuIGFz a2VkIHRvIGRvCj4gPiA+ID4+ID4gPiB2Ymxhbmstc3luY2VkIHVwZGF0ZSwgYWN0dWFsbHkgZG8g dGhyb3R0bGUgdG8gdGhlIHZibGFuayBBRkFJSy4KPiA+ID4gPj4gPgo+ID4gPiA+PiA+IHVkbCBp cyBhbiBleGNlcHRpb24gaGVyZS4gSXQgaXMgKGFyZ3VhYmx5KSByZWFsIGhhcmR3YXJlIGJ1dCBk b2Vzbid0IHRocm90dGxlLgo+ID4gPiA+PiA+Cj4gPiA+ID4+ID4gPiBJcyBpdAo+ID4gPiA+PiA+ ID4gdG9vIG11Y2ggdG8gYXNzdW1lLCB0aGF0IHRoZSB2aWRlbyBtb2RlIHNldCBpbiBhIGRyaXZl ciAocmVmcmVzaCByYXRlKQo+ID4gPiA+PiA+ID4gY29ycmVzcG9uZHMgdG8gdGhlIHZibGFuayBy YXRlIHdoaWNoIGltcGxpY2l0bHkgZGVsYXlzIHRoZSBjb21wbGV0aW9uCj4gPiA+ID4+ID4gPiBv ZiB2Ymxhbmstc3luYydkIG9wZXJhdGlvbnMgdG8gYXQgbGVhc3QgdGhlIG5leHQgdmJsYW5rIGJv dW5kYXJ5Pwo+ID4gPiA+PiA+Cj4gPiA+ID4+ID4gSSB0aGluayBpdCdzIHdyb25nIHRvIG1ha2Ug dXNlciBzcGFjZSB0aGluayB0aGF0IGEgdnN5bmNlZCBkaXNwbGF5Cj4gPiA+ID4+ID4gYWx3YXlz IG1hdGNoZXMgdGhlIHJlZnJlc2ggcmF0ZSBpbiBhIHdvcmxkIHdoZXJlOgo+ID4gPiA+PiA+Cj4g PiA+ID4+ID4gLSBzb21lIGRpc3BsYXlzIGhhdmUgdmFyaWFibGUgcmVmcmVzaCByYXRlcyAobm90 IGp1c3QgdGhlIGZhbmN5IG5ldwo+ID4gPiA+PiA+IHN0dWZmIGxpa2UgZy1zeW5jLCBsb29rIGZv ciBsdmRzX2Rvd25jbG9jayBpbiB0aGUgaW50ZWwgZHJpdmVyIGZvcgo+ID4gPiA+PiA+IGV4YW1w bGUsIGFsc28gY29uc2lkZXIgRFNJIGRpc3BsYXlzKQo+ID4gPiA+PiA+Cj4gPiA+ID4+ID4gLSBz b21lIGRpc3BsYXlzIGhhdmUgbm8gcmVmcmVzaCByYXRlICh0aGUgb25lcyB3ZSBhcmUgdGFsa2lu ZyBhYm91dAo+ID4gPiA+PiA+IGhlcmU6IHVkbCwgYm9jaHMuLi4pCj4gPiAKPiA+ID4gPiBJbW8g YWltaW5nIGZvciB2cmVmcmVzaCB0byBiZSBhY2N1cmF0ZSBpcyBnb29kLiBGb3IgZ3N5bmMgYW5k IGZyaWVuZHMgSQo+ID4gPiA+IHRoaW5rIHdlIHNob3VsZCBoYXZlIGFuIGV4cGxpY2l0IHJhbmdl IG9yIGZsYWcgdG8gbWFrZSB1c2Vyc3BhY2UgYXdhcmUgb2YKPiA+ID4gPiB3aGF0J3MgZ29pbmcg b24uCj4gPiA+IAo+ID4gPiBJIHRoaW5rIHRoZSBjb25jZXB0IG9mIHZyZWZyZXNoIGlzIGZsYXdl ZCBhbmQgbm90IHJlYWxseSBmdXR1cmUtcHJvb2YKPiA+ID4gKEkgZ2F2ZSBhIGZldyBleGFtcGxl cyBpbiBteSBwcmV2aW91cyBlbWFpbCkuIEkgYWdyZWUgd2Ugc2hvdWxkIGtlZXAKPiA+ID4gaXQg YXMgbGVnYWN5LCBidXQgd2Ugc2hvdWxkIGFkZCBzb21ldGhpbmcgZWxzZSBmb3IgdGhlIG1vcmUg YWR2YW5jZWQKPiA+ID4gY2FzZXMuCj4gPiAKPiA+IFJpZ2h0LCBzbyBsZXQncyBhZGQgc29tZXRo aW5nIG5ldyBmb3IgbmV3IGhhcmR3YXJlIGZlYXR1cmVzIGFuZCBrZWVwCj4gPiB0aGUgZXhpc3Rp bmcgYmVoYXZpb3IgZXhpc3RpbmcuCj4gPiAKPiA+IEkgc3VwcG9zZSB0aGUgcHJvYmxlbSBpcyB0 aGF0IHRoZSBleGlzdGluZyBiZWhhdmlvciBpcyBub3QgcmVhbGx5Cj4gPiBkb2N1bWVudGVkIHNv IHdlIGhhdmUgdG8gcmVzb3J0IHRvIHNjcmVhbWluZyB1c2Vycz8KPiA+IAo+ID4gSWYgb25lIGRv ZXMgbm90IGFzayBmb3IgQVNZTkMgd2l0aCBhIHBhZ2UgZmxpcCwgZG9lcyBpdCBtZWFuIGZsaXBw aW5nCj4gPiBvbiB0aGUgbmV4dCB2YmxhbmssIG9yIGZsaXBwaW5nIHN1Y2ggdGhhdCBpdCBjYW5u b3QgdGVhciBidXQgYWxsb3dpbmcKPiA+IHRlY2hpcXVlcyBsaWtlIHNjYW5saW5lIHdhaXRzPwo+ IAo+IFNpbmNlIGxlZ2FjeSBwYWdlX2ZsaXAgaXMgYWx3YXlzIGZvciB0aGUgZnVsbCBwcmltYXJ5 IHBsYW5lIHlvdSBjYW4ndCBkbwo+IHNjYW5saW5lIHdhaXRzIC0gaXQgY292ZXJzIGV2ZXJ5dGhp bmcgYW55d2F5LgoKQWgsIG5pY2UuIE9idmlvdXMgaW4gaGluZHNpZ2h0LCBhdCBsZWFzdCBpZiB0 aGUgZGlzcGxheSBzZXJ2ZXIgZG9lcwpub3QgbWFyayBkaXJ0eSByZWdpb25zLgoKQnV0IHRoZXJl IHNlZW1zIHRvIGJlIGRybU1vZGVEaXJ0eUZCKCksIGNhbiB0aGF0IG5vdCBiZSB1c2VkIHdpdGgg cGFnZQpmbGlwPyBJZiB1c2Vyc3BhY2UgcHJvdmlkZWQgZGlydHkgcmVnaW9ucywgd291bGQgc2Nh bmxpbmUtd2FpdCBiZQpwb3NzaWJsZSBpbiB0aGVvcnk/IElmIHllcywgd291bGQgaXQgYmUgYWNj ZXB0YWJsZSBmb3IgZHJpdmVycyB0byBkbz8KCj4gPiBTdMOpcGhhbmUgYWxzbyByYWlzZWQgdGhl IGNvbmNlcm4gdGhhdCBzY2Fub3V0IGRvd25jbG9ja2luZyBldGMuIG1heQo+ID4gY2F1c2UgZmxp cHMgdG8gYmUgcXVpdGUgbGF0ZSBmcm9tIHByZWRpY3RlZC4gVGhpcyBpcyBsZXNzIG9mIGEgcHJv YmxlbSwKPiA+IHJlbmRlcmluZyBjYW4gYWxzbyB0YWtlIGFyYml0cmFyeSB0aW1lcyBhbmQgc29m dHdhcmUgaXMgdXN1YWxseSB3cml0dGVuCj4gPiB0byBkZWFsIHdpdGggbWlzc2luZyBkZWFkbGlu ZXMuIEl0J3MgYSBwcm9ibGVtIHRoYXQgaGFwcGVucyBhbGwgdGhlCj4gPiB0aW1lIGFueXdheS4g QXMgaXQgaXMgYSBwcm9ibGVtIHdpdGggcHJlZGljdGlvbiBhY2N1cmFjeSwgd2UgY291bGQganVz dAo+ID4gd2F2ZSBpdCBvZmYgYnkgc2V0dGluZyB0aGUgaW1hZ2luYXJ5ICJubyBjb25zdGFudCBy ZWZyZXNoIHJhdGUiIGZsYWcuCj4gPiBJTUhPIHRoaXMgaXMgYSBwcm9ibGVtIHRoYXQgc2hvdWxk IGJlIHNvbHZlZCBhdCBhbm90aGVyIG9jY2FzaW9uLCBpZgo+ID4gbmVjZXNzYXJ5Lgo+IAo+IERv d25jbG9ja2luZyBzaG91bGQgb25seSBiZSBhYmxlIHRvIGRlbGF5IHRoZSB2ZXJ5IGZpcnN0IGZy YW1lIGluIGEKPiBzZXF1ZW5jZSAodmlkZW8gcGxheWJhY2ssIGFuaW1hdGlvbikuIEltbyB3ZSBj YW4gc2hydWcgdGhhdCBvZmYgYXMgImNsb2NrCj4gc2tldyIgOy0pCgpJbmRlZWQsIGFuZCBhdCBs ZWFzdCBXZXN0b24gaGFzIHNwZWNpYWwgcmVwYWludCBsb29wIHN0YXJ0IGxvZ2ljIHRvCmRlYWwg d2l0aCB0aGF0LgoKPiBJbW8gb25jZSBzb21lb25lIHVwZGF0ZXMgZnJhbWVzIHJlZ3VsYXJseSB2 YmxhbmsgdGltZXN0YW1wcyBzaG91bGQgYmUKPiBldmVubHkgc3BhY2VkIGFuZCBwYWdlZmxpcHMg bm90IGluc3RhbnQgKGF0IGxlYXN0IGJ5IGRlZmF1bHQpLgoKR2xhZCB0byBoZWFyLiA6LSkKCj4g PiA+IFllYWggSSBkb24ndCB0aGluayBJIGNhcmUgYWJvdXQgdGhlIG9sZCBpbnRlcmZhY2UsIGl0 IGlzIHdoYXQgaXQgaXMuCj4gPiA+IEJ1dCB3ZSBzaG91bGQgZGVzaWduIHNvbWV0aGluZyB3aGlj aCB3b3JrcyB3ZWxsIGZvciB0aGUgZnV0dXJlIHVzZQo+ID4gPiBjYXNlcy4KPiA+IAo+ID4gQXJl IHlvdSByZWZlcnJpbmcgdG8gdGhlIGF0b21pYyBBUEkgYXMgdGhlIG9sZCB0aGluZz8KPiA+IAo+ ID4gSW4gdGhlIGVuZCwgdGhlIHF1ZXN0aW9uIGlzIGhvdyBwYXJhbm9pZCBzaG91bGQgZGlzcGxh eSBzZXJ2ZXJzIGJlCj4gPiBhYm91dCB0aGUgdGltaW5ncz8gRG8gd2UgbmVlZCB0byBmaXggV2Vz dG9uLCBNdXR0ZXIgYW5kIGxpa2VseSBvdGhlcnMKPiA+IHRvIGRlYWwgd2l0aCBwYWdlIGZsaXBz IGJlaW5nIHNpZ25hbGxlZCBpbW1lZGlhdGVseSwgb3IgaXMgaXQgbW9yZQo+ID4gYXBwcm9wcmlh dGUgdG8gZml4IHRoZSBEUk0gZHJpdmVycyB0byBrZWVwIHVwIHRoZSBpbGx1c2lvbiBvZiBwcm92 aWRpbmcKPiA+IHdoYXQgdGhlIEFQSSBhcHBlYXJzIHRvIHN1Z2dlc3Q/Cj4gCj4gSSBndWVzcyB0 aGV5IGNhbid0IGFzc3VtZSB0b28gbXVjaCBhYm91dCB2YmxhbmtzICh0b28gbWFueSBkcml2ZXJz IGRvbid0Cj4gZXZlbiBib3RoZXIgd2l0aCBwcmVjaXNlL2lycS1kZWxheS1jb3JyZWN0IHRpbWVz dGFtcHMpLCBidXQgSSB0aGluawo+IGFzc3VtaW5nIHRoYXQgZG9pbmcgYSBwYWdlX2ZsaXAgY29t cGxldGlvbiBldmVudCBiYXNlZCByZW5kZXJlciBzaG91bGRuJ3QKPiByZXN1bHQgaW4gc3Bpbm5p bmcgaXMgcmVhc29uYWJsZS4KClJpZ2h0LiBSZWxpYWJpbGl0eSBvZiB0aW1lc3RhbXBzIGlzIGEg d2hvbGUgYW5vdGhlciBjYW4uCgo+IEkgZ3Vlc3MgZm9yIGJvY2hzL3VkbCBhbmQgb3RoZXJzIHdl IGNvdWxkIGNyZWF0ZSBhIHNtYWxsIGRybSBkcml2ZXIgd2hpY2gKPiBrZWVwcyB0cmFjayBvZiB0 aGUgbGFzdCB2YmxhbmsgdHMgKHdlIGhhdmUgdGhvc2UgYWxyZWFkeSkgYW5kIHN1aXRhYmxlCj4g ZGVsYXlzIHRoZSBldmVuL3RpbWVzdGFtcCB0byBrZWVwIHVwIHRoZSBpbGx1c2lvbi4gT3Igd2Ug anVzdCByaXAgb3V0Cj4gcGFnZWZsaXAgc3VwcG9ydCBmb3IgdGhvc2UgZHJpdmVycy4gQnV0IGlm IHdlc3RvbiZjbyBjYW4ndCBjb3BlIHdpdGggdGhhdAo+IHRoYXQgd291bGQgYmUgd29yc2UuCgpO b3cgdGhhdCB5b3UgYXNrLCBJJ20gbm90IGV2ZW4gcmVhbGx5IHN1cmUgd2hhdCB0aGUgbm9uLXBh Z2UtZmxpcCBLTVMKZGlzcGxheSB1cGRhdGUgd2F5IGlzLCBzbyBubywgSSB3b3VsZCBzYXkgV2Vz dG9uIGNhbm5vdCBkZWFsIHdpdGggaXQgYXMKaXMuCgpXaG8ncyB1cCBmb3IgdGhlIGpvYj8gOi0p CgoKVGhhbmtzLApwcQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=