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 5DC3D40932 for ; Sat, 1 Jul 2023 11:51:53 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CA0B068C061; Sat, 1 Jul 2023 14:51:50 +0300 (EEST) Received: from mail-lf1-f42.google.com (mail-lf1-f42.google.com [209.85.167.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4DD9268BE76 for ; Sat, 1 Jul 2023 14:51:44 +0300 (EEST) Received: by mail-lf1-f42.google.com with SMTP id 2adb3069b0e04-4f122ff663eso4577238e87.2 for ; Sat, 01 Jul 2023 04:51:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688212303; x=1690804303; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=Kf0S4hFKlJXwQ0UnjbrZB1Hp3/dodEt5uLbiKsGk3s4=; b=Y2ro88b0pQB4daf19g8sz1hmFv/ziinMPD9BRsXpq/YFGhChWZfiPwkWGPZ+8nkgo0 656mZaSjoNOAcnENA6SdALwtvAqynlRGzaZAZp8/+1PmxdsooTx0epVShDrLHRAhI9Ow my1XiH42l6b6CUqnhs9ujS8fjP9q89F74uaqwZD2k/3XtBkiRM2PpVDofm1H5b6Rp36x aUBVZp0XgpaLggcsZmV2lcexrx9nnjwDLD38ciYYcmpKUEGoy4svB9fPq2ZJnq2CIaAD RTSKhQXaYZei/YqxusGQU/201zZWGB2qk2RhFBVzsvynIQXBoLPEQURAZ3k1fVEyATL8 tvHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688212303; x=1690804303; 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=Kf0S4hFKlJXwQ0UnjbrZB1Hp3/dodEt5uLbiKsGk3s4=; b=WLMpi4nmnurRjMqGj7Sm8HDWLTywRRt0/guuPorPak9gsXh6VepSpS7j+EPKgYbaWp GJn3+rh/1sa1EESsm1hP410/bM+4Uum12GR6WVhtOMbqkU7XFdcb72aXkrBAsaHKVtMS 49ih3eOKEeQyDq9kOey8xmEbz0wMxf959eG/HwoZ837xFQk7sC1l3CmvbnEkhYkWCR6e qvlVs2ercUo5iTin2N7hUSj8IK7YxUco3AeQuS65/QaK07c02vI4210uJMoEmHVc81Y6 j0tKWTO1I+nWFaE3nRosEw50HP7SM3PDWFa20WbK0zKeNwXd1IqszHejd8/64Lj2tNql O7aw== X-Gm-Message-State: ABy/qLb8xUxA0wsS7muX6KyB2wbyA6l0SZV3kpXNxZspMnBTbwlDhZ3C XnXbtgKacBVaOgzbzPiB+UgO9OKfHNR0qoUTz0hVQmevH89aaf7w X-Google-Smtp-Source: APBJJlEUXRd6bXkJZkDrKRtI2/JlfPSDeS7IP1LtL9Bwmo6e4Ok/oXhwm3zA7BAPLWkCg/UpuYBflUFxk1aA4z4iCXY= X-Received: by 2002:ac2:4db0:0:b0:4f8:7617:6445 with SMTP id h16-20020ac24db0000000b004f876176445mr3614066lfe.48.1688212302879; Sat, 01 Jul 2023 04:51:42 -0700 (PDT) MIME-Version: 1.0 References: <20230629224510.10393-1-jamrial@gmail.com> In-Reply-To: <20230629224510.10393-1-jamrial@gmail.com> From: Nuo Mi Date: Sat, 1 Jul 2023 19:51:31 +0800 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v2 1/2] avcodec/cbs_h2645: fix parsing and storing Picture Header references in the context 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: T24gRnJpLCBKdW4gMzAsIDIwMjMgYXQgNjo0NeKAr0FNIEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4gd3JvdGU6Cgo+IFNpZ25lZC1vZmYtYnk6IEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4KPiAtLS0KPiAgbGliYXZjb2RlYy9jYnNfaDI2NDUuYyAgICAgICAgICAgICAgICB8 IDM1ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ICBsaWJhdmNvZGVjL2Nic19oMjY2Lmgg ICAgICAgICAgICAgICAgIHwgMTcgKysrKysrKy0tLS0tLQo+ICBsaWJhdmNvZGVjL2Nic19oMjY2 X3N5bnRheF90ZW1wbGF0ZS5jIHwgMTcgKysrKysrLS0tLS0tLQo+ICBsaWJhdmNvZGVjL2gyNjZf bWV0YWRhdGFfYnNmLmMgICAgICAgIHwgMTMgKysrKystLS0tLQo+ICBsaWJhdmNvZGVjL3Z2Y19w YXJzZXIuYyAgICAgICAgICAgICAgIHwgMTAgKysrKy0tLS0KPiAgNSBmaWxlcyBjaGFuZ2VkLCA1 MCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2Nic19oMjY0NS5jIGIvbGliYXZjb2RlYy9jYnNfaDI2NDUuYwo+IGluZGV4IGNkZDc5MDE1 MTguLjY4Y2NmNmE3ZWIgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9jYnNfaDI2NDUuYwo+ICsr KyBiL2xpYmF2Y29kZWMvY2JzX2gyNjQ1LmMKPiBAQCAtNTI1LDEyICs1MjUsNiBAQCBzdGF0aWMg aW50Cj4gY2JzX2gyNjQ1X3NwbGl0X2ZyYWdtZW50KENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4 LAo+ICAgICAgaWYgKGZyYWctPmRhdGFfc2l6ZSA9PSAwKQo+ICAgICAgICAgIHJldHVybiAwOwo+ Cj4gLSAgICBpZiAoY29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlZDKSB7Cj4gLSAgICAgICAgLy93 ZSBkZWFjdGl2ZSBwaWN0dXJlIGhlYWRlciBoZXJlIHRvIGF2b2lkIHJldXNlIHByZXZpb3VzIGF1 J3MgcGguCj4gLSAgICAgICAgQ29kZWRCaXRzdHJlYW1IMjY2Q29udGV4dCAqaDI2NiA9IGN0eC0+ cHJpdl9kYXRhOwo+IC0gICAgICAgIGgyNjYtPnByaXYucGggPSBOVUxMOwo+IC0gICAgfQo+IC0K PiAgICAgIGlmIChoZWFkZXIgJiYgZnJhZy0+ZGF0YVswXSAmJiBjb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IMjY0KSB7Cj4gICAgICAgICAgLy8gQVZDQyBoZWFkZXIuCj4gICAgICAgICAgc2l6ZV90 IHNpemUsIHN0YXJ0LCBlbmQ7Cj4gQEAgLTc5MywxOSArNzg3LDIwIEBAIGNic19oMjY2X3JlcGxh Y2VfcHMoNiwgU1BTLCBzcHMsCj4gc3BzX3NlcV9wYXJhbWV0ZXJfc2V0X2lkKQo+ICBjYnNfaDI2 Nl9yZXBsYWNlX3BzKDYsIFBQUywgcHBzLCBwcHNfcGljX3BhcmFtZXRlcl9zZXRfaWQpCj4KPiAg c3RhdGljIGludCBjYnNfaDI2Nl9yZXBsYWNlX3BoKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4 LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29kZWRCaXRzdHJlYW1Vbml0ICp1 bml0KQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29kZWRCaXRzdHJlYW1Vbml0 ICp1bml0LAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSDI2NlJhd1BpY3R1cmVI ZWFkZXIgKnBoKQo+ICB7Cj4gICAgICBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0ICpoMjY2ID0g Y3R4LT5wcml2X2RhdGE7Cj4gICAgICBpbnQgZXJyOwo+Cj4gLSAgICBoMjY2LT5wcml2LnBoID0g TlVMTDsKPiAgICAgIGVyciA9IGZmX2Nic19tYWtlX3VuaXRfcmVmY291bnRlZChjdHgsIHVuaXQp Owo+ICAgICAgaWYgKGVyciA8IDApCj4gICAgICAgICAgcmV0dXJuIGVycjsKPiAtICAgIGVyciA9 IGF2X2J1ZmZlcl9yZXBsYWNlKCZoMjY2LT5wcml2LnBoX3JlZiwgdW5pdC0+Y29udGVudF9yZWYp Owo+ICsgICAgYXZfYXNzZXJ0MCh1bml0LT5jb250ZW50X3JlZik7Cj4gKyAgICBlcnIgPSBhdl9i dWZmZXJfcmVwbGFjZSgmaDI2Ni0+cGhfcmVmLCB1bml0LT5jb250ZW50X3JlZik7Cj4gICAgICBp ZiAoZXJyIDwgMCkKPiAgICAgICAgICByZXR1cm4gZXJyOwo+IC0gICAgaDI2Ni0+cHJpdi5waCA9 IChIMjY2UmF3UEgqKWgyNjYtPnByaXYucGhfcmVmLT5kYXRhOwo+ICsgICAgaDI2Ni0+cGggPSBw aDsKPiAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiBAQCAtMTExMSw3ICsxMTA2LDcgQEAgc3RhdGlj IGludAo+IGNic19oMjY2X3JlYWRfbmFsX3VuaXQoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgs Cj4gICAgICAgICAgICAgIGVyciA9IGNic19oMjY2X3JlYWRfcGgoY3R4LCAmZ2JjLCBwaCk7Cj4g ICAgICAgICAgICAgIGlmIChlcnIgPCAwKQo+ICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsK PiAtICAgICAgICAgICAgZXJyID0gY2JzX2gyNjZfcmVwbGFjZV9waChjdHgsIHVuaXQpOwo+ICsg ICAgICAgICAgICBlcnIgPSBjYnNfaDI2Nl9yZXBsYWNlX3BoKGN0eCwgdW5pdCwgJnBoLT5waF9w aWN0dXJlX2hlYWRlcik7Cj4gICAgICAgICAgICAgIGlmIChlcnIgPCAwKQo+ICAgICAgICAgICAg ICAgICAgcmV0dXJuIGVycjsKPiAgICAgICAgICB9Cj4gQEAgLTExMzksNiArMTEzNCwxMiBAQCBz dGF0aWMgaW50Cj4gY2JzX2gyNjZfcmVhZF9uYWxfdW5pdChDb2RlZEJpdHN0cmVhbUNvbnRleHQg KmN0eCwKPiAgICAgICAgICAgICAgcG9zID0gZ2V0X2JpdHNfY291bnQoJmdiYyk7Cj4gICAgICAg ICAgICAgIGxlbiA9IHVuaXQtPmRhdGFfc2l6ZTsKPgo+ICsgICAgICAgICAgICBpZiAoc2xpY2Ut PmhlYWRlci5zaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFkZXJfZmxhZykgewo+ICsgICAg ICAgICAgICAgICAgZXJyID0gY2JzX2gyNjZfcmVwbGFjZV9waChjdHgsIHVuaXQsCj4gJnNsaWNl LT5oZWFkZXIuc2hfcGljdHVyZV9oZWFkZXIpOwo+ICsgICAgICAgICAgICAgICAgaWYgKGVyciA8 IDApCj4gKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVycjsKPiArICAgICAgICAgICAgfQo+ ICsKPiAgICAgICAgICAgICAgc2xpY2UtPmRhdGFfc2l6ZSA9IGxlbiAtIHBvcyAvIDg7Cj4gICAg ICAgICAgICAgIHNsaWNlLT5kYXRhX3JlZiAgPSBhdl9idWZmZXJfcmVmKHVuaXQtPmRhdGFfcmVm KTsKPiAgICAgICAgICAgICAgaWYgKCFzbGljZS0+ZGF0YV9yZWYpCj4gQEAgLTE2NDAsNyArMTY0 MSw3IEBAIHN0YXRpYyBpbnQKPiBjYnNfaDI2Nl93cml0ZV9uYWxfdW5pdChDb2RlZEJpdHN0cmVh bUNvbnRleHQgKmN0eCwKPiAgICAgICAgICAgICAgaWYgKGVyciA8IDApCj4gICAgICAgICAgICAg ICAgICByZXR1cm4gZXJyOwo+Cj4gLSAgICAgICAgICAgIGVyciA9IGNic19oMjY2X3JlcGxhY2Vf cGgoY3R4LCB1bml0KTsKPiArICAgICAgICAgICAgZXJyID0gY2JzX2gyNjZfcmVwbGFjZV9waChj dHgsIHVuaXQsICZwaC0+cGhfcGljdHVyZV9oZWFkZXIpOwo+ICAgICAgICAgICAgICBpZiAoZXJy IDwgMCkKPiAgICAgICAgICAgICAgICAgIHJldHVybiBlcnI7Cj4gICAgICAgICAgfQo+IEBAIC0x NjYxLDYgKzE2NjIsMTIgQEAgc3RhdGljIGludAo+IGNic19oMjY2X3dyaXRlX25hbF91bml0KENv ZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LAo+ICAgICAgICAgICAgICBpZiAoZXJyIDwgMCkKPiAg ICAgICAgICAgICAgICAgIHJldHVybiBlcnI7Cj4KPiArICAgICAgICAgICAgaWYgKHNsaWNlLT5o ZWFkZXIuc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcpIHsKPiArICAgICAg ICAgICAgICAgIGVyciA9IGNic19oMjY2X3JlcGxhY2VfcGgoY3R4LCB1bml0LAo+ICZzbGljZS0+ aGVhZGVyLnNoX3BpY3R1cmVfaGVhZGVyKTsKPiArICAgICAgICAgICAgICAgIGlmIChlcnIgPCAw KQo+ICsgICAgICAgICAgICAgICAgICAgIHJldHVybiBlcnI7Cj4gKyAgICAgICAgICAgIH0KPiAr Cj4gICAgICAgICAgICAgIGlmIChzbGljZS0+ZGF0YSkgewo+ICAgICAgICAgICAgICAgICAgZXJy ID0gY2JzX2gyNjQ1X3dyaXRlX3NsaWNlX2RhdGEoY3R4LCBwYmMsIHNsaWNlLT5kYXRhLAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2UtPmRh dGFfc2l6ZSwKPiBAQCAtMTg4NCw4ICsxODkxLDggQEAgc3RhdGljIHZvaWQgY2JzX2gyNjZfZmx1 c2goQ29kZWRCaXRzdHJlYW1Db250ZXh0Cj4gKmN0eCkKPiAgICAgICAgICBhdl9idWZmZXJfdW5y ZWYoJmgyNjYtPnBwc19yZWZbaV0pOwo+ICAgICAgICAgIGgyNjYtPnBwc1tpXSA9IE5VTEw7Cj4g ICAgICB9Cj4gLSAgICBhdl9idWZmZXJfdW5yZWYoJmgyNjYtPnByaXYucGhfcmVmKTsKPiAtICAg IGgyNjYtPnByaXYucGggPSBOVUxMOwo+ICsgICAgYXZfYnVmZmVyX3VucmVmKCZoMjY2LT5waF9y ZWYpOwo+ICsgICAgaDI2Ni0+cGggPSBOVUxMOwo+ICB9Cj4KPiAgc3RhdGljIHZvaWQgY2JzX2gy NjZfY2xvc2UoQ29kZWRCaXRzdHJlYW1Db250ZXh0ICpjdHgpCj4gZGlmZiAtLWdpdCBhL2xpYmF2 Y29kZWMvY2JzX2gyNjYuaCBiL2xpYmF2Y29kZWMvY2JzX2gyNjYuaAo+IGluZGV4IDAzZGZkNGE5 NTQuLjU0NTkwNzQ4YzMgMTAwNjQ0Cj4gLS0tIGEvbGliYXZjb2RlYy9jYnNfaDI2Ni5oCj4gKysr IGIvbGliYXZjb2RlYy9jYnNfaDI2Ni5oCj4gQEAgLTU4MSw4ICs1ODEsNyBAQCB0eXBlZGVmIHN0 cnVjdCBIMjY2UmF3UHJlZFdlaWdodFRhYmxlIHsKPiAgICAgIGludDE2X3QgIGRlbHRhX2Nocm9t YV9vZmZzZXRfbDFbMTVdWzJdOwo+ICB9IEgyNjZSYXdQcmVkV2VpZ2h0VGFibGU7Cj4KPiAtdHlw ZWRlZiBzdHJ1Y3QgIEgyNjZSYXdQSCB7Cj4gLSAgICBIMjY2UmF3TkFMVW5pdEhlYWRlciBuYWxf dW5pdF9oZWFkZXI7Cj4gK3R5cGVkZWYgc3RydWN0ICBIMjY2UmF3UGljdHVyZUhlYWRlciB7Cj4g ICAgICB1aW50OF90ICBwaF9nZHJfb3JfaXJhcF9waWNfZmxhZzsKPiAgICAgIHVpbnQ4X3QgIHBo X25vbl9yZWZfcGljX2ZsYWc7Cj4gICAgICB1aW50OF90ICBwaF9nZHJfcGljX2ZsYWc7Cj4gQEAg LTY3MCwxMiArNjY5LDE3IEBAIHR5cGVkZWYgc3RydWN0ICBIMjY2UmF3UEggewo+Cj4gICAgICB1 aW50OF90ICBwaF9leHRlbnNpb25fbGVuZ3RoOwo+ICAgICAgdWludDhfdCAgcGhfZXh0ZW5zaW9u X2RhdGFfYnl0ZVsyNTZdOwo+ICt9IEgyNjZSYXdQaWN0dXJlSGVhZGVyOwo+ICsKPiArdHlwZWRl ZiBzdHJ1Y3QgSDI2NlJhd1BIIHsKPiArICAgIEgyNjZSYXdOQUxVbml0SGVhZGVyIG5hbF91bml0 X2hlYWRlcjsKPiArICAgIEgyNjZSYXdQaWN0dXJlSGVhZGVyIHBoX3BpY3R1cmVfaGVhZGVyOwo+ ICB9IEgyNjZSYXdQSDsKPgo+ICB0eXBlZGVmIHN0cnVjdCAgSDI2NlJhd1NsaWNlSGVhZGVyIHsK PiAgICAgIEgyNjZSYXdOQUxVbml0SGVhZGVyIG5hbF91bml0X2hlYWRlcjsKPiAgICAgIHVpbnQ4 X3QgIHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnOwo+IC0gICAgSDI2NlJh d1BIIHNoX3BpY3R1cmVfaGVhZGVyOwo+ICsgICAgSDI2NlJhd1BpY3R1cmVIZWFkZXIgc2hfcGlj dHVyZV9oZWFkZXI7Cj4KPiAgICAgIHVpbnQxNl90IHNoX3N1YnBpY19pZDsKPiAgICAgIHVpbnQx Nl90IHNoX3NsaWNlX2FkZHJlc3M7Cj4gQEAgLTc3MCwxNCArNzc0LDExIEBAIHR5cGVkZWYgc3Ry dWN0IENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQgewo+ICAgICAgQVZCdWZmZXJSZWYgKnZwc19y ZWZbVlZDX01BWF9WUFNfQ09VTlRdOwo+ICAgICAgQVZCdWZmZXJSZWYgKnNwc19yZWZbVlZDX01B WF9TUFNfQ09VTlRdOwo+ICAgICAgQVZCdWZmZXJSZWYgKnBwc19yZWZbVlZDX01BWF9QUFNfQ09V TlRdOwo+ICsgICAgQVZCdWZmZXJSZWYgKnBoX3JlZjsKPiAgICAgIEgyNjZSYXdWUFMgICp2cHNb VlZDX01BWF9TUFNfQ09VTlRdOwo+ICAgICAgSDI2NlJhd1NQUyAgKnNwc1tWVkNfTUFYX1NQU19D T1VOVF07Cj4gICAgICBIMjY2UmF3UFBTICAqcHBzW1ZWQ19NQVhfUFBTX0NPVU5UXTsKPiAtCj4g LSAgICBzdHJ1Y3Qgewo+IC0gICAgICAgIEFWQnVmZmVyUmVmICpwaF9yZWY7Cj4gLSAgICAgICAg SDI2NlJhd1BIICAgKnBoOwo+IC0gICAgfSBwcml2Owo+ICsgICAgSDI2NlJhd1BpY3R1cmVIZWFk ZXIgKnBoOwo+ICB9IENvZGVkQml0c3RyZWFtSDI2NkNvbnRleHQ7Cj4KPiAgI2VuZGlmIC8qIEFW Q09ERUNfQ0JTX0gyNjZfSCAqLwo+IGRpZmYgLS1naXQgYS9saWJhdmNvZGVjL2Nic19oMjY2X3N5 bnRheF90ZW1wbGF0ZS5jCj4gYi9saWJhdmNvZGVjL2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5j Cj4gaW5kZXggMDZmOWYyOWUwOC4uNmQ4MjZlYmE0OSAxMDA2NDQKPiAtLS0gYS9saWJhdmNvZGVj L2Nic19oMjY2X3N5bnRheF90ZW1wbGF0ZS5jCj4gKysrIGIvbGliYXZjb2RlYy9jYnNfaDI2Nl9z eW50YXhfdGVtcGxhdGUuYwo+IEBAIC0yMjMxLDggKzIyMzEsOCBAQCBzdGF0aWMgaW50IEZVTkMo cHJlZF93ZWlnaHRfdGFibGUpCj4gKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRl eHQgKnJ3LAo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPgo+IC1zdGF0aWMgaW50IEZVTkMocGljdHVy ZV9oZWFkZXIpIChDb2RlZEJpdHN0cmVhbUNvbnRleHQgKmN0eCwgUldDb250ZXh0Cj4gKnJ3LAo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIMjY2UmF3UEggKmN1cnJlbnQpewo+ ICtzdGF0aWMgaW50IEZVTkMocGljdHVyZV9oZWFkZXJfc3RydWN0dXJlKShDb2RlZEJpdHN0cmVh bUNvbnRleHQgKmN0eCwKPiBSV0NvbnRleHQgKnJ3LAo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIMjY2UmF3UGljdHVyZUhlYWRlciAqY3VycmVudCkgewo+ICAg ICAgQ29kZWRCaXRzdHJlYW1IMjY2Q29udGV4dCAqaDI2NiA9IGN0eC0+cHJpdl9kYXRhOwo+ICAg ICAgY29uc3QgSDI2NlJhd1ZQUyAqdnBzOwo+ICAgICAgY29uc3QgSDI2NlJhd1NQUyAqc3BzOwo+ IEBAIC0yNjUxLDcgKzI2NTEsNyBAQCBzdGF0aWMgaW50IEZVTkMocGgpIChDb2RlZEJpdHN0cmVh bUNvbnRleHQgKmN0eCwKPiBSV0NvbnRleHQgKnJ3LAo+ICAgICAgSEVBREVSKCJQaWN0dXJlIEhl YWRlciIpOwo+Cj4gICAgICBDSEVDSyhGVU5DKG5hbF91bml0X2hlYWRlcikgKGN0eCwgcncsICZj dXJyZW50LT5uYWxfdW5pdF9oZWFkZXIsCj4gVlZDX1BIX05VVCkpOwo+IC0gICAgQ0hFQ0soRlVO QyhwaWN0dXJlX2hlYWRlcikgKGN0eCwgcncsIGN1cnJlbnQpKTsKPiArICAgIENIRUNLKEZVTkMo cGljdHVyZV9oZWFkZXJfc3RydWN0dXJlKSAoY3R4LCBydywKPiAmY3VycmVudC0+cGhfcGljdHVy ZV9oZWFkZXIpKTsKPiAgICAgIENIRUNLKEZVTkMocmJzcF90cmFpbGluZ19iaXRzKSAoY3R4LCBy dykpOwo+ICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMjY2Miw3ICsyNjYyLDcgQEAgc3RhdGlj IGludCBGVU5DKHNsaWNlX2hlYWRlcikgKENvZGVkQml0c3RyZWFtQ29udGV4dAo+ICpjdHgsIFJX Q29udGV4dCAqcncsCj4gICAgICBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0ICpoMjY2ID0gY3R4 LT5wcml2X2RhdGE7Cj4gICAgICBjb25zdCBIMjY2UmF3U1BTICpzcHM7Cj4gICAgICBjb25zdCBI MjY2UmF3UFBTICpwcHM7Cj4gLSAgICBjb25zdCBIMjY2UmF3UEggKnBoOwo+ICsgICAgY29uc3Qg SDI2NlJhd1BpY3R1cmVIZWFkZXIgKnBoOwo+ICAgICAgY29uc3QgSDI2NlJlZlBpY0xpc3RzICpy ZWZfcGljX2xpc3RzOwo+ICAgICAgaW50IGVyciwgaTsKPiAgICAgIHVpbnQ4X3QgbmFsX3VuaXRf dHlwZSwgcXBfYmRfb2Zmc2V0Owo+IEBAIC0yNjc1LDEyICsyNjc1LDExIEBAIHN0YXRpYyBpbnQg RlVOQyhzbGljZV9oZWFkZXIpCj4gKENvZGVkQml0c3RyZWFtQ29udGV4dCAqY3R4LCBSV0NvbnRl eHQgKnJ3LAo+Cj4gICAgICBmbGFnKHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9m bGFnKTsKPiAgICAgIGlmIChjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcl9pbl9zbGljZV9oZWFk ZXJfZmxhZykgewo+IC0gICAgICAgIENIRUNLKEZVTkMocGljdHVyZV9oZWFkZXIpIChjdHgsIHJ3 LAo+ICZjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcikpOwo+ICsgICAgICAgIC8vNy40LjggaWYg c2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcgaXMgdHJ1ZSwgd2UgZG8KPiBu b3QgaGF2ZSBhIFBIIE5BTCB1bml0Cj4gKyAgICAgICAgQ0hFQ0soRlVOQyhwaWN0dXJlX2hlYWRl cl9zdHJ1Y3R1cmUpIChjdHgsIHJ3LAo+ICZjdXJyZW50LT5zaF9waWN0dXJlX2hlYWRlcikpOwo+ ICAgICAgICAgIHBoID0gJmN1cnJlbnQtPnNoX3BpY3R1cmVfaGVhZGVyOwo+IC0gICAgICAgIC8v Ny40LjggaWYgc2hfcGljdHVyZV9oZWFkZXJfaW5fc2xpY2VfaGVhZGVyX2ZsYWcgaXMgdHJ1ZSwg d2UgZG8KPiBub3QgaGF2ZSBQSCBOQUwgdW5pdAo+IC0gICAgICAgIGgyNjYtPnByaXYucGggPSBO VUxMOwo+ICAgICAgfSBlbHNlIHsKPiAtICAgICAgICBwaCA9IGgyNjYtPnByaXYucGg7Cj4gKyAg ICAgICAgcGggPSBoMjY2LT5waDsKPgpCYXNlZCBvbiB0aGUgZm9sbG93aW5nIGl0ZW1zIGluIHRo ZSBzcGVjLCBhbGwgc2xpY2VzIHdpbGwgaGF2ZSB0aGUgc2FtZQpwaWN0dXJlIGhlYWRlci4gIE1h eWJlIHdlIGNhbiByZW1vdmUgc2hfcGljdHVyZV9oZWFkZXIgYW5kIGp1c3Qga2VlcApoMjY2LT5w aC4KCjEuIFRoZSBQSCBzeW50YXggc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHRoYXQg aXMgY29tbW9uIGZvciBhbGwKc2xpY2VzIG9mIHRoZSBjdXJyZW50IHBpY3R1cmUuCjIuIEl0IGlz IGEgcmVxdWlyZW1lbnQgb2YgYml0c3RyZWFtIGNvbmZvcm1hbmNlIHRoYXQgdGhlIHZhbHVlIG9m CnNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnIHNoYWxsIGJlIHRoZSBzYW1l IGluIGFsbCBjb2RlZApzbGljZXMgaW4gYSBDTFZTLgozLiBXaGVuIHNoX3BpY3R1cmVfaGVhZGVy X2luX3NsaWNlX2hlYWRlcl9mbGFnIGlzIGVxdWFsIHRvIDEgZm9yIGEgY29kZWQKc2xpY2UsIGl0 IGlzIGEgcmVxdWlyZW1lbnQgb2YgYml0c3RyZWFtIGNvbmZvcm1hbmNlIHRoYXQgbm8gTkFMIHVu aXQgd2l0aApuYWxfdW5pdF90eXBlIGVxdWFsIHRvIFBIX05VVCBzaGFsbCBiZSBwcmVzZW50IGlu IHRoZSBDTFZTLgoKCgo+ICAgICAgICAgIGlmICghcGgpIHsKPiAgICAgICAgICAgICAgYXZfbG9n KGN0eC0+bG9nX2N0eCwgQVZfTE9HX0VSUk9SLAo+ICAgICAgICAgICAgICAgICAgICAgIlBpY3R1 cmUgaGVhZGVyIG5vdCBhdmFpbGFibGUuXG4iKTsKPiBAQCAtMjgyMiw3ICsyODIxLDcgQEAgc3Rh dGljIGludCBGVU5DKHNsaWNlX2hlYWRlcikgKENvZGVkQml0c3RyZWFtQ29udGV4dAo+ICpjdHgs IFJXQ29udGV4dCAqcncsCj4gICAgICAgICAgICAgICAgKGN0eCwgcncsIHNwcywgcHBzLCAmY3Vy cmVudC0+c2hfcmVmX3BpY19saXN0cykpOwo+ICAgICAgICAgIHJlZl9waWNfbGlzdHMgPSAmY3Vy cmVudC0+c2hfcmVmX3BpY19saXN0czsKPiAgICAgIH0gZWxzZSB7Cj4gLSAgICAgICAgcmVmX3Bp Y19saXN0cyA9ICZoMjY2LT5wcml2LnBoLT5waF9yZWZfcGljX2xpc3RzOwo+ICsgICAgICAgIHJl Zl9waWNfbGlzdHMgPSAmcGgtPnBoX3JlZl9waWNfbGlzdHM7Cj4gICAgICB9Cj4gICAgICBpZiAo KGN1cnJlbnQtPnNoX3NsaWNlX3R5cGUgIT0gVlZDX1NMSUNFX1RZUEVfSSAmJgo+ICAgICAgICAg ICByZWZfcGljX2xpc3RzLT5ycGxfcmVmX2xpc3RbMF0ubnVtX3JlZl9lbnRyaWVzID4gMSkgfHwK PiBkaWZmIC0tZ2l0IGEvbGliYXZjb2RlYy9oMjY2X21ldGFkYXRhX2JzZi5jCj4gYi9saWJhdmNv ZGVjL2gyNjZfbWV0YWRhdGFfYnNmLmMKPiBpbmRleCAxOGZhMWE1YzljLi45MjRlZWVhZjM1IDEw MDY0NAo+IC0tLSBhL2xpYmF2Y29kZWMvaDI2Nl9tZXRhZGF0YV9ic2YuYwo+ICsrKyBiL2xpYmF2 Y29kZWMvaDI2Nl9tZXRhZGF0YV9ic2YuYwo+IEBAIC00OCw3ICs0OCw3IEBAIHN0YXRpYyBpbnQg aDI2Nl9tZXRhZGF0YV91cGRhdGVfZnJhZ21lbnQoQVZCU0ZDb250ZXh0Cj4gKmJzZiwgQVZQYWNr ZXQgKnBrdCwKPiAgICAgICAgICAgICAgZmZfY2JzX2RlbGV0ZV91bml0KHB1LCAwKTsKPiAgICAg IH0gZWxzZSBpZiAoIHBrdCAmJiBjdHgtPmF1ZCA9PSBCU0ZfRUxFTUVOVF9JTlNFUlQpIHsKPiAg ICAgICAgICBjb25zdCBIMjY2UmF3U2xpY2UgKmZpcnN0X3NsaWNlID0gTlVMTDsKPiAtICAgICAg ICBjb25zdCBIMjY2UmF3UEggKnBoID0gTlVMTDsKPiArICAgICAgICBjb25zdCBIMjY2UmF3UGlj dHVyZUhlYWRlciAqcGljdHVyZV9oZWFkZXIgPSBOVUxMOwo+ICAgICAgICAgIEgyNjZSYXdBVUQg KmF1ZCA9ICZjdHgtPmF1ZF9uYWw7Cj4gICAgICAgICAgaW50IHBpY190eXBlID0gMCwgdGVtcG9y YWxfaWQgPSA4LCBsYXllcl9pZCA9IDA7Cj4gICAgICAgICAgZm9yIChpID0gMDsgaSA8IHB1LT5u Yl91bml0czsgaSsrKSB7Cj4gQEAgLTU4LDcgKzU4LDggQEAgc3RhdGljIGludCBoMjY2X21ldGFk YXRhX3VwZGF0ZV9mcmFnbWVudChBVkJTRkNvbnRleHQKPiAqYnNmLCBBVlBhY2tldCAqcGt0LAo+ ICAgICAgICAgICAgICBpZiAobmFsLT5udWhfdGVtcG9yYWxfaWRfcGx1czEgPCB0ZW1wb3JhbF9p ZCArIDEpCj4gICAgICAgICAgICAgICAgICB0ZW1wb3JhbF9pZCA9IG5hbC0+bnVoX3RlbXBvcmFs X2lkX3BsdXMxIC0gMTsKPiAgICAgICAgICAgICAgaWYgKCBuYWwtPm5hbF91bml0X3R5cGUgPT0g VlZDX1BIX05VVCApIHsKPiAtICAgICAgICAgICAgICAgIHBoID0gcHUtPnVuaXRzW2ldLmNvbnRl bnQ7Cj4gKyAgICAgICAgICAgICAgICBjb25zdCBIMjY2UmF3UEggKnBoID0gcHUtPnVuaXRzW2ld LmNvbnRlbnQ7Cj4gKyAgICAgICAgICAgICAgICBwaWN0dXJlX2hlYWRlciA9ICZwaC0+cGhfcGlj dHVyZV9oZWFkZXI7Cj4gICAgICAgICAgICAgIH0gZWxzZSBpZiAoSVNfSDI2Nl9TTElDRShuYWwt Pm5hbF91bml0X3R5cGUpKSB7Cj4gICAgICAgICAgICAgICAgICBjb25zdCBIMjY2UmF3U2xpY2Ug KnNsaWNlID0gcHUtPnVuaXRzW2ldLmNvbnRlbnQ7Cj4gICAgICAgICAgICAgICAgICBsYXllcl9p ZCA9IG5hbC0+bnVoX2xheWVyX2lkOwo+IEBAIC03MiwxMyArNzMsMTMgQEAgc3RhdGljIGludCBo MjY2X21ldGFkYXRhX3VwZGF0ZV9mcmFnbWVudChBVkJTRkNvbnRleHQKPiAqYnNmLCBBVlBhY2tl dCAqcGt0LAo+ICAgICAgICAgICAgICAgICAgICAgIGZpcnN0X3NsaWNlID0gc2xpY2U7Cj4gICAg ICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0X3NsaWNlLT5oZWFkZXIuCj4gICAgICAgICAgICAg ICAgICAgICAgICAgIHNoX3BpY3R1cmVfaGVhZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnKQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICBwaCA9ICZmaXJzdF9zbGljZS0+aGVhZGVyLnNoX3BpY3R1 cmVfaGVhZGVyOwo+IC0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFwaCkKPiArICAgICAg ICAgICAgICAgICAgICAgICAgcGljdHVyZV9oZWFkZXIgPQo+ICZmaXJzdF9zbGljZS0+aGVhZGVy LnNoX3BpY3R1cmVfaGVhZGVyOwo+ICsgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFwaWN0 dXJlX2hlYWRlcikKPiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gICAgICAgICAg ICAgICAgICB9Cj4gICAgICAgICAgICAgIH0KPiAgICAgICAgICB9Cj4gLSAgICAgICAgaWYgKCFw aCkgewo+ICsgICAgICAgIGlmICghcGljdHVyZV9oZWFkZXIpIHsKPiAgICAgICAgICAgICAgYXZf bG9nKGJzZiwgQVZfTE9HX0VSUk9SLCAibm8gYXZhbGlhYmxlIHBpY3R1cmUgaGVhZGVyIik7Cj4g ICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0lOVkFMSUREQVRBOwo+ICAgICAgICAgIH0KPiBA QCAtODksNyArOTAsNyBAQCBzdGF0aWMgaW50IGgyNjZfbWV0YWRhdGFfdXBkYXRlX2ZyYWdtZW50 KEFWQlNGQ29udGV4dAo+ICpic2YsIEFWUGFja2V0ICpwa3QsCj4gICAgICAgICAgICAgIC5udWhf dGVtcG9yYWxfaWRfcGx1czEgPSB0ZW1wb3JhbF9pZCArIDEsCj4gICAgICAgICAgfTsKPiAgICAg ICAgICBhdWQtPmF1ZF9waWNfdHlwZSA9IHBpY190eXBlOwo+IC0gICAgICAgIGF1ZC0+YXVkX2ly YXBfb3JfZ2RyX2ZsYWcgPSBwaC0+cGhfZ2RyX29yX2lyYXBfcGljX2ZsYWc7Cj4gKyAgICAgICAg YXVkLT5hdWRfaXJhcF9vcl9nZHJfZmxhZyA9Cj4gcGljdHVyZV9oZWFkZXItPnBoX2dkcl9vcl9p cmFwX3BpY19mbGFnOwo+Cj4gICAgICAgICAgZXJyID0gZmZfY2JzX2luc2VydF91bml0X2NvbnRl bnQocHUsIDAsIFZWQ19BVURfTlVULCBhdWQsIE5VTEwpOwo+ICAgICAgICAgIGlmIChlcnIgPCAw KSB7Cj4gZGlmZiAtLWdpdCBhL2xpYmF2Y29kZWMvdnZjX3BhcnNlci5jIGIvbGliYXZjb2RlYy92 dmNfcGFyc2VyLmMKPiBpbmRleCA2OTY5NmVlZjU3Li4xOWNhNjAxYmRiIDEwMDY0NAo+IC0tLSBh L2xpYmF2Y29kZWMvdnZjX3BhcnNlci5jCj4gKysrIGIvbGliYXZjb2RlYy92dmNfcGFyc2VyLmMK PiBAQCAtMzEsNyArMzEsNyBAQAo+ICB0eXBlZGVmIHN0cnVjdCBQdUluZm8gewo+ICAgICAgY29u c3QgSDI2NlJhd1BQUyAqcHBzOwo+ICAgICAgY29uc3QgSDI2NlJhd1NQUyAqc3BzOwo+IC0gICAg Y29uc3QgSDI2NlJhd1BIICpwaDsKPiArICAgIGNvbnN0IEgyNjZSYXdQaWN0dXJlSGVhZGVyICpw aDsKPiAgICAgIGNvbnN0IEgyNjZSYXdTbGljZSAqc2xpY2U7Cj4gICAgICBpbnQgcGljX3R5cGU7 Cj4gIH0gUHVJbmZvOwo+IEBAIC0xNTUsNyArMTU1LDYgQEAgc3RhdGljIHZvaWQgc2V0X3BhcnNl cl9jdHgoQVZDb2RlY1BhcnNlckNvbnRleHQgKnMsCj4gQVZDb2RlY0NvbnRleHQgKmF2Y3R4LAo+ ICAgICAgfTsKPiAgICAgIGNvbnN0IEgyNjZSYXdTUFMgKnNwcyA9IHB1LT5zcHM7Cj4gICAgICBj b25zdCBIMjY2UmF3UFBTICpwcHMgPSBwdS0+cHBzOwo+IC0gICAgLy9jb25zdCBIMjY2UmF3UEgg ICpwaCAgPSBwdS0+cGg7Cj4gICAgICBjb25zdCBIMjY2UmF3TkFMVW5pdEhlYWRlciAqbmFsID0g JnB1LT5zbGljZS0+aGVhZGVyLm5hbF91bml0X2hlYWRlcjsKPgo+ICAgICAgcy0+cGljdF90eXBl ID0gcHUtPnBpY190eXBlOwo+IEBAIC0yMDUsNyArMjA0LDcgQEAgc3RhdGljIHZvaWQgc2V0X3Bh cnNlcl9jdHgoQVZDb2RlY1BhcnNlckNvbnRleHQgKnMsCj4gQVZDb2RlY0NvbnRleHQgKmF2Y3R4 LAo+ICAvL1dlIGZvbGxvdyB0aGUgVlRNLgo+ICBzdGF0aWMgdm9pZCBnZXRfc2xpY2VfcG9jKFZW Q1BhcnNlckNvbnRleHQgKnMsIGludCAqcG9jLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IEgyNjZSYXdTUFMgKnNwcywKPiAtICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBIMjY2UmF3UEggKnBoLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEgyNjZS YXdQaWN0dXJlSGVhZGVyICpwaCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBI MjY2UmF3U2xpY2VIZWFkZXIgKnNsaWNlLCB2b2lkICpsb2dfY3R4KQo+ICB7Cj4gICAgICBpbnQg cG9jX21zYiwgbWF4X3BvY19sc2IsIHBvY19sc2I7Cj4gQEAgLTI1MSw3ICsyNTAsNyBAQCBzdGF0 aWMgaW50IGlzX2F1X3N0YXJ0KFZWQ1BhcnNlckNvbnRleHQgKnMsIGNvbnN0Cj4gUHVJbmZvICpw dSwgdm9pZCAqbG9nX2N0eCkKPiAgICAgIEF1RGV0ZWN0b3IgKmQgPSAmcy0+YXVfZGV0ZWN0b3I7 Cj4gICAgICBjb25zdCBIMjY2UmF3U1BTICpzcHMgPSBwdS0+c3BzOwo+ICAgICAgY29uc3QgSDI2 NlJhd05BTFVuaXRIZWFkZXIgKm5hbCA9ICZwdS0+c2xpY2UtPmhlYWRlci5uYWxfdW5pdF9oZWFk ZXI7Cj4gLSAgICBjb25zdCBIMjY2UmF3UEggKnBoID0gcHUtPnBoOwo+ICsgICAgY29uc3QgSDI2 NlJhd1BpY3R1cmVIZWFkZXIgKnBoID0gcHUtPnBoOwo+ICAgICAgY29uc3QgSDI2NlJhd1NsaWNl ICpzbGljZSA9IHB1LT5zbGljZTsKPiAgICAgIGludCByZXQsIHBvYywgbnV0Owo+Cj4gQEAgLTI4 Miw3ICsyODEsOCBAQCBzdGF0aWMgaW50IGdldF9wdV9pbmZvKFB1SW5mbyAqaW5mbywgY29uc3QK PiBDb2RlZEJpdHN0cmVhbUgyNjZDb250ZXh0ICpoMjY2LAo+ICAgICAgICAgIGlmICghbmFsKQo+ ICAgICAgICAgICAgICBjb250aW51ZTsKPiAgICAgICAgICBpZiAoIG5hbC0+bmFsX3VuaXRfdHlw ZSA9PSBWVkNfUEhfTlVUICkgewo+IC0gICAgICAgICAgICBpbmZvLT5waCA9IHB1LT51bml0c1tp XS5jb250ZW50Owo+ICsgICAgICAgICAgICBjb25zdCBIMjY2UmF3UEggKnBoID0gcHUtPnVuaXRz W2ldLmNvbnRlbnQ7Cj4gKyAgICAgICAgICAgIGluZm8tPnBoID0gJnBoLT5waF9waWN0dXJlX2hl YWRlcjsKPiAgICAgICAgICB9IGVsc2UgaWYgKElTX0gyNjZfU0xJQ0UobmFsLT5uYWxfdW5pdF90 eXBlKSkgewo+ICAgICAgICAgICAgICBpbmZvLT5zbGljZSA9IHB1LT51bml0c1tpXS5jb250ZW50 Owo+ICAgICAgICAgICAgICBpZgo+IChpbmZvLT5zbGljZS0+aGVhZGVyLnNoX3BpY3R1cmVfaGVh ZGVyX2luX3NsaWNlX2hlYWRlcl9mbGFnKQo+IC0tCj4gMi40MS4wCj4KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5n IGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsg YWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1 YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoK VG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==