From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kazlauskas, Nicholas" Subject: Re: [PATCH v4 3/4] drm: Document variable refresh properties Date: Mon, 29 Oct 2018 14:31:17 +0000 Message-ID: <137a3f24-8e0b-0d05-f345-b56c001dddbd@amd.com> References: <20181011163942.28267-1-nicholas.kazlauskas@amd.com> <20181011163942.28267-4-nicholas.kazlauskas@amd.com> <20181026143719.01381cdd@eldfell> <20181026145321.GV9144@intel.com> <20181029103636.5cc2798b@eldfell> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181029103636.5cc2798b@eldfell> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Pekka Paalanen Cc: "daniel.vetter-/w4YWyX8dFk@public.gmane.org" , "michel-otUistvHUpPR7s880joybQ@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "manasi.d.navare-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" , "Deucher, Alexander" , "Wentland, Harry" , "Olsak, Marek" , =?utf-8?B?VmlsbGUgU3lyasOkbMOk?= List-Id: dri-devel@lists.freedesktop.org T24gMTAvMjkvMTggNDozNiBBTSwgUGVra2EgUGFhbGFuZW4gd3JvdGU6DQo+IE9uIEZyaSwgMjYg T2N0IDIwMTggMTc6MzQ6MTUgKzAwMDANCj4gIkthemxhdXNrYXMsIE5pY2hvbGFzIiA8TmljaG9s YXMuS2F6bGF1c2thc0BhbWQuY29tPiB3cm90ZToNCj4gDQo+PiBPbiAxMC8yNi8xOCAxMDo1MyBB TSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOg0KPj4+IE9uIEZyaSwgT2N0IDI2LCAyMDE4IGF0IDAy OjQ5OjMxUE0gKzAwMDAsIEthemxhdXNrYXMsIE5pY2hvbGFzIHdyb3RlOg0KPj4+PiBPbiAxMC8y Ni8xOCA3OjM3IEFNLCBQZWtrYSBQYWFsYW5lbiB3cm90ZToNCj4gDQo+Pj4+PiBIaSwNCj4+Pj4+ DQo+Pj4+PiB3aGVyZSBpcyB0aGUgZG9jdW1lbnRhdGlvbiB0aGF0IGV4cGxhaW5zIGhvdyBkcml2 ZXJzIG11c3QgaW1wbGVtZW50DQo+Pj4+PiAidmFyaWFibGUgcmVmcmVzaCByYXRlIGFkanVzdG1l bnQiPw0KPj4+Pj4NCj4+Pj4+IFdoYXQgc2hvdWxkIGFuZCBjb3VsZCB1c2Vyc3BhY2UgZXhwZWN0 IHRvIGdldCBpZiBpdCBmbGlja3MgdGhpcyBzd2l0Y2g/DQo+Pj4+Pg0KPj4+Pj4gSSBhbHNvIHRo aW5rIHRoZSBrZXJuZWwgZG9jdW1lbnRhdGlvbiBzaG91bGQgaW5jbHVkZSBhIGRlc2NyaXB0aW9u IG9mDQo+Pj4+PiB3aGF0IFZSUiBhY3R1YWxseSBpcyBhbmQgaG93IGl0IGNvbmNlcHR1YWxseSB3 b3JrcyBhcyBmYXIgYXMgdXNlcnNwYWNlDQo+Pj4+PiBpcyBjb25jZXJuZWQuDQo+Pj4+Pg0KPj4+ Pj4gVGhhdCBpcywgdGhlIGtlcm5lbCBkb2N1bWVudGF0aW9uIHNob3VsZCBkZXNjcmliZSB3aGF0 IHRoaXMgdGhpbmcgZG9lcywNCj4+Pj4+IHNvIHRoYXQgd2UgYXZvaWQgZXZlcnkgZHJpdmVyIGlt cGxlbWVudGluZyBhIGRpZmZlcmVudCB0aGluZy4gRm9yDQo+Pj4+PiBleGFtcGxlLCBvbmUgZHJp dmVyIGNvdWxkIHByZXZlbnQgdGhlIGx1bWluYW5jZSBmbGlja2VyaW5nIGl0c2VsZiBieQ0KPj4+ Pj4gdHVuaW5nIHRoZSB0aW1pbmdzIHdoaWxlIGFub3RoZXIgZHJpdmVyIG1pZ2h0IG5vdCBkbyB0 aGF0LCB3aGljaCBtZWFucw0KPj4+Pj4gdGhhdCBhbiBhcHBsaWNhdGlvbiB0ZXN0ZWQgb24gdGhl IGZvcm1lciBkcml2ZXIgd2lsbCBsb29rIGp1c3QgZmluZQ0KPj4+Pj4gd2hpbGUgaXQgaXMgdW5i ZWFyYWJsZSB0byB3YXRjaCBvbiB0aGUgbGF0dGVyLg0KPj4+Pj4NCj4+Pj4+DQo+Pj4+PiBUaGFu a3MsDQo+Pj4+PiBwcQ0KPj4+Pg0KPj4+PiBJIGZlbHQgaXQgd2FzIGJlc3QgdG8gbGVhdmUgdGhp cyBtb3JlIG9uIHRoZSB2YWd1ZSBzaWRlIHRvIG5vdCBpbXBvc2UNCj4+Pj4gcmVzdHJpY3Rpb25z IHlldCBvbiB3aGF0IGEgZHJpdmVyIG11c3QgZG8uDQo+Pj4+DQo+Pj4+IElmIHlvdSB0aGluayBp dCdzIHdvcnRoIGRlZmluaW5nIHdoYXQgdGhlICJiYXNlbGluZSIgZXhwZWN0YXRpb24gaXMgZm9y DQo+Pj4+IHVzZXJzcGFjZSwgSSB3b3VsZCBwcm9iYWJseSBkZXNjcmliZSBpdCBhcyAidXRpbGl6 aW5nIHRoZSBtb25pdG9yJ3MNCj4+Pj4gdmFyaWFibGUgcmVmcmVzaCByYXRlIHRvIHJlZHVjZSBz dHV0dGVyaW5nIG9yIHRlYXJpbmcgdGhhdCBjYW4gb2NjdXINCj4+Pj4gZHVyaW5nIGZsaXBwaW5n Ii4gVGhpcyBpcyBjdXJyZW50bHkgd2hhdCB0aGUgYW1kZ3B1IGRyaXZlciBoYXMgZW5hYmxlZA0K Pj4+PiBmb3Igc3VwcG9ydC4gVGhlIGltcGxlbWVudGF0aW9uIGFsc28gaXNuJ3QgbXVjaCBtb3Jl IGNvbXBsZXggdGhhbiBqdXN0DQo+Pj4+IHBhc3NpbmcgdGhlIHZhcmlhYmxlIHJlZnJlc2ggcmFu Z2UgdG8gdGhlIGhhcmR3YXJlLg0KPiANCj4gSGksDQo+IA0KPiBzb3JyeSwgYnV0IHRoYXQgc2F5 cyBub3RoaW5nLg0KPiANCj4gQWxzbywgdGVhcmluZyBoYXMgbm90aGluZyB0byBkbyBoZXJlLiBW UlIgcmVkdWNlcyBzdHV0dGVyaW5nIGlmDQo+IHVzZXJzcGFjZSBpcyBhbHJlYWR5IHRlYXItZnJl ZS4gSWYgdXNlcnNwYWNlIHdhcyBkcml2aW5nIHRoZSBkaXNwbGF5IGluDQo+IGEgdGVhcmluZyBm YXNoaW9uLCBWUlIgd2lsbCBub3QgcmVkdWNlIG9yIHJlbW92ZSB0ZWFyaW5nLCBpdCBqdXN0IG1h a2VzDQo+IGl0IGhhcHBlbiBhdCBkaWZmZXJlbnQgcG9pbnRzIGFuZCB0aW1lcy4gVGVhcmluZyBo YXBwZW5zIGJlY2F1c2UNCj4gZnJhbWVidWZmZXIgZmxpcHMgYXJlIGV4ZWN1dGVkIHJlZ2FyZGxl c3Mgb2YgdGhlIHJlZnJlc2ggY3ljbGUsIHNvDQo+IGFkanVzdGluZyB0aGUgcmVmcmVzaCB0aW1p bmdzIHdvbid0IGhlbHAuID4NCj4gSG93ZXZlci4uLg0KPiANCj4+Pj4NCj4+Pj4gSSB3b3VsZG4n dCB3YW50IGV2ZXJ5IGRyaXZlciB0byBiZSBmb3JjZWQgdG8gaW1wbGVtZW50IHNvbWUgc29ydCBv Zg0KPj4+PiBsdW1pbmFuY2UgZmxpY2tlcmluZyBieSBkZWZhdWx0LiBJdCdzIG5vdCBub3RpY2Vh YmxlIG9uIG1hbnkgcGFuZWxzIGFuZA0KPj4+PiBhbnkgdHVuaW5nIHdvdWxkIGluaGVyZW50bHkg YWRkIGxhdGVuY3kgdG8gdGhlIG91dHB1dC4gSXQgd291bGQgcHJvYmFibHkNCj4+Pj4gYmUgYmV0 dGVyIGxlZnQgYXMgYSBuZXcgcHJvcGVydHkgb3IgYSBkcml2ZXIgc3BlY2lmaWMgZmVhdHVyZS4N Cj4gDQo+IFRoZSBwb2ludCBpcyB0byBnaXZlIHVzZXJzcGFjZSBndWFyYW50ZWVkIGV4cGVjdGF0 aW9ucy4gSWYgdGhlDQo+IGV4cGVjdGF0aW9uIGlzIHRoYXQgc29tZSBkaXNwbGF5cyBtaWdodCBh Y3R1YWxseSBlbWl0IGJhZCBsdW1pbmFuY2UNCj4gZmxpY2tlcmluZywgdGhlbiB1c2Vyc3BhY2Ug bXVzdCBhbHdheXMgYXNzdW1lIHRoZSB3b3JzdCBhbmQgaW1wbGVtZW50DQo+IHRoZSBuZWVkZWQg c2xld2luZyBhbGdvcml0aG1zIHRvIGF2b2lkIGl0LCBldmVuIGlmIGl0IHdvdWxkIGJlDQo+IHVu bmVjZXNzYXJ5Lg0KPiANCj4gVXNlcnNwYWNlIGlzIGZhcnRoZXIgYXdheSBmcm9tIHRoZSBoYXJk d2FyZSB0aGFuIHRoZSBkcml2ZXJzIGFyZSwgYW5kDQo+IGlmIHVzZXJzcGFjZSBpcyByZXF1aXJl ZCB0byBpbXBsZW1lbnQgbHVtaW5hbmNlIGZsaWNrZXJpbmcgYXZvaWRhbmNlLA0KPiB0aGF0IGlt cGxlbWVudGF0aW9uIG11c3QgYmUgZG9uZSBpbiBhbGwgZGlzcGxheSBzZXJ2ZXJzIGFuZCBLTVMg YXBwcw0KPiB0aGF0IG1pZ2h0IGVuYWJsZSBWUlIuIFRoYXQgd291bGQgYWxzbyBjYWxsIGZvciBh IHVzZXJzcGFjZSBoYXJkd2FyZQ0KPiBkYXRhYmFzZSwgc28gdGhhdCBwZW9wbGUgY2FuIHNldCB1 cCBxdWlya3MgdG8gZW5hYmxlL2Rpc2FibGUvYWRqdXN0IHRoZQ0KPiBhbGdvcml0aG1zIGZvciBz cGVjaWZpYyBoYXJkd2FyZSB3aXRoIHRoZSBob3BlcyB0aGF0IG90aGVyIHVzZXJzIGNvdWxkDQo+ IHRoZW4gaGF2ZSBhIGdvb2Qgb3V0LW9mLXRoZS1ib3ggZXhwZXJpZW5jZS4gSW5zdGVhZCwgaWYg cG9zc2libGUsIEkNCj4gd291bGQgbGlrZSB0byBzZWUgc29tZSBndWFyYW50ZWVzIGZyb20gdGhl IGtlcm5lbCBkcml2ZXJzIHRoYXQNCj4gdXNlcnNwYWNlIGRvZXMgbm90IG5lZWQgdG8gd29ycnkg YWJvdXQgbHVtaW5hbmNlIGZsaWNrZXJpbmcuDQo+IA0KPiBVbmxlc3MgeW91IHdvdWxkIGRlZW0g YWxsIGhhcmR3YXJlIHRoYXQgY2FuIGV4aGliaXQgbHVtaW5hbmNlDQo+IGZsaWNrZXJpbmcgYXMg ZmF1bHR5IGFuZCB1bnN1cHBvcnRlZD8NCj4gDQo+IFdlIG5lZWQgYSBiYXNlbGluZSBkZWZhdWx0 IGV4cGVjdGF0aW9uLiBZb3UgY2FuIG1vZGlmeSB0aGF0IGV4cGVjdGF0aW9uDQo+IGxhdGVyIHdp dGggbmV3IHByb3BlcnRpZXMsIGJ1dCBJIGJlbGlldmUgc29tZXRoaW5nIG5lZWRzIHRvIGJlIGRl ZmluZWQNCj4gYXMgdGhlIGRlZmF1bHQuIEV2ZW4gaWYgdGhlIGRlZmluaXRpb24gaXMgcmVhbGx5 IGp1c3QgImhhcmR3YXJlIHRha2VzDQo+IGNhcmUgb2Ygbm90IGZsaWNrZXJpbmciLg0KPiANCj4+ Pj4NCj4+Pj4gSW4gZ2VuZXJhbCBJIHdvdWxkIGltYWdpbmUgdGhhdCBtb3N0IGZ1dHVyZSBWUlIg ZmVhdHVyZXMgd291bGQgZW5kIHVwIGFzDQo+Pj4+IG5ldyBwcm9wZXJ0aWVzLiBBbnl0aGluZyB0 aGF0J3MgcHVyZWx5IHNvZnR3YXJlIGNvdWxkIGJlIGltcGxlbWVudGVkIGFzDQo+Pj4+IGEgZHJt IGhlbHBlciB0aGF0IGV2ZXJ5IGRyaXZlciBjYW4gdXNlLiBJIHRoaW5rIHRoZSB0YXJnZXQgcHJl c2VudGF0aW9uDQo+Pj4+IHRpbWVzdGFtcCBmZWF0dXJlIGlzIGEgZ29vZCBleGFtcGxlIGZvciB0 aGF0Lg0KPj4+DQo+Pj4gU3BlYWtpbmcgb2YgdGltZXN0YW1wcy4gV2hhdCBpcyB0aGUgZXhwZWN0 ZWQgYmVoYXZpb3VyIG9mIHZibGFuaw0KPj4+IHRpbWVzdGFtcHMgd2hlbiB2cnIgaXMgZW5hYmxl ZD8NCj4+PiAgIA0KPj4NCj4+IFdoZW4gdnJyIGlzIGVuYWJsZWQgdGhlIGR1cmF0aW9uIG9mIHRo ZSB2ZXJ0aWNhbCBmcm9udCBwb3JjaCB3aWxsIGJlDQo+PiBleHRlbmRlZCB1bnRpbCBmbGlwIG9y IHRpbWVvdXQgb2NjdXJzLiBUaGUgdmJsYW5rIHRpbWVzdGFtcCB3aWxsIHZhcnkNCj4+IGJhc2Vk IG9uIGR1cmF0aW9uIG9mIHRoZSB2ZXJ0aWNhbCBmcm9udCBwb3JjaC4gVGhlIG1pbi9tYXggZHVy YXRpb24gZm9yDQo+PiB0aGUgZnJvbnQgcG9yY2ggY2FuIGJlIHNwZWNpZmllZCBieSB0aGUgZHJp dmVyIHZpYSB0aGUgbWluL21heCByYW5nZS4NCj4gDQo+IC4uLlRoaXMgaXMgYWN0dWFsbHkgdXNl ZnVsIGluZm9ybWF0aW9uLCBpdCBleHBsYWlucyB0aGluZ3MuIERvIGFsbCBWUlINCj4gaGFyZHdh cmUgaW1wbGVtZW50YXRpb25zIGZ1bmRhbWVudGFsbHkgd29yayBsaWtlIHRoaXM/DQo+IA0KPiBX aXRoIHRoYXQgZGVmaW5pdGlvbiwgdGhlcmUgaXMgb25seSBtb3JlIHBhcmFtZXRlciB0byBiZSBl eHBvc2VkIHRvDQo+IHVzZXJzcGFjZSBpbiB0aGUgZnV0dXJlOiB3aGF0IGlzIHRoZSBsZW5ndGgg b2YgdGhlIHRpbWVvdXQ/IE5vIG5lZWQgdG8NCj4gZXhwb3NlIG1heGltdW0tcmVmcmVzaC1mcmVx IGJlY2F1c2UgdGhhdCBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IHByZXNlbnQNCj4gaW4gdGhlIHBy b2dyYW1tZWQgdmlkZW8gbW9kZS4NCj4gDQo+IEJ0dy4gZXZlbiB0aGlzIGRlZmluaXRpb24gZG9l cyBub3QgZ2l2ZSBhbnkgaGludCBhYm91dCBwcm9ibGVtcyBsaWtlDQo+IHRoZSBsdW1pbmFuY2Ug ZmxpY2tlcmluZy4gSWYgcG9zc2libGUgZmxpY2tlcmluZyBpcyBhbiBpc3N1ZSB0aGF0DQo+IGNh bm5vdCBiZSBzaW1wbHkgaWdub3JlZCwgdGhlbiBzb21ldGhpbmcgc2hvdWxkIGJlIGRvY3VtZW50 ZWQgYWJvdXQgaXQuDQo+IA0KPiBEbyB5b3Uga25vdyBvZiBhbnkgb3RoZXIgImhpZGRlbiIgaXNz dWVzIHRoYXQgY291bGQgcmVxdWlyZSB1c2Vyc3BhY2UNCj4gb3IgZHJpdmVycyB0byBiZSBjYXJl ZnVsIGluIGhvdyBpdCB3aWxsIGRyaXZlIFZSUj8NCj4gDQo+IA0KPiBUaGFua3MsDQo+IHBxDQpU aGVyZSBhcmUgdHdvIGlzc3VlcyB0aGF0IGNhbiBtYW5pZmVzdCB3aGVuIGVuYWJsaW5nIHZhcmlh YmxlIHJlZnJlc2ggDQpyYXRlIC0gInN0dXR0ZXJpbmciIGFuZCBsdW1pbmFuY2UgZmxpY2tlcmlu Zy4gTHVtaW5hbmNlIGZsaWNrZXJpbmcgaXMNCmRlcGVuZGVudCBvbiB0aGUgcGFuZWwsIGJ1dCBz dHV0dGVyaW5nIHdpbGwgb2NjdXIgb24gYW55dGhpbmcgKGFuZCB3aWxsIA0KYmUgd29yc2Ugb24g cGFuZWxzIHdpdGggYSB3aWRlciByYW5nZSkuIEJvdGggb2YgdGhlc2UgaXNzdWVzIGNhbiBvY2N1 ciANCmZvciBjb250ZW50IHRoYXQgZmxpcHMgb24gZGVtYW5kIG9yIGF0IHJhbmRvbS4gVGhlIGxh cmdlIGFuZCBmcmVxdWVudCANCmZsdWN0dWF0aW9ucyBpbiBmbGlwIHRpbWVzIHJlbW92ZSBhbnkg c29ydCBvZiBjb25zaXN0ZW5jeSBmb3IgdXNlciBpbnB1dCANCmFuZCByZW5kZXJpbmcuDQoNClRo ZSBzdHV0dGVyaW5nIGlzIGFjdHVhbGx5IHRoZSBwcmltYXJ5IHJlYXNvbiB0aGUgbWVzYSBwYXRj aGVzIGV4aXN0DQood2l0aCBsdW1pbmFuY2UgZmxpY2tlcmluZyByZW1vdmFsIGJlaW5nIGEgYm9u dXMpLiBXaGV0aGVyIHZhcmlhYmxlIA0KcmVmcmVzaCByYXRlIHNob3VsZCBiZSBlbmFibGVkIG9y IG5vdCB3aWxsIGRlcGVuZCBvbiB3aGV0aGVyIHRoZSANCnVzZXJzcGFjZSBjb250ZW50IGlzIGFw cHJvcHJpYXRlIG9yIG5vdC4NCg0KQSBza2V3aW5nIGFsZ29yaXRobSB3b3VsZCBhZGRyZXNzIGJv dGggaXNzdWVzIGJ1dCB3b3VsZCBzdGlsbCBtYWtlIHRoZQ0KdXNlciBleHBlcmllbmNlIHdvcnNl IGZvciB0aG9zZSBhcHBsaWNhdGlvbnMuIFVzaW5nIGEgZml4ZWQgcmF0ZSBmb3IgDQpjb25zaXN0 ZW5jeSBpcyBsaWtlbHkgc3RpbGwgcHJlZmVyYWJsZSBmb3IgdGhvc2UgYXBwbGljYXRpb25zLg0K DQpUaGlzIGlzIHdoeSBJJ2QgcHJlZmVyIHRvIGRlZmluZSBhIGJhc2VsaW5lIGxpa2U6DQoNCiJX aGVuIHRoZSB2cnJfZW5hYmxlIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGZvciB2cnJfY2FwYWJs ZSBoYXJkd2FyZSANCnRoZSB2ZXJ0aWNhbCBmcm9udCBwb3JjaCB3aWxsIGJlIGV4dGVuZGVkIHVu dGlsIGVpdGhlciBmbGlwIG9yIHRpbWVvdXQgDQpvY2N1cnMuDQoNClRoZSB2ZXJ0aWNhbCBmcm9u dCBwb3JjaCB0aW1pbmcgYW5kIHRpbWVvdXQgZHVyYXRpb24gYXJlIGRldGVybWluZWQgYnkgDQp0 aGUgZHJpdmVyIGJhc2VkIG9uIHRoZSBwYW5lbCdzIHJlcG9ydGVkIG1pbmltdW0gYW5kIG1heGlt dW0gdmFyaWFibGUgDQpyZWZyZXNoIHJhbmdlLiINCg0KVGhlIHBhdGNoZXMgZG9uJ3QgcHJlc2Vu dGx5IGV4cG9zZSB0aGUgbWluaW11bS9tYXhpbXVtIHJhbmdlIGJ1dCB0aGlzIA0KZG9lcyBndWFy YW50ZWUgYm91bmRzLg0KDQpUaGUgaW5uZXIgYm91bmRzIHdvdWxkIHRoZW4gYmUgZGV0ZXJtaW5l ZCBieSB0aGUgZHJpdmVyIHRvIGFsbG93IA0KZmxleGliaWxpdHkgaW4gaW1wbGVtZW50aW5nIGFs Z29yaXRobXMgdGhhdCBjYW4gaW1wcm92ZSB0aGUgdXNlciBleHBlcmllbmNlLg0KDQpBbiBleGFt cGxlIG9mIHN1Y2ggYW4gYWxnb3JpdGhtIHdvdWxkIGJlIGxvdyBmcmFtZXJhdGUgY29tcGVuc2F0 aW9uIGZvciANCmZsaXAgcmF0ZXMgYmVsb3cgdGhlIHJhbmdlLiBUaGUgYW1kZ3B1IGRyaXZlciBo YXMgYW4gaW1wbGVtZW50YXRpb24gZm9yIA0KdGhpcyB0aGF0IGNhbiBkbyBmcmFtZSBkb3VibGlu ZyBhbmQgdHJpcGxpbmcgZm9yIG1vbml0b3JzIHdpdGggYW4gDQphcHByb3ByaWF0ZSByYW5nZS4N Cg0KWW91IGNvdWxkIGFsc28gaW1wbGVtZW50IHNvbWUgc29ydCBvZiBza2V3aW5nIGZvciBsdW1p bmFuY2UgZmxpY2tlcmluZyANCnJlZHVjdGlvbiBmb3IgcGFuZWxzIHRoYXQgcmVhbGx5IG5lZWQg aXQgb24gdG9wIG9mIHRoaXMuDQoNCkZ1dHVyZSBwcm9wZXJ0aWVzIHRoYXQgdXRpbGl6ZSB2YXJp YWJsZSByZWZyZXNoIHJhdGUgd291bGQgYmUgY29tcGF0aWJsZSANCndpdGggdGhpcyBiYXNlbGlu ZSAtIGV2ZXJ5dGhpbmcgaXMgYmFzZWQgb24gdGhlIGRldGVybWluYXRpb24gb2YgdGhlIA0KaW5u ZXIgYm91bmRzIG9uIG1pbmltdW0gYW5kIG1heGltdW0gcmVmcmVzaC4NCg0KPiANCj4+IE5vIGNo YW5nZXMgdG8gdmJsYW5rIHRpbWVzdGFtcGluZyBoYW5kbGluZyBzaG91bGQgYmUgbmVjZXNzYXJ5 IHRvDQo+PiBhY2NvbW1vZGF0ZSB2YXJpYWJsZSByZWZyZXNoIHJhdGUuDQo+Pg0KPj4gSSB0aGlu ayBpdCdzIHByb2JhYmx5IGJlc3QgdG8gdXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uIGZvciB2cnJf ZW5hYmxlDQo+PiB3aXRoIHNvbWUgb2YgdGhlIHNwZWNpZmljcyBJIGRlc2NyaWJlZCBhYm92ZS4g VGhhdCBzaG91bGQgaGVscCBjbGFyaWZ5DQo+PiB1c2Vyc3BhY2UgZXhwZWN0YXRpb25zIGFzIHdl bGwuDQo+Pg0KPj4gTmljaG9sYXMgS2F6bGF1c2thcw0KPiANCg0KTmljaG9sYXMgS2F6bGF1c2th cw0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdm eCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==