From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS6130 216.105.38.0/24 X-Spam-Status: No, score=-3.9 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 63F8E1F461 for ; Fri, 17 May 2019 19:10:55 +0000 (UTC) Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1hRiFk-0007EJ-Rj; Fri, 17 May 2019 19:10:48 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1hRiFj-0007EB-BI for sox-devel@lists.sourceforge.net; Fri, 17 May 2019 19:10:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:Mime-Version:Content-Type :In-Reply-To:References:Date:To:From:Subject:Message-ID:Sender:Reply-To:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=cGF7SGQ6SYpcRBvYKCYtbUD7D8iiN+gOXUHnTabBkGA=; b=i9zRML/xVOLXIEAimB3tlyxMui Fe+JvNwyORXrmubKBY7jUEPoLmTifnMnKVUuKCVHiL6I0n50gk3mWS+cHwRWvQK5+zEM/nTaCad7U KbwDF+H/9LgFwuISEI6aB0fe803l1/2+aroDbL3IjWst0qxWEiCQlFpI5yNB5L53f97s=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:Mime-Version:Content-Type:In-Reply-To: References:Date:To:From:Subject:Message-ID:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=cGF7SGQ6SYpcRBvYKCYtbUD7D8iiN+gOXUHnTabBkGA=; b=b3xX+C5H8Wwkm4ktNSLMtVeSbV 1AS5MW5PdMJSV5Um+Tf1Cof9faDxKWb5U7KbIDhf1T1nHB+VU0eBdRdU4nKJ38dbolIA6uNW2LRpp Iozai0LKHsDyujSQdNTtP9s+IgQbjs+Xzz9OyZbFaJKxdR6zB8b9ABPieJuABPi4dcIE=; Received: from mail-wm1-f65.google.com ([209.85.128.65]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.90_1) id 1hRiFf-0091jt-W8 for sox-devel@lists.sourceforge.net; Fri, 17 May 2019 19:10:47 +0000 Received: by mail-wm1-f65.google.com with SMTP id j187so7726313wmj.1 for ; Fri, 17 May 2019 12:10:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:subject:from:to:date:references:in-reply-to:mime-version :content-transfer-encoding; bh=cGF7SGQ6SYpcRBvYKCYtbUD7D8iiN+gOXUHnTabBkGA=; b=tJtoo41CfNKB8uo3GTwwEAReKADEo9iOgGCiZ2M/ExAWNreiLVKZnREiLMfetCI3jp CYEWnVghK4aCYAsMxVcqXnomhW0/FUat5uG0YOkTDfFYlltXHHByl1/Gc+eqZQopVA3b NdMeGQ23m/jGQLHwo/jKyCEW/lrzng59+6vwmiR/rhUNpApiFqlZDK8kLkfAAwri6iAx Mmv6RgPFXix4KM2Td0G6xrdDePJ0dYNeCZdsarZVHCmrAK2Yb8K1do146s/F6DkNQ92I xISkVPQSDdJycmmmC8k/YCooZrZuFbXvCDavCiSmXJnqD7oCEJwD/ClgLssg3erL/WMK 9a6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:date:references :in-reply-to:mime-version:content-transfer-encoding; bh=cGF7SGQ6SYpcRBvYKCYtbUD7D8iiN+gOXUHnTabBkGA=; b=bXoNPcxmQuPtFi5zZadY8bArDLS7xDhAY6/Ikkizw6H6WXxZlcB/4E7FYeeYm/EGSo rPdbTXj437mkcj7qMrHFerk2b725/QRwXcHhTkU0657LmjMc2xa1PHE0qaVGKbU2ZiLK 81YK8n4OXu01mq+D4Ol5Hd1bxR5uCpjphgNB3Zy+4BN7hT5ccrdr4AADLrMLrCEaLI3J kd+eikYqlXOYIjLlthfHprQDCqBHDwxO66MCDjdlCfP7vAjYd6tjzbzpJYNyhzRyhNXM TfIR5/dqEJByqBAxeRNiWS6GZXrOziV0WOPoB1FSm4xCxXSBikmlH05orw6ybsUcZveW qwNQ== X-Gm-Message-State: APjAAAWadH81cjZ2WIGLFjxUaFS0K2Pd1wfLf8kkAmQM+YRVxyU9slrE GDMBDpnO/L5Pkun0Fxh+r+0xtDB9 X-Google-Smtp-Source: APXvYqyR8g6ILUsylZI+q9C3liR93UDYDjo/+eBXajKcPZpAQ72oioC6ctcHJVWklPYix/YmUiezfg== X-Received: by 2002:a1c:1f95:: with SMTP id f143mr3555396wmf.16.1558120237380; Fri, 17 May 2019 12:10:37 -0700 (PDT) Received: from linuxtardis-home (snat-19.cgn.sat-an.net. [176.222.226.19]) by smtp.googlemail.com with ESMTPSA id i185sm15629731wmg.32.2019.05.17.12.10.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 17 May 2019 12:10:36 -0700 (PDT) Message-ID: <1d7c1d4d8f1be7003ec13d0b1ad1d9b281ba6565.camel@gmail.com> From: Jakub =?UTF-8?Q?Van=C4=9Bk?= To: =?ISO-8859-1?Q?M=E5ns_Rullg=E5rd?= , sox-devel@lists.sourceforge.net Date: Fri, 17 May 2019 21:10:30 +0200 References: In-Reply-To: X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 X-Headers-End: 1hRiFf-0091jt-W8 Subject: Re: Review/merge request - RSO/RSF support - V2 X-BeenThere: sox-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sox-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: sox-devel-bounces@lists.sourceforge.net SGksCgpPbiBUaHUsIE1heSAxNiwgMjAxOSBhdCAyOjE2IFBNIE3DpW5zIFJ1bGxnw6VyZCA8bWFu c0BtYW5zci5jb20+IHdyb3RlOgo+IAo+IEpha3ViIFZhbsSbayA8bGludXh0YXJkaXNAZ21haWwu Y29tPiB3cml0ZXM6Cj4gCj4gPiBIaSBhbGwsCj4gPiAKPiA+IEkndmUgY3JlYXRlZCBhIHBhdGNo IGZvciBzdXBwb3J0aW5nIGZvciB0aGUgTlhUIFJTTyAvIEVWMyBSU0YKPiA+IChSb2JvdAo+ID4g U291bmQgRmlsZSkgZm9ybWF0LiBJdCBpcyBhIGZvcm1hdCB1c2VkIG9uIHRoZSBzdG9jayBmaXJt d2FyZSBvZgo+ID4gdGhlCj4gPiBMRUdPIE5YVCBhbmQgRVYzIHByb2dyYW1tYWJsZSBicmlja3Mu IEkgdGhvdWdodCB0aGF0IGl0IHdvdWxkIGJlCj4gPiBuaWNlCj4gPiB0byBoYXZlIG5hdGl2ZSBz dXBwb3J0IGluIFNvWC4KPiA+IAo+ID4gVGhlIGZvcm1hdCBpcyBjYXBhYmxlIG9mIGhvbGRpbmcg VTggUENNIG9yIEFEUENNIHNhbXBsZXMuIEN1cnJlbnRseQo+ID4gZGVjb2Rpbmcgb2YgYm90aCBm b3JtYXRzIGlzIGltcGxlbWVudGVkLiBIb3dldmVyIGZvciBlbmNvZGluZyBJCj4gPiBoYXZlCj4g PiBkaXNhYmxlZCB0aGUgQURQQ00gc3VwcG9ydCwgYmVjYXVzZSB0aGUgY3JlYXRlZCBmaWxlcyBz b3VuZCB2ZXJ5Cj4gPiB3cm9uZwo+ID4gb24gdGhlIHJlYWwgYnJpY2suIFU4IFBDTSBtb2RlIG9u IHRoZSBvdGhlciBoYW5kIHdvcmtzIHdlbGwuCj4gPiAKPiA+IFJTTyBzdXBwb3J0IGlzIGltcGxl bWVudGVkIGFsc28gaW4gRkZtcGVnLCBqdXN0IHRoZSBSU0YgYWxpYXMKPiA+IGlzbid0Lgo+ID4g Cj4gPiBJIGFtIHBvc3RpbmcgdGhlIGV4cG9ydGVkIGNvbW1pdCBiZWxvdy4gSG93ZXZlciwgaXQg aXMgYWxzbwo+ID4gYXZhaWxhYmxlCj4gPiBmcm9tIEdpdEh1YjogCj4gPiBodHRwczovL2dpdGh1 Yi5jb20vSmFrdWJWYW5lay9zb3gtcnNmL2NvbW1pdC9mOTA2ODUyNDUxYTJlZmM1YjExMjljN2Iz NGJmYzM3OGQzZjRkYTYyLnBhdGNoCj4gCj4gSXMgdGhlcmUgYSBzcGVjaWZpY2F0aW9uLCBwcmVm ZXJhYmx5IG9mZmljaWFsLCBmb3IgdGhpcyBmb3JtYXQKPiBhdmFpbGFibGUKPiBzb21ld2hlcmU/ ICBDb3VsZCB5b3UgcHJvdmlkZSBhIGZldyBzYW1wbGVzPwoKSSBkb24ndCB0aGluayB0aGVyZSBp cyBhbiBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uLiBIb3dldmVyLCB0aGVyZSBhcmUKc29tZSBzb3Vy Y2VzIHdoZXJlIGl0IGlzIGRlc2NyaWJlZDoKClJTTyBkZXNjcmlwdGlvbjogaHR0cHM6Ly93aWtp Lm11bHRpbWVkaWEuY3gvaW5kZXgucGhwL1JTTwpSU0YgKD1SU08pIGRlY29kZXIgb24gRVYzOiBo dHRwczovL2dpdGh1Yi5jb20vbWluZGJvYXJkcy9ldjNzb3VyY2VzL2Jsb2IvNzhlYmFmNWI2Zjhm ZTMxY2MxN2FhNWRjZTBmOGU0OTE2YTRmYzA3Mi9sbXMyMDEyL2Nfc291bmQvc291cmNlL2Nfc291 bmQuYyNMNjk1ClJTTyBlbmNvZGVyIGluIEZGbXBlZzogaHR0cHM6Ly9naXRodWIuY29tL0ZGbXBl Zy9GRm1wZWcvYmxvYi9tYXN0ZXIvbGliYXZmb3JtYXQvcnNvZW5jLmMKCkkgZm91bmQgdGhlIGZv bGxvd2luZyBzYW1wbGVzIG9ubGluZS4KClJTTyBzYW1wbGVzOgpodHRwOi8vc2FtcGxlcy5tcGxh eWVyaHEuaHUvQS1jb2RlY3MvcnNvLwoKUlNGIHNhbXBsZXM6Cmh0dHBzOi8vZ2l0aHViLmNvbS9t aW5kYm9hcmRzL2V2M3NvdXJjZXMvdHJlZS9tYXN0ZXIvbG1zMjAxMi9sbXMyMDEyL2RvYy9ncmFw aGljcy9CSVRNQVBTL1NPVU5EUwoKPiAKPiA+IGRpZmYgLS1naXQgYS9zcmMvcnNvLmMgYi9zcmMv cnNvLmMKPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiBpbmRleAo+ID4gMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTIyNTZkMTMwYzYzZjc5ZDFhOGViNmRkZgo+ ID4gNWRiNDE5Nzc5NmI1ZjZiCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9zcmMvcnNvLmMK PiA+IEBAIC0wLDAgKzEsMjMzIEBACj4gPiArLyogKGMpIDIwMTkgU29YIGNvbnRyaWJ1dG9ycwo+ IAo+IFBsZWFzZSB1c2UgeW91ciBhY3R1YWwgbmFtZSBpbiBjb3B5cmlnaHQgdGFncy4gIElmIG5v bi10cml2aWFsCj4gcG9ydGlvbnMKPiBvZiB0aGUgY29kZSB3ZXJlIHdyaXR0ZW4gYnkgc29tZW9u ZSBlbHNlLCB0aGV5IHNob3VsZCBhbHNvIGJlCj4gbWVudGlvbmVkLAo+IGFsb25nIHdpdGggc29t ZSBraW5kIG9mIGFzc3VyYW5jZSB0aGF0IHRoZXkgYXBwcm92ZSBvZiB0aGUKPiBkaXN0cmlidXRp b24KPiB1bmRlciB0aGUgc3BlY2lmaWVkIGxpY2VuY2UgdGVybXMgKExHUEwpLgo+IAo+IEkgd2ls bCBub3QgdG91Y2ggcGF0Y2hlcyBsYWNraW5nIGNsZWFyIHByb3ZlbmFuY2UuCgpUaGUgY29kZSB3 YXMgd3JpdHRlbiBieSBtZSwgaG93ZXZlciBJIHRvb2sgaW5zcGlyYXRpb24gZnJvbSBBVSBhbmQK c2ltaWxhciBmb3JtYXRzLiBJIGhhdmUgY2hhbmdlZCB0aGUgaGVhZGVyIHNvIHRoYXQgaXQgbGlz dHMgbXkgYWRkcmVzcy4KSSBoYXZlIGFsc28gYWRkZWQgTEVHTyhSKSBNSU5EU1RPUk1TKFIpIHRv IHNvbWUgcGxhY2VzIHNvIHRoYXQgaXQgaXMKY2xlYXJlciB3aGF0IE5YVCBhbmQgRVYzIGFyZS4K Ck5ldyBwYXRjaCBpcyBhbHNvIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9KYWt1YlZhbmVrL3NveC1y c2YvY29tbWl0LzU3ZGJmYTk2NjRkOWUzYWUyYmZiMjkxNTA5MzQwMjc1OThlMTgzNzcucGF0Y2gK Cj4gCj4gLS0KPiBNw6VucyBSdWxsZ8OlcmQKCkpha3ViIFZhbsSbawoKCkZyb20gNTdkYmZhOTY2 NGQ5ZTNhZTJiZmIyOTE1MDkzNDAyNzU5OGUxODM3NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xP0pha3ViPTIwVmFuPUM0PTlCaz89IDxsaW51eHRhcmRpc0BnbWFpbC5j b20+CkRhdGU6IFdlZCwgMTUgTWF5IDIwMTkgMjI6MzM6NTIgKzAyMDAKU3ViamVjdDogW1BBVENI XSByc286IGFkZCBzdXBwb3J0IGZvciBOWFQgUlNPIC8gRVYzIFJTRiBmb3JtYXQKCi0tLQogRkVB VFVSRVMuaW4gICAgICAgICAgICAgICAgICAgfCAgIDEgKwogbXN2YzEwL0xpYlNvWC52Y3hwcm9q ICAgICAgICAgfCAgIDEgKwogbXN2YzEwL0xpYlNvWC52Y3hwcm9qLmZpbHRlcnMgfCAgIDMgKwog bXN2YzkvTGliU29YLnZjcHJvaiAgICAgICAgICAgfCAgIDQgKwogc294Zm9ybWF0LjcgICAgICAg ICAgICAgICAgICAgfCAgIDcgKwogc3JjL0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgfCAgIDEg Kwogc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9mb3JtYXRzLmMg ICAgICAgICAgICAgICAgIHwgICAyICsKIHNyYy9mb3JtYXRzLmggICAgICAgICAgICAgICAgIHwg ICAxICsKIHNyYy9yc28uYyAgICAgICAgICAgICAgICAgICAgIHwgMjM1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEwIGZpbGVzIGNoYW5nZWQsIDI1NiBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Jzby5jCgpkaWZmIC0tZ2l0 IGEvRkVBVFVSRVMuaW4gYi9GRUFUVVJFUy5pbgppbmRleCA0M2FiNmM2OS4uNDQ0YTE1M2EgMTAw NjQ0Ci0tLSBhL0ZFQVRVUkVTLmluCisrKyBiL0ZFQVRVUkVTLmluCkBAIC00Miw2ICs0Miw3IEBA IFRoZSBjdXJyZW50IHJlbGVhc2UgaGFuZGxlcyB0aGUgZm9sbG93aW5nIGF1ZGlvIGZpbGUgZm9y bWF0czoKICogTWF4aXMgWEEgQXVkaW8gZmlsZXMKICoqIEVBIEFEUENNIChyZWFkIHN1cHBvcnQg b25seSwgZm9yIG5vdykKICogUHNldWRvIGZvcm1hdHMgdGhhdCBhbGxvdyBkaXJlY3QgcGxheWlu Zy9yZWNvcmRpbmcgZnJvbSBtb3N0IGF1ZGlvIGRldmljZXMKKyogTEVHT8KuIE1JTkRTVE9STVPC riBOWFQgUlNPL0VWMyBSU0YgZmlsZXMKICogVGhlICJudWxsIiBwc2V1ZG8tZmlsZSB0aGF0IHJl YWRzIGFuZCB3cml0ZXMgZnJvbS90byBub3doZXJlCiAoOnRhYmxlZW5kOikKIApkaWZmIC0tZ2l0 IGEvbXN2YzEwL0xpYlNvWC52Y3hwcm9qIGIvbXN2YzEwL0xpYlNvWC52Y3hwcm9qCmluZGV4IGIy ZTlkNWEzLi5kMDBkYmU2YSAxMDA2NDQKLS0tIGEvbXN2YzEwL0xpYlNvWC52Y3hwcm9qCisrKyBi L21zdmMxMC9MaWJTb1gudmN4cHJvagpAQCAtMjgxLDYgKzI4MSw3IEBACiAgICAgPENsQ29tcGls ZSBJbmNsdWRlPSIuLlxzcmNccHJjLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxz cmNccHZmLmMiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxzcmNccmF3LWZtdC5jIiAv PgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3JjXHJzby5jIiAvPgogICAgIDxDbENvbXBp bGUgSW5jbHVkZT0iLi5cc3JjXHMxLWZtdC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i Li5cc3JjXHMyLWZtdC5jIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3JjXHMzLWZt dC5jIiAvPgpkaWZmIC0tZ2l0IGEvbXN2YzEwL0xpYlNvWC52Y3hwcm9qLmZpbHRlcnMgYi9tc3Zj MTAvTGliU29YLnZjeHByb2ouZmlsdGVycwppbmRleCBmMzk0NDljYS4uOWFjMjc3NTMgMTAwNjQ0 Ci0tLSBhL21zdmMxMC9MaWJTb1gudmN4cHJvai5maWx0ZXJzCisrKyBiL21zdmMxMC9MaWJTb1gu dmN4cHJvai5maWx0ZXJzCkBAIC00MzUsNiArNDM1LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1 ZGU9Ii4uXHNyY1xyYXctZm10LmMiPgogICAgICAgPEZpbHRlcj5Gb3JtYXQgU291cmNlczwvRmls dGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cc3JjXHJz by5jIj4KKyAgICAgIDxGaWx0ZXI+Rm9ybWF0IFNvdXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsQ29t cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHNyY1xzMS1mbXQuYyI+CiAgICAgICA8 RmlsdGVyPkZvcm1hdCBTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CmRpZmYgLS1n aXQgYS9tc3ZjOS9MaWJTb1gudmNwcm9qIGIvbXN2YzkvTGliU29YLnZjcHJvagppbmRleCAzNjJm OGQ3Ny4uMTFjOTQyMzQgMTAwNjQ0Ci0tLSBhL21zdmM5L0xpYlNvWC52Y3Byb2oKKysrIGIvbXN2 YzkvTGliU29YLnZjcHJvagpAQCAtODY5LDYgKzg2OSwxMCBAQAogCQkJCVJlbGF0aXZlUGF0aD0i Li5cc3JjXGF1LmMiCiAJCQkJPgogCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh dGg9Ii4uXHNyY1xyc28uYyIKKwkJCQk+CisJCQk8L0ZpbGU+CiAJCQk8RmlsZQogCQkJCVJlbGF0 aXZlUGF0aD0iLi5cc3JjXGF2ci5jIgogCQkJCT4KZGlmZiAtLWdpdCBhL3NveGZvcm1hdC43IGIv c294Zm9ybWF0LjcKaW5kZXggNWU1M2I5ZjkuLjRkZjc5ZTI0IDEwMDY0NAotLS0gYS9zb3hmb3Jt YXQuNworKysgYi9zb3hmb3JtYXQuNwpAQCAtNjUyLDYgKzY1MiwxMyBAQCBhbmQKIC5CUiBzb3gg KDEpCiAuQlIgXC1kIC4KIC5UUAorXGZCLnJzb1xmUiwgXGZCLnJzZlxmUgorTEVHTyhSKSBNSU5E U1RPUk1TKFIpIE5YVCBSU08gLyBFVjMgUlNGIChSb2JvdCBTb3VuZCBGaWxlKS4KK0Egc2ltcGxl IGZpbGUgZm9ybWF0IHVzZWQgaW4gdGhlIHN0b2NrIE5YVCBhbmQgRVYzIGZpcm13YXJlcy4KK1Ro ZSBmb3JtYXQgY2FuIHN0b3JlIGVpdGhlciBVOCBvciBJTUEgQURQQ00gc2FtcGxlcy4gSG93ZXZl ciBvbmx5IHRoZSBVOAorbW9kZSBpcyBlbmFibGVkLCBhcyB0aGUgSU1BIEFEUENNIG1vZGUgaGFz IHByb2JsZW1zIG9uIHRoZSBFVjMuCitBbHNvLCBvbmx5IHRoZSA4MDAwIEh6IHNhbXBsZSByYXRl IGFuZCBhIHNpbmdsZSBjaGFubmVsIGFyZSBzdXBwb3J0ZWQuCisuVFAKIC5CIC50eHcKIFlhbWFo YSBUWC0xNlcgc2FtcGxlci4KIEEgZmlsZSBmb3JtYXQgZnJvbSBhIFlhbWFoYSBzYW1wbGluZyBr ZXlib2FyZCB3aGljaCB3cm90ZSBJQk0tUEMKZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4 dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAppbmRleCBiZGUxMGQ2YS4uNDFhMmVlNGEgMTAwNjQ0Ci0t LSBhL3NyYy9DTWFrZUxpc3RzLnR4dAorKysgYi9zcmMvQ01ha2VMaXN0cy50eHQKQEAgLTExMSw2 ICsxMTEsNyBAQCBzZXQoZm9ybWF0c19zcmNzCiAgIHByYwogICByYXcKICAgcmF3LWZtdAorICBy c28KICAgczEtZm10CiAgIHMyLWZtdAogICBzMy1mbXQKZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmls ZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQppbmRleCBkNWY2ZDEyNS4uZWQ1NDdjZDIgMTAwNjQ0Ci0t LSBhL3NyYy9NYWtlZmlsZS5hbQorKysgYi9zcmMvTWFrZWZpbGUuYW0KQEAgLTEyMSw3ICsxMjEs NyBAQCBsaWJzb3hfbGFfU09VUkNFUyArPSByYXctZm10LmMgczEtZm10LmMgczItZm10LmMgczMt Zm10LmMgXAogICBsdS1mbXQuYyA4c3Z4LmMgYWlmZi1mbXQuYyBhaWZjLWZtdC5jIGF1LmMgYXZy LmMgY2RyLmMgY3ZzZC1mbXQuYyBcCiAgIGR2bXMtZm10LmMgZGF0LmMgaGNvbS5jIGh0ay5jIG1h dWQuYyBwcmMuYyBzZi5jIHNtcC5jIFwKICAgc291bmRlci5jIHNvdW5kdG9vbC5jIHNwaGVyZS5j IHR4MTZ3LmMgdm9jLmMgdm94LWZtdC5jIGltYS1mbXQuYyBhZHBjbS5jIGFkcGNtLmggXAotICBp bWFfcncuYyBpbWFfcncuaCB3YXYuYyB3dmUuYyB4YS5jIG51bGZpbGUuYyBmNC1mbXQuYyBmOC1m bXQuYyBnc3J0LmMKKyAgaW1hX3J3LmMgaW1hX3J3Lmggd2F2LmMgd3ZlLmMgeGEuYyBudWxmaWxl LmMgZjQtZm10LmMgZjgtZm10LmMgZ3NydC5jIHJzby5jCiAKIGxpYnNveF9sYV9MSUJBREQgKz0g QEdTTV9MSUJTQCBATElCR1NNX0xJQkFEREAKIGxpYnNveF9sYV9MSUJBREQgKz0gQExQQzEwX0xJ QlNAIEBMSUJMUEMxMF9MSUJBRERACmRpZmYgLS1naXQgYS9zcmMvZm9ybWF0cy5jIGIvc3JjL2Zv cm1hdHMuYwppbmRleCBmM2VmZTc2NC4uYTJlMmRhNTEgMTAwNjQ0Ci0tLSBhL3NyYy9mb3JtYXRz LmMKKysrIGIvc3JjL2Zvcm1hdHMuYwpAQCAtODgsNiArODgsOCBAQCBzdGF0aWMgY2hhciBjb25z dCAqIGF1dG9fZGV0ZWN0X2Zvcm1hdChzb3hfZm9ybWF0X3QgKiBmdCwgY2hhciBjb25zdCAqIGV4 dCkKICAgQ0hFQ0soc2YgICAgLCAwLCAwLCAiIiAgICAgLCAwLCAgNCwgIlwxNDRcMjQzXDAwNFww IikKICAgQ0hFQ0soc294ICAgLCAwLCAwLCAiIiAgICAgLCAwLCAgNCwgIi5Tb1giKQogICBDSEVD Syhzb3ggICAsIDAsIDAsICIiICAgICAsIDAsICA0LCAiWG9TLiIpCisgIENIRUNLKHJzbyAgICwg MCwgMCwgIiIgICAgICwgMCwgIDIsICJceDAxXHgwMCIpCisgIENIRUNLKHJzbyAgICwgMCwgMCwg IiIgICAgICwgMCwgIDIsICJceDAxXHgwMSIpCiAKICAgaWYgKGV4dCAmJiAhc3RyY2FzZWNtcChl eHQsICJzbmQiKSkKICAgQ0hFQ0soc25kciAgLCA3LCAxLCAiIiAgICAgLCAwLCAgMiwgIlwwIikK ZGlmZiAtLWdpdCBhL3NyYy9mb3JtYXRzLmggYi9zcmMvZm9ybWF0cy5oCmluZGV4IGE0MmNlMjcw Li5lODM0MWFjMCAxMDA2NDQKLS0tIGEvc3JjL2Zvcm1hdHMuaAorKysgYi9zcmMvZm9ybWF0cy5o CkBAIC02Miw2ICs2Miw3IEBACiAgIEZPUk1BVCh3YXYpCiAgIEZPUk1BVCh3dmUpCiAgIEZPUk1B VCh4YSkKKyAgRk9STUFUKHJzbykKIAogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0gUGx1Z2luIG9y IHN0YXRpYyBmb3JtYXQgaGFuZGxlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KIApkaWZmIC0t Z2l0IGEvc3JjL3Jzby5jIGIvc3JjL3Jzby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi44MzMyYjI5MAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9yc28uYwpAQCAtMCwwICsx LDIzNSBAQAorLyogTEVHT8KuIE1JTkRTVE9STVPCriBOWFQgUlNPIGFuZCBFVjMgUlNGIHNvdW5k IGZvcm1hdAorICogKGMpIDIwMTkgSmFrdWIgVmFuZWsgPGxpbnV4dGFyZGlzQGdtYWlsLmNvbT4K KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9y IChhdAorICogeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBi dXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUgR05VIExlc3NlcgorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0 aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwKKyAqIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg IDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNsdWRlICJzb3hfaS5oIgorI2luY2x1ZGUgImFk cGNtcy5oIgorI2luY2x1ZGUgInNveC5oIgorI2luY2x1ZGUgInN0ZGlvLmgiCisKK3R5cGVkZWYg c3RydWN0IHsKKyAgICBhZHBjbV9pb190IGFkcGNtOworICAgIHNveF9ib29sIGlzX2FkcGNtOwor fSBwcml2X3Q7CisKKyNkZWZpbmUgUlNPX01BR0lDX1U4ICAgICAweDAxMDAKKyNkZWZpbmUgUlNP X01BR0lDX0FEUENNICAweDAxMDEKKyNkZWZpbmUgUlNPX0xFTkdUSF9FTVBUWSAweDAwMDAKKyNk ZWZpbmUgUlNPX01PREVfREVGQVVMVCAweDAwMDAKKworZW51bSB7CisgICAgTEVOR1RIX0VSUk9S ID0gLTEsCisgICAgTEVOR1RIX1JFQURZID0gMCwKKyAgICBMRU5HVEhfTUlTU0lORyA9IDEKK307 CisKK3N0YXRpYyBpbnQgbHN4X3Jzb19jYWxjX2xlbmd0aChzb3hfZm9ybWF0X3QgKmZ0LCBwcml2 X3QgKnByaXYsIHVpbnQxNl90ICpmb3JfaGVhZGVyKSB7CisgICAgc294X3VpbnQ2NF90IHNhbXBs ZXMgPSBmdC0+b2xlbmd0aCA/IGZ0LT5vbGVuZ3RoIDogZnQtPnNpZ25hbC5sZW5ndGg7CisgICAg c294X3VpbnQ2NF90IGxlbmd0aCA9IDA7CisKKyAgICBpZiAoc2FtcGxlcykgeworICAgICAgICBp ZiAocHJpdi0+aXNfYWRwY20pIHsKKyAgICAgICAgICAgIGxlbmd0aCA9IChzYW1wbGVzICsgMSkg LyAyOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbGVuZ3RoID0gc2FtcGxlczsKKyAg ICAgICAgfQorICAgICAgICBpZiAobGVuZ3RoID4gNjU1MzUpIHsKKyAgICAgICAgICAgIHJldHVy biBMRU5HVEhfRVJST1I7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAqZm9yX2hlYWRl ciA9ICh1aW50MTZfdClsZW5ndGg7CisgICAgICAgICAgICByZXR1cm4gTEVOR1RIX1JFQURZOwor ICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dXJuIExFTkdUSF9NSVNTSU5HOwor ICAgIH0KK30KKworc3RhdGljIGludCBsc3hfcnNvX3N0YXJ0cmVhZChzb3hfZm9ybWF0X3QgKmZ0 KSB7CisgICAgcHJpdl90ICpwcml2ID0gKHByaXZfdCopIGZ0LT5wcml2OworICAgIHVpbnQxNl90 IGhkcl9tYWdpYyA9IDA7CisgICAgdWludDE2X3QgaGRyX2J5dGVzID0gMDsKKyAgICB1aW50MTZf dCBoZHJfcmF0ZSA9IDA7CisgICAgdWludDE2X3QgaGRyX21vZGUgPSAwOworCisgICAgc294X2Vu Y29kaW5nX3Qgc2FtcGxlX3R5cGU7CisgICAgdWludDY0X3Qgc2FtcGxlX2NvdW50OworICAgIHVu c2lnbmVkIGJpdHNfcGVyX3NhbXBsZTsKKyAgICBpbnQgcnZhbDsKKworICAgIGlmIChsc3hfcmVh ZHcoZnQsICZoZHJfbWFnaWMpICE9IFNPWF9TVUNDRVNTIHx8CisgICAgICAgIGxzeF9yZWFkdyhm dCwgJmhkcl9ieXRlcykgIT0gU09YX1NVQ0NFU1MgfHwKKyAgICAgICAgbHN4X3JlYWR3KGZ0LCAm aGRyX3JhdGUpICE9IFNPWF9TVUNDRVNTIHx8CisgICAgICAgIGxzeF9yZWFkdyhmdCwgJmhkcl9t b2RlKSAhPSBTT1hfU1VDQ0VTUykgeworICAgICAgICByZXR1cm4gU09YX0VPRjsKKyAgICB9CisK KyAgICBpZiAoaGRyX21hZ2ljID09IFJTT19NQUdJQ19VOCkgeworICAgICAgICBwcml2LT5pc19h ZHBjbSA9IHNveF9mYWxzZTsKKworICAgICAgICBzYW1wbGVfY291bnQgPSBoZHJfYnl0ZXMgKiAx OworICAgICAgICBzYW1wbGVfdHlwZSA9IFNPWF9FTkNPRElOR19VTlNJR05FRDsKKyAgICAgICAg Yml0c19wZXJfc2FtcGxlID0gODsKKworICAgIH0gZWxzZSBpZiAoaGRyX21hZ2ljID09IFJTT19N QUdJQ19BRFBDTSkgeworICAgICAgICBwcml2LT5pc19hZHBjbSA9IHNveF90cnVlOworCisgICAg ICAgIHNhbXBsZV9jb3VudCA9IGhkcl9ieXRlcyAqIDI7CisgICAgICAgIHNhbXBsZV90eXBlID0g U09YX0VOQ09ESU5HX0lNQV9BRFBDTTsKKyAgICAgICAgYml0c19wZXJfc2FtcGxlID0gNDsKKwor ICAgIH0gZWxzZSB7CisgICAgICAgIGxzeF9mYWlsX2Vycm5vKGZ0LCBTT1hfRUhEUiwgImAlcyc6 IHVua25vd24gc2FtcGxlIGZvcm1hdCIsIGZ0LT5maWxlbmFtZSk7CisgICAgICAgIHJldHVybiBT T1hfRU9GOworICAgIH0KKworICAgIHJ2YWwgPSBsc3hfY2hlY2tfcmVhZF9wYXJhbXMoZnQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIC8qIGNoYW5uZWxzICovLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4wICogaGRyX3JhdGUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzYW1wbGVfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJpdHNfcGVyX3NhbXBsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNhbXBsZV9jb3VudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNveF90 cnVlIC8qIHZlcmlmeSBsZW5ndGggKi8pOworICAgIGlmIChydmFsICE9IFNPWF9TVUNDRVNTKSB7 CisgICAgICAgIHJldHVybiBydmFsOworICAgIH0KKworICAgIGlmIChwcml2LT5pc19hZHBjbSkg eworICAgICAgICByZXR1cm4gbHN4X2FkcGNtX2ltYV9zdGFydChmdCwgJnByaXYtPmFkcGNtKTsK KyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4gbHN4X3Jhd3N0YXJ0cmVhZChmdCk7CisgICAg fQorfQorCitzdGF0aWMgc2l6ZV90IGxzeF9yc29fcmVhZChzb3hfZm9ybWF0X3QgKmZ0LCBzb3hf c2FtcGxlX3QgKmJ1Ziwgc2l6ZV90IGxlbikgeworICAgIHByaXZfdCAqcHJpdiA9IChwcml2X3Qq KSBmdC0+cHJpdjsKKworICAgIGlmIChwcml2LT5pc19hZHBjbSkgeworICAgICAgICByZXR1cm4g bHN4X2FkcGNtX3JlYWQoZnQsICZwcml2LT5hZHBjbSwgYnVmLCBsZW4pOworICAgIH0gZWxzZSB7 CisgICAgICAgIHJldHVybiBsc3hfcmF3cmVhZChmdCwgYnVmLCBsZW4pOworICAgIH0KK30KKwor c3RhdGljIGludCBsc3hfcnNvX3N0b3ByZWFkKHNveF9mb3JtYXRfdCAqZnQpIHsKKyAgICBwcml2 X3QgKnByaXYgPSAocHJpdl90KikgZnQtPnByaXY7CisKKyAgICBpZiAocHJpdi0+aXNfYWRwY20p IHsKKyAgICAgICAgcmV0dXJuIGxzeF9hZHBjbV9zdG9wcmVhZChmdCwgJnByaXYtPmFkcGNtKTsK KyAgICB9CisKKyAgICByZXR1cm4gU09YX1NVQ0NFU1M7Cit9CisKKworc3RhdGljIGludCBsc3hf cnNvX3N0YXJ0d3JpdGUoc294X2Zvcm1hdF90ICpmdCkgeworICAgIHByaXZfdCAqcHJpdiA9IChw cml2X3QqKSBmdC0+cHJpdjsKKyAgICB1aW50MTZfdCBtYWdpYzsKKworICAgIGlmIChmdC0+ZW5j b2RpbmcuZW5jb2RpbmcgPT0gU09YX0VOQ09ESU5HX1VOU0lHTkVEKSB7CisgICAgICAgIHByaXYt PmlzX2FkcGNtID0gc294X2ZhbHNlOworICAgICAgICBtYWdpYyA9IFJTT19NQUdJQ19VODsKKwor ICAgIH0gZWxzZSBpZiAoZnQtPmVuY29kaW5nLmVuY29kaW5nID09IFNPWF9FTkNPRElOR19JTUFf QURQQ00pIHsKKyAgICAgICAgcHJpdi0+aXNfYWRwY20gPSBzb3hfdHJ1ZTsKKyAgICAgICAgbWFn aWMgPSBSU09fTUFHSUNfQURQQ007CisKKyAgICB9IGVsc2UgeworICAgICAgICBsc3hfZmFpbF9l cnJubyhmdCwgU09YX0VGTVQsICJgJXMnOiBzYW1wbGUgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRl ZCIsIGZ0LT5maWxlbmFtZSk7CisgICAgICAgIHJldHVybiBTT1hfRU9GOworICAgIH0KKworICAg IGlmIChsc3hfd3JpdGV3KGZ0LCBtYWdpYykgICAgICAgICAgICAgICAgICAgICAhPSBTT1hfU1VD Q0VTUyB8fAorICAgICAgICBsc3hfd3JpdGV3KGZ0LCBSU09fTEVOR1RIX0VNUFRZKSAgICAgICAg ICAhPSBTT1hfU1VDQ0VTUyB8fAorICAgICAgICBsc3hfd3JpdGV3KGZ0LCAodWludDE2X3QpZnQt PnNpZ25hbC5yYXRlKSAhPSBTT1hfU1VDQ0VTUyB8fAorICAgICAgICBsc3hfd3JpdGV3KGZ0LCBS U09fTU9ERV9ERUZBVUxUKSAgICAgICAgICAhPSBTT1hfU1VDQ0VTUykgeworICAgICAgICByZXR1 cm4gU09YX0VPRjsKKyAgICB9CisKKyAgICBmdC0+ZGF0YV9zdGFydCA9IGxzeF90ZWxsKGZ0KTsK KworICAgIGlmIChwcml2LT5pc19hZHBjbSkgeworICAgICAgICByZXR1cm4gbHN4X2FkcGNtX2lt YV9zdGFydChmdCwgJnByaXYtPmFkcGNtKTsKKyAgICB9IGVsc2UgeworICAgICAgICByZXR1cm4g bHN4X3Jhd3N0YXJ0d3JpdGUoZnQpOworICAgIH0KK30KKworc3RhdGljIHNpemVfdCBsc3hfcnNv X3dyaXRlKHNveF9mb3JtYXRfdCAqZnQsIGNvbnN0IHNveF9zYW1wbGVfdCAqYnVmLCBzaXplX3Qg bGVuKSB7CisgICAgcHJpdl90ICpwcml2ID0gKHByaXZfdCopIGZ0LT5wcml2OworCisgICAgaWYg KHByaXYtPmlzX2FkcGNtKSB7CisgICAgICAgIHJldHVybiBsc3hfYWRwY21fd3JpdGUoZnQsICZw cml2LT5hZHBjbSwgYnVmLCBsZW4pOworICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVybiBsc3hf cmF3d3JpdGUoZnQsIGJ1ZiwgbGVuKTsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQgbHN4X3Jzb19z dG9wd3JpdGUoc294X2Zvcm1hdF90ICpmdCkgeworICAgIHByaXZfdCAqcHJpdiA9IChwcml2X3Qq KSBmdC0+cHJpdjsKKyAgICBvZmZfdCB0YXJnZXQgPSAob2ZmX3QpZnQtPmRhdGFfc3RhcnQgLSA2 OworICAgIHVpbnQxNl90IGhkcl9ieXRlcyA9IDA7CisKKyAgICBpZiAocHJpdi0+aXNfYWRwY20p IHsKKyAgICAgICAgaWYgKGxzeF9hZHBjbV9zdG9wd3JpdGUoZnQsICZwcml2LT5hZHBjbSkgIT0g U09YX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIGxzeF93YXJuKCJJTUEgQURQQ00gc3RvcCBmYWls ZWQiKTsKKyAgICAgICAgICAgIHJldHVybiBTT1hfRU9GOworICAgICAgICB9CisgICAgfQorCisg ICAgaWYgKGZ0LT5zZWVrYWJsZSkgeworICAgICAgICBpbnQgcnZhbCA9IGxzeF9yc29fY2FsY19s ZW5ndGgoZnQsIHByaXYsICZoZHJfYnl0ZXMpOworCisgICAgICAgIGlmIChydmFsID09IExFTkdU SF9FUlJPUikgeworICAgICAgICAgICAgbHN4X3dhcm4oImAlcyc6IG91dHB1dCBmaWxlIGlzIHRv byBsb25nLCBsZW5ndGggaGVhZGVyIHdpbGwgYmUgdHJ1bmNhdGVkIiwgZnQtPmZpbGVuYW1lKTsK KyAgICAgICAgICAgIGhkcl9ieXRlcyA9IDB4RkZGRjsKKworICAgICAgICB9IGVsc2UgaWYgKHJ2 YWwgPT0gTEVOR1RIX01JU1NJTkcpIHsKKyAgICAgICAgICAgIGxzeF93YXJuKCJgJXMnOiBmaWxl IGxlbmd0aCBub3QgYXZhaWxhYmxlLCBmaWxlIGhlYWRlciB3aWxsIGluZGljYXRlIHplcm8gbGVu Z3RoIiwgZnQtPmZpbGVuYW1lKTsKKyAgICAgICAgICAgIGhkcl9ieXRlcyA9IDB4MDAwMDsKKyAg ICAgICAgfQorCisgICAgICAgIGlmIChsc3hfc2Vla2koZnQsIHRhcmdldCwgU0VFS19TRVQpICAh PSBTT1hfU1VDQ0VTUyB8fAorICAgICAgICAgICAgbHN4X3dyaXRldyhmdCwgaGRyX2J5dGVzKSAg ICAgICAgIT0gU09YX1NVQ0NFU1MpIHsKKyAgICAgICAgICAgIGxzeF93YXJuKCJgJXMnOiBzZWVr IG9yIGhlYWRlciB3cml0ZSBmYWlsZWQiLCBmdC0+ZmlsZW5hbWUpOworICAgICAgICAgICAgcmV0 dXJuIFNPWF9FT0Y7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBsc3hfd2Fybigi YCVzJzogc2Vla2luZyBpcyBub3QgcG9zc2libGUsIHRoZSBvdXRwdXQgZmlsZSB3aWxsIGhhdmUg YnJva2VuIGxlbmd0aCBoZWFkZXIiLCBmdC0+ZmlsZW5hbWUpOworICAgIH0KKworICAgIHJldHVy biBTT1hfU1VDQ0VTUzsKK30KKworTFNYX0ZPUk1BVF9IQU5ETEVSKHJzbykKK3sKKyAgc3RhdGlj IGNoYXIgY29uc3QgKiBjb25zdCBuYW1lc1tdID0geyJyc28iLCAicnNmIiwgTlVMTH07CisgIHN0 YXRpYyB1bnNpZ25lZCBjb25zdCB3cml0ZV9lbmNvZGluZ3NbXSA9IHsKKyAgICAgIFNPWF9FTkNP RElOR19VTlNJR05FRCwgOCwgMCwKKy8vICAgIFNPWF9FTkNPRElOR19JTUFfQURQQ00sIDQsIDAs IC8vIHBsYXliYWNrIGJyb2tlbiBvbiBFVjM/CisgICAgICAwfTsKKyAgc3RhdGljIHNveF9yYXRl X3QgY29uc3Qgc2FtcGxlX3JhdGVzW10gPSB7CisgICAgICA4MDAwLjAsIDAuMAorICB9OworICBz dGF0aWMgc294X2Zvcm1hdF9oYW5kbGVyX3QgaGFuZGxlciA9IHtTT1hfTElCX1ZFUlNJT05fQ09E RSwKKyAgICAiTEVHTyhSKSBNSU5EU1RPUk1TKFIpIE5YVCBSU08gLyBFVjMgUlNGIiwgbmFtZXMs CisgICAgU09YX0ZJTEVfTU9OTyB8IFNPWF9GSUxFX0JJR19FTkQsCisgICAgbHN4X3Jzb19zdGFy dHJlYWQsIGxzeF9yc29fcmVhZCwgbHN4X3Jzb19zdG9wcmVhZCwKKyAgICBsc3hfcnNvX3N0YXJ0 d3JpdGUsIGxzeF9yc29fd3JpdGUsIGxzeF9yc29fc3RvcHdyaXRlLAorICAgIGxzeF9yYXdzZWVr LCB3cml0ZV9lbmNvZGluZ3MsIHNhbXBsZV9yYXRlcywgc2l6ZW9mKHByaXZfdCkKKyAgfTsKKyAg cmV0dXJuICZoYW5kbGVyOworfQotLSAKMi4xNy4xCgoKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpTb1gtZGV2ZWwgbWFpbGluZyBsaXN0ClNvWC1kZXZl bEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlz dHMvbGlzdGluZm8vc294LWRldmVsCg==