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=-2.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 B1D0BC35254 for ; Mon, 17 Feb 2020 12:10:52 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (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 3FDA320725 for ; Mon, 17 Feb 2020 12:10:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="cfXAecBY"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ti.com header.i=@ti.com header.b="qmbrv+Er" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3FDA320725 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=ti.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 9DB191607; Mon, 17 Feb 2020 13:10:00 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 9DB191607 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1581941450; bh=Sa9IJWDkvICauptzc0AP40aR4kyys/WIDryQnEKs+/0=; h=To:References:From:Date:In-Reply-To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=cfXAecBYWIF7A/za9DOP4L0pXAVO0vQOE50PYlV9iWYiJOhs1VVAA9XPGU3lsesxx qfl7Z2U656dv9/vcbHVbSgnU44quOd63cZJ4doN3VeHAdh/hOnc4fi6n7xh+W323o8 Gx+92GpeOcVnYlOqjEs8gK0vQdP8LzeBxNdufLjE= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 31938F8015E; Mon, 17 Feb 2020 13:10:00 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id A6E82F80172; Mon, 17 Feb 2020 13:09:58 +0100 (CET) Received: from fllv0016.ext.ti.com (fllv0016.ext.ti.com [198.47.19.142]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id E81E4F80096 for ; Mon, 17 Feb 2020 13:09:52 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz E81E4F80096 Authentication-Results: alsa1.perex.cz; dkim=pass (1024-bit key) header.d=ti.com header.i=@ti.com header.b="qmbrv+Er" Received: from fllv0035.itg.ti.com ([10.64.41.0]) by fllv0016.ext.ti.com (8.15.2/8.15.2) with ESMTP id 01HC9opQ078984; Mon, 17 Feb 2020 06:09:50 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com; s=ti-com-17Q1; t=1581941390; bh=5RdcTPY1/TNCyHkqGcLmh6974mxbJWb+KCZa1FCYArA=; h=Subject:To:CC:References:From:Date:In-Reply-To; b=qmbrv+ErtksY64o0zYfZ3d9OL5erxqzCHJLw+0m7JzGsaZBMEaZTVEkfukCWmzMAl Mgu5VJssiYm/Z8xkjk22qpQo6vzvv1OJJe1Ix3zp2OEOnfI45pe25sOJA4uxBGKXQb bsDC9X5Fs7LeviHIqEkpPQVYDqLv/36yfTyrr7Vo= Received: from DFLE113.ent.ti.com (dfle113.ent.ti.com [10.64.6.34]) by fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTP id 01HC9oPb128197; Mon, 17 Feb 2020 06:09:50 -0600 Received: from DFLE110.ent.ti.com (10.64.6.31) by DFLE113.ent.ti.com (10.64.6.34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3; Mon, 17 Feb 2020 06:09:50 -0600 Received: from fllv0040.itg.ti.com (10.64.41.20) by DFLE110.ent.ti.com (10.64.6.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1847.3 via Frontend Transport; Mon, 17 Feb 2020 06:09:50 -0600 Received: from [192.168.2.6] (ileax41-snat.itg.ti.com [10.172.224.153]) by fllv0040.itg.ti.com (8.15.2/8.15.2) with ESMTP id 01HC9kus066148; Mon, 17 Feb 2020 06:09:47 -0600 To: Tony Lindgren References: <20200211171645.41990-1-tony@atomide.com> <20200212143543.GI64767@atomide.com> <346dfd2b-23f8-87e0-6f45-27a5099b1066@ti.com> <20200214170322.GZ64767@atomide.com> From: Peter Ujfalusi Message-ID: Date: Mon, 17 Feb 2020 14:09:54 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <20200214170322.GZ64767@atomide.com> Content-Language: en-US X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Cc: alsa-devel@alsa-project.org, linux-omap@vger.kernel.org, Kuninori Morimoto , Aaro Koskinen , linux-kernel@vger.kernel.org, Merlijn Wajer , Takashi Iwai , Liam Girdwood , Mark Brown , Pavel Machek , Sebastian Reichel , "Arthur D ." , Jarkko Nikula Subject: Re: [alsa-devel] [PATCH] ASoC: ti: Allocate dais dynamically for TDM and audio graph card X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" SGkgVG9ueSwKCk9uIDE0LzAyLzIwMjAgMTkuMDMsIFRvbnkgTGluZGdyZW4gd3JvdGU6Cj4gKiBQ ZXRlciBVamZhbHVzaSA8cGV0ZXIudWpmYWx1c2lAdGkuY29tPiBbMjAwMjE0IDEyOjQyXToKPj4g SGkgVG9ueSwKPj4KPj4gT24gMTIvMDIvMjAyMCAxNi4zNSwgVG9ueSBMaW5kZ3JlbiB3cm90ZToK Pj4+ICogUGV0ZXIgVWpmYWx1c2kgPHBldGVyLnVqZmFsdXNpQHRpLmNvbT4gWzIwMDIxMiAwODow Ml06Cj4+Pj4KPj4+Pgo+Pj4+IE9uIDExLzAyLzIwMjAgMTkuMTYsIFRvbnkgTGluZGdyZW4gd3Jv dGU6Cj4+Pj4+IFdlIGNhbiBoYXZlIG11bHRpcGxlIGNvbm5lY3Rpb25zIG9uIGEgc2luZ2xlIE1j QlNQIGluc3RhbmNlIGNvbmZpZ3VyZWQKPj4+Pj4gd2l0aCBhdWRpbyBncmFwaCBjYXJkIHdoZW4g dXNpbmcgVERNIChUaW1lIERpdmlzaW9uIE11bHRpcGxleGluZykuIExldCdzCj4+Pj4+IGFsbG93 IHRoYXQgYnkgY29uZmlndXJpbmcgZGFpcyBkeW5hbWljYWxseS4KPj4+Pgo+Pj4+IEl0IGlzIHN0 aWxsIG9uZSBEQUkuLi4KPj4+PiBJZiB5b3UgaGF2ZSBtdWx0aXBsZSBjb2RlYyBjb25uZWN0ZWQg dG8gdGhlIHNhbWUgSTJTIGxpbmVzLCBidXQgdGhlCj4+Pj4gY29kZWNzIGNvbW11bmljYXRlIHdp dGhpbiBkaWZmZXJlbnQgdGltZSBzbG90cywgeW91IHN0aWxsIGhhdmUgb25lIERBSQo+Pj4+IG9u IHRoZSBDUFUgc2lkZSwgYnV0IG11bHRpcGxlIGNvZGVjcyAoY29kZWMgREFJcykgd2l0aCBkaWZm ZXJlbnQgVERNIHNsb3QuCj4+Pgo+Pj4gT0sgc28gc3ViamVjdCBzaG91bGQgc2F5ICJkb2RlYyBE QUlzIiB0aGVuIEkgZ3Vlc3M/Cj4+Pgo+Pj4+PiBTZWUgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVl L2JpbmRpbmdzL3NvdW5kL2F1ZGlvLWdyYXBoLWNhcmQudHh0IGFuZAo+Pj4+PiBEb2N1bWVudGF0 aW9uL2RldmljZXRyZWUvYmluZGluZ3MvZ3JhcGgudHh0IGZvciBtb3JlIGRldGFpbHMgZm9yCj4+ Pj4+IG11bHRpcGxlIGVuZHBvaW50cy4KPj4+Pgo+Pj4+IFNlZSB0aGUgZXhhbXBsZSBmb3IgJ011 bHRpIERBSSB3aXRoIERQQ00nIGluIGF1ZGlvLWdyYXBoLWNhcmQudHh0Cj4+Pj4gVGhlIFBDTTMx NjhhIGhhdmUgMiBEQUlzOiBwbGF5YmFjayBhbmQgY2FwdHVyZSwgYnV0IHlvdSBjYW4gaGF2ZQo+ Pj4+IG11bHRpcGxlIGVuZHBvaW50cyB3aXRoaW4gYSBEQUkuCj4+Pgo+Pj4gWWVzIHRoaXMgc2hv dWxkIGZvbGxvdyB0aGUgYXVkaW8tZ3JhcGgtY2FyZC50eHQgZXhhbXBsZS4gV2UgZW5kIHVwIHdp dGgKPj4+IG1jYnNwMyBkdHMgbm9kZSBhcyBiZWxvdyBvbiBkcm9pZDQ6Cj4+Pgo+Pj4gJm1jYnNw MyB7Cj4+PiAgICAgICAgICNzb3VuZC1kYWktY2VsbHMgPSA8MD47Cj4+PiAgICAgICAgIHBpbmN0 cmwtbmFtZXMgPSAiZGVmYXVsdCI7Cj4+PiAgICAgICAgIHBpbmN0cmwtMCA9IDwmbWNic3AzX3Bp bnM+Owo+Pj4gICAgICAgICBzdGF0dXMgPSAib2theSI7Cj4+Pgo+Pj4gICAgICAgICBwb3J0cyB7 Cj4+PiAgICAgICAgICAgICAgICAgbWNic3AzX3BvcnQ6IHBvcnRAMCB7Cj4+PiAgICAgICAgICAg ICAgICAgICAgICAgICAjYWRkcmVzcy1jZWxscyA9IDwxPjsKPj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICNzaXplLWNlbGxzID0gPDA+Owo+Pj4KPj4+ICAgICAgICAgICAgICAgICAgICAgICAg IGNwdV9kYWkzOiBlbmRwb2ludEAwIHsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVnID0gPDA+Owo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWktZm9y bWF0ID0gImRzcF9hIjsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUt bWFzdGVyID0gPCZjcGNhcF9hdWRpb19jb2RlYzE+Owo+Pj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiaXRjbG9jay1tYXN0ZXIgPSA8JmNwY2FwX2F1ZGlvX2NvZGVjMT47Cj4+PiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZS1lbmRwb2ludCA9IDwmY3BjYXBf YXVkaW9fY29kZWMxPjsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgIH07Cj4+Pgo+Pj4gICAg ICAgICAgICAgICAgICAgICAgICAgY3B1X2RhaV9tZG06IGVuZHBvaW50QDEgewo+Pj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZWcgPSA8MT47Cj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhaS1mb3JtYXQgPSAiZHNwX2EiOwo+Pj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmcmFtZS1tYXN0ZXIgPSA8JmNwY2FwX2F1ZGlvX2NvZGVjMT47Cj4+ PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpdGNsb2NrLW1hc3RlciA9IDwmY3Bj YXBfYXVkaW9fY29kZWMxPjsKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVt b3RlLWVuZHBvaW50ID0gPCZtb3RfbWRtNjYwMF9hdWRpb19jb2RlYzA+Owo+Pj4gICAgICAgICAg ICAgICAgICAgICAgICAgfTsKPj4+ICAgICAgICAgICAgICAgICB9Owo+Pj4gICAgICAgICB9Owo+ Pj4gfTsKPj4KPj4gQWNjb3JkaW5nIHRvCj4+IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5k aW5ncy9zb3VuZC9hdWRpby1ncmFwaC1jYXJkLnR4dAo+PiBpdCBzaG91bGQgYmUgc29tZXRoaW5n IGxpa2UgdGhpczoKPj4gJm1jYnNwMyB7Cj4+ICAgICAgICAgI3NvdW5kLWRhaS1jZWxscyA9IDww PjsKPj4gICAgICAgICBwaW5jdHJsLW5hbWVzID0gImRlZmF1bHQiOwo+PiAgICAgICAgIHBpbmN0 cmwtMCA9IDwmbWNic3AzX3BpbnM+Owo+PiAgICAgICAgIHN0YXR1cyA9ICJva2F5IjsKPj4KPj4g ICAgICAgICBwb3J0cyB7Cj4+IAkJI2FkZHJlc3MtY2VsbHMgPSA8MT47Cj4+IAkJI3NpemUtY2Vs bHMgPSA8MD47Cj4+ICAgICAgICAgICAgICAgICBwb3J0QDAgewo+PiAJCQlyZWcgPSA8MD47Cj4+ Cj4+IAkJCWNwdV9kYWkzOiBlbmRwb2ludEAwIHsKPj4gCQkJCWRhaS1mb3JtYXQgPSAiZHNwX2Ei Owo+PiAJCQkJZnJhbWUtbWFzdGVyID0gPCZjcGNhcF9hdWRpb19jb2RlYzE+Owo+PiAJCQkJYml0 Y2xvY2stbWFzdGVyID0gPCZjcGNhcF9hdWRpb19jb2RlYzE+Owo+PiAJCQkJcmVtb3RlLWVuZHBv aW50ID0gPCZjcGNhcF9hdWRpb19jb2RlYzE+Owo+PiAJCQl9Owo+Pgo+PiAJCQljcHVfZGFpX21k bTogZW5kcG9pbnRAMSB7Cj4+IAkJCQlkYWktZm9ybWF0ID0gImRzcF9hIjsKPj4gCQkJCWZyYW1l LW1hc3RlciA9IDwmY3BjYXBfYXVkaW9fY29kZWMxPjsKPj4gCQkJCWJpdGNsb2NrLW1hc3RlciA9 IDwmY3BjYXBfYXVkaW9fY29kZWMxPjsKPj4gCQkJCXJlbW90ZS1lbmRwb2ludCA9IDwmbW90X21k bTY2MDBfYXVkaW9fY29kZWMwPjsKPj4gCQkJfTsKPj4gCQl9Owo+PiAJfTsKPj4gfTsKPiAKPiBI bW1zIHNvIEkgb25seSBzcG90IHJlZyB1c2UgYXQgZGlmZmVyZW50IGxldmVsIGNoYW5naW5nIGFi b3ZlLiBXZWxsCj4gdGhhdCdzIG5vdCBhY2NvcmRpbmcgdG8gRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2dyYXBoLnR4dCwKPiB0aGUgcmVnIG51bWJlcmluZyBpcyBwZXIgZW5kcG9p bnQuCj4gCj4gU291bmRzIGxpa2UgdGhlIHdlIGhhdmUgdGhlIGV4YW1wbGUgbm90IGZvbGxvd2lu ZyBncmFwaC50eHQgaW4KPiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3Mvc291bmQv YXVkaW8tZ3JhcGgtY2FyZC50eHQgd2hpbGUKPiB0aGUgY29kZSBpcyBub3cgYmVoYXZpbmcgYXMg aW4gZ3JhcGgudHh0Lgo+IAo+PiBJZiB5b3Ugc3BhbiBvdXQgZHVtbXkgREFJcyBnb3QgZGFpMSsg dGhlbiBob3cgeW91IHdpbGwgZ2V0IGFueXRoaW5nCj4+IHdvcmtpbmcgdmlhIGVuZHBvaW50MSs/ Cj4+IFRoZXJlIHdpbGwgYmUgbm8gb3BzIGZvciBNY0JTUCwgc28gaXQgaXMgbm90IGdvaW5nIHRv IGRvIGFueXRoaW5nLi4uCj4gCj4gRXZlbnR1YWxseSBpdCBjb3VsZCBoYXZlIG9wcyB0aG91Z2gu IEZvciB0aGluZ3MgbGlrZSBjYXB0dXJlIG9mIHRoZSB0ZG0KPiBzbG90IGRhdGEgZm9yIHJlY29y ZGluZyBhdWRpbyBjYWxsIGZvciBleGFtcGxlLCBJIGRvbid0IGtub3cgaG93IHRoYXQncwo+IHN1 cHBvc2VkIHRvIHdvcmsgdGhvdWdoLiBJIGd1ZXNzIG1jYnNwIGNvdWxkIGJlIHRoZSBjbG9jayBt YXN0ZXIgdG9vLAo+IGFuZCBmb3IgdGhvc2UgY2FzZXMgaXQgd291bGQgaGF2ZSBvcHMuCj4gCj4g QnV0IHJpZ2h0IG5vdyBpbiBkcm9pZDQgdm9pY2UgY2FsbCBjYXNlIG1jYnNwIGlzIGp1c3QgdGhl IGkycyB0cmFuc3BvcnQsCj4gYW5kIGV2ZXJ5dGhpbmcgaGFwcGVucyBiZXR3ZWUgdGhlIG1vZGVt IGFuZCB0aGUgY3BjYXAgcG1pYy4KCklvdyB5b3UgZG9uJ3QgbmVlZCBNY0JTUCBEQUkgYXQgYWxs LiBJZiB5b3Ugd291bGQgaGF2ZSBhZGRlZCB0aGUgZHVtbXkKY29kZWMgdG8gTWNCU1AgITMgYW5k IHVzZSB0aGF0LCBpdCB3b3VsZCB3b3JrIGluIGEgc2FtZSB3YXksIG9yIHRvIERNSUMKb3IgTWNQ RE0uLi4KClRoZSBNY0JTUCBvcHMgYXJlIE5VTEwgZm9yIHRoZSBkdW1teSBkYWksIHNvIE1jQlNQ IGlzIHR1cm5lZCBvZmYuCgo+IAo+Pj4gVGhhdCBpcyBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcyB0 aGUgJ011bHRpIERBSSB3aXRoIERQQ00nIGV4YW1wbGUsIHdpdGgKPj4+IGRuZSBkYWksIGFuZCBt dWx0aXBsZSBlbmRwb2ludHMuIEkgdGhpbmsgd2Ugc3RpbGwgaGF2ZSBqdXN0IG9uZSBwb3J0Cj4+ PiBmb3Igb25lIGkycyB0cmFuc3BvcnQgb24gdGhlIG1jYnNwIDopCj4+Pgo+Pj4gRG9lcyB0aGUg YWJvdmUgbG9vayBhcyB3aGF0IHlvdSB3b3VsZCBleHBlY3QgYmFzZWQgb24gdGhlIGJpbmRpbmc/ Cj4+Cj4+IFRoZSBhdWRpby1ncmFwaC1jYXJkLnR4dCBleGFtcGxlIHNob3dzIHBjbTMxNjhhIHdo aWNoIGhhdmUgdHdvIERBSXMsCj4+IG9uZSBmb3IgcGxheWJhY2sgYW5kIG9uZSBmb3IgY2FwdHVy ZS4KPj4KPj4gSSBndWVzcyBNb3JpbW90by1zYW4gY2FuIGV4cGxhaW4gaWYgaGUgY2FycmllcyBv dXQgb2YgdHJlZSBwYXRjaGVzIHRvCj4+IGdldCB0aGUgZGVzY3JpYmVkIHNldHVwIHdvcmtpbmcg b24gdG9wIG9mIG1haW5saW5lLi4uCj4+Cj4+IEJ1dCwgbm8sIGJhc2VkIG9uIHRoZSBkb2N1bWVu dGF0aW9uIEkgZG9uJ3QgOykKPiAKPiBTb3VuZHMgbGlrZSBhdWRpby1ncmFwaC1jYXJkLnR4dCBp cyBqdXN0IG91dCBvZiBzeW5jIHdpdGggZ3JhcGgudHh0Cj4gYXMgd2UgZG8gaGF2ZSBzZXZlcmFs IHdvcmtpbmcgZXhhbXBsZXM/Cj4gCj4+Pj4+IEkndmUgdGVzdGVkIHRoaXMgd2l0aCBkcm9pZDQg d2hlcmUgY3BjYXAgcG1pYyBhbmQgbW9kZW0gdm9pY2UgYXJlIGJvdGgKPj4+Pj4gYm90aCB3aXJl ZCB0byBtY2JzcDMuIEkndmUgYWxzbyB0ZXN0ZWQgdGhpcyBvbiBkcm9pZDQgYm90aCB3aXRoIGFu ZAo+Pj4+PiB3aXRob3V0IHRoZSBwZW5kaW5nIG1vZGVtIGF1ZGlvIGNvZGVjIGRyaXZlciB0aGF0 IGlzIHdhaXRpbmcgZm9yIG5fZ3NtCj4+Pj4+IHNlcmRldiBkZXBlbmRlbmNpZXMgdG8gY2xlYXIu Cj4+Pj4KPj4+PiBXaGF0IHRoaXMgcGF0Y2ggeW91IGVmZmVjdGl2ZWx5IGp1c3QgY3JlYXRpbmcg ZHVtbXktZGFpcyBvbiB0b3Agb2YgdGhlCj4+Pj4gcmVhbCBNY0JTUCBEQUkuCj4+Pgo+Pj4gWWVz IEkgdGhpbmsgdGhpcyBpcyBuZWVkZWQgZm9yIHNuZC1zb2MtYXVkaW8tZ3JhcGgtY2FyZCwgYW5k IHRoaXMgYWxsb3dzCj4+PiBjb25maWd1cmluZyB3aGF0ZXZlciBpcyBuZWVkZWQgZm9yIHRoZSBp MnMgc2xvdC4gQnV0IG1heWJlIHlvdSBoYXZlIHNvbWUKPj4+IGJldHRlciB3YXkgb2YgZG9pbmcg aXQgaW4gbWluZD8KPj4+Cj4+Pj4gWW91IGFsc28gcmVuYW1lIHRoZSBEQUlzLCB3aGljaCBtaWdo dCBicmVhayBhbXMtZGVsdGEuCj4+Pgo+Pj4gT29wcywgdGhhdCdzIG5vdCBnb29kLiBTbyBzaG91 bGQgd2UganVzdCBrZWVwIHRoZSBvbGQgbmFtaW5nIGlmIHRoZXJlJ3MKPj4+IG9ubHkgb25lIGVu ZHBvaW50Pwo+Pgo+PiBUaGF0J3MgYW4gb3B0aW9uLCB5ZXMsIGlmIHdlIHJlYWxseSBuZWVkIGV4 dHJhIGR1bW15IE1jQlNQIERBSXMgYXQgYWxsLAo+PiBhZ2FpbiwgbGV0J3MgaGVhciBmcm9tIE1v cmltb3RvLXNhbiBvciBNYXJrLgo+IAo+IFdlbGwgaXQgd291bGQgbm90IG5lY2Vzc2FyaWx5IGJl IGEgZHVtbXkgbWNic3AgZGFpIGluIGFsbCBjYXNlcyBpdCBzZWVtcwo+IHRvIG1lLiBCdXQgeWVh aCBub3RoaW5nIGZvciB0aGUgc2Vjb25kIGRhaSB0byBkbyByaWdodCBub3cgZm9yIGRyb2lkNAo+ IHZvaWNlIGNhbGwgYXMgaXQncyBhbGwgYmV0d2VlbiB0aGUgbW9kZW0gYW5kIHRoZSBwbWljLgo+ IAo+Pj4+IFdlIHN0aWxsIGhhdmUgbGVnYWN5IHN1cHBvcnQgaW4KPj4+PiBvbWFwLXR3bDQwMzAu Ywo+Pj4+IG9tYXAzcGFuZG9yYS5jCj4+Pj4gb3NrNTkxMi5jCj4+Pj4gcng1MS5jCj4+Pj4KPj4+ PiB3aGljaCB3aWxsIGJyZWFrIHdpdGggdGhlIHJlbmFtZWQgREFJLiBPbiB0aGUgb3RoZXIgaGFu ZCBJIHRoaW5rIHRoZQo+Pj4+IGxlZ2FjeSBzdXBwb3J0IGNhbiBiZSBkcm9wcGVkIGZyb20gdGhl bS4KPj4+Cj4+PiBJJ20gbm90IHN1cmUgd2hhdCBhbGwgdGhhdCB3b3VsZCB0YWtlLgo+Pgo+PiBG b3Igc29tZSBpdCBzaG91bGQgbm90IGJlIGEgYmlnIGRlYWwgYXMgdGhleSBvbmx5IGJvb3QgaW4g RFQgbW9kZS4KPj4gL21lIGFkZHMgdGhpcyB0byB0aGUgVE9ETyBsaXN0Lgo+IAo+IE9LCj4gCj4+ Pj4gSSBrbm93IGl0IHdhcyBkaXNjdXNzZWQsIGJ1dCBjYW4gbm90IGZpbmQgdGhlIG1haWw6Cj4+ Pj4gQ2FuIHlvdSBicmllZiBhZ2FpbiBvbiB0aGUgYXVkaW8gY29ubmVjdGlvbj8KPj4+Cj4+PiBC ZWxvdyBpcyBhIGxpbmsgdG8gYSBtYWlsaW5nIGxpc3QgdGhyZWFkIHdoZXJlIFNlYmFzdGlhbiBk ZXNjcmliZXMKPj4+IHRoZSBhdWRpbyBjb25uZWN0aW9uOgo+Pj4KPj4+IGh0dHBzOi8vbGttbC5v cmcvbGttbC8yMDE4LzMvMjgvODgxCj4+Cj4+IFRoYW5rcyEKPj4gIAo+Pj4+IERvIHlvdSBoYXZl IGJyYW5jaCB3aXRoIHdvcmtpbmcgY29kZT8KPj4+Cj4+PiBZZWFoIEkgaGF2ZSBzbGlnaHRseSBv bGRlciBzZXQgb2YgdGhlIHBhdGNoZXMgaW4gbXkgZHJvaWQ0LXBlbmRpbmctdjUuNQo+Pj4ga2Vy bmVsLm9yZyBnaXQgYnJhbmNoIHdpdGggdm9pY2UgY2FsbHMgd29ya2luZy4KPj4KPj4gSSB0aGlu ayBJIHNob3VsZCBwdXQgbXkgZHJvaWQ0IG91dCBhbmQgdHJ5IHRvIGdldCBpdCB3b3JraW5nLi4u Cj4+IERvIHlvdSBoYXZlIGEgbGluayBmb3IgZHVtbWllcyB0byBmb2xsb3cgdG8gZ2V0IHN0YXJ0 ZWQ/IDspCj4gCj4gUHJvYmFibHkgdGhlIGVhc2llc3Qgb25lIHRvIHVzZSByaWdodCBub3cgaXMg dGhlIE1hZW1vLWxlc3RlIGRldnVhbiBiYXNlZAo+IHRlc3QgaW1hZ2UgdXNpbmcgdjUuNSBrZXJu ZWwgKyBtb2RlbSBhbmQgYXVkaW8gcGF0Y2hlczoKPiAKPiBodHRwczovL2xlc3RlLm1hZW1vLm9y Zy9Nb3Rvcm9sYV9Ecm9pZF80Cj4gCj4gSnVzdCB1c2UgYSBkZWNlbnQgc3BlZWQgbWljcm8tc2Qg Y2FyZCByYXRlZCAiYTEiIGZvciBleGFtcGxlLgoKQ29vbC4gTm93IEkgY2FuIGR1YWwgYm9vdCB0 aGUgZHJvaWQ0IDpECkkgbmVlZGVkIHRvIHJld3JpdGUgdGhlIC9ldGMvc2hhZG93IHRvIGdldCBh IGtub3duIHJvb3QgcGFzc3dvcmQgc28gSQpjYW4gbG9nIGluLgoKV2lmaSBpcyB1cCwgc28gaW4g dGhlb3J5IEkgY2FuIHNjcCBrZXJuZWwvZHRiIHRvIC9ib290L2Jvb3QvIGFuZCB1cGRhdGUKdGhl IC9ib290L2Jvb3QvYm9vdC5jZmcgdG8gYm9vdCBteSBrZXJuZWwsIHJpZ2h0PwoKPiBSZWdhcmRz LAo+IAo+IFRvbnkKPiAKCi0gUMOpdGVyCgpUZXhhcyBJbnN0cnVtZW50cyBGaW5sYW5kIE95LCBQ b3Jra2FsYW5rYXR1IDIyLCAwMDE4MCBIZWxzaW5raS4KWS10dW5udXMvQnVzaW5lc3MgSUQ6IDA2 MTU1MjEtNC4gS290aXBhaWtrYS9Eb21pY2lsZTogSGVsc2lua2kKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWxzYS1kZXZlbCBtYWlsaW5nIGxpc3QKQWxz YS1kZXZlbEBhbHNhLXByb2plY3Qub3JnCmh0dHBzOi8vbWFpbG1hbi5hbHNhLXByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8vYWxzYS1kZXZlbAo=