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 6E6C540514 for ; Tue, 20 Dec 2022 11:42:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8585568BA05; Tue, 20 Dec 2022 13:42:48 +0200 (EET) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C0A2D68B7E9 for ; Tue, 20 Dec 2022 13:42:41 +0200 (EET) Received: from kwepemm000006.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4NbvmW3Fl3zmWTH for ; Tue, 20 Dec 2022 19:41:31 +0800 (CST) Received: from kwepemi500014.china.huawei.com (7.221.188.232) by kwepemm000006.china.huawei.com (7.193.23.237) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 20 Dec 2022 19:42:38 +0800 Received: from kwepemi500014.china.huawei.com ([7.221.188.232]) by kwepemi500014.china.huawei.com ([7.221.188.232]) with mapi id 15.01.2375.034; Tue, 20 Dec 2022 19:42:38 +0800 From: "Wujian(Chin)" To: FFmpeg development discussions and patches Thread-Topic: [FFmpeg-devel] [PATCH] fftools/ffmpeg_ffplay_ffprobe_cmdutils: add -mask_url to replace the protocol address in the command with the asterisk (*) Thread-Index: AdkTq4UoNOh0rarOSEWziOxIg1vsyf//fuCA//4z1iA= Date: Tue, 20 Dec 2022 11:42:37 +0000 Message-ID: <8870f5f386ee4042a8aa0303ace8c51f@huawei.com> References: <7407e74b181e4e00a7b7104fb63cf56a@huawei.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.136.102.143] MIME-Version: 1.0 X-CFilter-Loop: Reflected Subject: [FFmpeg-devel] =?gb2312?b?tPC4tDogIFtQQVRDSF0gZmZ0b29scy9mZm1w?= =?gb2312?b?ZWdfZmZwbGF5X2ZmcHJvYmVfY21kdXRpbHM6IGFkZCAtbWFza191cmwgdG8g?= =?gb2312?b?cmVwbGFjZSB0aGUgcHJvdG9jb2wgYWRkcmVzcyBpbiB0aGUgY29tbWFuZCB3?= =?gb2312?b?aXRoIHRoZSBhc3RlcmlzayAoKik=?= 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: "wangqinghua \(I\)" Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Pj4gQEAgLTIxNSwxMyArMjQ5LDEzIEBAIHN0YXRpYyB2b2lkIHByZXBhcmVfYXBwX2FyZ3VtZW50 cyhpbnQgKmFyZ2NfcHRyLCBjaGFyICoqKmFyZ3ZfcHRyKQ0KPj4gICAgICBpZiAod2luMzJfYXJn dl91dGY4KSB7DQo+PiAgICAgICAgICAqYXJnY19wdHIgPSB3aW4zMl9hcmdjOw0KPj4gICAgICAg ICAgKmFyZ3ZfcHRyID0gd2luMzJfYXJndl91dGY4Ow0KDQo+PiAtICAgICAgICByZXR1cm47DQo+ PiArICAgICAgICBnb3RvIGVuZDsNCg0KPiBXZSBvbmx5IHVzZSBnb3RvIGZvciBlcnJvciBwcm9j ZXNzaW5nLg0KICAgDQogIEkgdGhpbmsgdGhhdCBpdCdzIG1vcmUgY29uY2lzZSB0byB1c2UgY29k ZSB0aGlzIHdheS4NCg0KDQo+PiArICAgIGludCBpLCBqOw0KPj4gKyAgICBmb3IgKGkgPSAxOyBp IDwgYXJnYzsgaSsrKSB7DQoNCj4+ICsgICAgICAgIGNoYXIgKm1hdGNoID0gc3Ryc3RyKGFyZ3Zb aV0sICI6Ly8iKTsNCj4+ICsgICAgICAgIGlmIChtYXRjaCkgew0KPj4gKyAgICAgICAgICAgIGlu dCB0b3RhbCA9IHN0cmxlbihhcmd2W2ldKTsNCj4+ICsgICAgICAgICAgICBmb3IgKGogPSAwOyBq IDwgdG90YWw7IGorKykgew0KPj4gKyAgICAgICAgICAgICAgICBhcmd2W2ldW2pdID0gJyonOw0K Pj4gKyAgICAgICAgICAgIH0NCg0KPk1hc2tpbmcgdGhlIHdob2xlIFVSTCBzZWVtcyB0b28gbXVj aC4gTG9naW5zIGFuZCBwYXNzd29yZHMgYXJlIGludHJvZHVjZWQgYnkgdGhlIEAgY2hhcmFjdGVy Lg0KDQogSSB0aGluayB0aGF0IGl0IHdvdWxkIGJlIGJldHRlciB0byByZXBsYWNlIHRoZSBlbnRp cmUgdXJsLCBzbyB0aGF0IHRoZSBjb2RlIGltcGxlbWVudGF0aW9uIGlzIHNpbXBsZS4NCg0KDQo+ PiArICAgIGNoYXIgKiphcmd2MjsNCg0KPj4gKyAgICBhcmd2MiA9IGF2X21hbGxvY3ooYXJnYyAq IHNpemVvZihjaGFyICopKTsNCg0KPnNpemVvZigqYXJndjIpDQo+DQo+PiArICAgIG1hc2tGbGFn ID0gMDsNCj4+ICsgICAgaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi1tYXNrX3Vy bCIpKSB7DQo+PiArICAgICAgICBhcmd2WzFdID0gYXJndlswXTsNCj4+ICsgICAgICAgIG1hc2tG bGFnID0gMTsNCj4+ICsgICAgICAgIGFyZ2MtLTsNCj4+ICsgICAgICAgIGFyZ3YrKzsNCj4+ICsg ICAgfQ0KDQo+VGhpcyBvcHRpb24gaXMgbm90IHNwZWNpYWwgbm9yIGltcG9ydGFudCBlbm91Z2gg dG8gd2FycmFudCBhIHNwZWNpYWwgdHJlYXRtZW50IGxpa2UgdGhhdC4NCg0KIFRoaXMgb3B0aW9u IG5lZWRzIHRvIHJlcGxhY2UgdGhlIFVSTC4gSXQgaXMgbW9yZSBhcHByb3ByaWF0ZSB0byBqdWRn ZSBtYXNrX3VybCBhbmQgY29weSBhcmd2IGluIHRoaXMgcGxhY2UuIE90aGVyd2lzZSwgZG8geW91 IGhhdmUgYW55IG90aGVyIHN1Z2dlc3Rpb25zPw0KIA0KIFRoYW5rIHlvdSBmb3IgeW91ciBpc3N1 ZS4gTmljb2xhcyBHZW9yZ2UNCg0KDQotLS0tLdPKvP7Urbz+LS0tLS0NCreivP7IyzogZmZtcGVn LWRldmVsIFttYWlsdG86ZmZtcGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZ10gtPqx7SBOaWNv bGFzIEdlb3JnZQ0Kt6LLzcqxvOQ6IDIwMjLE6jEy1MIxOcjVIDIxOjMwDQrK1bz+yMs6IEZGbXBl ZyBkZXZlbG9wbWVudCBkaXNjdXNzaW9ucyBhbmQgcGF0Y2hlcyA8ZmZtcGVnLWRldmVsQGZmbXBl Zy5vcmc+DQqzrcvNOiB3YW5ncWluZ2h1YSAoSSkgPHdhbmdxaW5naHVhOUBodWF3ZWkuY29tPg0K 1vfM4jogUmU6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSF0gZmZ0b29scy9mZm1wZWdfZmZwbGF5X2Zm cHJvYmVfY21kdXRpbHM6IGFkZCAtbWFza191cmwgdG8gcmVwbGFjZSB0aGUgcHJvdG9jb2wgYWRk cmVzcyBpbiB0aGUgY29tbWFuZCB3aXRoIHRoZSBhc3RlcmlzayAoKikNCg0KV3VqaWFuKENoaW4p ICgxMjAyMi0xMi0xOSk6DQo+IEkgaGF2ZSBtb2RpZmllZCB0aGUgaXNzdWVzLiBQbGVhc2UgcmV2 aWV3IGl0IGFnYWluLiBUaGFuayB5b3UuDQo+IA0KPiBJZiB0aGUgcHJvdG9jb2wgYWRkcmVzcyBj b250YWlucyB0aGUgdXNlciBuYW1lIGFuZCBwYXNzd29yZCwgVGhlIHBzIC1lZiBjb21tYW5kIGV4 cG9zZXMgcGxhaW50ZXh0Lg0KDQpTcHVyaW91cyBjb21tYSBvciBjYXBpdGFsLg0KDQo+IFRoZSAt bWFza191cmwgcGFyYW1ldGVyIG9wdGlvbiBpcyBhZGRlZCB0byByZXBsYWNlIHRoZSBwcm90b2Nv bCBhZGRyZXNzIGluIHRoZSBjb21tYW5kIGxpbmUgd2l0aCB0aGUgYXN0ZXJpc2sgKCopLg0KPiBC ZWNhdXNlIG90aGVyIHVzZXJzIGNhbiBydW4gdGhlIHBzIC1lZiBjb21tYW5kIHRvIHZpZXcgc2Vu c2l0aXZlIA0KPiBpbmZvcm1hdGlvbiBzdWNoIGFzIHRoZSB1c2VyIG5hbWUgYW5kIHBhc3N3b3Jk IGluIHRoZSBwcm90b2NvbCBhZGRyZXNzLCB3aGljaCBpcyBpbnNlY3VyZS4NCg0KUGxlYXNlIHdy YXAgdG8gNjAtNzIgY2hhcmFjdGVycy4NCg0KPiANCj4gU2lnbmVkLW9mZi1ieTogd3VqaWFuX25h bmppbmcgPHd1amlhbjJAaHVhd2VpLmNvbT4NCj4gLS0tDQo+ICBkb2MvZmZtcGVnLnRleGkgICAg fCAgOSArKysrKysrKysNCj4gIGRvYy9mZnBsYXkudGV4aSAgICB8ICA4ICsrKysrKysrDQo+ICBk b2MvZmZwcm9iZS50ZXhpICAgfCAgOSArKysrKysrKysNCj4gIGZmdG9vbHMvY21kdXRpbHMuYyB8 IDQ3IA0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0K PiAgZmZ0b29scy9jbWR1dGlscy5oIHwgMTUgKysrKysrKysrKysrKysrDQo+ICBmZnRvb2xzL2Zm bXBlZy5jICAgfCAxNiArKysrKysrKysrKysrLS0tDQo+ICBmZnRvb2xzL2ZmcGxheS5jICAgfCAx NSArKysrKysrKysrKysrLS0NCj4gIGZmdG9vbHMvZmZwcm9iZS5jICB8IDE4ICsrKysrKysrKysr KysrLS0tLQ0KPiAgOCBmaWxlcyBjaGFuZ2VkLCAxMjQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRp b25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZG9jL2ZmbXBlZy50ZXhpIGIvZG9jL2ZmbXBlZy50 ZXhpIGluZGV4IDAzNjc5MzAuLjFmNmNiMzMgDQo+IDEwMDY0NA0KDQo+IC0tLSBhL2RvYy9mZm1w ZWcudGV4aQ0KPiArKysgYi9kb2MvZmZtcGVnLnRleGkNCg0KPiAtLS0gYS9kb2MvZmZwbGF5LnRl eGkNCj4gKysrIGIvZG9jL2ZmcGxheS50ZXhpDQoNCj4gLS0tIGEvZG9jL2ZmcHJvYmUudGV4aQ0K PiArKysgYi9kb2MvZmZwcm9iZS50ZXhpDQoNClRoZSBwbGFjZSBmb3IgY29tbW9uIG9wdGlvbnMg aXMgZG9jL2ZmdG9vbHMtY29tbW9uLW9wdHMudGV4aS4NCg0KPiBkaWZmIC0tZ2l0IGEvZmZ0b29s cy9jbWR1dGlscy5jIGIvZmZ0b29scy9jbWR1dGlscy5jIGluZGV4IA0KPiBhMWRlNjIxLi5jMzVk N2UxIDEwMDY0NA0KPiAtLS0gYS9mZnRvb2xzL2NtZHV0aWxzLmMNCj4gKysrIGIvZmZ0b29scy9j bWR1dGlscy5jDQo+IEBAIC02MSw2ICs2MSw0MCBAQCBBVkRpY3Rpb25hcnkgKmZvcm1hdF9vcHRz LCAqY29kZWNfb3B0czsNCj4gIA0KPiAgaW50IGhpZGVfYmFubmVyID0gMDsNCj4gIA0KDQo+ICt2 b2lkIHBhcmFtX21hc2tpbmcoaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7DQoNCkZ1bmN0aW9ucyBu YW1lIGluIC4uLmluZyBkbyBub3Qgc2VlbSBpZGlvbWF0aWMgdG8gbWUuDQoNClRoZSBzdHlsZSBm b3IgdGhlIGJyYWNlIGlzIG9mZi4NCg0KPiArICAgIGludCBpLCBqOw0KPiArICAgIGZvciAoaSA9 IDE7IGkgPCBhcmdjOyBpKyspIHsNCg0KPiArICAgICAgICBjaGFyICptYXRjaCA9IHN0cnN0cihh cmd2W2ldLCAiOi8vIik7DQo+ICsgICAgICAgIGlmIChtYXRjaCkgew0KPiArICAgICAgICAgICAg aW50IHRvdGFsID0gc3RybGVuKGFyZ3ZbaV0pOw0KPiArICAgICAgICAgICAgZm9yIChqID0gMDsg aiA8IHRvdGFsOyBqKyspIHsNCj4gKyAgICAgICAgICAgICAgICBhcmd2W2ldW2pdID0gJyonOw0K PiArICAgICAgICAgICAgfQ0KDQpNYXNraW5nIHRoZSB3aG9sZSBVUkwgc2VlbXMgdG9vIG11Y2gu IExvZ2lucyBhbmQgcGFzc3dvcmRzIGFyZSBpbnRyb2R1Y2VkIGJ5IHRoZSBAIGNoYXJhY3Rlci4N Cg0KPiArICAgICAgICB9DQo+ICsgICAgfQ0KPiArfQ0KPiArDQoNCj4gK2NoYXIgKipjb3B5X2Fy Z3YoaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7DQoNClRoZSBicmFjZSBpcyBvZmYgaGVyZSB0b28u DQoNCj4gKyAgICBjaGFyICoqYXJndjI7DQoNCj4gKyAgICBhcmd2MiA9IGF2X21hbGxvY3ooYXJn YyAqIHNpemVvZihjaGFyICopKTsNCg0Kc2l6ZW9mKCphcmd2MikNCg0KPiArICAgIGlmICghYXJn djIpDQo+ICsgICAgICAgIGV4aXRfcHJvZ3JhbSgxKTsNCg0KRXJyb3IgbWVzc2FnZS4NCg0KPiAr DQo+ICsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsNCj4gKyAgICAgICAgaW50 IGxlbmd0aCA9IHN0cmxlbihhcmd2W2ldKSArIDE7DQo+ICsgICAgICAgIGFyZ3YyW2ldID0gYXZf bWFsbG9jeihsZW5ndGggKiBzaXplb2YoY2hhciAqKSk7DQo+ICsgICAgICAgIGlmICghYXJndjJb aV0pDQo+ICsgICAgICAgICAgICBleGl0X3Byb2dyYW0oMSk7DQo+ICsgICAgICAgIG1lbWNweShh cmd2MltpXSwgYXJndltpXSwgbGVuZ3RoIC0gMSk7DQo+ICsgICAgfQ0KPiArICAgIHJldHVybiBh cmd2MjsNCj4gK30NCj4gKw0KDQo+ICt2b2lkIGZyZWVfcHAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KSB7DQoNClRoZSBicmFjZSBpcyBvZmYgdG9vLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5 IGZyb20gZmZwcm9iZSwgbG9va3Mgd3JvbmcuDQoNCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8 IGFyZ2M7IGkrKykNCj4gKyAgICAgICAgYXZfZnJlZShhcmd2W2ldKTsNCj4gKyAgICBhdl9mcmVl KGFyZ3YpOw0KPiArfQ0KPiAgdm9pZCB1bmluaXRfb3B0cyh2b2lkKQ0KPiAgew0KPiAgICAgIGF2 X2RpY3RfZnJlZSgmc3dyX29wdHMpOw0KPiBAQCAtMjE1LDEzICsyNDksMTMgQEAgc3RhdGljIHZv aWQgcHJlcGFyZV9hcHBfYXJndW1lbnRzKGludCAqYXJnY19wdHIsIGNoYXIgKioqYXJndl9wdHIp DQo+ICAgICAgaWYgKHdpbjMyX2FyZ3ZfdXRmOCkgew0KPiAgICAgICAgICAqYXJnY19wdHIgPSB3 aW4zMl9hcmdjOw0KPiAgICAgICAgICAqYXJndl9wdHIgPSB3aW4zMl9hcmd2X3V0Zjg7DQoNCj4g LSAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICBnb3RvIGVuZDsNCg0KV2Ugb25seSB1c2UgZ290 byBmb3IgZXJyb3IgcHJvY2Vzc2luZy4NCg0KPiAgICAgIH0NCj4gIA0KPiAgICAgIHdpbjMyX2Fy Z2MgPSAwOw0KPiAgICAgIGFyZ3ZfdyA9IENvbW1hbmRMaW5lVG9Bcmd2VyhHZXRDb21tYW5kTGlu ZVcoKSwgJndpbjMyX2FyZ2MpOw0KPiAgICAgIGlmICh3aW4zMl9hcmdjIDw9IDAgfHwgIWFyZ3Zf dykNCj4gLSAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICBnb3RvIGVuZDsNCj4gIA0KPiAgICAg IC8qIGRldGVybWluZSB0aGUgVVRGLTggYnVmZmVyIHNpemUgKGluY2x1ZGluZyBOVUxMLXRlcm1p bmF0aW9uIHN5bWJvbHMpICovDQo+ICAgICAgZm9yIChpID0gMDsgaSA8IHdpbjMyX2FyZ2M7IGkr KykNCj4gQEAgLTIzMiw3ICsyNjYsNyBAQCBzdGF0aWMgdm9pZCBwcmVwYXJlX2FwcF9hcmd1bWVu dHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikNCj4gICAgICBhcmdzdHJfZmxhdCAg ICAgPSAoY2hhciAqKXdpbjMyX2FyZ3ZfdXRmOCArIHNpemVvZihjaGFyICopICogKHdpbjMyX2Fy Z2MgKyAxKTsNCj4gICAgICBpZiAoIXdpbjMyX2FyZ3ZfdXRmOCkgew0KPiAgICAgICAgICBMb2Nh bEZyZWUoYXJndl93KTsNCj4gLSAgICAgICAgcmV0dXJuOw0KPiArICAgICAgICBnb3RvIGVuZDsN Cj4gICAgICB9DQo+ICANCj4gICAgICBmb3IgKGkgPSAwOyBpIDwgd2luMzJfYXJnYzsgaSsrKSB7 IEBAIC0yNDMsOSArMjc3LDE0IEBAIHN0YXRpYyANCj4gdm9pZCBwcmVwYXJlX2FwcF9hcmd1bWVu dHMoaW50ICphcmdjX3B0ciwgY2hhciAqKiphcmd2X3B0cikNCj4gICAgICB9DQo+ICAgICAgd2lu MzJfYXJndl91dGY4W2ldID0gTlVMTDsNCj4gICAgICBMb2NhbEZyZWUoYXJndl93KTsNCj4gLQ0K PiAgICAgICphcmdjX3B0ciA9IHdpbjMyX2FyZ2M7DQo+ICAgICAgKmFyZ3ZfcHRyID0gd2luMzJf YXJndl91dGY4Ow0KPiArZW5kOg0KPiArICAgIGlmICgqYXJnY19wdHIgPiAxICYmICFzdHJjbXAo KCphcmd2X3B0cilbMV0sICItbWFza191cmwiKSkgew0KPiArICAgICAgICAoKmFyZ3ZfcHRyKVsx XSA9ICgqYXJndl9wdHIpWzBdOw0KPiArICAgICAgICAoKmFyZ2NfcHRyKS0tOw0KPiArICAgICAg ICAoKmFyZ3ZfcHRyKSsrOw0KPiArICAgIH0NCj4gIH0NCj4gICNlbHNlDQo+ICBzdGF0aWMgaW5s aW5lIHZvaWQgcHJlcGFyZV9hcHBfYXJndW1lbnRzKGludCAqYXJnY19wdHIsIGNoYXIgDQo+ICoq KmFyZ3ZfcHRyKSBkaWZmIC0tZ2l0IGEvZmZ0b29scy9jbWR1dGlscy5oIGIvZmZ0b29scy9jbWR1 dGlscy5oIA0KPiBpbmRleCA0NDk2MjIxLi5jZTRjMWRiIDEwMDY0NA0KPiAtLS0gYS9mZnRvb2xz L2NtZHV0aWxzLmgNCj4gKysrIGIvZmZ0b29scy9jbWR1dGlscy5oDQo+IEBAIC01MCw2ICs1MCwy MSBAQCBleHRlcm4gQVZEaWN0aW9uYXJ5ICpmb3JtYXRfb3B0cywgKmNvZGVjX29wdHM7ICANCj4g ZXh0ZXJuIGludCBoaWRlX2Jhbm5lcjsNCj4gIA0KPiAgLyoqDQo+ICsgKiBVc2luZyB0byBtYXNr aW5nIHNlbnNpdGl2ZSBpbmZvLg0KPiArICovDQo+ICt2b2lkIHBhcmFtX21hc2tpbmcoaW50IGFy Z2MsIGNoYXIgKiphcmd2KTsNCj4gKw0KPiArLyoqDQo+ICsgKiBVc2luZyB0byBjb3B5IG9yaSBh cmd2Lg0KPiArICovDQo+ICtjaGFyICoqY29weV9hcmd2KGludCBhcmdjLCBjaGFyICoqYXJndik7 DQo+ICsNCj4gKy8qKg0KPiArICogRnJlZSAqKg0KPiArICovDQo+ICt2b2lkIGZyZWVfcHAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KTsNCj4gKw0KPiArLyoqDQo+ICAgKiBSZWdpc3RlciBhIHByb2dy YW0tc3BlY2lmaWMgY2xlYW51cCByb3V0aW5lLg0KPiAgICovDQo+ICB2b2lkIHJlZ2lzdGVyX2V4 aXQodm9pZCAoKmNiKShpbnQgcmV0KSk7IGRpZmYgLS1naXQgDQo+IGEvZmZ0b29scy9mZm1wZWcu YyBiL2ZmdG9vbHMvZmZtcGVnLmMgaW5kZXggODgxZDZmMC4uZmNjYmRlOSAxMDA2NDQNCj4gLS0t IGEvZmZ0b29scy9mZm1wZWcuYw0KPiArKysgYi9mZnRvb2xzL2ZmbXBlZy5jDQo+IEBAIC0zODY1 LDkgKzM4NjUsOSBAQCBzdGF0aWMgaW50NjRfdCBnZXRtYXhyc3Modm9pZCkNCj4gIA0KPiAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAgew0KPiAtICAgIGludCByZXQ7DQoNCj4g KyAgICBpbnQgcmV0LCBtYXNrRmxhZzsNCg0KV2UgZG8gbm90IGRvIGNhbWVsQ2FzZS4NCg0KPiAg ICAgIEJlbmNobWFya1RpbWVTdGFtcHMgdGk7DQo+IC0NCj4gKyAgICBjaGFyICoqYXJndjI7DQo+ ICAgICAgaW5pdF9keW5sb2FkKCk7DQo+ICANCj4gICAgICByZWdpc3Rlcl9leGl0KGZmbXBlZ19j bGVhbnVwKTsNCj4gQEAgLTM4NzcsMTUgKzM4NzcsMjUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKiphcmd2KQ0KPiAgICAgIGF2X2xvZ19zZXRfZmxhZ3MoQVZfTE9HX1NLSVBfUkVQRUFURUQp Ow0KPiAgICAgIHBhcnNlX2xvZ2xldmVsKGFyZ2MsIGFyZ3YsIG9wdGlvbnMpOw0KPiAgDQoNCj4g KyAgICBtYXNrRmxhZyA9IDA7DQo+ICsgICAgaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsx XSwgIi1tYXNrX3VybCIpKSB7DQo+ICsgICAgICAgIGFyZ3ZbMV0gPSBhcmd2WzBdOw0KPiArICAg ICAgICBtYXNrRmxhZyA9IDE7DQo+ICsgICAgICAgIGFyZ2MtLTsNCj4gKyAgICAgICAgYXJndisr Ow0KPiArICAgIH0NCg0KVGhpcyBvcHRpb24gaXMgbm90IHNwZWNpYWwgbm9yIGltcG9ydGFudCBl bm91Z2ggdG8gd2FycmFudCBhIHNwZWNpYWwgdHJlYXRtZW50IGxpa2UgdGhhdC4NCg0KPiAgI2lm IENPTkZJR19BVkRFVklDRQ0KPiAgICAgIGF2ZGV2aWNlX3JlZ2lzdGVyX2FsbCgpOw0KPiAgI2Vu ZGlmDQo+ICAgICAgYXZmb3JtYXRfbmV0d29ya19pbml0KCk7DQo+ICANCj4gICAgICBzaG93X2Jh bm5lcihhcmdjLCBhcmd2LCBvcHRpb25zKTsNCg0KPiArICAgIGFyZ3YyID0gY29weV9hcmd2KGFy Z2MsIGFyZ3YpOw0KPiArICAgIGlmIChtYXNrRmxhZykNCj4gKyAgICAgICAgcGFyYW1fbWFza2lu ZyhhcmdjLCBhcmd2KTsNCg0KVGhpcyBpcyBkdXBsaWNhdGVkIGluIGFsbCB0aHJlZSBmaWxlcyBh bmQgdW5uZWNlc3Nhcnk6IGhhdmUgYSBzaW5nbGUgZnVuY3Rpb24gZG8gdGhlIGNvcHkgYW5kIHRo ZSBtYXNraW5nLg0KDQo+ICANCj4gICAgICAvKiBwYXJzZSBvcHRpb25zIGFuZCBvcGVuIGFsbCBp bnB1dC9vdXRwdXQgZmlsZXMgKi8NCj4gLSAgICByZXQgPSBmZm1wZWdfcGFyc2Vfb3B0aW9ucyhh cmdjLCBhcmd2KTsNCj4gKyAgICByZXQgPSBmZm1wZWdfcGFyc2Vfb3B0aW9ucyhhcmdjLCBhcmd2 Mik7DQo+ICAgICAgaWYgKHJldCA8IDApDQo+ICAgICAgICAgIGV4aXRfcHJvZ3JhbSgxKTsNCj4g IA0KPiBkaWZmIC0tZ2l0IGEvZmZ0b29scy9mZnBsYXkuYyBiL2ZmdG9vbHMvZmZwbGF5LmMgaW5k ZXggDQo+IGZjN2UxYzIuLjVkMjgyZjEgMTAwNjQ0DQo+IC0tLSBhL2ZmdG9vbHMvZmZwbGF5LmMN Cj4gKysrIGIvZmZ0b29scy9mZnBsYXkuYw0KPiBAQCAtMzY2MywxMCArMzY2MywxOCBAQCB2b2lk IHNob3dfaGVscF9kZWZhdWx0KGNvbnN0IGNoYXIgKm9wdCwgY29uc3QgDQo+IGNoYXIgKmFyZykN Cj4gIC8qIENhbGxlZCBmcm9tIHRoZSBtYWluICovDQo+ICBpbnQgbWFpbihpbnQgYXJnYywgY2hh ciAqKmFyZ3YpDQo+ICB7DQo+IC0gICAgaW50IGZsYWdzOw0KPiArICAgIGludCBmbGFncywgbWFz a0ZsYWc7DQo+ICsgICAgY2hhciAqKmFyZ3YyOw0KPiAgICAgIFZpZGVvU3RhdGUgKmlzOw0KPiAg DQo+ICAgICAgaW5pdF9keW5sb2FkKCk7DQo+ICsgICAgbWFza0ZsYWcgPSAwOw0KPiArICAgIGlm IChhcmdjID4gMSAmJiAhc3RyY21wKGFyZ3ZbMV0sICItbWFza191cmwiKSkgew0KPiArICAgICAg ICBhcmd2WzFdID0gYXJndlswXTsNCj4gKyAgICAgICAgbWFza0ZsYWcgPSAxOw0KPiArICAgICAg ICBhcmdjLS07DQo+ICsgICAgICAgIGFyZ3YrKzsNCj4gKyAgICB9DQo+ICANCj4gICAgICBhdl9s b2dfc2V0X2ZsYWdzKEFWX0xPR19TS0lQX1JFUEVBVEVEKTsNCj4gICAgICBwYXJzZV9sb2dsZXZl bChhcmdjLCBhcmd2LCBvcHRpb25zKTsgQEAgLTM2ODIsNyArMzY5MCwxMCBAQCBpbnQgDQo+IG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiAgDQo+ICAgICAgc2hvd19iYW5uZXIoYXJnYywg YXJndiwgb3B0aW9ucyk7DQo+ICANCj4gLSAgICBwYXJzZV9vcHRpb25zKE5VTEwsIGFyZ2MsIGFy Z3YsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsNCj4gKyAgICBhcmd2MiA9IGNvcHlfYXJndihh cmdjLCBhcmd2KTsNCj4gKyAgICBwYXJzZV9vcHRpb25zKE5VTEwsIGFyZ2MsIGFyZ3YyLCBvcHRp b25zLCBvcHRfaW5wdXRfZmlsZSk7DQo+ICsgICAgaWYgKG1hc2tGbGFnKQ0KPiArICAgICAgICBw YXJhbV9tYXNraW5nKGFyZ2MsIGFyZ3YpOw0KPiAgDQo+ICAgICAgaWYgKCFpbnB1dF9maWxlbmFt ZSkgew0KPiAgICAgICAgICBzaG93X3VzYWdlKCk7DQo+IGRpZmYgLS1naXQgYS9mZnRvb2xzL2Zm cHJvYmUuYyBiL2ZmdG9vbHMvZmZwcm9iZS5jIGluZGV4IA0KPiBkMmYxMjZkLi5lNjlmNDlmIDEw MDY0NA0KPiAtLS0gYS9mZnRvb2xzL2ZmcHJvYmUuYw0KPiArKysgYi9mZnRvb2xzL2ZmcHJvYmUu Yw0KPiBAQCAtNDAzNSw5ICs0MDM1LDE2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJn dikNCj4gICAgICBXcml0ZXJDb250ZXh0ICp3Y3R4Ow0KPiAgICAgIGNoYXIgKmJ1ZjsNCj4gICAg ICBjaGFyICp3X25hbWUgPSBOVUxMLCAqd19hcmdzID0gTlVMTDsNCj4gLSAgICBpbnQgcmV0LCBp bnB1dF9yZXQsIGk7DQo+IC0NCj4gKyAgICBpbnQgcmV0LCBpbnB1dF9yZXQsIGksIG1hc2tGbGFn Ow0KPiArICAgIGNoYXIgKiphcmd2MjsNCj4gICAgICBpbml0X2R5bmxvYWQoKTsNCj4gKyAgICBt YXNrRmxhZyA9IDA7DQo+ICsgICAgaWYgKGFyZ2MgPiAxICYmICFzdHJjbXAoYXJndlsxXSwgIi1t YXNrX3VybCIpKSB7DQo+ICsgICAgICAgIGFyZ3ZbMV0gPSBhcmd2WzBdOw0KPiArICAgICAgICBt YXNrRmxhZyA9IDE7DQo+ICsgICAgICAgIGFyZ2MtLTsNCj4gKyAgICAgICAgYXJndisrOw0KPiAr ICAgIH0NCj4gIA0KPiAgI2lmIEhBVkVfVEhSRUFEUw0KPiAgICAgIHJldCA9IHB0aHJlYWRfbXV0 ZXhfaW5pdCgmbG9nX211dGV4LCBOVUxMKTsgQEAgLTQwNTYsOCArNDA2MywxMCANCj4gQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSAgI2VuZGlmDQo+ICANCj4gICAgICBzaG93X2Jh bm5lcihhcmdjLCBhcmd2LCBvcHRpb25zKTsNCj4gLSAgICBwYXJzZV9vcHRpb25zKE5VTEwsIGFy Z2MsIGFyZ3YsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsNCj4gLQ0KPiArICAgIGFyZ3YyID0g Y29weV9hcmd2KGFyZ2MsIGFyZ3YpOw0KPiArICAgIHBhcnNlX29wdGlvbnMoTlVMTCwgYXJnYywg YXJndjIsIG9wdGlvbnMsIG9wdF9pbnB1dF9maWxlKTsNCj4gKyAgICBpZiAobWFza0ZsYWcpDQo+ ICsgICAgICAgIHBhcmFtX21hc2tpbmcoYXJnYywgYXJndik7DQo+ICAgICAgaWYgKGRvX3Nob3df bG9nKQ0KPiAgICAgICAgICBhdl9sb2dfc2V0X2NhbGxiYWNrKGxvZ19jYWxsYmFjayk7DQo+ICAN Cj4gQEAgLTQxNzMsNiArNDE4Miw3IEBAIGVuZDoNCj4gICAgICBhdl9mcmVlcCgmcHJpbnRfZm9y bWF0KTsNCj4gICAgICBhdl9mcmVlcCgmcmVhZF9pbnRlcnZhbHMpOw0KPiAgICAgIGF2X2hhc2hf ZnJlZXAoJmhhc2gpOw0KPiArICAgIGZyZWVfcHAoYXJnYywgYXJndjIpOw0KPiAgDQo+ICAgICAg dW5pbml0X29wdHMoKTsNCj4gICAgICBmb3IgKGkgPSAwOyBpIDwgRkZfQVJSQVlfRUxFTVMoc2Vj dGlvbnMpOyBpKyspDQoNClJlZ2FyZHMsDQoNCi0tDQogIE5pY29sYXMgR2VvcmdlDQpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KZmZtcGVnLWRldmVsIG1h aWxpbmcgbGlzdA0KZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcNCmh0dHBzOi8vZmZtcGVnLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbA0KDQpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwgZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZt cGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwK ClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwt cmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=