From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id BD5E84E1E0 for <ffmpegdev@gitmailbox.com>; Tue, 29 Apr 2025 08:14:16 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 057A868B13F; Tue, 29 Apr 2025 11:14:11 +0300 (EEST) Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 53ED0687BEC for <ffmpeg-devel@ffmpeg.org>; Tue, 29 Apr 2025 11:14:03 +0300 (EEST) Received: from loongson.cn (unknown [36.33.26.33]) by gateway (Coremail) with SMTP id _____8BxrnJIihBoUaDJAA--.6363S3; Tue, 29 Apr 2025 16:14:00 +0800 (CST) Received: from chenhao$loongson.cn ( [36.33.26.33] ) by ajax-webmail-front1 (Coremail) ; Tue, 29 Apr 2025 16:13:59 +0800 (GMT+08:00) X-Originating-IP: [36.33.26.33] Date: Tue, 29 Apr 2025 16:13:59 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?6ZmI5piK?= <chenhao@loongson.cn> To: "FFmpeg development discussions and patches" <ffmpeg-devel@ffmpeg.org> X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2024.1-cmXT6 build 20240729(6d2960c6) Copyright (c) 2002-2025 www.mailtech.cn loongson In-Reply-To: <20250418013708.7640-1-yinshiyou-hf@loongson.cn> References: <20250418013708.7640-1-yinshiyou-hf@loongson.cn> X-CM-CTRLDATA: Rjcz6mZvb3Rlcl90eHQ9NjQxNjY6NjE4 MIME-Version: 1.0 Message-ID: <5e4790af.1a682.196809c26f7.Coremail.chenhao@loongson.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: qMiowMDx_xtHihBonGudAA--.11525W X-CM-SenderInfo: hfkh0xtdr6z05rqj20fqof0/1tbiAQEHDmgQBOUJ7AABs0 X-Coremail-Antispam: 1Uk129KBj9fXoWDAr45WFWUtw47Jw1DKryxXrc_yoW7uw43Co W0k34vy34fGrya9398JF9Yy34xA3y3Ar97t3yUtr48Z3Way347JrZ8Zry5JrWrWrWfuF15 W3WfWrW0vwnIvrn5l-sFpf9Il3svdjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8wcxFpf 9Il3svdxBIdaVrn0xqx4xG64xvF2IEw4CE5I8CrVC2j2Jv73VFW2AGmfu7bjvjm3AaLaJ3 UjIYCTnIWjp_UUUOq7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0x2IEx4CE42xK8VAvwI 8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xG Y2AK021l84ACjcxK6xIIjxv20xvE14v26r4j6ryUM28EF7xvwVC0I7IYx2IY6xkF7I0E14 v26r4j6F4UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v2 6rxl6s0DM2vj6VCEFcxC0VAYjxAxZF0EFcxC0VAYjxAxZF0Ew4CEw7xC0VCjxxvEa2IrM2 AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx1l5I8CrVACY4xI 64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r126r1DMcIj6I8E87Iv67AKxVW8Jr0_Cr 1UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACY4xI67k04243AVAKzVAK j4xxM4xvF2IEb7IF0Fy26I8I3I1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr 0_Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY 17CE14v26r1j6r15MIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcV C0I7IYx2IY6xkF7I0E14v26r1j6r4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY 6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r1j6r4UMVCEFcxC0VAYjx AxZFUvcSsGvfC2KfnxnUUI43ZEXa7IUUkuctUUUUU== Subject: Re: [FFmpeg-devel] [PATCH v3] avcodec: Fix fate-checkasm-hevc_pel failed on LA. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/5e4790af.1a682.196809c26f7.Coremail.chenhao@loongson.cn/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> CgoKPiAtLS0tLeWOn+Wni+mCruS7ti0tLS0tCj4g5Y+R5Lu25Lq6OiAiU2hpeW91IFlpbiIgPHlp bnNoaXlvdS1oZkBsb29uZ3Nvbi5jbj4KPiDlj5HpgIHml7bpl7Q6MjAyNS0wNC0xOCAwOTozNzow OCAo5pif5pyf5LqUKQo+IOaUtuS7tuS6ujogZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiDkuLvp opg6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2M10gYXZjb2RlYzogRml4IGZhdGUtY2hlY2thc20t aGV2Y19wZWwgZmFpbGVkIG9uIExBLgo+IAo+IFNvbWUgbG9vcCBjb3VudGVycyB3ZXJlIGluaXRp YWxpemVkIGluY29ycmVjdGx5Lgo+IFRoaXMgcGF0Y2ggZW5oYW5jZXMgdGhlIGhhbmRsaW5nIG9m IGxvb3AgaXRlcmF0aW9ucyBhbmQgcmVzaWR1YWwgcGFydHMuCj4gLS0tCj4gIGxpYmF2Y29kZWMv bG9vbmdhcmNoL2hldmNfbWNfYmlfbHN4LmMgICAgICAgICB8IDI5OSArKysrKystLS0tLS0tLS0t Cj4gIGxpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNfbWNfdW5pX2xzeC5jICAgICAgICB8IDMyNSAr KysrKy0tLS0tLS0tLS0tLS0KPiAgbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y2RzcF9pbml0X2xv b25nYXJjaC5jIHwgICAxIC0KPiAgbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y2RzcF9sc3guYyAg ICAgICAgICAgIHwgMjMzICsrKysrLS0tLS0tLS0KPiAgbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2 Y2RzcF9sc3guaCAgICAgICAgICAgIHwgICAxIC0KPiAgNSBmaWxlcyBjaGFuZ2VkLCAyNzYgaW5z ZXJ0aW9ucygrKSwgNTgzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVj L2xvb25nYXJjaC9oZXZjX21jX2JpX2xzeC5jIGIvbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y19t Y19iaV9sc3guYwo+IGluZGV4IGQ3ZGRkMWMyNDYuLmZlYjg1OTU2YWMgMTAwNjQ0Cj4gLS0tIGEv bGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y19tY19iaV9sc3guYwo+ICsrKyBiL2xpYmF2Y29kZWMv bG9vbmdhcmNoL2hldmNfbWNfYmlfbHN4LmMKPiBAQCAtMjI3LDcgKzIyNyw3IEBAIHZvaWQgaGV2 Y19iaV9jb3B5Xzh3X2xzeChjb25zdCB1aW50OF90ICpzcmMwX3B0ciwgaW50MzJfdCBzcmNfc3Ry aWRlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqc3JjMV9wdHIs IGludDMyX3Qgc3JjMl9zdHJpZGUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90 ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwgaW50MzJfdCBoZWlnaHQpCj4gIHsKPiAtICAgIGlu dDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMzsKPiArICAgIHVpbnQzMl90IGxvb3BfY250Owo+ ICAgICAgaW50MzJfdCByZXMgPSAoaGVpZ2h0ICYgNykgPj4gMTsKPiAgICAgIGludDMyX3Qgc3Jj X3N0cmlkZV8yeCA9IChzcmNfc3RyaWRlIDw8IDEpOwo+ICAgICAgaW50MzJfdCBkc3Rfc3RyaWRl XzJ4ID0gKGRzdF9zdHJpZGUgPDwgMSk7Cj4gQEAgLTMxMiw3ICszMTIsOCBAQCB2b2lkIGhldmNf YmlfY29weV8xMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYzBfcHRyLCBpbnQzMl90IHNyY19zdHJp ZGUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50MTZfdCAqc3JjMV9wdHIs IGludDMyX3Qgc3JjMl9zdHJpZGUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhf dCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsIGludDMyX3QgaGVpZ2h0KQo+ICB7Cj4gLSAgICB1 aW50MzJfdCBsb29wX2NudDsKPiArICAgIHVpbnQzMl90IGxvb3BfY250ID0gaGVpZ2h0ID4+IDI7 Cj4gKyAgICB1aW50MzJfdCByZXMgPSAoaGVpZ2h0ICYgMykgPj4gMTsKPiAgICAgIGludDMyX3Qg c3JjX3N0cmlkZV8yeCA9IChzcmNfc3RyaWRlIDw8IDEpOwo+ICAgICAgaW50MzJfdCBkc3Rfc3Ry aWRlXzJ4ID0gKGRzdF9zdHJpZGUgPDwgMSk7Cj4gICAgICBpbnQzMl90IHNyY19zdHJpZGVfNHgg PSAoc3JjX3N0cmlkZSA8PCAyKTsKPiBAQCAtMzI4LDEwICszMjksOSBAQCB2b2lkIGhldmNfYmlf Y29weV8xMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYzBfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUs Cj4gICAgICBfX20xMjhpIGluMCwgaW4xLCBpbjIsIGluMywgaW40LCBpbjUsIGluNiwgaW43Owo+ ICAgICAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3Q0LCBkc3Q1Owo+ICAKPiAt ICAgIGZvciAobG9vcF9jbnQgPSA0OyBsb29wX2NudC0tOykgewo+ICsgICAgZm9yICg7IGxvb3Bf Y250LS07KSB7Cj4gICAgICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMwX3B0ciwgMCk7Cj4gLSAg ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYzBfcHRyLCBzcmNfc3RyaWRlLCBzcmMwX3B0 ciwgc3JjX3N0cmlkZV8yeCwKPiAtICAgICAgICAgICAgICAgICAgc3JjMSwgc3JjMik7Cj4gKyAg ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYzBfcHRyLCBzcmNfc3RyaWRlLCBzcmMwX3B0 ciwgc3JjX3N0cmlkZV8yeCwgc3JjMSwgc3JjMik7Cj4gICAgICAgICAgc3JjMyA9IF9fbHN4X3Zs ZHgoc3JjMF9wdHIsIHNyY19zdHJpZGVfM3gpOwo+ICAgICAgICAgIHNyYzBfcHRyICs9IHNyY19z dHJpZGVfNHg7Cj4gICAgICAgICAgaW4wID0gX19sc3hfdmxkKHNyYzFfcHRyLCAwKTsKPiBAQCAt MzQwLDggKzM0MCw3IEBAIHZvaWQgaGV2Y19iaV9jb3B5XzEyd19sc3goY29uc3QgdWludDhfdCAq c3JjMF9wdHIsIGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgICAgICBpbjMgPSBfX2xzeF92bGR4 KHNyYzFfcHRyLCBzcmMyX3N0cmlkZV8zeCk7Cj4gICAgICAgICAgc3JjMV9wdHIgKz0gc3JjMl9z dHJpZGVfMng7Cj4gICAgICAgICAgaW40ID0gX19sc3hfdmxkKF9zcmMxLCAwKTsKPiAtICAgICAg ICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgX3NyYzEsIHNyYzJfc3RyaWRlX3gsIF9zcmMxLCBzcmMy X3N0cmlkZV8yeCwKPiAtICAgICAgICAgICAgICAgICAgaW41LCBpbjYpOwo+ICsgICAgICAgIERV UDJfQVJHMihfX2xzeF92bGR4LCBfc3JjMSwgc3JjMl9zdHJpZGVfeCwgX3NyYzEsIHNyYzJfc3Ry aWRlXzJ4LCBpbjUsIGluNik7Cj4gICAgICAgICAgaW43ID0gX19sc3hfdmxkeChfc3JjMSwgc3Jj Ml9zdHJpZGVfM3gpOwo+ICAgICAgICAgIF9zcmMxICs9IHNyYzJfc3RyaWRlXzJ4Owo+ICAKPiBA QCAtMzYzLDYgKzM2MiwzMSBAQCB2b2lkIGhldmNfYmlfY29weV8xMndfbHN4KGNvbnN0IHVpbnQ4 X3QgKnNyYzBfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsCj4gICAgICAgICAgX19sc3hfdnN0ZWxt X3cob3V0MiwgZHN0ICsgZHN0X3N0cmlkZV8zeCwgOCwgMyk7Cj4gICAgICAgICAgZHN0ICs9IGRz dF9zdHJpZGVfNHg7Cj4gICAgICB9Cj4gKyAgICBmb3IgKDtyZXMtLTspIHsKPiArICAgICAgICBz cmMwID0gX19sc3hfdmxkKHNyYzBfcHRyLCAwKTsKPiArICAgICAgICBzcmMxID0gX19sc3hfdmxk KHNyYzBfcHRyICsgc3JjX3N0cmlkZSwgMCk7Cj4gKyAgICAgICAgaW4wICA9IF9fbHN4X3ZsZChz cmMxX3B0ciwgMCk7Cj4gKyAgICAgICAgaW4xICA9IF9fbHN4X3ZsZHgoc3JjMV9wdHIsIHNyYzJf c3RyaWRlX3gpOwo+ICsgICAgICAgIGRzdDAgPSBfX2xzeF92c2xsd2lsX2h1X2J1KHNyYzAsIDYp Owo+ICsgICAgICAgIGRzdDEgPSBfX2xzeF92c2xsd2lsX2h1X2J1KHNyYzEsIDYpOwo+ICsgICAg ICAgIG91dDAgPSBoZXZjX2JpX3JuZF9jbGlwKGluMCwgZHN0MCwgaW4xLCBkc3QxKTsKPiArICAg ICAgICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QsIDAsIDApOwo+ICsgICAgICAgIF9fbHN4X3Zz dGVsbV9kKG91dDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwo+ICsKPiArICAgICAgICBpbjAg PSBfX2xzeF92bGRyZXBsX2QoX3NyYzEsIDApOwo+ICsgICAgICAgIGluMSA9IF9fbHN4X3ZsZHJl cGxfZChfc3JjMSArIHNyYzJfc3RyaWRlLCAwKTsKPiArICAgICAgICBzcmMwID0gX19sc3hfdmls dmhfdyhzcmMxLCBzcmMwKTsKPiArICAgICAgICBpbjAgID0gX19sc3hfdmlsdmxfZChpbjEsIGlu MCk7Cj4gKyAgICAgICAgZHN0MCA9IF9fbHN4X3ZzbGx3aWxfaHVfYnUoc3JjMCwgNik7Cj4gKyAg ICAgICAgZHN0MCA9IF9fbHN4X3ZzYWRkX2goZHN0MCwgaW4wKTsKPiArICAgICAgICBkc3QwID0g X19sc3hfdnNzcmFybmlfYnVfaChkc3QwLCBkc3QwLCA3KTsKPiArICAgICAgICBfX2xzeF92c3Rl bG1fdyhkc3QwLCBkc3QsIDgsIDApOwo+ICsgICAgICAgIF9fbHN4X3ZzdGVsbV93KGRzdDAsIGRz dCArIGRzdF9zdHJpZGUsIDgsIDEpOwo+ICsgICAgICAgIHNyYzBfcHRyICs9IHNyY19zdHJpZGVf Mng7Cj4gKyAgICAgICAgX3NyYzEgKz0gc3JjMl9zdHJpZGVfeDsKPiArICAgICAgICBzcmMxX3B0 ciArPSBzcmMyX3N0cmlkZV94Owo+ICsgICAgICAgIGRzdCArPSBkc3Rfc3RyaWRlXzJ4Owo+ICsg ICAgfQo+ICB9Cj4gIAo+ICBzdGF0aWMKPiBAQCAtMzcwLDcgKzM5NCw4IEBAIHZvaWQgaGV2Y19i aV9jb3B5XzE2d19sc3goY29uc3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qgc3JjX3N0cmlk ZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQxNl90ICpzcmMxX3B0ciwg aW50MzJfdCBzcmMyX3N0cmlkZSwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90 ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwgaW50MzJfdCBoZWlnaHQpCj4gIHsKPiAtICAgIHVp bnQzMl90IGxvb3BfY250Owo+ICsgICAgdWludDMyX3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsK PiArICAgIHVpbnQzMl90IHJlcyA9IChoZWlnaHQgJiAzKSA+PiAxOwo+ICAgICAgaW50MzJfdCBz cmNfc3RyaWRlXzJ4ID0gKHNyY19zdHJpZGUgPDwgMSk7Cj4gICAgICBpbnQzMl90IGRzdF9zdHJp ZGVfMnggPSAoZHN0X3N0cmlkZSA8PCAxKTsKPiAgICAgIGludDMyX3Qgc3JjX3N0cmlkZV80eCA9 IChzcmNfc3RyaWRlIDw8IDIpOwo+IEBAIC0zODcsNyArNDEyLDcgQEAgdm9pZCBoZXZjX2JpX2Nv cHlfMTZ3X2xzeChjb25zdCB1aW50OF90ICpzcmMwX3B0ciwgaW50MzJfdCBzcmNfc3RyaWRlLAo+ ICAgICAgX19tMTI4aSBkc3QwX3IsIGRzdDFfciwgZHN0Ml9yLCBkc3QzX3IsIGRzdDBfbCwgZHN0 MV9sLCBkc3QyX2wsIGRzdDNfbDsKPiAgICAgIF9fbTEyOGkgemVybyA9IHswfTsKPiAgCj4gLSAg ICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9vcF9jbnQtLTspIHsKPiArICAgIGZv ciAoOyBsb29wX2NudC0tOykgewo+ICAgICAgICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjMF9wdHIs IDApOwo+ICAgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMwX3B0ciwgc3JjX3N0cmlk ZSwgc3JjMF9wdHIsIHNyY19zdHJpZGVfMngsCj4gICAgICAgICAgICAgICAgICAgIHNyYzEsIHNy YzIpOwo+IEBAIC00MjAsNiArNDQ1LDI3IEBAIHZvaWQgaGV2Y19iaV9jb3B5XzE2d19sc3goY29u c3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgICAgICBfX2xz eF92c3R4KG91dDMsIGRzdCwgZHN0X3N0cmlkZV8zeCk7Cj4gICAgICAgICAgZHN0ICs9IGRzdF9z dHJpZGVfNHg7Cj4gICAgICB9Cj4gKyAgICBmb3IgKDtyZXMtLTspIHsKPiArICAgICAgICBzcmMw ID0gX19sc3hfdmxkKHNyYzBfcHRyLCAwKTsKPiArICAgICAgICBzcmMxID0gX19sc3hfdmxkeChz cmMwX3B0ciwgc3JjX3N0cmlkZSk7Cj4gKyAgICAgICAgaW4wID0gX19sc3hfdmxkKHNyYzFfcHRy LCAwKTsKPiArICAgICAgICBpbjEgPSBfX2xzeF92bGR4KHNyYzFfcHRyLCBzcmMyX3N0cmlkZV94 KTsKPiArICAgICAgICBpbjQgPSBfX2xzeF92bGQoX3NyYzEsIDApOwo+ICsgICAgICAgIGluNSA9 IF9fbHN4X3ZsZHgoX3NyYzEsIHNyYzJfc3RyaWRlX3gpOwo+ICsKPiArICAgICAgICBEVVAyX0FS RzIoX19sc3hfdnNsbHdpbF9odV9idSwgc3JjMCwgNiwgc3JjMSwgNiwgZHN0MF9yLCBkc3QxX3Ip Owo+ICsgICAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9iLCB6ZXJvLCBzcmMwLCB6ZXJvLCBz cmMxLCBkc3QwX2wsIGRzdDFfbCk7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZzbGxpX2gs IGRzdDBfbCwgNiwgZHN0MV9sLCA2LCBkc3QwX2wsIGRzdDFfbCk7Cj4gKyAgICAgICAgb3V0MCA9 IGhldmNfYmlfcm5kX2NsaXAoaW4wLCBkc3QwX3IsIGluNCwgZHN0MF9sKTsKPiArICAgICAgICBv dXQxID0gaGV2Y19iaV9ybmRfY2xpcChpbjEsIGRzdDFfciwgaW41LCBkc3QxX2wpOwo+ICsgICAg ICAgIF9fbHN4X3ZzdChvdXQwLCBkc3QsIDApOwo+ICsgICAgICAgIF9fbHN4X3ZzdHgob3V0MSwg ZHN0LCBkc3Rfc3RyaWRlKTsKPiArCj4gKyAgICAgICAgc3JjMF9wdHIgKz0gc3JjX3N0cmlkZV8y eDsKPiArICAgICAgICBfc3JjMSArPSBzcmMyX3N0cmlkZV94Owo+ICsgICAgICAgIHNyYzFfcHRy ICs9IHNyYzJfc3RyaWRlX3g7Cj4gKyAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGVfMng7Cj4gKyAg ICB9Cj4gIH0KPiAgCj4gIHN0YXRpYwo+IEBAIC0xMDYxLDcgKzExMDcsOCBAQCBzdGF0aWMgdm9p ZCBoZXZjX2h6XzR0XzI0d19sc3goY29uc3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qgc3Jj X3N0cmlkZSwKPiAgewo+ICAgICAgY29uc3QgaW50MTZfdCAqc3JjMV9wdHJfdG1wOwo+ICAgICAg dWludDhfdCAqZHN0X3RtcDsKPiAtICAgIHVpbnQzMl90IGxvb3BfY250Owo+ICsgICAgdWludDMy X3QgbG9vcF9jbnQgPSBoZWlnaHQgPj4gMjsKPiArICAgIHVpbnQzMl90IHJlcyA9IChoZWlnaHQg JiAzKSA+PiAxOwo+ICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlXzJ4ID0gKGRzdF9zdHJpZGUgPDwg MSk7Cj4gICAgICBpbnQzMl90IGRzdF9zdHJpZGVfNHggPSAoZHN0X3N0cmlkZSA8PCAyKTsKPiAg ICAgIGludDMyX3QgZHN0X3N0cmlkZV8zeCA9IGRzdF9zdHJpZGVfMnggKyBkc3Rfc3RyaWRlOwo+ IEBAIC0xMDg2LDcgKzExMzMsNyBAQCBzdGF0aWMgdm9pZCBoZXZjX2h6XzR0XzI0d19sc3goY29u c3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgIGRzdF90bXAg PSBkc3QgKyAxNjsKPiAgICAgIHNyYzFfcHRyX3RtcCA9IHNyYzFfcHRyICsgMTY7Cj4gIAo+IC0g ICAgZm9yIChsb29wX2NudCA9IChoZWlnaHQgPj4gMik7IGxvb3BfY250LS07KSB7Cj4gKyAgICBm b3IgKDsgbG9vcF9jbnQtLTspIHsKPiAgICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMw X3B0ciwgMCwgc3JjMF9wdHIsIDE2LCBzcmMwLCBzcmMxKTsKPiAgICAgICAgICBzcmMwX3B0ciAr PSBzcmNfc3RyaWRlOwo+ICAgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYzBfcHRyLCAw LCBzcmMwX3B0ciwgMTYsIHNyYzIsIHNyYzMpOwo+IEBAIC0xMTU1LDYgKzEyMDIsNDIgQEAgc3Rh dGljIHZvaWQgaGV2Y19oel80dF8yNHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYzBfcHRyLCBpbnQz Ml90IHNyY19zdHJpZGUsCj4gICAgICAgICAgX19sc3hfdnN0ZWxtX2QoZHN0MSwgZHN0X3RtcCAr IGRzdF9zdHJpZGVfM3gsIDAsIDEpOwo+ICAgICAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZV80 eDsKPiAgICAgIH0KPiArICAgIGZvciAoOyByZXMtLTspIHsKPiArICAgICAgICBEVVAyX0FSRzIo X19sc3hfdmxkLCBzcmMwX3B0ciwgMCwgc3JjMF9wdHIsIDE2LCBzcmMwLCBzcmMxKTsKPiArICAg ICAgICBzcmMwX3B0ciArPSBzcmNfc3RyaWRlOwo+ICsgICAgICAgIERVUDJfQVJHMihfX2xzeF92 bGQsIHNyYzBfcHRyLCAwLCBzcmMwX3B0ciwgMTYsIHNyYzIsIHNyYzMpOwo+ICsgICAgICAgIHNy YzBfcHRyICs9IHNyY19zdHJpZGU7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZCwgc3Jj MV9wdHIsIDAsIHNyYzFfcHRyLCAxNiwgaW4wLCBpbjEpOwo+ICsgICAgICAgIHNyYzFfcHRyICs9 IHNyYzJfc3RyaWRlOwo+ICsgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYzFfcHRyLCAw LCBzcmMxX3B0ciwgMTYsIGluMiwgaW4zKTsKPiArICAgICAgICBzcmMxX3B0ciArPSBzcmMyX3N0 cmlkZTsKPiArCj4gKyAgICAgICAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAs IG1hc2swLCBzcmMxLCBzcmMwLCBtYXNrMiwgc3JjMiwKPiArICAgICAgICAgICAgICAgICAgc3Jj MiwgbWFzazAsIHNyYzMsIHNyYzIsIG1hc2syLCB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzKTsKPiAr ICAgICAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHZlYzAsIGZpbHQwLCB2ZWMxLCBm aWx0MCwgdmVjMiwgZmlsdDAsCj4gKyAgICAgICAgICAgICAgICAgIHZlYzMsIGZpbHQwLCBkc3Qw LCBkc3QxLCBkc3QyLCBkc3QzKTsKPiArICAgICAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZfYiwg c3JjMCwgc3JjMCwgbWFzazEsIHNyYzEsIHNyYzAsIG1hc2szLCBzcmMyLAo+ICsgICAgICAgICAg ICAgICAgICBzcmMyLCBtYXNrMSwgc3JjMywgc3JjMiwgbWFzazMsIHZlYzAsIHZlYzEsIHZlYzIs IHZlYzMpOwo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0MCwg dmVjMCwgZmlsdDEsIGRzdDEsIHZlYzEsIGZpbHQxLAo+ICsgICAgICAgICAgICAgICAgICBkc3Qy LCB2ZWMyLCBmaWx0MSwgZHN0MywgdmVjMywgZmlsdDEsIGRzdDAsIGRzdDEsIGRzdDIsIGRzdDMp Owo+ICsgICAgICAgIGRzdDAgPSBoZXZjX2JpX3JuZF9jbGlwKGluMCwgZHN0MCwgaW4xLCBkc3Qx KTsKPiArICAgICAgICBkc3QxID0gaGV2Y19iaV9ybmRfY2xpcChpbjIsIGRzdDIsIGluMywgZHN0 Myk7Cj4gKyAgICAgICAgX19sc3hfdnN0KGRzdDAsIGRzdCwgMCk7Cj4gKyAgICAgICAgX19sc3hf dnN0eChkc3QxLCBkc3QsIGRzdF9zdHJpZGUpOwo+ICsgICAgICAgIGRzdCArPSBkc3Rfc3RyaWRl XzJ4Owo+ICsKPiArICAgICAgICBpbjAgPSBfX2xzeF92bGQoc3JjMV9wdHJfdG1wLCAwKTsKPiAr ICAgICAgICBpbjEgPSBfX2xzeF92bGR4KHNyYzFfcHRyX3RtcCwgc3JjMl9zdHJpZGVfeCk7Cj4g KyAgICAgICAgc3JjMV9wdHJfdG1wICs9IHNyYzJfc3RyaWRlX3g7Cj4gKyAgICAgICAgRFVQMl9B UkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEsIHNyYzEsIG1hc2swLCBzcmMzLCBzcmMzLCBtYXNrMCwg IHZlYzAsIHZlYzEpOwo+ICsgICAgICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnVfYiwgdmVj MCwgZmlsdDAsIHZlYzEsIGZpbHQwLCBkc3QwLCBkc3QxKTsKPiArICAgICAgICBEVVAyX0FSRzMo X19sc3hfdnNodWZfYiwgc3JjMSwgc3JjMSwgbWFzazEsIHNyYzMsIHNyYzMsIG1hc2sxLCB2ZWMw LCB2ZWMxKTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdmRwMmFkZF9oX2J1X2IsIGRzdDAs IHZlYzAsIGZpbHQxLCBkc3QxLCB2ZWMxLCBmaWx0MSwgZHN0MCwgZHN0MSk7Cj4gKyAgICAgICAg ZHN0MCA9IGhldmNfYmlfcm5kX2NsaXAoaW4wLCBkc3QwLCBpbjEsIGRzdDEpOwo+ICsgICAgICAg IF9fbHN4X3ZzdGVsbV9kKGRzdDAsIGRzdF90bXAsIDAsIDApOwo+ICsgICAgICAgIF9fbHN4X3Zz dGVsbV9kKGRzdDAsIGRzdF90bXAgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKPiArICAgICAgICBkc3Rf dG1wICs9IGRzdF9zdHJpZGVfMng7Cj4gKyAgICB9Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGhl dmNfaHpfNHRfMzJ3X2xzeChjb25zdCB1aW50OF90ICpzcmMwX3B0ciwgaW50MzJfdCBzcmNfc3Ry aWRlLAo+IEBAIC0xMjA2LDcgKzEyODksNyBAQCBzdGF0aWMgdm9pZCBoZXZjX3Z0XzR0XzEyd19s c3goY29uc3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgKmRzdCwgaW50MzJfdCBkc3Rfc3RyaWRl LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIs IGludDMyX3QgaGVpZ2h0KQo+ICB7Cj4gLSAgICBpbnQzMl90IGxvb3BfY250Owo+ICsgICAgdWlu dDMyX3QgbG9vcF9jbnQ7Cj4gICAgICBpbnQzMl90IHNyY19zdHJpZGVfMnggPSAoc3JjX3N0cmlk ZSA8PCAxKTsKPiAgICAgIGludDMyX3QgZHN0X3N0cmlkZV8yeCA9IChkc3Rfc3RyaWRlIDw8IDEp Owo+ICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlXzR4ID0gKGRzdF9zdHJpZGUgPDwgMik7Cj4gQEAg LTEyOTUsNyArMTM3OCw3IEBAIHN0YXRpYyB2b2lkIGhldmNfdnRfNHRfMTZ3X2xzeChjb25zdCB1 aW50OF90ICpzcmMwX3B0ciwgaW50MzJfdCBzcmNfc3RyaWRlLAo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlciwgaW50MzJfdCBo ZWlnaHQpCj4gIHsKPiAtICAgIGludDMyX3QgbG9vcF9jbnQ7Cj4gKyAgICB1aW50MzJfdCBsb29w X2NudCA9IGhlaWdodCA+PiAyOwo+ICAgICAgY29uc3QgaW50MzJfdCBzcmNfc3RyaWRlXzJ4ID0g KHNyY19zdHJpZGUgPDwgMSk7Cj4gICAgICBjb25zdCBpbnQzMl90IGRzdF9zdHJpZGVfMnggPSAo ZHN0X3N0cmlkZSA8PCAxKTsKPiAgICAgIGNvbnN0IGludDMyX3Qgc3JjX3N0cmlkZV8zeCA9IHNy Y19zdHJpZGVfMnggKyBzcmNfc3RyaWRlOwo+IEBAIC0xMzE2LDcgKzEzOTksNyBAQCBzdGF0aWMg dm9pZCBoZXZjX3Z0XzR0XzE2d19sc3goY29uc3QgdWludDhfdCAqc3JjMF9wdHIsIGludDMyX3Qg c3JjX3N0cmlkZSwKPiAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMxLCBzcmMwLCBz cmMyLCBzcmMxLCBzcmMxMF9yLCBzcmMyMV9yKTsKPiAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2 aF9iLCBzcmMxLCBzcmMwLCBzcmMyLCBzcmMxLCBzcmMxMF9sLCBzcmMyMV9sKTsKPiAgCj4gLSAg ICBmb3IgKGxvb3BfY250ID0gKGhlaWdodCA+PiAyKTsgbG9vcF9jbnQtLTspIHsKPiArICAgIGZv ciAoOyBsb29wX2NudC0tOykgewo+ICAgICAgICAgIHNyYzMgPSBfX2xzeF92bGQoc3JjMF9wdHIs IDApOwo+ICAgICAgICAgIHNyYzQgPSBfX2xzeF92bGR4KHNyYzBfcHRyLCBzcmNfc3RyaWRlKTsK PiAgICAgICAgICBzcmMwX3B0ciArPSBzcmNfc3RyaWRlXzJ4Owo+IEBAIC0xNDgwLDE5MyArMTU2 Myw2IEBAIHN0YXRpYyB2b2lkIGhldmNfdnRfNHRfMzJ3X2xzeChjb25zdCB1aW50OF90ICpzcmMw X3B0ciwgaW50MzJfdCBzcmNfc3RyaWRlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgIGRzdCAr IDE2LCBkc3Rfc3RyaWRlLCBmaWx0ZXIsIGhlaWdodCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lk IGhldmNfaHZfNHRfNndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYzBfcHRyLCBpbnQzMl90IHNyY19z dHJpZGUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDE2X3QgKnNy YzFfcHRyLCBpbnQzMl90IHNyYzJfc3RyaWRlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50OF90ICpkc3QsIGludDMyX3QgZHN0X3N0cmlkZSwKPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXJfeCwgY29uc3QgaW50OF90ICpmaWx0 ZXJfeSwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBoZWlnaHQpCj4g LXsKPiAtICAgIGludDMyX3Qgc3JjX3N0cmlkZV8yeCA9IChzcmNfc3RyaWRlIDw8IDEpOwo+IC0g ICAgaW50MzJfdCBkc3Rfc3RyaWRlXzJ4ID0gKGRzdF9zdHJpZGUgPDwgMSk7Cj4gLSAgICBpbnQz Ml90IHNyY19zdHJpZGVfNHggPSAoc3JjX3N0cmlkZSA8PCAyKTsKPiAtICAgIGludDMyX3QgZHN0 X3N0cmlkZV80eCA9IChkc3Rfc3RyaWRlIDw8IDIpOwo+IC0gICAgaW50MzJfdCBzcmMyX3N0cmlk ZV8yeCA9IChzcmMyX3N0cmlkZSA8PCAxKTsKPiAtICAgIGludDMyX3Qgc3JjMl9zdHJpZGVfNHgg PSAoc3JjMl9zdHJpZGUgPDwgMik7Cj4gLSAgICBpbnQzMl90IHNyY19zdHJpZGVfM3ggPSBzcmNf c3RyaWRlXzJ4ICsgc3JjX3N0cmlkZTsKPiAtICAgIGludDMyX3QgZHN0X3N0cmlkZV8zeCA9IGRz dF9zdHJpZGVfMnggKyBkc3Rfc3RyaWRlOwo+IC0gICAgaW50MzJfdCBzcmMyX3N0cmlkZV8zeCA9 IHNyYzJfc3RyaWRlXzJ4ICsgc3JjMl9zdHJpZGU7Cj4gLSAgICBfX20xMjhpIG91dDAsIG91dDE7 Cj4gLSAgICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzY7 Cj4gLSAgICBfX20xMjhpIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMsIHZlYzQsIHZlYzUsIHZlYzYs IHZlYzcsIG1hc2sxOwo+IC0gICAgX19tMTI4aSBmaWx0MCwgZmlsdDEsIGZpbHRfaDAsIGZpbHRf aDE7Cj4gLSAgICBfX20xMjhpIGRzdGgwLCBkc3RoMSwgZHN0aDIsIGRzdGgzLCBkc3RoNCwgZHN0 aDU7Cj4gLSAgICBfX20xMjhpIGRzdGg2LCBkc3RoNywgZHN0aDgsIGRzdGg5LCBkc3RoMTA7Cj4g LSAgICBfX20xMjhpIGRzdDBfciwgZHN0MF9sLCBkc3QxX3IsIGRzdDFfbCwgZHN0Ml9yLCBkc3Qy X2wsIGRzdDNfciwgZHN0M19sOwo+IC0gICAgX19tMTI4aSBkc3Q0X3IsIGRzdDVfciwgZHN0Nl9y LCBkc3Q3X3I7Cj4gLSAgICBfX20xMjhpIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMsIHRtcDQsIHRt cDUsIHRtcDYsIHRtcDcsIHRtcDg7Cj4gLSAgICBfX20xMjhpIHJlZzAsIHJlZzEsIHJlZzIsIHJl ZzM7Cj4gLSAgICBfX20xMjhpIG1hc2swID0gX19sc3hfdmxkKGZmX2hldmNfbWFza19hcnIsIDAp Owo+IC0KPiAtICAgIHNyYzBfcHRyIC09IChzcmNfc3RyaWRlICsgMSk7Cj4gLSAgICBEVVAyX0FS RzIoX19sc3hfdmxkcmVwbF9oLCBmaWx0ZXJfeCwgMCwgZmlsdGVyX3gsIDIsIGZpbHQwLCBmaWx0 MSk7Cj4gLQo+IC0gICAgZmlsdF9oMSA9IF9fbHN4X3ZsZChmaWx0ZXJfeSwgMCk7Cj4gLSAgICBm aWx0X2gxID0gX19sc3hfdnNsbHdpbF9oX2IoZmlsdF9oMSwgMCk7Cj4gLSAgICBEVVAyX0FSRzIo X19sc3hfdnJlcGx2ZWlfdywgZmlsdF9oMSwgMCwgZmlsdF9oMSwgMSwgZmlsdF9oMCwgZmlsdF9o MSk7Cj4gLQo+IC0gICAgbWFzazEgPSBfX2xzeF92YWRkaV9idShtYXNrMCwgMik7Cj4gLQo+IC0g ICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMwX3B0ciwgMCk7Cj4gLSAgICBEVVAyX0FSRzIoX19sc3hf dmxkeCwgc3JjMF9wdHIsIHNyY19zdHJpZGUsIHNyYzBfcHRyLCBzcmNfc3RyaWRlXzJ4LAo+IC0g ICAgICAgICAgICAgIHNyYzEsIHNyYzIpOwo+IC0gICAgc3JjMF9wdHIgKz0gc3JjX3N0cmlkZV8z eDsKPiAtCj4gLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazAs IHNyYzAsIHNyYzAsIG1hc2sxLCB2ZWMwLCB2ZWMxKTsKPiAtICAgIERVUDJfQVJHMyhfX2xzeF92 c2h1Zl9iLCBzcmMxLCBzcmMxLCBtYXNrMCwgc3JjMSwgc3JjMSwgbWFzazEsIHZlYzIsIHZlYzMp Owo+IC0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzIsIHNyYzIsIG1hc2swLCBzcmMy LCBzcmMyLCBtYXNrMSwgdmVjNCwgdmVjNSk7Cj4gLQo+IC0gICAgRFVQMl9BUkcyKF9fbHN4X3Zk cDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwgdmVjMiwgZmlsdDAsIGRzdGgwLCBkc3RoMSk7Cj4gLSAg ICBkc3RoMiA9IF9fbHN4X3ZkcDJfaF9idV9iKHZlYzQsIGZpbHQwKTsKPiAtICAgIERVUDJfQVJH MyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0aDAsIHZlYzEsIGZpbHQxLCBkc3RoMSwgdmVjMywg ZmlsdDEsCj4gLSAgICAgICAgICAgICAgZHN0aDAsIGRzdGgxKTsKPiAtICAgIGRzdGgyID0gX19s c3hfdmRwMmFkZF9oX2J1X2IoZHN0aDIsIHZlYzUsIGZpbHQxKTsKPiAtCj4gLSAgICBEVVAyX0FS RzIoX19sc3hfdmlsdmxfaCwgZHN0aDEsIGRzdGgwLCBkc3RoMiwgZHN0aDEsIHRtcDAsIHRtcDIp Owo+IC0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gsIGRzdGgxLCBkc3RoMCwgZHN0aDIsIGRz dGgxLCB0bXAxLCB0bXAzKTsKPiAtCj4gLSAgICBzcmMzID0gX19sc3hfdmxkKHNyYzBfcHRyLCAw KTsKPiAtICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMwX3B0ciwgc3JjX3N0cmlkZSwgc3Jj MF9wdHIsIHNyY19zdHJpZGVfMngsCj4gLSAgICAgICAgICAgICAgc3JjNCwgc3JjNSk7Cj4gLSAg ICBzcmM2ID0gX19sc3hfdmxkeChzcmMwX3B0ciwgc3JjX3N0cmlkZV8zeCk7Cj4gLSAgICBzcmMw X3B0ciArPSBzcmNfc3RyaWRlXzR4Owo+IC0gICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNy YzMsIHNyYzMsIG1hc2swLCBzcmMzLCBzcmMzLCBtYXNrMSwgdmVjMCwgdmVjMSk7Cj4gLSAgICBE VVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNCwgc3JjNCwgbWFzazAsIHNyYzQsIHNyYzQsIG1h c2sxLCB2ZWMyLCB2ZWMzKTsKPiAtICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM1LCBz cmM1LCBtYXNrMCwgc3JjNSwgc3JjNSwgbWFzazEsIHZlYzQsIHZlYzUpOwo+IC0gICAgRFVQMl9B UkczKF9fbHN4X3ZzaHVmX2IsIHNyYzYsIHNyYzYsIG1hc2swLCBzcmM2LCBzcmM2LCBtYXNrMSwg dmVjNiwgdmVjNyk7Cj4gLQo+IC0gICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMw LCBmaWx0MCwgdmVjMiwgZmlsdDAsIHZlYzQsIGZpbHQwLCB2ZWM2LAo+IC0gICAgICAgICAgICAg IGZpbHQwLCBkc3RoMywgZHN0aDQsIGRzdGg1LCBkc3RoNik7Cj4gLSAgICBEVVA0X0FSRzMoX19s c3hfdmRwMmFkZF9oX2J1X2IsIGRzdGgzLCB2ZWMxLCBmaWx0MSwgZHN0aDQsIHZlYzMsIGZpbHQx LCBkc3RoNSwKPiAtICAgICAgICAgICAgICB2ZWM1LCBmaWx0MSwgZHN0aDYsIHZlYzcsIGZpbHQx LCBkc3RoMywgZHN0aDQsIGRzdGg1LCBkc3RoNik7Cj4gLQo+IC0gICAgc3JjMyA9IF9fbHN4X3Zs ZChzcmMwX3B0ciwgMCk7Cj4gLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjMF9wdHIsIHNy Y19zdHJpZGUsIHNyYzBfcHRyLCBzcmNfc3RyaWRlXzJ4LAo+IC0gICAgICAgICAgICAgIHNyYzQs IHNyYzUpOwo+IC0gICAgc3JjNiA9IF9fbHN4X3ZsZHgoc3JjMF9wdHIsIHNyY19zdHJpZGVfM3gp Owo+IC0KPiAtICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMzLCBzcmMzLCBtYXNrMCwg c3JjMywgc3JjMywgbWFzazEsIHZlYzAsIHZlYzEpOwo+IC0gICAgRFVQMl9BUkczKF9fbHN4X3Zz aHVmX2IsIHNyYzQsIHNyYzQsIG1hc2swLCBzcmM0LCBzcmM0LCBtYXNrMSwgdmVjMiwgdmVjMyk7 Cj4gLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNSwgc3JjNSwgbWFzazAsIHNyYzUs IHNyYzUsIG1hc2sxLCB2ZWM0LCB2ZWM1KTsKPiAtICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9i LCBzcmM2LCBzcmM2LCBtYXNrMCwgc3JjNiwgc3JjNiwgbWFzazEsIHZlYzYsIHZlYzcpOwo+IC0K PiAtICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnVfYiwgdmVjMCwgZmlsdDAsIHZlYzIsIGZp bHQwLCB2ZWM0LCBmaWx0MCwgdmVjNiwKPiAtICAgICAgICAgICAgICBmaWx0MCwgZHN0aDcsIGRz dGg4LCBkc3RoOSwgZHN0aDEwKTsKPiAtICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVf YiwgZHN0aDcsIHZlYzEsIGZpbHQxLCBkc3RoOCwgdmVjMywgZmlsdDEsIGRzdGg5LAo+IC0gICAg ICAgICAgICAgIHZlYzUsIGZpbHQxLCBkc3RoMTAsIHZlYzcsIGZpbHQxLCBkc3RoNywgZHN0aDgs IGRzdGg5LCBkc3RoMTApOwo+IC0KPiAtICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9oLCBkc3Ro MywgZHN0aDIsIGRzdGg0LCBkc3RoMywgdG1wNCwgdG1wNik7Cj4gLSAgICBEVVAyX0FSRzIoX19s c3hfdmlsdmhfaCwgZHN0aDMsIGRzdGgyLCBkc3RoNCwgZHN0aDMsIHRtcDUsIHRtcDcpOwo+IC0g ICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdGg1LCBkc3RoNCwgZHN0aDYsIGRzdGg1LCBk c3RoMCwgZHN0aDIpOwo+IC0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gsIGRzdGg1LCBkc3Ro NCwgZHN0aDYsIGRzdGg1LCBkc3RoMSwgZHN0aDMpOwo+IC0gICAgRFVQNF9BUkcyKF9fbHN4X3Zk cDJfd19oLCB0bXAwLCBmaWx0X2gwLCB0bXAyLCBmaWx0X2gwLCB0bXA0LCBmaWx0X2gwLAo+IC0g ICAgICAgICAgICAgIHRtcDYsIGZpbHRfaDAsIGRzdDBfciwgZHN0MV9yLCBkc3QyX3IsIGRzdDNf cik7Cj4gLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIGRzdDBfciwgdG1wNCwgZmls dF9oMSwgZHN0MV9yLCB0bXA2LAo+IC0gICAgICAgICAgICAgIGZpbHRfaDEsIGRzdDJfciwgZHN0 aDAsIGZpbHRfaDEsIGRzdDNfciwgZHN0aDIsIGZpbHRfaDEsCj4gLSAgICAgICAgICAgICAgZHN0 MF9yLCBkc3QxX3IsIGRzdDJfciwgZHN0M19yKTsKPiAtICAgIERVUDJfQVJHMihfX2xzeF92cGlj a2V2X2QsIHRtcDMsIHRtcDEsIHRtcDcsIHRtcDUsIHRtcDAsIHRtcDgpOwo+IC0gICAgZHN0MF9s ID0gX19sc3hfdmRwMl93X2godG1wMCwgZmlsdF9oMCk7Cj4gLSAgICBkc3QwX2wgPSBfX2xzeF92 ZHAyYWRkX3dfaChkc3QwX2wsIHRtcDgsIGZpbHRfaDEpOwo+IC0KPiAtICAgIERVUDJfQVJHMihf X2xzeF92aWx2bF9oLCBkc3RoNywgZHN0aDYsIGRzdGg4LCBkc3RoNywgdG1wMCwgdG1wMik7Cj4g LSAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgZHN0aDcsIGRzdGg2LCBkc3RoOCwgZHN0aDcs IHRtcDEsIHRtcDMpOwo+IC0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdGg5LCBkc3Ro OCwgZHN0aDEwLCBkc3RoOSwgdG1wNCwgdG1wNik7Cj4gLSAgICBEVVAyX0FSRzIoX19sc3hfdmls dmhfaCwgZHN0aDksIGRzdGg4LCBkc3RoMTAsIGRzdGg5LCB0bXA1LCB0bXA3KTsKPiAtICAgIERV UDRfQVJHMihfX2xzeF92ZHAyX3dfaCwgZHN0aDAsIGZpbHRfaDAsIGRzdGgyLCBmaWx0X2gwLCB0 bXAwLCBmaWx0X2gwLAo+IC0gICAgICAgICAgICAgIHRtcDIsIGZpbHRfaDAsIGRzdDRfciwgZHN0 NV9yLCBkc3Q2X3IsIGRzdDdfcik7Cj4gLSAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gs IGRzdDRfciwgdG1wMCwgZmlsdF9oMSwgZHN0NV9yLCB0bXAyLAo+IC0gICAgICAgICAgICAgIGZp bHRfaDEsIGRzdDZfciwgdG1wNCwgZmlsdF9oMSwgZHN0N19yLCB0bXA2LCBmaWx0X2gxLAo+IC0g ICAgICAgICAgICAgIGRzdDRfciwgZHN0NV9yLCBkc3Q2X3IsIGRzdDdfcik7Cj4gLSAgICBEVVAy X0FSRzIoX19sc3hfdnBpY2tldl9kLCBkc3RoMywgZHN0aDEsIHRtcDMsIHRtcDEsIHRtcDAsIHRt cDEpOwo+IC0gICAgdG1wMiA9IF9fbHN4X3ZwaWNrZXZfZCh0bXA3LCB0bXA1KTsKPiAtCj4gLSAg ICBEVVAyX0FSRzIoX19sc3hfdmRwMl93X2gsIHRtcDgsIGZpbHRfaDAsIHRtcDAsIGZpbHRfaDAs IGRzdDFfbCwgZHN0Ml9sKTsKPiAtICAgIGRzdDNfbCA9IF9fbHN4X3ZkcDJfd19oKHRtcDEsIGZp bHRfaDApOwo+IC0gICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfd19oLCBkc3QxX2wsIHRtcDAs IGZpbHRfaDEsIGRzdDJfbCwgdG1wMSwgZmlsdF9oMSwKPiAtICAgICAgICAgICAgICBkc3QxX2ws IGRzdDJfbCk7Cj4gLSAgICBkc3QzX2wgPSBfX2xzeF92ZHAyYWRkX3dfaChkc3QzX2wsIHRtcDIs IGZpbHRfaDEpOwo+IC0KPiAtICAgIERVUDRfQVJHMihfX2xzeF92c3JhaV9kLCBkc3QwX3IsIDYs IGRzdDFfciwgNiwgZHN0Ml9yLCA2LCBkc3QzX3IsIDYsCj4gLSAgICAgICAgICAgICAgZHN0MF9y LCBkc3QxX3IsIGRzdDJfciwgZHN0M19yKTsKPiAtICAgIERVUDRfQVJHMihfX2xzeF92c3JhaV9k LCBkc3Q0X3IsIDYsIGRzdDVfciwgNiwgZHN0Nl9yLCA2LCBkc3Q3X3IsIDYsCj4gLSAgICAgICAg ICAgICAgZHN0NF9yLCBkc3Q1X3IsIGRzdDZfciwgZHN0N19yKTsKPiAtICAgIERVUDRfQVJHMihf X2xzeF92c3JhaV9kLCBkc3QwX2wsIDYsIGRzdDFfbCwgNiwgZHN0Ml9sLCA2LCBkc3QzX2wsIDYs Cj4gLSAgICAgICAgICAgICAgZHN0MF9sLCBkc3QxX2wsIGRzdDJfbCwgZHN0M19sKTsKPiAtICAg IERVUDJfQVJHMihfX2xzeF92cGlja2V2X2gsIGRzdDFfciwgZHN0MF9yLCBkc3QzX3IsIGRzdDJf ciwgdG1wMCwgdG1wMSk7Cj4gLSAgICBEVVAyX0FSRzIoX19sc3hfdnBpY2tldl9oLCBkc3Q1X3Is IGRzdDRfciwgZHN0N19yLCBkc3Q2X3IsIHRtcDIsIHRtcDMpOwo+IC0gICAgRFVQMl9BUkcyKF9f bHN4X3ZwaWNrZXZfaCwgZHN0MV9sLCBkc3QwX2wsIGRzdDNfbCwgZHN0Ml9sLCB0bXA0LCB0bXA1 KTsKPiAtCj4gLSAgICByZWcwID0gX19sc3hfdmxkcmVwbF9kKHNyYzFfcHRyLCAwKTsKPiAtICAg IHJlZzEgPSBfX2xzeF92bGRyZXBsX2Qoc3JjMV9wdHIgKyBzcmMyX3N0cmlkZSwgMCk7Cj4gLSAg ICBkc3RoMCA9IF9fbHN4X3ZpbHZsX2QocmVnMSwgcmVnMCk7Cj4gLSAgICByZWcwID0gX19sc3hf dmxkcmVwbF9kKHNyYzFfcHRyICsgc3JjMl9zdHJpZGVfMngsIDApOwo+IC0gICAgcmVnMSA9IF9f bHN4X3ZsZHJlcGxfZChzcmMxX3B0ciArIHNyYzJfc3RyaWRlXzN4LCAwKTsKPiAtICAgIGRzdGgx ID0gX19sc3hfdmlsdmxfZChyZWcxLCByZWcwKTsKPiAtICAgIHNyYzFfcHRyICs9IHNyYzJfc3Ry aWRlXzR4Owo+IC0gICAgcmVnMCA9IF9fbHN4X3ZsZHJlcGxfZChzcmMxX3B0ciwgMCk7Cj4gLSAg ICByZWcxID0gX19sc3hfdmxkcmVwbF9kKHNyYzFfcHRyICsgc3JjMl9zdHJpZGUsIDApOwo+IC0g ICAgZHN0aDIgPSBfX2xzeF92aWx2bF9kKHJlZzEsIHJlZzApOwo+IC0gICAgcmVnMCA9IF9fbHN4 X3ZsZHJlcGxfZChzcmMxX3B0ciArIHNyYzJfc3RyaWRlXzJ4LCAwKTsKPiAtICAgIHJlZzEgPSBf X2xzeF92bGRyZXBsX2Qoc3JjMV9wdHIgKyBzcmMyX3N0cmlkZV8zeCwgMCk7Cj4gLSAgICBkc3Ro MyA9IF9fbHN4X3ZpbHZsX2QocmVnMSwgcmVnMCk7Cj4gLQo+IC0gICAgRFVQNF9BUkcyKF9fbHN4 X3ZzYWRkX2gsIGRzdGgwLCB0bXAwLCBkc3RoMSwgdG1wMSwgZHN0aDIsIHRtcDIsIGRzdGgzLAo+ IC0gICAgICAgICAgICAgIHRtcDMsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwo+IC0gICAgRFVQ NF9BUkcyKF9fbHN4X3ZtYXhpX2gsIHRtcDAsIDAsIHRtcDEsIDAsIHRtcDIsIDAsIHRtcDMsIDAs Cj4gLSAgICAgICAgICAgICAgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMyk7Cj4gLSAgICBEVVAyX0FS RzMoX19sc3hfdnNzcmxybmlfYnVfaCwgdG1wMSwgdG1wMCwgNywgdG1wMywgdG1wMiwgNywgb3V0 MCwgb3V0MSk7Cj4gLQo+IC0gICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAwLCAwKTsKPiAt ICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwo+IC0gICAg X19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0ICsgZHN0X3N0cmlkZV8yeCwgMCwgMik7Cj4gLSAgICBf X2xzeF92c3RlbG1fdyhvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlXzN4LCAwLCAzKTsKPiAtICAgIGRz dCArPSBkc3Rfc3RyaWRlXzR4Owo+IC0gICAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0LCAwLCAw KTsKPiAtICAgIF9fbHN4X3ZzdGVsbV93KG91dDEsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwo+ IC0gICAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0ICsgZHN0X3N0cmlkZV8yeCwgMCwgMik7Cj4g LSAgICBfX2xzeF92c3RlbG1fdyhvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlXzN4LCAwLCAzKTsKPiAt ICAgIGRzdCAtPSBkc3Rfc3RyaWRlXzR4Owo+IC0KPiAtICAgIHNyYzFfcHRyIC09IHNyYzJfc3Ry aWRlXzR4Owo+IC0KPiAtICAgIHJlZzAgPSBfX2xzeF92bGRyZXBsX3coc3JjMV9wdHIsIDgpOwo+ IC0gICAgcmVnMSA9IF9fbHN4X3ZsZHJlcGxfdyhzcmMxX3B0ciArIHNyYzJfc3RyaWRlLCA4KTsK PiAtICAgIHJlZzIgPSBfX2xzeF92bGRyZXBsX3coc3JjMV9wdHIgKyBzcmMyX3N0cmlkZV8yeCwg OCk7Cj4gLSAgICByZWczID0gX19sc3hfdmxkcmVwbF93KHNyYzFfcHRyICsgc3JjMl9zdHJpZGVf M3gsIDgpOwo+IC0gICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX3csIHJlZzEsIHJlZzAsIHJlZzMs IHJlZzIsIHRtcDAsIHRtcDEpOwo+IC0gICAgZHN0aDQgPSBfX2xzeF92aWx2bF9kKHRtcDEsIHRt cDApOwo+IC0gICAgc3JjMV9wdHIgKz0gc3JjMl9zdHJpZGVfNHg7Cj4gLQo+IC0gICAgcmVnMCA9 IF9fbHN4X3ZsZHJlcGxfdyhzcmMxX3B0ciwgOCk7Cj4gLSAgICByZWcxID0gX19sc3hfdmxkcmVw bF93KHNyYzFfcHRyICsgc3JjMl9zdHJpZGUsIDgpOwo+IC0gICAgcmVnMiA9IF9fbHN4X3ZsZHJl cGxfdyhzcmMxX3B0ciArIHNyYzJfc3RyaWRlXzJ4LCA4KTsKPiAtICAgIHJlZzMgPSBfX2xzeF92 bGRyZXBsX3coc3JjMV9wdHIgKyBzcmMyX3N0cmlkZV8zeCwgOCk7Cj4gLSAgICBEVVAyX0FSRzIo X19sc3hfdmlsdmxfdywgcmVnMSwgcmVnMCwgcmVnMywgcmVnMiwgdG1wMCwgdG1wMSk7Cj4gLSAg ICBkc3RoNSA9IF9fbHN4X3ZpbHZsX2QodG1wMSwgdG1wMCk7Cj4gLSAgICBEVVAyX0FSRzIoX19s c3hfdnNhZGRfaCwgZHN0aDQsIHRtcDQsIGRzdGg1LCB0bXA1LCB0bXA0LCB0bXA1KTsKPiAtICAg IERVUDJfQVJHMihfX2xzeF92bWF4aV9oLCB0bXA0LCAwLCB0bXA1LCA3LCB0bXA0LCB0bXA1KTsK PiAtICAgIG91dDAgPSBfX2xzeF92c3NybHJuaV9idV9oKHRtcDUsIHRtcDQsIDcpOwo+IC0KPiAt ICAgIF9fbHN4X3ZzdGVsbV9oKG91dDAsIGRzdCwgNCwgMCk7Cj4gLSAgICBfX2xzeF92c3RlbG1f aChvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlLCA0LCAxKTsKPiAtICAgIF9fbHN4X3ZzdGVsbV9oKG91 dDAsIGRzdCArIGRzdF9zdHJpZGVfMngsIDQsIDIpOwo+IC0gICAgX19sc3hfdnN0ZWxtX2gob3V0 MCwgZHN0ICsgZHN0X3N0cmlkZV8zeCwgNCwgMyk7Cj4gLSAgICBkc3QgKz0gZHN0X3N0cmlkZV80 eDsKPiAtICAgIF9fbHN4X3ZzdGVsbV9oKG91dDAsIGRzdCwgNCwgNCk7Cj4gLSAgICBfX2xzeF92 c3RlbG1faChvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlLCA0LCA1KTsKPiAtICAgIF9fbHN4X3ZzdGVs bV9oKG91dDAsIGRzdCArIGRzdF9zdHJpZGVfMngsIDQsIDYpOwo+IC0gICAgX19sc3hfdnN0ZWxt X2gob3V0MCwgZHN0ICsgZHN0X3N0cmlkZV8zeCwgNCwgNyk7Cj4gLX0KPiAtCj4gIHN0YXRpYyBh dl9hbHdheXNfaW5saW5lCj4gIHZvaWQgaGV2Y19odl80dF84eDJfbHN4KGNvbnN0IHVpbnQ4X3Qg KnNyYzBfcHRyLCBpbnQzMl90IHNyY19zdHJpZGUsIGNvbnN0IGludDE2X3QgKnNyYzFfcHRyLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQzMl90IHNyYzJfc3RyaWRlLCB1aW50OF90ICpk c3QsIGludDMyX3QgZHN0X3N0cmlkZSwKPiBAQCAtMjI4MSw3ICsyMTc3LDYgQEAgQklfTUNfSFYo cXBlbCwgNDgsIDgpOwo+ICBCSV9NQ19IVihxcGVsLCA2NCwgOCk7Cj4gIAo+ICBCSV9NQ19IVihl cGVsLCA4LCA0KTsKPiAtQklfTUNfSFYoZXBlbCwgNiwgNCk7Cj4gIEJJX01DX0hWKGVwZWwsIDE2 LCA0KTsKPiAgQklfTUNfSFYoZXBlbCwgMjQsIDQpOwo+ICBCSV9NQ19IVihlcGVsLCAzMiwgNCk7 Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNfbWNfdW5pX2xzeC5jIGIv bGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y19tY191bmlfbHN4LmMKPiBpbmRleCA2YmRjMjdhODI0 Li41ZWMxMTViYWIxIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNfbWNf dW5pX2xzeC5jCj4gKysrIGIvbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y19tY191bmlfbHN4LmMK PiBAQCAtNTQ1LDcgKzU0NSw3IEBAIHN0YXRpYyB2b2lkIGhldmNfaHZfOHRfNjR3X2xzeChjb25z dCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqCj4gIH0KPiAgCj4g IHN0YXRpYyBhdl9hbHdheXNfaW5saW5lCj4gLXZvaWQgY29tbW9uX3Z0XzR0XzI0d19sc3goY29u c3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCj4gK3ZvaWQgY29tbW9uX3Z0XzJ0 XzI0d19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3Qg aGVpZ2h0KQo+ICB7Cj4gQEAgLTU1NCw4ICs1NTQsOCBAQCB2b2lkIGNvbW1vbl92dF80dF8yNHdf bHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAo+ICAgICAgaW50MzJf dCBzcmNfc3RyaWRlXzN4ID0gc3JjX3N0cmlkZV8yeCArIHNyY19zdHJpZGU7Cj4gICAgICBjb25z dCB1aW50OF90ICpfc3JjOwo+ICAKPiAtICAgIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3JjMiwgc3Jj Mywgc3JjNCwgc3JjNSwgc3JjNiwgc3JjNywgc3JjOCwgc3JjOSwgc3JjMTA7Cj4gLSAgICBfX20x MjhpIHNyYzExLCBmaWx0MCwgZmlsdDE7Cj4gKyAgICBfX20xMjhpIHNyYzAsIHNyYzEsIHNyYzIs IHNyYzMsIHNyYzQsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwOwo+ICsgICAgX19tMTI4 aSBmaWx0MCwgZmlsdDE7Cj4gICAgICBfX20xMjhpIHNyYzEwX3IsIHNyYzMyX3IsIHNyYzc2X3Is IHNyYzk4X3IsIHNyYzIxX3IsIHNyYzQzX3IsIHNyYzg3X3I7Cj4gICAgICBfX20xMjhpIHNyYzEw OV9yLCBzcmMxMF9sLCBzcmMzMl9sLCBzcmMyMV9sLCBzcmM0M19sOwo+ICAgICAgX19tMTI4aSBv dXQwX3IsIG91dDFfciwgb3V0Ml9yLCBvdXQzX3IsIG91dDBfbCwgb3V0MV9sOwo+IEBAIC01Nzgs NyArNTc4LDcgQEAgdm9pZCBjb21tb25fdnRfNHRfMjR3X2xzeChjb25zdCB1aW50OF90ICpzcmMs IGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgIF9zcmMgKz0gc3JjX3N0cmlkZV8zeDsKPiAgICAg IERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmM3LCBzcmM2LCBzcmM4LCBzcmM3LCBzcmM3Nl9y LCBzcmM4N19yKTsKPiAgCj4gLSAgICBmb3IgKGxvb3BfY250ID0gODsgbG9vcF9jbnQtLTspIHsK PiArICAgIGZvciAobG9vcF9jbnQgPSBoZWlnaHQgPj4gMTsgbG9vcF9jbnQtLTspIHsKPiAgICAg ICAgICAvKiAxNiB3aWR0aCAqLwo+ICAgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGQsIHNyYywg MCwgX3NyYywgMCwgc3JjMywgc3JjOSk7Cj4gICAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgs IHNyYywgc3JjX3N0cmlkZSwgX3NyYywgc3JjX3N0cmlkZSwgc3JjNCwgc3JjMTApOwo+IEBAIC02 MDUsNTMgKzYwNSwyNyBAQCB2b2lkIGNvbW1vbl92dF80dF8yNHdfbHN4KGNvbnN0IHVpbnQ4X3Qg KnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLAo+ICAKPiAgICAgICAgICAvKiAxNiArIDggd2lkdGgg Ki8KPiAgICAgICAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgb3V0MF9sLCBvdXQw X3IsIDYsIG91dDJfciwgb3V0Ml9yLCA2LAo+IC0gICAgICAgICAgICAgICAgb3V0M19yLCBvdXQz X3IsIDYsIG91dDFfbCwgb3V0MV9yLCA2LCBvdXQxLCBvdXQyLCBvdXQzLCBvdXQ0KTsKPiAtICAg ICAgICBfX2xzeF92c3Qob3V0MSwgZHN0LCAwKTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fZChv dXQyLCBkc3QsIDE2LCAwKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKPiAtICAgICAg ICBfX2xzeF92c3Qob3V0NCwgZHN0LCAwKTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fZChvdXQz LCBkc3QsIDE2LCAwKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKPiAtCj4gLSAgICAg ICAgLyogMTYgd2lkdGggKi8KPiAtICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmxkLCBzcmMsIDAs IF9zcmMsIDAsIHNyYzUsIHNyYzExKTsKPiAtICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwg c3JjLCBzcmNfc3RyaWRlLCBfc3JjLCBzcmNfc3RyaWRlLCBzcmMyLCBzcmM4KTsKPiAtICAgICAg ICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfYiwgc3JjNSwgc3JjNCwgc3JjMiwgc3JjNSwgc3JjMTBf ciwgc3JjMjFfcik7Cj4gLSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2IsIHNyYzUsIHNy YzQsIHNyYzIsIHNyYzUsIHNyYzEwX2wsIHNyYzIxX2wpOwo+IC0KPiAtICAgICAgICAvKiA4IHdp ZHRoICovCj4gLSAgICAgICAgc3JjICs9IHNyY19zdHJpZGVfMng7Cj4gLSAgICAgICAgX3NyYyAr PSBzcmNfc3RyaWRlXzJ4Owo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2bF9iLCBzcmMx MSwgc3JjMTAsIHNyYzgsIHNyYzExLCBzcmM3Nl9yLCBzcmM4N19yKTsKPiAtCj4gLSAgICAgICAg LyogMTYgd2lkdGggKi8KPiAtICAgICAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHNy YzMyX3IsIGZpbHQwLCBzcmMzMl9sLCBmaWx0MCwgc3JjNDNfciwKPiAtICAgICAgICAgICAgICAg ICAgZmlsdDAsIHNyYzQzX2wsIGZpbHQwLCBvdXQwX3IsIG91dDBfbCwgb3V0MV9yLCBvdXQxX2wp Owo+IC0gICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgb3V0MF9yLCBzcmMx MF9yLCBmaWx0MSwgb3V0MF9sLCBzcmMxMF9sLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0MSwg b3V0MV9yLCBzcmMyMV9yLCBmaWx0MSwgb3V0MV9sLCBzcmMyMV9sLCBmaWx0MSwKPiAtICAgICAg ICAgICAgICAgICAgb3V0MF9yLCBvdXQwX2wsIG91dDFfciwgb3V0MV9sKTsKPiAtCj4gLSAgICAg ICAgLyogOCB3aWR0aCAqLwo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92ZHAyX2hfYnVfYiwg c3JjOThfciwgZmlsdDAsIHNyYzEwOV9yLCBmaWx0MCwKPiAtICAgICAgICAgICAgICAgICAgb3V0 Ml9yLCBvdXQzX3IpOwo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwg b3V0Ml9yLCBzcmM3Nl9yLCBmaWx0MSwgb3V0M19yLAo+IC0gICAgICAgICAgICAgICAgICBzcmM4 N19yLCBmaWx0MSwgb3V0Ml9yLCBvdXQzX3IpOwo+IC0KPiAtICAgICAgICAvKiAxNiArIDggd2lk dGggKi8KPiAtICAgICAgICBEVVA0X0FSRzMoX19sc3hfdnNzcmFybmlfYnVfaCwgb3V0MF9sLCBv dXQwX3IsIDYsIG91dDJfciwgb3V0Ml9yLCA2LAo+IC0gICAgICAgICAgICAgICAgICBvdXQxX2ws IG91dDFfciwgNiwgb3V0M19yLCBvdXQzX3IsIDYsIG91dDEsIG91dDIsIG91dDMsIG91dDQpOwo+ IC0KPiArICAgICAgICAgICAgICAgIG91dDFfbCwgb3V0MV9yLCA2LCBvdXQzX3IsIG91dDNfciwg Niwgb3V0MSwgb3V0Miwgb3V0Mywgb3V0NCk7Cj4gICAgICAgICAgX19sc3hfdnN0KG91dDEsIGRz dCwgMCk7Cj4gICAgICAgICAgX19sc3hfdnN0ZWxtX2Qob3V0MiwgZHN0LCAxNiwgMCk7Cj4gICAg ICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Cj4gICAgICAgICAgX19sc3hfdnN0KG91dDMsIGRzdCwg MCk7Cj4gICAgICAgICAgX19sc3hfdnN0ZWxtX2Qob3V0NCwgZHN0LCAxNiwgMCk7Cj4gICAgICAg ICAgZHN0ICs9IGRzdF9zdHJpZGU7Cj4gKwo+ICsgICAgICAgIHNyYzEwX3IgPSBzcmMzMl9yOwo+ ICsgICAgICAgIHNyYzIxX3IgPSBzcmM0M19yOwo+ICsgICAgICAgIHNyYzEwX2wgPSBzcmMzMl9s Owo+ICsgICAgICAgIHNyYzIxX2wgPSBzcmM0M19sOwo+ICsgICAgICAgIHNyYzIgPSBzcmM0Owo+ ICsgICAgICAgIHNyYzc2X3IgPSBzcmM5OF9yOwo+ICsgICAgICAgIHNyYzg3X3IgPSBzcmMxMDlf cjsKPiArICAgICAgICBzcmM4ID0gc3JjMTA7Cj4gICAgICB9Cj4gIH0KPiAgCj4gIHN0YXRpYyBh dl9hbHdheXNfaW5saW5lCj4gLXZvaWQgY29tbW9uX3Z0XzR0XzMyd19sc3goY29uc3QgdWludDhf dCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCj4gK3ZvaWQgY29tbW9uX3Z0XzJ0XzMyd19sc3go Y29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsCj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDhfdCAqZHN0LCBpbnQzMl90IGRzdF9zdHJpZGUsCj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgaW50OF90ICpmaWx0ZXIsIGludDMyX3QgaGVpZ2h0KQo+ ICB7Cj4gQEAgLTgwNSwxMDIgKzc3OSw2IEBAIHZvaWQgaGV2Y19odl80dF84eDJfbHN4KGNvbnN0 IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCj4gICAgICBf X2xzeF92c3RlbG1fZChvdXQsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwo+ICB9Cj4gIAo+IC1z dGF0aWMgYXZfYWx3YXlzX2lubGluZQo+IC12b2lkIGhldmNfaHZfNHRfOG11bHR4NF9sc3goY29u c3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgaW50OF90 ICpmaWx0ZXJfeCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAq ZmlsdGVyX3ksIGludDMyX3Qgd2lkdGg4bXVsdCkKPiAtewo+IC0gICAgdWludDMyX3QgY250Owo+ IC0gICAgY29uc3QgaW50MzJfdCBzcmNfc3RyaWRlXzJ4ID0gKHNyY19zdHJpZGUgPDwgMSk7Cj4g LSAgICBjb25zdCBpbnQzMl90IGRzdF9zdHJpZGVfMnggPSAoZHN0X3N0cmlkZSA8PCAxKTsKPiAt ICAgIGNvbnN0IGludDMyX3Qgc3JjX3N0cmlkZV80eCA9IChzcmNfc3RyaWRlIDw8IDIpOwo+IC0g ICAgY29uc3QgaW50MzJfdCBzcmNfc3RyaWRlXzN4ID0gc3JjX3N0cmlkZV8yeCArIHNyY19zdHJp ZGU7Cj4gLSAgICBjb25zdCBpbnQzMl90IGRzdF9zdHJpZGVfM3ggPSBkc3Rfc3RyaWRlXzJ4ICsg ZHN0X3N0cmlkZTsKPiAtCj4gLSAgICBfX20xMjhpIG91dDAsIG91dDE7Cj4gLSAgICBfX20xMjhp IHNyYzAsIHNyYzEsIHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIG1hc2swLCBtYXNrMTsK PiAtICAgIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVjMiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwg dmVjNzsKPiAtICAgIF9fbTEyOGkgZmlsdDAsIGZpbHQxLCBmaWx0X2gwLCBmaWx0X2gxLCBmaWx0 ZXJfdmVjOwo+IC0gICAgX19tMTI4aSBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzLCBkc3Q0LCBkc3Q1 LCBkc3Q2LCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzOwo+IC0gICAgX19tMTI4aSBkc3QwX3IsIGRz dDBfbCwgZHN0MV9yLCBkc3QxX2wsIGRzdDJfciwgZHN0Ml9sLCBkc3QzX3IsIGRzdDNfbDsKPiAt ICAgIF9fbTEyOGkgZHN0MTBfciwgZHN0MzJfciwgZHN0NTRfciwgZHN0MjFfciwgZHN0NDNfciwg ZHN0NjVfcjsKPiAtICAgIF9fbTEyOGkgZHN0MTBfbCwgZHN0MzJfbCwgZHN0NTRfbCwgZHN0MjFf bCwgZHN0NDNfbCwgZHN0NjVfbDsKPiAtCj4gLSAgICBzcmMgLT0gKHNyY19zdHJpZGUgKyAxKTsK PiAtICAgIERVUDJfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlcl94LCAwLCBmaWx0ZXJfeCwg MiwgZmlsdDAsIGZpbHQxKTsKPiAtCj4gLSAgICBmaWx0ZXJfdmVjID0gX19sc3hfdmxkKGZpbHRl cl95LCAwKTsKPiAtICAgIGZpbHRlcl92ZWMgPSBfX2xzeF92c2xsd2lsX2hfYihmaWx0ZXJfdmVj LCAwKTsKPiAtICAgIERVUDJfQVJHMihfX2xzeF92cmVwbHZlaV93LCBmaWx0ZXJfdmVjLCAwLCBm aWx0ZXJfdmVjLCAxLCBmaWx0X2gwLCBmaWx0X2gxKTsKPiAtCj4gLSAgICBtYXNrMCA9IF9fbHN4 X3ZsZChmZl9oZXZjX21hc2tfYXJyLCAwKTsKPiAtICAgIG1hc2sxID0gX19sc3hfdmFkZGlfYnUo bWFzazAsIDIpOwo+IC0KPiAtICAgIGZvciAoY250ID0gd2lkdGg4bXVsdDsgY250LS07KSB7Cj4g LSAgICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwo+IC0gICAgICAgIERVUDJfQVJHMihf X2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV8yeCwgc3JjMSwgc3Jj Mik7Cj4gLSAgICAgICAgc3JjMyA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlXzN4KTsKPiAt ICAgICAgICBzcmMgKz0gc3JjX3N0cmlkZV80eDsKPiAtICAgICAgICBzcmM0ID0gX19sc3hfdmxk KHNyYywgMCk7Cj4gLSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlk ZSwgc3JjLCBzcmNfc3RyaWRlXzJ4LCBzcmM1LCBzcmM2KTsKPiAtICAgICAgICBzcmMgKz0gKDgg LSBzcmNfc3RyaWRlXzR4KTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3Jj MCwgc3JjMCwgbWFzazAsIHNyYzAsIHNyYzAsIG1hc2sxLAo+IC0gICAgICAgICAgICAgICAgICB2 ZWMwLCB2ZWMxKTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMSwgc3Jj MSwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2sxLAo+IC0gICAgICAgICAgICAgICAgICB2ZWMyLCB2 ZWMzKTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFz azAsIHNyYzIsIHNyYzIsIG1hc2sxLAo+IC0gICAgICAgICAgICAgICAgICB2ZWM0LCB2ZWM1KTsK PiAtCj4gLSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwg dmVjMiwgZmlsdDAsIGRzdDAsIGRzdDEpOwo+IC0gICAgICAgIGRzdDIgPSBfX2xzeF92ZHAyX2hf YnVfYih2ZWM0LCBmaWx0MCk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfaF9i dV9iLCBkc3QwLCB2ZWMxLCBmaWx0MSwgZHN0MSwgdmVjMywgZmlsdDEsCj4gLSAgICAgICAgICAg ICAgICAgIGRzdDAsIGRzdDEpOwo+IC0gICAgICAgIGRzdDIgPSBfX2xzeF92ZHAyYWRkX2hfYnVf Yihkc3QyLCB2ZWM1LCBmaWx0MSk7Cj4gLQo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2 bF9oLCBkc3QxLCBkc3QwLCBkc3QyLCBkc3QxLCBkc3QxMF9yLCBkc3QyMV9yKTsKPiAtICAgICAg ICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgZHN0MSwgZHN0MCwgZHN0MiwgZHN0MSwgZHN0MTBf bCwgZHN0MjFfbCk7Cj4gLQo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMz LCBzcmMzLCBtYXNrMCwgc3JjMywgc3JjMywgbWFzazEsCj4gLSAgICAgICAgICAgICAgICAgIHZl YzAsIHZlYzEpOwo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM0LCBzcmM0 LCBtYXNrMCwgc3JjNCwgc3JjNCwgbWFzazEsCj4gLSAgICAgICAgICAgICAgICAgIHZlYzIsIHZl YzMpOwo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM1LCBzcmM1LCBtYXNr MCwgc3JjNSwgc3JjNSwgbWFzazEsCj4gLSAgICAgICAgICAgICAgICAgIHZlYzQsIHZlYzUpOwo+ IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM2LCBzcmM2LCBtYXNrMCwgc3Jj Niwgc3JjNiwgbWFzazEsCj4gLSAgICAgICAgICAgICAgICAgIHZlYzYsIHZlYzcpOwo+IC0KPiAt ICAgICAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHZlYzAsIGZpbHQwLCB2ZWMyLCBm aWx0MCwgdmVjNCwgZmlsdDAsCj4gLSAgICAgICAgICAgICAgICAgIHZlYzYsIGZpbHQwLCBkc3Qz LCBkc3Q0LCBkc3Q1LCBkc3Q2KTsKPiAtICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9o X2J1X2IsIGRzdDMsIHZlYzEsIGZpbHQxLCBkc3Q0LCB2ZWMzLCBmaWx0MSwKPiAtICAgICAgICAg ICAgICAgICAgZHN0NSwgdmVjNSwgZmlsdDEsIGRzdDYsIHZlYzcsIGZpbHQxLCBkc3QzLCBkc3Q0 LCBkc3Q1LCBkc3Q2KTsKPiAtCj4gLSAgICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRz dDMsIGRzdDIsIGRzdDQsIGRzdDMsIGRzdDUsIGRzdDQsIGRzdDYsCj4gLSAgICAgICAgICAgICAg ICAgIGRzdDUsIGRzdDMyX3IsIGRzdDQzX3IsIGRzdDU0X3IsIGRzdDY1X3IpOwo+IC0gICAgICAg IERVUDRfQVJHMihfX2xzeF92aWx2aF9oLCBkc3QzLCBkc3QyLCBkc3Q0LCBkc3QzLCBkc3Q1LCBk c3Q0LCBkc3Q2LAo+IC0gICAgICAgICAgICAgICAgICBkc3Q1LCBkc3QzMl9sLCBkc3Q0M19sLCBk c3Q1NF9sLCBkc3Q2NV9sKTsKPiAtCj4gLSAgICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfd19o LCBkc3QxMF9yLCBmaWx0X2gwLCBkc3QxMF9sLCBmaWx0X2gwLCBkc3QyMV9yLAo+IC0gICAgICAg ICAgICAgICAgICBmaWx0X2gwLCBkc3QyMV9sLCBmaWx0X2gwLCBkc3QwX3IsIGRzdDBfbCwgZHN0 MV9yLCBkc3QxX2wpOwo+IC0gICAgICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX3dfaCwgZHN0MzJf ciwgZmlsdF9oMCwgZHN0MzJfbCwgZmlsdF9oMCwgZHN0NDNfciwKPiAtICAgICAgICAgICAgICAg ICAgZmlsdF9oMCwgZHN0NDNfbCwgZmlsdF9oMCwgZHN0Ml9yLCBkc3QyX2wsIGRzdDNfciwgZHN0 M19sKTsKPiAtICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIGRzdDBfciwgZHN0 MzJfciwgZmlsdF9oMSwgZHN0MF9sLCBkc3QzMl9sLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0 X2gxLCBkc3QxX3IsIGRzdDQzX3IsIGZpbHRfaDEsIGRzdDFfbCwgZHN0NDNfbCwgZmlsdF9oMSwK PiAtICAgICAgICAgICAgICAgICAgZHN0MF9yLCBkc3QwX2wsIGRzdDFfciwgZHN0MV9sKTsKPiAt ICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIGRzdDJfciwgZHN0NTRfciwgZmls dF9oMSwgZHN0Ml9sLCBkc3Q1NF9sLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0X2gxLCBkc3Qz X3IsIGRzdDY1X3IsIGZpbHRfaDEsIGRzdDNfbCwgZHN0NjVfbCwgZmlsdF9oMSwKPiAtICAgICAg ICAgICAgICAgICAgZHN0Ml9yLCBkc3QyX2wsIGRzdDNfciwgZHN0M19sKTsKPiAtCj4gLSAgICAg ICAgRFVQNF9BUkczKF9fbHN4X3ZzcmFuaV9oX3csIGRzdDBfbCwgZHN0MF9yLCA2LCBkc3QxX2ws IGRzdDFfciwgNiwKPiAtICAgICAgICAgICAgICAgICAgZHN0Ml9sLCBkc3QyX3IsIDYsIGRzdDNf bCwgZHN0M19yLCA2LCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKPiAtICAgICAgICBEVVAyX0FS RzMoX19sc3hfdnNzcmFybmlfYnVfaCwgdG1wMSwgdG1wMCwgNiwgdG1wMywgdG1wMiwgNiwgb3V0 MCwgb3V0MSk7Cj4gLSAgICAgICAgX19sc3hfdnN0ZWxtX2Qob3V0MCwgZHN0LCAwLCAwKTsKPiAt ICAgICAgICBfX2xzeF92c3RlbG1fZChvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlLCAwLCAxKTsKPiAt ICAgICAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlXzJ4LCAwLCAwKTsK PiAtICAgICAgICBfX2xzeF92c3RlbG1fZChvdXQxLCBkc3QgKyBkc3Rfc3RyaWRlXzN4LCAwLCAx KTsKPiAtICAgICAgICBkc3QgKz0gODsKPiAtICAgIH0KPiAtfQo+IC0KPiAgc3RhdGljIGF2X2Fs d2F5c19pbmxpbmUKPiAgdm9pZCBoZXZjX2h2XzR0Xzh4Nl9sc3goY29uc3QgdWludDhfdCAqc3Jj LCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKPiAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCBpbnQ4X3QgKmZpbHRlcl94LAo+IEBAIC0x MDA5LDEwICs4ODcsOSBAQCB2b2lkIGhldmNfaHZfNHRfOHg2X2xzeChjb25zdCB1aW50OF90ICpz cmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAo+ICB9Cj4gIAo+ICBzdGF0aWMg YXZfYWx3YXlzX2lubGluZQo+IC12b2lkIGhldmNfaHZfNHRfOG11bHR4NG11bHRfbHN4KGNvbnN0 IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50MzJfdCBkc3Rfc3RyaWRlLCBjb25zdCBpbnQ4 X3QgKmZpbHRlcl94LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGlu dDhfdCAqZmlsdGVyX3ksIGludDMyX3QgaGVpZ2h0LAo+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludDMyX3Qgd2lkdGg4bXVsdCkKPiArdm9pZCBoZXZjX2h2XzR0XzhtdWx0X2xz eChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwgdWludDhfdCAqZHN0LAo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgaW50 OF90ICpmaWx0ZXJfeCwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3Qg KmZpbHRlcl95LCBpbnQzMl90IGhlaWdodCwgaW50MzJfdCB3aWR0aDhtdWx0KQo+ICB7Cj4gICAg ICB1aW50MzJfdCBsb29wX2NudCwgY250Owo+ICAgICAgY29uc3QgdWludDhfdCAqc3JjX3RtcDsK PiBAQCAtMTEzNCwxNCArMTAxMSwxMCBAQCB2b2lkIGhldmNfaHZfNHRfOHdfbHN4KGNvbnN0IHVp bnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCj4gIHsKPiAgICAg IGlmICgyID09IGhlaWdodCkgewo+ICAgICAgICAgIGhldmNfaHZfNHRfOHgyX2xzeChzcmMsIHNy Y19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyX3gsIGZpbHRlcl95KTsKPiAtICAgIH0g ZWxzZSBpZiAoNCA9PSBoZWlnaHQpIHsKPiAtICAgICAgICBoZXZjX2h2XzR0XzhtdWx0eDRfbHN4 KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3RyaWRlLAo+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmlsdGVyX3gsIGZpbHRlcl95LCAxKTsKPiAgICAgIH0gZWxzZSBpZiAoNiA9 PSBoZWlnaHQpIHsKPiAgICAgICAgICBoZXZjX2h2XzR0Xzh4Nl9sc3goc3JjLCBzcmNfc3RyaWRl LCBkc3QsIGRzdF9zdHJpZGUsIGZpbHRlcl94LCBmaWx0ZXJfeSk7Cj4gICAgICB9IGVsc2UgaWYg KDAgPT0gKGhlaWdodCAmIDB4MDMpKSB7Cj4gLSAgICAgICAgaGV2Y19odl80dF84bXVsdHg0bXVs dF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3gsIGZpbHRlcl95LCBoZWlnaHQsIDEpOwo+ICsg ICAgICAgIGhldmNfaHZfNHRfOG11bHRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rfc3Ry aWRlLCBmaWx0ZXJfeCwgZmlsdGVyX3ksIGhlaWdodCwgMSk7Cj4gICAgICB9Cj4gIH0KPiAgCj4g QEAgLTExNjAsMTcgKzEwMzMsMTQgQEAgdm9pZCBoZXZjX2h2XzR0XzEyd19sc3goY29uc3QgdWlu dDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKPiAgICAgIGNvbnN0 IGludDMyX3Qgc3JjX3N0cmlkZV8zeCA9IHNyY19zdHJpZGVfMnggKyBzcmNfc3RyaWRlOwo+ICAg ICAgY29uc3QgaW50MzJfdCBkc3Rfc3RyaWRlXzN4ID0gZHN0X3N0cmlkZV8yeCArIGRzdF9zdHJp ZGU7Cj4gICAgICBfX20xMjhpIG91dDAsIG91dDE7Cj4gLSAgICBfX20xMjhpIHNyYzAsIHNyYzEs IHNyYzIsIHNyYzMsIHNyYzQsIHNyYzUsIHNyYzYsIHNyYzcsIHNyYzgsIHNyYzksIHNyYzEwOwo+ ICsgICAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2Owo+ ICAgICAgX19tMTI4aSB2ZWMwLCB2ZWMxLCB2ZWMyLCB2ZWMzLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2 ZWM3Owo+IC0gICAgX19tMTI4aSBtYXNrMCwgbWFzazEsIG1hc2syLCBtYXNrMzsKPiArICAgIF9f bTEyOGkgbWFzazAsIG1hc2sxOwo+ICAgICAgX19tMTI4aSBmaWx0MCwgZmlsdDEsIGZpbHRfaDAs IGZpbHRfaDEsIGZpbHRlcl92ZWMsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDM7Cj4gICAgICBfX20x MjhpIGRzdGgwLCBkc3RoMSwgZHN0aDIsIGRzdGgzLCBkc3RoNCwgZHN0aDUsIGRzdGg2Owo+IC0g ICAgX19tMTI4aSBkc3QxMCwgZHN0MjEsIGRzdDIyLCBkc3Q3MywgZHN0ODQsIGRzdDk1LCBkc3Qx MDY7Cj4gLSAgICBfX20xMjhpIGRzdDc2X3IsIGRzdDk4X3IsIGRzdDg3X3IsIGRzdDEwOV9yOwo+ ICAgICAgX19tMTI4aSBkc3QxMF9yLCBkc3QzMl9yLCBkc3Q1NF9yLCBkc3QyMV9yLCBkc3Q0M19y LCBkc3Q2NV9yOwo+ICAgICAgX19tMTI4aSBkc3QxMF9sLCBkc3QzMl9sLCBkc3Q1NF9sLCBkc3Qy MV9sLCBkc3Q0M19sLCBkc3Q2NV9sOwo+ICAgICAgX19tMTI4aSBkc3QwX3IsIGRzdDBfbCwgZHN0 MV9yLCBkc3QxX2wsIGRzdDJfciwgZHN0Ml9sLCBkc3QzX3IsIGRzdDNfbDsKPiAtICAgIF9fbTEy OGkgZHN0MCwgZHN0MSwgZHN0MiwgZHN0MywgZHN0NCwgZHN0NSwgZHN0NiwgZHN0NzsKPiAgCj4g ICAgICBzcmMgLT0gKHNyY19zdHJpZGUgKyAxKTsKPiAgICAgIERVUDJfQVJHMihfX2xzeF92bGRy ZXBsX2gsIGZpbHRlcl94LCAwLCBmaWx0ZXJfeCwgMiwgZmlsdDAsIGZpbHQxKTsKPiBAQCAtMTE4 Niw4ICsxMDU2LDcgQEAgdm9pZCBoZXZjX2h2XzR0XzEyd19sc3goY29uc3QgdWludDhfdCAqc3Jj LCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKPiAgICAgIGRzdF90bXAgPSBkc3Q7 Cj4gIAo+ICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKPiAtICAgIERVUDJfQVJH MihfX2xzeF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlXzJ4 LAo+IC0gICAgICAgICAgICAgIHNyYzEsIHNyYzIpOwo+ICsgICAgRFVQMl9BUkcyKF9fbHN4X3Zs ZHgsIHNyY190bXAsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGVfMngsIHNyYzEsIHNy YzIpOwo+ICAgICAgc3JjX3RtcCArPSBzcmNfc3RyaWRlXzN4Owo+ICAKPiAgICAgIERVUDJfQVJH MyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMCwgc3JjMCwgc3JjMCwgbWFzazEsIHZl YzAsIHZlYzEpOwo+IEBAIC0xMTk2LDE3ICsxMDY1LDE1IEBAIHZvaWQgaGV2Y19odl80dF8xMndf bHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3Qs Cj4gIAo+ICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwgdmVj MiwgZmlsdDAsIGRzdGgwLCBkc3RoMSk7Cj4gICAgICBkc3RoMiA9IF9fbHN4X3ZkcDJfaF9idV9i KHZlYzQsIGZpbHQwKTsKPiAtICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0 aDAsIHZlYzEsIGZpbHQxLCBkc3RoMSwgdmVjMywgZmlsdDEsCj4gLSAgICAgICAgICAgICAgZHN0 aDAsIGRzdGgxKTsKPiArICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0aDAs IHZlYzEsIGZpbHQxLCBkc3RoMSwgdmVjMywgZmlsdDEsIGRzdGgwLCBkc3RoMSk7Cj4gICAgICBk c3RoMiA9IF9fbHN4X3ZkcDJhZGRfaF9idV9iKGRzdGgyLCB2ZWM1LCBmaWx0MSk7Cj4gIAo+ICAg ICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdGgxLCBkc3RoMCwgZHN0aDIsIGRzdGgxLCBk c3QxMF9yLCBkc3QyMV9yKTsKPiAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9oLCBkc3RoMSwg ZHN0aDAsIGRzdGgyLCBkc3RoMSwgZHN0MTBfbCwgZHN0MjFfbCk7Cj4gIAo+IC0gICAgZm9yIChs b29wX2NudCA9IDQ7IGxvb3BfY250LS07KSB7Cj4gKyAgICBmb3IgKGxvb3BfY250ID0gaGVpZ2h0 ID4+IDI7IGxvb3BfY250LS07KSB7Cj4gICAgICAgICAgc3JjMyA9IF9fbHN4X3ZsZChzcmNfdG1w LCAwKTsKPiAtICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcCwgc3JjX3N0cmlk ZSwgc3JjX3RtcCwgc3JjX3N0cmlkZV8yeCwKPiAtICAgICAgICAgICAgICAgICAgc3JjNCwgc3Jj NSk7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190bXAsIHNyY19zdHJpZGUs IHNyY190bXAsIHNyY19zdHJpZGVfMngsIHNyYzQsIHNyYzUpOwo+ICAgICAgICAgIHNyYzYgPSBf X2xzeF92bGR4KHNyY190bXAsIHNyY19zdHJpZGVfM3gpOwo+ICAgICAgICAgIHNyY190bXAgKz0g c3JjX3N0cmlkZV80eDsKPiAgCj4gQEAgLTEyNTQsODMgKzExMjEsNzMgQEAgdm9pZCBoZXZjX2h2 XzR0XzEyd19sc3goY29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4 X3QgKmRzdCwKPiAgICAgICAgICBkc3RoMiA9IGRzdGg2Owo+ICAgICAgfQo+ICAKPiAtICAgIHNy YyArPSA4Owo+IC0gICAgZHN0ICs9IDg7Cj4gKyAgICBzcmNfdG1wID0gc3JjICsgODsKPiArICAg IGRzdF90bXAgPSBkc3QgKyA4Owo+ICAKPiAtICAgIG1hc2syID0gX19sc3hfdmxkKGZmX2hldmNf bWFza19hcnIsIDE2KTsKPiAtICAgIG1hc2szID0gX19sc3hfdmFkZGlfYnUobWFzazIsIDIpOwo+ ICsgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKPiArICAgIERVUDJfQVJHMihfX2xz eF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3RyaWRlXzJ4LCBzcmMx LCBzcmMyKTsKPiArICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZV8zeDsKPiAgCj4gLSAgICBzcmMw ID0gX19sc3hfdmxkKHNyYywgMCk7Cj4gLSAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBz cmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfMngsIHNyYzEsIHNyYzIpOwo+IC0gICAgc3JjICs9 IHNyY19zdHJpZGVfM3g7Cj4gLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMSwgc3Jj MCwgbWFzazIsIHNyYzEsIHNyYzAsIG1hc2szLCB2ZWMwLCB2ZWMxKTsKPiAtICAgIERVUDJfQVJH MyhfX2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMxLCBtYXNrMiwgc3JjMiwgc3JjMSwgbWFzazMsIHZl YzIsIHZlYzMpOwo+ICsgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1h c2swLCBzcmMwLCBzcmMwLCBtYXNrMSwgdmVjMCwgdmVjMSk7Cj4gKyAgICBEVVAyX0FSRzMoX19s c3hfdnNodWZfYiwgc3JjMSwgc3JjMSwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2sxLCB2ZWMyLCB2 ZWMzKTsKPiArICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrMCwg c3JjMiwgc3JjMiwgbWFzazEsIHZlYzQsIHZlYzUpOwo+ICAKPiAtICAgIERVUDJfQVJHMihfX2xz eF92ZHAyX2hfYnVfYiwgdmVjMCwgZmlsdDAsIHZlYzIsIGZpbHQwLCBkc3QxMCwgZHN0MjEpOwo+ IC0gICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBkc3QxMCwgdmVjMSwgZmlsdDEs IGRzdDIxLCB2ZWMzLCBmaWx0MSwKPiAtICAgICAgICAgICAgICBkc3QxMCwgZHN0MjEpOwo+ICsg ICAgRFVQMl9BUkcyKF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwgdmVjMiwgZmlsdDAs IGRzdGgwLCBkc3RoMSk7Cj4gKyAgICBkc3RoMiA9IF9fbHN4X3ZkcDJfaF9idV9iKHZlYzQsIGZp bHQwKTsKPiArICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0aDAsIHZlYzEs IGZpbHQxLCBkc3RoMSwgdmVjMywgZmlsdDEsIGRzdGgwLCBkc3RoMSk7Cj4gKyAgICBkc3RoMiA9 IF9fbHN4X3ZkcDJhZGRfaF9idV9iKGRzdGgyLCB2ZWM1LCBmaWx0MSk7Cj4gIAo+IC0gICAgZHN0 MTBfciA9IF9fbHN4X3ZpbHZsX2goZHN0MjEsIGRzdDEwKTsKPiAtICAgIGRzdDIxX3IgPSBfX2xz eF92aWx2aF9oKGRzdDIxLCBkc3QxMCk7Cj4gLSAgICBkc3QyMiA9IF9fbHN4X3ZyZXBsdmVpX2Qo ZHN0MjEsIDEpOwo+ICsgICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdGgxLCBkc3RoMCwg ZHN0aDIsIGRzdGgxLCBkc3QxMF9yLCBkc3QyMV9yKTsKPiArICAgIERVUDJfQVJHMihfX2xzeF92 aWx2aF9oLCBkc3RoMSwgZHN0aDAsIGRzdGgyLCBkc3RoMSwgZHN0MTBfbCwgZHN0MjFfbCk7Cj4g IAo+IC0gICAgZm9yIChsb29wX2NudCA9IDI7IGxvb3BfY250LS07KSB7Cj4gLSAgICAgICAgc3Jj MyA9IF9fbHN4X3ZsZChzcmMsIDApOwo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBz cmMsIHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV8yeCwgc3JjNCwgc3JjNSk7Cj4gLSAgICAg ICAgc3JjNiA9IF9fbHN4X3ZsZHgoc3JjLCBzcmNfc3RyaWRlXzN4KTsKPiAtICAgICAgICBzcmMg Kz0gc3JjX3N0cmlkZV80eDsKPiAtICAgICAgICBzcmM3ID0gX19sc3hfdmxkKHNyYywgMCk7Cj4g LSAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNf c3RyaWRlXzJ4LCBzcmM4LCBzcmM5KTsKPiAtICAgICAgICBzcmMxMCA9IF9fbHN4X3ZsZHgoc3Jj LCBzcmNfc3RyaWRlXzN4KTsKPiAtICAgICAgICBzcmMgKz0gc3JjX3N0cmlkZV80eDsKPiAtICAg ICAgICBEVVA0X0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNywgc3JjMywgbWFzazIsIHNyYzcsIHNy YzMsIG1hc2szLCBzcmM4LAo+IC0gICAgICAgICAgICAgICAgICBzcmM0LCBtYXNrMiwgc3JjOCwg c3JjNCwgbWFzazMsIHZlYzAsIHZlYzEsIHZlYzIsIHZlYzMpOwo+IC0gICAgICAgIERVUDRfQVJH MyhfX2xzeF92c2h1Zl9iLCBzcmM5LCBzcmM1LCBtYXNrMiwgc3JjOSwgc3JjNSwgbWFzazMsIHNy YzEwLAo+IC0gICAgICAgICAgICAgICAgICBzcmM2LCBtYXNrMiwgc3JjMTAsIHNyYzYsIG1hc2sz LCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3KTsKPiArICAgIGZvciAobG9vcF9jbnQgPSBoZWlnaHQg Pj4gMjsgbG9vcF9jbnQtLTspIHsKPiArICAgICAgICBzcmMzID0gX19sc3hfdmxkKHNyY190bXAs IDApOwo+ICsgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRl LCBzcmNfdG1wLCBzcmNfc3RyaWRlXzJ4LCBzcmM0LCBzcmM1KTsKPiArICAgICAgICBzcmM2ID0g X19sc3hfdmxkeChzcmNfdG1wLCBzcmNfc3RyaWRlXzN4KTsKPiArICAgICAgICBzcmNfdG1wICs9 IHNyY19zdHJpZGVfNHg7Cj4gKwo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92c2h1Zl9iLCBz cmMzLCBzcmMzLCBtYXNrMCwgc3JjMywgc3JjMywgbWFzazEsIHNyYzQsCj4gKyAgICAgICAgICAg ICAgICAgIHNyYzQsIG1hc2swLCBzcmM0LCBzcmM0LCBtYXNrMSwgdmVjMCwgdmVjMSwgdmVjMiwg dmVjMyk7Cj4gKyAgICAgICAgRFVQNF9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzUsIHNyYzUsIG1h c2swLCBzcmM1LCBzcmM1LCBtYXNrMSwgc3JjNiwKPiArICAgICAgICAgICAgICAgICAgc3JjNiwg bWFzazAsIHNyYzYsIHNyYzYsIG1hc2sxLCB2ZWM0LCB2ZWM1LCB2ZWM2LCB2ZWM3KTsKPiAgCj4g ICAgICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwgdmVjMiwg ZmlsdDAsIHZlYzQsIGZpbHQwLAo+IC0gICAgICAgICAgICAgICAgICB2ZWM2LCBmaWx0MCwgZHN0 NzMsIGRzdDg0LCBkc3Q5NSwgZHN0MTA2KTsKPiAtICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRw MmFkZF9oX2J1X2IsIGRzdDczLCB2ZWMxLCBmaWx0MSwgZHN0ODQsIHZlYzMsCj4gLSAgICAgICAg ICAgICAgICAgIGZpbHQxLCBkc3Q5NSwgdmVjNSwgZmlsdDEsIGRzdDEwNiwgdmVjNywgZmlsdDEs Cj4gLSAgICAgICAgICAgICAgICAgIGRzdDczLCBkc3Q4NCwgZHN0OTUsIGRzdDEwNik7Cj4gLQo+ IC0gICAgICAgIGRzdDMyX3IgPSBfX2xzeF92aWx2bF9oKGRzdDczLCBkc3QyMik7Cj4gLSAgICAg ICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdDg0LCBkc3Q3MywgZHN0OTUsIGRzdDg0LCBk c3Q0M19yLCBkc3Q1NF9yKTsKPiAtICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgZHN0 ODQsIGRzdDczLCBkc3Q5NSwgZHN0ODQsIGRzdDg3X3IsIGRzdDk4X3IpOwo+IC0gICAgICAgIGRz dDY1X3IgPSBfX2xzeF92aWx2bF9oKGRzdDEwNiwgZHN0OTUpOwo+IC0gICAgICAgIGRzdDEwOV9y ID0gX19sc3hfdmlsdmhfaChkc3QxMDYsIGRzdDk1KTsKPiAtICAgICAgICBkc3QyMiA9IF9fbHN4 X3ZyZXBsdmVpX2QoZHN0NzMsIDEpOwo+IC0gICAgICAgIGRzdDc2X3IgPSBfX2xzeF92aWx2bF9o KGRzdDIyLCBkc3QxMDYpOwo+IC0KPiAtICAgICAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl93X2gs IGRzdDEwX3IsIGZpbHRfaDAsIGRzdDIxX3IsIGZpbHRfaDAsIGRzdDMyX3IsCj4gLSAgICAgICAg ICAgICAgICAgIGZpbHRfaDAsIGRzdDQzX3IsIGZpbHRfaDAsIGRzdDAsIGRzdDEsIGRzdDIsIGRz dDMpOwo+IC0gICAgICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX3dfaCwgZHN0NTRfciwgZmlsdF9o MCwgZHN0NjVfciwgZmlsdF9oMCwgZHN0NzZfciwKPiAtICAgICAgICAgICAgICAgICAgZmlsdF9o MCwgZHN0ODdfciwgZmlsdF9oMCwgZHN0NCwgZHN0NSwgZHN0NiwgZHN0Nyk7Cj4gLSAgICAgICAg RFVQNF9BUkczKF9fbHN4X3ZkcDJhZGRfd19oLCBkc3QwLCBkc3QzMl9yLCBmaWx0X2gxLCBkc3Qx LCBkc3Q0M19yLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0X2gxLCBkc3QyLCBkc3Q1NF9yLCBm aWx0X2gxLCBkc3QzLCBkc3Q2NV9yLCBmaWx0X2gxLAo+IC0gICAgICAgICAgICAgICAgICBkc3Qw LCBkc3QxLCBkc3QyLCBkc3QzKTsKPiAtICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93 X2gsIGRzdDQsIGRzdDc2X3IsIGZpbHRfaDEsIGRzdDUsIGRzdDg3X3IsCj4gLSAgICAgICAgICAg ICAgICAgIGZpbHRfaDEsIGRzdDYsIGRzdDk4X3IsIGZpbHRfaDEsIGRzdDcsIGRzdDEwOV9yLCBm aWx0X2gxLAo+IC0gICAgICAgICAgICAgICAgICBkc3Q0LCBkc3Q1LCBkc3Q2LCBkc3Q3KTsKPiAt Cj4gLSAgICAgICAgRFVQNF9BUkczKF9fbHN4X3ZzcmFuaV9oX3csIGRzdDEsIGRzdDAsIDYsIGRz dDMsIGRzdDIsIDYsIGRzdDUsIGRzdDQsCj4gLSAgICAgICAgICAgICAgICAgIDYsIGRzdDcsIGRz dDYsIDYsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwo+ICsgICAgICAgICAgICAgICAgICB2ZWM2 LCBmaWx0MCwgZHN0aDMsIGRzdGg0LCBkc3RoNSwgZHN0aDYpOwo+ICsgICAgICAgIERVUDRfQVJH MyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0aDMsIHZlYzEsIGZpbHQxLCBkc3RoNCwKPiArICAg ICAgICAgICAgICAgICAgdmVjMywgZmlsdDEsIGRzdGg1LCB2ZWM1LCBmaWx0MSwgZHN0aDYsIHZl YzcsIGZpbHQxLAo+ICsgICAgICAgICAgICAgICAgICBkc3RoMywgZHN0aDQsIGRzdGg1LCBkc3Ro Nik7Cj4gKwo+ICsgICAgICAgIERVUDRfQVJHMihfX2xzeF92aWx2bF9oLCBkc3RoMywgZHN0aDIs IGRzdGg0LCBkc3RoMywgZHN0aDUsIGRzdGg0LAo+ICsgICAgICAgICAgICAgICAgICBkc3RoNiwg ZHN0aDUsIGRzdDMyX3IsIGRzdDQzX3IsIGRzdDU0X3IsIGRzdDY1X3IpOwo+ICsgICAgICAgIERV UDRfQVJHMihfX2xzeF92aWx2aF9oLCBkc3RoMywgZHN0aDIsIGRzdGg0LCBkc3RoMywgZHN0aDUs IGRzdGg0LAo+ICsgICAgICAgICAgICAgICAgICBkc3RoNiwgZHN0aDUsIGRzdDMyX2wsIGRzdDQz X2wsIGRzdDU0X2wsIGRzdDY1X2wpOwo+ICsKPiArICAgICAgICBEVVA0X0FSRzIoX19sc3hfdmRw Ml93X2gsIGRzdDEwX3IsIGZpbHRfaDAsIGRzdDEwX2wsIGZpbHRfaDAsIGRzdDIxX3IsCj4gKyAg ICAgICAgICAgICAgICAgIGZpbHRfaDAsIGRzdDIxX2wsIGZpbHRfaDAsIGRzdDBfciwgZHN0MF9s LCBkc3QxX3IsIGRzdDFfbCk7Cj4gKyAgICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfd19oLCBk c3QzMl9yLCBmaWx0X2gwLCBkc3QzMl9sLCBmaWx0X2gwLCBkc3Q0M19yLAo+ICsgICAgICAgICAg ICAgICAgICBmaWx0X2gwLCBkc3Q0M19sLCBmaWx0X2gwLCBkc3QyX3IsIGRzdDJfbCwgZHN0M19y LCBkc3QzX2wpOwo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX3dfaCwgZHN0MF9y LCBkc3QzMl9yLCBmaWx0X2gxLCBkc3QwX2wsIGRzdDMyX2wsCj4gKyAgICAgICAgICAgICAgICAg IGZpbHRfaDEsIGRzdDFfciwgZHN0NDNfciwgZmlsdF9oMSwgZHN0MV9sLCBkc3Q0M19sLCBmaWx0 X2gxLAo+ICsgICAgICAgICAgICAgICAgICBkc3QwX3IsIGRzdDBfbCwgZHN0MV9yLCBkc3QxX2wp Owo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX3dfaCwgZHN0Ml9yLCBkc3Q1NF9y LCBmaWx0X2gxLCBkc3QyX2wsIGRzdDU0X2wsCj4gKyAgICAgICAgICAgICAgICAgIGZpbHRfaDEs IGRzdDNfciwgZHN0NjVfciwgZmlsdF9oMSwgZHN0M19sLCBkc3Q2NV9sLCBmaWx0X2gxLAo+ICsg ICAgICAgICAgICAgICAgICBkc3QyX3IsIGRzdDJfbCwgZHN0M19yLCBkc3QzX2wpOwo+ICsKPiAr ICAgICAgICBEVVA0X0FSRzMoX19sc3hfdnNyYW5pX2hfdywgZHN0MF9sLCBkc3QwX3IsIDYsIGRz dDFfbCwgZHN0MV9yLCA2LCBkc3QyX2wsCj4gKyAgICAgICAgICAgICAgICAgIGRzdDJfciwgNiwg ZHN0M19sLCBkc3QzX3IsIDYsIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwo+ICAgICAgICAgIERV UDJfQVJHMyhfX2xzeF92c3NyYXJuaV9idV9oLCB0bXAxLCB0bXAwLCA2LCB0bXAzLCB0bXAyLCA2 LCBvdXQwLCBvdXQxKTsKPiAgCj4gLSAgICAgICAgX19sc3hfdnN0ZWxtX3cob3V0MCwgZHN0LCAw LCAwKTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlLCAw LCAxKTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QgKyBkc3Rfc3RyaWRlXzJ4 LCAwLCAyKTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fdyhvdXQwLCBkc3QgKyBkc3Rfc3RyaWRl XzN4LCAwLCAzKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZV80eDsKPiAtICAgICAgICBf X2xzeF92c3RlbG1fdyhvdXQxLCBkc3QsIDAsIDApOwo+IC0gICAgICAgIF9fbHN4X3ZzdGVsbV93 KG91dDEsIGRzdCArIGRzdF9zdHJpZGUsIDAsIDEpOwo+IC0gICAgICAgIF9fbHN4X3ZzdGVsbV93 KG91dDEsIGRzdCArIGRzdF9zdHJpZGVfMngsIDAsIDIpOwo+IC0gICAgICAgIF9fbHN4X3ZzdGVs bV93KG91dDEsIGRzdCArIGRzdF9zdHJpZGVfM3gsIDAsIDMpOwo+IC0gICAgICAgIGRzdCArPSBk c3Rfc3RyaWRlXzR4Owo+ICsgICAgICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdF90bXAsIDAs IDApOwo+ICsgICAgICAgIF9fbHN4X3ZzdGVsbV93KG91dDAsIGRzdF90bXAgKyBkc3Rfc3RyaWRl LCAwLCAyKTsKPiArICAgICAgICBfX2xzeF92c3RlbG1fdyhvdXQxLCBkc3RfdG1wICsgZHN0X3N0 cmlkZV8yeCwgMCwgMCk7Cj4gKyAgICAgICAgX19sc3hfdnN0ZWxtX3cob3V0MSwgZHN0X3RtcCAr IGRzdF9zdHJpZGVfM3gsIDAsIDIpOwo+ICsgICAgICAgIGRzdF90bXAgKz0gZHN0X3N0cmlkZV80 eDsKPiAgCj4gLSAgICAgICAgZHN0MTBfciA9IGRzdDk4X3I7Cj4gLSAgICAgICAgZHN0MjFfciA9 IGRzdDEwOV9yOwo+IC0gICAgICAgIGRzdDIyID0gX19sc3hfdnJlcGx2ZWlfZChkc3QxMDYsIDEp Owo+ICsgICAgICAgIGRzdDEwX3IgPSBkc3Q1NF9yOwo+ICsgICAgICAgIGRzdDEwX2wgPSBkc3Q1 NF9sOwo+ICsgICAgICAgIGRzdDIxX3IgPSBkc3Q2NV9yOwo+ICsgICAgICAgIGRzdDIxX2wgPSBk c3Q2NV9sOwo+ICsgICAgICAgIGRzdGgyID0gZHN0aDY7Cj4gICAgICB9Cj4gIH0KPiAgCj4gQEAg LTEzMzgsMjkgKzExOTUsMjEgQEAgc3RhdGljIHZvaWQgaGV2Y19odl80dF8xNndfbHN4KGNvbnN0 IHVpbnQ4X3QgKnNyYywgaW50MzJfdCBzcmNfc3RyaWRlLCB1aW50OF90ICoKPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3QgaW50OF90ICpm aWx0ZXJfeCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludDhfdCAq ZmlsdGVyX3ksIGludDMyX3QgaGVpZ2h0KQo+ICB7Cj4gLSAgICBpZiAoNCA9PSBoZWlnaHQpIHsK PiAtICAgICAgICBoZXZjX2h2XzR0XzhtdWx0eDRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBk c3Rfc3RyaWRlLCBmaWx0ZXJfeCwKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp bHRlcl95LCAyKTsKPiAtICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgaGV2Y19odl80dF84bXVsdHg0 bXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyX3gsIGZpbHRlcl95LCBoZWlnaHQsIDIpOwo+ IC0gICAgfQo+ICsgICAgaGV2Y19odl80dF84bXVsdF9sc3goc3JjLCBzcmNfc3RyaWRlLCBkc3Qs IGRzdF9zdHJpZGUsIGZpbHRlcl94LCBmaWx0ZXJfeSwgaGVpZ2h0LCAyKTsKPiAgfQo+ICAKPiAg c3RhdGljIHZvaWQgaGV2Y19odl80dF8yNHdfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywgaW50MzJf dCBzcmNfc3RyaWRlLCB1aW50OF90ICpkc3QsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQzMl90IGRzdF9zdHJpZGUsIGNvbnN0IGludDhfdCAqZmlsdGVyX3gsCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQ4X3QgKmZpbHRlcl95LCBpbnQzMl90 IGhlaWdodCkKPiAgewo+IC0gICAgaGV2Y19odl80dF84bXVsdHg0bXVsdF9sc3goc3JjLCBzcmNf c3RyaWRlLCBkc3QsIGRzdF9zdHJpZGUsCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmaWx0ZXJfeCwgZmlsdGVyX3ksIGhlaWdodCwgMyk7Cj4gKyAgICBoZXZjX2h2XzR0XzhtdWx0 X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwgZmlsdGVyX3gsIGZpbHRlcl95 LCBoZWlnaHQsIDMpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBoZXZjX2h2XzR0XzMyd19sc3go Y29uc3QgdWludDhfdCAqc3JjLCBpbnQzMl90IHNyY19zdHJpZGUsIHVpbnQ4X3QgKmRzdCwKPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDMyX3QgZHN0X3N0cmlkZSwgY29uc3Qg aW50OF90ICpmaWx0ZXJfeCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGludDhfdCAqZmlsdGVyX3ksIGludDMyX3QgaGVpZ2h0KQo+ICB7Cj4gLSAgICBoZXZjX2h2XzR0 XzhtdWx0eDRtdWx0X2xzeChzcmMsIHNyY19zdHJpZGUsIGRzdCwgZHN0X3N0cmlkZSwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcl94LCBmaWx0ZXJfeSwgaGVpZ2h0LCA0 KTsKPiArICAgIGhldmNfaHZfNHRfOG11bHRfbHN4KHNyYywgc3JjX3N0cmlkZSwgZHN0LCBkc3Rf c3RyaWRlLCBmaWx0ZXJfeCwgZmlsdGVyX3ksIGhlaWdodCwgNCk7Cj4gIH0KPiAgCj4gICNkZWZp bmUgVU5JX01DKFBFTCwgRElSLCBXSURUSCwgVEFQLCBESVIxLCBGSUxUX0RJUikgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gQEAgLTEzODYsOCArMTIzNSw4IEBAIFVOSV9NQyhxcGVsLCB2 LCAzMiwgOCwgdnQsIG15KTsKPiAgVU5JX01DKHFwZWwsIHYsIDQ4LCA4LCB2dCwgbXkpOwo+ICBV TklfTUMocXBlbCwgdiwgNjQsIDgsIHZ0LCBteSk7Cj4gIAo+IC1VTklfTUMoZXBlbCwgdiwgMjQs IDQsIHZ0LCBteSk7Cj4gLVVOSV9NQyhlcGVsLCB2LCAzMiwgNCwgdnQsIG15KTsKPiArVU5JX01D KGVwZWwsIHYsIDI0LCAyLCB2dCwgbXkpOwo+ICtVTklfTUMoZXBlbCwgdiwgMzIsIDIsIHZ0LCBt eSk7Cj4gIAo+ICAjdW5kZWYgVU5JX01DCj4gIAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xv b25nYXJjaC9oZXZjZHNwX2luaXRfbG9vbmdhcmNoLmMgYi9saWJhdmNvZGVjL2xvb25nYXJjaC9o ZXZjZHNwX2luaXRfbG9vbmdhcmNoLmMKPiBpbmRleCAxNTg1YmRhMjc2Li41NWZlNmIxNWFkIDEw MDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNkc3BfaW5pdF9sb29uZ2FyY2gu Ywo+ICsrKyBiL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNkc3BfaW5pdF9sb29uZ2FyY2guYwo+ IEBAIC0xMzksNyArMTM5LDYgQEAgdm9pZCBmZl9oZXZjX2RzcF9pbml0X2xvb25nYXJjaChIRVZD RFNQQ29udGV4dCAqYywgY29uc3QgaW50IGJpdF9kZXB0aCkKPiAgICAgICAgICAgICAgYy0+cHV0 X2hldmNfZXBlbF9iaVs2XVsxXVswXSA9IGZmX2hldmNfcHV0X2hldmNfYmlfZXBlbF92MjRfOF9s c3g7Cj4gICAgICAgICAgICAgIGMtPnB1dF9oZXZjX2VwZWxfYmlbN11bMV1bMF0gPSBmZl9oZXZj X3B1dF9oZXZjX2JpX2VwZWxfdjMyXzhfbHN4Owo+ICAKPiAtICAgICAgICAgICAgYy0+cHV0X2hl dmNfZXBlbF9iaVsyXVsxXVsxXSA9IGZmX2hldmNfcHV0X2hldmNfYmlfZXBlbF9odjZfOF9sc3g7 Cj4gICAgICAgICAgICAgIGMtPnB1dF9oZXZjX2VwZWxfYmlbM11bMV1bMV0gPSBmZl9oZXZjX3B1 dF9oZXZjX2JpX2VwZWxfaHY4XzhfbHN4Owo+ICAgICAgICAgICAgICBjLT5wdXRfaGV2Y19lcGVs X2JpWzVdWzFdWzFdID0gZmZfaGV2Y19wdXRfaGV2Y19iaV9lcGVsX2h2MTZfOF9sc3g7Cj4gICAg ICAgICAgICAgIGMtPnB1dF9oZXZjX2VwZWxfYmlbNl1bMV1bMV0gPSBmZl9oZXZjX3B1dF9oZXZj X2JpX2VwZWxfaHYyNF84X2xzeDsKPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9sb29uZ2FyY2gv aGV2Y2RzcF9sc3guYyBiL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNkc3BfbHN4LmMKPiBpbmRl eCA1NzQ3OTI1NTI1Li45OTM5NDQxNjRkIDEwMDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvbG9vbmdh cmNoL2hldmNkc3BfbHN4LmMKPiArKysgYi9saWJhdmNvZGVjL2xvb25nYXJjaC9oZXZjZHNwX2xz eC5jCj4gQEAgLTc3Miw1NiArNzcyLDQwIEBAIHN0YXRpYyB2b2lkIGhldmNfaHpfOHRfMTJ3X2xz eChjb25zdCB1aW50OF90ICpzcmMsIGludDMyX3Qgc3JjX3N0cmlkZSwKPiAgICAgIERVUDJfQVJH MihfX2xzeF92YWRkaV9idSwgbWFzazQsIDIsIG1hc2s0LCA0LCBtYXNrNSwgbWFzazYpOwo+ICAg ICAgbWFzazcgPSBfX2xzeF92YWRkaV9idShtYXNrNCwgNik7Cj4gIAo+IC0gICAgZm9yIChsb29w X2NudCA9IDQ7IGxvb3BfY250LS07KSB7Cj4gKyAgICBmb3IgKGxvb3BfY250ID0gaGVpZ2h0ID4+ IDI7IGxvb3BfY250LS07KSB7Cj4gICAgICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwo+ ICAgICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMsIHNyY19zdHJpZGUsIHNyYywgc3Jj X3N0cmlkZV8yeCwgc3JjMSwgc3JjMik7Cj4gICAgICAgICAgc3JjMyA9IF9fbHN4X3ZsZHgoc3Jj LCBzcmNfc3RyaWRlXzN4KTsKPiAgICAgICAgICBzcmM0ID0gX19sc3hfdmxkKF9zcmMsIDApOwo+ IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBfc3JjLCBzcmNfc3RyaWRlLCBfc3JjLCBz cmNfc3RyaWRlXzJ4LAo+IC0gICAgICAgICAgICAgICAgICBzcmM1LCBzcmM2KTsKPiArICAgICAg ICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgX3NyYywgc3JjX3N0cmlkZSwgX3NyYywgc3JjX3N0cmlk ZV8yeCwgc3JjNSwgc3JjNik7Cj4gICAgICAgICAgc3JjNyA9IF9fbHN4X3ZsZHgoX3NyYywgc3Jj X3N0cmlkZV8zeCk7Cj4gICAgICAgICAgc3JjICs9IHNyY19zdHJpZGVfNHg7Cj4gICAgICAgICAg X3NyYyArPSBzcmNfc3RyaWRlXzR4Owo+ICAKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNo dWZfYiwgc3JjMCwgc3JjMCwgbWFzazAsIHNyYzEsIHNyYzEsIG1hc2swLAo+IC0gICAgICAgICAg ICAgICAgICB2ZWMwLCB2ZWMxKTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwg c3JjMiwgc3JjMiwgbWFzazAsIHNyYzMsIHNyYzMsIG1hc2swLAo+IC0gICAgICAgICAgICAgICAg ICB2ZWMyLCB2ZWMzKTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNSwg c3JjNCwgbWFzazQsIHNyYzcsIHNyYzYsIG1hc2s0LAo+IC0gICAgICAgICAgICAgICAgICB2ZWM0 LCB2ZWM1KTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwg bWFzazAsIHNyYzEsIHNyYzEsIG1hc2swLCB2ZWMwLCB2ZWMxKTsKPiArICAgICAgICBEVVAyX0FS RzMoX19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzazAsIHNyYzMsIHNyYzMsIG1hc2swLCB2 ZWMyLCB2ZWMzKTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNSwgc3Jj NCwgbWFzazQsIHNyYzcsIHNyYzYsIG1hc2s0LCB2ZWM0LCB2ZWM1KTsKPiAgICAgICAgICBEVVA0 X0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHZlYzAsIGZpbHQwLCB2ZWMxLCBmaWx0MCwgdmVjMiwg ZmlsdDAsCj4gICAgICAgICAgICAgICAgICAgIHZlYzMsIGZpbHQwLCBkc3QwLCBkc3QxLCBkc3Qy LCBkc3QzKTsKPiAgICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHZlYzQsIGZp bHQwLCB2ZWM1LCBmaWx0MCwgZHN0NCwgZHN0NSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4 X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2sxLCBzcmMxLCBzcmMxLCBtYXNrMSwKPiAtICAgICAg ICAgICAgICAgICAgdmVjMCwgdmVjMSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVm X2IsIHNyYzIsIHNyYzIsIG1hc2sxLCBzcmMzLCBzcmMzLCBtYXNrMSwKPiAtICAgICAgICAgICAg ICAgICAgdmVjMiwgdmVjMyk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNy YzUsIHNyYzQsIG1hc2s1LCBzcmM3LCBzcmM2LCBtYXNrNSwKPiAtICAgICAgICAgICAgICAgICAg dmVjNCwgdmVjNSk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzAsIHNy YzAsIG1hc2sxLCBzcmMxLCBzcmMxLCBtYXNrMSwgdmVjMCwgdmVjMSk7Cj4gKyAgICAgICAgRFVQ Ml9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzIsIHNyYzIsIG1hc2sxLCBzcmMzLCBzcmMzLCBtYXNr MSwgdmVjMiwgdmVjMyk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzUs IHNyYzQsIG1hc2s1LCBzcmM3LCBzcmM2LCBtYXNrNSwgdmVjNCwgdmVjNSk7Cj4gICAgICAgICAg RFVQNF9BUkczKF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBkc3QwLCB2ZWMwLCBmaWx0MSwgZHN0MSwg dmVjMSwgZmlsdDEsCj4gICAgICAgICAgICAgICAgICAgIGRzdDIsIHZlYzIsIGZpbHQxLCBkc3Qz LCB2ZWMzLCBmaWx0MSwgZHN0MCwgZHN0MSwgZHN0MiwgZHN0Myk7Cj4gLSAgICAgICAgRFVQMl9B UkczKF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBkc3Q0LCB2ZWM0LCBmaWx0MSwgZHN0NSwgdmVjNSwg ZmlsdDEsCj4gLSAgICAgICAgICAgICAgICAgIGRzdDQsIGRzdDUpOwo+IC0gICAgICAgIERVUDJf QVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMiwgc3JjMSwgc3JjMSwgbWFzazIs Cj4gLSAgICAgICAgICAgICAgICAgIHZlYzAsIHZlYzEpOwo+IC0gICAgICAgIERVUDJfQVJHMyhf X2xzeF92c2h1Zl9iLCBzcmMyLCBzcmMyLCBtYXNrMiwgc3JjMywgc3JjMywgbWFzazIsCj4gLSAg ICAgICAgICAgICAgICAgIHZlYzIsIHZlYzMpOwo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92 c2h1Zl9iLCBzcmM1LCBzcmM0LCBtYXNrNiwgc3JjNywgc3JjNiwgbWFzazYsCj4gLSAgICAgICAg ICAgICAgICAgIHZlYzQsIHZlYzUpOwo+ICsgICAgICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRk X2hfYnVfYiwgZHN0NCwgdmVjNCwgZmlsdDEsIGRzdDUsIHZlYzUsIGZpbHQxLCBkc3Q0LCBkc3Q1 KTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMCwgc3JjMCwgbWFzazIs IHNyYzEsIHNyYzEsIG1hc2syLCB2ZWMwLCB2ZWMxKTsKPiArICAgICAgICBEVVAyX0FSRzMoX19s c3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzazIsIHNyYzMsIHNyYzMsIG1hc2syLCB2ZWMyLCB2 ZWMzKTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjNSwgc3JjNCwgbWFz azYsIHNyYzcsIHNyYzYsIG1hc2s2LCB2ZWM0LCB2ZWM1KTsKPiAgICAgICAgICBEVVA0X0FSRzMo X19sc3hfdmRwMmFkZF9oX2J1X2IsIGRzdDAsIHZlYzAsIGZpbHQyLCBkc3QxLCB2ZWMxLCBmaWx0 MiwKPiAgICAgICAgICAgICAgICAgICAgZHN0MiwgdmVjMiwgZmlsdDIsIGRzdDMsIHZlYzMsIGZp bHQyLCBkc3QwLCBkc3QxLCBkc3QyLCBkc3QzKTsKPiAtICAgICAgICBEVVAyX0FSRzMoX19sc3hf dmRwMmFkZF9oX2J1X2IsIGRzdDQsIHZlYzQsIGZpbHQyLCBkc3Q1LCB2ZWM1LCBmaWx0MiwKPiAt ICAgICAgICAgICAgICAgICAgZHN0NCwgZHN0NSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4 X3ZzaHVmX2IsIHNyYzAsIHNyYzAsIG1hc2szLCBzcmMxLCBzcmMxLCBtYXNrMywKPiAtICAgICAg ICAgICAgICAgICAgdmVjMCwgdmVjMSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVm X2IsIHNyYzIsIHNyYzIsIG1hc2szLCBzcmMzLCBzcmMzLCBtYXNrMywKPiAtICAgICAgICAgICAg ICAgICAgdmVjMiwgdmVjMyk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNy YzUsIHNyYzQsIG1hc2s3LCBzcmM3LCBzcmM2LCBtYXNrNywKPiAtICAgICAgICAgICAgICAgICAg dmVjNCwgdmVjNSk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBk c3Q0LCB2ZWM0LCBmaWx0MiwgZHN0NSwgdmVjNSwgZmlsdDIsIGRzdDQsIGRzdDUpOwo+ICsgICAg ICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMywgc3JjMSwgc3Jj MSwgbWFzazMsIHZlYzAsIHZlYzEpOwo+ICsgICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9i LCBzcmMyLCBzcmMyLCBtYXNrMywgc3JjMywgc3JjMywgbWFzazMsIHZlYzIsIHZlYzMpOwo+ICsg ICAgICAgIERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmM1LCBzcmM0LCBtYXNrNywgc3JjNywg c3JjNiwgbWFzazcsIHZlYzQsIHZlYzUpOwo+ICAgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAy YWRkX2hfYnVfYiwgZHN0MCwgdmVjMCwgZmlsdDMsIGRzdDEsIHZlYzEsIGZpbHQzLAo+ICAgICAg ICAgICAgICAgICAgICBkc3QyLCB2ZWMyLCBmaWx0MywgZHN0MywgdmVjMywgZmlsdDMsIGRzdDAs IGRzdDEsIGRzdDIsIGRzdDMpOwo+IC0gICAgICAgIERVUDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hf YnVfYiwgZHN0NCwgdmVjNCwgZmlsdDMsIGRzdDUsIHZlYzUsIGZpbHQzLAo+IC0gICAgICAgICAg ICAgICAgICBkc3Q0LCBkc3Q1KTsKPiArICAgICAgICBEVVAyX0FSRzMoX19sc3hfdmRwMmFkZF9o X2J1X2IsIGRzdDQsIHZlYzQsIGZpbHQzLCBkc3Q1LCB2ZWM1LCBmaWx0MywgZHN0NCwgZHN0NSk7 Cj4gIAo+ICAgICAgICAgIF9fbHN4X3ZzdChkc3QwLCBkc3QsIDApOwo+ICAgICAgICAgIF9fbHN4 X3ZzdGVsbV9kKGRzdDQsIGRzdCwgMTYsIDApOwo+IEBAIC0yOTcyLDE2ICsyOTU2LDE0IEBAIHN0 YXRpYyB2b2lkIGhldmNfaHZfNHRfMTJ3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCj4gICAgICBp bnQzMl90IHNyY19zdHJpZGVfM3ggPSBzcmNfc3RyaWRlXzJ4ICsgc3JjX3N0cmlkZTsKPiAgICAg IGludDMyX3QgZHN0X3N0cmlkZV8zeCA9IGRzdF9zdHJpZGVfMnggKyBkc3Rfc3RyaWRlX3g7Cj4g IAo+IC0gICAgX19tMTI4aSBzcmMwLCBzcmMxLCBzcmMyLCBzcmMzLCBzcmM0LCBzcmM1LCBzcmM2 LCBzcmM3LCBzcmM4LCBzcmM5LCBzcmMxMDsKPiArICAgIF9fbTEyOGkgc3JjMCwgc3JjMSwgc3Jj Miwgc3JjMywgc3JjNCwgc3JjNSwgc3JjNjsKPiAgICAgIF9fbTEyOGkgdmVjMCwgdmVjMSwgdmVj MiwgdmVjMywgdmVjNCwgdmVjNSwgdmVjNiwgdmVjNzsKPiAtICAgIF9fbTEyOGkgbWFzazAsIG1h c2sxLCBtYXNrMiwgbWFzazM7Cj4gKyAgICBfX20xMjhpIG1hc2swLCBtYXNrMTsKPiAgICAgIF9f bTEyOGkgZmlsdDAsIGZpbHQxLCBmaWx0X2gwLCBmaWx0X2gxLCBmaWx0ZXJfdmVjLCBkc3QwOwo+ IC0gICAgX19tMTI4aSBkc3QxLCBkc3QyLCBkc3QzLCBkc3Q0LCBkc3Q1LCBkc3Q2LCBkc3QxMCwg ZHN0MjEsIGRzdDIyLCBkc3Q3MzsKPiAtICAgIF9fbTEyOGkgZHN0ODQsIGRzdDk1LCBkc3QxMDYs IGRzdDc2X3IsIGRzdDk4X3IsIGRzdDg3X3IsIGRzdDEwOV9yOwo+ICsgICAgX19tMTI4aSBkc3Qx LCBkc3QyLCBkc3QzLCBkc3Q0LCBkc3Q1LCBkc3Q2Owo+ICAgICAgX19tMTI4aSBkc3QxMF9yLCBk c3QzMl9yLCBkc3Q1NF9yLCBkc3QyMV9yLCBkc3Q0M19yLCBkc3Q2NV9yOwo+ICAgICAgX19tMTI4 aSBkc3QxMF9sLCBkc3QzMl9sLCBkc3Q1NF9sLCBkc3QyMV9sLCBkc3Q0M19sLCBkc3Q2NV9sOwo+ ICAgICAgX19tMTI4aSBkc3QwX3IsIGRzdDBfbCwgZHN0MV9yLCBkc3QxX2wsIGRzdDJfciwgZHN0 Ml9sLCBkc3QzX3IsIGRzdDNfbDsKPiAtICAgIF9fbTEyOGkgdG1wMCwgdG1wMSwgdG1wMiwgdG1w MywgdG1wNCwgdG1wNSwgdG1wNiwgdG1wNzsKPiAgCj4gICAgICBzcmMgLT0gKHNyY19zdHJpZGUg KyAxKTsKPiAgICAgIERVUDJfQVJHMihfX2xzeF92bGRyZXBsX2gsIGZpbHRlcl94LCAwLCBmaWx0 ZXJfeCwgMiwgZmlsdDAsIGZpbHQxKTsKPiBAQCAtMjk5Nyw4ICsyOTc5LDcgQEAgc3RhdGljIHZv aWQgaGV2Y19odl80dF8xMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKPiAgICAgIGRzdF90bXAg PSBkc3Q7Cj4gIAo+ICAgICAgc3JjMCA9IF9fbHN4X3ZsZChzcmNfdG1wLCAwKTsKPiAtICAgIERV UDJfQVJHMihfX2xzeF92bGR4LCBzcmNfdG1wLCBzcmNfc3RyaWRlLCBzcmNfdG1wLCBzcmNfc3Ry aWRlXzJ4LAo+IC0gICAgICAgICAgICAgIHNyYzEsIHNyYzIpOwo+ICsgICAgRFVQMl9BUkcyKF9f bHN4X3ZsZHgsIHNyY190bXAsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGVfMngsIHNy YzEsIHNyYzIpOwo+ICAgICAgc3JjX3RtcCArPSBzcmNfc3RyaWRlXzN4Owo+ICAKPiAgICAgIERV UDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMCwgc3JjMCwgc3JjMCwgbWFz azEsIHZlYzAsIHZlYzEpOwo+IEBAIC0zMDA3LDM0ICsyOTg4LDI3IEBAIHN0YXRpYyB2b2lkIGhl dmNfaHZfNHRfMTJ3X2xzeChjb25zdCB1aW50OF90ICpzcmMsCj4gIAo+ICAgICAgRFVQMl9BUkcy KF9fbHN4X3ZkcDJfaF9idV9iLCB2ZWMwLCBmaWx0MCwgdmVjMiwgZmlsdDAsIGRzdDAsIGRzdDEp Owo+ICAgICAgZHN0MiA9IF9fbHN4X3ZkcDJfaF9idV9iKHZlYzQsIGZpbHQwKTsKPiAtICAgIERV UDJfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0MCwgdmVjMSwgZmlsdDEsIGRzdDEsIHZl YzMsIGZpbHQxLAo+IC0gICAgICAgICAgICAgIGRzdDAsIGRzdDEpOwo+ICsgICAgRFVQMl9BUkcz KF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBkc3QwLCB2ZWMxLCBmaWx0MSwgZHN0MSwgdmVjMywgZmls dDEsIGRzdDAsIGRzdDEpOwo+ICAgICAgZHN0MiA9IF9fbHN4X3ZkcDJhZGRfaF9idV9iKGRzdDIs IHZlYzUsIGZpbHQxKTsKPiAgCj4gICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgZHN0MSwg ZHN0MCwgZHN0MiwgZHN0MSwgZHN0MTBfciwgZHN0MjFfcik7Cj4gICAgICBEVVAyX0FSRzIoX19s c3hfdmlsdmhfaCwgZHN0MSwgZHN0MCwgZHN0MiwgZHN0MSwgZHN0MTBfbCwgZHN0MjFfbCk7Cj4g IAo+IC0gICAgZm9yIChsb29wX2NudCA9IDQ7IGxvb3BfY250LS07KSB7Cj4gKyAgICBmb3IgKGxv b3BfY250ID0gaGVpZ2h0ID4+IDI7IGxvb3BfY250LS07KSB7Cj4gICAgICAgICAgc3JjMyA9IF9f bHN4X3ZsZChzcmNfdG1wLCAwKTsKPiAtICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3Jj X3RtcCwgc3JjX3N0cmlkZSwgc3JjX3RtcCwgc3JjX3N0cmlkZV8yeCwKPiAtICAgICAgICAgICAg ICAgICAgc3JjNCwgc3JjNSk7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyY190 bXAsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGVfMngsIHNyYzQsIHNyYzUpOwo+ICAg ICAgICAgIHNyYzYgPSBfX2xzeF92bGR4KHNyY190bXAsIHNyY19zdHJpZGVfM3gpOwo+ICAgICAg ICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZV80eDsKPiAgCj4gLSAgICAgICAgRFVQMl9BUkczKF9f bHN4X3ZzaHVmX2IsIHNyYzMsIHNyYzMsIG1hc2swLCBzcmMzLCBzcmMzLCBtYXNrMSwKPiAtICAg ICAgICAgICAgICAgICAgdmVjMCwgdmVjMSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3Zz aHVmX2IsIHNyYzQsIHNyYzQsIG1hc2swLCBzcmM0LCBzcmM0LCBtYXNrMSwKPiAtICAgICAgICAg ICAgICAgICAgdmVjMiwgdmVjMyk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2Is IHNyYzUsIHNyYzUsIG1hc2swLCBzcmM1LCBzcmM1LCBtYXNrMSwKPiAtICAgICAgICAgICAgICAg ICAgdmVjNCwgdmVjNSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzYs IHNyYzYsIG1hc2swLCBzcmM2LCBzcmM2LCBtYXNrMSwKPiAtICAgICAgICAgICAgICAgICAgdmVj NiwgdmVjNyk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzMsIHNyYzMs IG1hc2swLCBzcmMzLCBzcmMzLCBtYXNrMSwgdmVjMCwgdmVjMSk7Cj4gKyAgICAgICAgRFVQMl9B UkczKF9fbHN4X3ZzaHVmX2IsIHNyYzQsIHNyYzQsIG1hc2swLCBzcmM0LCBzcmM0LCBtYXNrMSwg dmVjMiwgdmVjMyk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzUsIHNy YzUsIG1hc2swLCBzcmM1LCBzcmM1LCBtYXNrMSwgdmVjNCwgdmVjNSk7Cj4gKyAgICAgICAgRFVQ Ml9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzYsIHNyYzYsIG1hc2swLCBzcmM2LCBzcmM2LCBtYXNr MSwgdmVjNiwgdmVjNyk7Cj4gIAo+ICAgICAgICAgIERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnVf YiwgdmVjMCwgZmlsdDAsIHZlYzIsIGZpbHQwLCB2ZWM0LCBmaWx0MCwKPiAgICAgICAgICAgICAg ICAgICAgdmVjNiwgZmlsdDAsIGRzdDMsIGRzdDQsIGRzdDUsIGRzdDYpOwo+IC0gICAgICAgIERV UDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0MywgdmVjMSwgZmlsdDEsIGRzdDQsIHZl YzMsCj4gLSAgICAgICAgICAgICAgICAgIGZpbHQxLCBkc3Q1LCB2ZWM1LCBmaWx0MSwgZHN0Niwg dmVjNywgZmlsdDEsIGRzdDMsCj4gLSAgICAgICAgICAgICAgICAgIGRzdDQsIGRzdDUsIGRzdDYp Owo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX2hfYnVfYiwgZHN0MywgdmVjMSwg ZmlsdDEsIGRzdDQsIHZlYzMsIGZpbHQxLAo+ICsgICAgICAgICAgICAgICAgICBkc3Q1LCB2ZWM1 LCBmaWx0MSwgZHN0NiwgdmVjNywgZmlsdDEsIGRzdDMsIGRzdDQsIGRzdDUsIGRzdDYpOwo+ICAK PiAgICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgZHN0MywgZHN0MiwgZHN0NCwgZHN0 MywgZHN0MzJfciwgZHN0NDNfcik7Cj4gICAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gs IGRzdDMsIGRzdDIsIGRzdDQsIGRzdDMsIGRzdDMyX2wsIGRzdDQzX2wpOwo+IEBAIC0zMDUxLDEy ICszMDI1LDggQEAgc3RhdGljIHZvaWQgaGV2Y19odl80dF8xMndfbHN4KGNvbnN0IHVpbnQ4X3Qg KnNyYywKPiAgICAgICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF93X2gsIGRzdDJfciwgZHN0 NTRfciwgZmlsdF9oMSwgZHN0Ml9sLCBkc3Q1NF9sLAo+ICAgICAgICAgICAgICAgICAgICBmaWx0 X2gxLCBkc3QzX3IsIGRzdDY1X3IsIGZpbHRfaDEsIGRzdDNfbCwgZHN0NjVfbCwgZmlsdF9oMSwK PiAgICAgICAgICAgICAgICAgICAgZHN0Ml9yLCBkc3QyX2wsIGRzdDNfciwgZHN0M19sKTsKPiAt ICAgICAgICBEVVA0X0FSRzIoX19sc3hfdnNyYWlfdywgZHN0MF9yLCA2LCBkc3QwX2wsIDYsIGRz dDFfciwgNiwgZHN0MV9sLCA2LAo+IC0gICAgICAgICAgICAgICAgICBkc3QwX3IsIGRzdDBfbCwg ZHN0MV9yLCBkc3QxX2wpOwo+IC0gICAgICAgIERVUDRfQVJHMihfX2xzeF92c3JhaV93LCBkc3Qy X3IsIDYsIGRzdDJfbCwgNiwgZHN0M19yLCA2LCBkc3QzX2wsIDYsCj4gLSAgICAgICAgICAgICAg ICAgIGRzdDJfciwgZHN0Ml9sLCBkc3QzX3IsIGRzdDNfbCk7Cj4gLSAgICAgICAgRFVQNF9BUkcy KF9fbHN4X3ZwaWNrZXZfaCwgZHN0MF9sLCBkc3QwX3IsIGRzdDFfbCwgZHN0MV9yLCBkc3QyX2ws IGRzdDJfciwKPiAtICAgICAgICAgICAgICAgICAgZHN0M19sLCBkc3QzX3IsIGRzdDBfciwgZHN0 MV9yLCBkc3QyX3IsIGRzdDNfcik7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzcmFuaV9o X3csIGRzdDBfbCwgZHN0MF9yLCA2LCBkc3QxX2wsIGRzdDFfciwgNiwgZHN0MF9yLCBkc3QxX3Ip Owo+ICsgICAgICAgIERVUDJfQVJHMyhfX2xzeF92c3JhbmlfaF93LCBkc3QyX2wsIGRzdDJfciwg NiwgZHN0M19sLCBkc3QzX3IsIDYsIGRzdDJfciwgZHN0M19yKTsKPiAgICAgICAgICBfX2xzeF92 c3QoZHN0MF9yLCBkc3RfdG1wLCAwKTsKPiAgICAgICAgICBfX2xzeF92c3R4KGRzdDFfciwgZHN0 X3RtcCwgZHN0X3N0cmlkZV94KTsKPiAgICAgICAgICBfX2xzeF92c3R4KGRzdDJfciwgZHN0X3Rt cCwgZHN0X3N0cmlkZV8yeCk7Cj4gQEAgLTMwNzAsOTMgKzMwNDAsNzQgQEAgc3RhdGljIHZvaWQg aGV2Y19odl80dF8xMndfbHN4KGNvbnN0IHVpbnQ4X3QgKnNyYywKPiAgICAgICAgICBkc3QyID0g ZHN0NjsKPiAgICAgIH0KPiAgCj4gLSAgICBzcmMgKz0gODsKPiAtICAgIGRzdCArPSA4Owo+ICsg ICAgc3JjX3RtcCA9IHNyYyArIDg7Cj4gKyAgICBkc3RfdG1wID0gZHN0ICsgODsKPiAgCj4gLSAg ICBtYXNrMiA9IF9fbHN4X3ZsZChmZl9oZXZjX21hc2tfYXJyLCAxNik7Cj4gLSAgICBtYXNrMyA9 IF9fbHN4X3ZhZGRpX2J1KG1hc2syLCAyKTsKPiArICAgIHNyYzAgPSBfX2xzeF92bGQoc3JjX3Rt cCwgMCk7Cj4gKyAgICBEVVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjX3RtcCwgc3JjX3N0cmlkZSwg c3JjX3RtcCwgc3JjX3N0cmlkZV8yeCwgc3JjMSwgc3JjMik7Cj4gKyAgICBzcmNfdG1wICs9IHNy Y19zdHJpZGVfM3g7Cj4gIAo+IC0gICAgc3JjMCA9IF9fbHN4X3ZsZChzcmMsIDApOwo+IC0gICAg RFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNyYywgc3JjX3N0cmlkZSwgc3JjLCBzcmNfc3RyaWRlXzJ4 LCBzcmMxLCBzcmMyKTsKPiAtICAgIHNyYyArPSBzcmNfc3RyaWRlXzN4Owo+IC0gICAgRFVQMl9B UkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEsIHNyYzAsIG1hc2syLCBzcmMxLCBzcmMwLCBtYXNrMywg dmVjMCwgdmVjMSk7Cj4gLSAgICBEVVAyX0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMSwg bWFzazIsIHNyYzIsIHNyYzEsIG1hc2szLCB2ZWMyLCB2ZWMzKTsKPiAtICAgIERVUDJfQVJHMihf X2xzeF92ZHAyX2hfYnVfYiwgdmVjMCwgZmlsdDAsIHZlYzIsIGZpbHQwLCBkc3QxMCwgZHN0MjEp Owo+IC0gICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRfaF9idV9iLCBkc3QxMCwgdmVjMSwgZmls dDEsIGRzdDIxLCB2ZWMzLCBmaWx0MSwKPiAtICAgICAgICAgICAgICBkc3QxMCwgZHN0MjEpOwo+ IC0gICAgZHN0MTBfciA9IF9fbHN4X3ZpbHZsX2goZHN0MjEsIGRzdDEwKTsKPiAtICAgIGRzdDIx X3IgPSBfX2xzeF92aWx2aF9oKGRzdDIxLCBkc3QxMCk7Cj4gLSAgICBkc3QyMiA9IF9fbHN4X3Zy ZXBsdmVpX2QoZHN0MjEsIDEpOwo+IC0KPiAtICAgIGZvciAobG9vcF9jbnQgPSAyOyBsb29wX2Nu dC0tOykgewo+IC0gICAgICAgIHNyYzMgPSBfX2xzeF92bGQoc3JjLCAwKTsKPiAtICAgICAgICBE VVAyX0FSRzIoX19sc3hfdmxkeCwgc3JjLCBzcmNfc3RyaWRlLCBzcmMsIHNyY19zdHJpZGVfMngs IHNyYzQsIHNyYzUpOwo+IC0gICAgICAgIHNyYzYgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlk ZV8zeCk7Cj4gLSAgICAgICAgc3JjICs9IHNyY19zdHJpZGVfNHg7Cj4gLSAgICAgICAgc3JjNyA9 IF9fbHN4X3ZsZChzcmMsIDApOwo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92bGR4LCBzcmMs IHNyY19zdHJpZGUsIHNyYywgc3JjX3N0cmlkZV8yeCwgc3JjOCwgc3JjOSk7Cj4gLSAgICAgICAg c3JjMTAgPSBfX2xzeF92bGR4KHNyYywgc3JjX3N0cmlkZV8zeCk7Cj4gLSAgICAgICAgc3JjICs9 IHNyY19zdHJpZGVfNHg7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzcs IHNyYzMsIG1hc2syLCBzcmM3LCBzcmMzLCBtYXNrMywKPiAtICAgICAgICAgICAgICAgICAgdmVj MCwgdmVjMSk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzgsIHNyYzQs IG1hc2syLCBzcmM4LCBzcmM0LCBtYXNrMywKPiAtICAgICAgICAgICAgICAgICAgdmVjMiwgdmVj Myk7Cj4gLSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzksIHNyYzUsIG1hc2sy LCBzcmM5LCBzcmM1LCBtYXNrMywKPiAtICAgICAgICAgICAgICAgICAgdmVjNCwgdmVjNSk7Cj4g LSAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEwLCBzcmM2LCBtYXNrMiwgc3Jj MTAsIHNyYzYsIG1hc2szLAo+IC0gICAgICAgICAgICAgICAgICB2ZWM2LCB2ZWM3KTsKPiArICAg IERVUDJfQVJHMyhfX2xzeF92c2h1Zl9iLCBzcmMwLCBzcmMwLCBtYXNrMCwgc3JjMCwgc3JjMCwg bWFzazEsIHZlYzAsIHZlYzEpOwo+ICsgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzEs IHNyYzEsIG1hc2swLCBzcmMxLCBzcmMxLCBtYXNrMSwgdmVjMiwgdmVjMyk7Cj4gKyAgICBEVVAy X0FSRzMoX19sc3hfdnNodWZfYiwgc3JjMiwgc3JjMiwgbWFzazAsIHNyYzIsIHNyYzIsIG1hc2sx LCB2ZWM0LCB2ZWM1KTsKPiArCj4gKyAgICBEVVAyX0FSRzIoX19sc3hfdmRwMl9oX2J1X2IsIHZl YzAsIGZpbHQwLCB2ZWMyLCBmaWx0MCwgZHN0MCwgZHN0MSk7Cj4gKyAgICBkc3QyID0gX19sc3hf dmRwMl9oX2J1X2IodmVjNCwgZmlsdDApOwo+ICsgICAgRFVQMl9BUkczKF9fbHN4X3ZkcDJhZGRf aF9idV9iLCBkc3QwLCB2ZWMxLCBmaWx0MSwgZHN0MSwgdmVjMywgZmlsdDEsIGRzdDAsIGRzdDEp Owo+ICsgICAgZHN0MiA9IF9fbHN4X3ZkcDJhZGRfaF9idV9iKGRzdDIsIHZlYzUsIGZpbHQxKTsK PiArCj4gKyAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgZHN0MSwgZHN0MCwgZHN0MiwgZHN0 MSwgZHN0MTBfciwgZHN0MjFfcik7Cj4gKyAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgZHN0 MSwgZHN0MCwgZHN0MiwgZHN0MSwgZHN0MTBfbCwgZHN0MjFfbCk7Cj4gKwo+ICsgICAgZm9yIChs b29wX2NudCA9IGhlaWdodCA+PiAyOyBsb29wX2NudC0tOykgewo+ICsgICAgICAgIHNyYzMgPSBf X2xzeF92bGQoc3JjX3RtcCwgMCk7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZsZHgsIHNy Y190bXAsIHNyY19zdHJpZGUsIHNyY190bXAsIHNyY19zdHJpZGVfMngsIHNyYzQsIHNyYzUpOwo+ ICsgICAgICAgIHNyYzYgPSBfX2xzeF92bGR4KHNyY190bXAsIHNyY19zdHJpZGVfM3gpOwo+ICsg ICAgICAgIHNyY190bXAgKz0gc3JjX3N0cmlkZV80eDsKPiArCj4gKyAgICAgICAgRFVQMl9BUkcz KF9fbHN4X3ZzaHVmX2IsIHNyYzMsIHNyYzMsIG1hc2swLCBzcmMzLCBzcmMzLCBtYXNrMSwgdmVj MCwgdmVjMSk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzQsIHNyYzQs IG1hc2swLCBzcmM0LCBzcmM0LCBtYXNrMSwgdmVjMiwgdmVjMyk7Cj4gKyAgICAgICAgRFVQMl9B UkczKF9fbHN4X3ZzaHVmX2IsIHNyYzUsIHNyYzUsIG1hc2swLCBzcmM1LCBzcmM1LCBtYXNrMSwg dmVjNCwgdmVjNSk7Cj4gKyAgICAgICAgRFVQMl9BUkczKF9fbHN4X3ZzaHVmX2IsIHNyYzYsIHNy YzYsIG1hc2swLCBzcmM2LCBzcmM2LCBtYXNrMSwgdmVjNiwgdmVjNyk7Cj4gIAo+ICAgICAgICAg IERVUDRfQVJHMihfX2xzeF92ZHAyX2hfYnVfYiwgdmVjMCwgZmlsdDAsIHZlYzIsIGZpbHQwLCB2 ZWM0LCBmaWx0MCwKPiAtICAgICAgICAgICAgICAgICAgdmVjNiwgZmlsdDAsIGRzdDczLCBkc3Q4 NCwgZHN0OTUsIGRzdDEwNik7Cj4gLSAgICAgICAgRFVQNF9BUkczKF9fbHN4X3ZkcDJhZGRfaF9i dV9iLCBkc3Q3MywgdmVjMSwgZmlsdDEsIGRzdDg0LCB2ZWMzLAo+IC0gICAgICAgICAgICAgICAg ICBmaWx0MSwgZHN0OTUsIHZlYzUsIGZpbHQxLCBkc3QxMDYsIHZlYzcsIGZpbHQxLCBkc3Q3MywK PiAtICAgICAgICAgICAgICAgICAgZHN0ODQsIGRzdDk1LCBkc3QxMDYpOwo+IC0KPiAtICAgICAg ICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgZHN0NzMsIGRzdDIyLCBkc3Q4NCwgZHN0NzMsIGRz dDMyX3IsIGRzdDQzX3IpOwo+IC0gICAgICAgIERVUDJfQVJHMihfX2xzeF92aWx2aF9oLCBkc3Q4 NCwgZHN0NzMsIGRzdDk1LCBkc3Q4NCwgZHN0ODdfciwgZHN0OThfcik7Cj4gLSAgICAgICAgRFVQ Ml9BUkcyKF9fbHN4X3ZpbHZsX2gsIGRzdDk1LCBkc3Q4NCwgZHN0MTA2LCBkc3Q5NSwgZHN0NTRf ciwgZHN0NjVfcik7Cj4gLSAgICAgICAgZHN0MTA5X3IgPSBfX2xzeF92aWx2aF9oKGRzdDEwNiwg ZHN0OTUpOwo+IC0gICAgICAgIGRzdDIyID0gX19sc3hfdnJlcGx2ZWlfZChkc3Q3MywgMSk7Cj4g LSAgICAgICAgZHN0NzZfciA9IF9fbHN4X3ZpbHZsX2goZHN0MjIsIGRzdDEwNik7Cj4gKyAgICAg ICAgICAgICAgICAgIHZlYzYsIGZpbHQwLCBkc3QzLCBkc3Q0LCBkc3Q1LCBkc3Q2KTsKPiArICAg ICAgICBEVVA0X0FSRzMoX19sc3hfdmRwMmFkZF9oX2J1X2IsIGRzdDMsIHZlYzEsIGZpbHQxLCBk c3Q0LCB2ZWMzLCBmaWx0MSwKPiArICAgICAgICAgICAgICAgICAgZHN0NSwgdmVjNSwgZmlsdDEs IGRzdDYsIHZlYzcsIGZpbHQxLCBkc3QzLCBkc3Q0LCBkc3Q1LCBkc3Q2KTsKPiAgCj4gLSAgICAg ICAgRFVQNF9BUkcyKF9fbHN4X3ZkcDJfd19oLCBkc3QxMF9yLCBmaWx0X2gwLCBkc3QyMV9yLCBm aWx0X2gwLCBkc3QzMl9yLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0X2gwLCBkc3Q0M19yLCBm aWx0X2gwLCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKPiAtICAgICAgICBEVVA0X0FSRzIoX19s c3hfdmRwMl93X2gsIGRzdDU0X3IsIGZpbHRfaDAsIGRzdDY1X3IsIGZpbHRfaDAsIGRzdDc2X3Is Cj4gLSAgICAgICAgICAgICAgICAgIGZpbHRfaDAsIGRzdDg3X3IsIGZpbHRfaDAsIHRtcDQsIHRt cDUsIHRtcDYsIHRtcDcpOwo+IC0gICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAyYWRkX3dfaCwg dG1wMCwgZHN0MzJfciwgZmlsdF9oMSwgdG1wMSwgZHN0NDNfciwKPiAtICAgICAgICAgICAgICAg ICAgZmlsdF9oMSwgdG1wMiwgZHN0NTRfciwgZmlsdF9oMSwgdG1wMywgZHN0NjVfciwgZmlsdF9o MSwKPiAtICAgICAgICAgICAgICAgICAgdG1wMCwgdG1wMSwgdG1wMiwgdG1wMyk7Cj4gLSAgICAg ICAgRFVQNF9BUkczKF9fbHN4X3ZkcDJhZGRfd19oLCB0bXA0LCBkc3Q3Nl9yLCBmaWx0X2gxLCB0 bXA1LCBkc3Q4N19yLAo+IC0gICAgICAgICAgICAgICAgICBmaWx0X2gxLCB0bXA2LCBkc3Q5OF9y LCBmaWx0X2gxLCB0bXA3LCBkc3QxMDlfciwgZmlsdF9oMSwKPiAtICAgICAgICAgICAgICAgICAg dG1wNCwgdG1wNSwgdG1wNiwgdG1wNyk7Cj4gLSAgICAgICAgRFVQNF9BUkcyKF9fbHN4X3ZzcmFp X3csIHRtcDAsIDYsIHRtcDEsIDYsIHRtcDIsIDYsIHRtcDMsIDYsCj4gLSAgICAgICAgICAgICAg ICAgIHRtcDAsIHRtcDEsIHRtcDIsIHRtcDMpOwo+IC0gICAgICAgIERVUDRfQVJHMihfX2xzeF92 c3JhaV93LCB0bXA0LCA2LCB0bXA1LCA2LCB0bXA2LCA2LCB0bXA3LCA2LAo+IC0gICAgICAgICAg ICAgICAgICB0bXA0LCB0bXA1LCB0bXA2LCB0bXA3KTsKPiAtICAgICAgICBEVVA0X0FSRzIoX19s c3hfdnBpY2tldl9oLCB0bXAxLCB0bXAwLCB0bXAzLCB0bXAyLCB0bXA1LCB0bXA0LAo+IC0gICAg ICAgICAgICAgICAgICB0bXA3LCB0bXA2LCB0bXAwLCB0bXAxLCB0bXAyLCB0bXAzKTsKPiArICAg ICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmxfaCwgZHN0MywgZHN0MiwgZHN0NCwgZHN0MywgZHN0 MzJfciwgZHN0NDNfcik7Cj4gKyAgICAgICAgRFVQMl9BUkcyKF9fbHN4X3ZpbHZoX2gsIGRzdDMs IGRzdDIsIGRzdDQsIGRzdDMsIGRzdDMyX2wsIGRzdDQzX2wpOwo+ICsgICAgICAgIERVUDJfQVJH MihfX2xzeF92aWx2bF9oLCBkc3Q1LCBkc3Q0LCBkc3Q2LCBkc3Q1LCBkc3Q1NF9yLCBkc3Q2NV9y KTsKPiArICAgICAgICBEVVAyX0FSRzIoX19sc3hfdmlsdmhfaCwgZHN0NSwgZHN0NCwgZHN0Niwg ZHN0NSwgZHN0NTRfbCwgZHN0NjVfbCk7Cj4gIAo+IC0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHRt cDAsIGRzdCwgMCwgMCk7Cj4gLSAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Cj4gLSAgICAgICAg X19sc3hfdnN0ZWxtX2QodG1wMCwgZHN0LCAwLCAxKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0 cmlkZTsKPiAtICAgICAgICBfX2xzeF92c3RlbG1fZCh0bXAxLCBkc3QsIDAsIDApOwo+IC0gICAg ICAgIGRzdCArPSBkc3Rfc3RyaWRlOwo+IC0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHRtcDEsIGRz dCwgMCwgMSk7Cj4gLSAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Cj4gLSAgICAgICAgX19sc3hf dnN0ZWxtX2QodG1wMiwgZHN0LCAwLCAwKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsK PiAtICAgICAgICBfX2xzeF92c3RlbG1fZCh0bXAyLCBkc3QsIDAsIDEpOwo+IC0gICAgICAgIGRz dCArPSBkc3Rfc3RyaWRlOwo+IC0gICAgICAgIF9fbHN4X3ZzdGVsbV9kKHRtcDMsIGRzdCwgMCwg MCk7Cj4gLSAgICAgICAgZHN0ICs9IGRzdF9zdHJpZGU7Cj4gLSAgICAgICAgX19sc3hfdnN0ZWxt X2QodG1wMywgZHN0LCAwLCAxKTsKPiAtICAgICAgICBkc3QgKz0gZHN0X3N0cmlkZTsKPiArICAg ICAgICBEVVA0X0FSRzIoX19sc3hfdmRwMl93X2gsIGRzdDEwX3IsIGZpbHRfaDAsIGRzdDEwX2ws IGZpbHRfaDAsIGRzdDIxX3IsCj4gKyAgICAgICAgICAgICAgICAgIGZpbHRfaDAsIGRzdDIxX2ws IGZpbHRfaDAsIGRzdDBfciwgZHN0MF9sLCBkc3QxX3IsIGRzdDFfbCk7Cj4gKyAgICAgICAgRFVQ NF9BUkcyKF9fbHN4X3ZkcDJfd19oLCBkc3QzMl9yLCBmaWx0X2gwLCBkc3QzMl9sLCBmaWx0X2gw LCBkc3Q0M19yLAo+ICsgICAgICAgICAgICAgICAgICBmaWx0X2gwLCBkc3Q0M19sLCBmaWx0X2gw LCBkc3QyX3IsIGRzdDJfbCwgZHN0M19yLCBkc3QzX2wpOwo+ICsgICAgICAgIERVUDRfQVJHMyhf X2xzeF92ZHAyYWRkX3dfaCwgZHN0MF9yLCBkc3QzMl9yLCBmaWx0X2gxLCBkc3QwX2wsIGRzdDMy X2wsCj4gKyAgICAgICAgICAgICAgICAgIGZpbHRfaDEsIGRzdDFfciwgZHN0NDNfciwgZmlsdF9o MSwgZHN0MV9sLCBkc3Q0M19sLCBmaWx0X2gxLAo+ICsgICAgICAgICAgICAgICAgICBkc3QwX3Is IGRzdDBfbCwgZHN0MV9yLCBkc3QxX2wpOwo+ICsgICAgICAgIERVUDRfQVJHMyhfX2xzeF92ZHAy YWRkX3dfaCwgZHN0Ml9yLCBkc3Q1NF9yLCBmaWx0X2gxLCBkc3QyX2wsIGRzdDU0X2wsCj4gKyAg ICAgICAgICAgICAgICAgIGZpbHRfaDEsIGRzdDNfciwgZHN0NjVfciwgZmlsdF9oMSwgZHN0M19s LCBkc3Q2NV9sLCBmaWx0X2gxLAo+ICsgICAgICAgICAgICAgICAgICBkc3QyX3IsIGRzdDJfbCwg ZHN0M19yLCBkc3QzX2wpOwo+ICsgICAgICAgIERVUDJfQVJHMyhfX2xzeF92c3JhbmlfaF93LCBk c3QwX2wsIGRzdDBfciwgNiwgZHN0MV9sLCBkc3QxX3IsIDYsIGRzdDBfciwgZHN0MV9yKTsKPiAr ICAgICAgICBEVVAyX0FSRzMoX19sc3hfdnNyYW5pX2hfdywgZHN0Ml9sLCBkc3QyX3IsIDYsIGRz dDNfbCwgZHN0M19yLCA2LCBkc3QyX3IsIGRzdDNfcik7Cj4gKyAgICAgICAgX19sc3hfdnN0ZWxt X2QoZHN0MF9yLCBkc3RfdG1wLCAwLCAwKTsKPiArICAgICAgICBkc3RfdG1wICs9IGRzdF9zdHJp ZGU7Cj4gKyAgICAgICAgX19sc3hfdnN0ZWxtX2QoZHN0MV9yLCBkc3RfdG1wLCAgMCwgMCk7Cj4g KyAgICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwo+ICsgICAgICAgIF9fbHN4X3ZzdGVsbV9k KGRzdDJfciwgZHN0X3RtcCwgMCwgMCk7Cj4gKyAgICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRl Owo+ICsgICAgICAgIF9fbHN4X3ZzdGVsbV9kKGRzdDNfciwgZHN0X3RtcCwgMCwgMCk7Cj4gKyAg ICAgICAgZHN0X3RtcCArPSBkc3Rfc3RyaWRlOwo+ICAKPiAtICAgICAgICBkc3QxMF9yID0gZHN0 OThfcjsKPiAtICAgICAgICBkc3QyMV9yID0gZHN0MTA5X3I7Cj4gLSAgICAgICAgZHN0MjIgPSBf X2xzeF92cmVwbHZlaV9kKGRzdDEwNiwgMSk7Cj4gKyAgICAgICAgZHN0MTBfciA9IGRzdDU0X3I7 Cj4gKyAgICAgICAgZHN0MTBfbCA9IGRzdDU0X2w7Cj4gKyAgICAgICAgZHN0MjFfciA9IGRzdDY1 X3I7Cj4gKyAgICAgICAgZHN0MjFfbCA9IGRzdDY1X2w7Cj4gKyAgICAgICAgZHN0MiA9IGRzdDY7 Cj4gICAgICB9Cj4gKwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBoZXZjX2h2XzR0XzE2d19sc3go Y29uc3QgdWludDhfdCAqc3JjLAo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2xvb25nYXJjaC9o ZXZjZHNwX2xzeC5oIGIvbGliYXZjb2RlYy9sb29uZ2FyY2gvaGV2Y2RzcF9sc3guaAo+IGluZGV4 IGNmMmE1MTllOTQuLjg1NjJhMGQ2ODEgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9sb29uZ2Fy Y2gvaGV2Y2RzcF9sc3guaAo+ICsrKyBiL2xpYmF2Y29kZWMvbG9vbmdhcmNoL2hldmNkc3BfbHN4 LmgKPiBAQCAtMTQxLDcgKzE0MSw2IEBAIEJJX01DKGVwZWwsIHYsIDE2KTsKPiAgQklfTUMoZXBl bCwgdiwgMjQpOwo+ICBCSV9NQyhlcGVsLCB2LCAzMik7Cj4gIAo+IC1CSV9NQyhlcGVsLCBodiwg Nik7Cj4gIEJJX01DKGVwZWwsIGh2LCA4KTsKPiAgQklfTUMoZXBlbCwgaHYsIDE2KTsKPiAgQklf TUMoZXBlbCwgaHYsIDI0KTsKPiAtLSAKPiAyLjIwLjEKPiAKPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QK PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZmbXBlZy1kZXZlbAo+IAo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3Zl LCBvciBlbWFpbAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0 ICJ1bnN1YnNjcmliZSIuCgoKTEdUTQ0KDQrmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInpvpno iq/kuK3np5HnmoTllYbkuJrnp5jlr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLl nLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoHmraLku7vkvZXlhbbku5bkurrk u6Xku7vkvZXlvaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIbl nLDms4TpnLLjgIHlpI3liLbmiJbmlaPlj5HvvInmnKzpgq7ku7blj4rlhbbpmYTku7bkuK3nmoTk v6Hmga/jgILlpoLmnpzmgqjplJnmlLbmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbp gq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bjgIIgDQpUaGlzIGVtYWlsIGFu ZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBM b29uZ3NvbiBUZWNobm9sb2d5ICwgd2hpY2ggaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNv biBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhl IGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQg bm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwgZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9u IG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgcmVj aXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZW1haWwgaW4gZXJy b3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVs eSBhbmQgZGVsZXRlIGl0LiANCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoK VG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==