From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_i915_vgpu_PV_to_improve_vgpu_performance?= Date: Mon, 08 Jul 2019 01:48:59 -0000 Message-ID: <20190708014859.27871.45682@emeril.freedesktop.org> References: <1562549722-27046-1-git-send-email-xiaolin.zhang@intel.com> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1562549722-27046-1-git-send-email-xiaolin.zhang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Xiaolin Zhang Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogaTkxNSB2Z3B1IFBWIHRvIGltcHJvdmUgdmdw dSBwZXJmb3JtYW5jZQpVUkwgICA6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9z ZXJpZXMvNjMzMzMvClN0YXRlIDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2tw YXRjaCBvcmlnaW4vZHJtLXRpcAo3ZGM5MjQ4Yjc5NzkgZHJtL2k5MTU6IGludHJvZHVjZWQgdmdw dSBwdiBjYXBhYmlsaXR5Ci06OTE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM5MTogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmM6MTA1OgorCURSTV9JTkZPKCJWaXJ0dWFsIEdQVSBmb3IgSW50 ZWwgR1ZULWcgZGV0ZWN0ZWQgd2l0aCBwdl9jYXBzIDB4JXguXG4iLAorCQkJZGV2X3ByaXYtPnZn cHUucHZfY2Fwcyk7CgotOjExNTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1l bnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzExNTogRklMRTogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzIzOgorYm9vbCBpbnRlbF92Z3B1X2NoZWNrX3B2X2NhcHMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQl2b2lkIF9faW9tZW0gKnNoYXJl ZF9hcmVhKQoKLToxNTM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdmdwdS5oOjU3OgorYm9vbCBpbnRlbF92Z3B1X2NoZWNrX3B2X2NhcHMoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQl2b2lkIF9faW9tZW0gKnNoYXJlZF9hcmVh KTsKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMyBjaGVja3MsIDEwMCBsaW5lcyBjaGVj a2VkCjM1ZDRhZmY5YzZkZSBkcm0vaTkxNTogdmdwdSBzaGFyZWQgbWVtb3J5IHNldHVwIGZvciBw diBvcHRpbWl6YXRpb24KLToxMDE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxMDE6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdmdwdS5jOjMyMDoKK3N0YXRpYyBpbnQgaW50ZWxfdmdwdV9zZXR1cF9z aGFyZWRfcGFnZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXZvaWQgX19p b21lbSAqc2hhcmVkX2FyZWEpCgotOjE1OTogQ0hFQ0s6QUxMT0NfU0laRU9GX1NUUlVDVDogUHJl ZmVyIGt6YWxsb2Moc2l6ZW9mKCpwdikuLi4pIG92ZXIga3phbGxvYyhzaXplb2Yoc3RydWN0IGk5 MTVfdmlydHVhbF9ncHVfcHYpLi4uKQojMTU5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3ZncHUuYzozNzg6CisJcHYgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgaTkxNV92aXJ0dWFs X2dwdV9wdiksIEdGUF9LRVJORUwpOwoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAyIGNo ZWNrcywgMTU4IGxpbmVzIGNoZWNrZWQKY2MzMThmMzRmYzJlIGRybS9pOTE1OiB2Z3B1IHB2IGNv bW1hbmQgYnVmZmVyIHN1cHBvcnQKLTo1MTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzUxOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMzM6CitzdGF0aWMgaW50IHdhaXRfZm9yX2Rlc2Nf dXBkYXRlKHN0cnVjdCB2Z3B1X3B2X2N0X2J1ZmZlcl9kZXNjICpkZXNjLAorCQl1MzIgZmVuY2Us IHUzMiAqc3RhdHVzKQoKLTo2MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1l bnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzYzOiBGSUxFOiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3ZncHUuYzozNDU6CisJCURSTV9FUlJPUigiQ1Q6IGZlbmNlICV1IGZhaWxl ZDsgcmVwb3J0ZWQgZmVuY2U9JXVcbiIsCisJCQkJZmVuY2UsIGRlc2MtPmZlbmNlKTsKCi06ODg6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiM4ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6 MzcwOgorc3RhdGljIGludCBwdl9jb21tYW5kX2J1ZmZlcl93cml0ZShzdHJ1Y3QgaTkxNV92aXJ0 dWFsX2dwdV9wdiAqcHYsCisJCWNvbnN0IHUzMiAqYWN0aW9uLCB1MzIgbGVuIC8qIGluIGR3b3Jk cyAqLywgdTMyIGZlbmNlKQoKLToxNTE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxp Z25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTE6IEZJTEU6IGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjQzMzoKK3N0YXRpYyBpbnQgcHZfc2VuZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCWNvbnN0IHUzMiAqYWN0aW9uLCB1MzIgbGVu LCB1MzIgKnN0YXR1cykKCi06MTg2OiBDSEVDSzpPUEVOX0VOREVEX0xJTkU6IExpbmVzIHNob3Vs ZCBub3QgZW5kIHdpdGggYSAnKCcKIzE4NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV92Z3B1LmM6NDY4Ogorc3RhdGljIGludCBpbnRlbF92Z3B1X3B2X3NlbmRfY29tbWFuZF9idWZm ZXIoCgotOjIwMzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzIwMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV92Z3B1LmM6NDg1OgorCQlEUk1fRVJST1IoIlBWOiBzZW5kIGFjdGlvbiAlI3ggcmV0dXJu ZWQgJWQgKCUjeClcbiIsCisJCQkJYWN0aW9uWzBdLCByZXQsIHJldCk7CgotOjIyNjogQ0hFQ0s6 U1BBQ0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnLycgKGN0eDpWeFYpCiMyMjY6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjU3MzoKKwlwdi0+Y3RiLmRl c2MtPnNpemUgPSBQQUdFX1NJWkUvMjsKIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CgotOjI0NTogQ0hFQ0s6U1BBQ0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnLycg KGN0eDpWeFYpCiMyNDU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjMy OgorI2RlZmluZSBQVl9ERVNDX09GRgkJKFBBR0VfU0laRS80KQogICAgICAgICAgICAgICAgICAg IAkJICAgICAgICAgIF4KCi06MjQ2OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFy b3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzI0NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV92Z3B1Lmg6MzM6CisjZGVmaW5lIFBWX0NNRF9PRkYJCShQQUdFX1NJWkUvMikKICAgICAg ICAgICAgICAgICAgIAkJICAgICAgICAgIF4KCi06MzIzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElH Tk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzIzOiBGSUxF OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaDoxMzA6CitpbnRlbF92Z3B1X3B2X3Nl bmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQl1MzIgKmFjdGlvbiwgdTMy IGxlbikKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgMTAgY2hlY2tzLCAyOTkgbGluZXMg Y2hlY2tlZAplODgyY2ViZTE0ZmUgZHJtL2k5MTU6IHZncHUgcHBndHQgdXBkYXRlIHB2IG9wdGlt aXphdGlvbgotOjQyOiBDSEVDSzpMT0dJQ0FMX0NPTlRJTlVBVElPTlM6IExvZ2ljYWwgY29udGlu dWF0aW9ucyBzaG91bGQgYmUgb24gdGhlIHByZXZpb3VzIGxpbmUKIzQyOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOjE0MjU6CisJaWYgKChpbnRlbF92Z3B1X2FjdGl2ZShk ZXZfcHJpdikgJiYgIWludGVsX3ZncHVfaGFzX2h1Z2VfZ3R0KGRldl9wcml2KSkKKwkJfHwgaW50 ZWxfdmdwdV9lbmFibGVkX3B2X2NhcHMoZGV2X3ByaXYsIFBWX1BQR1RUX1VQREFURSkpCgotOjU2 OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Bl biBwYXJlbnRoZXNpcwojNTY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jOjkxNDoKK3ZvaWQgZ2VuOF9wcGd0dF9jbGVhcl80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtLAogCQkJCSAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo2NTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzY1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMTU0Ogor dm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt LAogCQkJCSAgIHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAoKLTo3NDogQ0hFQ0s6UEFSRU5USEVTSVNf QUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzc0OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxNDcwOgoraW50IGdlbjhf cHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgdTY0 IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo5NjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzk2OiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo2NDU6Cit2b2lkIGdlbjhfcHBndHRfY2xlYXJf NGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQgbGVu Z3RoKTsKCi06OTg6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM5ODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0Lmg6NjQ3Ogordm9pZCBnZW44X3BwZ3R0X2luc2VydF80bHZsKHN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAorCQlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKCi06MTAxOiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMTAxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aDo2NTA6CitpbnQgZ2VuOF9wcGd0dF9hbGxvY180bHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtLAorCQl1NjQgc3RhcnQsIHU2NCBsZW5ndGgpOwoKLToxMjU6IENIRUNLOlBBUkVOVEhF U0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMx MjU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjMyMDoKK3N0YXRpYyBp bnQgdmdwdV9wcGd0dF9wdl91cGRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAorCQl1MzIgYWN0aW9uLCB1NjQgcGRwLCB1NjQgc3RhcnQsIHU2NCBsZW5ndGgsIHUzMiBjYWNo ZV9sZXZlbCkKCi06MTQyOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBz aG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTQyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3ZncHUuYzozMzc6CitzdGF0aWMgdm9pZCBnZW44X3BwZ3R0X2NsZWFyXzRsdmxf cHYoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCXU2NCBzdGFydCwgdTY0IGxlbmd0 aCkKCi06MTQ5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTQ5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3ZncHUuYzozNDQ6CisJdmdwdV9wcGd0dF9wdl91cGRhdGUoZGV2X3ByaXYsIFBWX0FDVElP Tl9QUEdUVF9MNF9DTEVBUiwKKwkJcHhfZG1hKHBwZ3R0LT5wZCksIHN0YXJ0LCBsZW5ndGgsIDAp OwoKLToxNTM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBt YXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdmdwdS5jOjM0ODoKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfaW5zZXJ0XzRsdmxfcHYoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hLAoKLTox NjM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiMxNjM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdw dS5jOjM1ODoKKwl2Z3B1X3BwZ3R0X3B2X3VwZGF0ZShkZXZfcHJpdiwgUFZfQUNUSU9OX1BQR1RU X0w0X0lOU0VSVCwKKwkJcHhfZG1hKHBwZ3R0LT5wZCksIHN0YXJ0LCBsZW5ndGgsIGNhY2hlX2xl dmVsKTsKCi06MTY3OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91 bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTY3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuYzozNjI6CitzdGF0aWMgaW50IGdlbjhfcHBndHRfYWxsb2NfNGx2bF9wdihz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoK LToxODU6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMxODU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5jOjM4MDoKK3ZvaWQgaW50ZWxfdmdwdV9jb25maWdfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCWVudW0gcHZfY2FwcyBjYXAsIHZvaWQgKmRhdGEpCgot OjIzNTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNo IG9wZW4gcGFyZW50aGVzaXMKIzIzNTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1Lmg6MTM5OgoraW50ZWxfdmdwdV9lbmFibGVkX3B2X2NhcHMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAorCQllbnVtIHB2X2NhcHMgY2FwKQoKLToyMzg6IENIRUNLOkxPR0lD QUxfQ09OVElOVUFUSU9OUzogTG9naWNhbCBjb250aW51YXRpb25zIHNob3VsZCBiZSBvbiB0aGUg cHJldmlvdXMgbGluZQojMjM4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUu aDoxNDI6CisJcmV0dXJuIChkZXZfcHJpdi0+dmdwdS5hY3RpdmUpICYmIGludGVsX3ZncHVfaGFz X3B2X2NhcHMoZGV2X3ByaXYpCisJCQkmJiAoZGV2X3ByaXYtPnZncHUucHZfY2FwcyAmIGNhcCk7 CgotOjI0OTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1h dGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0OTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV92Z3B1Lmg6MTY1Ogordm9pZCBpbnRlbF92Z3B1X2NvbmZpZ19wdl9jYXBzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJZW51bSBwdl9jYXBzIGNhcCwgdm9pZCAqZGF0YSk7 Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDE3IGNoZWNrcywgMTg4IGxpbmVzIGNoZWNr ZWQKZjdhZTAwNGFlMzk4IGRybS9pOTE1OiB2Z3B1IGNvbnRleHQgc3VibWlzc2lvbiBwdiBvcHRp bWl6YXRpb24KLToxMzA6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5kIHRo YXQgJy8nIChjdHg6VnhWKQojMTMwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Zn cHUuaDozMzoKKyNkZWZpbmUgUFZfRUxTUF9PRkYJCShQQUdFX1NJWkUvOCkKICAgICAgICAgICAg ICAgICAgICAJCSAgICAgICAgICBeCgotOjE4MTogV0FSTklORzpGSUxFX1BBVEhfQ0hBTkdFUzog YWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVSUyBuZWVkIHVw ZGF0aW5nPwojMTgxOiAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKCi06MjAxOiBDSEVDSzpTUEFDSU5H OiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcrJyAoY3R4OlZ4VikKIzIwMTogRklMRTog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcHZfc3VibWlzc2lvbi5jOjE2OgorCXJlZ19zdGF0 ZVtDVFhfUklOR19UQUlMKzFdID0gaW50ZWxfcmluZ19zZXRfdGFpbChycS0+cmluZywgcnEtPnRh aWwpOwogCSAgICAgICAgICAgICAgICAgICAgICAgXgoKLToyMTI6IENIRUNLOlBBUkVOVEhFU0lT X0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMTI6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3B2X3N1Ym1pc3Npb24uYzoyNzoKK3N0 YXRpYyB2b2lkIHB2X3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCisJICAg ICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKipvdXQsCgotOjMxMzogQ0hFQ0s6TElORV9TUEFDSU5H OiBQbGVhc2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMzMTM6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3B2X3N1Ym1pc3Npb24uYzoxMjg6CisKKwoKdG90YWw6IDAg ZXJyb3JzLCAxIHdhcm5pbmdzLCA0IGNoZWNrcywgMzA3IGxpbmVzIGNoZWNrZWQKOGUxMjM5MTli MzVjIGRybS9pOTE1L2d2dDogR1ZUZyBoYW5kbGUgcHZfY2FwcyBQVklORk8gcmVnaXN0ZXIKMDFh ZGJkOThiOTk4IGRybS9pOTE1L2d2dDogR1ZUZyBoYW5kbGUgc2hhcmVkX3BhZ2Ugc2V0dXAKLTo1 MTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzUxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6 NjkzOgoraW50IGludGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2 Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVu KTsKCi06NTM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBt YXRjaCBvcGVuIHBhcmVudGhlc2lzCiM1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2d2dC5oOjY5NToKK2ludCBpbnRlbF9ndnRfd3JpdGVfc2hhcmVkX3BhZ2Uoc3RydWN0IGludGVs X3ZncHUgKnZncHUsCisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWduZWQg bG9uZyBsZW4pOwoKLToxMzE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50 IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxMzE6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC92Z3B1LmM6NjAzOgoraW50IGludGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0 cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYs IHVuc2lnbmVkIGxvbmcgbGVuKQoKLToxNTA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDog QWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTA6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmM6NjIyOgoraW50IGludGVsX2d2dF93cml0ZV9zaGFy ZWRfcGFnZShzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwg dm9pZCAqYnVmLCB1bnNpZ25lZCBsb25nIGxlbikKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5n cywgNCBjaGVja3MsIDEyMiBsaW5lcyBjaGVja2VkCmQzNDIwODJhMTIxZSBkcm0vaTkxNS9ndnQ6 IEdWVGcgc3VwcG9ydCBwcGd0dCBwdiBvcHRpbWl6YXRpb24KLTo4MzogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzgz OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MTgzNjoKKwkJZ3Z0X3ZncHVf ZXJyKCJmYWlsIHRvIGNyZWF0ZSBwcGd0dCBmb3IgcGRwIDB4JWxseFxuIiwKKwkJCQlweF9kbWEo bW0tPnBwZ3R0LT5wZCkpOwoKLToxMTk6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJn dW1lbnQgcmV1c2UgJ2VuZCcgLSBwb3NzaWJsZSBzaWRlLWVmZmVjdHM/CiMxMTk6IEZJTEU6IGRy aXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyODc0OgorI2RlZmluZSBwbWw0X2FkZHJfZW5k KGFkZHIsIGVuZCkJCQkJCVwKKyh7CXVuc2lnbmVkIGxvbmcgX19ib3VuZGFyeSA9IFwKKwkJCSgo YWRkcikgKyBHRU44X1BNTDRFX1NJWkUpICYgR0VOOF9QTUw0RV9TSVpFX01BU0s7IFwKKwkoX19i b3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjEyNTogQ0hF Q0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxl IHNpZGUtZWZmZWN0cz8KIzEyNTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5j OjI4ODA6CisjZGVmaW5lIHBkcF9hZGRyX2VuZChhZGRyLCBlbmQpCQkJCQkJXAorKHsJdW5zaWdu ZWQgbG9uZyBfX2JvdW5kYXJ5ID0gXAorCQkJKChhZGRyKSArIEdFTjhfUERQRV9TSVpFKSAmIEdF TjhfUERQRV9TSVpFX01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkg OiAoZW5kKTsJCVwKK30pCgotOjEzMTogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1 bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzEzMTogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4ODY6CisjZGVmaW5lIHBkX2FkZHJfZW5kKGFk ZHIsIGVuZCkJCQkJCQlcCisoewl1bnNpZ25lZCBsb25nIF9fYm91bmRhcnkgPSBcCisJCQkoKGFk ZHIpICsgR0VOOF9QREVfU0laRSkgJiBHRU44X1BERV9TSVpFX01BU0s7CVwKKwkoX19ib3VuZGFy eSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjE0NDogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzE0NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4OTk6CitzdGF0 aWMgaW50IHdhbGtfcHRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2NCBwdCwKKwkJ CQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToxNTc6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiMxNTc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTEy OgorCXJldCA9IGludGVsX2d2dF9oeXBlcnZpc29yX3JlYWRfZ3BhKHZncHUsCisJCShwdCAmIFBB R0VfTUFTSykgKyAoc3RhcnRfaW5kZXggPDwgaW5mby0+Z3R0X2VudHJ5X3NpemVfc2hpZnQpLAoK LToxNzg6IENIRUNLOkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFu ayBsaW5lcwojMTc4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MjkzMzoK KworCgotOjE4MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE4MDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2d0dC5jOjI5MzU6CitzdGF0aWMgaW50IHdhbGtfcGRfcmFuZ2Uoc3RydWN0IGludGVsX3Zn cHUgKnZncHUsIHU2NCBwZCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93 YWxrICp3YWxrKQoKLToxOTI6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50 IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxOTI6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9ndHQuYzoyOTQ3OgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFk X2dwYSh2Z3B1LAorCQkJKHBkICYgUEFHRV9NQVNLKSArIChpbmRleCA8PAoKLToyMDU6IENIRUNL OkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMjA1 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk2MDoKKworCgotOjIwNzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzIwNzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5 NjI6CitzdGF0aWMgaW50IHdhbGtfcGRwX3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1 NjQgcGRwLAorCQkJCSAgdTY0IHN0YXJ0LCB1NjQgZW5kLCBzdHJ1Y3QgcHBndHRfd2FsayAqd2Fs aykKCi06MjE5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjE5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6Mjk3NDoKKwkJcmV0ID0gaW50ZWxfZ3Z0X2h5cGVydmlzb3JfcmVhZF9ncGEodmdw dSwKKwkJCShwZHAgJiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjIzMTogQ0hFQ0s6TElORV9T UEFDSU5HOiBQbGVhc2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMyMzE6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTg2OgorCisKCi06MjMzOiBDSEVDSzpQ QVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRo ZXNpcwojMjMzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk4ODoKK3N0 YXRpYyBpbnQgd2Fsa19wbWw0X3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1NjQgcG1s NCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToy NDQ6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiMyNDQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQu YzoyOTk5OgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAorCQkJ KHBtbDQgJiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjI1NzogQ0hFQ0s6UEFSRU5USEVTSVNf QUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI1Nzog RklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMwMTI6CitzdGF0aWMgaW50IGlu dGVsX3ZncHVfcHZfcHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGludGVsX3ZncHUgKnZncHUsCisJ CXN0cnVjdCBpbnRlbF92Z3B1X21tICptbSwKCi06Mjc1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElH Tk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc1OiBGSUxF OiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzAzMDoKKwl3YWxrLm1mbnMgPSBrbWFs bG9jX2FycmF5KG51bV9wYWdlcywKKwkJCXNpemVvZih1bnNpZ25lZCBsb25nKSwgR0ZQX0tFUk5F TCk7CgotOjMyMDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzMyMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2d0dC5jOjMwNzU6CitpbnQgaW50ZWxfdmdwdV9oYW5kbGVfcHZfcHBndHRfdXBkYXRlKHN0 cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1MzIgYWN0aW9uLCBzdHJ1Y3QgcHZfcHBndHRfdXBk YXRlICpwdl9wcGd0dCkKCi06MzUyOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzUyOiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzEwNzoKKwkJcmV0ID0gaW50ZWxfdmdwdV9wdl9wcGd0dF9p bnNlcnRfNGx2bCh2Z3B1LCBtbSwKKwkJCQlwZHAsIHN0YXJ0LCBsZW5ndGgsIGNhY2hlX2xldmVs KTsKCi06MzkxOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzkxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0Lmg6MjkwOgoraW50IGludGVsX3ZncHVfaGFuZGxlX3B2X3BwZ3R0X3VwZGF0ZShzdHJ1 Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdTMyIGFjdGlvbiwgc3RydWN0IHB2X3BwZ3R0X3VwZGF0 ZSAqcHZfcHBndHQpOwoKLTo0MDE6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1l bnQgcmV1c2UgJ3ZncHUnIC0gcG9zc2libGUgc2lkZS1lZmZlY3RzPwojNDAxOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6NTY6CisjZGVmaW5lIFZHUFVfUFZDQVAodmdwdSwg Y2FwKQlcCisJKCh2Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcocHZfY2FwcykpICYgKGNhcCkp IFwKKwkJCSYmIHZncHUtPnNoYXJlZF9wYWdlX2VuYWJsZWQpCgotOjQwMzogQ0hFQ0s6TE9HSUNB TF9DT05USU5VQVRJT05TOiBMb2dpY2FsIGNvbnRpbnVhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBw cmV2aW91cyBsaW5lCiM0MDM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuaDo1 ODoKKwkoKHZncHVfdnJlZ190KHZncHUsIHZndGlmX3JlZyhwdl9jYXBzKSkgJiAoY2FwKSkgXAor CQkJJiYgdmdwdS0+c2hhcmVkX3BhZ2VfZW5hYmxlZCkKCi06NDI3OiBDSEVDSzpQQVJFTlRIRVNJ U19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNDI3 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxMjIzOgorc3RhdGlj IGludCBmZXRjaF9wdl9jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJ c3RydWN0IHZncHVfcHZfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCgotOjQ0ODogQ0hFQ0s6U1BBQ0lO Rzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnLycgKGN0eDpWeFYpCiM0NDg6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jOjEyNDQ6CisJaGVhZCA9IGRlc2Mt PmhlYWQvNDsKIAkgICAgICAgICAgICAgICAgIF4KCi06NDQ5OiBDSEVDSzpTUEFDSU5HOiBzcGFj ZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzQ0OTogRklMRTogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmM6MTI0NToKKwl0YWlsID0gZGVzYy0+dGFpbC80 OwogCSAgICAgICAgICAgICAgICAgXgoKLTo0NTA6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVm ZXJyZWQgYXJvdW5kIHRoYXQgJy8nIChjdHg6VnhWKQojNDUwOiBGSUxFOiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxMjQ2OgorCXNpemUgPSBkZXNjLT5zaXplLzQ7CiAJICAg ICAgICAgICAgICAgICBeCgotOjQ5NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzQ5NDogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmM6MTI5MDoKKwkJcmV0ID0gaW50ZWxfZ3Z0X3JlYWRf c2hhcmVkX3BhZ2UodmdwdSwgb2ZmLCAmZGF0YVthdmFpbF0sCisJCQkJKGxlbiAtIGF2YWlsKSAq IDQpOwoKLTo1MzM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiM1MzM6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d2dC9oYW5kbGVycy5jOjEzMjk6CisJcmV0ID0gaW50ZWxfZ3Z0X3dyaXRlX3NoYXJlZF9wYWdl KHZncHUsIFBWX0RFU0NfT0ZGLAorCQkJJmRlc2MsIHNpemVvZihkZXNjKSk7Cgp0b3RhbDogMCBl cnJvcnMsIDAgd2FybmluZ3MsIDI4IGNoZWNrcywgNTE4IGxpbmVzIGNoZWNrZWQKM2Q4MTZhOWJj Y2JkIGRybS9pOTE1L2d2dDogR1ZUZyBzdXBwb3J0IGNvbnRleHQgc3VibWlzc2lvbiBwdiBvcHRp bWl6YXRpb24KLTo3MTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hv dWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzcxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvaGFuZGxlcnMuYzoxODI2OgorCWlmIChpbnRlbF9ndnRfcmVhZF9zaGFyZWRfcGFnZSh2 Z3B1LCBkZXNjX29mZiwKKwkJCSZleGVjbGlzdC0+ZWxzcF9kd29yZHMuZGF0YSwgMTYpKQoKLTo5 MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzkyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxl cnMuYzoxODUwOgorCWlmIChWR1BVX1BWQ0FQKHZncHUsIFBWX1NVQk1JU1NJT04pICYmCisJCQlk YXRhID09IFBWX0FDVElPTl9FTFNQX1NVQk1JU1NJT04pCgp0b3RhbDogMCBlcnJvcnMsIDAgd2Fy bmluZ3MsIDIgY2hlY2tzLCA2OSBsaW5lcyBjaGVja2VkCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=