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 227764ADAA for ; Sat, 22 Jun 2024 21:30:32 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3492268D5C9; Sun, 23 Jun 2024 00:30:30 +0300 (EEST) Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 849F068D42E for ; Sun, 23 Jun 2024 00:30:23 +0300 (EEST) Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-1f47f07aceaso25368795ad.0 for ; Sat, 22 Jun 2024 14:30:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719091821; x=1719696621; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=MwfPr/puyKqSH7RIfc/Hoks0EKLANsq1/Y5Xndhjn8M=; b=NUKKcUDJNaFvtBpHoQmKpNcEggJ+MnKNShyepG1TmD6/iYqRCVfSbmMPXox1jPo+2+ 9woqpy+T/EzHocJakq69TXxk64fE3ZPBLkH/A63vKSpuaxji6c0T27glDi3Or2xBGC+m 2PaI/LAqOOOYkQnGZ78otENP7LIGVS3nkPsUzrVjRRDcFwulyVXOfOBM8bdQ5YZC3neH h089gTlA+Lpgzhq35qN/nL2kP8BN6CkZJlgFdgqqyNzy/1eL3DVkUDzwmMTWBW5Wy1Wh IxMq+/GEuNxq+UNTe2qBDdSxo0AMfwIf7woiLbcPxD0humu/vEwqK3bUQ3P24spj0lkD tYoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719091821; x=1719696621; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MwfPr/puyKqSH7RIfc/Hoks0EKLANsq1/Y5Xndhjn8M=; b=dMfZ5+BWJXGLEAujcHlgFijYM21YWh/2BJWV1C4+Cr0424hMRtOECnPmnCUVA80RWE cwG329ji2tdJuPcMt6Plwa+SFP/x8ws6fQ/kMgbDwY6kVjHZZfWG1IY4zjZxkheuXuK8 a136VtQGtkHc7/cbyufkIZljBEeVV3A389ZeVCos1YGR6Lylx1KkvB7ssqmvcJ6dy0sD aHSQZigpfQVQXyYJIUHlDGJCaAxx7LCFBnqE4nUVLcBLXML66HcQHLABTyNWYq+HusOR hfE33LN54PQzoTWcCeouuQzA7emRjQwBFyD2ZWboS6oJdZKGhEvBYstDxkEEhNUhmiP1 z1ow== X-Gm-Message-State: AOJu0YzlaVrDN5FfWaLHuvCXEs7M/OORZ4lY7dvat5jUDOx/OjISzhtk hjI4hgGXs5TeWrTvx12NI7F/QP5wUC/k0P+7RGc96GfP4g/C8D6zEr+1KA== X-Google-Smtp-Source: AGHT+IG/DlZm+sVoORgZ8/N3PG1pylBbXszetf5pFVItEtAJuuiMnFOX3xWH52eUFC/8vLo1roEkmg== X-Received: by 2002:a17:902:c950:b0:1f7:2a3a:dd9b with SMTP id d9443c01a7336-1fa158dea63mr20499105ad.18.1719091821124; Sat, 22 Jun 2024 14:30:21 -0700 (PDT) Received: from [192.168.0.16] ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1f9eb321a8esm35407915ad.96.2024.06.22.14.30.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 22 Jun 2024 14:30:20 -0700 (PDT) Message-ID: Date: Sat, 22 Jun 2024 18:30:30 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240622201116.403924-1-dev@lynne.ee> <279f38ed-f2ce-4fe0-98f4-09495dd97bb3@gmail.com> <663e290b-fda1-4903-8625-a6600078b636@lynne.ee> Content-Language: en-US From: James Almer In-Reply-To: <663e290b-fda1-4903-8625-a6600078b636@lynne.ee> Subject: Re: [FFmpeg-devel] [PATCH] lavu/stereo3d: change baseline and horizontal FOV to rationals 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gNi8yMi8yMDI0IDY6MjYgUE0sIEx5bm5lIHZpYSBmZm1wZWctZGV2ZWwgd3JvdGU6Cj4gT24g MjIvMDYvMjAyNCAyMjoxOSwgSmFtZXMgQWxtZXIgd3JvdGU6Cj4+IE9uIDYvMjIvMjAyNCA1OjEx IFBNLCBMeW5uZSB2aWEgZmZtcGVnLWRldmVsIHdyb3RlOgo+Pj4gVGhpcyBhdm9pZHMgaGFyZGNv ZGluZyBhbnkgaW1wbGVtZW50YXRpb24tc3BlY2lmaWMgbGltaXRpYXRpb25zIGFzCj4+PiBwYXJ0 IG9mIHRoZSBBUEksIGFuZCBhbGxvd3MgZm9yIGZ1dHVyZSBleHBhbmRhYmlsaXR5Lgo+Pj4KPj4+ IFRoaXMgYWxzbyBhbGxvd3MgQVBJIHVzZXJzIHRvIG1vcmUgY29udmVuaWVudGx5IGNvbnZlcnQg dGhlCj4+PiB2YWx1ZXMgaW50byBmbG9hdHMgd2l0aG91dCBoYXJkY29kaW5nIHNwZWNpZmljIGNv bnZlcnNpb24gY29uc3RhbnRzLgo+Pj4KPj4+IFRoZSBkcmFmdCBpbXBsZW1lbnRhdGlvbiBvZiB0 aGlzIG1lY2hhbmlzbSBmb3IgdGhlIGRyYWZ0IG9mCj4+PiBBVlRyYW5zcG9ydCB1c2VzIHJhdGlv bmFscyBmb3IgdGhlc2UgcGFydGljdWxhciBmaWVsZHMuCj4+Pgo+Pj4gVGhlIEFQSSB3YXMgY29t bWl0dGVkIDIgZGF5cyBhZ28sIHNvIGNoYW5naW5nIHRoZXNlIGZpZWxkcyBub3cKPj4+IGlzIHdp dGhpbiB0aGUgcmVhbG1zIG9mIGFjY2VwdGFibGUuCj4+PiAtLS0KPj4+IMKgIGZmdG9vbHMvZmZw cm9iZS5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHzCoCA0ICsrLS0KPj4+IMKgIGxpYmF2Zm9ybWF0L2R1bXAuY8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDkgKysrKystLS0tCj4+PiDC oCBsaWJhdmZvcm1hdC9tb3YuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB8wqAgOSArKysrKystLS0KPj4+IMKgIGxpYmF2dXRpbC9zdGVyZW8z ZC5owqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA4 ICsrKystLS0tCj4+PiDCoCB0ZXN0cy9yZWYvZmF0ZS9tYXRyb3NrYS1zcGhlcmljYWwtbW9ub8Kg wqDCoMKgwqDCoCB8wqAgNCArKy0tCj4+PiDCoCB0ZXN0cy9yZWYvZmF0ZS9tYXRyb3NrYS1zcGhl cmljYWwtbW9uby1yZW11eCB8wqAgOCArKysrLS0tLQo+Pj4gwqAgdGVzdHMvcmVmL2ZhdGUvbWF0 cm9za2Etc3RlcmVvX21vZGXCoMKgwqDCoMKgwqDCoMKgwqAgfCAxNiArKysrKysrKy0tLS0tLS0t Cj4+PiDCoCB0ZXN0cy9yZWYvZmF0ZS9tYXRyb3NrYS12cDgtYWxwaGEtcmVtdXjCoMKgwqDCoMKg IHzCoCA0ICsrLS0KPj4+IMKgIHRlc3RzL3JlZi9mYXRlL21vdi1zcGhlcmljYWwtbW9ub8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQgKystLQo+Pj4gwqAgOSBmaWxlcyBjaGFuZ2VkLCAzNSBp bnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPj4+Cj4+PiBkaWZmIC0tZ2l0IGEvZmZ0b29s cy9mZnByb2JlLmMgYi9mZnRvb2xzL2ZmcHJvYmUuYwo+Pj4gaW5kZXggZDdiYTk4MGZmOS4uMmRh OTI4YjdjMyAxMDA2NDQKPj4+IC0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jCj4+PiArKysgYi9mZnRv b2xzL2ZmcHJvYmUuYwo+Pj4gQEAgLTI1NDYsOSArMjU0Niw5IEBAIHN0YXRpYyB2b2lkIHByaW50 X3BrdF9zaWRlX2RhdGEoV3JpdGVyQ29udGV4dCAqdywKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHByaW50X2ludCgiaW52ZXJ0ZWQiLCAhIShzdGVyZW8tPmZsYWdzICYgCj4+PiBBVl9T VEVSRU8zRF9GTEFHX0lOVkVSVCkpOwo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJp bnRfc3RyKCJ2aWV3IiwgYXZfc3RlcmVvM2Rfdmlld19uYW1lKHN0ZXJlby0+dmlldykpOwo+Pj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJpbnRfc3RyKCJwcmltYXJ5X2V5ZSIsIAo+Pj4g YXZfc3RlcmVvM2RfcHJpbWFyeV9leWVfbmFtZShzdGVyZW8tPnByaW1hcnlfZXllKSk7Cj4+PiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcmludF9pbnQoImJhc2VsaW5lIiwgc3RlcmVvLT5iYXNl bGluZSk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcmludF9xKCJiYXNlbGluZSIsIHN0 ZXJlby0+YmFzZWxpbmUsICcvJyk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcmlu dF9xKCJob3Jpem9udGFsX2Rpc3Bhcml0eV9hZGp1c3RtZW50Iiwgc3RlcmVvLSAKPj4+ID5ob3Jp em9udGFsX2Rpc3Bhcml0eV9hZGp1c3RtZW50LCAnLycpOwo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcHJpbnRfaW50KCJob3Jpem9udGFsX2ZpZWxkX29mX3ZpZXciLCBzdGVyZW8tIAo+Pj4g Pmhvcml6b250YWxfZmllbGRfb2Zfdmlldyk7Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBw cmludF9xKCJob3Jpem9udGFsX2ZpZWxkX29mX3ZpZXciLCBzdGVyZW8tIAo+Pj4gPmhvcml6b250 YWxfZmllbGRfb2ZfdmlldywgJy8nKTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9IGVsc2UgaWYg KHNkLT50eXBlID09IEFWX1BLVF9EQVRBX1NQSEVSSUNBTCkgewo+Pj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgY29uc3QgQVZTcGhlcmljYWxNYXBwaW5nICpzcGhlcmljYWwgPSAKPj4+IChB VlNwaGVyaWNhbE1hcHBpbmcgKilzZC0+ZGF0YTsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHByaW50X3N0cigicHJvamVjdGlvbiIsIAo+Pj4gYXZfc3BoZXJpY2FsX3Byb2plY3Rpb25f bmFtZShzcGhlcmljYWwtPnByb2plY3Rpb24pKTsKPj4+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1h dC9kdW1wLmMgYi9saWJhdmZvcm1hdC9kdW1wLmMKPj4+IGluZGV4IDYxYTJjNmEyOWYuLmFjN2Qz MDM4YWIgMTAwNjQ0Cj4+PiAtLS0gYS9saWJhdmZvcm1hdC9kdW1wLmMKPj4+ICsrKyBiL2xpYmF2 Zm9ybWF0L2R1bXAuYwo+Pj4gQEAgLTI2MiwxMyArMjYyLDE0IEBAIHN0YXRpYyB2b2lkIGR1bXBf c3RlcmVvM2Qodm9pZCAqY3R4LCBjb25zdCAKPj4+IEFWUGFja2V0U2lkZURhdGEgKnNkLCBpbnQg bG9nX2xldmVsKQo+Pj4gwqDCoMKgwqDCoCBhdl9sb2coY3R4LCBsb2dfbGV2ZWwsICIlcywgdmll dzogJXMsIHByaW1hcnkgZXllOiAlcyIsCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZf c3RlcmVvM2RfdHlwZV9uYW1lKHN0ZXJlby0+dHlwZSksIAo+Pj4gYXZfc3RlcmVvM2Rfdmlld19u YW1lKHN0ZXJlby0+dmlldyksCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXZfc3RlcmVv M2RfcHJpbWFyeV9leWVfbmFtZShzdGVyZW8tPnByaW1hcnlfZXllKSk7Cj4+PiAtwqDCoMKgIGlm IChzdGVyZW8tPmJhc2VsaW5lKQo+Pj4gLcKgwqDCoMKgwqDCoMKgIGF2X2xvZyhjdHgsIGxvZ19s ZXZlbCwgIiwgYmFzZWxpbmU6ICUiUFJJdTMyIiIsIHN0ZXJlby0gCj4+PiA+YmFzZWxpbmUpOwo+ Pj4gK8KgwqDCoCBpZiAoc3RlcmVvLT5iYXNlbGluZS5udW0gJiYgc3RlcmVvLT5iYXNlbGluZS5k ZW4pCj4+PiArwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGN0eCwgbG9nX2xldmVsLCAiLCBiYXNlbGlu ZTogJWQvJWQiLCBzdGVyZW8tIAo+Pj4gPmJhc2VsaW5lLm51bSwgc3RlcmVvLT5iYXNlbGluZS5k ZW4pOwo+Pj4gwqDCoMKgwqDCoCBpZiAoc3RlcmVvLT5ob3Jpem9udGFsX2Rpc3Bhcml0eV9hZGp1 c3RtZW50Lm51bSAmJiBzdGVyZW8tIAo+Pj4gPmhvcml6b250YWxfZGlzcGFyaXR5X2FkanVzdG1l bnQuZGVuKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhjdHgsIGxvZ19sZXZlbCwgIiwg aG9yaXpvbnRhbF9kaXNwYXJpdHlfYWRqdXN0bWVudDogCj4+PiAlZC8lZCIsCj4+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdGVyZW8tPmhvcml6b250YWxfZGlzcGFyaXR5X2Fk anVzdG1lbnQubnVtLCBzdGVyZW8tIAo+Pj4gPmhvcml6b250YWxfZGlzcGFyaXR5X2FkanVzdG1l bnQuZGVuKTsKPj4+IC3CoMKgwqAgaWYgKHN0ZXJlby0+aG9yaXpvbnRhbF9maWVsZF9vZl92aWV3 KQo+Pj4gLcKgwqDCoMKgwqDCoMKgIGF2X2xvZyhjdHgsIGxvZ19sZXZlbCwgIiwgaG9yaXpvbnRh bF9maWVsZF9vZl92aWV3OiAKPj4+ICUiUFJJdTMyIiIsIHN0ZXJlby0+aG9yaXpvbnRhbF9maWVs ZF9vZl92aWV3KTsKPj4+ICvCoMKgwqAgaWYgKHN0ZXJlby0+aG9yaXpvbnRhbF9maWVsZF9vZl92 aWV3Lm51bSAmJiBzdGVyZW8tIAo+Pj4gPmhvcml6b250YWxfZmllbGRfb2Zfdmlldy5kZW4pCj4+ PiArwqDCoMKgwqDCoMKgwqAgYXZfbG9nKGN0eCwgbG9nX2xldmVsLCAiLCBob3Jpem9udGFsX2Zp ZWxkX29mX3ZpZXc6ICVkLyVkIiwgCj4+PiBzdGVyZW8tPmhvcml6b250YWxfZmllbGRfb2Zfdmll dy5udW0sCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdGVyZW8tPmhvcml6b250 YWxfZmllbGRfb2Zfdmlldy5kZW4pOwo+Pj4gwqDCoMKgwqDCoCBpZiAoc3RlcmVvLT5mbGFncyAm IEFWX1NURVJFTzNEX0ZMQUdfSU5WRVJUKQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhj dHgsIGxvZ19sZXZlbCwgIiAoaW52ZXJ0ZWQpIik7Cj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3Jt YXQvbW92LmMgYi9saWJhdmZvcm1hdC9tb3YuYwo+Pj4gaW5kZXggZjA4ZmVjM2ZiNi4uNjRjZDE3 ZTc3MCAxMDA2NDQKPj4+IC0tLSBhL2xpYmF2Zm9ybWF0L21vdi5jCj4+PiArKysgYi9saWJhdmZv cm1hdC9tb3YuYwo+Pj4gQEAgLTY1NDUsNyArNjU0NSw4IEBAIHN0YXRpYyBpbnQgbW92X3JlYWRf ZXllcyhNT1ZDb250ZXh0ICpjLCAKPj4+IEFWSU9Db250ZXh0ICpwYiwgTU9WQXRvbSBhdG9tKQo+ Pj4gwqDCoMKgwqDCoCBNT1ZTdHJlYW1Db250ZXh0ICpzYzsKPj4+IMKgwqDCoMKgwqAgaW50IHNp emUsIGZsYWdzID0gMDsKPj4+IMKgwqDCoMKgwqAgaW50NjRfdCByZW1haW5pbmc7Cj4+PiAtwqDC oMKgIHVpbnQzMl90IHRhZywgYmFzZWxpbmUgPSAwOwo+Pj4gK8KgwqDCoCB1aW50MzJfdCB0YWc7 Cj4+PiArwqDCoMKgIEFWUmF0aW9uYWwgYmFzZWxpbmUgPSBhdl9tYWtlX3EoMCwgMCk7Cj4+PiDC oMKgwqDCoMKgIGVudW0gQVZTdGVyZW8zRFZpZXcgdmlldyA9IEFWX1NURVJFTzNEX1ZJRVdfUEFD S0VEOwo+Pj4gwqDCoMKgwqDCoCBlbnVtIEFWU3RlcmVvM0RQcmltYXJ5RXllIHByaW1hcnlfZXll ID0gQVZfUFJJTUFSWV9FWUVfTk9ORTsKPj4+IMKgwqDCoMKgwqAgQVZSYXRpb25hbCBob3Jpem9u dGFsX2Rpc3Bhcml0eV9hZGp1c3RtZW50ID0geyAwLCAxIH07Cj4+PiBAQCAtNjY0Miw3ICs2NjQz LDggQEAgc3RhdGljIGludCBtb3ZfcmVhZF9leWVzKE1PVkNvbnRleHQgKmMsIAo+Pj4gQVZJT0Nv bnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBh dmlvX3NraXAocGIsIDEpOyAvLyB2ZXJzaW9uCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBhdmlvX3NraXAocGIsIDMpOyAvLyBmbGFncwo+Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg YmFzZWxpbmUgPSBhdmlvX3JiMzIocGIpOwo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYmFz ZWxpbmUubnVtID0gYXZpb19yYjMyKHBiKTsKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJh c2VsaW5lLmRlbiA9IDEwMDAwMDA7IC8vIG1pY3JvbWV0ZXJzCj4+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBicmVhazsKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4+PiBAQCAtNjc4Miw3 ICs2Nzg0LDggQEAgc3RhdGljIGludCBtb3ZfcmVhZF9oZm92KE1PVkNvbnRleHQgKmMsIAo+Pj4g QVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+Pj4gwqDCoMKgwqDCoCB9Cj4+PiAtwqDCoMKg IHNjLT5zdGVyZW8zZC0+aG9yaXpvbnRhbF9maWVsZF9vZl92aWV3ID0gYXZpb19yYjMyKHBiKTsK Pj4+ICvCoMKgwqAgc2MtPnN0ZXJlbzNkLT5ob3Jpem9udGFsX2ZpZWxkX29mX3ZpZXcubnVtID0g YXZpb19yYjMyKHBiKTsKPj4+ICvCoMKgwqAgc2MtPnN0ZXJlbzNkLT5ob3Jpem9udGFsX2ZpZWxk X29mX3ZpZXcuZGVuID0gMTAwMDsgLy8gdGhvdXNhbmRzIAo+Pj4gb2YgYSBkZWdyZWUKPj4+IMKg wqDCoMKgwqAgcmV0dXJuIDA7Cj4+PiDCoCB9Cj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3N0 ZXJlbzNkLmggYi9saWJhdnV0aWwvc3RlcmVvM2QuaAo+Pj4gaW5kZXggMDBhNWMzOTAwZS4uMDk3 ZjZjOTQ1NSAxMDA2NDQKPj4+IC0tLSBhL2xpYmF2dXRpbC9zdGVyZW8zZC5oCj4+PiArKysgYi9s aWJhdnV0aWwvc3RlcmVvM2QuaAo+Pj4gQEAgLTIxMyw5ICsyMTMsOSBAQCB0eXBlZGVmIHN0cnVj dCBBVlN0ZXJlbzNEIHsKPj4+IMKgwqDCoMKgwqAgLyoqCj4+PiDCoMKgwqDCoMKgwqAgKiBUaGUg ZGlzdGFuY2UgYmV0d2VlbiB0aGUgY2VudHJlcyBvZiB0aGUgbGVuc2VzIG9mIHRoZSBjYW1lcmEg Cj4+PiBzeXN0ZW0sCj4+PiAtwqDCoMKgwqAgKiBpbiBtaWNyb21ldGVycy4gWmVybyBpZiB1bnNl dC4KPj4+ICvCoMKgwqDCoCAqIGluIG1ldGVycy4gWmVybyBpZiB1bnNldC4KPj4+IMKgwqDCoMKg wqDCoCAqLwo+Pj4gLcKgwqDCoCB1aW50MzJfdCBiYXNlbGluZTsKPj4+ICvCoMKgwqAgQVZSYXRp b25hbCBiYXNlbGluZTsKPj4KPj4gVGhpcyBpcyBub3Qgb2suIE5vIHJlYXNvbiBmb3IgZGlzdGFu Y2UgYmUgYSBzb2Z0IGZsb2F0LCBvciBhbGxvdyAKPj4gbmVnYXRpdmUgdmFsdWVzLiBJbiB0aGUg Y2FzZSBvZiB0aGUgYmxpbiBib3gsIGl0J3MgYSAzMmJpdCB1bnNpZ25lZCAKPj4gdmFsdWUsIHdo aWNoIHdpbGwgbm90IGZpdCBpbiBBVlJhdGlvbmFsLgo+IAo+IEFkZGVkIGFuIChpbnQzMl90KSBj YXN0IGxvY2FsbHkuIFRoaXMgaXMgYWxzbyBob3cgCj4gaG9yaXpvbnRhbF9kaXNwYXJpdHlfYWRq dXN0bWVudCBpcyBoYW5kbGVkLCB3aXRoIGEgdWludDMyX3QgY29udmVydGVkIAo+IGludG8gYSBy YXRpb25hbC4KCk5vLCB0aGF0IG9uZSBpcyBhbiBpbnQzMl90IGFzIGl0IGNhbiBiZSBuZWdhdGl2 ZSAoUmFuZ2VzIC0xLjAgdG8gMS4wKSwgCnRodXMgaXQgd29ya3MgZmluZSBhcyBBVlJhdGlvbmFs LiBiYXNlbGluZSBkb2VzIG5vdCwgc28gaXQgc2hvdWxkIHN0YXkgCmFuIHVpbnQzMl90LgoKPiAK Pj4KPj4gWW91IGNhbiBlYXNpbHkgY29udmVydCB0aGlzIGluIHlvdXIgY29kZSBieSB1c2luZyBh IDEwMDAwMDAgCj4+IGRlbm9taW5hdG9yIGlmIHlvdSB3aXNoLgo+Pgo+Pj4gwqDCoMKgwqDCoCAv KioKPj4+IMKgwqDCoMKgwqDCoCAqIFJlbGF0aXZlIHNoaWZ0IG9mIHRoZSBsZWZ0IGFuZCByaWdo dCBpbWFnZXMsIHdoaWNoIGNoYW5nZXMgCj4+PiB0aGUgemVybyBwYXJhbGxheCBwbGFuZS4KPj4+ IEBAIC0yMjQsOSArMjI0LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgQVZTdGVyZW8zRCB7Cj4+PiDCoMKg wqDCoMKgIEFWUmF0aW9uYWwgaG9yaXpvbnRhbF9kaXNwYXJpdHlfYWRqdXN0bWVudDsKPj4+IMKg wqDCoMKgwqAgLyoqCj4+PiAtwqDCoMKgwqAgKiBIb3Jpem9udGFsIGZpZWxkIG9mIHZpZXcgaW4g dGhvdXNhbnRocyBvZiBhIGRlZ3JlZS4gWmVybyBpZiAKPj4+IHVuc2V0Lgo+Pj4gK8KgwqDCoMKg ICogSG9yaXpvbnRhbCBmaWVsZCBvZiB2aWV3LCBpbiBkZWdyZWVzLiBaZXJvIGlmIHVuc2V0Lgo+ Pj4gwqDCoMKgwqDCoMKgICovCj4+PiAtwqDCoMKgIHVpbnQzMl90IGhvcml6b250YWxfZmllbGRf b2ZfdmlldzsKPj4+ICvCoMKgwqAgQVZSYXRpb25hbCBob3Jpem9udGFsX2ZpZWxkX29mX3ZpZXc7 Cj4+Cj4+IFRoaXMgb25lIGkgY2FuJ3Qgc2F5LiBXb3VsZCBmb3IgZXhhbXBsZSBNYXRyb3NrYSBp bXBsZW1lbnQgZGVncmVlcyBhcyAKPj4gYSBmbG9hdCwgb3IgdWludD8KPiAKPiBMaWtlbHkgYSBm bG9hdCAoRUJNTF9GTE9BVCkuIFRoaXMgaXMgaG93IG1hc3RlcmluZyBtZXRhZGF0YSBhbmQgdmlk ZW8gCj4gcHJvamVjdGlvbiBhcmUgaGFuZGxlZC4KCkJ1dCBNYXN0ZXJpbmcgbWV0YWRhdGEgaXMg bm90IGluIGRlZ3JlZXMuCgpXYWl0IGZvciBEZXJlayB0byBjb21tZW50LiBIZSBrbm93cyB0aGlz IGZpZWxkIGJldHRlciB0aGFuIG1lLgoKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWct ZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Zm bXBlZy1kZXZlbAo+IAo+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFp bAo+IGZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZm bXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwg dmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9y ZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K