From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] ASoC: Intel: Power down links before turning off display audio power Date: Wed, 27 Jun 2018 11:34:28 +0200 Message-ID: References: <20180625085348.GA30506@intel.com> <20180625092316.GA13073@intel.com> <20180625145112.GA14734@intel.com> <20180626112401.GA3093@intel.com> <20180627083535.GA24302@intel.com> <20180627091755.GA24539@intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id DD4252677C9 for ; Wed, 27 Jun 2018 11:34:28 +0200 (CEST) In-Reply-To: <20180627091755.GA24539@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: Sriram Periyasamy Cc: ALSA ML , Patches Audio , Pierre-Louis Bossart , Liam Girdwood , Mark Brown , Sanyog Kale List-Id: alsa-devel@alsa-project.org T24gV2VkLCAyNyBKdW4gMjAxOCAxMToxNzo1NSArMDIwMCwKU3JpcmFtIFBlcml5YXNhbXkgd3Jv dGU6Cj4gCj4gT24gV2VkLCBKdW4gMjcsIDIwMTggYXQgMTA6NDg6MDVBTSArMDIwMCwgVGFrYXNo aSBJd2FpIHdyb3RlOgo+ID4gT24gV2VkLCAyNyBKdW4gMjAxOCAxMDozNTozNSArMDIwMCwKPiA+ IFNyaXJhbSBQZXJpeWFzYW15IHdyb3RlOgo+ID4gPiAKPiA+ID4gT24gVHVlLCBKdW4gMjYsIDIw MTggYXQgMDE6MzM6MzZQTSArMDIwMCwgVGFrYXNoaSBJd2FpIHdyb3RlOgo+ID4gPiA+IE9uIFR1 ZSwgMjYgSnVuIDIwMTggMTM6MjQ6MDEgKzAyMDAsCj4gPiA+ID4gU3JpcmFtIFBlcml5YXNhbXkg d3JvdGU6Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IE9uIE1vbiwgSnVuIDI1LCAyMDE4IGF0IDA1OjE4 OjI3UE0gKzAyMDAsIFRha2FzaGkgSXdhaSB3cm90ZToKPiA+ID4gPiA+ID4gT24gTW9uLCAyNSBK dW4gMjAxOCAxNjo1MToxMiArMDIwMCwKPiA+ID4gPiA+ID4gU3JpcmFtIFBlcml5YXNhbXkgd3Jv dGU6Cj4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gT24gTW9uLCBKdW4gMjUsIDIwMTggYXQg MTE6NTM6NTlBTSArMDIwMCwgVGFrYXNoaSBJd2FpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gT24g TW9uLCAyNSBKdW4gMjAxOCAxMToyMzoxNyArMDIwMCwKPiA+ID4gPiA+ID4gPiA+IFNyaXJhbSBQ ZXJpeWFzYW15IHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gT24g TW9uLCBKdW4gMjUsIDIwMTggYXQgMTE6MDg6MTNBTSArMDIwMCwgVGFrYXNoaSBJd2FpIHdyb3Rl Ogo+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIE1vbiwgMjUgSnVuIDIwMTggMTA6NTM6NDkgKzAyMDAs Cj4gPiA+ID4gPiA+ID4gPiA+ID4gU3JpcmFtIFBlcml5YXNhbXkgd3JvdGU6Cj4gPiA+ID4gPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIEZyaSwgSnVuIDIyLCAyMDE4IGF0 IDA3OjE0OjUwUE0gKzAyMDAsIFRha2FzaGkgSXdhaSB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gT24gRnJpLCAyMiBKdW4gMjAxOCAxODo0MjoyNCArMDIwMCwKPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gUGllcnJlLUxvdWlzIEJvc3NhcnQgd3JvdGU6Cj4gPiA+ID4gPiA+ID4gPiA+ID4g PiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gT24gNi8yMi8xOCA0OjI1IEFNLCBTcmly YW0gUGVyaXlhc2FteSB3cm90ZToKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IE9uIGNlcnRh aW4gcGxhdGZvcm1zLCBEaXNwbGF5IEhETUkgSERBIGNvZGVjIHdhcyBub3QgZ29pbmcgdG8gc2xl ZXAgc3RhdGUKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IGFmdGVyIHRoZSB1c2Ugd2hlbiBs aW5rcyBhcmUgcG93ZXJlZCBkb3duIGFmdGVyIHR1cm5pbmcgb2ZmIHRoZSBkaXNwbGF5Cj4gPiA+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBwb3dlci4gQXMgcGVyIHRoZSBIVyByZWNvbW1lbmRhdGlv biwgbGlua3MgYXJlIHBvd2VyZWQgZG93biBiZWZvcmUgdHVybmluZwo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+ID4gb2ZmIHRoZSBkaXNwbGF5IHBvd2VyIHRvIGVuc3VyZSB0aGF0IHRoZSBjb2Rl YyBnb2VzIHRvIHNsZWVwIHN0YXRlLgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ ID4gPiA+ID4gPiA+ID4gPiA+IFRoZSBjaGFuZ2UgbG9va3Mgb2ssIEkgYW0gc3RpbGwgbm90IGNs ZWFyIG9uIGRpc3BsYXkgcG93ZXIKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBtYW5hZ2VtZW50 LiBzbmRfaGRhY19kaXNwbGF5X3Bvd2VyIGlzIGNhbGxlZCBib3RoIGZyb20gaGRhY19oZG1pLmMg YW5kCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gc2tsLmMgaW4gdGhlIHJlc3BlY3RpdmUgcHJv YmUvc3VzcGVuZC9yZXN1bWUgcm91dGluZXMsIHdvbmRlcmluZyBpZgo+ID4gPiA+ID4gPiA+ID4g PiA+ID4gPiA+IHRoaXMgaXMgcmVkdW5kYW50IG9yIGludGVudGlvbmFsLgo+ID4gPiA+ID4gPiA+ ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4gPiA+ID4gWWVhaCwgaXQgbG9va3MgbGlrZSB0 aGF0IHNrbC5jIGtlZXBzIHRoZSBkaXNwbGF5IHBvd2VyIG9uIGJ5IGFzc3VtaW5nCj4gPiA+ID4g PiA+ID4gPiA+ID4gPiA+IHRoYXQgaXQncyB0dXJuZWQgb2ZmIGJ5IHRoZSBjb2RlYyBkcml2ZXIs IGJ1dCBpdCBkb2Vzbid0IGhhcHBlbgo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gPiBhY3R1YWxseS4g IEkgYWxzbyBmaW5kIGl0IGZpc2h5IHRoZXJlLi4uCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiBzbmRfaGRhY19kaXNw bGF5X3Bvd2VyIGlzIGNhbGxlZCBpbnRlbnRpb25hbGx5IHRvIGVuc3VyZSB0aGF0IHRoZSBjb2Rl YyBpcwo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gcG93ZXJlZCB1cCBiZWZvcmUgYW55IGNvbW11bmlj YXRpb24gaXMgaW5pdGlhdGVkIGZyb20gZWl0aGVyIHNrbC5jIG9yCj4gPiA+ID4gPiA+ID4gPiA+ ID4gPiBoZGFjX2hkbWkuYy4KPiA+ID4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiA+ID4g PiBCdXQgd2hvIHR1cm5zIGl0IGRvd24gaWYgdGhlIGRldmljZSBpcyBub3QgdXNlZD8KPiA+ID4g PiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiA+IFBvd2VyaW5nIGRvd24gb2YgY29kZWMgaXMg dGFrZW4gY2FyZSBpbiBjb2RlYydzIHN1c3BlbmQgcm91dGluZS4KPiA+ID4gPiA+ID4gPiA+IAo+ ID4gPiA+ID4gPiA+ID4gQnV0IHlvdSdsbCBwb3dlciB1cCB0d2ljZSwgbm8/ICBPbmNlIGluIHNr bF9yZXN1bWUoKSAod2hpY2ggaXMgbm8KPiA+ID4gPiA+ID4gPiA+IHJ1bnRpbWUgcmVzdW1lIGJ1 dCBvbmx5IGZvciBTMy9TNCkgYW5kIG9uY2UgaW4gY29kZWMgcmVzdW1lLgo+ID4gPiA+ID4gPiA+ ID4gSSB3b25kZXIgd2hvIHdpbGwgdHVybiBkb3duIHdoZW4geW91IHdha2UgdXAgZnJvbSBTMy4K PiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBOby4gV2hlbiBlbnRlcmluZyB0byBTMywgaGRt aV9jb2RlY19wcmVwYXJlKCkgd2lsbCBpbnZva2UgdGhlIHJ1bnRpbWUKPiA+ID4gPiA+ID4gPiBy ZXN1bWUgb2YgY29kZWMgaGRhY19oZG1pX3J1bnRpbWVfcmVzdW1lKCkgd2hpY2ggcG93ZXIgdXAg dGhlIGNvZGVjIGFuZAo+ID4gPiA+ID4gPiA+IHNrbF9zdXNwZW5kIHBvd2VyIGRvd24gdGhlIGNv ZGVjLiBXaGVuIGl0IHdha2VzIHVwIGZyb20gUzMsIHNrbF9yZXN1bWUoKQo+ID4gPiA+ID4gPiA+ IHBvd2VycyB1cCB0aGUgY29kZWMgYW5kIGhkbWlfY29kZWNfY29tcGxldGUgaW52b2tlcyB0aGUg cnVudGltZSBzdXNwZW5kIG9mCj4gPiA+ID4gPiA+ID4gY29kZWMgaGRhY19oZG1pX3J1bnRpbWVf c3VzcGVuZCgpIHdoaWNoIHBvd2VycyBkb3duIHRoZSBjb2RlYy4KPiA+ID4gPiA+ID4gCj4gPiA+ ID4gPiA+IEhtLCBidXQgd2hhdCBhYm91dCB0aGUgaTkxNSBwb3dlciB3ZWxsIHJlZmNvdW50LCBu b3QgdGhlIGNvZGVjIHJ1bnRpbWUKPiA+ID4gPiA+ID4gUE0gcmVmY291bnQ/ICBEb2VzIHRoZSBy ZWZjb3VudCByZWFjaCB0byB6ZXJvIHdoZW4gdGhlIHN5c3RlbSBnb2VzIHRvCj4gPiA+ID4gPiA+ IHJ1bnRpbWUgc3VzcGVuZD8gIFRoYXQgcHV6emxlcyBtZS4KPiA+ID4gPiA+ID4gCj4gPiA+ID4g PiAKPiA+ID4gPiA+IFllcywgaTkxNSBwb3dlciB3ZWxsIHJlZmNvdW50IGdvZXMgdG8gemVybyB3 aGVuIHN5c3RlbSBnb2VzIHRvIHJ1bnRpbWUKPiA+ID4gPiA+IHN1c3BlbmQuIFRoZSB2YWx1ZSBv ZiBidXMtPmk5MTVfcG93ZXJfcmVmY291bnQgaW4gc25kX2hkYWNfZGlzcGxheV9wb3dlcgo+ID4g PiA+ID4gaXMgemVyby4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+IFRoaXMgZGVzaWduIGlzIHJl cXVpcmVkIHRvIGFjaGlldmUgdGhlIHJ1bnRpbWUgcG93ZXIgcmVmZXJlbmNlIGNvdW50IGZvcgo+ ID4gPiA+ID4gPiA+IGNvZGVjIGRldmljZSB3aGVuIGl0IGlzIHB1dCB0byBTMy9TNCB3aGlsZSBw bGF5YmFjayB3YXMgZ29pbmcgb24uCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiAuLi4gYW5kIHRo aXMgImRlc2lnbiIgcGljdHVyZSBpcyBjb21wbGV0ZWx5IG1pc3NpbmcuCj4gPiA+ID4gPiA+IFRo YXQncyB3aHkgaWxsdXN0cmF0aW5nIGl0IHdhcyByZXF1ZXN0ZWQgaW5zdGVhZCBvZiBhIHBhdGNo IDopCj4gPiA+ID4gPiA+IAo+ID4gPiA+ID4gPiA+ID4gIFRoZSBydW50aW1lCj4gPiA+ID4gPiA+ ID4gPiBzdXNwZW5kIGRvZXNuJ3QgY2FsbCBzbmRfaGRhY19kaXNwbGF5X3Bvd2VyKCkgaW4gc2ts LmMuCj4gPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBEaXNwbGF5 IHBvd2VyIG1hbmFnZW1lbnQgZm9yIGFsbCBydW50aW1lIHVzZXMgY2FzZXMgYXJlIGhhbmRsZWQg aW4gdGhlCj4gPiA+ID4gPiA+ID4gY29kZWMgZHJpdmVyIGhkYWNfaGRtaS5jLgo+ID4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gQnV0IGl0IG1lYW5zIHRoYXQgaGRhY19oZG1pLmMgZG9lcyBtYW5hZ2Ug dGhlIGV4dHJhIGRlY3JlbWVudCB0aGUKPiA+ID4gPiA+ID4gcmVmY291bnQgdGhhdCB3YXMgdGFr ZW4gaW4gc2tsLmM/Cj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IE5vLCBzbmRfaGRh Y19kaXNwbGF5X3Bvd2VyIGlzIGludm9rZWQgaW4gc2tsLmMgZm9yIHRoZSBmb2xsb3dpbmcgY2Fz ZXMsCj4gPiA+ID4gPiAKPiA+ID4gPiA+IHNrbF9wcm9iZV93b3JrIC0gZGlzcGxheSBwb3dlciBv biwgZW51bXVyYXRlIHRoZSBjb2RlYyBhbmQgZGlzcGxheSBwb3dlcgo+ID4gPiA+ID4gICAgICAg ICAgICAgICAgICBvZmYKPiA+ID4gPiA+IHNrbF9zdXNwZW5kICYgc2tsX3Jlc3VtZSAtIGRpc3Bs YXkgcG93ZXIgb2ZmL29uIGZvciBTMy9TMCBjeWNsZSAKPiA+ID4gPiA+IAkgICAgICAgICAgICAg ICAgICAgcmVzcGVjdGl2ZWx5Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IHNuZF9oZGFjX2Rpc3BsYXlf cG93ZXIgaXMgaW52b2tlZCBpbiBoZGFjX2hkbWkuYyBmb3IgdGhlIGZvbGxvd2luZyBjYXNlcywK PiA+ID4gPiA+IAo+ID4gPiA+ID4gaGRhY19oZG1pX2Rldl9wcm9iZSAtIGRpc3BsYXkgcG93ZXIg b24sIHByb2JlIHRoZSBkZXZpY2UgYW5kIHB1dCB0aGUKPiA+ID4gPiA+IAkJICAgICAgZGV2aWNl IHRvIHJ1bnRpbWUgc3VzcGVuZCBleHBsaWNpdGx5Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IHJ1bnRp bWUgc3VzcGVuZCAmIHJlc3VtZSAtIGRpc3BsYXkgcG93ZXIgb2ZmIGFuZCBvbiByZXNwZWN0aXZl bHkKPiA+ID4gPiAKPiA+ID4gPiBUaGF0IHB1enpsZWQgbWUuICBIb3cgZG9lcyBkaXNwbGF5IHJl ZmNvdW50IGdvZXMgdG8gemVybyBhdCBydW50aW1lCj4gPiA+ID4gc3VzcGVuZCBvZiBza2w/ICBz a2xfc3VzcGVuZCgpIGlzIG9ubHkgZm9yIFMzLCBub3QgZm9yIHJ1bnRpbWUgUE0uCj4gPiA+ID4g Cj4gPiA+IAo+ID4gPiBSdW50aW1lIHN1c3BlbmQgYW5kIHJlc3VtZSBvZiBza3lsYWtlIGRvZXNu 4oCZdCBwZXJmb3JtIHJlZmVyZW5jZSBjb3VudGluZwo+ID4gPiBvZiBkaXNwbGF5LiBGb3IgYW4g SERNSSBwbGF5YmFjayBzdHJlYW0sIGJlbG93IGlzIHRoZSBzZXF1ZW5jZS4KPiA+ID4gCj4gPiA+ IE9wZW46Cj4gPiA+IDEuIHNreWxha2UgcnVudGltZSByZXN1bWUKPiA+ID4gMi4gaGRhY19oZG1p IHJ1bnRpbWUgcmVzdW1lIC0tPiByZWYgY291bnQgaXMgaW5jcmVtZW50ZWQKPiA+ID4gCj4gPiA+ IENsb3NlOgo+ID4gPiAxLiBoZGFjX2hkbWkgcnVudGltZSBzdXNwZW5kIC0tPiByZWYgY291bnQg aXMgZGVjcmVtZW50ZWQKPiA+ID4gMi4gc2t5bGFrZSBydW50aW1lIHN1c3BlbmQKPiA+ID4gCj4g PiA+ID4gU3VwcG9zZSB5b3UgcHJvYmUgc2tsLCBoZGFjX2hkbWksIHRoZW4gZG8gcnVudGltZSBz dXNwZW5kIGhkYWNfaGRtaQo+ID4gPiA+IGFuZCBza2wgcmVzcGVjdGl2ZWx5LiAgSG93IGRvZXMg dGhlIGRpc3BsYXkgcG0gcmVmY291bnQgZ28gdG8gemVybz8KPiA+ID4gPgo+ID4gPiAKPiA+ID4g SW4gc2t5bGFrZSBwcm9iZSwgdGhlIGRpc3BsYXkgcmVmIGNvdW50IGlzIGluY3JlbWVudGVkIGF0 IHN0YXJ0IG9mIHByb2JlCj4gPiA+IGFuZCBkZWNyZW1lbnRlZCBhdCBlbmQgb2YgcHJvYmUuIFRo ZSByZWYgY291bnQgZGVjcmVtZW50IGlzIG5vdAo+ID4gPiBwZXJmb3JtZWQgaW4gc2t5bGFrZSBy dW50aW1lIHN1c3BlbmQuIEluIGhkYWNfaGRtaSBwcm9iZSwgdGhlIGRpc3BsYXkKPiA+ID4gcmVm Y291bnQgaXMgaW5jcmVtZW50ZWQgaW4gcHJvYmUsIGFuZCBkZWNyZW1lbnRlZCBpbiBoZGFjX2hk bWkgcnVudGltZQo+ID4gPiBzdXNwZW5kLgo+ID4gCj4gPiBXZWxsLCB0aGUgZGlzcGxheSByZWZj b3VudCBpcyBpbmNyZW1lbnRlZCBpbiBTMyByZXN1bWUgaW4gc2tsLmMuCj4gPiBXaG8gZGVjcmVt ZW50cyBpdCBhdCBydW50aW1lIHN1c3BlbmQ/Cj4gPgo+IAo+IEl0IGlzIGRlY3JlbWVudGVkIGF0 IHJ1bnRpbWUgc3VzcGVuZCBvZiBjb2RlYyBoZGFjX2hkbWlfcnVudGltZV9zdXNwZW5kKCkuCj4g QmVsb3cgYXJlIHNlcXVlbmNlLAo+IAo+IFMzIGN5Y2xlIHdpdGhvdXQgcGxheWJhY2sgZ29pbmcg b24sCj4gCj4gRW50ZXJpbmcgUzMsCj4gCj4gMS4gaGRtaV9jb2RlY19wcmVwYXJlKCkgaW52b2tl IHRoZSBydW50aW1lIHJlc3VtZSBvZiBjb2RlYwo+IDIuIGhkYWNfaGRtaV9ydW50aW1lX3Jlc3Vt ZSgpIC0tPiBpbmNyZW1lbnRzIHRoZSByZWZjb3VudCAKPiAzLiBza2xfc3VzcGVuZCgpIC0tID4g ZGVjcmVtZW50cyB0aGUgcmVmY291bnQKPiAKPiBXYWtlIHVwIGZyb20gUzMsCj4gCj4gMS4gc2ts X3Jlc3VtZSgpIC0tPiBpbmNyZW1lbnRzIHRoZSByZWZjb3VudCAKPiAyLiBoZG1pX2NvZGVjX2Nv bXBsZXRlKCkgaW52b2tlcyB0aGUgcnVudGltZSBzdXNwZW5kIG9mIGNvZGVjIAo+IDMuIGhkYWNf aGRtaV9ydW50aW1lX3N1c3BlbmQoKSAtLSA+IGRlY3JlbWVudHMgdGhlIHJlZmNvdW50CgpTbyB5 b3UncmUgY2FsbGluZyB0aGUgcnVudGltZSBzdXNwZW5kIGV2ZW4gdGhvdWdoIGl0J3Mgbm90IHJ1 bnRpbWUKcmVzdW1lZD8gIFRoYXQgY29uZnVzZXMgcmVhZGVycyBhbmQgbmVlZHMgYSBjbGVhciBl eHBsYW5hdGlvbgpzb21ld2hlcmUgaW4gdGhlIGNvZGUuCgpBbmQgd2hhdCdzIHRoZSBjYXNlIGlm IG11bHRpcGxlIGNvZGVjcyBhcmUgcHJlc2VudD8KCgpUYWthc2hpCgo+IFMzIGN5Y2xlIHdpdGgg cGxheWJhY2sgZ29pbmcgb24gd2hlcmUgdGhlIGRldmljZSBpcyBydW50aW1lIGFjdGl2ZSBhcyB0 aGUKPiBzZXF1ZW5jZSBtZW50aW9uZWQgYWJvdmUgYW5kIHJlZmNvdW50IGlzIDEgYWxyZWFkeSwK PiAKPiBFbnRlcmluZyBTMywKPiAKPiAxLiBoZG1pX2NvZGVjX3ByZXBhcmUoKSBpbnZva2UgdGhl IHJ1bnRpbWUgcmVzdW1lIG9mIGNvZGVjIHdoaWNoIGp1c3QKPiBpbmNyZW1lbnRzIHRoZSBwbSBy dW50aW1lIHVzYWdlIGNvdW50IG9mIHRoZSBjb2RlYwo+IDIuIHNrbF9zdXNwZW5kKCkgLS0gPiBk ZWNyZW1lbnRzIHRoZSByZWZjb3VudAo+IAo+IFdha2UgdXAgZnJvbSBTMywKPiAKPiAxLiBza2xf cmVzdW1lKCkgLS0+IGluY3JlbWVudHMgdGhlIHJlZmNvdW50IAo+IDIuIGhkbWlfY29kZWNfY29t cGxldGUoKSBpbnZva2VzIHRoZSBydW50aW1lIHN1c3BlbmQgb2YgY29kZWMgd2hpY2gganVzdAo+ IGRlY3JlbWVudHMgdGhlIHBtIHJ1bnRpbWUgdXNhZ2UgY291bnQgb2YgdGhlIGNvZGVjCj4gCj4g T25jZSBwbGF5YmFjayBpcyBzdG9wcGVkLCB0aGUgcmVmY291bnQgYmFjayB0byAwLgo+IAo+IFRo YW5rcywKPiBTcmlyYW0uCj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkFsc2EtZGV2ZWwgbWFpbGluZyBsaXN0CkFsc2EtZGV2ZWxAYWxzYS1wcm9qZWN0 Lm9yZwpodHRwOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vYWxz YS1kZXZlbAo=