From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 599D84A9D7 for ; Thu, 6 Jun 2024 09:10:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AB6BC68D669; Thu, 6 Jun 2024 12:10:33 +0300 (EEST) Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7E39568D536 for ; Thu, 6 Jun 2024 12:10:27 +0300 (EEST) Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-5295e488248so846709e87.2 for ; Thu, 06 Jun 2024 02:10:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1717665025; x=1718269825; darn=ffmpeg.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=4Wggjduz8CiYmfmua7h6VKy3QudD4fdg6DaILey8OdA=; b=MmccaZD5/nu6heBic44rcVC9Z18q4EYTWvkFKKRuUoXaZJoelabGPJdLud1mXz7v50 sdzRbGc21nDmXlOQ2BcoF4bxosD3JEEyfi7XW7VflCm0P4GsegpDhH9gZcfH1V7+OlHV qU98p14Z+QSHLNVAogvk79UNf9QJAXA1eyvEwdIkIUNlVZ/bPpi+gIY1niVj9hQeWnV4 ivk1FS4m0lZq/gN5kQGtQ2oZNVuH5+tWgY4/9iFg7z8SI2SUmw6FHTom4pIIDfFh65K5 ZupAhf8uPtSHg/hOwh0hGrkls13TlGrgWGWqHRtIlv7ePb5WQqDlgowUJRAc7m9j3Nlu 1PgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1717665025; x=1718269825; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4Wggjduz8CiYmfmua7h6VKy3QudD4fdg6DaILey8OdA=; b=EAcphTRf42UsV+AS9Y8WxyKIswrfFM395qug1mcp6OyRXq7GxLVGi7JFzLgD56I2zW QA1EdPBoT9HqwTqmlDZN9BJkUmGPvMSjA2XuA3KW/cM1vCCiHfSYSgrxM+9Re4BPAghS C1Ai6WpImkuKgcoJzqynuV9fz9KRKdD2zqggUOkIfGTbrDhigvDNRha9lsTmPoEJEn+h jG44IwsPuWy2nrbYHKaPKzH1F+DaNR1GMitkcZ9fU5elitMJGMQLfMzTOwBsIrlYgIo3 2fLQ3vMj21kNkRQ7vyIfLiOnU2Og3lCwq6cT63EgSgtqRWE8HXgGQKk+RuYIQtDZobfv 04ig== X-Gm-Message-State: AOJu0YwGjatPqSruCt+nTF5btaT8kWB+GgNhqL3RinjquGj0hoKUuY0O cH4ZDYMlR01zxdHSehfh5T1HMN1bKbL96EC5130gmb8s2txu1eYygGGwzA== X-Google-Smtp-Source: AGHT+IGfJrqtVGy1AqJHHXcQiXanQdH5+m3Ii4SbzfbdW1nBtfsBl9pQ7Fug/vCZ0sBeroC0m6JWnA== X-Received: by 2002:ac2:58d0:0:b0:52b:8c88:2d6e with SMTP id 2adb3069b0e04-52bab4fc6famr2347404e87.42.1717665024569; Thu, 06 Jun 2024 02:10:24 -0700 (PDT) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6c806eb099sm67692566b.102.2024.06.06.02.10.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jun 2024 02:10:22 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id 867A6BFCE8; Thu, 6 Jun 2024 11:10:21 +0200 (CEST) Date: Thu, 6 Jun 2024 11:10:21 +0200 From: Stefano Sabatini To: FFmpeg development discussions and patches Message-ID: Mail-Followup-To: FFmpeg development discussions and patches , Marcus B Spencer References: <20240605225843.402174-1-marcus@marcusspencer.xyz> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240605225843.402174-1-marcus@marcusspencer.xyz> User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [PATCH v7] avcodec: add farbfeld encoder, decoder and demuxer X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Marcus B Spencer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gZGF0ZSBXZWRuZXNkYXkgMjAyNC0wNi0wNSAxNzo1ODo0MCAtMDUwMCwgTWFyY3VzIEIgU3Bl bmNlciB3cm90ZToKPiBmYXJiZmVsZCBpcyBhbiB1bmNvbXByZXNzZWQgaW1hZ2UgZm9ybWF0IHRo YXQgaXMgYSBwYXJ0IG9mIHN1Y2tsZXNzCj4gdG9vbHMgKGh0dHBzOi8vdG9vbHMuc3Vja2xlc3Mu b3JnKS4KPiAKPiBJdHMgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly90b29s cy5zdWNrbGVzcy5vcmcvZmFyYmZlbGQuCj4gCj4gQWRkIHN1cHBvcnQgZm9yIHRoaXMgaW1hZ2Ug Zm9ybWF0IGluIGF2Y29kZWMgYW5kIGF2Zm9ybWF0LCBhbmQgdXBkYXRlIHRoZSBpbWFnZTIKPiBm b3JtYXQgYWNjb3JkaW5nbHkuCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFyY3VzIEIgU3BlbmNlciA8 bWFyY3VzQG1hcmN1c3NwZW5jZXIueHl6Pgo+IC0tLQo+ICBDaGFuZ2Vsb2cgICAgICAgICAgICAg ICAgIHwgIDEgKwo+ICBkb2MvZ2VuZXJhbF9jb250ZW50cy50ZXhpIHwgIDIgKwo+ICBsaWJhdmNv ZGVjL01ha2VmaWxlICAgICAgIHwgIDIgKwo+ICBsaWJhdmNvZGVjL2FsbGNvZGVjcy5jICAgIHwg IDIgKwo+ICBsaWJhdmNvZGVjL2NvZGVjX2Rlc2MuYyAgIHwgIDcgKysrCj4gIGxpYmF2Y29kZWMv Y29kZWNfaWQuaCAgICAgfCAgMSArCj4gIGxpYmF2Y29kZWMvZmFyYmZlbGRkZWMuYyAgfCA4MiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBsaWJhdmNvZGVjL2ZhcmJmZWxk ZW5jLmMgIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGxp YmF2Y29kZWMvdmVyc2lvbi5oICAgICAgfCAgMiArLQo+ICBsaWJhdmZvcm1hdC9NYWtlZmlsZSAg ICAgIHwgIDEgKwo+ICBsaWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMgIHwgIDEgKwo+ICBsaWJhdmZv cm1hdC9pbWcyLmMgICAgICAgIHwgIDEgKwo+ICBsaWJhdmZvcm1hdC9pbWcyZGVjLmMgICAgIHwg MTYgKysrKysrKwo+ICBsaWJhdmZvcm1hdC9pbWcyZW5jLmMgICAgIHwgIDIgKy0KPiAgbGliYXZm b3JtYXQvdmVyc2lvbi5oICAgICB8ICA0ICstCj4gIDE1IGZpbGVzIGNoYW5nZWQsIDIxMSBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliYXZjb2Rl Yy9mYXJiZmVsZGRlYy5jCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmNvZGVjL2ZhcmJmZWxk ZW5jLmMKPiAKPiBkaWZmIC0tZ2l0IGEvQ2hhbmdlbG9nIGIvQ2hhbmdlbG9nCj4gaW5kZXggMDNk NmIyOWFkOC4uMTAyYzcxOGZmYyAxMDA2NDQKPiAtLS0gYS9DaGFuZ2Vsb2cKPiArKysgYi9DaGFu Z2Vsb2cKPiBAQCAtMTIsNiArMTIsNyBAQCB2ZXJzaW9uIDxuZXh0PjoKPiAgLSBxc3ZfcGFyYW1z IG9wdGlvbiBhZGRlZCBmb3IgUVNWIGVuY29kZXJzCj4gIC0gVlZDIGRlY29kZXIgY29tcGF0aWJs ZSB3aXRoIERWQiB0ZXN0IGNvbnRlbnQKPiAgLSB4SEUtQUFDIGRlY29kZXIKPiArLSBmYXJiZmVs ZCBlbmNvZGVyLCBkZWNvZGVyIGFuZCBkZW11eGVyCj4gIAo+ICAKPiAgdmVyc2lvbiA3LjA6Cj4g ZGlmZiAtLWdpdCBhL2RvYy9nZW5lcmFsX2NvbnRlbnRzLnRleGkgYi9kb2MvZ2VuZXJhbF9jb250 ZW50cy50ZXhpCj4gaW5kZXggZTdjZjRmODIzOS4uZmFiMzA2MTBhNCAxMDA2NDQKPiAtLS0gYS9k b2MvZ2VuZXJhbF9jb250ZW50cy50ZXhpCj4gKysrIGIvZG9jL2dlbmVyYWxfY29udGVudHMudGV4 aQo+IEBAIC04NTMsNiArODUzLDggQEAgZm9sbG93aW5nIGltYWdlIGZvcm1hdHMgYXJlIHN1cHBv cnRlZDoKPiAgICAgIEB0YWIgWCBQaXhNYXAgaW1hZ2UgZm9ybWF0Cj4gIEBpdGVtIFhXRCAgQHRh YiBYIEB0YWIgWAo+ICAgICAgQHRhYiBYIFdpbmRvdyBEdW1wIGltYWdlIGZvcm1hdAo+ICtAaXRl bSBGRiAgICAgICAgICAgQHRhYiBYIEB0YWIgWAo+ICsgICAgQHRhYiBmYXJiZmVsZCB1bmNvbXBy ZXNzZWQgaW1hZ2UgZm9ybWF0Cj4gIEBlbmQgbXVsdGl0YWJsZQo+ICAKPiAgQGNvZGV7WH0gbWVh bnMgdGhhdCB0aGUgZmVhdHVyZSBpbiB0aGF0IGNvbHVtbiAoZW5jb2RpbmcgLyBkZWNvZGluZykg aXMgc3VwcG9ydGVkLgo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL01ha2VmaWxlIGIvbGliYXZj b2RlYy9NYWtlZmlsZQo+IGluZGV4IDhhYjQzOThiNmMuLjA4YTNkMzlhZjAgMTAwNjQ0Cj4gLS0t IGEvbGliYXZjb2RlYy9NYWtlZmlsZQo+ICsrKyBiL2xpYmF2Y29kZWMvTWFrZWZpbGUKPiBAQCAt MzU2LDYgKzM1Niw4IEBAIE9CSlMtJChDT05GSUdfRVNDQVBFMTMwX0RFQ09ERVIpICAgICAgICs9 IGVzY2FwZTEzMC5vCj4gIE9CSlMtJChDT05GSUdfRVZSQ19ERUNPREVSKSAgICAgICAgICAgICs9 IGV2cmNkZWMubyBhY2VscF92ZWN0b3JzLm8gbHNwLm8KPiAgT0JKUy0kKENPTkZJR19FWFJfREVD T0RFUikgICAgICAgICAgICAgKz0gZXhyLm8gZXhyZHNwLm8gaGFsZjJmbG9hdC5vCj4gIE9CSlMt JChDT05GSUdfRVhSX0VOQ09ERVIpICAgICAgICAgICAgICs9IGV4cmVuYy5vIGZsb2F0MmhhbGYu bwo+ICtPQkpTLSQoQ09ORklHX0ZBUkJGRUxEX0RFQ09ERVIpICAgICAgICArPSBmYXJiZmVsZGRl Yy5vCj4gK09CSlMtJChDT05GSUdfRkFSQkZFTERfRU5DT0RFUikgICAgICAgICs9IGZhcmJmZWxk ZW5jLm8KPiAgT0JKUy0kKENPTkZJR19GQVNUQVVESU9fREVDT0RFUikgICAgICAgKz0gZmFzdGF1 ZGlvLm8KPiAgT0JKUy0kKENPTkZJR19GRlYxX0RFQ09ERVIpICAgICAgICAgICAgKz0gZmZ2MWRl Yy5vIGZmdjEubwo+ICBPQkpTLSQoQ09ORklHX0ZGVjFfRU5DT0RFUikgICAgICAgICAgICArPSBm ZnYxZW5jLm8gZmZ2MS5vCj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYWxsY29kZWNzLmMgYi9s aWJhdmNvZGVjL2FsbGNvZGVjcy5jCj4gaW5kZXggYjEwMmE4MDY5ZS4uOWY5ZWRhOGVjNiAxMDA2 NDQKPiAtLS0gYS9saWJhdmNvZGVjL2FsbGNvZGVjcy5jCj4gKysrIGIvbGliYXZjb2RlYy9hbGxj b2RlY3MuYwo+IEBAIC0xMTUsNiArMTE1LDggQEAgZXh0ZXJuIGNvbnN0IEZGQ29kZWMgZmZfZXNj YXBlMTI0X2RlY29kZXI7Cj4gIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX2VzY2FwZTEzMF9kZWNv ZGVyOwo+ICBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9leHJfZW5jb2RlcjsKPiAgZXh0ZXJuIGNv bnN0IEZGQ29kZWMgZmZfZXhyX2RlY29kZXI7Cj4gK2V4dGVybiBjb25zdCBGRkNvZGVjIGZmX2Zh cmJmZWxkX2RlY29kZXI7Cj4gK2V4dGVybiBjb25zdCBGRkNvZGVjIGZmX2ZhcmJmZWxkX2VuY29k ZXI7Cj4gIGV4dGVybiBjb25zdCBGRkNvZGVjIGZmX2ZmdjFfZW5jb2RlcjsKPiAgZXh0ZXJuIGNv bnN0IEZGQ29kZWMgZmZfZmZ2MV9kZWNvZGVyOwo+ICBleHRlcm4gY29uc3QgRkZDb2RlYyBmZl9m ZnZodWZmX2VuY29kZXI7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY29kZWNfZGVzYy5jIGIv bGliYXZjb2RlYy9jb2RlY19kZXNjLmMKPiBpbmRleCBhMjhlZjY4MDYxLi4zM2RiZDJjZTk0IDEw MDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvY29kZWNfZGVzYy5jCj4gKysrIGIvbGliYXZjb2RlYy9j b2RlY19kZXNjLmMKPiBAQCAtMTk1OSw2ICsxOTU5LDEzIEBAIHN0YXRpYyBjb25zdCBBVkNvZGVj RGVzY3JpcHRvciBjb2RlY19kZXNjcmlwdG9yc1tdID0gewo+ICAgICAgICAgIC5sb25nX25hbWUg PSBOVUxMX0lGX0NPTkZJR19TTUFMTCgiTEVBRCBNQ01QIiksCj4gICAgICAgICAgLnByb3BzICAg ICA9IEFWX0NPREVDX1BST1BfSU5UUkFfT05MWSB8IEFWX0NPREVDX1BST1BfTE9TU1ksCj4gICAg ICB9LAo+ICsgICAgewo+ICsgICAgICAgIC5pZCAgICAgICAgPSBBVl9DT0RFQ19JRF9GQVJCRkVM RCwKPiArICAgICAgICAudHlwZSAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAo+ICsgICAgICAg IC5uYW1lICAgICAgPSAiZmFyYmZlbGQiLAo+ICsgICAgICAgIC5sb25nX25hbWUgPSBOVUxMX0lG X0NPTkZJR19TTUFMTCgiZmFyYmZlbGQgdW5jb21wcmVzc2VkIGltYWdlIiksCj4gKyAgICAgICAg LnByb3BzICAgICA9IEFWX0NPREVDX1BST1BfSU5UUkFfT05MWSB8IEFWX0NPREVDX1BST1BfTE9T U0xFU1MsCj4gKyAgICB9LAo+ICAKPiAgICAgIC8qIHZhcmlvdXMgUENNICJjb2RlY3MiICovCj4g ICAgICB7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvY29kZWNfaWQuaCBiL2xpYmF2Y29kZWMv Y29kZWNfaWQuaAo+IGluZGV4IDBhYjFlMzRhNjEuLmQ0YjBkMjNmN2UgMTAwNjQ0Cj4gLS0tIGEv bGliYXZjb2RlYy9jb2RlY19pZC5oCj4gKysrIGIvbGliYXZjb2RlYy9jb2RlY19pZC5oCj4gQEAg LTMyMiw2ICszMjIsNyBAQCBlbnVtIEFWQ29kZWNJRCB7Cj4gICAgICBBVl9DT0RFQ19JRF9SVFYx LAo+ICAgICAgQVZfQ09ERUNfSURfVk1JWCwKPiAgICAgIEFWX0NPREVDX0lEX0xFQUQsCj4gKyAg ICBBVl9DT0RFQ19JRF9GQVJCRkVMRCwKPiAgCj4gICAgICAvKiB2YXJpb3VzIFBDTSAiY29kZWNz IiAqLwo+ICAgICAgQVZfQ09ERUNfSURfRklSU1RfQVVESU8gPSAweDEwMDAwLCAgICAgLy8vPCBB IGR1bW15IGlkIHBvaW50aW5nIGF0IHRoZSBzdGFydCBvZiBhdWRpbyBjb2RlY3MKPiBkaWZmIC0t Z2l0IGEvbGliYXZjb2RlYy9mYXJiZmVsZGRlYy5jIGIvbGliYXZjb2RlYy9mYXJiZmVsZGRlYy5j Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwLi5iNTY3MjcyMjVjCj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYmF2Y29kZWMvZmFyYmZlbGRkZWMuYwo+IEBAIC0wLDAg KzEsODIgQEAKPiArLyoKPiArICogQ29weXJpZ2h0IChjKSAyMDI0IE1hcmN1cyBCIFNwZW5jZXIg PG1hcmN1c0BtYXJjdXNzcGVuY2VyLnh5ej4KPiArICoKCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVy ZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNv cHkKPiArICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZp bGVzICh0aGUg4oCcU29mdHdhcmXigJ0pLCB0bwo+ICsgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQo+ICsg KiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRl LCBzdWJsaWNlbnNlLCBhbmQvb3IKPiArICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKPiArICogZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiArICoK PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3Rp Y2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiArICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9W SURFRCDigJxBUyBJU+KAnSwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP Ugo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U SUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCj4gKyAqIEFV VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFH RVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05U UkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElO IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H Uwo+ICsgKiBJTiBUSEUgU09GVFdBUkUuCgpBbnkgc3BlY2lhbCByZWFzb24gdG8gZmF2b3IgTUlU IG92ZXIgTEdQTDI/CgpBbnl3YXkgSSBzZWUgd2UgaGF2ZSBvdGhlciBpbnN0YW5jZXMgb2YgTUlU IGxpY2Vuc2VzLCBidXQgcHJvYmFibHkKd291bGQgYmUgc2ltcGxlciB0byB1c2UgTEdQTDIgdG8g c2ltcGxpZnkgb3ZlcmFsbCBsaWNlbnNpbmcuCgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJhdmNv ZGVjLmgiCj4gKyNpbmNsdWRlICJieXRlc3RyZWFtLmgiCj4gKyNpbmNsdWRlICJjb2RlY19pbnRl cm5hbC5oIgo+ICsjaW5jbHVkZSAiZGVjb2RlLmgiCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1n dXRpbHMuaCIKPiArI2luY2x1ZGUgInRocmVhZC5oIgo+ICsKPiArc3RhdGljIGludCBmYXJiZmVs ZF9kZWNvZGVfZnJhbWUoQVZDb2RlY0NvbnRleHQgKmN0eCwgQVZGcmFtZSAqcCwKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpnb3RfZnJhbWUsIEFWUGFja2V0ICpwa3Qp Cj4gK3sKPiArICAgIGludCB3aWR0aCwgaGVpZ2h0Owo+ICsgICAgR2V0Qnl0ZUNvbnRleHQgZzsK PiArICAgIGludCByZXQ7Cj4gKwo+ICsgICAgYnl0ZXN0cmVhbTJfaW5pdCgmZywgcGt0LT5kYXRh LCBwa3QtPnNpemUpOwo+ICsgICAgYnl0ZXN0cmVhbTJfc2tpcCgmZywgOCk7Cj4gKwo+ICsgICAg d2lkdGggID0gYnl0ZXN0cmVhbTJfZ2V0X2JlMzIoJmcpOwo+ICsgICAgaGVpZ2h0ID0gYnl0ZXN0 cmVhbTJfZ2V0X2JlMzIoJmcpOwo+ICsKPiArICAgIGlmICgocmV0ID0gZmZfc2V0X2RpbWVuc2lv bnMoY3R4LCB3aWR0aCwgaGVpZ2h0KSkgPCAwKQo+ICsgICAgICAgIHJldHVybiByZXQ7Cj4gKwo+ ICsgICAgY3R4LT5waXhfZm10ID0gQVZfUElYX0ZNVF9SR0JBNjRCRTsKPiArCj4gKyAgICBpZiAo Y3R4LT5za2lwX2ZyYW1lID49IEFWRElTQ0FSRF9BTEwpCj4gKyAgICAgICAgcmV0dXJuIHBrdC0+ c2l6ZTsKPiArCj4gKyAgICBpZiAoKHJldCA9IGZmX3RocmVhZF9nZXRfYnVmZmVyKGN0eCwgcCwg MCkpIDwgMCkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIGlmICgocmV0ID0gYXZf aW1hZ2VfZ2V0X2J1ZmZlcl9zaXplKGN0eC0+cGl4X2ZtdCwgd2lkdGgsIGhlaWdodCwgMSkpIDwg MCkKPiArICAgICAgICByZXR1cm4gcmV0Owo+ICsKPiArICAgIGlmIChieXRlc3RyZWFtMl9nZXRf Ynl0ZXNfbGVmdCgmZykgPCByZXQpCj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1JfSU5WQUxJRERB VEE7Cj4gKwo+ICsgICAgYXZfaW1hZ2VfZmlsbF9hcnJheXMoCj4gKyAgICAgICAgcC0+ZGF0YSwK PiArICAgICAgICBwLT5saW5lc2l6ZSwKPiArICAgICAgICBnLmJ1ZmZlciwKPiArICAgICAgICBj dHgtPnBpeF9mbXQsCj4gKyAgICAgICAgd2lkdGgsCj4gKyAgICAgICAgaGVpZ2h0LAo+ICsgICAg ICAgIDEKPiArICAgICk7Cj4gKwo+ICsgICAgKmdvdF9mcmFtZSA9IDE7Cj4gKwo+ICsgICAgcmV0 dXJuIHBrdC0+c2l6ZTsKPiArfQo+ICsKPiArY29uc3QgRkZDb2RlYyBmZl9mYXJiZmVsZF9kZWNv ZGVyID0gewo+ICsgICAgLnAubmFtZSAgICAgICAgID0gImZhcmJmZWxkIiwKPiArICAgIENPREVD X0xPTkdfTkFNRSgiZmFyYmZlbGQgdW5jb21wcmVzc2VkIGltYWdlIiksCj4gKyAgICAucC50eXBl ICAgICAgICAgPSBBVk1FRElBX1RZUEVfVklERU8sCj4gKyAgICAucC5pZCAgICAgICAgICAgPSBB Vl9DT0RFQ19JRF9GQVJCRkVMRCwKPiArICAgIC5wLmNhcGFiaWxpdGllcyA9IEFWX0NPREVDX0NB UF9EUjEgfCBBVl9DT0RFQ19DQVBfRlJBTUVfVEhSRUFEUywKPiArICAgIEZGX0NPREVDX0RFQ09E RV9DQihmYXJiZmVsZF9kZWNvZGVfZnJhbWUpLAo+ICt9Owo+IGRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2ZhcmJmZWxkZW5jLmMgYi9saWJhdmNvZGVjL2ZhcmJmZWxkZW5jLmMKPiBuZXcgZmlsZSBt b2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAuLjRkZWU4NjYyNDgKPiAtLS0gL2Rldi9udWxs Cj4gKysrIGIvbGliYXZjb2RlYy9mYXJiZmVsZGVuYy5jCj4gQEAgLTAsMCArMSw5MSBAQAo+ICsv Kgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjQgTWFyY3VzIEIgU3BlbmNlciA8bWFyY3VzQG1hcmN1 c3NwZW5jZXIueHl6Pgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Cj4gKyAqIG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIOKAnFNv ZnR3YXJl4oCdKSwgdG8KPiArICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmlj dGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKPiArICogcmlnaHRzIHRvIHVz ZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwg YW5kL29yCj4gKyAqIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCj4gKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywg c3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Cj4gKyAqCj4gKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu Y2x1ZGVkIGluCj4gKyAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhl IFNvZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQg4oCcQVMgSVPi gJ0sIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiArICogSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFO VEFCSUxJVFksCj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQo+ICsgKiBBVVRIT1JTIE9SIENPUFlS SUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4g KyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Ig T1RIRVJXSVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJ VEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhF IFNPRlRXQVJFLgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJhdmNvZGVjLmgiCj4gKyNpbmNsdWRl ICJieXRlc3RyZWFtLmgiCj4gKyNpbmNsdWRlICJjb2RlY19pbnRlcm5hbC5oIgo+ICsjaW5jbHVk ZSAiZW5jb2RlLmgiCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKPiArCj4gKyNk ZWZpbmUgSEVBREVSX1NJWkUgMTYKPiArCj4gK3N0YXRpYyBpbnQgZmFyYmZlbGRfZW5jb2RlX2Zy YW1lKEFWQ29kZWNDb250ZXh0ICpjdHgsIEFWUGFja2V0ICpwa3QsCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IEFWRnJhbWUgKnAsIGludCAqZ290X3BhY2tldCkKPiAr ewo+ICsgICAgaW50IHJhd19pbWdfc2l6ZSA9IGF2X2ltYWdlX2dldF9idWZmZXJfc2l6ZSgKPiAr ICAgICAgICBwLT5mb3JtYXQsCj4gKyAgICAgICAgcC0+d2lkdGgsCj4gKyAgICAgICAgcC0+aGVp Z2h0LAo+ICsgICAgICAgIDEKPiArICAgICk7Cj4gKyAgICBpbnQ2NF90IGJ1Zl9zaXplOwo+ICsg ICAgdWludDhfdCAqYnVmOwo+ICsgICAgaW50IHJldDsKPiArCj4gKyAgICBpZiAocmF3X2ltZ19z aXplIDwgMCkKPiArICAgICAgICByZXR1cm4gcmF3X2ltZ19zaXplOwo+ICsKPiArI2lmIElOVF9N QVggPiBJTlQ2NF9NQVggLSBIRUFERVJfU0laRQo+ICsgICAgaWYgKHJhd19pbWdfc2l6ZSA+IElO VDY0X01BWCAtIEhFQURFUl9TSVpFKQo+ICsgICAgICAgIHJldHVybiBBVkVSUk9SKEVSQU5HRSk7 Cj4gKyNlbmRpZgo+ICsKPiArICAgIGJ1Zl9zaXplID0gKGludDY0X3QpcmF3X2ltZ19zaXplICsg SEVBREVSX1NJWkU7Cj4gKwo+ICsgICAgaWYgKChyZXQgPSBmZl9nZXRfZW5jb2RlX2J1ZmZlcihj dHgsIHBrdCwgYnVmX3NpemUsIDApKSA8IDApCj4gKyAgICAgICAgcmV0dXJuIHJldDsKPiArCj4g KyAgICBidWYgPSBwa3QtPmRhdGE7Cj4gKwo+ICsgICAgYnl0ZXN0cmVhbV9wdXRfYnVmZmVyKCZi dWYsICJmYXJiZmVsZCIsIDgpOwo+ICsKPiArICAgIGJ5dGVzdHJlYW1fcHV0X2JlMzIoJmJ1Ziwg Y3R4LT53aWR0aCk7Cj4gKyAgICBieXRlc3RyZWFtX3B1dF9iZTMyKCZidWYsIGN0eC0+aGVpZ2h0 KTsKPiArCj4gKyAgICBhdl9pbWFnZV9jb3B5X3RvX2J1ZmZlcigKPiArICAgICAgICBidWYsCj4g KyAgICAgICAgcmF3X2ltZ19zaXplLAo+ICsgICAgICAgIChjb25zdCB1aW50OF90ICpjb25zdCAq KXAtPmRhdGEsCj4gKyAgICAgICAgcC0+bGluZXNpemUsCj4gKyAgICAgICAgcC0+Zm9ybWF0LAo+ ICsgICAgICAgIHAtPndpZHRoLAo+ICsgICAgICAgIHAtPmhlaWdodCwKPiArICAgICAgICAxCj4g KyAgICApOwo+ICsKPiArICAgICpnb3RfcGFja2V0ID0gMTsKPiArCj4gKyAgICByZXR1cm4gMDsK PiArfQo+ICsKPiArY29uc3QgRkZDb2RlYyBmZl9mYXJiZmVsZF9lbmNvZGVyID0gewo+ICsgICAg LnAubmFtZSAgICAgICAgID0gImZhcmJmZWxkIiwKPiArICAgIENPREVDX0xPTkdfTkFNRSgiZmFy YmZlbGQgdW5jb21wcmVzc2VkIGltYWdlIiksCj4gKyAgICAucC50eXBlICAgICAgICAgPSBBVk1F RElBX1RZUEVfVklERU8sCj4gKyAgICAucC5pZCAgICAgICAgICAgPSBBVl9DT0RFQ19JRF9GQVJC RkVMRCwKPiArICAgIC5wLmNhcGFiaWxpdGllcyA9IEFWX0NPREVDX0NBUF9EUjEgfCBBVl9DT0RF Q19DQVBfRlJBTUVfVEhSRUFEUywKPiArICAgIEZGX0NPREVDX0VOQ09ERV9DQihmYXJiZmVsZF9l bmNvZGVfZnJhbWUpLAo+ICsgICAgLnAucGl4X2ZtdHMgICAgID0gKGNvbnN0IGVudW0gQVZQaXhl bEZvcm1hdFtdKXsKPiArICAgICAgICBBVl9QSVhfRk1UX1JHQkE2NEJFLAo+ICsgICAgICAgIEFW X1BJWF9GTVRfTk9ORQo+ICsgICAgfSwKPiArfTsKPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy92 ZXJzaW9uLmggYi9saWJhdmNvZGVjL3ZlcnNpb24uaAo+IGluZGV4IGRhNTRmODc4ODcuLjM3YzRj Mzk0NTEgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy92ZXJzaW9uLmgKPiArKysgYi9saWJhdmNv ZGVjL3ZlcnNpb24uaAo+IEBAIC0yOSw3ICsyOSw3IEBACj4gIAo+ICAjaW5jbHVkZSAidmVyc2lv bl9tYWpvci5oIgo+ICAKCj4gLSNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX01JTk9SICAgNgo+ ICsjZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9NSU5PUiAgIDgKCm5pdDogbm8gbmVlZCBmb3Ig dGhlIGRvdWJsZSBidW1wCgo+ICAjZGVmaW5lIExJQkFWQ09ERUNfVkVSU0lPTl9NSUNSTyAxMDAK PiAgCj4gICNkZWZpbmUgTElCQVZDT0RFQ19WRVJTSU9OX0lOVCAgQVZfVkVSU0lPTl9JTlQoTElC QVZDT0RFQ19WRVJTSU9OX01BSk9SLCBcCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L01ha2Vm aWxlIGIvbGliYXZmb3JtYXQvTWFrZWZpbGUKPiBpbmRleCAxYzRkOWRlY2NkLi41ODhhMDk3MTQ5 IDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gKysrIGIvbGliYXZmb3JtYXQv TWFrZWZpbGUKPiBAQCAtMjg0LDYgKzI4NCw3IEBAIE9CSlMtJChDT05GSUdfSU1BR0VfQ1JJX1BJ UEVfREVNVVhFUikgICAgICs9IGltZzJkZWMubyBpbWcyLm8KPiAgT0JKUy0kKENPTkZJR19JTUFH RV9ERFNfUElQRV9ERU1VWEVSKSAgICAgKz0gaW1nMmRlYy5vIGltZzIubwo+ICBPQkpTLSQoQ09O RklHX0lNQUdFX0RQWF9QSVBFX0RFTVVYRVIpICAgICArPSBpbWcyZGVjLm8gaW1nMi5vCj4gIE9C SlMtJChDT05GSUdfSU1BR0VfRVhSX1BJUEVfREVNVVhFUikgICAgICs9IGltZzJkZWMubyBpbWcy Lm8KPiArT0JKUy0kKENPTkZJR19JTUFHRV9GQVJCRkVMRF9QSVBFX0RFTVVYRVIpKz0gaW1nMmRl Yy5vIGltZzIubwo+ICBPQkpTLSQoQ09ORklHX0lNQUdFX0dFTV9QSVBFX0RFTVVYRVIpICAgICAr PSBpbWcyZGVjLm8gaW1nMi5vCj4gIE9CSlMtJChDT05GSUdfSU1BR0VfR0lGX1BJUEVfREVNVVhF UikgICAgICs9IGltZzJkZWMubyBpbWcyLm8KPiAgT0JKUy0kKENPTkZJR19JTUFHRV9IRFJfUElQ RV9ERU1VWEVSKSAgICAgKz0gaW1nMmRlYy5vIGltZzIubwo+IGRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9hbGxmb3JtYXRzLmMgYi9saWJhdmZvcm1hdC9hbGxmb3JtYXRzLmMKPiBpbmRleCAzMDVm YTQ2NTMyLi42OTAwZWU4MTk5IDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMu Ywo+ICsrKyBiL2xpYmF2Zm9ybWF0L2FsbGZvcm1hdHMuYwo+IEBAIC01MzcsNiArNTM3LDcgQEAg ZXh0ZXJuIGNvbnN0IEZGSW5wdXRGb3JtYXQgIGZmX2ltYWdlX2NyaV9waXBlX2RlbXV4ZXI7Cj4g IGV4dGVybiBjb25zdCBGRklucHV0Rm9ybWF0ICBmZl9pbWFnZV9kZHNfcGlwZV9kZW11eGVyOwo+ ICBleHRlcm4gY29uc3QgRkZJbnB1dEZvcm1hdCAgZmZfaW1hZ2VfZHB4X3BpcGVfZGVtdXhlcjsK PiAgZXh0ZXJuIGNvbnN0IEZGSW5wdXRGb3JtYXQgIGZmX2ltYWdlX2V4cl9waXBlX2RlbXV4ZXI7 Cj4gK2V4dGVybiBjb25zdCBGRklucHV0Rm9ybWF0ICBmZl9pbWFnZV9mYXJiZmVsZF9waXBlX2Rl bXV4ZXI7Cj4gIGV4dGVybiBjb25zdCBGRklucHV0Rm9ybWF0ICBmZl9pbWFnZV9nZW1fcGlwZV9k ZW11eGVyOwo+ICBleHRlcm4gY29uc3QgRkZJbnB1dEZvcm1hdCAgZmZfaW1hZ2VfZ2lmX3BpcGVf ZGVtdXhlcjsKPiAgZXh0ZXJuIGNvbnN0IEZGSW5wdXRGb3JtYXQgIGZmX2ltYWdlX2hkcl9waXBl X2RlbXV4ZXI7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ltZzIuYyBiL2xpYmF2Zm9ybWF0 L2ltZzIuYwo+IGluZGV4IDk5ODE4NjdmODIuLjc3ZWRjN2ZmOWIgMTAwNjQ0Cj4gLS0tIGEvbGli YXZmb3JtYXQvaW1nMi5jCj4gKysrIGIvbGliYXZmb3JtYXQvaW1nMi5jCj4gQEAgLTk1LDYgKzk1 LDcgQEAKPiAgICAgIFRBRyhRT0ksICAgICAgICAgICAgIHFvaSAgICAgICkgXAo+ICAgICAgVEFH KFJBRElBTkNFX0hEUiwgICAgaGRyICAgICAgKSBcCj4gICAgICBUQUcoV0JNUCwgICAgICAgICAg ICB3Ym1wICAgICApIFwKPiArICAgIFRBRyhGQVJCRkVMRCwgICAgICAgIGZmICAgICAgICkgXAo+ ICAgICAgVEFHKE5PTkUsICAgICAgICAgICAgICAgICAgICAgKQo+ICAKPiAgI2RlZmluZSBMRU5H VEhfQ0hFQ0soQ09ERUNJRCwgU1RSKSBcCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2ltZzJk ZWMuYyBiL2xpYmF2Zm9ybWF0L2ltZzJkZWMuYwo+IGluZGV4IGE0MDY3NWQ0MzQuLjcwMDkxYzcw ZjIgMTAwNjQ0Cj4gLS0tIGEvbGliYXZmb3JtYXQvaW1nMmRlYy5jCj4gKysrIGIvbGliYXZmb3Jt YXQvaW1nMmRlYy5jCj4gQEAgLTEyMDUsNiArMTIwNSwyMSBAQCBzdGF0aWMgaW50IHZibl9wcm9i ZShjb25zdCBBVlByb2JlRGF0YSAqcCkKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4gIAo+ICtzdGF0 aWMgaW50IGZhcmJmZWxkX3Byb2JlKGNvbnN0IEFWUHJvYmVEYXRhICpwKQo+ICt7Cj4gKyAgICBp ZiAocC0+YnVmX3NpemUgPCAxNikKPiArICAgICAgICByZXR1cm4gMDsKPiArCj4gKyAgICBpZiAo bWVtY21wKHAtPmJ1ZiwgImZhcmJmZWxkIiwgOCkpCj4gKyAgICAgICAgcmV0dXJuIDA7Cj4gKwo+ ICsgICAgLy8gY2hlY2sgaWYgd2lkdGggb3IgaGVpZ2h0IGlzIHplcm8KPiArICAgIGlmIChBVl9S QjMyKHAtPmJ1ZiArIDgpID09IDAgfHwgQVZfUkIzMihwLT5idWYgKyAxMikgPT0gMCkKPiArICAg ICAgICByZXR1cm4gMDsKPiArCj4gKyAgICByZXR1cm4gQVZQUk9CRV9TQ09SRV9NQVggLSAxOwo+ ICt9Cj4gKwo+ICAjZGVmaW5lIElNQUdFQVVUT19ERU1VWEVSXzAoaW1nbmFtZSwgY29kZWNpZCkK PiAgI2RlZmluZSBJTUFHRUFVVE9fREVNVVhFUl8xKGltZ25hbWUsIGNvZGVjaWQpXAo+ICBjb25z dCBGRklucHV0Rm9ybWF0IGZmX2ltYWdlXyAjIyBpbWduYW1lICMjIF9waXBlX2RlbXV4ZXIgPSB7 XAo+IEBAIC0xMjM0LDYgKzEyNDksNyBAQCBJTUFHRUFVVE9fREVNVVhFUihjcmksICAgICAgIENS SSkKPiAgSU1BR0VBVVRPX0RFTVVYRVIoZGRzLCAgICAgICBERFMpCj4gIElNQUdFQVVUT19ERU1V WEVSKGRweCwgICAgICAgRFBYKQo+ICBJTUFHRUFVVE9fREVNVVhFUihleHIsICAgICAgIEVYUikK PiArSU1BR0VBVVRPX0RFTVVYRVIoZmFyYmZlbGQsICBGQVJCRkVMRCkKPiAgSU1BR0VBVVRPX0RF TVVYRVIoZ2VtLCAgICAgICBHRU0pCj4gIElNQUdFQVVUT19ERU1VWEVSKGdpZiwgICAgICAgR0lG KQo+ICBJTUFHRUFVVE9fREVNVVhFUl9FWFQoaGRyLCAgIFJBRElBTkNFX0hEUiwgSERSKQo+IGRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9pbWcyZW5jLmMgYi9saWJhdmZvcm1hdC9pbWcyZW5jLmMK PiBpbmRleCA1MjZhMTFlNWVlLi4xMzM1NWE2ZmFkIDEwMDY0NAo+IC0tLSBhL2xpYmF2Zm9ybWF0 L2ltZzJlbmMuYwo+ICsrKyBiL2xpYmF2Zm9ybWF0L2ltZzJlbmMuYwo+IEBAIC0yNzYsNyArMjc2 LDcgQEAgY29uc3QgRkZPdXRwdXRGb3JtYXQgZmZfaW1hZ2UyX211eGVyID0gewo+ICAgICAgLnAu bG9uZ19uYW1lICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwoImltYWdlMiBzZXF1ZW5jZSIpLAo+ ICAgICAgLnAuZXh0ZW5zaW9ucyAgID0gImJtcCxkcHgsZXhyLGpscyxqcGVnLGpwZyxqeGwsbGpw ZyxwYW0scGJtLHBjeCxwZm0scGdtLHBnbXl1dixwaG0sIgo+ICAgICAgICAgICAgICAgICAgICAg ICAgInBuZyxwcG0sc2dpLHRnYSx0aWYsdGlmZixqcDIsajJjLGoyayx4d2Qsc3VuLHJhcyxycyxp bTEsaW04LCIKPiAtICAgICAgICAgICAgICAgICAgICAgICJpbTI0LHN1bnJhcyx2Ym4seGJtLHhm YWNlLHBpeCx5LGF2aWYscW9pLGhkcix3Ym1wIiwKPiArICAgICAgICAgICAgICAgICAgICAgICJp bTI0LHN1bnJhcyx2Ym4seGJtLHhmYWNlLHBpeCx5LGF2aWYscW9pLGhkcix3Ym1wLGZmIiwKPiAg ICAgIC5wcml2X2RhdGFfc2l6ZSA9IHNpemVvZihWaWRlb011eERhdGEpLAo+ICAgICAgLnAudmlk ZW9fY29kZWMgID0gQVZfQ09ERUNfSURfTUpQRUcsCj4gICAgICAud3JpdGVfaGVhZGVyICAgPSB3 cml0ZV9oZWFkZXIsCj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3ZlcnNpb24uaCBiL2xpYmF2 Zm9ybWF0L3ZlcnNpb24uaAo+IGluZGV4IDQ2ODdjZDg1N2MuLmFmN2QwYTEwMjQgMTAwNjQ0Cj4g LS0tIGEvbGliYXZmb3JtYXQvdmVyc2lvbi5oCj4gKysrIGIvbGliYXZmb3JtYXQvdmVyc2lvbi5o Cj4gQEAgLTMxLDggKzMxLDggQEAKPiAgCj4gICNpbmNsdWRlICJ2ZXJzaW9uX21ham9yLmgiCj4g IAo+IC0jZGVmaW5lIExJQkFWRk9STUFUX1ZFUlNJT05fTUlOT1IgICAzCj4gLSNkZWZpbmUgTElC QVZGT1JNQVRfVkVSU0lPTl9NSUNSTyAxMDQKPiArI2RlZmluZSBMSUJBVkZPUk1BVF9WRVJTSU9O X01JTk9SICAgNAo+ICsjZGVmaW5lIExJQkFWRk9STUFUX1ZFUlNJT05fTUlDUk8gMTAwCj4gIAoK TG9va3MgZ29vZCB0byBtZSBvdGhlcndpc2UsIHRoYW5rcy4KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=