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 7585347CBF for ; Tue, 17 Oct 2023 18:28:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5FCC668CA05; Tue, 17 Oct 2023 21:28:51 +0300 (EEST) Received: from mail-il1-f182.google.com (mail-il1-f182.google.com [209.85.166.182]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C085A68C1B8 for ; Tue, 17 Oct 2023 21:28:44 +0300 (EEST) Received: by mail-il1-f182.google.com with SMTP id e9e14a558f8ab-35749fd39b6so23294195ab.1 for ; Tue, 17 Oct 2023 11:28:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1697567323; x=1698172123; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=7V+H2ftvqnMpNIHgb9Nj6xhMvqLMKDmEM/RBtXybtYM=; b=jLjGvMW1aiVAfp1K6zaWKSGrs1cnews6SUVorfcwP1DbmCAOU1xoDUJecvbVDa1uw7 17B39n7cNUyaa/HkqCpBC0FktcajRi2DB1eUP78pTQQkglZqBQ3JXTIv0lmps98C1XSA DFWAb/qSBdUopydDatkQ/JZW7AF9hpI+XJ2Xiw0NJn+Ma3xl8uLFJBrHtxT1zM7/1WY7 694qk9Yj3RDS2yFEFnBngj9nn+8b7Z2O3nI0WnH0+Iq+Y22STktcQyrmEErctWZLBjvs 6nhaYLDCLQn2Q8LBHlHspcSc/NrlHGE5w1nE+d0LdHJo0oJpd62GJJxYliUdlOpNPAyv 0DlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697567323; x=1698172123; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7V+H2ftvqnMpNIHgb9Nj6xhMvqLMKDmEM/RBtXybtYM=; b=eyyNAkUw51F3BnIxaYlcPLbRvI632QqjFnvL7f8R0/ho1o47oGj6RpXvi2kJZ/qiM6 if+v9qyHizXXUx4uUI3+N+f6gy5SZP98JrivqRJT+lyQ1DEkuHRHnink2ePCYbCXDV8Q iwo5dXqMU6JWz7PNgzJGHIdkN69WfvMGatALsPZ+iPszOcCZTsc6hEF72eYmFX/36vRS bMtlX4tCuce26FRHu0t7FYEqZlupNvQ/yl+djeU1Z2VYsVXEggoxOwEU5c3xAAeVr5Jk 0vAGwQWHLc9oIGkFvMoHsqnyj2CMKUlmHRnjvcffnoTzFhaOcryKOt2zk70YBZuGEUj3 X/KA== X-Gm-Message-State: AOJu0YyC6lVRdwDu2OibfMYRYqoTqnTebWSP5klNQS+pWjbLzAK4NcF/ Ao26ohQBYq7VeprOnFQZn0JOqAlTPtA4vPXAoFdvIiHXIt2kCg== X-Google-Smtp-Source: AGHT+IFa0jKjAlpZUmIeIosIX8z7z++L+z/e9AZcBktW2AzLziBRExxbvhqHa72Epi9PBsv9b7PCie8YBgJ+rkeRnQg= X-Received: by 2002:a92:6609:0:b0:351:526a:4bc with SMTP id a9-20020a926609000000b00351526a04bcmr3247147ilc.15.1697567322783; Tue, 17 Oct 2023 11:28:42 -0700 (PDT) MIME-Version: 1.0 References: <20230726113943.1140-1-lucenticus@gmail.com> <20231009095340.41807-1-lucenticus@gmail.com> In-Reply-To: From: Evgeny Pavlov Date: Tue, 17 Oct 2023 20:00:37 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH avcodec/amfenc: 10 bit support, v4, 1/3] avcodec/amfenc: Fixes the color information in the output. 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 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: T24gTW9uLCBPY3QgMTYsIDIwMjMgYXQgMTE6NDHigK9QTSBNYXJrIFRob21wc29uIDxzd0Bqa3F4 ei5uZXQ+IHdyb3RlOgoKPiBPbiAwOS8xMC8yMDIzIDEwOjUyLCBFdmdlbnkgUGF2bG92IHdyb3Rl Ogo+ID4gRnJvbTogTWljaGFlbCBGYWJpYW4gJ1hheW1hcicgRGlya3MgPG1pY2hhZWwuZGlya3NA eGF5bWFyLmNvbT4KPiA+Cj4gPiBhZGRlZCAxMCBiaXQgc3VwcG9ydCBmb3IgYW1mIGhldmMuCj4g Pgo+ID4gYmVmb3JlOgo+ID4KPiA+IGNvbW1hbmQgLSBmZm1wZWcuZXhlIC1oaWRlX2Jhbm5lciAt eSAtaHdhY2NlbCBkM2QxMXZhCj4gLWh3YWNjZWxfb3V0cHV0X2Zvcm1hdCBkM2QxMSAtaSB0ZXN0 XzEwYml0X2ZpbGUubWt2IC1hbiAtYzp2IGgyNjRfYW1mCj4gcmVzLmR4MTFfaHdfaDI2NC5ta3YK PiA+IG91dHB1dCAtICBGb3JtYXQgb2YgaW5wdXQgZnJhbWVzIGNvbnRleHQgKHAwMTBsZSkgaXMg bm90IHN1cHBvcnRlZCBieQo+IEFNRi4KPiA+IGNvbW1hbmQgLSBmZm1wZWcuZXhlIC1oaWRlX2Jh bm5lciAteSAtaHdhY2NlbCBkM2QxMXZhCj4gLWh3YWNjZWxfb3V0cHV0X2Zvcm1hdCBkM2QxMSAt aSB0ZXN0XzEwYml0X2ZpbGUgLWFuIC1jOnYgaGV2Y19hbWYKPiByZXMuZHgxMV9od19oZXZjLm1r dgo+ID4gb3V0cHV0IC0gIEZvcm1hdCBvZiBpbnB1dCBmcmFtZXMgY29udGV4dCAocDAxMGxlKSBp cyBub3Qgc3VwcG9ydGVkIGJ5Cj4gQU1GLgo+ID4KPiA+IGFmdGVyOgo+ID4KPiA+IGNvbW1hbmQg LSBmZm1wZWcuZXhlIC1oaWRlX2Jhbm5lciAteSAtaHdhY2NlbCBkM2QxMXZhCj4gLWh3YWNjZWxf b3V0cHV0X2Zvcm1hdCBkM2QxMSAtaSB0ZXN0XzEwYml0X2ZpbGUgLWFuIC1jOnYgaDI2NF9hbWYK PiByZXMuZHgxMV9od19oMjY0Lm1rdgo+ID4gb3V0cHV0IC0gIDEwLWJpdCBpbnB1dCB2aWRlbyBp cyBub3Qgc3VwcG9ydGVkIGJ5IEFNRiBIMjY0IGVuY29kZXIKPiA+IGNvbW1hbmQgLSBmZm1wZWcu ZXhlIC1oaWRlX2Jhbm5lciAteSAtaHdhY2NlbCBkM2QxMXZhCj4gLWh3YWNjZWxfb3V0cHV0X2Zv cm1hdCBkM2QxMSAtaSB0ZXN0XzEwYml0X2ZpbGUgLWFuIC1jOnYgaGV2Y19hbWYKPiByZXMuZHgx MV9od19oZXZjLm1rdgo+ID4gb3V0cHV0IC0gIDEwYml0IGZpbGUKPiA+Cj4gPiB2MiAtIGxvc3Qg bGluZSByZXR1cm5lZCBpbiBmZl9hbWZfcGl4X2ZtdHMKPiA+IHYzIC0gZml4ZXMgYWZ0ZXIgcmV2 aWV3Cj4gPiB2NCAtIGV4dHJhY3QgZHVwbGljYXRlZCBjb2RlLCBmaXggaW5jb3JyZWN0IHByb2Nl c3Npbmcgb2YgMTAtYml0IGlucHV0Cj4gZm9yIGgyNjQKPiA+Cj4gPiBDby1hdXRob3JlZC1ieTog RXZnZW55IFBhdmxvdiA8bHVjZW50aWN1c0BnbWFpbC5jb20+Cj4gPiAtLS0KPiA+ICAgbGliYXZj b2RlYy9hbWZlbmMuYyAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwo+ID4gICBsaWJhdmNvZGVjL2FtZmVuYy5oICAgICAgfCAgMyArKysKPiA+ICAgbGliYXZj b2RlYy9hbWZlbmNfaDI2NC5jIHwgMjQgKysrKysrKysrKysrKysrKysrKystLS0tCj4gPiAgIGxp YmF2Y29kZWMvYW1mZW5jX2hldmMuYyB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKystCj4g PiAgIDQgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+ Cj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9hbWZlbmMuYyBiL2xpYmF2Y29kZWMvYW1mZW5j LmMKPiA+IGluZGV4IDA2MTg1OWY4NWMuLjBiZDE1ZGQ4MTIgMTAwNjQ0Cj4gPiAtLS0gYS9saWJh dmNvZGVjL2FtZmVuYy5jCj4gPiArKysgYi9saWJhdmNvZGVjL2FtZmVuYy5jCj4gPiBAQCAtNjAs NiArNjAsNyBAQCBjb25zdCBlbnVtIEFWUGl4ZWxGb3JtYXQgZmZfYW1mX3BpeF9mbXRzW10gPSB7 Cj4gPiAgICNpZiBDT05GSUdfRFhWQTIKPiA+ICAgICAgIEFWX1BJWF9GTVRfRFhWQTJfVkxELAo+ ID4gICAjZW5kaWYKPiA+ICsgICAgQVZfUElYX0ZNVF9QMDEwLAo+ID4gICAgICAgQVZfUElYX0ZN VF9OT05FCj4gPiAgIH07Cj4gPgo+ID4gQEAgLTcyLDYgKzczLDcgQEAgc3RhdGljIGNvbnN0IEZv cm1hdE1hcCBmb3JtYXRfbWFwW10gPQo+ID4gICB7Cj4gPiAgICAgICB7IEFWX1BJWF9GTVRfTk9O RSwgICAgICAgQU1GX1NVUkZBQ0VfVU5LTk9XTiB9LAo+ID4gICAgICAgeyBBVl9QSVhfRk1UX05W MTIsICAgICAgIEFNRl9TVVJGQUNFX05WMTIgfSwKPiA+ICsgICAgeyBBVl9QSVhfRk1UX1AwMTAs ICAgICAgIEFNRl9TVVJGQUNFX1AwMTAgfSwKPiA+ICAgICAgIHsgQVZfUElYX0ZNVF9CR1IwLCAg ICAgICBBTUZfU1VSRkFDRV9CR1JBIH0sCj4gPiAgICAgICB7IEFWX1BJWF9GTVRfUkdCMCwgICAg ICAgQU1GX1NVUkZBQ0VfUkdCQSB9LAo+ID4gICAgICAgeyBBVl9QSVhfRk1UX0dSQVk4LCAgICAg IEFNRl9TVVJGQUNFX0dSQVk4IH0sCj4gPiBAQCAtNzg1LDYgKzc4Nyw0MSBAQCBpbnQgZmZfYW1m X3JlY2VpdmVfcGFja2V0KEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPiBBVlBhY2tldCAqYXZwa3Qp Cj4gPiAgICAgICByZXR1cm4gcmV0Owo+ID4gICB9Cj4gPgo+ID4gK2ludCBmZl9hbWZfZ2V0X2Nv bG9yX3Byb2ZpbGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4KQo+ID4gK3sKPiA+ICsgICAgYW1mX2lu dDY0IGNvbG9yX3Byb2ZpbGUgPSBBTUZfVklERU9fQ09OVkVSVEVSX0NPTE9SX1BST0ZJTEVfVU5L Tk9XTjsKPgo+IENhbiB5b3UgZXhwbGFpbiB3aGF0IHRoaXMgQ09OVkVSVEVSX0NPTE9SX1BST0ZJ TEUgb3B0aW9uIGlzIGFjdHVhbGx5IGRvaW5nPwo+Cj4gWW91J3ZlIHBhc3NlZCB0aGUgcHJpbWFy aWVzIGFuZCB0cmFuc2ZlciBmdW5jdGlvbiB0byBBTUYgb3B0aW9ucyBsYXRlciBvbiwKPiBidXQg dGhpcyBzZWVtcyB0byB0aGVuIG9ubHkgY29uc2lkZXIgYSBzdWJzZXQgb2YgcG9zc2libGUgbWF0 cmljZXMgcmF0aGVyCj4gdGhhbiBqdXN0IHBhc3NpbmcgdGhhdCB0aHJvdWdoIGFzIHdlbGwgdG8g d3JpdGUgaW50byB0aGUgVlVJIG1ldGFkYXRhLiAgV2h5Pwo+Cj4gKElmIHRoaXMgaXNuJ3Qgc3Vw cG9ydGVkIGJ5IEFNRiB0aGVuIGEgbW9yZSBjb3JyZWN0IHNvbHV0aW9uIG1pZ2h0IGJlIHRvCj4g aW5zZXJ0IGEgbWV0YWRhdGEgQlNGIHRvIGVkaXQgdGhlIGNvcnJlY3QgdmFsdWVzIGludG8gdGhl IG91dHB1dCBzdHJlYW0KPiBhZnRlciBpdCBoYXMgYmVlbiBlbmNvZGVkLikKPgo+IFdoZW4gUkdC IHN1cmZhY2UgaXMgc3VibWl0dGVkLCBBTUYgZW5jb2RlciBub3Qgb25seSB3cml0ZXMgVlVJIGhl YWRlciBidXQKYWxzbyBkb2VzIGNvbG9yIGNvbnZlcnNpb24uIEluIHRoaXMgY2FzZSBDT05WRVJU RVJfQ09MT1JfUFJPRklMRSBkZWZpbmVzCmNvbG9yIGNvbnZlcnNpb24gbWF0cml4LiBUaGlzIGNv bnZlcnNpb24gbWF5IGhhcHBlbiB3aXRoIHNoYWRlcnMgb3IgaW5zaWRlClZDTiBpZiBpdCBpcyBj YXBhYmxlIHRvIGRvIHNvLgoKVGhlc2UgYXJlIGlucHV0IHBhcmFtZXRlcnMgZm9yIGNvbnZlcnNp b24g4oCTIGlmIGNvbnZlcnNpb24gaXMgaW52b2x2ZWQ6CkFNRl9WSURFT19FTkNPREVSX0lOUFVU X0NPTE9SX1BST0ZJTEUg4oCTIGZvciBjb2xvciBjb252ZXJzaW9uOiBsaW1pdGVkCm51bWJlciBv ZiBjb2xvciBzcGFjZXMgaXMgc3VwcG9ydGVkLgpBTUZfVklERU9fRU5DT0RFUl9JTlBVVF9UUkFO U0ZFUl9DSEFSQUNURVJJU1RJQwpBTUZfVklERU9fRU5DT0RFUl9JTlBVVF9DT0xPUl9QUklNQVJJ RVMKQU1GX1ZJREVPX0VOQ09ERVJfSU5QVVRfSERSX01FVEFEQVRBCgpUaGVzZSBhcmUgb3V0cHV0 IHBhcmFtZXRlcnMgZm9yIGNvbnZlcnNpb24gYW5kIGRhdGEgZm9yIFZVSToKQU1GX1ZJREVPX0VO Q09ERVJfT1VUUFVUX0NPTE9SX1BST0ZJTEUg4oCTIGZvciBWVUkgb25seSwgdXNlZCBpZiBjb2xv cgpjb252ZXJzaW9uIGlzIGRvbmUgb3V0c2lkZSBvZiBBTUYKQU1GX1ZJREVPX0VOQ09ERVJfT1VU UFVUX1RSQU5TRkVSX0NIQVJBQ1RFUklTVElDCkFNRl9WSURFT19FTkNPREVSX09VVFBVVF9DT0xP Ul9QUklNQVJJRVMKQU1GX1ZJREVPX0VOQ09ERVJfT1VUUFVUX0hEUl9NRVRBREFUQQoKSXQgd291 bGQgYmUgcG9zc2libGUgdG8gYWRkIHVuc3VwcG9ydGVkIGNvbG9yIG1hdHJpY2VzIHZpYSBlZGl0 aW5nIFZVSSBpbgp0aGUgb3V0cHV0IHN0cmVhbSBidXQgaXQgaXMgYmV0dGVyIHRvIGRvIGl0IHZp YSBhIHNlcGFyYXRlIHBhdGNoIGFzCnN1cHBvcnRlZCBjb3ZlcnMgbW9zdCBjb21tb24gdXNlIGNh c2VzLgoKCj4gPiArICAgIGlmIChhdmN0eC0+Y29sb3JfcmFuZ2UgPT0gQVZDT0xfUkFOR0VfSlBF Rykgewo+ID4gKyAgICAgICAgLy8vIENvbG9yIFNwYWNlIGZvciBGdWxsIChKUEVHKSBSYW5nZQo+ ID4gKyAgICAgICAgc3dpdGNoIChhdmN0eC0+Y29sb3JzcGFjZSkgewo+ID4gKyAgICAgICAgY2Fz ZSBBVkNPTF9TUENfU01QVEUxNzBNOgo+ID4gKyAgICAgICAgICAgIGNvbG9yX3Byb2ZpbGUgPSBB TUZfVklERU9fQ09OVkVSVEVSX0NPTE9SX1BST0ZJTEVfRlVMTF82MDE7Cj4gPiArICAgICAgICAg ICAgYnJlYWs7Cj4gPiArICAgICAgICBjYXNlIEFWQ09MX1NQQ19CVDcwOToKPiA+ICsgICAgICAg ICAgICBjb2xvcl9wcm9maWxlID0gQU1GX1ZJREVPX0NPTlZFUlRFUl9DT0xPUl9QUk9GSUxFX0ZV TExfNzA5Owo+ID4gKyAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAgICAgICAgY2FzZSBBVkNPTF9T UENfQlQyMDIwX05DTDoKPiA+ICsgICAgICAgIGNhc2UgQVZDT0xfU1BDX0JUMjAyMF9DTDoKPiA+ ICsgICAgICAgICAgICBjb2xvcl9wcm9maWxlID0gQU1GX1ZJREVPX0NPTlZFUlRFUl9DT0xPUl9Q Uk9GSUxFX0ZVTExfMjAyMDsKPiA+ICsgICAgICAgICAgICBicmVhazsKPiA+ICsgICAgICAgIH0K PiA+ICsgICAgfSBlbHNlIHsKPiA+ICsgICAgICAgIC8vLyBDb2xvciBTcGFjZSBmb3IgTGltaXRl ZCAoTVBFRykgcmFuZ2UKPiA+ICsgICAgICAgIHN3aXRjaCAoYXZjdHgtPmNvbG9yc3BhY2UpIHsK PiA+ICsgICAgICAgIGNhc2UgQVZDT0xfU1BDX1NNUFRFMTcwTToKPiA+ICsgICAgICAgICAgICBj b2xvcl9wcm9maWxlID0gQU1GX1ZJREVPX0NPTlZFUlRFUl9DT0xPUl9QUk9GSUxFXzYwMTsKPiA+ ICsgICAgICAgICAgICBicmVhazsKPiA+ICsgICAgICAgIGNhc2UgQVZDT0xfU1BDX0JUNzA5Ogo+ ID4gKyAgICAgICAgICAgIGNvbG9yX3Byb2ZpbGUgPSBBTUZfVklERU9fQ09OVkVSVEVSX0NPTE9S X1BST0ZJTEVfNzA5Owo+ID4gKyAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAgICAgICAgY2FzZSBB VkNPTF9TUENfQlQyMDIwX05DTDoKPiA+ICsgICAgICAgIGNhc2UgQVZDT0xfU1BDX0JUMjAyMF9D TDoKPiA+ICsgICAgICAgICAgICBjb2xvcl9wcm9maWxlID0gQU1GX1ZJREVPX0NPTlZFUlRFUl9D T0xPUl9QUk9GSUxFXzIwMjA7Cj4gPiArICAgICAgICAgICAgYnJlYWs7Cj4gPiArICAgICAgICB9 Cj4gPiArICAgIH0KPiA+ICsgICAgcmV0dXJuIGNvbG9yX3Byb2ZpbGU7Cj4gPiArfQo+ID4gKwo+ ID4gICBjb25zdCBBVkNvZGVjSFdDb25maWdJbnRlcm5hbCAqY29uc3QgZmZfYW1mZW5jX2h3X2Nv bmZpZ3NbXSA9IHsKPiA+ICAgI2lmIENPTkZJR19EM0QxMVZBCj4gPiAgICAgICBIV19DT05GSUdf RU5DT0RFUl9GUkFNRVMoRDNEMTEsIEQzRDExVkEpLAo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29k ZWMvYW1mZW5jLmggYi9saWJhdmNvZGVjL2FtZmVuYy5oCj4gPiBpbmRleCAyZGJkMzc4ZWY4Li42 MjczNmVmNTc5IDEwMDY0NAo+ID4gLS0tIGEvbGliYXZjb2RlYy9hbWZlbmMuaAo+ID4gKysrIGIv bGliYXZjb2RlYy9hbWZlbmMuaAo+ID4gQEAgLTIxLDYgKzIxLDcgQEAKPiA+Cj4gPiAgICNpbmNs dWRlIDxBTUYvY29yZS9GYWN0b3J5Lmg+Cj4gPgo+ID4gKyNpbmNsdWRlIDxBTUYvY29tcG9uZW50 cy9Db2xvclNwYWNlLmg+Cj4gPiAgICNpbmNsdWRlIDxBTUYvY29tcG9uZW50cy9WaWRlb0VuY29k ZXJWQ0UuaD4KPiA+ICAgI2luY2x1ZGUgPEFNRi9jb21wb25lbnRzL1ZpZGVvRW5jb2RlckhFVkMu aD4KPiA+ICAgI2luY2x1ZGUgPEFNRi9jb21wb25lbnRzL1ZpZGVvRW5jb2RlckFWMS5oPgo+ID4g QEAgLTE3MCw2ICsxNzEsOCBAQCBpbnQgZmZfYW1mX3JlY2VpdmVfcGFja2V0KEFWQ29kZWNDb250 ZXh0ICphdmN0eCwKPiBBVlBhY2tldCAqYXZwa3QpOwo+ID4gICAqLwo+ID4gICBleHRlcm4gY29u c3QgZW51bSBBVlBpeGVsRm9ybWF0IGZmX2FtZl9waXhfZm10c1tdOwo+ID4KPiA+ICtpbnQgZmZf YW1mX2dldF9jb2xvcl9wcm9maWxlKEFWQ29kZWNDb250ZXh0ICphdmN0eCk7Cj4gPiArCj4gPiAg IC8qKgo+ID4gICAqIEVycm9yIGhhbmRsaW5nIGhlbHBlcgo+ID4gICAqLwo+ID4gZGlmZiAtLWdp dCBhL2xpYmF2Y29kZWMvYW1mZW5jX2gyNjQuYyBiL2xpYmF2Y29kZWMvYW1mZW5jX2gyNjQuYwo+ ID4gaW5kZXggYmQ1NDRkMTJkZi4uZjc4NWUwOTFjOSAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Y29k ZWMvYW1mZW5jX2gyNjQuYwo+ID4gKysrIGIvbGliYXZjb2RlYy9hbWZlbmNfaDI2NC5jCj4gPiBA QCAtMTk5LDYgKzE5OSw4IEBAIHN0YXRpYyBhdl9jb2xkIGludAo+IGFtZl9lbmNvZGVfaW5pdF9o MjY0KEFWQ29kZWNDb250ZXh0ICphdmN0eCkKPiA+ICAgICAgIEFNRlJhdGUgICAgICAgICAgICAg ICAgICAgICAgICAgIGZyYW1lcmF0ZTsKPiA+ICAgICAgIEFNRlNpemUgICAgICAgICAgICAgICAg ICAgICAgICAgIGZyYW1lc2l6ZSA9Cj4gQU1GQ29uc3RydWN0U2l6ZShhdmN0eC0+d2lkdGgsIGF2 Y3R4LT5oZWlnaHQpOwo+ID4gICAgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGVibG9ja2luZ19maWx0ZXIgPSAoYXZjdHgtPmZsYWdzCj4gJiBBVl9DT0RFQ19GTEFHX0xPT1Bf RklMVEVSKSA/IDEgOiAwOwo+ID4gKyAgICBhbWZfaW50NjQgICAgICAgICAgICAgICAgICAgICAg ICBjb2xvcl9wcm9maWxlOwo+ID4gKyAgICBlbnVtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBVlBpeGVsRm9ybWF0IHBpeF9mbXQ7Cj4gPgo+ID4gICAgICAgaWYgKGF2Y3R4LT5mcmFtZXJh dGUubnVtID4gMCAmJiBhdmN0eC0+ZnJhbWVyYXRlLmRlbiA+IDApIHsKPiA+ICAgICAgICAgICBm cmFtZXJhdGUgPSBBTUZDb25zdHJ1Y3RSYXRlKGF2Y3R4LT5mcmFtZXJhdGUubnVtLAo+IGF2Y3R4 LT5mcmFtZXJhdGUuZGVuKTsKPiA+IEBAIC0yNjIsMTAgKzI2NCwyNCBAQCBGRl9FTkFCTEVfREVQ UkVDQVRJT05fV0FSTklOR1MKPiA+ICAgICAgICAgICBBTUZfQVNTSUdOX1BST1BFUlRZX1JBVElP KHJlcywgY3R4LT5lbmNvZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0FTUEVDVF9SQVRJTywgcmF0 aW8pOwo+ID4gICAgICAgfQo+ID4KPiA+IC0gICAgLy8vIENvbG9yIFJhbmdlIChQYXJ0aWFsL1RW L01QRUcgb3IgRnVsbC9QQy9KUEVHKQo+ID4gLSAgICBpZiAoYXZjdHgtPmNvbG9yX3JhbmdlID09 IEFWQ09MX1JBTkdFX0pQRUcpIHsKPiA+IC0gICAgICAgIEFNRl9BU1NJR05fUFJPUEVSVFlfQk9P TChyZXMsIGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9GVUxMX1JBTkdFX0NPTE9S LCAxKTsKPiA+IC0gICAgfQo+ID4gKyAgICBjb2xvcl9wcm9maWxlID0gZmZfYW1mX2dldF9jb2xv cl9wcm9maWxlKGF2Y3R4KTsKPiA+ICsgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMs IGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9PVVRQVVRfQ09MT1JfUFJPRklMRSwg Y29sb3JfcHJvZmlsZSk7Cj4gPiArCj4gPiArICAgIC8vLyBDb2xvciBSYW5nZSAoU3VwcG9ydCBm b3Igb2xkZXIgRHJpdmVycykKPiA+ICsgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9CT09MKHJlcywg Y3R4LT5lbmNvZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0ZVTExfUkFOR0VfQ09MT1IsICEhKGF2 Y3R4LT5jb2xvcl9yYW5nZSA9PQo+IEFWQ09MX1JBTkdFX0pQRUcpKTsKPiA+ICsKPiA+ICsgICAg Ly8vIENvbG9yIERlcHRoCj4gPiArICAgIHBpeF9mbXQgPSBhdmN0eC0+aHdfZnJhbWVzX2N0eCA/ Cj4gKChBVkhXRnJhbWVzQ29udGV4dCopYXZjdHgtPmh3X2ZyYW1lc19jdHgtPmRhdGEpLT5zd19m b3JtYXQKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogYXZjdHgtPnBpeF9m bXQ7Cj4gPiArCj4gPiArICAgIC8vIDEwIGJpdCBpbnB1dCB2aWRlbyBpcyBub3Qgc3VwcG9ydGVk IGJ5IEFNRiBIMjY0IGVuY29kZXIKPiA+ICsgICAgQU1GX1JFVFVSTl9JRl9GQUxTRShjdHgsIHBp eF9mbXQgIT0gQVZfUElYX0ZNVF9QMDEwLAo+IEFWRVJST1JfSU5WQUxJRERBVEEsICIxMC1iaXQg aW5wdXQgdmlkZW8gaXMgbm90IHN1cHBvcnRlZCBieSBBTUYgSDI2NAo+IGVuY29kZXJcbiIpOwo+ ID4gKwo+ID4gKyAgICBBTUZfQVNTSUdOX1BST1BFUlRZX0lOVDY0KHJlcywgY3R4LT5lbmNvZGVy LAo+IEFNRl9WSURFT19FTkNPREVSX0NPTE9SX0JJVF9ERVBUSCwgQU1GX0NPTE9SX0JJVF9ERVBU SF84KTsKPiA+ICsgICAgLy8vIENvbG9yIFRyYW5zZmVyIENoYXJhY3RlcmlzdGljcyAoQU1GIG1h dGNoZXMgSVNPL0lFQykKPiA+ICsgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMsIGN0 eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9PVVRQVVRfVFJBTlNGRVJfQ0hBUkFDVEVS SVNUSUMsCj4gKGFtZl9pbnQ2NClhdmN0eC0+Y29sb3JfdHJjKTsKPiA+ICsgICAgLy8vIENvbG9y IFByaW1hcmllcyAoQU1GIG1hdGNoZXMgSVNPL0lFQykKPiA+ICsgICAgQU1GX0FTU0lHTl9QUk9Q RVJUWV9JTlQ2NChyZXMsIGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9PVVRQVVRf Q09MT1JfUFJJTUFSSUVTLAo+IChhbWZfaW50NjQpYXZjdHgtPmNvbG9yX3ByaW1hcmllcyk7Cj4g Pgo+ID4gICAgICAgLy8gYXV0b2RldGVjdCByYXRlIGNvbnRyb2wgbWV0aG9kCj4gPiAgICAgICBp ZiAoY3R4LT5yYXRlX2NvbnRyb2xfbW9kZSA9PQo+IEFNRl9WSURFT19FTkNPREVSX1JBVEVfQ09O VFJPTF9NRVRIT0RfVU5LTk9XTikgewo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvYW1mZW5j X2hldmMuYyBiL2xpYmF2Y29kZWMvYW1mZW5jX2hldmMuYwo+ID4gaW5kZXggMzUyNTY0YTMwMS4u NzgwMDY5NTY0OCAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Y29kZWMvYW1mZW5jX2hldmMuYwo+ID4g KysrIGIvbGliYXZjb2RlYy9hbWZlbmNfaGV2Yy5jCj4gPiBAQCAtMzQsOCArMzQsOSBAQCBzdGF0 aWMgY29uc3QgQVZPcHRpb24gb3B0aW9uc1tdID0gewo+ID4gICAgICAgeyAiaGlnaF9xdWFsaXR5 IiwgICAgICAgICAgICJoaWdoIHF1YWxpdHkgdHJhbmNvZGluZyIsCj4gICAgICAgMCwgQVZfT1BU X1RZUEVfQ09OU1QsIHsuaTY0ID0KPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX1VTQUdFX0hJR0hf UVVBTElUWSAgICAgICAgICAgICAgfSwgMCwgMCwgVkUsICJ1c2FnZSIKPiB9LAo+ID4gICAgICAg eyAibG93bGF0ZW5jeV9oaWdoX3F1YWxpdHkiLCJsb3cgbGF0ZW5jeSB5ZXQgaGlnaCBxdWFsaXR5 Cj4gdHJhbmNvZGluZyIsICAwLCBBVl9PUFRfVFlQRV9DT05TVCwgey5pNjQgPQo+IEFNRl9WSURF T19FTkNPREVSX0hFVkNfVVNBR0VfTE9XX0xBVEVOQ1lfSElHSF9RVUFMSVRZICB9LCAwLCAwLCBW RSwgInVzYWdlIgo+IH0sCj4gPgo+ID4gLSAgICB7ICJwcm9maWxlIiwgICAgICAgICJTZXQgdGhl IHByb2ZpbGUgKGRlZmF1bHQgbWFpbikiLAo+ICBPRkZTRVQocHJvZmlsZSksICAgQVZfT1BUX1RZ UEVfSU5ULHsgLmk2NCA9Cj4gQU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19QUk9GSUxFX01BSU4gfSwg QU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19QUk9GSUxFX01BSU4sCj4gQU1GX1ZJREVPX0VOQ09ERVJf SEVWQ19QUk9GSUxFX01BSU4sIFZFLCAicHJvZmlsZSIgfSwKPiA+ICsgICAgeyAicHJvZmlsZSIs ICAgICAgICAiU2V0IHRoZSBwcm9maWxlIChkZWZhdWx0IG1haW4pIiwKPiAgT0ZGU0VUKHByb2Zp bGUpLCAgIEFWX09QVF9UWVBFX0lOVCx7IC5pNjQgPQo+IEFNRl9WSURFT19FTkNPREVSX0hFVkNf UFJPRklMRV9NQUlOIH0sIEFNRl9WSURFT19FTkNPREVSX0hFVkNfUFJPRklMRV9NQUlOLAo+IEFN Rl9WSURFT19FTkNPREVSX0hFVkNfUFJPRklMRV9NQUlOXzEwLCBWRSwgInByb2ZpbGUiIH0sCj4g PiAgICAgICB7ICJtYWluIiwgICAgICAgICAgICIiLCAwLAo+IEFWX09QVF9UWVBFX0NPTlNULHsg Lmk2NCA9IEFNRl9WSURFT19FTkNPREVSX0hFVkNfUFJPRklMRV9NQUlOIH0sIDAsIDAsIFZFLAo+ ICJwcm9maWxlIiB9LAo+ID4gKyAgICB7ICJtYWluMTAiLCAgICAgICAgICIiLCAwLCAgICAgICAg ICAgICAgICAgICAgICBBVl9PUFRfVFlQRV9DT05TVCx7Cj4gLmk2NCA9IEFNRl9WSURFT19FTkNP REVSX0hFVkNfUFJPRklMRV9NQUlOXzEwIH0sIDAsIDAsIFZFLCAicHJvZmlsZSIgfSwKPiA+Cj4g PiAgICAgICB7ICJwcm9maWxlX3RpZXIiLCAgICJTZXQgdGhlIHByb2ZpbGUgdGllciAoZGVmYXVs dCBtYWluKSIsCj4gT0ZGU0VUKHRpZXIpLCBBVl9PUFRfVFlQRV9JTlQseyAuaTY0ID0gQU1GX1ZJ REVPX0VOQ09ERVJfSEVWQ19USUVSX01BSU4gfSwKPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX1RJ RVJfTUFJTiwgQU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19USUVSX0hJR0gsIFZFLAo+ICJ0aWVyIiB9 LAo+ID4gICAgICAgeyAibWFpbiIsICAgICAgICAgICAiIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1Qs IHsgLmk2NCA9Cj4gQU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19USUVSX01BSU4gfSwgMCwgMCwgVkUs ICJ0aWVyIiB9LAo+ID4gQEAgLTE2MCw2ICsxNjEsOSBAQCBzdGF0aWMgYXZfY29sZCBpbnQKPiBh bWZfZW5jb2RlX2luaXRfaGV2YyhBVkNvZGVjQ29udGV4dCAqYXZjdHgpCj4gPiAgICAgICBBTUZS YXRlICAgICAgICAgICAgIGZyYW1lcmF0ZTsKPiA+ICAgICAgIEFNRlNpemUgICAgICAgICAgICAg ZnJhbWVzaXplID0gQU1GQ29uc3RydWN0U2l6ZShhdmN0eC0+d2lkdGgsCj4gYXZjdHgtPmhlaWdo dCk7Cj4gPiAgICAgICBpbnQgICAgICAgICAgICAgICAgIGRlYmxvY2tpbmdfZmlsdGVyID0gKGF2 Y3R4LT5mbGFncyAmCj4gQVZfQ09ERUNfRkxBR19MT09QX0ZJTFRFUikgPyAxIDogMDsKPiA+ICsg ICAgYW1mX2ludDY0ICAgICAgICAgICBjb2xvcl9kZXB0aDsKPiA+ICsgICAgYW1mX2ludDY0ICAg ICAgICAgICBjb2xvcl9wcm9maWxlOwo+ID4gKyAgICBlbnVtICAgICAgICAgICAgICAgIEFWUGl4 ZWxGb3JtYXQgcGl4X2ZtdDsKPiA+Cj4gPiAgICAgICBpZiAoYXZjdHgtPmZyYW1lcmF0ZS5udW0g PiAwICYmIGF2Y3R4LT5mcmFtZXJhdGUuZGVuID4gMCkgewo+ID4gICAgICAgICAgIGZyYW1lcmF0 ZSA9IEFNRkNvbnN0cnVjdFJhdGUoYXZjdHgtPmZyYW1lcmF0ZS5udW0sCj4gYXZjdHgtPmZyYW1l cmF0ZS5kZW4pOwo+ID4gQEAgLTE4MywxMCArMTg3LDE0IEBAIEZGX0VOQUJMRV9ERVBSRUNBVElP Tl9XQVJOSU5HUwo+ID4KPiA+ICAgICAgIEFNRl9BU1NJR05fUFJPUEVSVFlfUkFURShyZXMsIGN0 eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX0ZSQU1FUkFURSwgZnJhbWVyYXRl KTsKPiA+Cj4gPiArICAgIGNvbG9yX2RlcHRoID0gQU1GX0NPTE9SX0JJVF9ERVBUSF84Owo+ID4g ICAgICAgc3dpdGNoIChhdmN0eC0+cHJvZmlsZSkgewo+ID4gICAgICAgY2FzZSBBVl9QUk9GSUxF X0hFVkNfTUFJTjoKPiA+ICAgICAgICAgICBwcm9maWxlID0gQU1GX1ZJREVPX0VOQ09ERVJfSEVW Q19QUk9GSUxFX01BSU47Cj4gPiAgICAgICAgICAgYnJlYWs7Cj4gPiArICAgIGNhc2UgRkZfUFJP RklMRV9IRVZDX01BSU5fMTA6Cj4KPiBNaXhlZCBGRl8vQVZfUFJPRklMRSBlbnVtcyBsb29rcyBh IGJpdCBvZGQuCj4KT29wcywgdGhhbmtzIGZvciBub3RpY2luZyB0aGlzIQoKPgo+ID4gKyAgICAg ICAgcHJvZmlsZSA9IEFNRl9WSURFT19FTkNPREVSX0hFVkNfUFJPRklMRV9NQUlOXzEwOwo+ID4g KyAgICAgICAgYnJlYWs7Cj4gPiAgICAgICBkZWZhdWx0Ogo+ID4gICAgICAgICAgIGJyZWFrOwo+ ID4gICAgICAgfQo+ID4gQEAgLTIxNSw2ICsyMjMsMjIgQEAgRkZfRU5BQkxFX0RFUFJFQ0FUSU9O X1dBUk5JTkdTCj4gPiAgICAgICAgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9SQVRJTyhyZXMsIGN0 eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX0FTUEVDVF9SQVRJTywgcmF0aW8p Owo+ID4gICAgICAgfQo+ID4KPiA+ICsgICAgY29sb3JfcHJvZmlsZSA9IGZmX2FtZl9nZXRfY29s b3JfcHJvZmlsZShhdmN0eCk7Cj4gPiArICAgIEFNRl9BU1NJR05fUFJPUEVSVFlfSU5UNjQocmVz LCBjdHgtPmVuY29kZXIsCj4gQU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19PVVRQVVRfQ09MT1JfUFJP RklMRSwgY29sb3JfcHJvZmlsZSk7Cj4gPiArICAgIC8vLyBDb2xvciBSYW5nZSAoU3VwcG9ydCBm b3Igb2xkZXIgRHJpdmVycykKPiA+ICsgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9CT09MKHJlcywg Y3R4LT5lbmNvZGVyLAo+IEFNRl9WSURFT19FTkNPREVSX0hFVkNfTk9NSU5BTF9SQU5HRSwgISEo YXZjdHgtPmNvbG9yX3JhbmdlID09Cj4gQVZDT0xfUkFOR0VfSlBFRykpOwo+ID4gKyAgICAvLy8g Q29sb3IgRGVwdGgKPgo+IE1vdmUgdGhlIGZpcnN0IHNldHRpbmcgb2YgY29sb3JfZGVwdGggaGVy ZT8gIFRoZSBzZXR0aW5nIGFib3ZlIGluCj4gdW5yZWxhdGVkIGNvZGUgaXMgZWFzeSB0byBtaXNz Lgo+Ckkgd2lsbCBtb3ZlIHRoZSBmaXJzdCBjb2xvcl9kZXB0aCBzZXR0aW5nIGhlcmUsIHRoYW5r cwoKPgo+ID4gKyAgICBwaXhfZm10ID0gYXZjdHgtPmh3X2ZyYW1lc19jdHggPwo+ICgoQVZIV0Zy YW1lc0NvbnRleHQqKWF2Y3R4LT5od19mcmFtZXNfY3R4LT5kYXRhKS0+c3dfZm9ybWF0Cj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBhdmN0eC0+cGl4X2ZtdDsKPiA+ ICsgICAgaWYgKHBpeF9mbXQgPT0gQVZfUElYX0ZNVF9QMDEwKSB7Cj4gPiArICAgICAgICBjb2xv cl9kZXB0aCA9IEFNRl9DT0xPUl9CSVRfREVQVEhfMTA7Cj4gPiArICAgIH0KPiA+ICsgICAgQU1G X0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMsIGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5D T0RFUl9IRVZDX0NPTE9SX0JJVF9ERVBUSCwgY29sb3JfZGVwdGgpOwo+Cj4gSXMgdGhpcyB0aGUg aW5wdXQgYml0IGRlcHRoIG9yIHRoZSBjb2RlYyBiaXQgZGVwdGg/ICAoQ2FuIHRoZXkgYmUKPiBk aWZmZXJlbnQ/KQo+CkFjY29yZGluZyB0byBBTUYgZG9jdW1lbnRhdGlvbiwgdGhpcyBwcm9wZXJ0 eSAic2V0cyB0aGUgbnVtYmVyIG9mIGJpdHMgaW4KZWFjaCBwaXhlbOKAmXMgY29sb3IgY29tcG9u ZW50IGluIHRoZSBlbmNvZGVy4oCZcyBjb21wcmVzc2VkIG91dHB1dCBiaXRzdHJlYW0iLgpXZSBz aG91bGQgc2V0IHVwIGNvcnJlY3QgYml0IGRlcHRoIGZvciBlbmNvZGVyIGlmIHdlIGhhdmUgMTAt Yml0IGlucHV0Cgo+Cj4gPiArICAgIC8vLyBDb2xvciBUcmFuc2ZlciBDaGFyYWN0ZXJpc3RpY3Mg KEFNRiBtYXRjaGVzIElTTy9JRUMpCj4gPiArICAgIEFNRl9BU1NJR05fUFJPUEVSVFlfSU5UNjQo cmVzLCBjdHgtPmVuY29kZXIsCj4gQU1GX1ZJREVPX0VOQ09ERVJfSEVWQ19PVVRQVVRfVFJBTlNG RVJfQ0hBUkFDVEVSSVNUSUMsCj4gKGFtZl9pbnQ2NClhdmN0eC0+Y29sb3JfdHJjKTsKPiA+ICsg ICAgLy8vIENvbG9yIFByaW1hcmllcyAoQU1GIG1hdGNoZXMgSVNPL0lFQykKPiA+ICsgICAgQU1G X0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMsIGN0eC0+ZW5jb2RlciwKPiBBTUZfVklERU9fRU5D T0RFUl9IRVZDX09VVFBVVF9DT0xPUl9QUklNQVJJRVMsCj4gKGFtZl9pbnQ2NClhdmN0eC0+Y29s b3JfcHJpbWFyaWVzKTsKPiA+ICsKPiA+ICAgICAgIC8vIFBpY3R1cmUgY29udHJvbCBwcm9wZXJ0 aWVzCj4gPiAgICAgICBBTUZfQVNTSUdOX1BST1BFUlRZX0lOVDY0KHJlcywgY3R4LT5lbmNvZGVy LAo+IEFNRl9WSURFT19FTkNPREVSX0hFVkNfTlVNX0dPUFNfUEVSX0lEUiwgY3R4LT5nb3BzX3Bl cl9pZHIpOwo+ID4gICAgICAgQU1GX0FTU0lHTl9QUk9QRVJUWV9JTlQ2NChyZXMsIGN0eC0+ZW5j b2RlciwKPiBBTUZfVklERU9fRU5DT0RFUl9IRVZDX0dPUF9TSVpFLCBhdmN0eC0+Z29wX3NpemUp Owo+Cj4gVGhhbmtzLAo+Cj4gLSBNYXJrCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRl dmVsQGZmbXBlZy5vcmcKPiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1w ZWctZGV2ZWwKPgo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmli ZSIuCj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZt cGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2Zm bXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2 aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3Jn IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=