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 A755845DD2 for ; Mon, 12 Jun 2023 12:28:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CD3D868C3B6; Mon, 12 Jun 2023 15:28:21 +0300 (EEST) Received: from out162-62-57-137.mail.qq.com (out162-62-57-137.mail.qq.com [162.62.57.137]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id ED64E68C14E for ; Mon, 12 Jun 2023 15:28:14 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1686572891; bh=9baOD9ewxgYLahME6wiscfnKDijvp3XwH1qkOI1NdJY=; h=From:Subject:Date:References:To:In-Reply-To; b=nyCjypXEIXoA7X1rrS30QGAQ3wtfYDY7ssjSHKno5QGcStkIYmd09NlLnlZBn0k6d Mfjga1AbghT5eXs+BCuhEWGqq5F/BCSVqNYTpQGzv3IltLy2HcZ3sygIxT+F7Zv9ci UhWzyERFuk18dYnzBwy74BIsG8SdplG5a9rmvayY= Received: from smtpclient.apple ([113.108.77.56]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 709B3899; Mon, 12 Jun 2023 20:28:09 +0800 X-QQ-mid: xmsmtpt1686572889tkzzhcbj9 Message-ID: X-QQ-XMAILINFO: NMGzQWUSIfvTA1SzkB27ZQz3MbpE8Dk8LR/vQlSVR7A6asu9bINs2voM84yywL RD7BmlBEWwjhEuqyWvx3YTpbuVNOwx74ZYXnY/BzPHh1E9OIK7mM0bT8pOLt2jAxEdA6vdeFliXE On5DZ7SWAtWKVbHh1RE2ZXTqTo+bERQye7C/Gk7BHJ7NlbhO/hgb3oCuPbTEBxcZAOtBOZhUv1OW eyes77gQOaZmTZkWPva1hAfEe+Fx29S5Pl54TM+eK00XxlqAD3xQH+i85zmgHZmhYvc8qINx932+ 57zX7oXqgIQb5WyPK73qez4mdhwMrCb0iwcOhhYa6bEEOWLm5LQ3C47q34MdXdFkktPRMc271RCc +ZL477ByNCEm6n7Ws7GGQRjo4g+6A+5O9j3d0FYCJb/ahv+QDfPwJqIQJIriSK+btSDmX2ZinjXd PtGq+F3WLdcKhJpUYkK99xPlwFs9CEfYcqHIg6rzLUVyYWMMpZp3bZosNy7WLv9H1W8zHwXOEPYd DsZsiQBJ3wBjmS+mddEQpCi3Nqan29WlceghuODxFaa2KZlAlya6fWfh9zJmYA3uWSdltUa49UX7 kX0VpBPhPgKLLpuJ1OtuMyL7Uc4uYJnZaiySbM2qT2o1fD9OYMmcnr6bAA96RvHVAqMtBr1zXNmJ BMsLPDvz3D/uxbZuyUZRSwYk1EQyP33D3Ldnm9roNV4XZyt8iLRHEZRO82olp91IpDXGterIVWKa Qw4DoC2lV1FN0Nikg03ibOpIBwzmqvFwjSj1r8V44s5nxM70g8xgwu2L3U4u8Xm9wQKF7eEO5mij YMq0yYsxtX98A8UFF/1to6n403yRRfJHrOarF/xo66gxcXDup4dpUw5XOwMieGsZoqEg6D6ZOTn3 xWpK7/QfxzHVg1UuecLxu/SQzL5IX8cq9jp1C/5nW65gN5ZsJT5sURb4vcL4cZngiAM+F8Cmtkq3 7vKKw98m1TWHNQEeh+nuchpsv1wnNjgUr2NdqZmu7MUbNbCINBpJxTmCv2Y/Pfxt1+27e59i7q3X XE2i0ohWgjCM7LsA6qGJ7hn9+NCPEN0hvD0LwYsw== X-QQ-XMAILREADINFO: Nho4V/E0OEdrqQ11svVYjpA= From: =?utf-8?B?InpoaWxpemhhbyjotbXlv5fnq4spIg==?= Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\)) Date: Mon, 12 Jun 2023 20:28:09 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: X-Mailer: Apple Mail (2.3696.120.41.1.1) Subject: Re: [FFmpeg-devel] [PATCH] avformat/mov: fix overallocation when reading pssh/saiz 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: Cgo+IE9uIEp1biAxMiwgMjAyMywgYXQgMjA6MDYsIE1hcnZpbiBTY2hvbHogKGVQaXJhdCkgPGVw aXJhdDA3QGdtYWlsLmNvbT4gd3JvdGU6Cj4gCj4gSGksCj4gCj4+IE9uIDEyLiBKdW4gMjAyMywg YXQgMTM6NTYsIFpoYW8gWmhpbGkgPHF1aW5rYmxhY2tAZm94bWFpbC5jb20+IHdyb3RlOgo+PiAK Pj4g77u/RnJvbTogWmhhbyBaaGlsaSA8emhpbGl6aGFvQHRlbmNlbnQuY29tPgo+PiAKPj4gbW92 X3RyeV9yZWFkX2Jsb2NrKCkgYWxsb2NhdGVzIDFNQiBhdCBsZWFzdCwgd2hpY2ggY2FuIGJlIG1v cmUgdGhhbgo+PiBlbm91Z2guIEl0IHdhcyBjYWxsZWQgd2hlbiByZWFkaW5nIHNhaXogYm94LCB3 aGljaCBjYW4gYXBwZWFyCj4+IHBlcmlvZGljYWxseSBpbnNpZGUgZm1wNC4gVGhpcyBjb25zdW1l cyBhIGxvdCBvZiBtZW1vcnkuCj4+IAo+PiBXZSBjYW4gZml4IG1vdl90cnlfcmVhZF9ibG9jaygp IGJ5IGNsYW1wICdibG9ja19zaXplJyB3aXRoICdzaXplJy4KPj4gSG93ZXZlciwgdGhlIGZ1bmN0 aW9uIGlzIGhhcm1mdWwgdGhhbiBoZWxwZnVsLiBJdCBhdm9pZHMgYWxsb2NhdGluZwo+PiBsYXJn ZSBtZW1vcnkgd2hlbiB0aGUgcmVhbCBkYXRhIGlzIHNtYWxsLiBFdmVuIGluIHRoYXQgY2FzZSwg aWYKPj4gYWxsb2NhdGluZyBsYXJnZSBtZW1vcnkgZGlyZWN0bHkgZmFpbGVkLCBpdCdzIGZpbmUg dG8gcmV0dXJuIEVOT01FTTsKPj4gaWYgYWxsb2NhdGluZyBzdWNjZXNzIGFuZCByZWFkaW5nIGRv ZXNuJ3QgbWF0Y2ggdGhlIGdpdmVuIHNpemUsIGl0J3MKPj4gZmluZSB0byBmcmVlIGFuZCByZXR1 cm4gQVZFUlJPUl9JTlZBTElEREFUQS4gSW4gb3RoZXIgY2FzZXMsIGl0J3MgYQo+PiB3YXN0ZSBv ZiBDUFUgYW5kIG1lbW9yeS4KPj4gCj4+IFNvIEkgZGVjaWRlZCB0byByZW1vdmUgdGhlIGZ1bmN0 aW9uLCBhbmQgcmVwbGFjZSBpdCBieSBjYWxsCj4+IGF2X21hbGxvYygpIGFuZCBhdmlvX3JlYWQo KSBkaXJlY3RseS4KPj4gCj4+IG1vdl9yZWFkX3NhaXooKSBhbmQgbW92X3JlYWRfcHNzaCgpIG5l ZWQgbW9yZSBjaGVjaywgYnV0IHRoZXkgZG9uJ3QKPj4gYmVsb25nIHRvIHRoaXMgcGF0Y2guCj4+ IAo+PiBGaXhlcyAjNzY0MSBhbmQgIzkyNDMuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBaaGFvIFpo aWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+Cj4+IC0tLQo+PiBsaWJhdmZvcm1hdC9tb3YuYyB8 IDYzICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4+IDEg ZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAzOCBkZWxldGlvbnMoLSkKPj4gCj4+IGRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9tb3YuYyBiL2xpYmF2Zm9ybWF0L21vdi5jCj4+IGluZGV4 IGE4ZDAwNGUwMmIuLjNkMDk2OTU0NWEgMTAwNjQ0Cj4+IC0tLSBhL2xpYmF2Zm9ybWF0L21vdi5j Cj4+ICsrKyBiL2xpYmF2Zm9ybWF0L21vdi5jCj4+IEBAIC02NjQ5LDM4ICs2NjQ5LDYgQEAgZmlu aXNoOgo+PiAgICByZXR1cm4gcmV0Owo+PiB9Cj4+IAo+PiAtLyoqCj4+IC0gKiBUcmllcyB0byBy ZWFkIHRoZSBnaXZlbiBudW1iZXIgb2YgYnl0ZXMgZnJvbSB0aGUgc3RyZWFtIGFuZCBwdXRzIGl0 IGluIGEKPj4gLSAqIG5ld2x5IGFsbG9jYXRlZCBidWZmZXIuICBUaGlzIHJlYWRzIGluIHNtYWxs IGNodW5rcyB0byBhdm9pZCBhbGxvY2F0aW5nIGxhcmdlCj4+IC0gKiBtZW1vcnkgaWYgdGhlIGZp bGUgY29udGFpbnMgYW4gaW52YWxpZC9tYWxpY2lvdXMgc2l6ZSB2YWx1ZS4KPiAKPiBJIGZhaWwg dG8gc2VlIGhvdyB5b3VyIHJlcGxhY2VtZW50IGNvZGUgYWRkcmVzc2VzIHRoZSBtYWxpY2lvdXMg c2l6ZSB2YWx1ZSBjYXNlIHRoYXQgdGhpcyBmdW5jdGlvbiBtaXRpZ2F0ZWQsIHNlZSBpbiBtb3Jl IGRldGFpbCB3aGF0IEkgbWVhbiBiZWxvd+KApgo+IAo+PiAtICovCj4+IC1zdGF0aWMgaW50IG1v dl90cnlfcmVhZF9ibG9jayhBVklPQ29udGV4dCAqcGIsIHNpemVfdCBzaXplLCB1aW50OF90ICoq ZGF0YSkKPj4gLXsKPj4gLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgYmxvY2tfc2l6ZSA9IDEwMjQg KiAxMDI0Owo+PiAtICAgIHVpbnQ4X3QgKmJ1ZmZlciA9IE5VTEw7Cj4+IC0gICAgdW5zaWduZWQg aW50IGFsbG9jX3NpemUgPSAwLCBvZmZzZXQgPSAwOwo+PiAtICAgIHdoaWxlIChvZmZzZXQgPCBz aXplKSB7Cj4+IC0gICAgICAgIHVuc2lnbmVkIGludCBuZXdfc2l6ZSA9Cj4+IC0gICAgICAgICAg ICBhbGxvY19zaXplID49IElOVF9NQVggLSBibG9ja19zaXplID8gSU5UX01BWCA6IGFsbG9jX3Np emUgKyBibG9ja19zaXplOwo+PiAtICAgICAgICB1aW50OF90ICpuZXdfYnVmZmVyID0gYXZfZmFz dF9yZWFsbG9jKGJ1ZmZlciwgJmFsbG9jX3NpemUsIG5ld19zaXplKTsKPj4gLSAgICAgICAgdW5z aWduZWQgaW50IHRvX3JlYWQgPSBGRk1JTihzaXplLCBhbGxvY19zaXplKSAtIG9mZnNldDsKPj4g LSAgICAgICAgaWYgKCFuZXdfYnVmZmVyKSB7Cj4+IC0gICAgICAgICAgICBhdl9mcmVlKGJ1ZmZl cik7Cj4+IC0gICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwo+PiAtICAgICAgICB9 Cj4+IC0gICAgICAgIGJ1ZmZlciA9IG5ld19idWZmZXI7Cj4+IC0KPj4gLSAgICAgICAgaWYgKGF2 aW9fcmVhZChwYiwgYnVmZmVyICsgb2Zmc2V0LCB0b19yZWFkKSAhPSB0b19yZWFkKSB7Cj4+IC0g ICAgICAgICAgICBhdl9mcmVlKGJ1ZmZlcik7Cj4+IC0gICAgICAgICAgICByZXR1cm4gQVZFUlJP Ul9JTlZBTElEREFUQTsKPj4gLSAgICAgICAgfQo+PiAtICAgICAgICBvZmZzZXQgKz0gdG9fcmVh ZDsKPj4gLSAgICB9Cj4+IC0KPj4gLSAgICAqZGF0YSA9IGJ1ZmZlcjsKPj4gLSAgICByZXR1cm4g MDsKPj4gLX0KPj4gLQo+PiBzdGF0aWMgaW50IG1vdl9yZWFkX3NhaXooTU9WQ29udGV4dCAqYywg QVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9tIGF0b20pCj4+IHsKPj4gICAgTU9WRW5jcnlwdGlvbklu ZGV4ICplbmNyeXB0aW9uX2luZGV4Owo+PiBAQCAtNjczNiwxNSArNjcwNCwyNCBAQCBzdGF0aWMg aW50IG1vdl9yZWFkX3NhaXooTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQgKnBiLCBNT1ZBdG9t IGF0b20pCj4+IAo+PiAgICBlbmNyeXB0aW9uX2luZGV4LT5hdXhpbGlhcnlfaW5mb19kZWZhdWx0 X3NpemUgPSBhdmlvX3I4KHBiKTsKPj4gICAgc2FtcGxlX2NvdW50ID0gYXZpb19yYjMyKHBiKTsK Pj4gLSAgICBlbmNyeXB0aW9uX2luZGV4LT5hdXhpbGlhcnlfaW5mb19zYW1wbGVfY291bnQgPSBz YW1wbGVfY291bnQ7Cj4+IAo+PiAgICBpZiAoZW5jcnlwdGlvbl9pbmRleC0+YXV4aWxpYXJ5X2lu Zm9fZGVmYXVsdF9zaXplID09IDApIHsKPj4gLSAgICAgICAgcmV0ID0gbW92X3RyeV9yZWFkX2Js b2NrKHBiLCBzYW1wbGVfY291bnQsICZlbmNyeXB0aW9uX2luZGV4LT5hdXhpbGlhcnlfaW5mb19z aXplcyk7Cj4+IC0gICAgICAgIGlmIChyZXQgPCAwKSB7Cj4+IC0gICAgICAgICAgICBhdl9sb2co Yy0+ZmMsIEFWX0xPR19FUlJPUiwgIkZhaWxlZCB0byByZWFkIHRoZSBhdXhpbGlhcnkgaW5mb1xu Iik7Cj4+ICsgICAgICAgIGVuY3J5cHRpb25faW5kZXgtPmF1eGlsaWFyeV9pbmZvX3NpemVzID0g YXZfbWFsbG9jKHNhbXBsZV9jb3VudCk7Cj4+ICsgICAgICAgIGlmICghZW5jcnlwdGlvbl9pbmRl eC0+YXV4aWxpYXJ5X2luZm9fc2l6ZXMpCj4+ICsgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihF Tk9NRU0pOwo+PiArCj4+ICsgICAgICAgIHJldCA9IGF2aW9fcmVhZChwYiwgZW5jcnlwdGlvbl9p bmRleC0+YXV4aWxpYXJ5X2luZm9fc2l6ZXMsIHNhbXBsZV9jb3VudCk7Cj4+ICsgICAgICAgIGlm IChyZXQgIT0gc2FtcGxlX2NvdW50KSB7Cj4+ICsgICAgICAgICAgICBhdl9mcmVlcCgmZW5jcnlw dGlvbl9pbmRleC0+YXV4aWxpYXJ5X2luZm9fc2l6ZXMpOwo+PiArCj4+ICsgICAgICAgICAgICBp ZiAocmV0ID49IDApCj4+ICsgICAgICAgICAgICAgICAgcmV0ID0gQVZFUlJPUl9JTlZBTElEREFU QTsKPj4gKyAgICAgICAgICAgIGF2X2xvZyhjLT5mYywgQVZfTE9HX0VSUk9SLCAiRmFpbGVkIHRv IHJlYWQgdGhlIGF1eGlsaWFyeSBpbmZvLCAlc1xuIiwKPj4gKyAgICAgICAgICAgICAgICAgICBh dl9lcnIyc3RyKHJldCkpOwo+PiAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ICAgICAgICB9Cj4+ ICAgIH0KPj4gKyAgICBlbmNyeXB0aW9uX2luZGV4LT5hdXhpbGlhcnlfaW5mb19zYW1wbGVfY291 bnQgPSBzYW1wbGVfY291bnQ7Cj4+IAo+PiAgICBpZiAoZW5jcnlwdGlvbl9pbmRleC0+YXV4aWxp YXJ5X29mZnNldHNfY291bnQpIHsKPj4gICAgICAgIHJldHVybiBtb3ZfcGFyc2VfYXV4aWxpYXJ5 X2luZm8oYywgc2MsIHBiLCBlbmNyeXB0aW9uX2luZGV4KTsKPj4gQEAgLTY5MTMsOSArNjg5MCwx OSBAQCBzdGF0aWMgaW50IG1vdl9yZWFkX3Bzc2goTU9WQ29udGV4dCAqYywgQVZJT0NvbnRleHQg KnBiLCBNT1ZBdG9tIGF0b20pCj4+ICAgIH0KPj4gCj4+ICAgIGV4dHJhX2RhdGFfc2l6ZSA9IGF2 aW9fcmIzMihwYik7Cj4+IC0gICAgcmV0ID0gbW92X3RyeV9yZWFkX2Jsb2NrKHBiLCBleHRyYV9k YXRhX3NpemUsICZleHRyYV9kYXRhKTsKPj4gLSAgICBpZiAocmV0IDwgMCkKPj4gKyAgICBleHRy YV9kYXRhID0gYXZfbWFsbG9jKGV4dHJhX2RhdGFfc2l6ZSk7Cj4gCj4gSWYgSSB1bmRlcnN0YW5k IGNvcnJlY3RseSB5b3UgYXJlIG5vdyBlZmZlY3RpdmVseSBwYXNzaW5nIGEgcG90ZW50aWFsbHkg bWFsaWNpb3VzIHNpemUgdmFsdWUgZGlyZWN0bHkgdG8gbWFsbG9jLCBhbGxvd2luZyBhbiBhdHRh Y2tlciB0byBleGhhdXN0IG1lbW9yeSB3aXRoIGEgY3JhZnRlZCBmaWxlLgoKMS4gSWYgbWFsbG9j IGZhaWxlZCwgaXQgZG9lc27igJl0IGV4aGF1c3QgbWVtb3J5LgoKMi4gSWYgbWFsbG9jIHN1Y2Nl c3MgYW5kIHRoZSByZWFsIGRhdGEgaXMgbGVzcyB0aGFuIGV4dHJhX2RhdGFfc2l6ZSwgdGhlIG1l bW9yeSAKd2lsbCBiZSBmcmVlZCBpbW1lZGlhdGVseS4KCjMuIEFsbW9zdCBldmVyeSBib3ggd2l0 aCB1bmRldGVybWluZWQgbGVuZ3RoIG9mIGVudHJpZXMgaGF2ZSB0aGlzIGlzc3VlLgoKNC4gV2Ug Y2FuIGNoZWNrIGV4dHJhX2RhdGFfc2l6ZSA8IGF0b20uc2l6ZSAod2hpY2ggbWFrZSBzZW5zZSks IGJ1dCBpdCBkb2VzbuKAmXQgaGVscAptdWNoIGluIHRoaXMgY2FzZS4KCk5vdyBsZXQgY29uc2lk ZXIgdGhlIG5vcm1hbCBjYXNlIHdoZW4gZXh0cmFfZGF0YV9zaXplIGlzbuKAmXQgYSBtYWxpY2lv dXMgc2l6ZSwgbGlrZQo0OC4gVGhlIG9yaWdpbmFsIGNvZGUgd2lsbCBhbGxvY2F0ZSAxTSBhbmQg b25seSB1c2UgNDggYnl0ZXMuIExpa2UgSSBzYWlkIGluIHRoZQpjb21taXQgbWVzc2FnZSwgd2Ug Y2FuIGxpbWl0IGJsb2NrX3NpemUgYnkKCmNvbnN0IHVuc2lnbmVkIGludCBibG9ja19zaXplID0g RkZfTUlOKDEwMjQgKiAxMDI0LCBzaXplKS4KCkJ1dCB0aGUgZnVuY3Rpb24gaXRzZWxmIGlzIHVz ZWxlc3MgYW5kIGh1cnQgcGVyZm9ybWFuY2UuIEFuZCBpdCBoYXMgbW9yZSBpc3N1ZXM6IGl0CmNh biBjbGFtcCB0aGUgc2l6ZSBzaWxlbnRseSB3aGVuIGFsbG9jX3NpemUgPj0gSU5UX01BWCAtIGJs b2NrX3NpemUsIHRoZW4gb3ZlcndyaXRlCm9sZCBkYXRhIGJ5IG5ldyBkYXRhLgoKdW5zaWduZWQg aW50IG5ld19zaXplID0KLSAgICAgICAgICAgIGFsbG9jX3NpemUgPj0gSU5UX01BWCAtIGJsb2Nr X3NpemUgPyBJTlRfTUFYIDogYWxsb2Nfc2l6ZSArIGJsb2NrX3NpemU7Ci0gICAgICAgIHVpbnQ4 X3QgKm5ld19idWZmZXIgPSBhdl9mYXN0X3JlYWxsb2MoYnVmZmVyLCAmYWxsb2Nfc2l6ZSwgbmV3 X3NpemUpOwoKPiAKPj4gKyAgICBpZiAoIWV4dHJhX2RhdGEpIHsKPj4gKyAgICAgICAgcmV0ID0g QVZFUlJPUihFTk9NRU0pOwo+PiAgICAgICAgZ290byBmaW5pc2g7Cj4+ICsgICAgfQo+PiArICAg IHJldCA9IGF2aW9fcmVhZChwYiwgZXh0cmFfZGF0YSwgZXh0cmFfZGF0YV9zaXplKTsKPj4gKyAg ICBpZiAocmV0ICE9IGV4dHJhX2RhdGFfc2l6ZSkgewo+PiArICAgICAgICBhdl9mcmVlKGV4dHJh X2RhdGEpOwo+PiArCj4+ICsgICAgICAgIGlmIChyZXQgPj0gMCkKPj4gKyAgICAgICAgICAgIHJl dCA9IEFWRVJST1JfSU5WQUxJRERBVEE7Cj4+ICsgICAgICAgIGdvdG8gZmluaXNoOwo+PiArICAg IH0KPj4gCj4+ICAgIGF2X2ZyZWVwKCZpbmZvLT5kYXRhKTsgIC8vIG1hbGxvYygwKSBtYXkgc3Rp bGwgYWxsb2NhdGUgc29tZXRoaW5nLgo+PiAgICBpbmZvLT5kYXRhID0gZXh0cmFfZGF0YTsKPj4g LS0gCj4+IDIuMjUuMQo+PiAKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+PiBmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwo+PiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWct ZGV2ZWwKPj4gCj4+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+ PiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3Jp YmUiLgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0 cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gCj4gVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVl c3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxp c3QKZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlz dGluZm8vZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3Ig ZW1haWwKZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vi c2NyaWJlIi4K