From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC] Docs: drm: Move KMS properties table out to source files Date: Mon, 28 Sep 2015 14:44:09 +0200 Message-ID: <20150928124408.GE3383@phenom.ffwll.local> References: <1441201852-4236-1-git-send-email-graham.whaley@linux.intel.com> <20150902153018.GQ1367@phenom.ffwll.local> <1442917378.2189.5.camel@linux.intel.com> <5601A5F6.6050809@collabora.co.uk> <1443433019.3639.9.camel@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1443433019.3639.9.camel@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Graham Whaley Cc: Danilo Cesar Lemes de Paula , corbet@lwn.net, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBTZXAgMjgsIDIwMTUgYXQgMTA6MzY6NTlBTSArMDEwMCwgR3JhaGFtIFdoYWxleSB3 cm90ZToKPiBPbiBUdWUsIDIwMTUtMDktMjIgYXQgMTY6MDMgLTAzMDAsIERhbmlsbyBDZXNhciBM ZW1lcyBkZSBQYXVsYSB3cm90ZToKPiA+IE9uIDA5LzIyLzIwMTUgMDc6MjIgQU0sIEdyYWhhbSBX aGFsZXkgd3JvdGU6Cj4gPiA+IE9uIFdlZCwgU2VwIDAyLCAyMDE1IGF0IDAyOjUwOjUyUE0gKzAx MDAsIEdyYWhhbSBXaGFsZXkgd3JvdGU6Cj4gPiA+ID4gPiAoUkZDL3Rlc3QgLSBub3QgZm9yIG1l cmdpbmcpCj4gPiA+ID4gPiBUaGUgYmVsb3cgaXMgYSB0ZXN0IG9mIG1vdmluZyB0aGUgbGFyZ2Ug SFRNTCBLTVMgcHJvcGVydGllcwo+ID4gPiA+ID4gdGFibGUKPiA+ID4gPiA+IG91dAo+ID4gPiA+ ID4gdG8gbWFya2Rvd24gc3R5bGUgaW4gdGhlIGFwcHJvcHJpYXRlIGZpbGVzLgo+ID4gPiA+ID4g SW4gdGhlIHRlc3Qgd2Ugb25seSB1c2UgdGhlIGZpcnN0IGZldyByb3dzIG9mIHRoZSBleGlzdGlu ZyBLTVMKPiA+ID4gPiA+IHRhYmxlCj4gPiA+ID4gPiBhbiBleGFtcGxlLgo+ID4gPiA+ID4gV2Ug dXNlIGEgZml4ZWQgd2lkdGggdGFibGUgYXMgdGhlIG90aGVyIHN0eWxlcyBvZiB0YWJsZQo+ID4g PiA+ID4gc3VwcG9ydGVkCj4gPiA+ID4gPiBieQo+ID4gPiA+ID4gcGFuZG9jIG1hcmtkb3duIGRv IG5vdCBzdXBwb3J0IG11bHRpLWNvbHVtbiBjZWxscy4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhl IHRlc3Qgc2hvd3MgYSBjb3VwbGUgb2YgaXNzdWVzOgo+ID4gPiA+ID4gIDEpIGRvdWJsZSBxdW90 ZSBjaGFyYWN0ZXJzIGFyZSBiZWluZyBleHBhbmRlZCBpbiB0aGUgZml4ZWQKPiA+ID4gPiA+IHdp ZHRoCj4gPiA+ID4gPiB0YWJsZQo+ID4gPiA+ID4gIHdoaWNoIHRoZW4gYnJlYWtzIHRoZSB0YWJs ZSBhbGlnbm1lbnQgYW5kIGxlYXZlcyBodG1sIHN0eWxlCj4gPiA+ID4gPiA8cXVvdGU+IHRhZ3MK PiA+ID4gPiA+ICBpbiB0aGUgdGV4dAo+ID4gPiAKPiA+ID4gRnVydGhlciB0byB0aGlzIGl0ZW06 Cj4gPiA+ICBCZWZvcmUgSSBjb250aW51ZSB3b3JraW5nIG9uIHNwbGl0dGluZyB0aGUgdGFibGVz IGFuZCBjb252ZXJ0aW5nCj4gPiA+IHRvCj4gPiA+IG1hcmtkb3duICh3aGljaCBidHcgRGFuaWVs IGRvZXMgbG9vayBmZWFzaWJsZSBzbyBmYXIuLi4pLCBJIHRob3VnaHQKPiA+ID4gd2UKPiA+ID4g c2hvdWxkIHVuZGVyc3RhbmQgd2hhdCB3YXMgZ29pbmcgb24gd2l0aCB0aGUgbWFya2Rvd24gdGFi bGUgcXVvdGUKPiA+ID4gYnJlYWthZ2UuCj4gPiA+ICBJIHRoaW5rIEkga25vdyB3aGF0IGlzIGhh cHBlbmlnLgo+ID4gPiAgVGhlIHByb2JsZW0gcmV2b2x2ZXMgYXJvdW5kIGhpZ2hsaWdodCBleHBh bnNpb24gaW4gdGhlIGtlbnJlbC1kb2MKPiA+ID4gc2NyaXB0LiBJbiB0aGUgb3V0cHV0X2hpZ2hs aWdodCBmdW5jdGlvbiB3ZSBjYW4gc2VlIHRoYXQgZmlyc3QgdGhlCj4gPiA+IHNjcmlwdCBkb2Vz IGhpZ2hsaWdodCBleHBhbnNpb24gKHdpdGggdGhlIGV2YWwgb2YgQGRvaGlnaGxpZ2h0KSwKPiA+ ID4gYW5kCj4gPiA+IHRoZW4gaXQgaW52b2tlcyB0aGUgbWFya2Rvd24gcHJvY2Vzc2luZy4KPiA+ ID4gIERvbmUgdGhhdCB3YXkgYXJvdW5kIHdoYXQgaGFwcGVucyBpczoKPiA+ID4gIC0gQGRvaGln aGxpZ2h0IGV4cGFuZHMgYW55ICJYIiB0byBodG1sL3htbCBxdW90ZSB0YWcgc2VxdWVuY2VzCj4g PiA+ICAtIHdoaWNoIGNhbiBwdXNoIHRoZSB0ZXh0IGJleW9uZCB0aGUgdGFibGUgY29sdW1uIHdp ZHRocywKPiA+ID4gIC0gYW5kIHRoZW4gdGhlIG1hcmtkb3duIHRyaWVzIHRvIHNwbGl0IHRoZSB0 ZXh0IG92ZXIgY29sdW1ucywgYW5kCj4gPiA+IG1hbmFnZXMgdG8gcHV0IHRoZSBicmVhayBpbiB0 aGUgbWlkZGxlIG9mIGEgdGFnLCBhbmQgdGh1cyBicmVha3MKPiA+ID4gdGhlCj4gPiA+IHRhZyBm b3JtYXR0aW5nIChzZWUgYmVsb3cpCj4gPiA+IAo+ID4gPiBBdCBsZWFzdCB0aGF0IGlzIHdoYXQg SSB0aGluayBpcyBoYXBwZW5pbmcuCj4gPiA+IEkgaGFkIHRob3VnaHQgbWF5YmUgd2UgY291bGQg c3dhcCB0aGUgbWFya2Rvd24gYW5kIGhpZ2hsaWdodAo+ID4gPiBwcm9jZXNzaW5nCj4gPiA+IG9y ZGVyLCBidXQgdGhlbiB0aGF0IHByZXNlbnRzIGEgZGlmZmVyZW50IGlzc3VlIC0gdGhlIG1hcmtk b3duCj4gPiA+IHRhYmxlCj4gPiA+IGNvbnRhaW5zIG1ldGFkYXRhIHdpdGggcXVvdGVkIGl0ZW1z IChzdWNoIGFzIGNvbHM9IjUiKSwgd2hpY2ggdGhlCj4gPiA+IGhpZ2hsaWdoIHByb2Nlc3Npbmcg dGhlbiBleHBhbmRzIGludG8gdGFncywgYW5kIGhlbmNlIGJyZWFrcyB0aGUKPiA+ID4gdGFibGUK PiA+ID4gZm9ybWF0IG1ldGFkYXRhLgo+ID4gPiAKPiA+ID4gQXMgYW4gZXhhbXBsZSwgdXNpbmcg dGhlIGZvbGxvd2luZyB0YWJsZSAhUGluY2x1ZGUnZCBpbnRvIGRybS50bXBsOgo+ID4gPiAvKioK PiA+ID4gICogRE9DOiBEUk0gZ2VuZXJpYwo+ID4gPiAgKgo+ID4gPiAgKiA6IERSTSBnZW5lcmlj IHByb3BlcnRpZXMKPiA+ID4gICoKPiA+ID4gICogKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQo+ID4gPiAtLS0tCj4gPiA+IC0t LS0tLS0tKwo+ID4gPiAgKiB8UHJvcGVydHkgIHxUeXBlICAgIHxQcm9wZXJ0eSBWYWx1ZXMgICAg IHxPYmplY3QgIAo+ID4gPiAgfERlc2NyaXB0aW9uL1Jlc3RyaWN0aW9uc3wKPiA+ID4gICoKPiA+ ID4gKz09PT09PT09PT0rPT09PT09PT0rPT09PT09PT09PT09PT09PT09PT0rPT09PT09PT09Kz09 PT09PT09PT09PT09PQo+ID4gPiA9PT09Cj4gPiA+ID09PT09Kwo+ID4gPiAgKiB8InJvdGF0aW9u InxCSVRNQVNLIHx7IDAsICJyb3RhdGUtMCIgfSwge3xDUlRDLCAgICB8cm90YXRlCj4gPiA+IC0o ZGVncmVlcykKPiA+ID4gcm90YXRlc3wKPiA+ID4gICogKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQo+ID4gPiAtLS0tCj4gPiA+ IC0tLS0tLS0tKwo+ID4gPiAgKgo+ID4gPiAgKi8KPiA+ID4gCj4gPiA+IFRoZSBwb3N0LWhpZ2hs aWdodCBwcmUtbWFya2Rvd24gdGV4dCBjYXB0dXJlZCBhcyB0aGUgJG9yaWdfY29udGV4dAo+ID4g PiBpbgo+ID4gPiB0aGUgbWFya2Rvd25fdG9fZG9jYm9vayBmdW5jdGlvbiBpczoKPiA+ID4gCj4g PiA+ICstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0KPiA+ID4gLS0tLQo+ID4gPiAtLS0tLSsKPiA+ID4gPiBQcm9wZXJ0eSAg fFR5cGUgICAgfFByb3BlcnR5IFZhbHVlcyAgICAgfE9iamVjdCAgCj4gPiA+ICB8RGVzY3JpcHRp b24vUmVzdHJpY3Rpb25zfAo+ID4gPiArPT09PT09PT09PSs9PT09PT09PSs9PT09PT09PT09PT09 PT09PT09PSs9PT09PT09PT0rPT09PT09PT09PT09PT09Cj4gPiA+ID09PT0KPiA+ID4gPT09PT0r Cj4gPiA+ID4gPHF1b3RlPnJvdGF0aW9uPC9xdW90ZT58QklUTUFTSyB8eyAwLCA8cXVvdGU+cm90 YXRlLTA8L3F1b3RlPiB9LAo+ID4gPiB7fENSVEMsICAgIHxyb3RhdGUtKGRlZ3JlZXMpIHJvdGF0 ZXN8Cj4gPiA+ICstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0KPiA+ID4gLS0tLQo+ID4gPiAtLS0tLSsKPiA+ID4gCj4gPiA+ IHdoaWNoIHdoZW4gcHJvY2Vzc2VkIChhbmQgeW91IGNhbiBkbyB0aGlzIGJ5IGhhbmQgd2l0aCAn cGFuZG9jIC0KPiA+ID4gLWNvbHVtbnM9ODAgLWYgbWFya2Rvd24gLXQgZG9jYm9vayAuLi4nIGdl bmVyYXRlcyB0aGUgYnJva2VuIHRhZ3MKPiA+ID4gZXhhbXBsZToKPiA+ID4gCj4gPiA+IC4uLgo+ ID4gPiA8dGJvZHk+Cj4gPiA+ICAgICAgICAgIDxyb3c+Cj4gPiA+ICAgICAgICAgICAgPGVudHJ5 Pgo+ID4gPiAgICAgICAgICAgICAgPHBhcmE+Cj4gPiA+ICAgICAgICAgICAgICAgIDxxdW90ZT5y b3RhCj4gPiA+ICAgICAgICAgICAgICA8L3BhcmE+Cj4gPiA+ICAgICAgICAgICAgPC9lbnRyeT4K PiA+ID4gICAgICAgICAgICA8ZW50cnk+Cj4gPiA+ICAgICAgICAgICAgICA8cGFyYT4KPiA+ID4g ICAgICAgICAgICAgICAgdGlvbiZsdDsvcXVvCj4gPiA+ICAgICAgICAgICAgICA8L3BhcmE+Cj4g PiA+ICAgICAgICAgICAgPC9lbnRyeT4KPiA+ID4gICAgICAgICAgICA8ZW50cnk+Cj4gPiA+ICAg ICAgICAgICAgICA8cGFyYT4KPiA+ID4gICAgICAgICAgICAgICAgdGUmZ3Q7fEJJVE1BU0sgfHsg MCwgJmx0O3F1Cj4gPiA+ICAgICAgICAgICAgICA8L3BhcmE+Cj4gPiA+ICAgICAgICAgICAgPC9l bnRyeT4KPiA+ID4gICAgICAgICAgICA8ZW50cnk+Cj4gPiA+ICAgICAgICAgICAgICA8cGFyYT4K PiA+ID4gICAgICAgICAgICAgICAgb3RlJmd0O3JvdGF0ZQo+ID4gPiAgICAgICAgICAgICAgPC9w YXJhPgo+ID4gPiAgICAgICAgICAgIDwvZW50cnk+Cj4gPiA+ICAgICAgICAgICAgPGVudHJ5Pgo+ ID4gPiAgICAgICAgICAgICAgPHBhcmE+Cj4gPiA+ICAgICAgICAgICAgICAgIC0wPC9xdW90ZT4g fSwge3xDUlRDLCB8cm90YXRlLShkZWdyZWVzKSByb3RhdGVzCj4gPiA+ICAgICAgICAgICAgICA8 L3BhcmE+Cj4gPiA+IC4uLgo+ID4gPiAKPiA+ID4gd2hlcmUgeW91IGNhbiBzZWUgdGhlIHF1b3Rl IHRhZyBwcm9jZXNzaW5nIGhhcyBnb25lIGhvcnJpYmx5IHdyb25nLgo+ID4gPiAKPiA+ID4gSSBi ZWxpZXZlIHdlJ2xsIGhhdmUgdGhlIHNhbWUgcHJvYmxlbSBmb3IgdGhlIG90aGVyICdoaWdobGln aHQnCj4gPiA+IHByb2Nlc3NlZCBpdGVtcyBmcm9tIGtlcm4tZG9jIGFzIHdlbGwsIG1lYW5pbmc6 Cj4gPiA+ICBmdW5jbmFtZSgpCj4gPiA+ICAkRU5WVkFSCj4gPiA+ICAmc3RydWN0X25hbWUKPiA+ ID4gIEBwYXJhbWV0ZXIKPiA+ID4gICVDT05TVAo+ID4gPiAgCj4gPiA+IEFzIHRoZSBrZXJuLWRv YyBwcm9jZXNzaW5nIGhhcyBubyBrbm93bGVkZ2Ugb2Ygd2hlbiBpdCBpcyBhYm91dCB0bwo+ID4g PiBwcm9jZXNzIGEgbWFya2Rvd24gdGFibGUgSSBjYW4ndCB0aGluayBvZiBhbiBvYnZpb3VzIHdh eSBhcm91bmQKPiA+ID4gdGhpcy4KPiA+ID4gQXQgcHJlc2VudCBJIHRoaW5rIHRoZSBpbXBsaWNp dCBydWxlIGlzICdubyBoaWdobGlnaHQvZXhwYW5zaW9uCj4gPiA+IGl0ZW1zCj4gPiA+IGFsbG93 ZWQgaW4gbWFya2Rvd24gdGFibGVzJywgd2hpY2ggbWVhbnMgYWxsIHRob3NlIHF1b3RlZCBzdHJp bmdzCj4gPiA+IGZvcgo+ID4gPiB0aGUgRFJNIHByb3BlcnRpZXMgY2Fubm90IGN1cnJlbnRseSBi ZSBtaWdyYXRlZCB0byBsb29rIGxpa2UKPiA+ID4gc3RyaW5ncy4KPiA+ID4gCj4gPiA+IERhbmls bywgb3IgYW55Ym9keSwgYW55IGlkZWFzPwo+ID4gCj4gPiBZb3VyIGRlYnVnZ2luZyBpcyBwcmV0 dHkgcHJlY2lzZS4gVGhlICIrPT09PT0rPT09IiBmb3JtYXQgaXMgcmlnaWQuIEkKPiA+IGRvbid0 IGtub3cgaWYgaXQncyBhIGJ1ZyBpbiBwYW5kb2Mgb3Igc29tZXRoaW5nIGZyb20gdGhlIHNwZWMg aXRzZWxmLgo+ID4gCj4gPiBNYXkgSSBzdWdnZXN0IGFub3RoZXIgZm9ybWF0Pwo+ID4gCj4gPiA+ IFByb3BlcnR5ICAgfCAgVHlwZSAgIHwKPiA+ID4gLS0tLS0tLS0tLS0tfDotLS0tLS0tOnwKPiA+ ID4gInJvdGF0aW9uIiB8IEJJVE1BU0sgfAo+ID4gCj4gPiBUaGlzIGZvcm1hdCBsb29rcyB0byB3 b3JrIHByZXR0eSB3ZWxsIGV2ZW4gaWYgInJvdGF0aW9uIiBpcyByZXBsYWNlZAo+ID4gYnkKPiA+ IHNvbWUgdmVyeSBsb25nIHN0cmluZyAod2hpY2ggc2VlbXMgdG8gYmUgdGhlIHByb2JsZW0pLiBJ IGRpZG4ndCB0ZXN0Cj4gPiBpdAo+ID4gd2l0aCBrZXJuZWwtZG9jLCBidXQgcGFuZG9jIGxvb2tz IHRvIHdvcmsgZmluZSB3aXRoIGl0Lgo+ID4gCj4gPiBJJ20gbm90IHN1cmUgaWYgd2UgY2FuIGNh bGwgaXQgYSBwcm9wZXIgZml4LCBidXQgaXQgc2hvdWxkIGFsbG93IHlvdQo+ID4gdG8KPiA+IGtl ZXAgdGhlIGJhbGwgcm9sbGluZy4KPiA+IAo+ID4gLS0KPiA+IERhbmlsbyBDZXNhcgo+IAo+IEhp IGFsbCwKPiAgSSBoYWQgYSBsb29rIGF0IHRoZSAncGlwZScgdGFibGUgdHlwZSAtIGFuZCB0aGUg b3RoZXIgdGFibGUgdHlwZXMKPiBhdmFpbGFibGUgaW4gcGFuZG9jX21hcmtkb3duLiBJJ3ZlIGNv bnNvbGlkYXRlZCBteSB0aG91Z2h0cyBpbnRvIHRoZQo+IGZvbGxvd2luZyBhbmFseXNpcy4gTm90 ZSwgdGhpcyB0aHJlYWQgaXMgbm90IHByZXNlbnRseSBvbiB0aGUgZG9jcy1saXN0Cj4gLSB3ZSBz aG91bGQgcHVsbCB0aGF0IGluIGFzIHdlbGwgaWYgd2UgdGhpbmsgaXQgbWF5IGhlbHAuCj4gCj4g TGV0J3Mgc2F5IHRoZXJlIGFyZSA1IHRhYmxlIHR5cGVzIHdlIGNhbiB1c2UgaW4gcGFuZG9jX21h cmtkb3duLCBpZiB3ZQo+IGFkZCBpbiB0aGUgdXNlIG9mIHRoZSAnY29kZWJsb2NrJyB0eXBlIHRv IHRoZSBmb3VyIGZvcm1hbAo+IHBhbmRvY19tYXJrZG93biB0YWJsZXMgKHNlZSB0YWJsZSBsYXRl ci4uLikuCj4gCj4gTXkgaHlwb3RoZXNpcycgYXJlOgo+IAo+IDEpIFdlIG5lZWQgdG8gaGF2ZSBh IHRhYmxlIGZvcm1hdCB0aGF0IHN1cHBvcnRzIG11bHRpLWxpbmUgcm93cywgYXMKPiBzb21lIHJv d3MgaW4gdGhlIERSTSB0YWJsZSBhcmUgd2F5IHRvbyBiaWcgdG8gYmUgcHV0dGluZyBvbiBhIHNp bmdsZQo+IGxpbmUgaW4gdGhlIHNvdXJjZSBmaWxlIChmb3IgaW5zdGFuY2UsIHRoZSAncm90YXRp b24nIGV4YW1wbGUgSSBoYXZlCj4gYmVlbiB1c2luZyB0b3RhbHMgc29tZXdoZXJlIGluIHRoZSBy ZWdpb24gb2YgMzQ5IGNoYXJhY3RlcnMgYXMgYSBzaW5nbGUKPiBsaW5lKQoKSSB0aGluayB0aGF0 IHJlcXVpcmVtZW50IHNob3VsZCBwcm9iYWJseSBiZSBkcm9wcGVkLCBzcXVlZXppbmcgZnVsbC1i bG93bgpzZW1hbnRpY3Mgb2YgcHJvcGVydGllcyBpbnRvIHRoZXNlIHRhYmxlcyBqdXN0IGRvZXNu J3Qgd29yayByZWFsbHkuIEZvcgpjb21wbGV4dCBzdHVmZiBJIGV4Y2VwdCB0aGF0IHRoZSB0YWJs ZSBqdXN0IGxpc3RzIHRoZSBwcm9wZXJzIHdpdGggc2hvcnQKZGVzY3JpcHRpb25zLCBhbmQgYSBi aXQgb2YgcHJvc2UgYmVsb3cgZXhwbGFpbnMgdGhlIGRldGFpbGVkCnNlbWFudGljcy9mYWxsYmFj a3MvaW50ZXJhY3Rpb25zLiBFLmcuIHdpdGggY29sb3IgbWFuYWdlciB3ZSdsbCBoYXZlIGEKdG90 YWwgb2YgNSBwcm9wZXJ0aWVzLCBidXQgbmVlZCBzb21lIF92ZXJ5XyBkZXRhaWxlZCBleHBsYW5h dGlvbnMgb2YgaG93CnRoZXkgd29yayBhbmQgaW50ZXJhY3QuIFRoYXQgd29uJ3QgZXZlbiBmaXQg aW4gMjAgbGluZXMgOy0pCgo+IDIpIFdlIG5lZWQgdG8gc3VwcG9ydCB0aGUga2VybmVsLWRvYyBo aWdobGlnaHQgdHlwZXMgaW4gdGhlIHRhYmxlcyBhczoKPiAgMmEpIFdlIG5lZWQgdG8gdXNlIGRv dWJsZSBxdW90ZXMgZm9yIHN0cmluZ3MgaW4gdGhlIERSTSB0YWJsZSBhdCBsZWFzdAo+ICAyYikg QW5kIEkgdGhpbmsgdGhlIG90aGVyIGhpZ2hsaWdodCB0eXBlcyB3aWxsIGJlIHVzZWZ1bCBpbiB0 aGUgZnV0dXJlCj4gMykgV2UgbmVlZCBhIHRhYmxlIHR5cGUgdGhhdCBhbGxvd3MgdGhlIGhpZ2hs aWdodCB0YWdzIHRvIGJlCj4gc3Vic2VxdWVudGx5IHByb2Nlc3NlZCBpbnRvIHRoZSBmaW5hbCBk b2N1bWVudCBmb3JtYXQgKG90aGVyd2lzZSB0aGUKPiBoaWdobGlnaHQgdGFnIGV4cGFuc2lvbnMg Z2V0IGxlZnQgYXMgcmF3IHRhZ3MgaW4gdGhlIGZpbmFsIHRleHQpLgo+IDQpIEJlY2F1c2UgKDIp ICdleHBhbmRzJyBhIGxpbmUgd2lkdGggd2hlbiBpdCBpcyBwcm9jZXNzaW5nL3RhZ2dpbmcgdGhl Cj4gaGlnaGxpZ2h0cyB3ZSBuZWVkIGEgdGFibGUgdHlwZSB0aGF0IHN1cHBvcnRzIHZhcmlhYmxl IGxlbmd0aCBsaW5lcywKPiBhbmQgaXMgbm90IGJhc2VkIG9uIGZpeGVkIHdpZHRoIGNvbHVtbiBw cm9jZXNzaW5nLgo+IAo+IElmIHdlIHN1bW1hcmlzZSB0aGF0IGluIGEgdGFibGUgKGlyb25pY2Fs bHkgOi0pOgo+IAo+IHRhYmxldHlwZSB8IG11bHRpbGluZSB8IHZhcmlhYmxlIHwgcHJvY2Vzc2Vk IHwgc3VpdGFibGU/Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPiBzaW1wbGUgICAgfCBObyAgICAgICAgfCBObyAgICAgICB8IFllcyAg ICAgICB8IE5vCj4gbXVsdGkgICAgIHwgWWVzICAgICAgIHwgTm8gICAgICAgfCBZZXMgICAgICAg fCBObwo+IGdyaWQgICAgICB8IFllcyAgICAgICB8IE5vICAgICAgIHwgWWVzICAgICAgIHwgTm8K PiBwaXBlICAgICAgfCBObyAgICAgICAgfCBZZXMgICAgICB8IFllcyAgICAgICB8IE5vCj4gY29k ZWJsb2NrIHwgWWVzICAgICAgIHwgWWVzICAgICAgfCBObyAgICAgICAgfCBObwo+IAo+IFdoYXQg d2UgYXJlIGxvb2tpbmcgZm9yIGlzIGEgWWVzIGluIHRoZSBmaXJzdCB0aHJlZSBjb2x1bW5zLiBB bmQgdGh1cywKPiBwcmVzZW50bHkgaXQgbG9va3MgdG8gbWUgbGlrZSBub25lIG9mIHRoZSB0YWJs ZSBmb3JtYXRzIGFyZSB3aG9sbHkKPiBzdWl0YWJsZSA6LSgKPiAKPiBJJ3ZlIHN0aWxsIG5vdCB0 aG91Z2h0IG9mIGEgd2F5IG9mIHR3ZWFraW5nIHRoZSBrZXJuZWwtZG9jIGFuZCBwYW5kb2MKPiBw cm9jZXNzaW5nIHRvIHdvcmsgYXJvdW5kIHRoaXMgZWl0aGVyLCBhcyB0aGV5IGFyZSBkb25lIGFz IGRpZmZlcmVudAo+IHBhc3Nlcy9waGFzZXMgdGhhdCBuZWl0aGVyIGhhcyBrbm93bGVkZ2UgYWJv dXQgdGhlIG90aGVycwo+IHJlcXVpcmVtZW50cy4KPiAKPiBBcyBpdCBzdGFuZHMsIEknbSBmYWls aW5nIHRvIGZpbmQgYSBtZXRob2QgdG8gYnJlYWsgb3V0IHRoZSBEUk0gdGFibGUKPiBpbnRvIG1h cmtkb3duIHRhYmxlcyB0aGF0IEkgYmVsaWV2ZSB3b3JrcywgZnVuZGFtZW50YWxseSBkdWUgdG8g dGhpcwo+ICdpbmNvbXBhdGliaWxpdHknIGJldHdlZW4gdGhlIGtlcm5lbC1kb2MgYW5kIHBhbmRv Y19tYXJrZG93biBwcm9jZXNzaW5nCj4gcGhhc2VzIGFyb3VuZCB0aGUgaGlnaGxpZ2h0IHByb2Nl c3NpbmcuCgpZZWFoLCAxOjEgdHJhbnNsYXRpb24gd29uJ3Qgd29yaywgYnV0IEkgdGhpbmsgdGhl IGN1cnJlbnQgdGFibGUgZm9yCnByb3BlcnRpZXMgZG9lc24ndCB3b3JrIGVpdGhlci4gUHVsbGlu ZyB0aGUgZGV0YWlscyBvdXQgb2YgdGhlIHRhYmxlIGludG8KcHJvc2UgbWVhbnMgd2Ugb25seSBu ZWVkIGEgWWVzIGZvciAidmFyaWFibGUiIGFuZCAicHJvY2Vzc2VkIiwgc28gSSB0aGluawp3ZSBz aG91bGQgYmUgY292ZXJlZC4gT2YgY291cnNlIGlmIHdlIGNvdWxkIHNvbWVob3cgcmVzb2x2ZSB0 aGlzIGNvbmZsaWN0CmJldHdlZW4ga2VybmVsZG9jIGFuZCBwYW5kb2MgdGhhdCB3b3VsZCBiZSBl dmVuIGJldHRlci4gT25lIGlkZWEgSSBoYXZlCihidXQgaXQncyBhIGJpdCBudXRzKSBpcyB0byBv bmx5IGJ1aWxkIHVwIGEgbGlzdCBvZiBhbGwgdGhlIHJlcGxhY2VtZW50cwp3ZSdkIGxpa2UgdG8g ZG8sIHRoZW4gc2VuZCB0aGluZ3MgdG8gcGFuZG9jIGFuZCB0aGVuIGFwcGx5IHRoZW0gb24gdGhl Cm91dHB1dC4gVGhhdCB3YXkgd2UnbGwgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgYWNjaWRlbnRh bGx5IHJlcGxhY2Ugc29tZQpvZiB0aGUgbWFya3VwIHBhbmRvYyBnZW5lcmF0ZWQuIFdvdWxkIHRo YXQgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSAiIgpwYXJzaW5nIGlzc3Vlcz8KLURhbmllbCIKLS0g CkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6 Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==