From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] scripts/kernel-doc: Adding cross-reference links to html documentation. Date: Wed, 24 Jun 2015 23:22:16 +0200 Message-ID: <20150624212216.GK25769@phenom.ffwll.local> References: <1435173024-19550-1-git-send-email-danilo.cesar@collabora.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f51.google.com (mail-wg0-f51.google.com [74.125.82.51]) by gabe.freedesktop.org (Postfix) with ESMTP id A1DF06E029 for ; Wed, 24 Jun 2015 14:19:30 -0700 (PDT) Received: by wgbhy7 with SMTP id hy7so46618078wgb.2 for ; Wed, 24 Jun 2015 14:19:29 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1435173024-19550-1-git-send-email-danilo.cesar@collabora.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Danilo Cesar Lemes de Paula Cc: linux-doc@vger.kernel.org, Daniel Vetter , intel-gfx , Randy Dunlap , dri-devel , Laurent Pinchart List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBKdW4gMjQsIDIwMTUgYXQgMDQ6MTA6MjRQTSAtMDMwMCwgRGFuaWxvIENlc2FyIExl bWVzIGRlIFBhdWxhIHdyb3RlOgo+IEZ1bmN0aW9ucywgU3RydWN0cyBhbmQgUGFyYW1ldGVycyBk ZWZpbml0aW9ucyBvbiBrZXJuZWwgZG9jdW1lbnRhdGlvbgo+IGFyZSBwdXJlIGNvc21ldGljLCBp dCBvbmx5IGhpZ2hsaWdodHMgdGhlIGVsZW1lbnQuCj4gCj4gVG8gZWFzZSB0aGUgbmF2aWdhdGlv biBpbiB0aGUgZG9jdW1lbnRhdGlvbiB3ZSBzaG91bGQgdXNlIDxsaW5rcz4gaW5zaWRlCj4gdGhv c2UgdGFncyBzbyByZWFkZXJzIGNhbiBlYXNpbHkganVtcCBiZXR3ZWVuIG1ldGhvZHMgZGlyZWN0 bHkuCj4gCj4gVGhpcyB3YXMgZGlzY3Vzc2VkIGluIDIwMTRbMV0gYW5kIGlzIGltcGxlbWVudGVk IGJ5IGdldHRpbmcgYSBsaXN0Cj4gb2YgPHJlZmVudHJpZXM+IGZyb20gdGhlIERvY0Jvb2sgWE1M IHRvIGdlbmVyYXRlIGEgZGF0YWJhc2UuIFRoZW4gaXQgbG9va3MKPiBmb3IgPGZ1bmN0aW9uPiw8 c3RydWN0bmFtZXM+IGFuZCA8cGFyYW1kZWY+IHRhZ3MgdGhhdCBtYXRjaGVzIHRoZSBvbmVzIGlu Cj4gdGhlIGRhdGFiYXNlLiBBcyBpdCBvbmx5IGxpbmtzIGV4aXN0ZW50IHJlZmVyZW5jZXMsIG5v IGJyb2tlbiBsaW5rcyBhcmUKPiBhZGRlZC4KPiAKPiBbMV0gLSBsaXN0cy5mcmVlZGVza3RvcC5v cmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTQtQXVndXN0LzA2NTQwNC5odG1sCj4gCj4gU2lnbmVk LW9mZi1ieTogRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFi b3JhLmNvLnVrPgo+IENjOiBSYW5keSBEdW5sYXAgPHJkdW5sYXBAaW5mcmFkZWFkLm9yZz4KPiBD YzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzogTGF1cmVudCBQ aW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+IENjOiBsaW51eC1k b2NAdmdlci5rZXJuZWwub3JnCj4gQ2M6IGludGVsLWdmeCA8aW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZz4KPiBDYzogZHJpLWRldmVsIDxkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnPgo+IC0tLQo+ICBUbyB1bmRlcnN0YW5kIGEgYml0IG1vcmUgb2Ygd2hhdCB0aGlzIHBhdGNo IGlzIHRyeWluZyB0byBhY29tcGxpc2ggeW91IGNhbiBmaW5kCj4gIHR3byBleGFtcGxlcyBvZiB0 aGUgb2xkIGFuZCBuZXcgaHRtbGRvY3Mgb3V0cHV0czoKPiAgT0xEOiBodHRwczovL3Blb3BsZS5j b2xsYWJvcmEuY29tL35kYW5pbG8vaW50ZWwvRG9jdW1lbnRhdGlvbi5vbGQvRG9jQm9vay9kcm0v QVBJLWRybS1jcnRjLXZibGFuay1vbi5odG1sCj4gIE5FVzogaHR0cHM6Ly9wZW9wbGUuY29sbGFi b3JhLmNvbS9+ZGFuaWxvL2ludGVsL0RvY3VtZW50YXRpb24ubmV3L0RvY0Jvb2svZHJtL0FQSS1k cm0tY3J0Yy12Ymxhbmstb24uaHRtbAoKQWxyZWFkeSBkaXNjdXNzZWQgb24gaXJjIFdpdGggRGFu aWxvIGJ1dCBoZXJlIGZvciB0aGUgcmVjb3JkOiBJIHJlYWxseQpsaWtlIHRoaXMgc2luY2UgaXQg bWFzc2l2ZWx5IGltcHJvdmVzIHRoZSB1c2VmdWxuZXNzIG9mIHRoZSBkb2Nib29rcyB3ZQpoYXZl LiBPbmUgc21hbGwgdGhpbmcgSSBub3RpY2VkIHRob3VnaCB3aGlsZSBjbGlja2luZyBhIGJpdCBt b3JlIHRocm91Z2gKdGhlIGdlbmVyYXRlZCBodG1sOiBJdCBhbHNvIGdlbmVyYXRlcyBzZWxmbGlu a3MsIGkuZS4gZHJtX2NydGNfdmJsYW5rX29uCmxpbmtzIHRvIGl0c2VsZi4gVGhhdCBvbmUgaXMg YSBiaXQgY29uZnVzaW5nLiBDb3VsZCB3ZSBmaWx0ZXIgb3V0CnNlbGYtbGlua3Mgc29tZWhvdyBv biB0aGUgcmVmZXJlbmNlIHNlY3Rpb25zPwotRGFuaWVsCgo+IAo+ICBEb2N1bWVudGF0aW9uL0Rv Y0Jvb2svTWFrZWZpbGUgfCAgMzQgKysrKystLS0KPiAgc2NyaXB0cy9rZXJuZWwtZG9jLXhtbC1y ZWYgICAgIHwgMTc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IDIgZmlsZXMgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+ICBj cmVhdGUgbW9kZSAxMDA3NTUgc2NyaXB0cy9rZXJuZWwtZG9jLXhtbC1yZWYKPiAKPiBkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9Eb2NCb29rL01ha2VmaWxlIGIvRG9jdW1lbnRhdGlvbi9Eb2NC b29rL01ha2VmaWxlCj4gaW5kZXggYjZhNmEyZS4uOGFlYTQ1YSAxMDA2NDQKPiAtLS0gYS9Eb2N1 bWVudGF0aW9uL0RvY0Jvb2svTWFrZWZpbGUKPiArKysgYi9Eb2N1bWVudGF0aW9uL0RvY0Jvb2sv TWFrZWZpbGUKPiBAQCAtNjQsOCArNjQsOSBAQCBpbnN0YWxsbWFuZG9jczogbWFuZG9jcwo+ICAK PiAgIyMjCj4gICNFeHRlcm5hbCBwcm9ncmFtcyB1c2VkCj4gLUtFUk5FTERPQyA9ICQoc3JjdHJl ZSkvc2NyaXB0cy9rZXJuZWwtZG9jCj4gLURPQ1BST0MgICA9ICQob2JqdHJlZSkvc2NyaXB0cy9k b2Nwcm9jCj4gK0tFUk5FTERPQ1hNTFJFRiA9ICQoc3JjdHJlZSkvc2NyaXB0cy9rZXJuZWwtZG9j LXhtbC1yZWYKPiArS0VSTkVMRE9DICAgICAgID0gJChzcmN0cmVlKS9zY3JpcHRzL2tlcm5lbC1k b2MKPiArRE9DUFJPQyAgICAgICAgID0gJChvYmp0cmVlKS9zY3JpcHRzL2RvY3Byb2MKPiAgCj4g IFhNTFRPRkxBR1MgPSAtbSAkKHNyY3RyZWUpLyQoc3JjKS9zdHlsZXNoZWV0LnhzbAo+ICBYTUxU T0ZMQUdTICs9IC0tc2tpcC12YWxpZGF0aW9uCj4gQEAgLTg5LDcgKzkwLDcgQEAgZGVmaW5lIHJ1 bGVfZG9jcHJvYwo+ICAgICAgICAgICkgPiAkKGRpciAkQCkuJChub3RkaXIgJEApLmNtZAo+ICBl bmRlZgo+ICAKPiAtJS54bWw6ICUudG1wbCAkKEtFUk5FTERPQykgJChET0NQUk9DKSBGT1JDRQo+ ICslLnhtbDogJS50bXBsICQoS0VSTkVMRE9DKSAkKERPQ1BST0MpICQoS0VSTkVMRE9DWE1MUkVG KSBGT1JDRQo+ICAJJChjYWxsIGlmX2NoYW5nZWRfcnVsZSxkb2Nwcm9jKQo+ICAKPiAgIyBUZWxs IGtidWlsZCB0byBhbHdheXMgYnVpbGQgdGhlIHByb2dyYW1zCj4gQEAgLTEzOSw4ICsxNDAsMTIg QEAgcXVpZXRfY21kX2RiMmh0bWwgPSBIVE1MICAgICRACj4gICAgICAgIGNtZF9kYjJodG1sID0g eG1sdG8gaHRtbCAkKFhNTFRPRkxBR1MpIC1vICQocGF0c3Vic3QgJS5odG1sLCUsJEApICQ8ICYm IFwKPiAgCQllY2hvICc8YSBIUkVGPSIkKHBhdHN1YnN0ICUuaHRtbCwlLCQobm90ZGlyICRAKSkv aW5kZXguaHRtbCI+IFwKPiAgCQkkKHBhdHN1YnN0ICUuaHRtbCwlLCQobm90ZGlyICRAKSk8L2E+ PHA+JyA+ICRACj4gKyUuYXV4LnhtbDogJS54bWwKPiArCUBybSAtcmYgJEAKPiArCShjYXQgJDwg fCBlZ3JlcCAiXjxyZWZlbnRyeSBpZCIgfCBlZ3JlcCAtbyAiXCIuKlwiIiB8IGN1dCAtZiAyIC1k IFwiID4gJDwuZGIpCj4gKwkkKEtFUk5FTERPQ1hNTFJFRikgLWRiICQ8LmRiICQ8ID4gJEAKPiAg Cj4gLSUuaHRtbDoJJS54bWwKPiArJS5odG1sOgklLmF1eC54bWwKPiAgCUAod2hpY2ggeG1sdG8g PiAvZGV2L251bGwgMj4mMSkgfHwgXAo+ICAJIChlY2hvICIqKiogWW91IG5lZWQgdG8gaW5zdGFs bCB4bWx0byAqKioiOyBcCj4gIAkgIGV4aXQgMSkKPiBAQCAtMjA5LDE1ICsyMTQsMTggQEAgZG9j aGVscDoKPiAgIyMjCj4gICMgVGVtcG9yYXJ5IGZpbGVzIGxlZnQgYnkgdmFyaW91cyB0b29scwo+ ICBjbGVhbi1maWxlcyA6PSAkKERPQ0JPT0tTKSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLmR2 aSwgICQoRE9DQk9PS1MpKSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLmF1eCwgICQoRE9DQk9P S1MpKSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLnRleCwgICQoRE9DQk9PS1MpKSBcCj4gLQkk KHBhdHN1YnN0ICUueG1sLCAlLmxvZywgICQoRE9DQk9PS1MpKSBcCj4gLQkkKHBhdHN1YnN0ICUu eG1sLCAlLm91dCwgICQoRE9DQk9PS1MpKSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLnBzLCAg ICQoRE9DQk9PS1MpKSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLnBkZiwgICQoRE9DQk9PS1Mp KSBcCj4gLQkkKHBhdHN1YnN0ICUueG1sLCAlLmh0bWwsICQoRE9DQk9PS1MpKSBcCj4gLQkkKHBh dHN1YnN0ICUueG1sLCAlLjksICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1s LCAlLmR2aSwgICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLmF1eCwg ICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLnRleCwgICAgICQoRE9D Qk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLmxvZywgICAgICQoRE9DQk9PS1MpKSBc Cj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLm91dCwgICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBh dHN1YnN0ICUueG1sLCAlLnBzLCAgICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUu eG1sLCAlLnBkZiwgICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLmh0 bWwsICAgICQoRE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLjksICAgICAgICQo RE9DQk9PS1MpKSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLmF1eC54bWwsICQoRE9DQk9PS1Mp KSBcCj4gKwkkKHBhdHN1YnN0ICUueG1sLCAlLnhtbC5kYiwgICQoRE9DQk9PS1MpKSBcCj4gKwkk KHBhdHN1YnN0ICUueG1sLCAlLnhtbCwgICAgICQoRE9DQk9PS1MpKSBcCj4gIAkkKGluZGV4KQo+ ICAKPiAgY2xlYW4tZGlycyA6PSAkKHBhdHN1YnN0ICUueG1sLCUsJChET0NCT09LUykpIG1hbgo+ IGRpZmYgLS1naXQgYS9zY3JpcHRzL2tlcm5lbC1kb2MteG1sLXJlZiBiL3NjcmlwdHMva2VybmVs LWRvYy14bWwtcmVmCj4gbmV3IGZpbGUgbW9kZSAxMDA3NTUKPiBpbmRleCAwMDAwMDAwLi43NTZl ODk3Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3NjcmlwdHMva2VybmVsLWRvYy14bWwtcmVmCj4g QEAgLTAsMCArMSwxNzYgQEAKPiArIyEvdXNyL2Jpbi9wZXJsIC13Cj4gKwo+ICt1c2Ugc3RyaWN0 Owo+ICsKPiArIyMgQ29weXJpZ2h0IChDKSAyMDE1ICBJbnRlbCBDb3Jwb3JhdGlvbiAgICAgICAg ICAgICAgICAgICAgICAgICAjIwo+ICsjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjCj4gKyMjIFRoaXMgc29mdHdhcmUgZmFs bHMgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgICAgIyMKPiArIyMgUGxl YXNlIHJlYWQgdGhlIENPUFlJTkcgZmlsZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiAgICAgICAgICAg ICAjIwo+ICsjCj4gKyMKPiArIyBUaGlzIHNvZnR3YXJlIHJlYWRzIGEgWE1MIGZpbGUgYW5kIGEg bGlzdCBvZiB2YWxpZCBpbnRlcmFsCj4gKyMgcmVmZXJlbmNlcyB0byByZXBsYWNlIERvY2Jvb2sg dGFncyB3aXRoIGxpbmtzLgo+ICsjCj4gKyMgdXNhZ2U6Cj4gKyMga2VybmVsLWRvYy14bWwtcmVm IC1kYiBmaWxlbmFtZQo+ICsjCQkgICAgIHhtbCBmaWxlbmFtZSA+IG91dHB1dGZpbGUKPiArCj4g KyMgcmVhZCBhcmd1bWVudHMKPiAraWYgKCQjQVJHViAhPSAyKSB7Cj4gKwl1c2FnZSgpOwo+ICt9 Cj4gKwo+ICsjSG9sZHMgdGhlIGRhdGFiYXNlIGZpbGVuYW1lCj4gK215ICRkYXRhYmFzZWZpbGU7 Cj4gK215IEBkYXRhYmFzZTsKPiArCj4gKyNob2xkcyB0aGUgaW5wdXRmaWxlCj4gK215ICRpbnB1 dGZpbGU7Cj4gK215ICRlcnJvcnMgPSAwOwo+ICsKPiArbXkgJWhpZ2hsaWdodHMgPSAoCj4gKwki PGZ1bmN0aW9uPiguKj8pPC9mdW5jdGlvbj4iLAo+ICsJICAgICJcIjxmdW5jdGlvbj5cIiAuIGNv bnZlcnRfZnVuY3Rpb24oXCQxKSAuIFwiPC9mdW5jdGlvbj5cIiIsCj4gKwkiPHN0cnVjdG5hbWU+ KC4qPyk8L3N0cnVjdG5hbWU+IiwKPiArCSAgICAiXCI8c3RydWN0bmFtZT5cIiAuIGNvbnZlcnRf c3RydWN0KFwkMSkgLiBcIjwvc3RydWN0bmFtZT5cIiIsCj4gKwkiPHBhcmFtZGVmPiguKj8pPHBh cmFtZXRlcj4oLio/KTwvcGFyYW1ldGVyPjwvcGFyYW1kZWY+IiwKPiArCSAgICAiXCI8cGFyYW1k ZWY+XCIgLiBjb252ZXJ0X3BhcmFtKFwkMSkgLiBcIjxwYXJhbWV0ZXI+XCQyPC9wYXJhbWV0ZXI+ PC9wYXJhbWRlZj5cIiIpOwo+ICsKPiArd2hpbGUoJEFSR1ZbMF0gPX4gbS9eLSguKikvKSB7Cj4g KwlteSAkY21kID0gc2hpZnQgQEFSR1Y7Cj4gKwlpZiAoJGNtZCBlcSAiLWRiIikgewo+ICsJCSRk YXRhYmFzZWZpbGUgPSBzaGlmdCBAQVJHVgo+ICsJfQo+ICt9Cj4gKyRpbnB1dGZpbGUgPSBzaGlm dCBAQVJHVjsKPiArCj4gK3N1YiBvcGVuX2RhdGFiYXNlIHsKPiArCW9wZW4gbXkgJGhhbmRsZSwg JzwnLCAkZGF0YWJhc2VmaWxlOwo+ICsJY2hvbXAobXkgQGxpbmVzID0gPCRoYW5kbGU+KTsKPiAr CWNsb3NlICRoYW5kbGU7Cj4gKwo+ICsJQGRhdGFiYXNlID0gQGxpbmVzOwo+ICt9Cj4gKwo+ICtz dWIgcHJvY2Vzc19maWxlIHsKPiArCW9wZW5fZGF0YWJhc2UoKTsKPiArCj4gKwlteSAkZG9oaWdo bGlnaHQ7Cj4gKwlmb3JlYWNoIG15ICRwYXR0ZXJuIChrZXlzICVoaWdobGlnaHRzKSB7Cj4gKwkJ JGRvaGlnaGxpZ2h0IC49ICAiXCRsaW5lID1+IHM6JHBhdHRlcm46JGhpZ2hsaWdodHN7JHBhdHRl cm59OmVnO1xuIjsKPiArCX0KPiArCj4gKwlvcGVuKEZJTEUsICRpbnB1dGZpbGUpIG9yIGRpZSgi Q291bGQgbm90IG9wZW4gJGlucHV0ZmlsZSIpOwo+ICsJZm9yZWFjaCBteSAkbGluZSAoPEZJTEU+ KSAgewo+ICsJCWV2YWwgJGRvaGlnaGxpZ2h0Owo+ICsJCXByaW50ICRsaW5lOwo+ICsJfQo+ICt9 Cj4gKwo+ICtzdWIgdHJpbSgkXykKPiArewo+ICsJbXkgJHN0ciA9ICRfWzBdOwo+ICsJJHN0ciA9 fiBzL15ccyt8XHMrJC8vZzsKPiArCXJldHVybiAkc3RyCj4gK30KPiArCj4gK3N1YiBoYXNfa2V5 X2RlZmluZWQoJF8pCj4gK3sKPiArCWlmICggZ3JlcCggL14kX1swXSQvLCBAZGF0YWJhc2UpKSB7 Cj4gKwkJcmV0dXJuIDE7Cj4gKwl9Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3ViIGNvbnZl cnRfZnVuY3Rpb24oJF8pCj4gK3sKPiArCW15ICRhcmcgPSAkX1swXTsKPiArCW15ICRrZXkgPSAk X1swXTsKPiArCj4gKwkka2V5ID0gdHJpbSgka2V5KTsKPiArCj4gKwkka2V5ID1+IHMvW15BLVph LXowLTldLy0vZzsKPiArCSRrZXkgPSAiQVBJLSIgLiAka2V5Owo+ICsKPiArCWlmICghaGFzX2tl eV9kZWZpbmVkKCRrZXkpKSB7Cj4gKwkJcmV0dXJuICRhcmc7Cj4gKwl9Cj4gKwo+ICsJbXkgJGhl YWQgPSAkYXJnOwo+ICsJbXkgJHRhaWwgPSAiIjsKPiArCWlmICgkYXJnID1+IC8oLio/KSggPykk Lykgewo+ICsJCSRoZWFkID0gJDE7Cj4gKwkJJHRhaWwgPSAkMjsKPiArCX0KPiArCXJldHVybiAi PGxpbmsgbGlua2VuZD1cIiRrZXlcIj4kaGVhZDwvbGluaz4kdGFpbCI7Cj4gK30KPiArc3ViIGNv bnZlcnRfc3RydWN0KCRfKQo+ICt7Cj4gKwlteSAkYXJnID0gJF9bMF07Cj4gKwlteSAka2V5ID0g JF9bMF07Cj4gKwkka2V5ID1+IHMvKHN0cnVjdCApPyhcdykvJDIvZzsKPiArCSRrZXkgPX4gcy9b XkEtWmEtejAtOV0vLS9nOwo+ICsJJGtleSA9ICJBUEktc3RydWN0LSIgLiAka2V5Owo+ICsKPiAr CWlmICghaGFzX2tleV9kZWZpbmVkKCRrZXkpKSB7Cj4gKwkJcmV0dXJuICRhcmc7Cj4gKwl9Cj4g Kwo+ICsJbXkgKCRoZWFkLCAkdGFpbCkgPSBzcGxpdF9wb2ludGVyKCRhcmcpOwo+ICsJcmV0dXJu ICI8bGluayBsaW5rZW5kPVwiJGtleVwiPiRoZWFkPC9saW5rPiR0YWlsIjsKPiArfQo+ICsKPiAr c3ViIHNwbGl0X3BvaW50ZXIoJF8pCj4gK3sKPiArCW15ICRhcmcgPSAkX1swXTsKPiArCWlmICgk YXJnID1+IC8oLio/KSggP1wqID8pLykgewo+ICsJCXJldHVybiAoJDEsICQyKTsKPiArCX0KPiAr CXJldHVybiAoJGFyZywgIiIpOwo+ICt9Cj4gKwo+ICtzdWIgY29udmVydF9wYXJhbSgkXykKPiAr ewo+ICsJbXkgJHR5cGUgPSAkX1swXTsKPiArCW15ICRrZXluYW1lID0gY29udmVydF9rZXlfbmFt ZSgkdHlwZSk7Cj4gKwo+ICsJaWYgKCFoYXNfa2V5X2RlZmluZWQoJGtleW5hbWUpKSB7Cj4gKwkJ cmV0dXJuICR0eXBlOwo+ICsJfQo+ICsKPiArCW15ICgkaGVhZCwgJHRhaWwpID0gc3BsaXRfcG9p bnRlcigkdHlwZSk7Cj4gKwlyZXR1cm4gIjxsaW5rIGxpbmtlbmQ9XCIka2V5bmFtZVwiPiRoZWFk PC9saW5rPiR0YWlsIjsKPiArCj4gK30KPiArCj4gK3N1YiBjb252ZXJ0X2tleV9uYW1lKCRfKQo+ ICt7Cj4gKwkjUGF0dGVybiAkMiBpcyBvcHRpb25hbCBhbmQgbWlnaHQgYmUgdW5pbml0aWFsaXpl ZAo+ICsJbm8gd2FybmluZ3MgJ3VuaW5pdGlhbGl6ZWQnOwo+ICsKPiArCW15ICRzdHIgPSAkX1sw XTsKPiArCSRzdHIgPX4gcy8oY29uc3R8c3RhdGljKT8gPyhzdHJ1Y3QpPyA/KFthLXpBLVowLTlf XSspID8oXCp8Jik/LyQyICQzL2cgOwo+ICsKPiArCSMgdHJpbQo+ICsJJHN0ciA9fiBzL15ccyt8 XHMrJC8vZzsKPiArCj4gKwkjIHNwYWNlcyBhbmQgXyB0byAtCj4gKwkkc3RyID1+IHMvW15BLVph LXowLTldLy0vZzsKPiArCj4gKwlyZXR1cm4gIkFQSS0iIC4gJHN0cjsKPiArfQo+ICsKPiArc3Vi IHVzYWdlIHsKPiArCXByaW50ICJVc2FnZTogJDAgLWRiIGRhdGFiYXNlIGZpbGVuYW1lIF1cbiI7 Cj4gKwlwcmludCAiICAgICAgICAgeG1sIHNvdXJjZSBmaWxlKHMpID4gb3V0cHV0ZmlsZVxuIjsK PiArCWV4aXQgMTsKPiArfQo+ICsKPiArIyBzdGFydGluZyBwb2ludAo+ICtwcm9jZXNzX2ZpbGUo KTsKPiArCj4gK2lmICgkZXJyb3JzKSB7Cj4gKwlwcmludCBTVERFUlIgIiRlcnJvcnMgZXJyb3Jz XG4iOwo+ICt9Cj4gKwo+ICtleGl0KCRlcnJvcnMpOwo+IC0tIAo+IDIuMS40Cj4gCgotLSAKRGFu aWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Js b2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK