From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8BA23A0032 for ; Tue, 13 Sep 2022 17:58:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5D0724021D; Tue, 13 Sep 2022 17:58:34 +0200 (CEST) Received: from mail-pj1-f99.google.com (mail-pj1-f99.google.com [209.85.216.99]) by mails.dpdk.org (Postfix) with ESMTP id 11CDB40151 for ; Tue, 13 Sep 2022 17:58:33 +0200 (CEST) Received: by mail-pj1-f99.google.com with SMTP id ge9so240581pjb.1 for ; Tue, 13 Sep 2022 08:58:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=date:message-id:cc:to:from:subject:mime-version:from:to:cc:subject :date; bh=WTWQ4xLtw6tzpDLR7OzzZrh4G0jCgx0bwYo3oQu5++s=; b=JL8z/4W4JeZ7b5uqWDTI/Kylv1gCz6Gi8dgIXNo3NvQt9UrtyrZ5qmXvzOep0dGJfQ uquR1JZmT6w+WS+HUd6NJ7lUWK+hRHdr6tcUVIdUQxxEcmx7neIzNGk3HUc/jA+pal1k SmSWEQ24llzzwnimY0kHL8/pfQUfmKbsSmMqs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=date:message-id:cc:to:from:subject:mime-version:x-gm-message-state :from:to:cc:subject:date; bh=WTWQ4xLtw6tzpDLR7OzzZrh4G0jCgx0bwYo3oQu5++s=; b=qG7hpfVZ9s1Gy/jmfYFZr6sRKDqJQaJbVdE3mGr815zzy4ndRDQFpL+qn121OJEggv TxBVPr2itMMkFoqsyt3jc9ts8RIfjzVswtgQe/0iWQMzfFv8C/ze8PZwJkBJnosK2i7b ae3lBtzyQopkmvLYAEgCQbrC/7OiCuyzJ+uYMlMkJug9OZ+qX/AqdxNN7LqekseJg3Mn 0Gx2T8HJdSH/y9nZsi8HLAiONckDpHN7ASdkXHmcrTkfWONFo807DDpLlddmasam6tEb 5t3b1iX7zXTImafNNsgctkEngWcTPm089QTPu0bOUy7WDSg49Gy3ZgEFfs9ByZGdYutN HFqg== X-Gm-Message-State: ACrzQf28mCzUHZGhoVruMAsUVWCFTmyDd5Nd/5iFG+tx6rL0pxJQVamG bJpbWRiaI2sqO+h9u8pIW22RDCWBmnc32VpfAat9ztjHM/HxZX3sK4bMgD4Pb6HrMQ== X-Google-Smtp-Source: AMsMyM4LLwZ+mMVY8MVKRD25JplJ6roeJhgnlND3qEkwItgLyxBBCf/GiazxhPD2IIcD11aKQIZsO2MBj2pG X-Received: by 2002:a17:90b:4ad0:b0:202:e01b:2dec with SMTP id mh16-20020a17090b4ad000b00202e01b2decmr5600pjb.142.1663084712143; Tue, 13 Sep 2022 08:58:32 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id iw18-20020a170903045200b0016d11871dfcsm486214plb.117.2022.09.13.08.58.31 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Sep 2022 08:58:32 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (unknown [IPv6:2606:4100:3880:1722::4]) by postal.iol.unh.edu (Postfix) with ESMTP id 56D65605247D; Tue, 13 Sep 2022 11:58:31 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id 4B17B6D509; Tue, 13 Sep 2022 11:58:31 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============0000142992310050688==" MIME-Version: 1.0 Subject: |WARNING| pw115568-115573 [PATCH] [v12, 6/6] doc: Added adapter instance get API From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20220913155831.4B17B6D509@noxus.dpdklab.iol.unh.edu> Date: Tue, 13 Sep 2022 11:58:31 -0400 (EDT) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============0000142992310050688== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzExNTU2OAoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IEdhbmFw YXRpIEt1bmRhcHVyYSA8Z2FuYXBhdGkua3VuZGFwdXJhQGludGVsLmNvbT4KRGF0ZTogTW9uZGF5 LCBBdWd1c3QgMjkgMjAyMiAwODoxNDozNiAKQXBwbGllZCBvbjogQ29tbWl0SUQ6NGZlNTg0NDE3 NmZlNzhkY2RlMWUzMmRiMDc3NWI5OWVjMTQ2YzkwYgpBcHBseSBwYXRjaCBzZXQgMTE1NTY4LTEx NTU3MyBmYWlsZWQ6CgpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvZXZlbnRf ZXRoZXJuZXRfcnhfYWRhcHRlci5yc3QuLi4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6ClRo ZSBgYHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0c19yZXNldGBgIGZ1bmN0aW9u IGNhbiBiZSB1c2VkIHRvCnJlc2V0IHF1ZXVlIGxldmVsIHN0YXRzIHdoZW4gcXVldWUgbGV2ZWwg ZXZlbnQgYnVmZmVyIGlzIGluIHVzZS4KCkludGVycnVwdCBCYXNlZCBSeCBRdWV1ZXMKfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBkb2MvZ3VpZGVzL3By b2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfcnhfYWRhcHRlci5yc3Q6MTc3CkNoZWNraW5nIHBhdGNo IGxpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZv cjoKCWNvbnN0IHN0cnVjdCBydGVfZXZlbnRkZXYgKmRldiwgY29uc3Qgc3RydWN0IHJ0ZV9ldGhf ZGV2ICpldGhfZGV2LAoJc3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl92ZWN0b3JfbGlt aXRzICpsaW1pdHMpOwoKdHlwZWRlZiB1aW50MzJfdCBydGVfZXZlbnRfcG1kX3NlbGZ0ZXN0X3Nl cW5fdDsKZXh0ZXJuIGludCBydGVfZXZlbnRfcG1kX3NlbGZ0ZXN0X3NlcW5fZHluZmllbGRfb2Zm c2V0OwoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaDo4 ODgKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglldmVudGRldl9ldGhfcnhfYWRhcHRlcl92 ZWN0b3JfbGltaXRzX2dldF90CgkJZXRoX3J4X2FkYXB0ZXJfdmVjdG9yX2xpbWl0c19nZXQ7Cgkv Kio8IEdldCBldmVudCB2ZWN0b3IgbGltaXRzIGZvciB0aGUgUnggYWRhcHRlciAqLwoKCWV2ZW50 ZGV2X3RpbWVyX2FkYXB0ZXJfY2Fwc19nZXRfdCB0aW1lcl9hZGFwdGVyX2NhcHNfZ2V0OwoJLyoq PCBHZXQgdGltZXIgYWRhcHRlciBjYXBhYmlsaXRpZXMgKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGxpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaDoxMzIxCkNoZWNraW5nIHBhdGNoIGxpYi9ldmVu dGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKCXJldHVybiAwOwp9CgpzdGF0aWMgaW50CnJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9p bml0KHZvaWQpCnsKCWNvbnN0IGNoYXIgKm5hbWUgPSBSWEFfQURBUFRFUl9BUlJBWTsKCWNvbnN0 IHN0cnVjdCBydGVfbWVtem9uZSAqbXo7Cgl1bnNpZ25lZCBpbnQgc3o7CgoJc3ogPSBzaXplb2Yo KmV2ZW50X2V0aF9yeF9hZGFwdGVyKSAqCgkgICAgUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX01B WF9JTlNUQU5DRTsKCXN6ID0gUlRFX0FMSUdOKHN6LCBSVEVfQ0FDSEVfTElORV9TSVpFKTsKCglt eiA9IHJ0ZV9tZW16b25lX2xvb2t1cChuYW1lKTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9l dmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzoxNDE1CmVycm9yOiB3aGlsZSBzZWFy Y2hpbmcgZm9yOgoJCW16ID0gcnRlX21lbXpvbmVfcmVzZXJ2ZV9hbGlnbmVkKG5hbWUsIHN6LCBy dGVfc29ja2V0X2lkKCksIDAsCgkJCQkJCSBSVEVfQ0FDSEVfTElORV9TSVpFKTsKCQlpZiAobXog PT0gTlVMTCkgewoJCQlSVEVfRURFVl9MT0dfRVJSKCJmYWlsZWQgdG8gcmVzZXJ2ZSBtZW16b25l IGVyciA9ICUiCgkJCQkJUFJJZDMyLCBydGVfZXJybm8pOwoJCQlyZXR1cm4gLXJ0ZV9lcnJubzsK CQl9Cgl9CgoJZXZlbnRfZXRoX3J4X2FkYXB0ZXIgPSBtei0+YWRkcjsKCXJldHVybiAwOwp9CgoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRl ci5jOjE0MzEKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJbXogPSBydGVfbWVtem9uZV9s b29rdXAoUlhBX0FEQVBURVJfQVJSQVkpOwoJCWlmIChteiA9PSBOVUxMKQoJCQlyZXR1cm4gLUVO T01FTTsKCQlldmVudF9ldGhfcnhfYWRhcHRlciA9IG16LT5hZGRyOwoJfQoKCmVycm9yOiBwYXRj aCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzoxNDUwCmVy cm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJaW50IGludHJxOwoJaW50IHNpbnRycTsKCgoJaWYg KHJ4X2FkYXB0ZXItPm5iX3F1ZXVlcyA9PSAwKQoJCXJldHVybjsKCgplcnJvcjogcGF0Y2ggZmFp bGVkOiBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmM6MTk1MQplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKewoJc3RydWN0IGV2ZW50X2V0aF9yeF9hZGFwdGVyICpyeF9h ZGFwdGVyOwoKCVJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9JRF9WQUxJRF9PUl9FUlJfUkVUKGlk LCAtRUlOVkFMKTsKCglyeF9hZGFwdGVyID0gcnhhX2lkX3RvX2FkYXB0ZXIoaWQpOwoKZXJyb3I6 IHBhdGNoIGZhaWxlZDogbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jOjI1 MjQKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglzdHJ1Y3QgZXRoX2RldmljZV9pbmZvICpk ZXZfaW5mbzsKCXN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfdmVjdG9yX2xpbWl0cyBs aW1pdHM7CgoJUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX0lEX1ZBTElEX09SX0VSUl9SRVQoaWQs IC1FSU5WQUwpOwoJUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JFVChldGhfZGV2X2lkLCAt RUlOVkFMKTsKCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0 aF9yeF9hZGFwdGVyLmM6MjU2MQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCXVpbnQzMl90 ICpyeF93cnIgPSBOVUxMOwoJaW50IG51bV9pbnRyX3ZlYzsKCglSVEVfRVZFTlRfRVRIX1JYX0FE QVBURVJfSURfVkFMSURfT1JfRVJSX1JFVChpZCwgLUVJTlZBTCk7CglSVEVfRVRIX1ZBTElEX1BP UlRJRF9PUl9FUlJfUkVUKGV0aF9kZXZfaWQsIC1FSU5WQUwpOwoKCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzoyNzI2CmVycm9yOiB3 aGlsZSBzZWFyY2hpbmcgZm9yOgoKCXJ0ZV9ldmVudGRldl90cmFjZV9ldGhfcnhfYWRhcHRlcl9x dWV1ZV9kZWwoaWQsIGV0aF9kZXZfaWQsCgkJcnhfcXVldWVfaWQsIHJldCk7CglyZXR1cm4gcmV0 Owp9CgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhf YWRhcHRlci5jOjI4MzIKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglyZXR1cm4gMDsKfQoK I2RlZmluZSBSWEFfQUREX0RJQ1Qoc3RhdHMsIHMpIHJ0ZV90ZWxfZGF0YV9hZGRfZGljdF91NjQo ZCwgI3MsIHN0YXRzLnMpCgpzdGF0aWMgaW50CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvZXZl bnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmM6MzI4NgpDaGVja2luZyBwYXRjaCBsaWIv ZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmguLi4KZXJyb3I6IHdoaWxlIHNlYXJj aGluZyBmb3I6CiAqICAtIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0c19nZXQo KQogKiAgLSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfc3RhdHNfcmVzZXQoKQogKiAg LSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfZXZlbnRfcG9ydF9nZXQoKQogKgogKiBUaGUgYXBw bGljYXRpb24gY3JlYXRlcyBhbiBldGhlcm5ldCB0byBldmVudCBhZGFwdGVyIHVzaW5nCiAqIHJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9jcmVhdGVfZXh0KCkgb3IgcnRlX2V2ZW50X2V0aF9yeF9h ZGFwdGVyX2NyZWF0ZSgpCgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmg6MzgKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CmludApy dGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfZXZlbnRfcG9ydF9nZXQodWludDhfdCBpZCwgdWludDhf dCAqZXZlbnRfcG9ydF9pZCk7CgojaWZkZWYgX19jcGx1c3BsdXMKfQojZW5kaWYKCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaDo3MDQK Q2hlY2tpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwLi4uCmVycm9yOiB3aGlsZSBz ZWFyY2hpbmcgZm9yOgoJIyBhZGRlZCBpbiAyMi4wNwoJcnRlX2V2ZW50X3BvcnRfcXVpZXNjZTsK CXJ0ZV9ldmVudF9xdWV1ZV9hdHRyX3NldDsKfTsKCklOVEVSTkFMIHsKCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGxpYi9ldmVudGRldi92ZXJzaW9uLm1hcDoxMTIKQXBwbHlpbmcgcGF0Y2ggZG9jL2d1 aWRlcy9wcm9nX2d1aWRlL2V2ZW50X2V0aGVybmV0X3J4X2FkYXB0ZXIucnN0IHdpdGggMSByZWpl Y3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KQXBwbHlpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L2V2ZW50 ZGV2X3BtZC5oIHdpdGggMiByZWplY3RzLi4uClJlamVjdGVkIGh1bmsgIzEuClJlamVjdGVkIGh1 bmsgIzIuCkFwcGx5aW5nIHBhdGNoIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0 ZXIuYyB3aXRoIDkgcmVqZWN0cy4uLgpSZWplY3RlZCBodW5rICMxLgpSZWplY3RlZCBodW5rICMy LgpSZWplY3RlZCBodW5rICMzLgpSZWplY3RlZCBodW5rICM0LgpSZWplY3RlZCBodW5rICM1LgpS ZWplY3RlZCBodW5rICM2LgpSZWplY3RlZCBodW5rICM3LgpSZWplY3RlZCBodW5rICM4LgpSZWpl Y3RlZCBodW5rICM5LgpBcHBseWluZyBwYXRjaCBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyLmggd2l0aCAyIHJlamVjdHMuLi4KUmVqZWN0ZWQgaHVuayAjMS4KUmVqZWN0ZWQg aHVuayAjMi4KQXBwbHlpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIHdpdGggMSBy ZWplY3QuLi4KUmVqZWN0ZWQgaHVuayAjMS4KZGlmZiBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9l dmVudF9ldGhlcm5ldF9yeF9hZGFwdGVyLnJzdCBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9ldmVu dF9ldGhlcm5ldF9yeF9hZGFwdGVyLnJzdAkocmVqZWN0ZWQgaHVua3MpCkBAIC0xNzcsNiArMTc3 LDEyIEBAIHVzZWQgb3RoZXJ3aXNlIGl0IHJldHVybnMgLUVJTlZBTC4KIFRoZSBgYHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0c19yZXNldGBgIGZ1bmN0aW9uIGNhbiBiZSB1c2Vk IHRvCiByZXNldCBxdWV1ZSBsZXZlbCBzdGF0cyB3aGVuIHF1ZXVlIGxldmVsIGV2ZW50IGJ1ZmZl ciBpcyBpbiB1c2UuCiAKK0dldHRpbmcgQWRhcHRlciBpbnN0YW5jZSBpZAorfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+CisKK1RoZSBgYHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9pbnN0YW5j ZV9nZXQoKWBgIGZ1bmN0aW9uIHJlcG9ydHMKK3J4IGFkYXB0ZXIgaW5zdGFuY2UgaWQgZm9yIGEg c3BlY2lmaWVkIGV0aGVybmV0IGRldmljZSBpZCBhbmQgcnggcXVldWUgaW5kZXguCisKIEludGVy cnVwdCBCYXNlZCBSeCBRdWV1ZXMKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAKZGlmZiBh L2xpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaCBiL2xpYi9ldmVudGRldi9ldmVudGRldl9wbWQu aAkocmVqZWN0ZWQgaHVua3MpCkBAIC04ODgsNiArODg4LDI2IEBAIHR5cGVkZWYgaW50ICgqZXZl bnRkZXZfZXRoX3J4X2FkYXB0ZXJfdmVjdG9yX2xpbWl0c19nZXRfdCkoCiAJY29uc3Qgc3RydWN0 IHJ0ZV9ldmVudGRldiAqZGV2LCBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYsCiAJ c3RydWN0IHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl92ZWN0b3JfbGltaXRzICpsaW1pdHMpOwog CisvKioKKyAqIEdldCBSeCBhZGFwdGVyIGluc3RhbmNlIGlkIGZvciBSeCBxdWV1ZQorICoKKyAq IEBwYXJhbSBldGhfZGV2X2lkCisgKiAgUG9ydCBpZGVudGlmaWVyIG9mIGV0aGVybmV0IGRldmlj ZQorICoKKyAqIEBwYXJhbSByeF9xdWV1ZV9pZAorICogIEV0aGVybmV0IGRldmljZSBSeCBxdWV1 ZSBpbmRleAorICoKKyAqIEBwYXJhbVtvdXRdIHJ4YV9pbnN0X2lkCisgKiAgUG9pbnRlciB0byBS eCBhZGFwdGVyIGluc3RhbmNlIGlkZW50aWZpZXIuCisgKiAgQ29udGFpbnMgdmFsaWQgUnggYWRh cHRlciBpbnN0YW5jZSBpZCB3aGVuIHJldHVybiB2YWx1ZSBpcyAwCisgKgorICogQHJldHVybgor ICogICAtICAwOiBTdWNjZXNzCisgKiAgIC0gPDA6IEVycm9yIGNvZGUgb24gZmFpbHVyZQorICov Cit0eXBlZGVmIGludCAoKmV2ZW50ZGV2X2V0aF9yeF9hZGFwdGVyX2luc3RhbmNlX2dldF90KQor CSh1aW50MTZfdCBldGhfZGV2X2lkLCB1aW50MTZfdCByeF9xdWV1ZV9pZCwgdWludDhfdCAqcnhh X2luc3RfaWQpOworCiB0eXBlZGVmIHVpbnQzMl90IHJ0ZV9ldmVudF9wbWRfc2VsZnRlc3Rfc2Vx bl90OwogZXh0ZXJuIGludCBydGVfZXZlbnRfcG1kX3NlbGZ0ZXN0X3NlcW5fZHluZmllbGRfb2Zm c2V0OwogCkBAIC0xMzIxLDYgKzEzNDEsOCBAQCBzdHJ1Y3QgZXZlbnRkZXZfb3BzIHsKIAlldmVu dGRldl9ldGhfcnhfYWRhcHRlcl92ZWN0b3JfbGltaXRzX2dldF90CiAJCWV0aF9yeF9hZGFwdGVy X3ZlY3Rvcl9saW1pdHNfZ2V0OwogCS8qKjwgR2V0IGV2ZW50IHZlY3RvciBsaW1pdHMgZm9yIHRo ZSBSeCBhZGFwdGVyICovCisJZXZlbnRkZXZfZXRoX3J4X2FkYXB0ZXJfaW5zdGFuY2VfZ2V0X3Qg ZXRoX3J4X2FkYXB0ZXJfaW5zdGFuY2VfZ2V0OworCS8qKjwgR2V0IFJ4IGFkYXB0ZXIgaW5zdGFu Y2UgaWQgZm9yIFJ4IHF1ZXVlICovCiAKIAlldmVudGRldl90aW1lcl9hZGFwdGVyX2NhcHNfZ2V0 X3QgdGltZXJfYWRhcHRlcl9jYXBzX2dldDsKIAkvKio8IEdldCB0aW1lciBhZGFwdGVyIGNhcGFi aWxpdGllcyAqLwpkaWZmIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5j IGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jCShyZWplY3RlZCBodW5r cykKQEAgLTE0MTUsMTUgKzE0MTUsMTMgQEAgcnhhX3NlcnZpY2VfZnVuYyh2b2lkICphcmdzKQog CXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50Ci1ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfaW5p dCh2b2lkKQorc3RhdGljIHZvaWQgKgorcnhhX21lbXpvbmVfYXJyYXlfZ2V0KGNvbnN0IGNoYXIg Km5hbWUsIHVuc2lnbmVkIGludCBlbHRfc2l6ZSwgaW50IG5iX2VsZW1zKQogewotCWNvbnN0IGNo YXIgKm5hbWUgPSBSWEFfQURBUFRFUl9BUlJBWTsKIAljb25zdCBzdHJ1Y3QgcnRlX21lbXpvbmUg Km16OwogCXVuc2lnbmVkIGludCBzejsKIAotCXN6ID0gc2l6ZW9mKCpldmVudF9ldGhfcnhfYWRh cHRlcikgKgotCSAgICBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfTUFYX0lOU1RBTkNFOworCXN6 ID0gZWx0X3NpemUgKiBuYl9lbGVtczsKIAlzeiA9IFJURV9BTElHTihzeiwgUlRFX0NBQ0hFX0xJ TkVfU0laRSk7CiAKIAlteiA9IHJ0ZV9tZW16b25lX2xvb2t1cChuYW1lKTsKQEAgLTE0MzEsMTMg KzE0MjksMzQgQEAgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2luaXQodm9pZCkKIAkJbXogPSBy dGVfbWVtem9uZV9yZXNlcnZlX2FsaWduZWQobmFtZSwgc3osIHJ0ZV9zb2NrZXRfaWQoKSwgMCwK IAkJCQkJCSBSVEVfQ0FDSEVfTElORV9TSVpFKTsKIAkJaWYgKG16ID09IE5VTEwpIHsKLQkJCVJU RV9FREVWX0xPR19FUlIoImZhaWxlZCB0byByZXNlcnZlIG1lbXpvbmUgZXJyID0gJSIKLQkJCQkJ UFJJZDMyLCBydGVfZXJybm8pOwotCQkJcmV0dXJuIC1ydGVfZXJybm87CisJCQlSVEVfRURFVl9M T0dfRVJSKCJmYWlsZWQgdG8gcmVzZXJ2ZSBtZW16b25lIgorCQkJCQkgIiBuYW1lID0gJXMsIGVy ciA9ICUiCisJCQkJCSBQUklkMzIsIG5hbWUsIHJ0ZV9lcnJubyk7CisJCQlyZXR1cm4gTlVMTDsK IAkJfQogCX0KIAotCWV2ZW50X2V0aF9yeF9hZGFwdGVyID0gbXotPmFkZHI7CisJcmV0dXJuIG16 LT5hZGRyOworfQorCitzdGF0aWMgaW50CitydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfaW5pdCh2 b2lkKQoreworCXVpbnQ4X3QgaTsKKworCWlmIChldmVudF9ldGhfcnhfYWRhcHRlciA9PSBOVUxM KSB7CisJCWV2ZW50X2V0aF9yeF9hZGFwdGVyID0KKwkJCXJ4YV9tZW16b25lX2FycmF5X2dldChS WEFfQURBUFRFUl9BUlJBWSwKKwkJCQkJc2l6ZW9mKCpldmVudF9ldGhfcnhfYWRhcHRlciksCisJ CQkJCVJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9NQVhfSU5TVEFOQ0UpOworCQlpZiAoZXZlbnRf ZXRoX3J4X2FkYXB0ZXIgPT0gTlVMTCkKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWZvciAoaSA9 IDA7IGkgPCBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfTUFYX0lOU1RBTkNFOyBpKyspCisJCQll dmVudF9ldGhfcnhfYWRhcHRlcltpXSA9IE5VTEw7CisKKwl9CisKIAlyZXR1cm4gMDsKIH0KIApA QCAtMTQ1MCw2ICsxNDY5LDcgQEAgcnhhX21lbXpvbmVfbG9va3VwKHZvaWQpCiAJCW16ID0gcnRl X21lbXpvbmVfbG9va3VwKFJYQV9BREFQVEVSX0FSUkFZKTsKIAkJaWYgKG16ID09IE5VTEwpCiAJ CQlyZXR1cm4gLUVOT01FTTsKKwogCQlldmVudF9ldGhfcnhfYWRhcHRlciA9IG16LT5hZGRyOwog CX0KIApAQCAtMTk1MSw3ICsxOTcxLDYgQEAgcnhhX3N3X2RlbChzdHJ1Y3QgZXZlbnRfZXRoX3J4 X2FkYXB0ZXIgKnJ4X2FkYXB0ZXIsCiAJaW50IGludHJxOwogCWludCBzaW50cnE7CiAKLQogCWlm IChyeF9hZGFwdGVyLT5uYl9xdWV1ZXMgPT0gMCkKIAkJcmV0dXJuOwogCkBAIC0yNTI0LDYgKzI1 NDMsOSBAQCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfZnJlZSh1aW50OF90IGlkKQogewogCXN0 cnVjdCBldmVudF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlcjsKIAorCWlmIChyeGFfbWVtem9u ZV9sb29rdXAoKSkKKwkJcmV0dXJuIC1FTk9NRU07CisKIAlSVEVfRVZFTlRfRVRIX1JYX0FEQVBU RVJfSURfVkFMSURfT1JfRVJSX1JFVChpZCwgLUVJTlZBTCk7CiAKIAlyeF9hZGFwdGVyID0gcnhh X2lkX3RvX2FkYXB0ZXIoaWQpOwpAQCAtMjU2MSw2ICsyNTgzLDkgQEAgcnRlX2V2ZW50X2V0aF9y eF9hZGFwdGVyX3F1ZXVlX2FkZCh1aW50OF90IGlkLAogCXN0cnVjdCBldGhfZGV2aWNlX2luZm8g KmRldl9pbmZvOwogCXN0cnVjdCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfdmVjdG9yX2xpbWl0 cyBsaW1pdHM7CiAKKwlpZiAocnhhX21lbXpvbmVfbG9va3VwKCkpCisJCXJldHVybiAtRU5PTUVN OworCiAJUlRFX0VWRU5UX0VUSF9SWF9BREFQVEVSX0lEX1ZBTElEX09SX0VSUl9SRVQoaWQsIC1F SU5WQUwpOwogCVJURV9FVEhfVkFMSURfUE9SVElEX09SX0VSUl9SRVQoZXRoX2Rldl9pZCwgLUVJ TlZBTCk7CiAKQEAgLTI3MjYsNiArMjc1MSw5IEBAIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9x dWV1ZV9kZWwodWludDhfdCBpZCwgdWludDE2X3QgZXRoX2Rldl9pZCwKIAl1aW50MzJfdCAqcnhf d3JyID0gTlVMTDsKIAlpbnQgbnVtX2ludHJfdmVjOwogCisJaWYgKHJ4YV9tZW16b25lX2xvb2t1 cCgpKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCVJURV9FVkVOVF9FVEhfUlhfQURBUFRFUl9JRF9W QUxJRF9PUl9FUlJfUkVUKGlkLCAtRUlOVkFMKTsKIAlSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9F UlJfUkVUKGV0aF9kZXZfaWQsIC1FSU5WQUwpOwogCkBAIC0yODMyLDYgKzI4NjAsNyBAQCBydGVf ZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfZGVsKHVpbnQ4X3QgaWQsIHVpbnQxNl90IGV0aF9k ZXZfaWQsCiAKIAlydGVfZXZlbnRkZXZfdHJhY2VfZXRoX3J4X2FkYXB0ZXJfcXVldWVfZGVsKGlk LCBldGhfZGV2X2lkLAogCQlyeF9xdWV1ZV9pZCwgcmV0KTsKKwogCXJldHVybiByZXQ7CiB9CiAK QEAgLTMyODYsNiArMzMxNSw5NyBAQCBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVldWVfY29u Zl9nZXQodWludDhfdCBpZCwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludAorcnhhX2lzX3F1 ZXVlX2FkZGVkKHN0cnVjdCBldmVudF9ldGhfcnhfYWRhcHRlciAqcnhfYWRhcHRlciwKKwkJICAg dWludDE2X3QgZXRoX2Rldl9pZCwKKwkJICAgdWludDE2X3QgcnhfcXVldWVfaWQpCit7CisJc3Ry dWN0IGV0aF9kZXZpY2VfaW5mbyAqZGV2X2luZm87CisJc3RydWN0IGV0aF9yeF9xdWV1ZV9pbmZv ICpxdWV1ZV9pbmZvOworCisJaWYgKCFyeF9hZGFwdGVyLT5ldGhfZGV2aWNlcykKKwkJcmV0dXJu IDA7CisKKwlkZXZfaW5mbyA9ICZyeF9hZGFwdGVyLT5ldGhfZGV2aWNlc1tldGhfZGV2X2lkXTsK KwlpZiAoIWRldl9pbmZvIHx8ICFkZXZfaW5mby0+cnhfcXVldWUpCisJCXJldHVybiAwOworCisJ cXVldWVfaW5mbyA9ICZkZXZfaW5mby0+cnhfcXVldWVbcnhfcXVldWVfaWRdOworCisJcmV0dXJu IHF1ZXVlX2luZm8gJiYgcXVldWVfaW5mby0+cXVldWVfZW5hYmxlZDsKK30KKworI2RlZmluZSBy eGFfZXZkZXYocnhfYWRhcHRlcikgKCZydGVfZXZlbnRkZXZzWyhyeF9hZGFwdGVyKS0+ZXZlbnRk ZXZfaWRdKQorCisjZGVmaW5lIHJ4YV9kZXZfaW5zdGFuY2VfZ2V0KHJ4X2FkYXB0ZXIpIFwKKwkJ cnhhX2V2ZGV2KChyeF9hZGFwdGVyKSktPmRldl9vcHMtPmV0aF9yeF9hZGFwdGVyX2luc3RhbmNl X2dldAorCitpbnQKK3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9pbnN0YW5jZV9nZXQodWludDE2 X3QgZXRoX2Rldl9pZCwKKwkJCQkgICAgICB1aW50MTZfdCByeF9xdWV1ZV9pZCwKKwkJCQkgICAg ICB1aW50OF90ICpyeGFfaW5zdF9pZCkKK3sKKwl1aW50OF90IGlkOworCWludCByZXQgPSAtRUlO VkFMOworCXVpbnQzMl90IGNhcHM7CisJc3RydWN0IGV2ZW50X2V0aF9yeF9hZGFwdGVyICpyeF9h ZGFwdGVyOworCisJaWYgKHJ4YV9tZW16b25lX2xvb2t1cCgpKQorCQlyZXR1cm4gLUVOT01FTTsK KworCWlmIChldGhfZGV2X2lkID49IHJ0ZV9ldGhfZGV2X2NvdW50X2F2YWlsKCkpIHsKKwkJUlRF X0VERVZfTE9HX0VSUigiSW52YWxpZCBldGhlcm5ldCBwb3J0IGlkICV1IiwgZXRoX2Rldl9pZCk7 CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChyeF9xdWV1ZV9pZCA+PSBydGVfZXRoX2Rl dmljZXNbZXRoX2Rldl9pZF0uZGF0YS0+bmJfcnhfcXVldWVzKSB7CisJCVJURV9FREVWX0xPR19F UlIoIkludmFsaWQgUnggcXVldWUgJXUiLCByeF9xdWV1ZV9pZCk7CisJCXJldHVybiAtRUlOVkFM OworCX0KKworCWlmIChyeGFfaW5zdF9pZCA9PSBOVUxMKSB7CisJCVJURV9FREVWX0xPR19FUlIo InJ4YV9pbnN0X2lkIGNhbm5vdCBiZSBOVUxMIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwor CS8qIEl0ZXJhdGUgdGhyb3VnaCBhbGwgYWRhcHRlciBpbnN0YW5jZXMgKi8KKwlmb3IgKGlkID0g MDsgaWQgPCBSVEVfRVZFTlRfRVRIX1JYX0FEQVBURVJfTUFYX0lOU1RBTkNFOyBpZCsrKSB7CisJ CXJ4X2FkYXB0ZXIgPSByeGFfaWRfdG9fYWRhcHRlcihpZCk7CisJCWlmICghcnhfYWRhcHRlcikK KwkJCWNvbnRpbnVlOworCisJCWlmIChyeGFfaXNfcXVldWVfYWRkZWQocnhfYWRhcHRlciwgZXRo X2Rldl9pZCwgcnhfcXVldWVfaWQpKSB7CisJCQkqcnhhX2luc3RfaWQgPSByeF9hZGFwdGVyLT5p ZDsKKwkJCXJldCA9IDA7CisJCX0KKworCQkvKiBSeCBhZGFwdGVyIGludGVybmFsbHkgbWFpbmF0 YWlucyBxdWV1ZSBpbmZvcm1hdGlvbgorCQkgKiBmb3IgYm90aCBpbnRlcm5hbCBwb3J0IGFuZCBE UERLIHNlcnZpY2UgcG9ydC4KKwkJICogRXZlbnRkZXYgUE1EIGNhbGxiYWNrIGlzIGNhbGxlZCBm b3IgZnV0dXJlIHByb29mIG9ubHkgYW5kCisJCSAqIG92ZXJyaWRlcyB0aGUgYWJvdmUgcmV0dXJu IHZhbHVlIGlmIGRlZmluZWQuCisJCSAqLworCQljYXBzID0gMDsKKwkJaWYgKCFydGVfZXZlbnRf ZXRoX3J4X2FkYXB0ZXJfY2Fwc19nZXQocnhfYWRhcHRlci0+ZXZlbnRkZXZfaWQsCisJCQkJCQkg ICAgICBldGhfZGV2X2lkLAorCQkJCQkJICAgICAgJmNhcHMpKSB7CisJCQlpZiAoY2FwcyAmIFJU RV9FVkVOVF9FVEhfUlhfQURBUFRFUl9DQVBfSU5URVJOQUxfUE9SVCkgeworCQkJCXJldCA9IHJ4 YV9kZXZfaW5zdGFuY2VfZ2V0KHJ4X2FkYXB0ZXIpID8KKwkJCQkJCXJ4YV9kZXZfaW5zdGFuY2Vf Z2V0KHJ4X2FkYXB0ZXIpCisJCQkJCQkJCShldGhfZGV2X2lkLAorCQkJCQkJCQkgcnhfcXVldWVf aWQsCisJCQkJCQkJCSByeGFfaW5zdF9pZCkKKwkJCQkJCQk6IC1FSU5WQUw7CisJCQl9CisJCX0K KworCQkvKiByZXR1cm4gaWYgZW50cnkgZm91bmQgKi8KKwkJaWYgKHJldCA9PSAwKQorCQkJcmV0 dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KKwogI2RlZmluZSBSWEFfQUREX0RJ Q1Qoc3RhdHMsIHMpIHJ0ZV90ZWxfZGF0YV9hZGRfZGljdF91NjQoZCwgI3MsIHN0YXRzLnMpCiAK IHN0YXRpYyBpbnQKZGlmZiBhL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIu aCBiL2xpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuaAkocmVqZWN0ZWQgaHVu a3MpCkBAIC0zOCw2ICszOCw3IEBACiAgKiAgLSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfcXVl dWVfc3RhdHNfZ2V0KCkKICAqICAtIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9xdWV1ZV9zdGF0 c19yZXNldCgpCiAgKiAgLSBydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfZXZlbnRfcG9ydF9nZXQo KQorICogIC0gcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2luc3RhbmNlX2dldCgpCiAgKgogICog VGhlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgYW4gZXRoZXJuZXQgdG8gZXZlbnQgYWRhcHRlciB1c2lu ZwogICogcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2NyZWF0ZV9leHQoKSBvciBydGVfZXZlbnRf ZXRoX3J4X2FkYXB0ZXJfY3JlYXRlKCkKQEAgLTcwNCw2ICs3MDUsMjkgQEAgX19ydGVfZXhwZXJp bWVudGFsCiBpbnQKIHJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCh1aW50 OF90IGlkLCB1aW50OF90ICpldmVudF9wb3J0X2lkKTsKIAorLyoqCisgKiBHZXQgUlggYWRhcHRl ciBpbnN0YW5jZSBJRCBmb3IgYSBSWCBxdWV1ZQorICoKKyAqIEBwYXJhbSBldGhfZGV2X2lkCisg KiAgUG9ydCBpZGVudGlmaWVyIG9mIEV0aGVybmV0IGRldmljZS4KKyAqCisgKiBAcGFyYW0gcnhf cXVldWVfaWQKKyAqICBFdGhlcm5ldCBkZXZpY2UgcmVjZWl2ZSBxdWV1ZSBpbmRleC4KKyAqCisg KiBAcGFyYW1bb3V0XSByeGFfaW5zdF9pZAorICogIFBvaW50ZXIgdG8gc3RvcmUgUlggYWRhcHRl ciBpbnN0YW5jZSBpZGVudGlmaWVyLgorICogIENvbnRhaW5zIHZhbGlkIFJ4IGFkYXB0ZXIgaW5z dGFuY2UgaWQgd2hlbiByZXR1cm4gdmFsdWUgaXMgMAorICoKKyAqIEByZXR1cm4KKyAqICAtICAw OiBTdWNjZXNzCisgKiAgLSA8MDogRXJyb3IgY29kZSBvbiBmYWlsdXJlCisgKi8KK19fcnRlX2V4 cGVyaW1lbnRhbAoraW50CitydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXJfaW5zdGFuY2VfZ2V0KHVp bnQxNl90IGV0aF9kZXZfaWQsCisJCQkJICAgICAgdWludDE2X3QgcnhfcXVldWVfaWQsCisJCQkJ ICAgICAgdWludDhfdCAqcnhhX2luc3RfaWQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl bmRpZgpkaWZmIGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGIvbGliL2V2ZW50ZGV2L3ZlcnNp b24ubWFwCShyZWplY3RlZCBodW5rcykKQEAgLTExMiw2ICsxMTIsOSBAQCBFWFBFUklNRU5UQUwg ewogCSMgYWRkZWQgaW4gMjIuMDcKIAlydGVfZXZlbnRfcG9ydF9xdWllc2NlOwogCXJ0ZV9ldmVu dF9xdWV1ZV9hdHRyX3NldDsKKworCSMgYWRkZWQgaW4gMjIuMTEKKwlydGVfZXZlbnRfZXRoX3J4 X2FkYXB0ZXJfaW5zdGFuY2VfZ2V0OwogfTsKIAogSU5URVJOQUwgewpDaGVja2luZyBwYXRjaCBs aWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMuLi4KSHVuayAjMSBzdWNjZWVk ZWQgYXQgMzczNiAob2Zmc2V0IDYyIGxpbmVzKS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6 CglydGVfdGVsZW1ldHJ5X3JlZ2lzdGVyX2NtZCgiL2V2ZW50ZGV2L3J4YV9xdWV1ZV9zdGF0c19y ZXNldCIsCgkJaGFuZGxlX3J4YV9xdWV1ZV9zdGF0c19yZXNldCwKCQkiUmVzZXQgUnggcXVldWUg c3RhdHMuIFBhcmFtZXRlcjogcnhhX2lkLCBkZXZfaWQsIHF1ZXVlX2lkIik7Cn0KCmVycm9yOiBw YXRjaCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzozNjk1 CkFwcGx5aW5nIHBhdGNoIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYyB3 aXRoIDEgcmVqZWN0Li4uCkh1bmsgIzEgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICMy LgpkaWZmIGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jIGIvbGliL2V2 ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jCShyZWplY3RlZCBodW5rcykKQEAgLTM2 OTUsNCArMzc1Nyw4IEBAIFJURV9JTklUKHJ4YV9pbml0X3RlbGVtZXRyeSkKIAlydGVfdGVsZW1l dHJ5X3JlZ2lzdGVyX2NtZCgiL2V2ZW50ZGV2L3J4YV9xdWV1ZV9zdGF0c19yZXNldCIsCiAJCWhh bmRsZV9yeGFfcXVldWVfc3RhdHNfcmVzZXQsCiAJCSJSZXNldCBSeCBxdWV1ZSBzdGF0cy4gUGFy YW1ldGVyOiByeGFfaWQsIGRldl9pZCwgcXVldWVfaWQiKTsKKworCXJ0ZV90ZWxlbWV0cnlfcmVn aXN0ZXJfY21kKCIvZXZlbnRkZXYvcnhhX3J4cV9pbnN0YW5jZV9nZXQiLAorCQloYW5kbGVfcnhh X2luc3RhbmNlX2dldCwKKwkJIlJldHVybnMgUnggYWRhcHRlciBpbnN0YW5jZSBpZC4gUGFyYW1l dGVyOiBkZXZfaWQsIHF1ZXVlX2lkIik7CiB9CkNoZWNraW5nIHBhdGNoIGFwcC90ZXN0L3Rlc3Rf ZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYy4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKI2Rl ZmluZSBURVNUX0lOU1RfSUQJCTAKI2RlZmluZSBURVNUX0RFVl9JRAkJMAojZGVmaW5lIFRFU1Rf RVRIREVWX0lECQkwCgpzdHJ1Y3QgZXZlbnRfZXRoX3J4X2FkYXB0ZXJfdGVzdF9wYXJhbXMgewoJ c3RydWN0IHJ0ZV9tZW1wb29sICptcDsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90ZXN0L3Rl c3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzozOQpIdW5rICMyIHN1Y2NlZWRlZCBhdCAxMTk4IChv ZmZzZXQgMTk2IGxpbmVzKS4KZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgkJCSAgICAgYWRh cHRlcl9xdWV1ZV9ldmVudF9idWZfdGVzdCksCgkJVEVTVF9DQVNFX1NUKGFkYXB0ZXJfY3JlYXRl X3dpdGhfcGFyYW1zLCBhZGFwdGVyX2ZyZWUsCgkJCSAgICAgYWRhcHRlcl9xdWV1ZV9zdGF0c190 ZXN0KSwKCQlURVNUX0NBU0VTX0VORCgpIC8qKjwgTlVMTCB0ZXJtaW5hdGUgdW5pdCB0ZXN0IGFy cmF5ICovCgl9Cn07CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBhcHAvdGVzdC90ZXN0X2V2ZW50X2V0 aF9yeF9hZGFwdGVyLmM6MTAxOQplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCS50ZWFyZG93 biA9IHRlc3RzdWl0ZV90ZWFyZG93bl9yeF9pbnRyLAoJLnVuaXRfdGVzdF9jYXNlcyA9IHsKCQlU RVNUX0NBU0VfU1QoYWRhcHRlcl9jcmVhdGUsIGFkYXB0ZXJfZnJlZSwKCQkJYWRhcHRlcl9pbnRy X3F1ZXVlX2FkZF9kZWwpLAoJCVRFU1RfQ0FTRVNfRU5EKCkgLyoqPCBOVUxMIHRlcm1pbmF0ZSB1 bml0IHRlc3QgYXJyYXkgKi8KCX0KfTsKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90ZXN0L3Rl c3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYzoxMDI5CkFwcGx5aW5nIHBhdGNoIGFwcC90ZXN0L3Rl c3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYyB3aXRoIDMgcmVqZWN0cy4uLgpSZWplY3RlZCBodW5r ICMxLgpIdW5rICMyIGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjMy4KUmVqZWN0ZWQg aHVuayAjNC4KZGlmZiBhL2FwcC90ZXN0L3Rlc3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYyBiL2Fw cC90ZXN0L3Rlc3RfZXZlbnRfZXRoX3J4X2FkYXB0ZXIuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0z OSw2ICszOSw3IEBAIHRlc3RfZXZlbnRfZXRoX3J4X2ludHJfYWRhcHRlcl9jb21tb24odm9pZCkK ICNkZWZpbmUgVEVTVF9JTlNUX0lECQkwCiAjZGVmaW5lIFRFU1RfREVWX0lECQkwCiAjZGVmaW5l IFRFU1RfRVRIREVWX0lECQkwCisjZGVmaW5lIFRFU1RfRVRIX1FVRVVFX0lECTAKIAogc3RydWN0 IGV2ZW50X2V0aF9yeF9hZGFwdGVyX3Rlc3RfcGFyYW1zIHsKIAlzdHJ1Y3QgcnRlX21lbXBvb2wg Km1wOwpAQCAtMTAxOSw2ICsxMjE2LDggQEAgc3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUg ZXZlbnRfZXRoX3J4X3Rlc3RzID0gewogCQkJICAgICBhZGFwdGVyX3F1ZXVlX2V2ZW50X2J1Zl90 ZXN0KSwKIAkJVEVTVF9DQVNFX1NUKGFkYXB0ZXJfY3JlYXRlX3dpdGhfcGFyYW1zLCBhZGFwdGVy X2ZyZWUsCiAJCQkgICAgIGFkYXB0ZXJfcXVldWVfc3RhdHNfdGVzdCksCisJCVRFU1RfQ0FTRV9T VChhZGFwdGVyX2NyZWF0ZSwgYWRhcHRlcl9mcmVlLAorCQkJICAgICBhZGFwdGVyX3BvbGxxX2lu c3RhbmNlX2dldCksCiAJCVRFU1RfQ0FTRVNfRU5EKCkgLyoqPCBOVUxMIHRlcm1pbmF0ZSB1bml0 IHRlc3QgYXJyYXkgKi8KIAl9CiB9OwpAQCAtMTAyOSw3ICsxMjI4LDkgQEAgc3RhdGljIHN0cnVj dCB1bml0X3Rlc3Rfc3VpdGUgZXZlbnRfZXRoX3J4X2ludHJfdGVzdHMgPSB7CiAJLnRlYXJkb3du ID0gdGVzdHN1aXRlX3RlYXJkb3duX3J4X2ludHIsCiAJLnVuaXRfdGVzdF9jYXNlcyA9IHsKIAkJ VEVTVF9DQVNFX1NUKGFkYXB0ZXJfY3JlYXRlLCBhZGFwdGVyX2ZyZWUsCi0JCQlhZGFwdGVyX2lu dHJfcXVldWVfYWRkX2RlbCksCisJCQkgICAgIGFkYXB0ZXJfaW50cl9xdWV1ZV9hZGRfZGVsKSwK KwkJVEVTVF9DQVNFX1NUKGFkYXB0ZXJfY3JlYXRlLCBhZGFwdGVyX2ZyZWUsCisJCQkgICAgIGFk YXB0ZXJfaW50cnFfaW5zdGFuY2VfZ2V0KSwKIAkJVEVTVF9DQVNFU19FTkQoKSAvKio8IE5VTEwg dGVybWluYXRlIHVuaXQgdGVzdCBhcnJheSAqLwogCX0KIH07CkNoZWNraW5nIHBhdGNoIGRvYy9n dWlkZXMvcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVyLnJzdC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKdGhlIGNvdW50cyBmcm9tIHRoZSBldmVudGRldiBQTUQgY2Fs bGJhY2sgaWYgdGhlIGNhbGxiYWNrIGlzIHN1cHBvcnRlZCwgYW5kCnRoZSBjb3VudHMgbWFpbnRh aW5lZCBieSB0aGUgc2VydmljZSBmdW5jdGlvbiwgaWYgb25lIGV4aXN0cy4KClR4IGV2ZW50IHZl Y3Rvcml6YXRpb24Kfn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKCmVycm9yOiBwYXRjaCBmYWlsZWQ6 IGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5ldF90eF9hZGFwdGVyLnJzdDoxNjUK Q2hlY2tpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oLi4uCmVycm9yOiB3aGls ZSBzZWFyY2hpbmcgZm9yOgp0eXBlZGVmIGludCAoKmV2ZW50ZGV2X2V0aF90eF9hZGFwdGVyX3N0 YXRzX3Jlc2V0X3QpKHVpbnQ4X3QgaWQsCgkJCQkJY29uc3Qgc3RydWN0IHJ0ZV9ldmVudGRldiAq ZGV2KTsKCi8qKiBFdmVudCBkZXZpY2Ugb3BlcmF0aW9ucyBmdW5jdGlvbiBwb2ludGVyIHRhYmxl ICovCnN0cnVjdCBldmVudGRldl9vcHMgewoJZXZlbnRkZXZfaW5mb19nZXRfdCBkZXZfaW5mb3Nf Z2V0OwkvKio8IEdldCBkZXZpY2UgaW5mby4gKi8KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9l dmVudGRldi9ldmVudGRldl9wbWQuaDoxMjc0CmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJ LyoqPCBHZXQgZXRoIFR4IGFkYXB0ZXIgc3RhdGlzdGljcyAqLwoJZXZlbnRkZXZfZXRoX3R4X2Fk YXB0ZXJfc3RhdHNfcmVzZXRfdCBldGhfdHhfYWRhcHRlcl9zdGF0c19yZXNldDsKCS8qKjwgUmVz ZXQgZXRoIFR4IGFkYXB0ZXIgc3RhdGlzdGljcyAqLwoKCWV2ZW50ZGV2X3NlbGZ0ZXN0IGRldl9z ZWxmdGVzdDsKCS8qKjwgU3RhcnQgZXZlbnRkZXYgU2VsZnRlc3QgKi8KCmVycm9yOiBwYXRjaCBm YWlsZWQ6IGxpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaDoxMzg2CkNoZWNraW5nIHBhdGNoIGxp Yi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYy4uLgplcnJvcjogd2hpbGUgc2Vh cmNoaW5nIGZvcjoKI2RlZmluZSBUWEFfSU5WQUxJRF9ERVZfSUQJSU5UMzJfQygtMSkKI2RlZmlu ZSBUWEFfSU5WQUxJRF9TRVJWSUNFX0lECUlOVDY0X0MoLTEpCgojZGVmaW5lIHR4YV9ldmRldihp ZCkgKCZydGVfZXZlbnRkZXZzW3R4YV9kZXZfaWRfYXJyYXlbKGlkKV1dKQoKI2RlZmluZSB0eGFf ZGV2X2NhcHNfZ2V0KGlkKSB0eGFfZXZkZXYoKGlkKSktPmRldl9vcHMtPmV0aF90eF9hZGFwdGVy X2NhcHNfZ2V0CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvZXZlbnRkZXYvcnRlX2V2ZW50X2V0 aF90eF9hZGFwdGVyLmM6MTgKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CgojZGVmaW5lIHR4 YV9kZXZfc3RhdHNfZ2V0KHQpIHR4YV9ldmRldih0KS0+ZGV2X29wcy0+ZXRoX3R4X2FkYXB0ZXJf c3RhdHNfZ2V0CgojZGVmaW5lIFJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9JRF9WQUxJRF9PUl9F UlJfUkVUKGlkLCByZXR2YWwpIFwKZG8geyBcCglpZiAoIXR4YV92YWxpZF9pZChpZCkpIHsgXAoK ZXJyb3I6IHBhdGNoIGZhaWxlZDogbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRl ci5jOjQxCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgp9CgpzdGF0aWMgaW50CnR4YV9kZXZf aWRfYXJyYXlfaW5pdCh2b2lkKQp7CglpZiAodHhhX2Rldl9pZF9hcnJheSA9PSBOVUxMKSB7CgkJ aW50IGk7CgoJCXR4YV9kZXZfaWRfYXJyYXkgPSB0eGFfbWVtem9uZV9hcnJheV9nZXQoInR4YV9h ZGFwdGVyX2FycmF5IiwKCQkJCQlzaXplb2YoaW50KSwKCQkJCQlSVEVfRVZFTlRfRVRIX1RYX0FE QVBURVJfTUFYX0lOU1RBTkNFKTsKCQlpZiAodHhhX2Rldl9pZF9hcnJheSA9PSBOVUxMKQoKZXJy b3I6IHBhdGNoIGZhaWxlZDogbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5j OjE5NAplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKdHhhX3NlcnZpY2VfZGF0YV9pbml0KHZv aWQpCnsKCWlmICh0eGFfc2VydmljZV9kYXRhX2FycmF5ID09IE5VTEwpIHsKCQl0eGFfc2Vydmlj ZV9kYXRhX2FycmF5ID0KCQkJCXR4YV9tZW16b25lX2FycmF5X2dldCgidHhhX3NlcnZpY2VfZGF0 YV9hcnJheSIsCgkJCQkJc2l6ZW9mKCp0eGFfc2VydmljZV9kYXRhX2FycmF5KSwKCQkJCQlSVEVf RVZFTlRfRVRIX1RYX0FEQVBURVJfTUFYX0lOU1RBTkNFKTsKCQlpZiAodHhhX3NlcnZpY2VfZGF0 YV9hcnJheSA9PSBOVUxMKQoJCQlyZXR1cm4gLUVOT01FTTsKCX0KCglyZXR1cm4gMDsKCmVycm9y OiBwYXRjaCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYzoy MjIKZXJyb3I6IHdoaWxlIHNlYXJjaGluZyBmb3I6CglydGVfZXZlbnRkZXZfdHJhY2VfZXRoX3R4 X2FkYXB0ZXJfc3RvcChpZCwgcmV0KTsKCXJldHVybiByZXQ7Cn0KCmVycm9yOiBwYXRjaCBmYWls ZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYzoxMjIyCkNoZWNraW5n IHBhdGNoIGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaC4uLgplcnJvcjog d2hpbGUgc2VhcmNoaW5nIGZvcjoKICogIC0gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2VucXVl dWUoKQogKiAgLSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZXZlbnRfcG9ydF9nZXQoKQogKiAg LSBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfc2VydmljZV9pZF9nZXQoKQogKgogKiBUaGUgYXBw bGljYXRpb24gY3JlYXRlcyB0aGUgYWRhcHRlciB1c2luZwogKiBydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXJfY3JlYXRlKCkgb3IgcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2NyZWF0ZV9leHQoKS4K CmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9ldmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0 ZXIuaDozNAplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKaW50CnJ0ZV9ldmVudF9ldGhfdHhf YWRhcHRlcl9zZXJ2aWNlX2lkX2dldCh1aW50OF90IGlkLCB1aW50MzJfdCAqc2VydmljZV9pZCk7 CgojaWZkZWYgX19jcGx1c3BsdXMKfQojZW5kaWYKCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGxpYi9l dmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuaDo0MjMKQ2hlY2tpbmcgcGF0Y2ggbGli L2V2ZW50ZGV2L3ZlcnNpb24ubWFwLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoKCSMg YWRkZWQgaW4gMjIuMTEKCXJ0ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9pbnN0YW5jZV9nZXQ7Cn07 CgpJTlRFUk5BTCB7CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBsaWIvZXZlbnRkZXYvdmVyc2lvbi5t YXA6MTE1CkFwcGx5aW5nIHBhdGNoIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS9ldmVudF9ldGhlcm5l dF90eF9hZGFwdGVyLnJzdCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFwcGx5 aW5nIHBhdGNoIGxpYi9ldmVudGRldi9ldmVudGRldl9wbWQuaCB3aXRoIDIgcmVqZWN0cy4uLgpS ZWplY3RlZCBodW5rICMxLgpSZWplY3RlZCBodW5rICMyLgpBcHBseWluZyBwYXRjaCBsaWIvZXZl bnRkZXYvcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyLmMgd2l0aCA1IHJlamVjdHMuLi4KUmVqZWN0 ZWQgaHVuayAjMS4KUmVqZWN0ZWQgaHVuayAjMi4KUmVqZWN0ZWQgaHVuayAjMy4KUmVqZWN0ZWQg aHVuayAjNC4KUmVqZWN0ZWQgaHVuayAjNS4KQXBwbHlpbmcgcGF0Y2ggbGliL2V2ZW50ZGV2L3J0 ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oIHdpdGggMiByZWplY3RzLi4uClJlamVjdGVkIGh1bmsg IzEuClJlamVjdGVkIGh1bmsgIzIuCkFwcGx5aW5nIHBhdGNoIGxpYi9ldmVudGRldi92ZXJzaW9u Lm1hcCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCmRpZmYgYS9kb2MvZ3VpZGVz L3Byb2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRlci5yc3QgYi9kb2MvZ3VpZGVzL3By b2dfZ3VpZGUvZXZlbnRfZXRoZXJuZXRfdHhfYWRhcHRlci5yc3QJKHJlamVjdGVkIGh1bmtzKQpA QCAtMTY1LDYgKzE2NSwxMiBAQCBpbiBzdHJ1Y3QgYGBydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJf c3RhdHNgYC4gVGhlIGNvdW50ZXIgdmFsdWVzIGFyZSB0aGUgc3VtIG9mCiB0aGUgY291bnRzIGZy b20gdGhlIGV2ZW50ZGV2IFBNRCBjYWxsYmFjayBpZiB0aGUgY2FsbGJhY2sgaXMgc3VwcG9ydGVk LCBhbmQKIHRoZSBjb3VudHMgbWFpbnRhaW5lZCBieSB0aGUgc2VydmljZSBmdW5jdGlvbiwgaWYg b25lIGV4aXN0cy4KIAorR2V0dGluZyBBZGFwdGVyIGluc3RhbmNlIGlkCit+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KKworVGhlICBgYHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9pbnN0YW5j ZV9nZXQoKWBgIGZ1bmN0aW9uIHJlcG9ydHMKK3R4IGFkYXB0ZXIgaW5zdGFuY2UgaWQgZm9yIGEg c3BlY2lmaWVkIGV0aGVybmV0IGRldmljZSBpZCBhbmQgdHggcXVldWUgaW5kZXguCisKIFR4IGV2 ZW50IHZlY3Rvcml6YXRpb24KIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIApkaWZmIGEvbGliL2V2 ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oIGIvbGliL2V2ZW50ZGV2L2V2ZW50ZGV2X3BtZC5oCShyZWpl Y3RlZCBodW5rcykKQEAgLTEyNzQsNiArMTI3NCwyNyBAQCB0eXBlZGVmIGludCAoKmV2ZW50ZGV2 X2V0aF90eF9hZGFwdGVyX3N0YXRzX2dldF90KSgKIHR5cGVkZWYgaW50ICgqZXZlbnRkZXZfZXRo X3R4X2FkYXB0ZXJfc3RhdHNfcmVzZXRfdCkodWludDhfdCBpZCwKIAkJCQkJY29uc3Qgc3RydWN0 IHJ0ZV9ldmVudGRldiAqZGV2KTsKIAorLyoqCisgKiBHZXQgVFggYWRhcHRlciBpbnN0YW5jZSBp ZCBmb3IgVFggcXVldWUKKyAqCisgKiBAcGFyYW0gZXRoX2Rldl9pZAorICogIFBvcnQgaWRlbnRp ZmllciBvZiBFdGhlcm5ldCBkZXZpY2UKKyAqCisgKiBAcGFyYW0gdHhfcXVldWVfaWQKKyAqICBF dGhlcm5ldCBkZXZpY2UgVFggcXVldWUgaW5kZXgKKyAqCisgKiBAcGFyYW1bb3V0XSB0eGFfaW5z dF9pZAorICogIFBvaW50ZXIgdG8gVFggYWRhcHRlciBpbnN0YW5jZSBpZGVudGlmaWVyCisgKiAg Q29udGFpbnMgdmFsaWQgVHggYWRhcHRlciBpbnN0YW5jZSBpZCB3aGVuIHJldHVybiB2YWx1ZSBp cyAwCisgKgorICogQHJldHVybgorICogIC0gIDA6IFN1Y2Nlc3MKKyAqICAtIDwwOiBFcnJvciBj b2RlIG9uIGZhaWx1cmUKKyAqLwordHlwZWRlZiBpbnQgKCpldmVudGRldl9ldGhfdHhfYWRhcHRl cl9pbnN0YW5jZV9nZXRfdCkKKwkodWludDE2X3QgZXRoX2Rldl9pZCwgdWludDE2X3QgdHhfcXVl dWVfaWQsIHVpbnQ4X3QgKnR4YV9pbnN0X2lkKTsKKworCiAvKiogRXZlbnQgZGV2aWNlIG9wZXJh dGlvbnMgZnVuY3Rpb24gcG9pbnRlciB0YWJsZSAqLwogc3RydWN0IGV2ZW50ZGV2X29wcyB7CiAJ ZXZlbnRkZXZfaW5mb19nZXRfdCBkZXZfaW5mb3NfZ2V0OwkvKio8IEdldCBkZXZpY2UgaW5mby4g Ki8KQEAgLTEzODYsNiArMTQwNyw4IEBAIHN0cnVjdCBldmVudGRldl9vcHMgewogCS8qKjwgR2V0 IGV0aCBUeCBhZGFwdGVyIHN0YXRpc3RpY3MgKi8KIAlldmVudGRldl9ldGhfdHhfYWRhcHRlcl9z dGF0c19yZXNldF90IGV0aF90eF9hZGFwdGVyX3N0YXRzX3Jlc2V0OwogCS8qKjwgUmVzZXQgZXRo IFR4IGFkYXB0ZXIgc3RhdGlzdGljcyAqLworCWV2ZW50ZGV2X2V0aF90eF9hZGFwdGVyX2luc3Rh bmNlX2dldF90IGV0aF90eF9hZGFwdGVyX2luc3RhbmNlX2dldDsKKwkvKio8IEdldCBUeCBhZGFw dGVyIGluc3RhbmNlIGlkIGZvciBUeCBxdWV1ZSAqLwogCiAJZXZlbnRkZXZfc2VsZnRlc3QgZGV2 X3NlbGZ0ZXN0OwogCS8qKjwgU3RhcnQgZXZlbnRkZXYgU2VsZnRlc3QgKi8KZGlmZiBhL2xpYi9l dmVudGRldi9ydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXIuYyBiL2xpYi9ldmVudGRldi9ydGVfZXZl bnRfZXRoX3R4X2FkYXB0ZXIuYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0xOCw2ICsxOCw5IEBACiAj ZGVmaW5lIFRYQV9JTlZBTElEX0RFVl9JRAlJTlQzMl9DKC0xKQogI2RlZmluZSBUWEFfSU5WQUxJ RF9TRVJWSUNFX0lECUlOVDY0X0MoLTEpCiAKKyNkZWZpbmUgVFhBX0FEQVBURVJfQVJSQVkgInR4 YV9hZGFwdGVyX2FycmF5IgorI2RlZmluZSBUWEFfU0VSVklDRV9EQVRBX0FSUkFZICJ0eGFfc2Vy dmljZV9kYXRhX2FycmF5IgorCiAjZGVmaW5lIHR4YV9ldmRldihpZCkgKCZydGVfZXZlbnRkZXZz W3R4YV9kZXZfaWRfYXJyYXlbKGlkKV1dKQogCiAjZGVmaW5lIHR4YV9kZXZfY2Fwc19nZXQoaWQp IHR4YV9ldmRldigoaWQpKS0+ZGV2X29wcy0+ZXRoX3R4X2FkYXB0ZXJfY2Fwc19nZXQKQEAgLTQx LDYgKzQ0LDkgQEAKIAogI2RlZmluZSB0eGFfZGV2X3N0YXRzX2dldCh0KSB0eGFfZXZkZXYodCkt PmRldl9vcHMtPmV0aF90eF9hZGFwdGVyX3N0YXRzX2dldAogCisjZGVmaW5lIHR4YV9kZXZfaW5z dGFuY2VfZ2V0KGlkKSBcCisJCQl0eGFfZXZkZXYoaWQpLT5kZXZfb3BzLT5ldGhfdHhfYWRhcHRl cl9pbnN0YW5jZV9nZXQKKwogI2RlZmluZSBSVEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfSURfVkFM SURfT1JfRVJSX1JFVChpZCwgcmV0dmFsKSBcCiBkbyB7IFwKIAlpZiAoIXR4YV92YWxpZF9pZChp ZCkpIHsgXApAQCAtMTk0LDEyICsyMDAsMzQgQEAgdHhhX21lbXpvbmVfYXJyYXlfZ2V0KGNvbnN0 IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGludCBlbHRfc2l6ZSwgaW50IG5iX2VsZW1zKQogfQogCiBz dGF0aWMgaW50Cit0eGFfbG9va3VwKHZvaWQpCit7CisJY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25l ICptejsKKworCWlmICh0eGFfZGV2X2lkX2FycmF5ID09IE5VTEwpIHsKKwkJbXogPSBydGVfbWVt em9uZV9sb29rdXAoVFhBX0FEQVBURVJfQVJSQVkpOworCQlpZiAobXogPT0gTlVMTCkKKwkJCXJl dHVybiAtRU5PTUVNOworCQl0eGFfZGV2X2lkX2FycmF5ID0gbXotPmFkZHI7CisJfQorCisJaWYg KHR4YV9zZXJ2aWNlX2RhdGFfYXJyYXkgPT0gTlVMTCkgeworCQlteiA9IHJ0ZV9tZW16b25lX2xv b2t1cChUWEFfU0VSVklDRV9EQVRBX0FSUkFZKTsKKwkJaWYgKG16ID09IE5VTEwpCisJCQlyZXR1 cm4gLUVOT01FTTsKKwkJdHhhX3NlcnZpY2VfZGF0YV9hcnJheSA9IG16LT5hZGRyOworCX0KKwor CXJldHVybiAwOworfQorCitzdGF0aWMgaW50CiB0eGFfZGV2X2lkX2FycmF5X2luaXQodm9pZCkK IHsKIAlpZiAodHhhX2Rldl9pZF9hcnJheSA9PSBOVUxMKSB7CiAJCWludCBpOwogCi0JCXR4YV9k ZXZfaWRfYXJyYXkgPSB0eGFfbWVtem9uZV9hcnJheV9nZXQoInR4YV9hZGFwdGVyX2FycmF5IiwK KwkJdHhhX2Rldl9pZF9hcnJheSA9IHR4YV9tZW16b25lX2FycmF5X2dldChUWEFfQURBUFRFUl9B UlJBWSwKIAkJCQkJc2l6ZW9mKGludCksCiAJCQkJCVJURV9FVkVOVF9FVEhfVFhfQURBUFRFUl9N QVhfSU5TVEFOQ0UpOwogCQlpZiAodHhhX2Rldl9pZF9hcnJheSA9PSBOVUxMKQpAQCAtMjIyLDEy ICsyNTAsMTggQEAgc3RhdGljIGludAogdHhhX3NlcnZpY2VfZGF0YV9pbml0KHZvaWQpCiB7CiAJ aWYgKHR4YV9zZXJ2aWNlX2RhdGFfYXJyYXkgPT0gTlVMTCkgeworCQlpbnQgaTsKKwogCQl0eGFf c2VydmljZV9kYXRhX2FycmF5ID0KLQkJCQl0eGFfbWVtem9uZV9hcnJheV9nZXQoInR4YV9zZXJ2 aWNlX2RhdGFfYXJyYXkiLAorCQkJCXR4YV9tZW16b25lX2FycmF5X2dldChUWEFfU0VSVklDRV9E QVRBX0FSUkFZLAogCQkJCQlzaXplb2YoKnR4YV9zZXJ2aWNlX2RhdGFfYXJyYXkpLAogCQkJCQlS VEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfTUFYX0lOU1RBTkNFKTsKIAkJaWYgKHR4YV9zZXJ2aWNl X2RhdGFfYXJyYXkgPT0gTlVMTCkKIAkJCXJldHVybiAtRU5PTUVNOworCisJCS8qIFJlc2V0IHRo ZSB0eGEgc2VydmljZSBwb2ludGVycyAqLworCQlmb3IgKGkgPSAwOyBpIDwgUlRFX0VWRU5UX0VU SF9UWF9BREFQVEVSX01BWF9JTlNUQU5DRTsgaSsrKQorCQkJdHhhX3NlcnZpY2VfZGF0YV9hcnJh eVtpXSA9IE5VTEw7CiAJfQogCiAJcmV0dXJuIDA7CkBAIC0xMjIyLDMgKzEyNTYsNjcgQEAgcnRl X2V2ZW50X2V0aF90eF9hZGFwdGVyX3N0b3AodWludDhfdCBpZCkKIAlydGVfZXZlbnRkZXZfdHJh Y2VfZXRoX3R4X2FkYXB0ZXJfc3RvcChpZCwgcmV0KTsKIAlyZXR1cm4gcmV0OwogfQorCitpbnQK K3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9pbnN0YW5jZV9nZXQodWludDE2X3QgZXRoX2Rldl9p ZCwKKwkJCQkgICAgICB1aW50MTZfdCB0eF9xdWV1ZV9pZCwKKwkJCQkgICAgICB1aW50OF90ICp0 eGFfaW5zdF9pZCkKK3sKKwl1aW50OF90IGlkOworCWludCByZXQgPSAtRUlOVkFMOworCXVpbnQz Ml90IGNhcHM7CisJc3RydWN0IHR4YV9zZXJ2aWNlX2RhdGEgKnR4YTsKKworCWlmICh0eGFfbG9v a3VwKCkpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKGV0aF9kZXZfaWQgPj0gcnRlX2V0aF9k ZXZfY291bnRfYXZhaWwoKSkgeworCQlSVEVfRURFVl9MT0dfRVJSKCJJbnZhbGlkIGV0aGVybmV0 IHBvcnQgaWQgJXUiLCBldGhfZGV2X2lkKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYg KHR4X3F1ZXVlX2lkID49IHJ0ZV9ldGhfZGV2aWNlc1tldGhfZGV2X2lkXS5kYXRhLT5uYl90eF9x dWV1ZXMpIHsKKwkJUlRFX0VERVZfTE9HX0VSUigiSW52YWxpZCB0eCBxdWV1ZSBpZCAldSIsIHR4 X3F1ZXVlX2lkKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHR4YV9pbnN0X2lkID09 IE5VTEwpIHsKKwkJUlRFX0VERVZfTE9HX0VSUigidHhhX2luc3RhbmNlX2lkIGNhbm5vdCBiZSBO VUxMIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIEl0ZXJhdGUgdGhyb3VnaCBhbGwg VHggYWRhcHRlciBpbnN0YW5jZXMgKi8KKwlmb3IgKGlkID0gMDsgaWQgPCBSVEVfRVZFTlRfRVRI X1RYX0FEQVBURVJfTUFYX0lOU1RBTkNFOyBpZCsrKSB7CisJCXR4YSA9IHR4YV9zZXJ2aWNlX2lk X3RvX2RhdGEoaWQpOworCQlpZiAoIXR4YSkKKwkJCWNvbnRpbnVlOworCisJCWNhcHMgPSAwOwor CQlpZiAocnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2NhcHNfZ2V0KHR4YS0+ZXZlbnRkZXZfaWQs CisJCQkJCQkgICAgICBldGhfZGV2X2lkLAorCQkJCQkJICAgICAgJmNhcHMpKQorCQkJY29udGlu dWU7CisKKwkJaWYgKGNhcHMgJiBSVEVfRVZFTlRfRVRIX1RYX0FEQVBURVJfQ0FQX0lOVEVSTkFM X1BPUlQpIHsKKwkJCXJldCA9IHR4YV9kZXZfaW5zdGFuY2VfZ2V0KGlkKSA/CisJCQkJCXR4YV9k ZXZfaW5zdGFuY2VfZ2V0KGlkKShldGhfZGV2X2lkLAorCQkJCQkJCQkgdHhfcXVldWVfaWQsCisJ CQkJCQkJCSB0eGFfaW5zdF9pZCkKKwkJCQkJCQk6IC1FSU5WQUw7CisJCQlpZiAocmV0ID09IDAp CisJCQkJcmV0dXJuIHJldDsKKwkJfSBlbHNlIHsKKwkJCXN0cnVjdCBydGVfZXRoX2RldiAqZXRo X2RldjsKKworCQkJZXRoX2RldiA9ICZydGVfZXRoX2RldmljZXNbZXRoX2Rldl9pZF07CisKKwkJ CWlmICh0eGFfc2VydmljZV9pc19xdWV1ZV9hZGRlZCh0eGEsIGV0aF9kZXYsCisJCQkJCQkgICAg ICAgdHhfcXVldWVfaWQpKSB7CisJCQkJKnR4YV9pbnN0X2lkID0gdHhhLT5pZDsKKwkJCQlyZXR1 cm4gMDsKKwkJCX0KKwkJfQorCX0KKworCXJldHVybiAtRUlOVkFMOworfQpkaWZmIGEvbGliL2V2 ZW50ZGV2L3J0ZV9ldmVudF9ldGhfdHhfYWRhcHRlci5oIGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVu dF9ldGhfdHhfYWRhcHRlci5oCShyZWplY3RlZCBodW5rcykKQEAgLTM0LDYgKzM0LDcgQEAKICAq ICAtIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9lbnF1ZXVlKCkKICAqICAtIHJ0ZV9ldmVudF9l dGhfdHhfYWRhcHRlcl9ldmVudF9wb3J0X2dldCgpCiAgKiAgLSBydGVfZXZlbnRfZXRoX3R4X2Fk YXB0ZXJfc2VydmljZV9pZF9nZXQoKQorICogIC0gcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2lu c3RhbmNlX2dldCgpCiAgKgogICogVGhlIGFwcGxpY2F0aW9uIGNyZWF0ZXMgdGhlIGFkYXB0ZXIg dXNpbmcKICAqIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl9jcmVhdGUoKSBvciBydGVfZXZlbnRf ZXRoX3R4X2FkYXB0ZXJfY3JlYXRlX2V4dCgpLgpAQCAtNDIzLDYgKzQyNCwyOSBAQCBydGVfZXZl bnRfZXRoX3R4X2FkYXB0ZXJfc3RhdHNfcmVzZXQodWludDhfdCBpZCk7CiBpbnQKIHJ0ZV9ldmVu dF9ldGhfdHhfYWRhcHRlcl9zZXJ2aWNlX2lkX2dldCh1aW50OF90IGlkLCB1aW50MzJfdCAqc2Vy dmljZV9pZCk7CiAKKy8qKgorICogR2V0IFRYIGFkYXB0ZXIgaW5zdGFuY2UgaWQgZm9yIFRYIHF1 ZXVlCisgKgorICogQHBhcmFtIGV0aF9kZXZfaWQKKyAqICBQb3J0IGlkZW50aWZpZXIgb2YgRXRo ZXJuZXQgZGV2aWNlCisgKgorICogQHBhcmFtIHR4X3F1ZXVlX2lkCisgKiAgRXRoZXJkZXYgZGV2 aWNlIFRYIHF1ZXVlIGluZGV4CisgKgorICogQHBhcmFtW291dF0gdHhhX2luc3RfaWQKKyAqICBQ b2ludGVyIHRvIFRYIGFkYXB0ZXIgaW5zdGFuY2UgaWRlbnRpZmllcgorICogIENvbnRhaW5zIHZh bGlkIFR4IGFkYXB0ZXIgaW5zdGFuY2UgaWQgd2hlbiByZXR1cm4gdmFsdWUgaXMgMAorICoKKyAq IEByZXR1cm4KKyAqICAtICAwOiBTdWNjZXNzCisgKiAgLSA8MDogRXJyb3IgY29kZSBvbiBmYWls dXJlCisgKi8KK19fcnRlX2V4cGVyaW1lbnRhbAoraW50CitydGVfZXZlbnRfZXRoX3R4X2FkYXB0 ZXJfaW5zdGFuY2VfZ2V0KHVpbnQxNl90IGV0aF9kZXZfaWQsCisJCQkJICAgICAgdWludDE2X3Qg dHhfcXVldWVfaWQsCisJCQkJICAgICAgdWludDhfdCAqdHhhX2luc3RfaWQpOworCiAjaWZkZWYg X19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIGEvbGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwIGIv bGliL2V2ZW50ZGV2L3ZlcnNpb24ubWFwCShyZWplY3RlZCBodW5rcykKQEAgLTExNSw2ICsxMTUs NyBAQCBFWFBFUklNRU5UQUwgewogCiAJIyBhZGRlZCBpbiAyMi4xMQogCXJ0ZV9ldmVudF9ldGhf cnhfYWRhcHRlcl9pbnN0YW5jZV9nZXQ7CisJcnRlX2V2ZW50X2V0aF90eF9hZGFwdGVyX2luc3Rh bmNlX2dldDsKIH07CiAKIElOVEVSTkFMIHsKQ2hlY2tpbmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9l dmVudF9ldGhfdHhfYWRhcHRlci5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgojZGVm aW5lIE1BWF9OVU1fUVVFVUUJCVJURV9QTURfUklOR19NQVhfUlhfUklOR1MKI2RlZmluZSBURVNU X0lOU1RfSUQJCTAKI2RlZmluZSBURVNUX0RFVl9JRAkJMAojZGVmaW5lIFNPQ0tFVDAJCQkwCiNk ZWZpbmUgUklOR19TSVpFCQkyNTYKI2RlZmluZSBFVEhfTkFNRV9MRU4JCTMyCgplcnJvcjogcGF0 Y2ggZmFpbGVkOiBhcHAvdGVzdC90ZXN0X2V2ZW50X2V0aF90eF9hZGFwdGVyLmM6MjkKSHVuayAj MiBzdWNjZWVkZWQgYXQgNzEyIChvZmZzZXQgNzIgbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNo aW5nIGZvcjoKCQkJCQl0eF9hZGFwdGVyX3N0YXJ0X3N0b3ApLAoJCVRFU1RfQ0FTRV9TVCh0eF9h ZGFwdGVyX2NyZWF0ZSwgdHhfYWRhcHRlcl9mcmVlLAoJCQkJCXR4X2FkYXB0ZXJfc2VydmljZSks CgkJVEVTVF9DQVNFX1NUKE5VTEwsIE5VTEwsIHR4X2FkYXB0ZXJfZHluYW1pY19kZXZpY2UpLAoJ CVRFU1RfQ0FTRVNfRU5EKCkgLyoqPCBOVUxMIHRlcm1pbmF0ZSB1bml0IHRlc3QgYXJyYXkgKi8K CX0KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGFwcC90ZXN0L3Rlc3RfZXZlbnRfZXRoX3R4X2FkYXB0 ZXIuYzo2OTUKQXBwbHlpbmcgcGF0Y2ggYXBwL3Rlc3QvdGVzdF9ldmVudF9ldGhfdHhfYWRhcHRl ci5jIHdpdGggMiByZWplY3RzLi4uClJlamVjdGVkIGh1bmsgIzEuCkh1bmsgIzIgYXBwbGllZCBj bGVhbmx5LgpSZWplY3RlZCBodW5rICMzLgpkaWZmIGEvYXBwL3Rlc3QvdGVzdF9ldmVudF9ldGhf dHhfYWRhcHRlci5jIGIvYXBwL3Rlc3QvdGVzdF9ldmVudF9ldGhfdHhfYWRhcHRlci5jCShyZWpl Y3RlZCBodW5rcykKQEAgLTI5LDYgKzI5LDcgQEAgdGVzdF9ldmVudF9ldGhfdHhfYWRhcHRlcl9j b21tb24odm9pZCkKICNkZWZpbmUgTUFYX05VTV9RVUVVRQkJUlRFX1BNRF9SSU5HX01BWF9SWF9S SU5HUwogI2RlZmluZSBURVNUX0lOU1RfSUQJCTAKICNkZWZpbmUgVEVTVF9ERVZfSUQJCTAKKyNk ZWZpbmUgVEVTVF9FVEhfUVVFVUVfSUQJMAogI2RlZmluZSBTT0NLRVQwCQkJMAogI2RlZmluZSBS SU5HX1NJWkUJCTI1NgogI2RlZmluZSBFVEhfTkFNRV9MRU4JCTMyCkBAIC02OTUsNiArNzY4LDgg QEAgc3RhdGljIHN0cnVjdCB1bml0X3Rlc3Rfc3VpdGUgZXZlbnRfZXRoX3R4X3Rlc3RzID0gewog CQkJCQl0eF9hZGFwdGVyX3N0YXJ0X3N0b3ApLAogCQlURVNUX0NBU0VfU1QodHhfYWRhcHRlcl9j cmVhdGUsIHR4X2FkYXB0ZXJfZnJlZSwKIAkJCQkJdHhfYWRhcHRlcl9zZXJ2aWNlKSwKKwkJVEVT VF9DQVNFX1NUKHR4X2FkYXB0ZXJfY3JlYXRlLCB0eF9hZGFwdGVyX2ZyZWUsCisJCQkJCXR4X2Fk YXB0ZXJfaW5zdGFuY2VfZ2V0KSwKIAkJVEVTVF9DQVNFX1NUKE5VTEwsIE5VTEwsIHR4X2FkYXB0 ZXJfZHluYW1pY19kZXZpY2UpLAogCQlURVNUX0NBU0VTX0VORCgpIC8qKjwgTlVMTCB0ZXJtaW5h dGUgdW5pdCB0ZXN0IGFycmF5ICovCiAJfQpDaGVja2luZyBwYXRjaCBkb2MvZ3VpZGVzL3JlbF9u b3Rlcy9yZWxlYXNlXzIyXzExLnJzdC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCk5l dyBGZWF0dXJlcwotLS0tLS0tLS0tLS0KCi4uIFRoaXMgc2VjdGlvbiBzaG91bGQgY29udGFpbiBu ZXcgZmVhdHVyZXMgYWRkZWQgaW4gdGhpcyByZWxlYXNlLgogICBTYW1wbGUgZm9ybWF0OgoKZXJy b3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8xMS5yc3Q6 MjMKQXBwbHlpbmcgcGF0Y2ggZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8xMS5yc3Qg d2l0aCAxIHJlamVjdC4uLgpSZWplY3RlZCBodW5rICMxLgpkaWZmIGEvZG9jL2d1aWRlcy9yZWxf bm90ZXMvcmVsZWFzZV8yMl8xMS5yc3QgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIy XzExLnJzdAkocmVqZWN0ZWQgaHVua3MpCkBAIC0yMyw2ICsyMywxNCBAQCBEUERLIFJlbGVhc2Ug MjIuMTEKIAogTmV3IEZlYXR1cmVzCiAtLS0tLS0tLS0tLS0KKyogKipBZGRlZCBhZGFwdGVyIGlu c3RhbmNlIGdldCBBUEkqKgorCisqIEFkZGVkIGBgcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyX2lu c3RhbmNlX2dldGBgIHRvIGdldAorICByeCBhZGFwdGVyIGluc3RhbmNlIGlkIGZvciBzcGVjaWZp ZWQgZXRoZXJuZXQgZGV2aWNlIGlkIGFuZAorICByeCBxdWV1ZSBpbmRleC4KKyogQWRkZWQgYGBy dGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfaW5zdGFuY2VfZ2V0YGAgdG8gZ2V0IHRoZQorICB0eCBh ZGFwdGVyIGluc3RhbmNlIGlkIGZvciBzcGVjaWZpZWQgZXRoZXJuZXQgZGV2aWNlIGlkIGFuZAor ICB0eCBxdWV1ZSBpbmRleC4KIAogLi4gVGhpcyBzZWN0aW9uIHNob3VsZCBjb250YWluIG5ldyBm ZWF0dXJlcyBhZGRlZCBpbiB0aGlzIHJlbGVhc2UuCiAgICBTYW1wbGUgZm9ybWF0OgoKaHR0cHM6 Ly9sYWIuZHBkay5vcmcvcmVzdWx0cy9kYXNoYm9hcmQvcGF0Y2hzZXRzLzIzMzI5LwoKVU5ILUlP TCBEUERLIENvbW11bml0eSBMYWIK --===============0000142992310050688==--