From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED,USER_AGENT_NEOMUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8FEC4C10F0E for ; Tue, 9 Apr 2019 09:29:20 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5E6A320833 for ; Tue, 9 Apr 2019 09:29:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="NvHO+J7Z" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5E6A320833 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=pengutronix.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=J0cjkzx1j8uPJRXep+pFiFMDpaIaGiGMwBLkc2Q1DqQ=; b=NvHO+J7Z+fr+4C gLoqhW7jUqbqgcsTe8KQY9cYQqN3RwWXb8qKDUJxPT5pqggeQif91fPv/uA0J2JiBDoFpxkFVTPly 5J4NrFSou/71CMTgS0Z5t+Ndk2BycqFJhOs2xxlGTBxpiFyzggq+p9WGVg7lao8mBFMsfNhuQcqOv d8juTwbAjm8wJbvIoKNiFEiDFDQXHycRKvMIVsgAWC2hvApRVkt7M9Pt1N7BBDYHP3ckS2+ZOdp5r B53JfKL1/OFFmy/+WppaLmRUIVtYXTipSqTzLwUYwGKZzpVzn0SGKhJIZRCnq7vicFUUSebpYbb9P qLSdg7p5EJJtEV7dtpIA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDn4B-0007kC-EE; Tue, 09 Apr 2019 09:29:19 +0000 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1hDn47-0007iO-0k for linux-arm-kernel@lists.infradead.org; Tue, 09 Apr 2019 09:29:17 +0000 Received: from pty.hi.pengutronix.de ([2001:67c:670:100:1d::c5]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hDn3u-00042j-UH; Tue, 09 Apr 2019 11:29:02 +0200 Received: from ukl by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1hDn3r-0005GN-RB; Tue, 09 Apr 2019 11:28:59 +0200 Date: Tue, 9 Apr 2019 11:28:59 +0200 From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= To: Anson Huang Subject: Re: [EXT] Re: [PATCH V10 2/5] pwm: Add i.MX TPM PWM driver support Message-ID: <20190409092859.qj4rgpljokdsokes@pengutronix.de> References: <1553582817-29519-1-git-send-email-Anson.Huang@nxp.com> <1553582817-29519-3-git-send-email-Anson.Huang@nxp.com> <20190409064750.qnjcddlf5gktipah@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20170113 (1.7.2) X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::c5 X-SA-Exim-Mail-From: ukl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190409_022915_222471_9D9D864E X-CRM114-Status: GOOD ( 29.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "mark.rutland@arm.com" , "linux-pwm@vger.kernel.org" , Leonard Crestez , "schnitzeltony@gmail.com" , "otavio@ossystems.com.br" , "devicetree@vger.kernel.org" , "shawnguo@kernel.org" , "s.hauer@pengutronix.de" , "linux@armlinux.org.uk" , "stefan@agner.ch" , "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "thierry.reding@gmail.com" , dl-linux-imx , "kernel@pengutronix.de" , Robin Gong , "festevam@gmail.com" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGVsbG8sCgpPbiBUdWUsIEFwciAwOSwgMjAxOSBhdCAwODo1MTo0OEFNICswMDAwLCBBbnNvbiBI dWFuZyB3cm90ZToKPiA+IE9uIFR1ZSwgTWFyIDI2LCAyMDE5IGF0IDA2OjUyOjMzQU0gKzAwMDAs IEFuc29uIEh1YW5nIHdyb3RlOgo+ID4gPiArICAgICAvKiBnZXQgcG9sYXJpdHkgKi8KPiA+ID4g KyAgICAgaWYgKGNoYW4pIHsKPiA+ID4gKyAgICAgICAgICAgICBzdGF0ZS0+cG9sYXJpdHkgPSBj aGFuLT5wb2xhcml0eTsKPiA+ID4gKyAgICAgfSBlbHNlIHsKPiA+ID4gKyAgICAgICAgICAgICAv KiBpbiBjYXNlIG5vIGNoYW5uZWwgcmVxdWVzdGVkIHlldCwgcmV0dXJuIEhXIHN0YXR1cyAqLwo+ ID4gPiArICAgICAgICAgICAgIHZhbCA9IHJlYWRsKHRwbS0+YmFzZSArIFBXTV9JTVhfVFBNX0Nu U0MocHdtLT5od3B3bSkpOwo+ID4gPiArICAgICAgICAgICAgIGlmIChGSUVMRF9HRVQoUFdNX0lN WF9UUE1fQ25TQ19FTFMsIHZhbCkgPT0KPiA+ID4gKyAgICAgICAgICAgICAgICAgUFdNX0lNWF9U UE1fQ25TQ19FTFNfUE9MQVJJVFlfSU5WRVJTRUQpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICBzdGF0ZS0+cG9sYXJpdHkgPSBQV01fUE9MQVJJVFlfSU5WRVJTRUQ7Cj4gPiA+ICsgICAgICAg ICAgICAgZWxzZQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgLyoKPiA+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAqIEFzc3VtZSByZXNlcnZlZCB2YWx1ZXMgKDJiMDAgYW5kIDJiMTEpIHRv IHlpZWxkCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgKiBub3JtYWwgcG9sYXJpdHkuCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgKi8KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg IHN0YXRlLT5wb2xhcml0eSA9IFBXTV9QT0xBUklUWV9OT1JNQUw7Cj4gPiA+ICsgICAgIH0KPiA+ IAo+ID4gV2hhdCBpcyB0aGUgZ29vZCByZWFzb24gdG8gcHJlZmVyIGNoYW4tPnBvbGFyaXR5IG92 ZXIgcmVhZGluZyBvdXQgdGhlCj4gPiBoYXJkd2FyZSBzdGF0ZT8KPiAKPiBSZWFkaW5nIGl0IGZy b20gRERSIGlzIGZhc3RlciB0aGFuIGFjY2Vzc2luZyBIVyByZWdpc3RlciBhcyBwZXIKPiBwcmV2 aW91cyBjb21tZW50PwoKSG93IG11Y2ggdGltZSBkbyB5b3Ugc2F2ZSBoZXJlPyBJcyBpdCB3b3J0 aCB0byBjb21wbGljYXRlIHRoZSBmdW5jdGlvbgpmb3IgdGhhdD8KCj4gPiA+ICsgICAgIC8qIGdl dCBjaGFubmVsIHN0YXR1cyAqLwo+ID4gPiArICAgICBzdGF0ZS0+ZW5hYmxlZCA9IEZJRUxEX0dF VChQV01fSU1YX1RQTV9DblNDX0VMUywgdmFsKSA/IHRydWUgOgo+ID4gPiArZmFsc2U7IH0KPiA+ ID4gKwo+ID4gPiArLyogdGhpcyBmdW5jdGlvbiBpcyBzdXBwb3NlZCB0byBiZSBjYWxsZWQgd2l0 aCBtdXRleCBob2xkICovIHN0YXRpYwo+ID4gPiAraW50IHB3bV9pbXhfdHBtX2FwcGx5X2h3KHN0 cnVjdCBwd21fY2hpcCAqY2hpcCwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHB3bV9kZXZpY2UgKnB3bSwKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHB3bV9zdGF0ZSAqc3RhdGUsCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBpbXhfdHBtX3B3bV9wYXJhbSAqcCkgewo+ID4gPiArICAgICBzdHJ1Y3Qg aW14X3RwbV9wd21fY2hpcCAqdHBtID0gdG9faW14X3RwbV9wd21fY2hpcChjaGlwKTsKPiA+ID4g KyAgICAgc3RydWN0IGlteF90cG1fcHdtX2NoYW5uZWwgKmNoYW4gPSBwd21fZ2V0X2NoaXBfZGF0 YShwd20pOwo+ID4gPiArICAgICBib29sIHBlcmlvZF91cGRhdGUgPSBmYWxzZTsKPiA+ID4gKyAg ICAgYm9vbCBkdXR5X3VwZGF0ZSA9IGZhbHNlOwo+ID4gPiArICAgICB1MzIgdmFsLCBjbW9kLCBj dXJfcHJlc2NhbGU7Cj4gPiA+ICsgICAgIHVuc2lnbmVkIGxvbmcgdGltZW91dDsKPiA+ID4gKyAg ICAgc3RydWN0IHB3bV9zdGF0ZSBjOwo+ID4gPiArCj4gPiA+ICsgICAgIGlmIChzdGF0ZS0+cGVy aW9kICE9IHRwbS0+cmVhbF9wZXJpb2QpIHsKPiA+ID4gKyAgICAgICAgICAgICAvKgo+ID4gPiAr ICAgICAgICAgICAgICAqIFRQTSBjb3VudGVyIGlzIHNoYXJlZCBieSBtdWx0aXBsZSBjaGFubmVs cywgc28KPiA+ID4gKyAgICAgICAgICAgICAgKiBwcmVzY2FsZSBhbmQgcGVyaW9kIGNhbiBOT1Qg YmUgbW9kaWZpZWQgd2hlbgo+ID4gPiArICAgICAgICAgICAgICAqIHRoZXJlIGFyZSBtdWx0aXBs ZSBjaGFubmVscyBpbiB1c2Ugd2l0aCBkaWZmZXJlbnQKPiA+ID4gKyAgICAgICAgICAgICAgKiBw ZXJpb2Qgc2V0dGluZ3MuCj4gPiA+ICsgICAgICAgICAgICAgICovCj4gPiA+ICsgICAgICAgICAg ICAgaWYgKHRwbS0+dXNlcl9jb3VudCA+IDEpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gLUVCVVNZOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgdmFsID0gcmVhZGwodHBt LT5iYXNlICsgUFdNX0lNWF9UUE1fU0MpOwo+ID4gPiArICAgICAgICAgICAgIGNtb2QgPSBGSUVM RF9HRVQoUFdNX0lNWF9UUE1fU0NfQ01PRCwgdmFsKTsKPiA+ID4gKyAgICAgICAgICAgICBjdXJf cHJlc2NhbGUgPSBGSUVMRF9HRVQoUFdNX0lNWF9UUE1fU0NfUFMsIHZhbCk7Cj4gPiA+ICsgICAg ICAgICAgICAgaWYgKGNtb2QgJiYgY3VyX3ByZXNjYWxlICE9IHAtPnByZXNjYWxlKQo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FQlVTWTsKPiA+ID4gKwo+ID4gPiArICAgICAg ICAgICAgIC8qIHNldCBUUE0gY291bnRlciBwcmVzY2FsZSAqLwo+ID4gPiArICAgICAgICAgICAg IHZhbCAmPSB+UFdNX0lNWF9UUE1fU0NfUFM7Cj4gPiA+ICsgICAgICAgICAgICAgdmFsIHw9IEZJ RUxEX1BSRVAoUFdNX0lNWF9UUE1fU0NfUFMsIHAtPnByZXNjYWxlKTsKPiA+ID4gKyAgICAgICAg ICAgICB3cml0ZWwodmFsLCB0cG0tPmJhc2UgKyBQV01fSU1YX1RQTV9TQyk7Cj4gPiA+ICsKPiA+ ID4gKyAgICAgICAgICAgICAvKgo+ID4gPiArICAgICAgICAgICAgICAqIHNldCBwZXJpb2QgY291 bnQ6Cj4gPiA+ICsgICAgICAgICAgICAgICogaWYgdGhlIFBXTSBpcyBkaXNhYmxlZCAoQ01PRFsx OjBdID0gMmIwMCksIHRoZW4gTU9EIHJlZ2lzdGVyCj4gPiA+ICsgICAgICAgICAgICAgICogaXMg dXBkYXRlZCB3aGVuIE1PRCByZWdpc3RlciBpcyB3cml0dGVuLgo+ID4gPiArICAgICAgICAgICAg ICAqCj4gPiA+ICsgICAgICAgICAgICAgICogaWYgdGhlIFBXTSBpcyBlbmFibGVkIChDTU9EWzE6 MF0g4omgIDJiMDApLCB0aGUgcGVyaW9kIGxlbmd0aAo+ID4gPiArICAgICAgICAgICAgICAqIGlz IGxhdGNoZWQgaW50byBoYXJkd2FyZSB3aGVuIHRoZSBuZXh0IHBlcmlvZCBzdGFydHMuCj4gPiA+ ICsgICAgICAgICAgICAgICovCj4gPiA+ICsgICAgICAgICAgICAgd3JpdGVsKHAtPm1vZCwgdHBt LT5iYXNlICsgUFdNX0lNWF9UUE1fTU9EKTsKPiA+ID4gKyAgICAgICAgICAgICB0cG0tPnJlYWxf cGVyaW9kID0gc3RhdGUtPnBlcmlvZDsKPiA+ID4gKyAgICAgICAgICAgICBwZXJpb2RfdXBkYXRl ID0gdHJ1ZTsKPiA+ID4gKyAgICAgfQo+ID4gPiArCj4gPiA+ICsgICAgIHB3bV9pbXhfdHBtX2dl dF9zdGF0ZShjaGlwLCBwd20sICZjKTsKPiA+IAo+ID4gSWYgeW91IG1vdmUgdGhpcyBjYWxsIGFi b3ZlIHRoZSBwcmV2aW91cyBpZiBibG9jayB5b3UgY2FuIHVzZSBjLnBlcmlvZCBpbnN0ZWFkCj4g PiBvZiB0cG0tPnJlYWxfcGVyaW9kIHdoaWNoIGlzIGVhc2llciB0byBmb2xsb3cuCj4gCj4gSSB0 aGluayB0aGUgcGVyaW9kIGNvdWxkIGJlIGNoYW5nZWQgYnkgdGhlIGlmIGJsb2NrLCBzbyBkdXR5 IGFsc28gYmUgY2hhbmdlZCwgbmVlZAo+IHRvIHB1dCB0aGUgLmdldF9zdGF0ZSBoZXJlLCBhbSBJ IHJpZ2h0PwoKQXMgeW91IGRvbid0IHVzZSBjLnBlcmlvZCBiZWxvdyB0aGlzIHNob3VsZG4ndCBt YXR0ZXIuIFdoZXJlIGRvZXMgZHV0eQpjaGFuZ2U/Cgo+ID4gPiArICAgICBpZiAoc3RhdGUtPmR1 dHlfY3ljbGUgIT0gYy5kdXR5X2N5Y2xlKSB7Cj4gPiA+ICsgICAgICAgICAgICAgLyoKPiA+ID4g KyAgICAgICAgICAgICAgKiBzZXQgY2hhbm5lbCB2YWx1ZToKPiA+ID4gKyAgICAgICAgICAgICAg KiBpZiB0aGUgUFdNIGlzIGRpc2FibGVkIChDTU9EWzE6MF0gPSAyYjAwKSwgdGhlbiBDblYgcmVn aXN0ZXIKPiA+ID4gKyAgICAgICAgICAgICAgKiBpcyB1cGRhdGVkIHdoZW4gQ25WIHJlZ2lzdGVy IGlzIHdyaXR0ZW4uCj4gPiA+ICsgICAgICAgICAgICAgICoKPiA+ID4gKyAgICAgICAgICAgICAg KiBpZiB0aGUgUFdNIGlzIGVuYWJsZWQgKENNT0RbMTowXSDiiaAgMmIwMCksIHRoZSBkdXR5IGxl bmd0aAo+ID4gPiArICAgICAgICAgICAgICAqIGlzIGxhdGNoZWQgaW50byBoYXJkd2FyZSB3aGVu IHRoZSBuZXh0IHBlcmlvZCBzdGFydHMuCj4gPiA+ICsgICAgICAgICAgICAgICovCj4gPiA+ICsg ICAgICAgICAgICAgd3JpdGVsKHAtPnZhbCwgdHBtLT5iYXNlICsgUFdNX0lNWF9UUE1fQ25WKHB3 bS0+aHdwd20pKTsKPiA+ID4gKyAgICAgICAgICAgICBkdXR5X3VwZGF0ZSA9IHRydWU7Cj4gPiA+ ICsgICAgIH0KPiA+ID4gKwo+ID4gPiArICAgICAvKiBtYWtlIHN1cmUgTU9EICYgQ25WIHJlZ2lz dGVycyBhcmUgdXBkYXRlZCAqLwo+ID4gPiArICAgICBpZiAocGVyaW9kX3VwZGF0ZSB8fCBkdXR5 X3VwZGF0ZSkgewo+ID4gPiArICAgICAgICAgICAgIHRpbWVvdXQgPSBqaWZmaWVzICsgbXNlY3Nf dG9famlmZmllcyh0cG0tPnJlYWxfcGVyaW9kIC8KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlNFQ19QRVJfTVNFQyArIDEpOwo+ID4gPiAr ICAgICAgICAgICAgIHdoaWxlIChyZWFkbCh0cG0tPmJhc2UgKyBQV01fSU1YX1RQTV9NT0QpICE9 IHAtPm1vZAo+ID4gPiArICAgICAgICAgICAgICAgICAgICB8fCByZWFkbCh0cG0tPmJhc2UgKyBQ V01fSU1YX1RQTV9DblYocHdtLT5od3B3bSkpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICE9 IHAtPnZhbCkgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWVfYWZ0ZXIoamlm ZmllcywgdGltZW91dCkpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVy biAtRVRJTUU7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBjcHVfcmVsYXgoKTsKPiA+ID4g KyAgICAgICAgICAgICB9Cj4gPiA+ICsgICAgIH0KPiA+IAo+ID4gSWYgdGhlIFBXTSBpcyBydW5u aW5nIHlvdSB3YWl0IGluIHRoZSBhYm92ZSBsb29wIHVudGlsIHRoZSBuZXcgdmFsdWVzIGFyZQo+ ID4gYWN0aXZlIGJ1dCBiZWZvcmUgeW91IGNvbmZpZ3VyZSB0aGUgcGVyaW9kLiBJIHRoaW5rIGlu IHRoZSBjYXNlIHdoZXJlIHRoZQo+ID4gUFdNIGlzIGFjdGl2ZSBhbmQgYSBjaGFuZ2Ugb2YgcG9s YXJpdHkgaXMgcmVxdWVzdGVkIGl0IHdvdWxkIGJlIG1vcmUgY29ycmVjdAo+ID4gdG8gcmVmdXNl IHRoZSBjaGFuZ2UuCj4gCj4gTm90IHZlcnkgdW5kZXJzdGFuZCwgdGhlIHBlcmlvZCBpcyBjaGFu Z2VkIGF0IHRoZSBiZWdpbm5pbmcsIGFuZCBtb3N0IG9mIHRoZSB0aW1lLAo+IHBlcmlvZCBzaG91 bGQgYmUgZml4ZWQsIGNoYW5naW5nIHBvbGFyaXR5IHNob3VsZCBiZSBhbGxvd2VkIGV2ZW4gUFdN IGlzIGFjdGl2ZT8KCkNoYW5naW5nIHBvbGFyaXR5IHNob3VsZCBiZSBhdG9taWMgKHRoYXQgaXMs IGdldCBhY3RpdmUgd2l0aCB0aGUgbmV4dApwZXJpb2QncyBzdGFydCkuIEFzIHRoZSBoYXJkd2Fy ZSBkb2Vzbid0IHN1cHBvcnQgdGhhdCwgY2xhaW1pbmcgaXQgZG9lcwppcyBhIGJhZCBpZGVhLgoK PiBUaGF0IGRvZXMgTk9UIGludHJvZHVjZSB0b28gbWFueSB0cm91YmxlLCBpcyBpdCBhIGNvbW1v biBjYXNlIHRoYXQgZHluYW1pYyBjaGFuZ2luZwo+IHBvbGFyaXR5IGlzIE5PVCBnb29kPyAKPiAK PiAKPiA+IAo+ID4gPiArICAgICB2YWwgPSByZWFkbCh0cG0tPmJhc2UgKyBQV01fSU1YX1RQTV9D blNDKHB3bS0+aHdwd20pKTsKPiA+ID4gKyAgICAgdmFsICY9IH4oUFdNX0lNWF9UUE1fQ25TQ19F TFMgfCBQV01fSU1YX1RQTV9DblNDX01TQSB8Cj4gPiA+ICsgICAgICAgICAgICAgIFBXTV9JTVhf VFBNX0NuU0NfTVNCKTsKPiA+ID4gKyAgICAgaWYgKHN0YXRlLT5lbmFibGVkKSB7Cj4gPiA+ICsg ICAgICAgICAgICAgLyoKPiA+ID4gKyAgICAgICAgICAgICAgKiBzZXQgcG9sYXJpdHkgKGZvciBl ZGdlLWFsaWduZWQgUFdNIG1vZGVzKQo+ID4gPiArICAgICAgICAgICAgICAqCj4gPiA+ICsgICAg ICAgICAgICAgICogRUxTWzE6MF0gPSAyYjEwIHlpZWxkcyBub3JtYWwgcG9sYXJpdHkgYmVoYXZp b3VyLAo+ID4gPiArICAgICAgICAgICAgICAqIEVMU1sxOjBdID0gMmIwMSB5aWVsZHMgaW52ZXJz ZWQgcG9sYXJpdHkuCj4gPiA+ICsgICAgICAgICAgICAgICogVGhlIG90aGVyIHZhbHVlcyBhcmUg cmVzZXJ2ZWQuCj4gPiA+ICsgICAgICAgICAgICAgICoKPiA+ID4gKyAgICAgICAgICAgICAgKiBw b2xhcml0eSBzZXR0aW5ncyB3aWxsIGVuYWJsZWQvZGlzYWJsZSBvdXRwdXQgc3RhdHVzCj4gPiA+ ICsgICAgICAgICAgICAgICogaW1tZWRpYXRlbHksIHNvIGlmIHRoZSBjaGFubmVsIGlzIGRpc2Fi bGVkLCBuZWVkIHRvCj4gPiA+ICsgICAgICAgICAgICAgICogbWFrZSBzdXJlIE1TQS9NU0IvRUxT IGFyZSBzZXQgdG8gMCB3aGljaCBtZWFucyBjaGFubmVsCj4gPiA+ICsgICAgICAgICAgICAgICog ZGlzYWJsZWQuCj4gPiAKPiA+IEkgZG9uJ3QgdW5kZXJzdGFuZCB0aGlzIGNvbW1lbnQuIEVpdGhl ciBFTFMgPSAwIGlzIHJlc2VydmVkIG9yIGl0IGNhbiBiZSB1c2VkLgo+ID4gV2hhdCBpcyBhbiBv dXRwdXQgc3RhdHVzPwo+IAo+IFRoZSByZWZlcmVuY2UgbWFudWFsIE9OTFkgc3RhdGVzIGl0IGFz IHJlc2VydmVkLCBzbyBob3cgdG8gYWRkIGNvbW1lbnRzIGhlcmU/CgpUaGUgcHJvYmxlbSBtaWdo dCBqdXN0IGJlLCB0aGF0IEkgZG9uJ3QgZ2V0IHdoYXQgeW91IGludGVuZCB0byBzYXkgaW4KdGhl IGxhc3QgcGFyYWdyYXBoLgoKQmVzdCByZWdhcmRzClV3ZQoKLS0gClBlbmd1dHJvbml4IGUuSy4g ICAgICAgICAgICAgICAgICAgICAgICAgICB8IFV3ZSBLbGVpbmUtS8O2bmlnICAgICAgICAgICAg fApJbmR1c3RyaWFsIExpbnV4IFNvbHV0aW9ucyAgICAgICAgICAgICAgICAgfCBodHRwOi8vd3d3 LnBlbmd1dHJvbml4LmRlLyAgfAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=