From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3BD4B8946E for ; Wed, 3 Jul 2019 13:43:19 +0000 (UTC) From: Lukasz Kalamarz Date: Wed, 3 Jul 2019 15:43:02 +0200 Message-Id: <20190703134303.328-1-lukasz.kalamarz@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 1/2] tools/intel_dump_audion: Rename BIT macros to REG_BIT List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Wu Fengguang , Zhenyu Wang List-ID: SW4ga2VybmVsIG1hY3JvIEJJVCBpcyB1c2VkIHRvIHNldCB2YWx1ZSAxIG9uIGEgZ2l2ZW4gQklU LCB3aGlsZSBpbgp0aGlzIHRvb2wgaXQgd2FzIGNoZWNraW5nIHZhbHVlIG9mIGdpdmVuIGJpdCBp biByZWdpc3Rlci4KU28gaXQgd2FzIHJlbmFtZWQuCgpTaWduZWQtb2ZmLWJ5OiBMdWthc3ogS2Fs YW1hcnogPGx1a2Fzei5rYWxhbWFyekBpbnRlbC5jb20+CkNjOiBaaGVueXUgV2FuZyA8emhlbnl1 Lnoud2FuZ0BpbnRlbC5jb20+CkNjOiBXdSBGZW5nZ3VhbmcgPGZlbmdndWFuZy53dUBpbnRlbC5j b20+CkNjOiBLYXRhcnp5bmEgRGVjIDxrYXRhcnp5bmEuZGVjQGludGVsLmNvbT4KQ2M6IE1pY2hh bCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgotLS0KIHRvb2xzL2ludGVs X2F1ZGlvX2R1bXAuYyB8IDExMzYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA1NjggaW5zZXJ0aW9ucygrKSwgNTY4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3Rvb2xzL2ludGVsX2F1ZGlvX2R1bXAuYyBiL3Rvb2xzL2ludGVsX2F1ZGlv X2R1bXAuYwppbmRleCA5MDI2MGEyZi4uNzI2YmI0YjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2ludGVs X2F1ZGlvX2R1bXAuYworKysgYi90b29scy9pbnRlbF9hdWRpb19kdW1wLmMKQEAgLTQ2LDggKzQ2 LDggQEAgc3RhdGljIGludCBkaXNwX3JlZ19iYXNlID0gMDsJLyogYmFzZSBhZGRyZXNzIG9mIGRp c3BsYXkgcmVnaXN0ZXJzICovCiAKICNkZWZpbmUgQklUU1RPKG4pCQkobiA+PSBzaXplb2YobG9u ZykgKiA4ID8gfjAgOiAoMVVMIDw8IChuKSkgLSAxKQogI2RlZmluZSBCSVRNQVNLKGhpZ2gsIGxv dykJKEJJVFNUTyhoaWdoKzEpICYgfkJJVFNUTyhsb3cpKQotI2RlZmluZSBCSVRTKHJlZywgaGln aCwgbG93KQkoKChyZWcpICYgKEJJVE1BU0soaGlnaCwgbG93KSkpID4+IChsb3cpKQotI2RlZmlu ZSBCSVQocmVnLCBuKQkJQklUUyhyZWcsIG4sIG4pCisjZGVmaW5lIFJFR19CSVRTKHJlZywgaGln aCwgbG93KQkoKChyZWcpICYgKEJJVE1BU0soaGlnaCwgbG93KSkpID4+IChsb3cpKQorI2RlZmlu ZSBSRUdfQklUKHJlZywgbikJCVJFR19CSVRTKHJlZywgbiwgbikKIAogI2RlZmluZSBtaW5fdCh0 eXBlLCB4LCB5KSAoeyAgICAgICAgICAgICAgICAgICAgXAogCQl0eXBlIF9fbWluMSA9ICh4KTsg ICAgICAgICAgICAgICAgICAgICAgXApAQCAtNDMwLDExICs0MzAsMTEgQEAgZW51bSB7CiAKIHN0 YXRpYyB2b2lkIGRvX3NlbGZfdGVzdHModm9pZCkKIHsKLQlpZiAoQklUKDEsIDApICE9IDEpCisJ aWYgKFJFR19CSVQoMSwgMCkgIT0gMSkKIAkJZXhpdCgxKTsKLQlpZiAoQklUKDB4ODAwMDAwMDAs IDMxKSAhPSAxKQorCWlmIChSRUdfQklUKDB4ODAwMDAwMDAsIDMxKSAhPSAxKQogCQlleGl0KDIp OwotCWlmIChCSVRTKDB4YzAwMDAwMDAsIDMxLCAzMCkgIT0gMykKKwlpZiAoUkVHX0JJVFMoMHhj MDAwMDAwMCwgMzEsIDMwKSAhPSAzKQogCQlleGl0KDMpOwogfQogCkBAIC01MzcsMTAgKzUzNywx MCBAQCBzdGF0aWMgdm9pZCBkdW1wX2VhZ2xlbGFrZSh2b2lkKQogCXByaW50ZigiQVVEX1ZJRF9E SUQgZGV2aWNlIGlkXHRcdFx0MHgleFxuIiwgZHdvcmQgJiAweGZmZmYpOwogCiAJZHdvcmQgPSBJ TlJFRyhBVURfUklEKTsKLQlwcmludGYoIkFVRF9SSUQgbWFqb3IgcmV2aXNpb25cdFx0XHQweCVs eFxuIiwgQklUUyhkd29yZCwgMjMsIDIwKSk7Ci0JcHJpbnRmKCJBVURfUklEIG1pbm9yIHJldmlz aW9uXHRcdFx0MHglbHhcbiIsIEJJVFMoZHdvcmQsIDE5LCAxNikpOwotCXByaW50ZigiQVVEX1JJ RCByZXZpc2lvbiBpZFx0XHRcdDB4JWx4XG4iLCAgICBCSVRTKGR3b3JkLCAxNSwgOCkpOwotCXBy aW50ZigiQVVEX1JJRCBzdGVwcGluZyBpZFx0XHRcdDB4JWx4XG4iLCAgICBCSVRTKGR3b3JkLCA3 LCAwKSk7CisJcHJpbnRmKCJBVURfUklEIG1ham9yIHJldmlzaW9uXHRcdFx0MHglbHhcbiIsIFJF R19CSVRTKGR3b3JkLCAyMywgMjApKTsKKwlwcmludGYoIkFVRF9SSUQgbWlub3IgcmV2aXNpb25c dFx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDE5LCAxNikpOworCXByaW50ZigiQVVEX1JJ RCByZXZpc2lvbiBpZFx0XHRcdDB4JWx4XG4iLCAgICBSRUdfQklUUyhkd29yZCwgMTUsIDgpKTsK KwlwcmludGYoIkFVRF9SSUQgc3RlcHBpbmcgaWRcdFx0XHQweCVseFxuIiwgICAgUkVHX0JJVFMo ZHdvcmQsIDcsIDApKTsKIAogCWR3b3JkID0gSU5SRUcoU0RWT0IpOwogCXByaW50ZigiU0RWT0Ig ZW5hYmxlXHRcdFx0XHQldVxuIiwgICAgICAhIShkd29yZCAmIFNEVk9fRU5BQkxFKSk7CkBAIC01 NTcsMTgwICs1NTcsMTgwIEBAIHN0YXRpYyB2b2lkIGR1bXBfZWFnbGVsYWtlKHZvaWQpCiAJcHJp bnRmKCJTRFZPQyBhdWRpbyBlbmFibGVkXHRcdFx0JXVcbiIsICEhKGR3b3JkICYgU0RWT19BVURJ T19FTkFCTEUpKTsKIAogCWR3b3JkID0gSU5SRUcoUE9SVF9IT1RQTFVHX0VOKTsKLQlwcmludGYo IlBPUlRfSE9UUExVR19FTiBEaXNwbGF5UG9ydC9IRE1JIHBvcnQgQlx0JWxkXG4iLCBCSVQoZHdv cmQsIDI5KSksCi0JcHJpbnRmKCJQT1JUX0hPVFBMVUdfRU4gRGlzcGxheVBvcnQvSERNSSBwb3J0 IENcdCVsZFxuIiwgQklUKGR3b3JkLCAyOCkpLAotCXByaW50ZigiUE9SVF9IT1RQTFVHX0VOIERp c3BsYXlQb3J0IHBvcnQgRFx0JWxkXG4iLCAgICAgIEJJVChkd29yZCwgMjcpKSwKLQlwcmludGYo IlBPUlRfSE9UUExVR19FTiBTRFZPQlx0XHRcdCVsZFxuIiwgQklUKGR3b3JkLCAyNikpLAotCXBy aW50ZigiUE9SVF9IT1RQTFVHX0VOIFNEVk9DXHRcdFx0JWxkXG4iLCBCSVQoZHdvcmQsIDI1KSks Ci0JcHJpbnRmKCJQT1JUX0hPVFBMVUdfRU4gYXVkaW9cdFx0XHQlbGRcbiIsIEJJVChkd29yZCwg MjQpKSwKLQlwcmludGYoIlBPUlRfSE9UUExVR19FTiBUVlx0XHRcdCVsZFxuIiwgICAgQklUKGR3 b3JkLCAyMykpLAotCXByaW50ZigiUE9SVF9IT1RQTFVHX0VOIENSVFx0XHRcdCVsZFxuIiwgICBC SVQoZHdvcmQsIDkpKSwKKwlwcmludGYoIlBPUlRfSE9UUExVR19FTiBEaXNwbGF5UG9ydC9IRE1J IHBvcnQgQlx0JWxkXG4iLCBSRUdfQklUKGR3b3JkLCAyOSkpLAorCXByaW50ZigiUE9SVF9IT1RQ TFVHX0VOIERpc3BsYXlQb3J0L0hETUkgcG9ydCBDXHQlbGRcbiIsIFJFR19CSVQoZHdvcmQsIDI4 KSksCisJcHJpbnRmKCJQT1JUX0hPVFBMVUdfRU4gRGlzcGxheVBvcnQgcG9ydCBEXHQlbGRcbiIs ICAgICAgUkVHX0JJVChkd29yZCwgMjcpKSwKKwlwcmludGYoIlBPUlRfSE9UUExVR19FTiBTRFZP Qlx0XHRcdCVsZFxuIiwgUkVHX0JJVChkd29yZCwgMjYpKSwKKwlwcmludGYoIlBPUlRfSE9UUExV R19FTiBTRFZPQ1x0XHRcdCVsZFxuIiwgUkVHX0JJVChkd29yZCwgMjUpKSwKKwlwcmludGYoIlBP UlRfSE9UUExVR19FTiBhdWRpb1x0XHRcdCVsZFxuIiwgUkVHX0JJVChkd29yZCwgMjQpKSwKKwlw cmludGYoIlBPUlRfSE9UUExVR19FTiBUVlx0XHRcdCVsZFxuIiwgICAgUkVHX0JJVChkd29yZCwg MjMpKSwKKwlwcmludGYoIlBPUlRfSE9UUExVR19FTiBDUlRcdFx0XHQlbGRcbiIsICAgUkVHX0JJ VChkd29yZCwgOSkpLAogCiAJZHdvcmQgPSBJTlJFRyhWSURFT19ESVBfQ1RMKTsKLQlwcmludGYo IlZJREVPX0RJUF9DVEwgZW5hYmxlIGdyYXBoaWNzIERJUFx0JWxkXG4iLCAgICAgQklUKGR3b3Jk LCAzMSkpLAorCXByaW50ZigiVklERU9fRElQX0NUTCBlbmFibGUgZ3JhcGhpY3MgRElQXHQlbGRc biIsICAgICBSRUdfQklUKGR3b3JkLCAzMSkpLAogCXByaW50ZigiVklERU9fRElQX0NUTCBwb3J0 IHNlbGVjdFx0XHRbMHglbHhdICVzXG4iLAotCQkJCUJJVFMoZHdvcmQsIDMwLCAyOSksIGRpcF9w b3J0W0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKLQlwcmludGYoIlZJREVPX0RJUF9DVEwgRElQIGJ1 ZmZlciB0cmFucyBhY3RpdmVcdCVsdVxuIiwgQklUKGR3b3JkLCAyOCkpOwotCXByaW50ZigiVklE RU9fRElQX0NUTCBBVkkgRElQIGVuYWJsZWRcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDIx KSk7Ci0JcHJpbnRmKCJWSURFT19ESVBfQ1RMIHZlbmRvciBESVAgZW5hYmxlZFx0JWx1XG4iLCAg ICAgIEJJVChkd29yZCwgMjIpKTsKLQlwcmludGYoIlZJREVPX0RJUF9DVEwgU1BEIERJUCBlbmFi bGVkXHRcdCVsdVxuIiwgICAgICAgQklUKGR3b3JkLCAyNCkpOworCQkJCVJFR19CSVRTKGR3b3Jk LCAzMCwgMjkpLCBkaXBfcG9ydFtSRUdfQklUUyhkd29yZCwgMzAsIDI5KV0pOworCXByaW50Zigi VklERU9fRElQX0NUTCBESVAgYnVmZmVyIHRyYW5zIGFjdGl2ZVx0JWx1XG4iLCBSRUdfQklUKGR3 b3JkLCAyOCkpOworCXByaW50ZigiVklERU9fRElQX0NUTCBBVkkgRElQIGVuYWJsZWRcdFx0JWx1 XG4iLCAgICAgICBSRUdfQklUKGR3b3JkLCAyMSkpOworCXByaW50ZigiVklERU9fRElQX0NUTCB2 ZW5kb3IgRElQIGVuYWJsZWRcdCVsdVxuIiwgICAgICBSRUdfQklUKGR3b3JkLCAyMikpOworCXBy aW50ZigiVklERU9fRElQX0NUTCBTUEQgRElQIGVuYWJsZWRcdFx0JWx1XG4iLCAgICAgICBSRUdf QklUKGR3b3JkLCAyNCkpOwogCXByaW50ZigiVklERU9fRElQX0NUTCBESVAgYnVmZmVyIGluZGV4 XHRcdFsweCVseF0gJXNcbiIsCi0JCQlCSVRTKGR3b3JkLCAyMCwgMTkpLCB2aWRlb19kaXBfaW5k ZXhbQklUUyhkd29yZCwgMjAsIDE5KV0pOworCQkJUkVHX0JJVFMoZHdvcmQsIDIwLCAxOSksIHZp ZGVvX2RpcF9pbmRleFtSRUdfQklUUyhkd29yZCwgMjAsIDE5KV0pOwogCXByaW50ZigiVklERU9f RElQX0NUTCBESVAgdHJhbnMgZnJlcVx0XHRbMHglbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwg MTcsIDE2KSwgdmlkZW9fZGlwX3RyYW5zW0JJVFMoZHdvcmQsIDE3LCAxNildKTsKLQlwcmludGYo IlZJREVPX0RJUF9DVEwgRElQIGJ1ZmZlciBzaXplXHRcdCVsdVxuIiwgQklUUyhkd29yZCwgMTEs IDgpKTsKLQlwcmludGYoIlZJREVPX0RJUF9DVEwgRElQIGFkZHJlc3NcdFx0JWx1XG4iLCBCSVRT KGR3b3JkLCAzLCAwKSk7CisJCQlSRUdfQklUUyhkd29yZCwgMTcsIDE2KSwgdmlkZW9fZGlwX3Ry YW5zW1JFR19CSVRTKGR3b3JkLCAxNywgMTYpXSk7CisJcHJpbnRmKCJWSURFT19ESVBfQ1RMIERJ UCBidWZmZXIgc2l6ZVx0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAxMSwgOCkpOworCXByaW50 ZigiVklERU9fRElQX0NUTCBESVAgYWRkcmVzc1x0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAz LCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9DT05GSUcpOwotCXByaW50ZigiQVVEX0NPTkZJ RyBwaXhlbCBjbG9ja1x0XHRcdFsweCVseF0gJXNcbiIsIEJJVFMoZHdvcmQsIDE5LCAxNiksCi0J CQlPUE5BTUUocGl4ZWxfY2xvY2ssIEJJVFMoZHdvcmQsIDE5LCAxNikpKTsKLQlwcmludGYoIkFV RF9DT05GSUcgZmFicmljYXRpb24gZW5hYmxlZFx0XHQlbHVcbiIsIEJJVFMoZHdvcmQsIDIsIDIp KTsKLQlwcmludGYoIkFVRF9DT05GSUcgcHJvZmVzc2lvbmFsIHVzZSBhbGxvd2VkXHQlbHVcbiIs IEJJVChkd29yZCwgMSkpOwotCXByaW50ZigiQVVEX0NPTkZJRyBmdXNlIGVuYWJsZWRcdFx0XHQl bHVcbiIsIEJJVChkd29yZCwgMCkpOworCXByaW50ZigiQVVEX0NPTkZJRyBwaXhlbCBjbG9ja1x0 XHRcdFsweCVseF0gJXNcbiIsIFJFR19CSVRTKGR3b3JkLCAxOSwgMTYpLAorCQkJT1BOQU1FKHBp eGVsX2Nsb2NrLCBSRUdfQklUUyhkd29yZCwgMTksIDE2KSkpOworCXByaW50ZigiQVVEX0NPTkZJ RyBmYWJyaWNhdGlvbiBlbmFibGVkXHRcdCVsdVxuIiwgUkVHX0JJVFMoZHdvcmQsIDIsIDIpKTsK KwlwcmludGYoIkFVRF9DT05GSUcgcHJvZmVzc2lvbmFsIHVzZSBhbGxvd2VkXHQlbHVcbiIsIFJF R19CSVQoZHdvcmQsIDEpKTsKKwlwcmludGYoIkFVRF9DT05GSUcgZnVzZSBlbmFibGVkXHRcdFx0 JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9ERUJVRyk7 Ci0JcHJpbnRmKCJBVURfREVCVUcgZnVuY3Rpb24gcmVzZXRcdFx0JWx1XG4iLCBCSVQoZHdvcmQs IDApKTsKKwlwcmludGYoIkFVRF9ERUJVRyBmdW5jdGlvbiByZXNldFx0XHQlbHVcbiIsIFJFR19C SVQoZHdvcmQsIDApKTsKIAogCWR3b3JkID0gSU5SRUcoQVVEX1NVQk5fQ05UKTsKLQlwcmludGYo IkFVRF9TVUJOX0NOVCBzdGFydGluZyBub2RlIG51bWJlclx0MHglbHhcbiIsICBCSVRTKGR3b3Jk LCAyMywgMTYpKTsKLQlwcmludGYoIkFVRF9TVUJOX0NOVCB0b3RhbCBudW1iZXIgb2Ygbm9kZXNc dDB4JWx4XG4iLCBCSVRTKGR3b3JkLCA3LCAwKSk7CisJcHJpbnRmKCJBVURfU1VCTl9DTlQgc3Rh cnRpbmcgbm9kZSBudW1iZXJcdDB4JWx4XG4iLCAgUkVHX0JJVFMoZHdvcmQsIDIzLCAxNikpOwor CXByaW50ZigiQVVEX1NVQk5fQ05UIHRvdGFsIG51bWJlciBvZiBub2Rlc1x0MHglbHhcbiIsIFJF R19CSVRTKGR3b3JkLCA3LCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9TVUJOX0NOVDIpOwot CXByaW50ZigiQVVEX1NVQk5fQ05UMiBzdGFydGluZyBub2RlIG51bWJlclx0MHglbHhcbiIsICBC SVRTKGR3b3JkLCAyNCwgMTYpKTsKLQlwcmludGYoIkFVRF9TVUJOX0NOVDIgdG90YWwgbnVtYmVy IG9mIG5vZGVzXHQweCVseFxuIiwgQklUUyhkd29yZCwgNywgMCkpOworCXByaW50ZigiQVVEX1NV Qk5fQ05UMiBzdGFydGluZyBub2RlIG51bWJlclx0MHglbHhcbiIsICBSRUdfQklUUyhkd29yZCwg MjQsIDE2KSk7CisJcHJpbnRmKCJBVURfU1VCTl9DTlQyIHRvdGFsIG51bWJlciBvZiBub2Rlc1x0 MHglbHhcbiIsIFJFR19CSVRTKGR3b3JkLCA3LCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9G VU5DX0dSUCk7Ci0JcHJpbnRmKCJBVURfRlVOQ19HUlAgdW5zb2wgY2FwYWJsZVx0XHQlbHVcbiIs IEJJVChkd29yZCwgOCkpOwotCXByaW50ZigiQVVEX0ZVTkNfR1JQIG5vZGUgdHlwZVx0XHRcdDB4 JWx4XG4iLCBCSVRTKGR3b3JkLCA3LCAwKSk7CisJcHJpbnRmKCJBVURfRlVOQ19HUlAgdW5zb2wg Y2FwYWJsZVx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDgpKTsKKwlwcmludGYoIkFVRF9GVU5D X0dSUCBub2RlIHR5cGVcdFx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDcsIDApKTsKIAog CWR3b3JkID0gSU5SRUcoQVVEX0dSUF9DQVApOwotCXByaW50ZigiQVVEX0dSUF9DQVAgYmVlcCAw XHRcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDE2KSk7Ci0JcHJpbnRmKCJBVURfR1JQX0NB UCBpbnB1dCBkZWxheVx0XHRcdCVsdVxuIiwgIEJJVFMoZHdvcmQsIDExLCA4KSk7Ci0JcHJpbnRm KCJBVURfR1JQX0NBUCBvdXRwdXQgZGVsYXlcdFx0JWx1XG4iLCAgIEJJVFMoZHdvcmQsIDMsIDAp KTsKKwlwcmludGYoIkFVRF9HUlBfQ0FQIGJlZXAgMFx0XHRcdCVsdVxuIiwgICAgICAgUkVHX0JJ VChkd29yZCwgMTYpKTsKKwlwcmludGYoIkFVRF9HUlBfQ0FQIGlucHV0IGRlbGF5XHRcdFx0JWx1 XG4iLCAgUkVHX0JJVFMoZHdvcmQsIDExLCA4KSk7CisJcHJpbnRmKCJBVURfR1JQX0NBUCBvdXRw dXQgZGVsYXlcdFx0JWx1XG4iLCAgIFJFR19CSVRTKGR3b3JkLCAzLCAwKSk7CiAKIAlkd29yZCA9 IElOUkVHKEFVRF9QV1JTVCk7CiAJcHJpbnRmKCJBVURfUFdSU1QgZGV2aWNlIHBvd2VyIHN0YXRl XHRcdCVzXG4iLAotCQkJcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgNSwgNCldKTsKKwkJCXBvd2Vy X3N0YXRlW1JFR19CSVRTKGR3b3JkLCA1LCA0KV0pOwogCXByaW50ZigiQVVEX1BXUlNUIGRldmlj ZSBwb3dlciBzdGF0ZSBzZXR0aW5nXHQlc1xuIiwKLQkJCXBvd2VyX3N0YXRlW0JJVFMoZHdvcmQs IDEsIDApXSk7CisJCQlwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMSwgMCldKTsKIAogCWR3 b3JkID0gSU5SRUcoQVVEX1NVUFBXUik7Ci0JcHJpbnRmKCJBVURfU1VQUFdSIHN1cHBvcnQgRDBc dFx0XHQlbHVcbiIsIEJJVChkd29yZCwgMCkpOwotCXByaW50ZigiQVVEX1NVUFBXUiBzdXBwb3J0 IEQxXHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDEpKTsKLQlwcmludGYoIkFVRF9TVVBQV1Igc3Vw cG9ydCBEMlx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyKSk7Ci0JcHJpbnRmKCJBVURfU1VQUFdS IHN1cHBvcnQgRDNcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgMykpOworCXByaW50ZigiQVVEX1NV UFBXUiBzdXBwb3J0IEQwXHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAwKSk7CisJcHJpbnRm KCJBVURfU1VQUFdSIHN1cHBvcnQgRDFcdFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDEpKTsK KwlwcmludGYoIkFVRF9TVVBQV1Igc3VwcG9ydCBEMlx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29y ZCwgMikpOworCXByaW50ZigiQVVEX1NVUFBXUiBzdXBwb3J0IEQzXHRcdFx0JWx1XG4iLCBSRUdf QklUKGR3b3JkLCAzKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9PVVRfQ1dDQVApOwotCXByaW50 ZigiQVVEX09VVF9DV0NBUCB3aWRnZXQgdHlwZVx0XHQweCVseFxuIiwgIEJJVFMoZHdvcmQsIDIz LCAyMCkpOwotCXByaW50ZigiQVVEX09VVF9DV0NBUCBzYW1wbGUgZGVsYXlcdFx0MHglbHhcbiIs IEJJVFMoZHdvcmQsIDE5LCAxNikpOworCXByaW50ZigiQVVEX09VVF9DV0NBUCB3aWRnZXQgdHlw ZVx0XHQweCVseFxuIiwgIFJFR19CSVRTKGR3b3JkLCAyMywgMjApKTsKKwlwcmludGYoIkFVRF9P VVRfQ1dDQVAgc2FtcGxlIGRlbGF5XHRcdDB4JWx4XG4iLCBSRUdfQklUUyhkd29yZCwgMTksIDE2 KSk7CiAJcHJpbnRmKCJBVURfT1VUX0NXQ0FQIGNoYW5uZWwgY291bnRcdFx0JWx1XG4iLAotCQkJ QklUUyhkd29yZCwgMTUsIDEzKSAqIDIgKyBCSVQoZHdvcmQsIDApICsgMSk7Ci0JcHJpbnRmKCJB VURfT1VUX0NXQ0FQIEwtUiBzd2FwXHRcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDExKSk7 Ci0JcHJpbnRmKCJBVURfT1VUX0NXQ0FQIHBvd2VyIGNvbnRyb2xcdFx0JWx1XG4iLCAgICBCSVQo ZHdvcmQsIDEwKSk7Ci0JcHJpbnRmKCJBVURfT1VUX0NXQ0FQIGRpZ2l0YWxcdFx0XHQlbHVcbiIs ICAgICAgICBCSVQoZHdvcmQsIDkpKTsKLQlwcmludGYoIkFVRF9PVVRfQ1dDQVAgY29ubiBsaXN0 XHRcdFx0JWx1XG4iLCAgICAgIEJJVChkd29yZCwgOCkpOwotCXByaW50ZigiQVVEX09VVF9DV0NB UCB1bnNvbFx0XHRcdCVsdVxuIiwgICAgICAgICAgQklUKGR3b3JkLCA3KSk7Ci0JcHJpbnRmKCJB VURfT1VUX0NXQ0FQIG11dGVcdFx0XHQlbHVcbiIsICAgICAgICAgICBCSVQoZHdvcmQsIDUpKTsK LQlwcmludGYoIkFVRF9PVVRfQ1dDQVAgZm9ybWF0IG92ZXJyaWRlXHRcdCVsdVxuIiwgIEJJVChk d29yZCwgNCkpOwotCXByaW50ZigiQVVEX09VVF9DV0NBUCBhbXAgcGFyYW0gb3ZlcnJpZGVcdCVs dVxuIiwgQklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCJBVURfT1VUX0NXQ0FQIG91dCBhbXAgcHJl c2VudFx0XHQlbHVcbiIsICBCSVQoZHdvcmQsIDIpKTsKLQlwcmludGYoIkFVRF9PVVRfQ1dDQVAg aW4gYW1wIHByZXNlbnRcdFx0JWx1XG4iLCAgIEJJVChkd29yZCwgMSkpOworCQkJUkVHX0JJVFMo ZHdvcmQsIDE1LCAxMykgKiAyICsgUkVHX0JJVChkd29yZCwgMCkgKyAxKTsKKwlwcmludGYoIkFV RF9PVVRfQ1dDQVAgTC1SIHN3YXBcdFx0XHQlbHVcbiIsICAgICAgIFJFR19CSVQoZHdvcmQsIDEx KSk7CisJcHJpbnRmKCJBVURfT1VUX0NXQ0FQIHBvd2VyIGNvbnRyb2xcdFx0JWx1XG4iLCAgICBS RUdfQklUKGR3b3JkLCAxMCkpOworCXByaW50ZigiQVVEX09VVF9DV0NBUCBkaWdpdGFsXHRcdFx0 JWx1XG4iLCAgICAgICAgUkVHX0JJVChkd29yZCwgOSkpOworCXByaW50ZigiQVVEX09VVF9DV0NB UCBjb25uIGxpc3RcdFx0XHQlbHVcbiIsICAgICAgUkVHX0JJVChkd29yZCwgOCkpOworCXByaW50 ZigiQVVEX09VVF9DV0NBUCB1bnNvbFx0XHRcdCVsdVxuIiwgICAgICAgICAgUkVHX0JJVChkd29y ZCwgNykpOworCXByaW50ZigiQVVEX09VVF9DV0NBUCBtdXRlXHRcdFx0JWx1XG4iLCAgICAgICAg ICAgUkVHX0JJVChkd29yZCwgNSkpOworCXByaW50ZigiQVVEX09VVF9DV0NBUCBmb3JtYXQgb3Zl cnJpZGVcdFx0JWx1XG4iLCAgUkVHX0JJVChkd29yZCwgNCkpOworCXByaW50ZigiQVVEX09VVF9D V0NBUCBhbXAgcGFyYW0gb3ZlcnJpZGVcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMykpOworCXBy aW50ZigiQVVEX09VVF9DV0NBUCBvdXQgYW1wIHByZXNlbnRcdFx0JWx1XG4iLCAgUkVHX0JJVChk d29yZCwgMikpOworCXByaW50ZigiQVVEX09VVF9DV0NBUCBpbiBhbXAgcHJlc2VudFx0XHQlbHVc biIsICAgUkVHX0JJVChkd29yZCwgMSkpOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfT1VUX0RJR19D TlZUKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlQgU1BESUYgY2F0ZWdvcnlcdFx0MHglbHhc biIsIEJJVFMoZHdvcmQsIDE0LCA4KSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIFNQRElG IGxldmVsXHRcdCVsdVxuIiwgICAgICBCSVQoZHdvcmQsIDcpKTsKLQlwcmludGYoIkFVRF9PVVRf RElHX0NOVlQgcHJvZmVzc2lvbmFsXHRcdCVsdVxuIiwgICAgIEJJVChkd29yZCwgNikpOwotCXBy aW50ZigiQVVEX09VVF9ESUdfQ05WVCBub24gUENNXHRcdCVsdVxuIiwgICAgICAgICAgQklUKGR3 b3JkLCA1KSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIGNvcHlyaWdodCBhc3NlcnRlZFx0 JWx1XG4iLCBCSVQoZHdvcmQsIDQpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlQgZmlsdGVy IHByZWVtcGhhc2lzXHQlbHVcbiIsIEJJVChkd29yZCwgMykpOwotCXByaW50ZigiQVVEX09VVF9E SUdfQ05WVCB2YWxpZGl0eSBjb25maWdcdCVsdVxuIiwgICAgQklUKGR3b3JkLCAyKSk7Ci0JcHJp bnRmKCJBVURfT1VUX0RJR19DTlZUIHZhbGlkaXR5IGZsYWdcdFx0JWx1XG4iLCAgICBCSVQoZHdv cmQsIDEpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlQgZGlnaXRhbCBlbmFibGVcdFx0JWx1 XG4iLCAgIEJJVChkd29yZCwgMCkpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVCBTUERJRiBj YXRlZ29yeVx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDE0LCA4KSk7CisJcHJpbnRmKCJB VURfT1VUX0RJR19DTlZUIFNQRElGIGxldmVsXHRcdCVsdVxuIiwgICAgICBSRUdfQklUKGR3b3Jk LCA3KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIHByb2Zlc3Npb25hbFx0XHQlbHVcbiIs ICAgICBSRUdfQklUKGR3b3JkLCA2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIG5vbiBQ Q01cdFx0JWx1XG4iLCAgICAgICAgICBSRUdfQklUKGR3b3JkLCA1KSk7CisJcHJpbnRmKCJBVURf T1VUX0RJR19DTlZUIGNvcHlyaWdodCBhc3NlcnRlZFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA0 KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIGZpbHRlciBwcmVlbXBoYXNpc1x0JWx1XG4i LCBSRUdfQklUKGR3b3JkLCAzKSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIHZhbGlkaXR5 IGNvbmZpZ1x0JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAyKSk7CisJcHJpbnRmKCJBVURfT1VU X0RJR19DTlZUIHZhbGlkaXR5IGZsYWdcdFx0JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAxKSk7 CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUIGRpZ2l0YWwgZW5hYmxlXHRcdCVsdVxuIiwgICBS RUdfQklUKGR3b3JkLCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9PVVRfQ0hfU1RSKTsKLQlw cmludGYoIkFVRF9PVVRfQ0hfU1RSIHN0cmVhbSBpZFx0XHQweCVseFxuIiwgICAgICAgIEJJVFMo ZHdvcmQsIDcsIDQpKTsKLQlwcmludGYoIkFVRF9PVVRfQ0hfU1RSIGxvd2VzdCBjaGFubmVsXHRc dCVsdVxuIiwgICAgIEJJVFMoZHdvcmQsIDMsIDApKTsKKwlwcmludGYoIkFVRF9PVVRfQ0hfU1RS IHN0cmVhbSBpZFx0XHQweCVseFxuIiwgICAgICAgIFJFR19CSVRTKGR3b3JkLCA3LCA0KSk7CisJ cHJpbnRmKCJBVURfT1VUX0NIX1NUUiBsb3dlc3QgY2hhbm5lbFx0XHQlbHVcbiIsICAgICBSRUdf QklUUyhkd29yZCwgMywgMCkpOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfT1VUX1NUUl9ERVNDKTsK LQlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0Mgc3RyZWFtIGNoYW5uZWxzXHQlbHVcbiIsICAgIEJJ VFMoZHdvcmQsIDMsIDApICsgMSk7CisJcHJpbnRmKCJBVURfT1VUX1NUUl9ERVNDIHN0cmVhbSBj aGFubmVsc1x0JWx1XG4iLCAgICBSRUdfQklUUyhkd29yZCwgMywgMCkgKyAxKTsKIAlwcmludGYo IkFVRF9PVVRfU1RSX0RFU0MgQml0cyBwZXIgU2FtcGxlXHRbJSNseF0gJXNcbiIsCi0JCQlCSVRT KGR3b3JkLCA2LCA0KSwgT1BOQU1FKGJpdHNfcGVyX3NhbXBsZSwgQklUUyhkd29yZCwgNiwgNCkp KTsKKwkJCVJFR19CSVRTKGR3b3JkLCA2LCA0KSwgT1BOQU1FKGJpdHNfcGVyX3NhbXBsZSwgUkVH X0JJVFMoZHdvcmQsIDYsIDQpKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9QSU5XX0NBUCk7Ci0J cHJpbnRmKCJBVURfUElOV19DQVAgd2lkZ2V0IHR5cGVcdFx0MHglbHhcbiIsICAgICAgICBCSVRT KGR3b3JkLCAyMywgMjApKTsKLQlwcmludGYoIkFVRF9QSU5XX0NBUCBzYW1wbGUgZGVsYXlcdFx0 MHglbHhcbiIsICAgICAgIEJJVFMoZHdvcmQsIDE5LCAxNikpOworCXByaW50ZigiQVVEX1BJTldf Q0FQIHdpZGdldCB0eXBlXHRcdDB4JWx4XG4iLCAgICAgICAgUkVHX0JJVFMoZHdvcmQsIDIzLCAy MCkpOworCXByaW50ZigiQVVEX1BJTldfQ0FQIHNhbXBsZSBkZWxheVx0XHQweCVseFxuIiwgICAg ICAgUkVHX0JJVFMoZHdvcmQsIDE5LCAxNikpOwogCXByaW50ZigiQVVEX1BJTldfQ0FQIGNoYW5u ZWwgY291bnRcdFx0JWx1XG4iLAotCQkJQklUUyhkd29yZCwgMTUsIDEzKSAqIDIgKyBCSVQoZHdv cmQsIDApICsgMSk7Ci0JcHJpbnRmKCJBVURfUElOV19DQVAgSERDUFx0XHRcdCVsdVxuIiwgICAg ICAgICAgICAgICBCSVQoZHdvcmQsIDEyKSk7Ci0JcHJpbnRmKCJBVURfUElOV19DQVAgTC1SIHN3 YXBcdFx0XHQlbHVcbiIsICAgICAgICAgICBCSVQoZHdvcmQsIDExKSk7Ci0JcHJpbnRmKCJBVURf UElOV19DQVAgcG93ZXIgY29udHJvbFx0XHQlbHVcbiIsICAgICAgICBCSVQoZHdvcmQsIDEwKSk7 Ci0JcHJpbnRmKCJBVURfUElOV19DQVAgZGlnaXRhbFx0XHRcdCVsdVxuIiwgICAgICAgICAgICBC SVQoZHdvcmQsIDkpKTsKLQlwcmludGYoIkFVRF9QSU5XX0NBUCBjb25uIGxpc3RcdFx0XHQlbHVc biIsICAgICAgICAgIEJJVChkd29yZCwgOCkpOwotCXByaW50ZigiQVVEX1BJTldfQ0FQIHVuc29s XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICAgQklUKGR3b3JkLCA3KSk7Ci0JcHJpbnRmKCJBVURf UElOV19DQVAgbXV0ZVx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgICBCSVQoZHdvcmQsIDUpKTsK LQlwcmludGYoIkFVRF9QSU5XX0NBUCBmb3JtYXQgb3ZlcnJpZGVcdFx0JWx1XG4iLCAgICAgIEJJ VChkd29yZCwgNCkpOwotCXByaW50ZigiQVVEX1BJTldfQ0FQIGFtcCBwYXJhbSBvdmVycmlkZVx0 XHQlbHVcbiIsICAgQklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCJBVURfUElOV19DQVAgb3V0IGFt cCBwcmVzZW50XHRcdCVsdVxuIiwgICAgICBCSVQoZHdvcmQsIDIpKTsKLQlwcmludGYoIkFVRF9Q SU5XX0NBUCBpbiBhbXAgcHJlc2VudFx0XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMSkpOwor CQkJUkVHX0JJVFMoZHdvcmQsIDE1LCAxMykgKiAyICsgUkVHX0JJVChkd29yZCwgMCkgKyAxKTsK KwlwcmludGYoIkFVRF9QSU5XX0NBUCBIRENQXHRcdFx0JWx1XG4iLCAgICAgICAgICAgICAgIFJF R19CSVQoZHdvcmQsIDEyKSk7CisJcHJpbnRmKCJBVURfUElOV19DQVAgTC1SIHN3YXBcdFx0XHQl bHVcbiIsICAgICAgICAgICBSRUdfQklUKGR3b3JkLCAxMSkpOworCXByaW50ZigiQVVEX1BJTldf Q0FQIHBvd2VyIGNvbnRyb2xcdFx0JWx1XG4iLCAgICAgICAgUkVHX0JJVChkd29yZCwgMTApKTsK KwlwcmludGYoIkFVRF9QSU5XX0NBUCBkaWdpdGFsXHRcdFx0JWx1XG4iLCAgICAgICAgICAgIFJF R19CSVQoZHdvcmQsIDkpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NBUCBjb25uIGxpc3RcdFx0XHQl bHVcbiIsICAgICAgICAgIFJFR19CSVQoZHdvcmQsIDgpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NB UCB1bnNvbFx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgIFJFR19CSVQoZHdvcmQsIDcpKTsKKwlw cmludGYoIkFVRF9QSU5XX0NBUCBtdXRlXHRcdFx0JWx1XG4iLCAgICAgICAgICAgICAgIFJFR19C SVQoZHdvcmQsIDUpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NBUCBmb3JtYXQgb3ZlcnJpZGVcdFx0 JWx1XG4iLCAgICAgIFJFR19CSVQoZHdvcmQsIDQpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NBUCBh bXAgcGFyYW0gb3ZlcnJpZGVcdFx0JWx1XG4iLCAgIFJFR19CSVQoZHdvcmQsIDMpKTsKKwlwcmlu dGYoIkFVRF9QSU5XX0NBUCBvdXQgYW1wIHByZXNlbnRcdFx0JWx1XG4iLCAgICAgIFJFR19CSVQo ZHdvcmQsIDIpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NBUCBpbiBhbXAgcHJlc2VudFx0XHQlbHVc biIsICAgICAgIFJFR19CSVQoZHdvcmQsIDEpKTsKIAogCiAJZHdvcmQgPSBJTlJFRyhBVURfUElO X0NBUCk7Ci0JcHJpbnRmKCJBVURfUElOX0NBUCBFQVBEXHRcdFx0JWx1XG4iLCAgICAgICAgICBC SVQoZHdvcmQsIDE2KSk7Ci0JcHJpbnRmKCJBVURfUElOX0NBUCBIRE1JXHRcdFx0JWx1XG4iLCAg ICAgICAgICBCSVQoZHdvcmQsIDcpKTsKLQlwcmludGYoIkFVRF9QSU5fQ0FQIG91dHB1dFx0XHRc dCVsdVxuIiwgICAgICAgIEJJVChkd29yZCwgNCkpOwotCXByaW50ZigiQVVEX1BJTl9DQVAgcHJl c2VuY2UgZGV0ZWN0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyKSk7CisJcHJpbnRmKCJBVURfUElO X0NBUCBFQVBEXHRcdFx0JWx1XG4iLCAgICAgICAgICBSRUdfQklUKGR3b3JkLCAxNikpOworCXBy aW50ZigiQVVEX1BJTl9DQVAgSERNSVx0XHRcdCVsdVxuIiwgICAgICAgICAgUkVHX0JJVChkd29y ZCwgNykpOworCXByaW50ZigiQVVEX1BJTl9DQVAgb3V0cHV0XHRcdFx0JWx1XG4iLCAgICAgICAg UkVHX0JJVChkd29yZCwgNCkpOworCXByaW50ZigiQVVEX1BJTl9DQVAgcHJlc2VuY2UgZGV0ZWN0 XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMikpOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfUElO V19DTlRSKTsKLQlwcmludGYoIkFVRF9QSU5XX0NOVFIgbXV0ZSBzdGF0dXNcdFx0JWx1XG4iLCAg ICAgQklUKGR3b3JkLCA4KSk7Ci0JcHJpbnRmKCJBVURfUElOV19DTlRSIG91dCBlbmFibGVcdFx0 JWx1XG4iLCAgICAgIEJJVChkd29yZCwgNikpOwotCXByaW50ZigiQVVEX1BJTldfQ05UUiBhbXAg bXV0ZSBzdGF0dXNcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDgpKTsKLQlwcmludGYoIkFVRF9QSU5X X0NOVFIgYW1wIG11dGUgc3RhdHVzXHRcdCVsdVxuIiwgQklUKGR3b3JkLCA4KSk7CisJcHJpbnRm KCJBVURfUElOV19DTlRSIG11dGUgc3RhdHVzXHRcdCVsdVxuIiwgICAgIFJFR19CSVQoZHdvcmQs IDgpKTsKKwlwcmludGYoIkFVRF9QSU5XX0NOVFIgb3V0IGVuYWJsZVx0XHQlbHVcbiIsICAgICAg UkVHX0JJVChkd29yZCwgNikpOworCXByaW50ZigiQVVEX1BJTldfQ05UUiBhbXAgbXV0ZSBzdGF0 dXNcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA4KSk7CisJcHJpbnRmKCJBVURfUElOV19DTlRS IGFtcCBtdXRlIHN0YXR1c1x0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDgpKTsKIAlwcmludGYo IkFVRF9QSU5XX0NOVFIgc3RyZWFtIHR5cGVcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdv cmQsIDIsIDApLAotCQkJT1BOQU1FKHN0cmVhbV90eXBlLCBCSVRTKGR3b3JkLCAyLCAwKSkpOwor CQkJUkVHX0JJVFMoZHdvcmQsIDIsIDApLAorCQkJT1BOQU1FKHN0cmVhbV90eXBlLCBSRUdfQklU Uyhkd29yZCwgMiwgMCkpKTsKIAogCWR3b3JkID0gSU5SRUcoQVVEX1BJTldfVU5TT0xSRVNQKTsK LQlwcmludGYoIkFVRF9QSU5XX1VOU09MUkVTUCBlbmFibGUgdW5zb2wgcmVzcFx0JWx1XG4iLCBC SVQoZHdvcmQsIDMxKSk7CisJcHJpbnRmKCJBVURfUElOV19VTlNPTFJFU1AgZW5hYmxlIHVuc29s IHJlc3BcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMzEpKTsKIAogCWR3b3JkID0gSU5SRUcoQVVE X0NOVExfU1QpOwotCXByaW50ZigiQVVEX0NOVExfU1QgRElQIGF1ZGlvIGVuYWJsZWRcdFx0JWx1 XG4iLCBCSVQoZHdvcmQsIDIxKSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVCBESVAgQUNQIGVuYWJs ZWRcdFx0JWx1XG4iLCAgIEJJVChkd29yZCwgMjIpKTsKLQlwcmludGYoIkFVRF9DTlRMX1NUIERJ UCBJU1JDeCBlbmFibGVkXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMykpOworCXByaW50ZigiQVVE X0NOVExfU1QgRElQIGF1ZGlvIGVuYWJsZWRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMSkp OworCXByaW50ZigiQVVEX0NOVExfU1QgRElQIEFDUCBlbmFibGVkXHRcdCVsdVxuIiwgICBSRUdf QklUKGR3b3JkLCAyMikpOworCXByaW50ZigiQVVEX0NOVExfU1QgRElQIElTUkN4IGVuYWJsZWRc dFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMykpOwogCXByaW50ZigiQVVEX0NOVExfU1QgRElQ IHBvcnQgc2VsZWN0XHRcdFsweCVseF0gJXNcbiIsCi0JCQlCSVRTKGR3b3JkLCAzMCwgMjkpLCBk aXBfcG9ydFtCSVRTKGR3b3JkLCAzMCwgMjkpXSk7CisJCQlSRUdfQklUUyhkd29yZCwgMzAsIDI5 KSwgZGlwX3BvcnRbUkVHX0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKIAlwcmludGYoIkFVRF9DTlRM X1NUIERJUCBidWZmZXIgaW5kZXhcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDIw LCAxOCksIE9QTkFNRShkaXBfaW5kZXgsIEJJVFMoZHdvcmQsIDIwLCAxOCkpKTsKKwkJCVJFR19C SVRTKGR3b3JkLCAyMCwgMTgpLCBPUE5BTUUoZGlwX2luZGV4LCBSRUdfQklUUyhkd29yZCwgMjAs IDE4KSkpOwogCXByaW50ZigiQVVEX0NOVExfU1QgRElQIHRyYW5zIGZyZXFcdFx0WzB4JWx4XSAl c1xuIiwKLQkJCUJJVFMoZHdvcmQsIDE3LCAxNiksIGRpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywg MTYpXSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVCBESVAgYWRkcmVzc1x0XHRcdCVsdVxuIiwgQklU Uyhkd29yZCwgMywgMCkpOwotCXByaW50ZigiQVVEX0NOVExfU1QgQ1AgcmVhZHlcdFx0XHQlbHVc biIsICAgIEJJVChkd29yZCwgMTUpKTsKLQlwcmludGYoIkFVRF9DTlRMX1NUIEVMRCB2YWxpZFx0 XHRcdCVsdVxuIiwgICBCSVQoZHdvcmQsIDE0KSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVCBFTEQg YWNrXHRcdFx0JWx1XG4iLCAgICAgQklUKGR3b3JkLCA0KSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9T VCBFTEQgYnVmc2l6ZVx0XHRcdCVsdVxuIiwgQklUUyhkd29yZCwgMTMsIDkpKTsKLQlwcmludGYo IkFVRF9DTlRMX1NUIEVMRCBhZGRyZXNzXHRcdFx0JWx1XG4iLCBCSVRTKGR3b3JkLCA4LCA1KSk7 CisJCQlSRUdfQklUUyhkd29yZCwgMTcsIDE2KSwgZGlwX3RyYW5zW1JFR19CSVRTKGR3b3JkLCAx NywgMTYpXSk7CisJcHJpbnRmKCJBVURfQ05UTF9TVCBESVAgYWRkcmVzc1x0XHRcdCVsdVxuIiwg UkVHX0JJVFMoZHdvcmQsIDMsIDApKTsKKwlwcmludGYoIkFVRF9DTlRMX1NUIENQIHJlYWR5XHRc dFx0JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAxNSkpOworCXByaW50ZigiQVVEX0NOVExfU1Qg RUxEIHZhbGlkXHRcdFx0JWx1XG4iLCAgIFJFR19CSVQoZHdvcmQsIDE0KSk7CisJcHJpbnRmKCJB VURfQ05UTF9TVCBFTEQgYWNrXHRcdFx0JWx1XG4iLCAgICAgUkVHX0JJVChkd29yZCwgNCkpOwor CXByaW50ZigiQVVEX0NOVExfU1QgRUxEIGJ1ZnNpemVcdFx0XHQlbHVcbiIsIFJFR19CSVRTKGR3 b3JkLCAxMywgOSkpOworCXByaW50ZigiQVVEX0NOVExfU1QgRUxEIGFkZHJlc3NcdFx0XHQlbHVc biIsIFJFR19CSVRTKGR3b3JkLCA4LCA1KSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9IRE1JV19T VEFUVVMpOwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyBDRENMSy9ET1RDTEsgdW5kZXJydW5c dCVsdVxuIiwgQklUKGR3b3JkLCAzMSkpOwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyBDRENM Sy9ET1RDTEsgb3ZlcnJ1blx0JWx1XG4iLCAgQklUKGR3b3JkLCAzMCkpOwotCXByaW50ZigiQVVE X0hETUlXX1NUQVRVUyBCQ0xLL0NEQ0xLIHVuZGVycnVuXHQlbHVcbiIsICAgQklUKGR3b3JkLCAy OSkpOwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyBCQ0xLL0NEQ0xLIG92ZXJydW5cdCVsdVxu IiwgICAgQklUKGR3b3JkLCAyOCkpOworCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyBDRENMSy9E T1RDTEsgdW5kZXJydW5cdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMzEpKTsKKwlwcmludGYoIkFV RF9IRE1JV19TVEFUVVMgQ0RDTEsvRE9UQ0xLIG92ZXJydW5cdCVsdVxuIiwgIFJFR19CSVQoZHdv cmQsIDMwKSk7CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTIEJDTEsvQ0RDTEsgdW5kZXJydW5c dCVsdVxuIiwgICBSRUdfQklUKGR3b3JkLCAyOSkpOworCXByaW50ZigiQVVEX0hETUlXX1NUQVRV UyBCQ0xLL0NEQ0xLIG92ZXJydW5cdCVsdVxuIiwgICAgUkVHX0JJVChkd29yZCwgMjgpKTsKIAog CWR3b3JkID0gSU5SRUcoQVVEX0NPTlZfQ0hDTlQpOwotCXByaW50ZigiQVVEX0NPTlZfQ0hDTlQg SERNSSBIQlIgZW5hYmxlZFx0XHQlbHVcbiIsIEJJVFMoZHdvcmQsIDE1LCAxNCkpOwotCXByaW50 ZigiQVVEX0NPTlZfQ0hDTlQgSERNSSBjaGFubmVsIGNvdW50XHQlbHVcbiIsIEJJVFMoZHdvcmQs IDExLCA4KSArIDEpOworCXByaW50ZigiQVVEX0NPTlZfQ0hDTlQgSERNSSBIQlIgZW5hYmxlZFx0 XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAxNSwgMTQpKTsKKwlwcmludGYoIkFVRF9DT05WX0NI Q05UIEhETUkgY2hhbm5lbCBjb3VudFx0JWx1XG4iLCBSRUdfQklUUyhkd29yZCwgMTEsIDgpICsg MSk7CiAKIAlwcmludGYoIkFVRF9DT05WX0NIQ05UIEhETUkgY2hhbm5lbCBtYXBwaW5nOlxuIik7 CiAJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgewogCQlPVVRSRUcoQVVEX0NPTlZfQ0hDTlQsIGkp OwogCQlkd29yZCA9IElOUkVHKEFVRF9DT05WX0NIQ05UKTsKLQkJcHJpbnRmKCJcdFx0XHRcdFx0 WzB4JXhdICV1ID0+ICVsdVxuIiwgZHdvcmQsIGksIEJJVFMoZHdvcmQsIDcsIDQpKTsKKwkJcHJp bnRmKCJcdFx0XHRcdFx0WzB4JXhdICV1ID0+ICVsdVxuIiwgZHdvcmQsIGksIFJFR19CSVRTKGR3 b3JkLCA3LCA0KSk7CiAJfQogCiAJcHJpbnRmKCJBVURfSERNSVdfSERNSUVESUQgSERNSSBFTEQ6 XG5cdCIpOwogCWR3b3JkID0gSU5SRUcoQVVEX0NOVExfU1QpOwogCWR3b3JkICY9IH5CSVRNQVNL KDgsIDUpOwogCU9VVFJFRyhBVURfQ05UTF9TVCwgZHdvcmQpOwotCWZvciAoaSA9IDA7IGkgPCBC SVRTKGR3b3JkLCAxNCwgMTApIC8gNDsgaSsrKQorCWZvciAoaSA9IDA7IGkgPCBSRUdfQklUUyhk d29yZCwgMTQsIDEwKSAvIDQ7IGkrKykKIAkJcHJpbnRmKCIlMDh4ICIsIGh0b25sKElOUkVHKEFV RF9IRE1JV19IRE1JRURJRCkpKTsKIAlwcmludGYoIlxuIik7CiAKQEAgLTg2NCwzNDcgKzg2NCwz NDcgQEAgc3RhdGljIHZvaWQgZHVtcF9jcHQodm9pZCkKIAlwcmludGYoIlxuRGV0YWlsczpcblxu Iik7CiAKIAlkd29yZCA9IElOUkVHKFZJREVPX0RJUF9DVExfQSk7Ci0JcHJpbnRmKCJWSURFT19E SVBfQ1RMX0EgRW5hYmxlX0dyYXBoaWNzX0RJUFx0XHRcdCVsZFxuIiwgICAgIEJJVChkd29yZCwg MzEpKSwKLQlwcmludGYoIlZJREVPX0RJUF9DVExfQSBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxk XG4iLCAgICAgQklUKGR3b3JkLCAyNSkpLAotCXByaW50ZigiVklERU9fRElQX0NUTF9BIFZpZGVv X0RJUF90eXBlX2VuYWJsZSBBVklcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDIxKSk7Ci0J cHJpbnRmKCJWSURFT19ESVBfQ1RMX0EgVmlkZW9fRElQX3R5cGVfZW5hYmxlIFZlbmRvclx0XHQl bHVcbiIsICAgICAgQklUKGR3b3JkLCAyMikpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9BIFZp ZGVvX0RJUF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMjMp KTsKLQlwcmludGYoIlZJREVPX0RJUF9DVExfQSBWaWRlb19ESVBfdHlwZV9lbmFibGUgU291cmNl IFx0XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMjQpKTsKKwlwcmludGYoIlZJREVPX0RJUF9D VExfQSBFbmFibGVfR3JhcGhpY3NfRElQXHRcdFx0JWxkXG4iLCAgICAgUkVHX0JJVChkd29yZCwg MzEpKSwKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQSBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxk XG4iLCAgICAgUkVHX0JJVChkd29yZCwgMjUpKSwKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQSBW aWRlb19ESVBfdHlwZV9lbmFibGUgQVZJXHRcdCVsdVxuIiwgICAgICAgUkVHX0JJVChkd29yZCwg MjEpKTsKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQSBWaWRlb19ESVBfdHlwZV9lbmFibGUgVmVu ZG9yXHRcdCVsdVxuIiwgICAgICBSRUdfQklUKGR3b3JkLCAyMikpOworCXByaW50ZigiVklERU9f RElQX0NUTF9BIFZpZGVvX0RJUF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIFJF R19CSVQoZHdvcmQsIDIzKSk7CisJcHJpbnRmKCJWSURFT19ESVBfQ1RMX0EgVmlkZW9fRElQX3R5 cGVfZW5hYmxlIFNvdXJjZSBcdFx0JWx1XG4iLCAgICAgICBSRUdfQklUKGR3b3JkLCAyNCkpOwog CXByaW50ZigiVklERU9fRElQX0NUTF9BIFZpZGVvX0RJUF9idWZmZXJfaW5kZXhcdFx0XHRbMHgl bHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgMjAsIDE5KSwgdmlkZW9fZGlwX2luZGV4W0JJVFMo ZHdvcmQsIDIwLCAxOSldKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAyMCwgMTkpLCB2aWRlb19kaXBf aW5kZXhbUkVHX0JJVFMoZHdvcmQsIDIwLCAxOSldKTsKIAlwcmludGYoIlZJREVPX0RJUF9DVExf QSBWaWRlb19ESVBfZnJlcXVlbmN5XHRcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQs IDE3LCAxNiksIHZpZGVvX2RpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JcHJpbnRm KCJWSURFT19ESVBfQ1RMX0EgVmlkZW9fRElQX2J1ZmZlcl9zaXplXHRcdFx0JWx1XG4iLCBCSVRT KGR3b3JkLCAxMSwgOCkpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9BIFZpZGVvX0RJUF9hY2Nl c3NfYWRkcmVzc1x0XHQlbHVcbiIsIEJJVFMoZHdvcmQsIDMsIDApKTsKKwkJCVJFR19CSVRTKGR3 b3JkLCAxNywgMTYpLCB2aWRlb19kaXBfdHJhbnNbUkVHX0JJVFMoZHdvcmQsIDE3LCAxNildKTsK KwlwcmludGYoIlZJREVPX0RJUF9DVExfQSBWaWRlb19ESVBfYnVmZmVyX3NpemVcdFx0XHQlbHVc biIsIFJFR19CSVRTKGR3b3JkLCAxMSwgOCkpOworCXByaW50ZigiVklERU9fRElQX0NUTF9BIFZp ZGVvX0RJUF9hY2Nlc3NfYWRkcmVzc1x0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAzLCAwKSk7 CiAKIAlkd29yZCA9IElOUkVHKFZJREVPX0RJUF9DVExfQik7Ci0JcHJpbnRmKCJWSURFT19ESVBf Q1RMX0IgRW5hYmxlX0dyYXBoaWNzX0RJUFx0XHRcdCVsZFxuIiwgICAgIEJJVChkd29yZCwgMzEp KSwKLQlwcmludGYoIlZJREVPX0RJUF9DVExfQiBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxkXG4i LCAgICAgQklUKGR3b3JkLCAyNSkpLAotCXByaW50ZigiVklERU9fRElQX0NUTF9CIFZpZGVvX0RJ UF90eXBlX2VuYWJsZSBBVklcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDIxKSk7Ci0JcHJp bnRmKCJWSURFT19ESVBfQ1RMX0IgVmlkZW9fRElQX3R5cGVfZW5hYmxlIFZlbmRvclx0XHQlbHVc biIsICAgICAgQklUKGR3b3JkLCAyMikpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9CIFZpZGVv X0RJUF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMjMpKTsK LQlwcmludGYoIlZJREVPX0RJUF9DVExfQiBWaWRlb19ESVBfdHlwZV9lbmFibGUgU291cmNlIFx0 XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMjQpKTsKKwlwcmludGYoIlZJREVPX0RJUF9DVExf QiBFbmFibGVfR3JhcGhpY3NfRElQXHRcdFx0JWxkXG4iLCAgICAgUkVHX0JJVChkd29yZCwgMzEp KSwKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQiBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxkXG4i LCAgICAgUkVHX0JJVChkd29yZCwgMjUpKSwKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQiBWaWRl b19ESVBfdHlwZV9lbmFibGUgQVZJXHRcdCVsdVxuIiwgICAgICAgUkVHX0JJVChkd29yZCwgMjEp KTsKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQiBWaWRlb19ESVBfdHlwZV9lbmFibGUgVmVuZG9y XHRcdCVsdVxuIiwgICAgICBSRUdfQklUKGR3b3JkLCAyMikpOworCXByaW50ZigiVklERU9fRElQ X0NUTF9CIFZpZGVvX0RJUF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIFJFR19C SVQoZHdvcmQsIDIzKSk7CisJcHJpbnRmKCJWSURFT19ESVBfQ1RMX0IgVmlkZW9fRElQX3R5cGVf ZW5hYmxlIFNvdXJjZSBcdFx0JWx1XG4iLCAgICAgICBSRUdfQklUKGR3b3JkLCAyNCkpOwogCXBy aW50ZigiVklERU9fRElQX0NUTF9CIFZpZGVvX0RJUF9idWZmZXJfaW5kZXhcdFx0XHRbMHglbHhd ICVzXG4iLAotCQkJQklUUyhkd29yZCwgMjAsIDE5KSwgdmlkZW9fZGlwX2luZGV4W0JJVFMoZHdv cmQsIDIwLCAxOSldKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAyMCwgMTkpLCB2aWRlb19kaXBfaW5k ZXhbUkVHX0JJVFMoZHdvcmQsIDIwLCAxOSldKTsKIAlwcmludGYoIlZJREVPX0RJUF9DVExfQiBW aWRlb19ESVBfZnJlcXVlbmN5XHRcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDE3 LCAxNiksIHZpZGVvX2RpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JcHJpbnRmKCJW SURFT19ESVBfQ1RMX0IgVmlkZW9fRElQX2J1ZmZlcl9zaXplXHRcdFx0JWx1XG4iLCBCSVRTKGR3 b3JkLCAxMSwgOCkpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9CIFZpZGVvX0RJUF9hY2Nlc3Nf YWRkcmVzc1x0XHQlbHVcbiIsIEJJVFMoZHdvcmQsIDMsIDApKTsKKwkJCVJFR19CSVRTKGR3b3Jk LCAxNywgMTYpLCB2aWRlb19kaXBfdHJhbnNbUkVHX0JJVFMoZHdvcmQsIDE3LCAxNildKTsKKwlw cmludGYoIlZJREVPX0RJUF9DVExfQiBWaWRlb19ESVBfYnVmZmVyX3NpemVcdFx0XHQlbHVcbiIs IFJFR19CSVRTKGR3b3JkLCAxMSwgOCkpOworCXByaW50ZigiVklERU9fRElQX0NUTF9CIFZpZGVv X0RJUF9hY2Nlc3NfYWRkcmVzc1x0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAzLCAwKSk7CiAK IAlkd29yZCA9IElOUkVHKFZJREVPX0RJUF9DVExfQyk7Ci0JcHJpbnRmKCJWSURFT19ESVBfQ1RM X0MgRW5hYmxlX0dyYXBoaWNzX0RJUFx0XHRcdCVsZFxuIiwgICAgIEJJVChkd29yZCwgMzEpKSwK LQlwcmludGYoIlZJREVPX0RJUF9DVExfQyBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxkXG4iLCAg ICAgQklUKGR3b3JkLCAyNSkpLAotCXByaW50ZigiVklERU9fRElQX0NUTF9DIFZpZGVvX0RJUF90 eXBlX2VuYWJsZSBBVklcdFx0JWx1XG4iLCAgICAgICBCSVQoZHdvcmQsIDIxKSk7Ci0JcHJpbnRm KCJWSURFT19ESVBfQ1RMX0MgVmlkZW9fRElQX3R5cGVfZW5hYmxlIFZlbmRvclx0XHQlbHVcbiIs ICAgICAgQklUKGR3b3JkLCAyMikpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9DIFZpZGVvX0RJ UF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIEJJVChkd29yZCwgMjMpKTsKLQlw cmludGYoIlZJREVPX0RJUF9DVExfQyBWaWRlb19ESVBfdHlwZV9lbmFibGUgU291cmNlIFx0XHQl bHVcbiIsICAgICAgIEJJVChkd29yZCwgMjQpKTsKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQyBF bmFibGVfR3JhcGhpY3NfRElQXHRcdFx0JWxkXG4iLCAgICAgUkVHX0JJVChkd29yZCwgMzEpKSwK KwlwcmludGYoIlZJREVPX0RJUF9DVExfQyBHQ1BfRElQX2VuYWJsZVx0XHRcdFx0JWxkXG4iLCAg ICAgUkVHX0JJVChkd29yZCwgMjUpKSwKKwlwcmludGYoIlZJREVPX0RJUF9DVExfQyBWaWRlb19E SVBfdHlwZV9lbmFibGUgQVZJXHRcdCVsdVxuIiwgICAgICAgUkVHX0JJVChkd29yZCwgMjEpKTsK KwlwcmludGYoIlZJREVPX0RJUF9DVExfQyBWaWRlb19ESVBfdHlwZV9lbmFibGUgVmVuZG9yXHRc dCVsdVxuIiwgICAgICBSRUdfQklUKGR3b3JkLCAyMikpOworCXByaW50ZigiVklERU9fRElQX0NU TF9DIFZpZGVvX0RJUF90eXBlX2VuYWJsZSBHYW11dFx0XHQlbHVcbiIsICAgICAgIFJFR19CSVQo ZHdvcmQsIDIzKSk7CisJcHJpbnRmKCJWSURFT19ESVBfQ1RMX0MgVmlkZW9fRElQX3R5cGVfZW5h YmxlIFNvdXJjZSBcdFx0JWx1XG4iLCAgICAgICBSRUdfQklUKGR3b3JkLCAyNCkpOwogCXByaW50 ZigiVklERU9fRElQX0NUTF9DIFZpZGVvX0RJUF9idWZmZXJfaW5kZXhcdFx0XHRbMHglbHhdICVz XG4iLAotCQkJQklUUyhkd29yZCwgMjAsIDE5KSwgdmlkZW9fZGlwX2luZGV4W0JJVFMoZHdvcmQs IDIwLCAxOSldKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAyMCwgMTkpLCB2aWRlb19kaXBfaW5kZXhb UkVHX0JJVFMoZHdvcmQsIDIwLCAxOSldKTsKIAlwcmludGYoIlZJREVPX0RJUF9DVExfQyBWaWRl b19ESVBfZnJlcXVlbmN5XHRcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDE3LCAx NiksIHZpZGVvX2RpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JcHJpbnRmKCJWSURF T19ESVBfQ1RMX0MgVmlkZW9fRElQX2J1ZmZlcl9zaXplXHRcdFx0JWx1XG4iLCBCSVRTKGR3b3Jk LCAxMSwgOCkpOwotCXByaW50ZigiVklERU9fRElQX0NUTF9DIFZpZGVvX0RJUF9hY2Nlc3NfYWRk cmVzc1x0XHQlbHVcbiIsIEJJVFMoZHdvcmQsIDMsIDApKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAx NywgMTYpLCB2aWRlb19kaXBfdHJhbnNbUkVHX0JJVFMoZHdvcmQsIDE3LCAxNildKTsKKwlwcmlu dGYoIlZJREVPX0RJUF9DVExfQyBWaWRlb19ESVBfYnVmZmVyX3NpemVcdFx0XHQlbHVcbiIsIFJF R19CSVRTKGR3b3JkLCAxMSwgOCkpOworCXByaW50ZigiVklERU9fRElQX0NUTF9DIFZpZGVvX0RJ UF9hY2Nlc3NfYWRkcmVzc1x0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAzLCAwKSk7CiAKIAlk d29yZCA9IElOUkVHKEFVRF9WSURfRElEKTsKIAlwcmludGYoIkFVRF9WSURfRElEIHZlbmRvciBp ZFx0XHRcdFx0XHQweCV4XG4iLCBkd29yZCA+PiAxNik7CiAJcHJpbnRmKCJBVURfVklEX0RJRCBk ZXZpY2UgaWRcdFx0XHRcdFx0MHgleFxuIiwgZHdvcmQgJiAweGZmZmYpOwogCiAJZHdvcmQgPSBJ TlJFRyhBVURfUklEKTsKLQlwcmludGYoIkFVRF9SSUQgTWFqb3JfUmV2aXNpb25cdFx0XHRcdFx0 MHglbHhcbiIsIEJJVFMoZHdvcmQsIDIzLCAyMCkpOwotCXByaW50ZigiQVVEX1JJRCBNaW5vcl9S ZXZpc2lvblx0XHRcdFx0XHQweCVseFxuIiwgQklUUyhkd29yZCwgMTksIDE2KSk7Ci0JcHJpbnRm KCJBVURfUklEIFJldmlzaW9uX0lkXHRcdFx0XHRcdDB4JWx4XG4iLCAgICBCSVRTKGR3b3JkLCAx NSwgOCkpOwotCXByaW50ZigiQVVEX1JJRCBTdGVwcGluZ19JZFx0XHRcdFx0XHQweCVseFxuIiwg ICAgQklUUyhkd29yZCwgNywgMCkpOworCXByaW50ZigiQVVEX1JJRCBNYWpvcl9SZXZpc2lvblx0 XHRcdFx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDIzLCAyMCkpOworCXByaW50ZigiQVVE X1JJRCBNaW5vcl9SZXZpc2lvblx0XHRcdFx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDE5 LCAxNikpOworCXByaW50ZigiQVVEX1JJRCBSZXZpc2lvbl9JZFx0XHRcdFx0XHQweCVseFxuIiwg ICAgUkVHX0JJVFMoZHdvcmQsIDE1LCA4KSk7CisJcHJpbnRmKCJBVURfUklEIFN0ZXBwaW5nX0lk XHRcdFx0XHRcdDB4JWx4XG4iLCAgICBSRUdfQklUUyhkd29yZCwgNywgMCkpOwogCiAJZHdvcmQg PSBJTlJFRyhIRE1JQik7CiAJcHJpbnRmKCJIRE1JQiBQb3J0X0VuYWJsZVx0XHRcdFx0XHQldVxu IiwgICAgICAhIShkd29yZCAmIFNEVk9fRU5BQkxFKSk7CiAJcHJpbnRmKCJIRE1JQiBUcmFuc2Nv ZGVyX1NlbGVjdFx0XHRcdFx0XHRbMHglbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgMzAsIDI5 KSwgdHJhbnNjb2Rlcl9zZWxlY3RbQklUUyhkd29yZCwgMzAsIDI5KV0pOwotCXByaW50ZigiSERN SUIgc0RWT19Cb3JkZXJfRW5hYmxlXHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgNykpOwotCXBy aW50ZigiSERNSUIgSERDUF9Qb3J0X1NlbGVjdFx0XHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwg NSkpOwotCXByaW50ZigiSERNSUIgU0RWT19IUERfSW50ZXJydXB0X0VuYWJsZVx0XHRcdFx0JWx1 XG4iLCBCSVQoZHdvcmQsIDIzKSk7Ci0JcHJpbnRmKCJIRE1JQiBQb3J0X0RldGVjdGVkXHRcdFx0 XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyKSk7CisJCQlSRUdfQklUUyhkd29yZCwgMzAsIDI5KSwg dHJhbnNjb2Rlcl9zZWxlY3RbUkVHX0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKKwlwcmludGYoIkhE TUlCIHNEVk9fQm9yZGVyX0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA3KSk7 CisJcHJpbnRmKCJIRE1JQiBIRENQX1BvcnRfU2VsZWN0XHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJ VChkd29yZCwgNSkpOworCXByaW50ZigiSERNSUIgU0RWT19IUERfSW50ZXJydXB0X0VuYWJsZVx0 XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMykpOworCXByaW50ZigiSERNSUIgUG9ydF9E ZXRlY3RlZFx0XHRcdFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDIpKTsKIAlwcmludGYoIkhE TUlCIEVuY29kaW5nXHRcdFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDEx LCAxMCksIHNkdm9faGRtaV9lbmNvZGluZ1tCSVRTKGR3b3JkLCAxMSwgMTApXSk7Ci0JcHJpbnRm KCJIRE1JQiBIRE1JX29yX0RWSV9TZWxlY3RcdFx0XHRcdCVzXG4iLCBCSVQoZHdvcmQsIDkpID8g IkhETUkiIDogIkRWSSIpOworCQkJUkVHX0JJVFMoZHdvcmQsIDExLCAxMCksIHNkdm9faGRtaV9l bmNvZGluZ1tSRUdfQklUUyhkd29yZCwgMTEsIDEwKV0pOworCXByaW50ZigiSERNSUIgSERNSV9v cl9EVklfU2VsZWN0XHRcdFx0XHQlc1xuIiwgUkVHX0JJVChkd29yZCwgOSkgPyAiSERNSSIgOiAi RFZJIik7CiAJcHJpbnRmKCJIRE1JQiBBdWRpb19PdXRwdXRfRW5hYmxlXHRcdFx0XHQldVxuIiwg ISEoZHdvcmQgJiBTRFZPX0FVRElPX0VOQUJMRSkpOwogCiAJZHdvcmQgPSBJTlJFRyhIRE1JQyk7 CiAJcHJpbnRmKCJIRE1JQyBQb3J0X0VuYWJsZVx0XHRcdFx0XHQldVxuIiwgICAgICAhIShkd29y ZCAmIFNEVk9fRU5BQkxFKSk7CiAJcHJpbnRmKCJIRE1JQyBUcmFuc2NvZGVyX1NlbGVjdFx0XHRc dFx0XHRbMHglbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgMzAsIDI5KSwgdHJhbnNjb2Rlcl9z ZWxlY3RbQklUUyhkd29yZCwgMzAsIDI5KV0pOwotCXByaW50ZigiSERNSUMgc0RWT19Cb3JkZXJf RW5hYmxlXHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgNykpOwotCXByaW50ZigiSERNSUMgSERD UF9Qb3J0X1NlbGVjdFx0XHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgNSkpOwotCXByaW50Zigi SERNSUMgU0RWT19IUERfSW50ZXJydXB0X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQs IDIzKSk7Ci0JcHJpbnRmKCJIRE1JQyBQb3J0X0RldGVjdGVkXHRcdFx0XHRcdCVsdVxuIiwgQklU KGR3b3JkLCAyKSk7CisJCQlSRUdfQklUUyhkd29yZCwgMzAsIDI5KSwgdHJhbnNjb2Rlcl9zZWxl Y3RbUkVHX0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKKwlwcmludGYoIkhETUlDIHNEVk9fQm9yZGVy X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA3KSk7CisJcHJpbnRmKCJIRE1J QyBIRENQX1BvcnRfU2VsZWN0XHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgNSkpOwor CXByaW50ZigiSERNSUMgU0RWT19IUERfSW50ZXJydXB0X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBS RUdfQklUKGR3b3JkLCAyMykpOworCXByaW50ZigiSERNSUMgUG9ydF9EZXRlY3RlZFx0XHRcdFx0 XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDIpKTsKIAlwcmludGYoIkhETUlDIEVuY29kaW5nXHRc dFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDExLCAxMCksIHNkdm9faGRt aV9lbmNvZGluZ1tCSVRTKGR3b3JkLCAxMSwgMTApXSk7Ci0JcHJpbnRmKCJIRE1JQyBIRE1JX29y X0RWSV9TZWxlY3RcdFx0XHRcdCVzXG4iLCBCSVQoZHdvcmQsIDkpID8gIkhETUkiIDogIkRWSSIp OworCQkJUkVHX0JJVFMoZHdvcmQsIDExLCAxMCksIHNkdm9faGRtaV9lbmNvZGluZ1tSRUdfQklU Uyhkd29yZCwgMTEsIDEwKV0pOworCXByaW50ZigiSERNSUMgSERNSV9vcl9EVklfU2VsZWN0XHRc dFx0XHQlc1xuIiwgUkVHX0JJVChkd29yZCwgOSkgPyAiSERNSSIgOiAiRFZJIik7CiAJcHJpbnRm KCJIRE1JQyBBdWRpb19PdXRwdXRfRW5hYmxlXHRcdFx0XHQldVxuIiwgISEoZHdvcmQgJiBTRFZP X0FVRElPX0VOQUJMRSkpOwogCiAJZHdvcmQgPSBJTlJFRyhIRE1JRCk7CiAJcHJpbnRmKCJIRE1J RCBQb3J0X0VuYWJsZVx0XHRcdFx0XHQldVxuIiwgICAgICAhIShkd29yZCAmIFNEVk9fRU5BQkxF KSk7CiAJcHJpbnRmKCJIRE1JRCBUcmFuc2NvZGVyX1NlbGVjdFx0XHRcdFx0XHRbMHglbHhdICVz XG4iLAotCQkJQklUUyhkd29yZCwgMzAsIDI5KSwgdHJhbnNjb2Rlcl9zZWxlY3RbQklUUyhkd29y ZCwgMzAsIDI5KV0pOwotCXByaW50ZigiSERNSUQgc0RWT19Cb3JkZXJfRW5hYmxlXHRcdFx0XHQl bHVcbiIsIEJJVChkd29yZCwgNykpOwotCXByaW50ZigiSERNSUQgSERDUF9Qb3J0X1NlbGVjdFx0 XHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgNSkpOwotCXByaW50ZigiSERNSUQgU0RWT19IUERf SW50ZXJydXB0X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDIzKSk7Ci0JcHJpbnRm KCJIRE1JRCBQb3J0X0RldGVjdGVkXHRcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyKSk7CisJ CQlSRUdfQklUUyhkd29yZCwgMzAsIDI5KSwgdHJhbnNjb2Rlcl9zZWxlY3RbUkVHX0JJVFMoZHdv cmQsIDMwLCAyOSldKTsKKwlwcmludGYoIkhETUlEIHNEVk9fQm9yZGVyX0VuYWJsZVx0XHRcdFx0 JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA3KSk7CisJcHJpbnRmKCJIRE1JRCBIRENQX1BvcnRfU2Vs ZWN0XHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgNSkpOworCXByaW50ZigiSERNSUQg U0RWT19IUERfSW50ZXJydXB0X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAy MykpOworCXByaW50ZigiSERNSUQgUG9ydF9EZXRlY3RlZFx0XHRcdFx0XHQlbHVcbiIsIFJFR19C SVQoZHdvcmQsIDIpKTsKIAlwcmludGYoIkhETUlEIEVuY29kaW5nXHRcdFx0XHRcdFx0WzB4JWx4 XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDExLCAxMCksIHNkdm9faGRtaV9lbmNvZGluZ1tCSVRT KGR3b3JkLCAxMSwgMTApXSk7Ci0JcHJpbnRmKCJIRE1JRCBIRE1JX29yX0RWSV9TZWxlY3RcdFx0 XHRcdCVzXG4iLCBCSVQoZHdvcmQsIDkpID8gIkhETUkiIDogIkRWSSIpOworCQkJUkVHX0JJVFMo ZHdvcmQsIDExLCAxMCksIHNkdm9faGRtaV9lbmNvZGluZ1tSRUdfQklUUyhkd29yZCwgMTEsIDEw KV0pOworCXByaW50ZigiSERNSUQgSERNSV9vcl9EVklfU2VsZWN0XHRcdFx0XHQlc1xuIiwgUkVH X0JJVChkd29yZCwgOSkgPyAiSERNSSIgOiAiRFZJIik7CiAJcHJpbnRmKCJIRE1JRCBBdWRpb19P dXRwdXRfRW5hYmxlXHRcdFx0XHQldVxuIiwgISEoZHdvcmQgJiBTRFZPX0FVRElPX0VOQUJMRSkp OwogCiAJZHdvcmQgPSBJTlJFRyhEUF9DVExfQik7Ci0JcHJpbnRmKCJEUF9DVExfQiBEaXNwbGF5 UG9ydF9FbmFibGVcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAzMSkpOworCXByaW50ZigiRFBf Q1RMX0IgRGlzcGxheVBvcnRfRW5hYmxlXHRcdFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDMx KSk7CiAJcHJpbnRmKCJEUF9DVExfQiBQb3J0X1dpZHRoX1NlbGVjdGlvblx0XHRcdFx0WzB4JWx4 XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDIxLCAxOSksIGRwX3BvcnRfd2lkdGhbQklUUyhkd29y ZCwgMjEsIDE5KV0pOwotCXByaW50ZigiRFBfQ1RMX0IgUG9ydF9EZXRlY3RlZFx0XHRcdFx0XHQl bHVcbiIsIEJJVChkd29yZCwgMikpOwotCXByaW50ZigiRFBfQ1RMX0IgSERDUF9Qb3J0X1NlbGVj dFx0XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDUpKTsKLQlwcmludGYoIkRQX0NUTF9CIEF1ZGlv X091dHB1dF9FbmFibGVcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCA2KSk7CisJCQlSRUdfQklU Uyhkd29yZCwgMjEsIDE5KSwgZHBfcG9ydF93aWR0aFtSRUdfQklUUyhkd29yZCwgMjEsIDE5KV0p OworCXByaW50ZigiRFBfQ1RMX0IgUG9ydF9EZXRlY3RlZFx0XHRcdFx0XHQlbHVcbiIsIFJFR19C SVQoZHdvcmQsIDIpKTsKKwlwcmludGYoIkRQX0NUTF9CIEhEQ1BfUG9ydF9TZWxlY3RcdFx0XHRc dCVsdVxuIiwgUkVHX0JJVChkd29yZCwgNSkpOworCXByaW50ZigiRFBfQ1RMX0IgQXVkaW9fT3V0 cHV0X0VuYWJsZVx0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA2KSk7CiAKIAlkd29yZCA9 IElOUkVHKERQX0NUTF9DKTsKLQlwcmludGYoIkRQX0NUTF9DIERpc3BsYXlQb3J0X0VuYWJsZVx0 XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDMxKSk7CisJcHJpbnRmKCJEUF9DVExfQyBEaXNwbGF5 UG9ydF9FbmFibGVcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMzEpKTsKIAlwcmludGYo IkRQX0NUTF9DIFBvcnRfV2lkdGhfU2VsZWN0aW9uXHRcdFx0XHRbMHglbHhdICVzXG4iLAotCQkJ QklUUyhkd29yZCwgMjEsIDE5KSwgZHBfcG9ydF93aWR0aFtCSVRTKGR3b3JkLCAyMSwgMTkpXSk7 Ci0JcHJpbnRmKCJEUF9DVExfQyBQb3J0X0RldGVjdGVkXHRcdFx0XHRcdCVsdVxuIiwgQklUKGR3 b3JkLCAyKSk7Ci0JcHJpbnRmKCJEUF9DVExfQyBIRENQX1BvcnRfU2VsZWN0XHRcdFx0XHQlbHVc biIsIEJJVChkd29yZCwgNSkpOwotCXByaW50ZigiRFBfQ1RMX0MgQXVkaW9fT3V0cHV0X0VuYWJs ZVx0XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDYpKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAyMSwg MTkpLCBkcF9wb3J0X3dpZHRoW1JFR19CSVRTKGR3b3JkLCAyMSwgMTkpXSk7CisJcHJpbnRmKCJE UF9DVExfQyBQb3J0X0RldGVjdGVkXHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMikp OworCXByaW50ZigiRFBfQ1RMX0MgSERDUF9Qb3J0X1NlbGVjdFx0XHRcdFx0JWx1XG4iLCBSRUdf QklUKGR3b3JkLCA1KSk7CisJcHJpbnRmKCJEUF9DVExfQyBBdWRpb19PdXRwdXRfRW5hYmxlXHRc dFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDYpKTsKIAogCWR3b3JkID0gSU5SRUcoRFBfQ1RM X0QpOwotCXByaW50ZigiRFBfQ1RMX0QgRGlzcGxheVBvcnRfRW5hYmxlXHRcdFx0XHQlbHVcbiIs IEJJVChkd29yZCwgMzEpKTsKKwlwcmludGYoIkRQX0NUTF9EIERpc3BsYXlQb3J0X0VuYWJsZVx0 XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAzMSkpOwogCXByaW50ZigiRFBfQ1RMX0QgUG9y dF9XaWR0aF9TZWxlY3Rpb25cdFx0XHRcdFsweCVseF0gJXNcbiIsCi0JCQlCSVRTKGR3b3JkLCAy MSwgMTkpLCBkcF9wb3J0X3dpZHRoW0JJVFMoZHdvcmQsIDIxLCAxOSldKTsKLQlwcmludGYoIkRQ X0NUTF9EIFBvcnRfRGV0ZWN0ZWRcdFx0XHRcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDIpKTsKLQlw cmludGYoIkRQX0NUTF9EIEhEQ1BfUG9ydF9TZWxlY3RcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3Jk LCA1KSk7Ci0JcHJpbnRmKCJEUF9DVExfRCBBdWRpb19PdXRwdXRfRW5hYmxlXHRcdFx0XHQlbHVc biIsIEJJVChkd29yZCwgNikpOworCQkJUkVHX0JJVFMoZHdvcmQsIDIxLCAxOSksIGRwX3BvcnRf d2lkdGhbUkVHX0JJVFMoZHdvcmQsIDIxLCAxOSldKTsKKwlwcmludGYoIkRQX0NUTF9EIFBvcnRf RGV0ZWN0ZWRcdFx0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyKSk7CisJcHJpbnRmKCJE UF9DVExfRCBIRENQX1BvcnRfU2VsZWN0XHRcdFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDUp KTsKKwlwcmludGYoIkRQX0NUTF9EIEF1ZGlvX091dHB1dF9FbmFibGVcdFx0XHRcdCVsdVxuIiwg UkVHX0JJVChkd29yZCwgNikpOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfQ09ORklHX0EpOwotCXBy aW50ZigiQVVEX0NPTkZJR19BICBOX2luZGV4X3ZhbHVlXHRcdFx0XHRbMHglbHhdICVzXG4iLCBC SVQoZHdvcmQsIDI5KSwKLQkJCW5faW5kZXhfdmFsdWVbQklUKGR3b3JkLCAyOSldKTsKLQlwcmlu dGYoIkFVRF9DT05GSUdfQSAgTl9wcm9ncmFtbWluZ19lbmFibGVcdFx0XHQlbHVcbiIsIEJJVChk d29yZCwgMjgpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQSAgVXBwZXJfTl92YWx1ZVx0XHRcdFx0 MHglMDJseFxuIiwgQklUUyhkd29yZCwgMjcsIDIwKSk7Ci0JcHJpbnRmKCJBVURfQ09ORklHX0Eg IExvd2VyX05fdmFsdWVcdFx0XHRcdDB4JTAzbHhcbiIsIEJJVFMoZHdvcmQsIDE1LCA0KSk7Ci0J cHJpbnRmKCJBVURfQ09ORklHX0EgIFBpeGVsX0Nsb2NrX0hETUlcdFx0XHRcdFsweCVseF0gJXNc biIsIEJJVFMoZHdvcmQsIDE5LCAxNiksCi0JCQlPUE5BTUUocGl4ZWxfY2xvY2ssIEJJVFMoZHdv cmQsIDE5LCAxNikpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQSAgRGlzYWJsZV9OQ1RTXHRcdFx0 XHQlbHVcbiIsIEJJVChkd29yZCwgMykpOworCXByaW50ZigiQVVEX0NPTkZJR19BICBOX2luZGV4 X3ZhbHVlXHRcdFx0XHRbMHglbHhdICVzXG4iLCBSRUdfQklUKGR3b3JkLCAyOSksCisJCQluX2lu ZGV4X3ZhbHVlW1JFR19CSVQoZHdvcmQsIDI5KV0pOworCXByaW50ZigiQVVEX0NPTkZJR19BICBO X3Byb2dyYW1taW5nX2VuYWJsZVx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjgpKTsKKwlw cmludGYoIkFVRF9DT05GSUdfQSAgVXBwZXJfTl92YWx1ZVx0XHRcdFx0MHglMDJseFxuIiwgUkVH X0JJVFMoZHdvcmQsIDI3LCAyMCkpOworCXByaW50ZigiQVVEX0NPTkZJR19BICBMb3dlcl9OX3Zh bHVlXHRcdFx0XHQweCUwM2x4XG4iLCBSRUdfQklUUyhkd29yZCwgMTUsIDQpKTsKKwlwcmludGYo IkFVRF9DT05GSUdfQSAgUGl4ZWxfQ2xvY2tfSERNSVx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgUkVH X0JJVFMoZHdvcmQsIDE5LCAxNiksCisJCQlPUE5BTUUocGl4ZWxfY2xvY2ssIFJFR19CSVRTKGR3 b3JkLCAxOSwgMTYpKSk7CisJcHJpbnRmKCJBVURfQ09ORklHX0EgIERpc2FibGVfTkNUU1x0XHRc dFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAzKSk7CiAJZHdvcmQgPSBJTlJFRyhBVURfQ09ORklH X0IpOwotCXByaW50ZigiQVVEX0NPTkZJR19CICBOX2luZGV4X3ZhbHVlXHRcdFx0XHRbMHglbHhd ICVzXG4iLCBCSVQoZHdvcmQsIDI5KSwKLQkJCW5faW5kZXhfdmFsdWVbQklUKGR3b3JkLCAyOSld KTsKLQlwcmludGYoIkFVRF9DT05GSUdfQiAgTl9wcm9ncmFtbWluZ19lbmFibGVcdFx0XHQlbHVc biIsIEJJVChkd29yZCwgMjgpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQiAgVXBwZXJfTl92YWx1 ZVx0XHRcdFx0MHglMDJseFxuIiwgQklUUyhkd29yZCwgMjcsIDIwKSk7Ci0JcHJpbnRmKCJBVURf Q09ORklHX0IgIExvd2VyX05fdmFsdWVcdFx0XHRcdDB4JTAzbHhcbiIsIEJJVFMoZHdvcmQsIDE1 LCA0KSk7Ci0JcHJpbnRmKCJBVURfQ09ORklHX0IgIFBpeGVsX0Nsb2NrX0hETUlcdFx0XHRcdFsw eCVseF0gJXNcbiIsIEJJVFMoZHdvcmQsIDE5LCAxNiksCi0JCQlPUE5BTUUocGl4ZWxfY2xvY2ss IEJJVFMoZHdvcmQsIDE5LCAxNikpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQiAgRGlzYWJsZV9O Q1RTXHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgMykpOworCXByaW50ZigiQVVEX0NPTkZJR19C ICBOX2luZGV4X3ZhbHVlXHRcdFx0XHRbMHglbHhdICVzXG4iLCBSRUdfQklUKGR3b3JkLCAyOSks CisJCQluX2luZGV4X3ZhbHVlW1JFR19CSVQoZHdvcmQsIDI5KV0pOworCXByaW50ZigiQVVEX0NP TkZJR19CICBOX3Byb2dyYW1taW5nX2VuYWJsZVx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwg MjgpKTsKKwlwcmludGYoIkFVRF9DT05GSUdfQiAgVXBwZXJfTl92YWx1ZVx0XHRcdFx0MHglMDJs eFxuIiwgUkVHX0JJVFMoZHdvcmQsIDI3LCAyMCkpOworCXByaW50ZigiQVVEX0NPTkZJR19CICBM b3dlcl9OX3ZhbHVlXHRcdFx0XHQweCUwM2x4XG4iLCBSRUdfQklUUyhkd29yZCwgMTUsIDQpKTsK KwlwcmludGYoIkFVRF9DT05GSUdfQiAgUGl4ZWxfQ2xvY2tfSERNSVx0XHRcdFx0WzB4JWx4XSAl c1xuIiwgUkVHX0JJVFMoZHdvcmQsIDE5LCAxNiksCisJCQlPUE5BTUUocGl4ZWxfY2xvY2ssIFJF R19CSVRTKGR3b3JkLCAxOSwgMTYpKSk7CisJcHJpbnRmKCJBVURfQ09ORklHX0IgIERpc2FibGVf TkNUU1x0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAzKSk7CiAJZHdvcmQgPSBJTlJFRyhB VURfQ09ORklHX0MpOwotCXByaW50ZigiQVVEX0NPTkZJR19DICBOX2luZGV4X3ZhbHVlXHRcdFx0 XHRbMHglbHhdICVzXG4iLCBCSVQoZHdvcmQsIDI5KSwKLQkJCW5faW5kZXhfdmFsdWVbQklUKGR3 b3JkLCAyOSldKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQyAgTl9wcm9ncmFtbWluZ19lbmFibGVc dFx0XHQlbHVcbiIsIEJJVChkd29yZCwgMjgpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQyAgVXBw ZXJfTl92YWx1ZVx0XHRcdFx0MHglMDJseFxuIiwgQklUUyhkd29yZCwgMjcsIDIwKSk7Ci0JcHJp bnRmKCJBVURfQ09ORklHX0MgIExvd2VyX05fdmFsdWVcdFx0XHRcdDB4JTAzbHhcbiIsIEJJVFMo ZHdvcmQsIDE1LCA0KSk7Ci0JcHJpbnRmKCJBVURfQ09ORklHX0MgIFBpeGVsX0Nsb2NrX0hETUlc dFx0XHRcdFsweCVseF0gJXNcbiIsIEJJVFMoZHdvcmQsIDE5LCAxNiksCi0JCQlPUE5BTUUocGl4 ZWxfY2xvY2ssIEJJVFMoZHdvcmQsIDE5LCAxNikpKTsKLQlwcmludGYoIkFVRF9DT05GSUdfQyAg RGlzYWJsZV9OQ1RTXHRcdFx0XHQlbHVcbiIsIEJJVChkd29yZCwgMykpOworCXByaW50ZigiQVVE X0NPTkZJR19DICBOX2luZGV4X3ZhbHVlXHRcdFx0XHRbMHglbHhdICVzXG4iLCBSRUdfQklUKGR3 b3JkLCAyOSksCisJCQluX2luZGV4X3ZhbHVlW1JFR19CSVQoZHdvcmQsIDI5KV0pOworCXByaW50 ZigiQVVEX0NPTkZJR19DICBOX3Byb2dyYW1taW5nX2VuYWJsZVx0XHRcdCVsdVxuIiwgUkVHX0JJ VChkd29yZCwgMjgpKTsKKwlwcmludGYoIkFVRF9DT05GSUdfQyAgVXBwZXJfTl92YWx1ZVx0XHRc dFx0MHglMDJseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDI3LCAyMCkpOworCXByaW50ZigiQVVEX0NP TkZJR19DICBMb3dlcl9OX3ZhbHVlXHRcdFx0XHQweCUwM2x4XG4iLCBSRUdfQklUUyhkd29yZCwg MTUsIDQpKTsKKwlwcmludGYoIkFVRF9DT05GSUdfQyAgUGl4ZWxfQ2xvY2tfSERNSVx0XHRcdFx0 WzB4JWx4XSAlc1xuIiwgUkVHX0JJVFMoZHdvcmQsIDE5LCAxNiksCisJCQlPUE5BTUUocGl4ZWxf Y2xvY2ssIFJFR19CSVRTKGR3b3JkLCAxOSwgMTYpKSk7CisJcHJpbnRmKCJBVURfQ09ORklHX0Mg IERpc2FibGVfTkNUU1x0XHRcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAzKSk7CiAKIAlkd29y ZCA9IElOUkVHKEFVRF9DVFNfRU5BQkxFX0EpOwotCXByaW50ZigiQVVEX0NUU19FTkFCTEVfQSAg RW5hYmxlX0NUU19vcl9NX3Byb2dyYW1taW5nXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMCkpOwot CXByaW50ZigiQVVEX0NUU19FTkFCTEVfQSAgQ1RTX00gdmFsdWUgSW5kZXhcdFx0XHQlc1xuIiwg QklUKGR3b3JkLCAyMSkgPyAiQ1RTIiA6ICJNIik7Ci0JcHJpbnRmKCJBVURfQ1RTX0VOQUJMRV9B ICBDVFNfcHJvZ3JhbW1pbmdcdFx0XHQlI2x4XG4iLCBCSVRTKGR3b3JkLCAxOSwgMCkpOworCXBy aW50ZigiQVVEX0NUU19FTkFCTEVfQSAgRW5hYmxlX0NUU19vcl9NX3Byb2dyYW1taW5nXHRcdCVs dVxuIiwgUkVHX0JJVChkd29yZCwgMjApKTsKKwlwcmludGYoIkFVRF9DVFNfRU5BQkxFX0EgIENU U19NIHZhbHVlIEluZGV4XHRcdFx0JXNcbiIsIFJFR19CSVQoZHdvcmQsIDIxKSA/ICJDVFMiIDog Ik0iKTsKKwlwcmludGYoIkFVRF9DVFNfRU5BQkxFX0EgIENUU19wcm9ncmFtbWluZ1x0XHRcdCUj bHhcbiIsIFJFR19CSVRTKGR3b3JkLCAxOSwgMCkpOwogCWR3b3JkID0gSU5SRUcoQVVEX0NUU19F TkFCTEVfQik7Ci0JcHJpbnRmKCJBVURfQ1RTX0VOQUJMRV9CICBFbmFibGVfQ1RTX29yX01fcHJv Z3JhbW1pbmdcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDIwKSk7Ci0JcHJpbnRmKCJBVURfQ1RTX0VO QUJMRV9CICBDVFNfTSB2YWx1ZSBJbmRleFx0XHRcdCVzXG4iLCBCSVQoZHdvcmQsIDIxKSA/ICJD VFMiIDogIk0iKTsKLQlwcmludGYoIkFVRF9DVFNfRU5BQkxFX0IgIENUU19wcm9ncmFtbWluZ1x0 XHRcdCUjbHhcbiIsIEJJVFMoZHdvcmQsIDE5LCAwKSk7CisJcHJpbnRmKCJBVURfQ1RTX0VOQUJM RV9CICBFbmFibGVfQ1RTX29yX01fcHJvZ3JhbW1pbmdcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3Jk LCAyMCkpOworCXByaW50ZigiQVVEX0NUU19FTkFCTEVfQiAgQ1RTX00gdmFsdWUgSW5kZXhcdFx0 XHQlc1xuIiwgUkVHX0JJVChkd29yZCwgMjEpID8gIkNUUyIgOiAiTSIpOworCXByaW50ZigiQVVE X0NUU19FTkFCTEVfQiAgQ1RTX3Byb2dyYW1taW5nXHRcdFx0JSNseFxuIiwgUkVHX0JJVFMoZHdv cmQsIDE5LCAwKSk7CiAJZHdvcmQgPSBJTlJFRyhBVURfQ1RTX0VOQUJMRV9DKTsKLQlwcmludGYo IkFVRF9DVFNfRU5BQkxFX0MgIEVuYWJsZV9DVFNfb3JfTV9wcm9ncmFtbWluZ1x0XHQlbHVcbiIs IEJJVChkd29yZCwgMjApKTsKLQlwcmludGYoIkFVRF9DVFNfRU5BQkxFX0MgIENUU19NIHZhbHVl IEluZGV4XHRcdFx0JXNcbiIsIEJJVChkd29yZCwgMjEpID8gIkNUUyIgOiAiTSIpOwotCXByaW50 ZigiQVVEX0NUU19FTkFCTEVfQyAgQ1RTX3Byb2dyYW1taW5nXHRcdFx0JSNseFxuIiwgQklUUyhk d29yZCwgMTksIDApKTsKKwlwcmludGYoIkFVRF9DVFNfRU5BQkxFX0MgIEVuYWJsZV9DVFNfb3Jf TV9wcm9ncmFtbWluZ1x0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDIwKSk7CisJcHJpbnRmKCJB VURfQ1RTX0VOQUJMRV9DICBDVFNfTSB2YWx1ZSBJbmRleFx0XHRcdCVzXG4iLCBSRUdfQklUKGR3 b3JkLCAyMSkgPyAiQ1RTIiA6ICJNIik7CisJcHJpbnRmKCJBVURfQ1RTX0VOQUJMRV9DICBDVFNf cHJvZ3JhbW1pbmdcdFx0XHQlI2x4XG4iLCBSRUdfQklUUyhkd29yZCwgMTksIDApKTsKIAogCWR3 b3JkID0gSU5SRUcoQVVEX01JU0NfQ1RSTF9BKTsKLQlwcmludGYoIkFVRF9NSVNDX0NUUkxfQSAg U2FtcGxlX0ZhYnJpY2F0aW9uX0VOX2JpdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgMikpOwotCXBy aW50ZigiQVVEX01JU0NfQ1RSTF9BICBTYW1wbGVfcHJlc2VudF9EaXNhYmxlXHRcdFx0JWx1XG4i LAlCSVQoZHdvcmQsIDgpKTsKLQlwcmludGYoIkFVRF9NSVNDX0NUUkxfQSAgT3V0cHV0X0RlbGF5 XHRcdFx0XHQlbHVcbiIsCQlCSVRTKGR3b3JkLCA3LCA0KSk7Ci0JcHJpbnRmKCJBVURfTUlTQ19D VFJMX0EgIFByb19BbGxvd2VkXHRcdFx0XHQlbHVcbiIsCQkJQklUKGR3b3JkLCAxKSk7CisJcHJp bnRmKCJBVURfTUlTQ19DVFJMX0EgIFNhbXBsZV9GYWJyaWNhdGlvbl9FTl9iaXRcdFx0JWx1XG4i LAlSRUdfQklUKGR3b3JkLCAyKSk7CisJcHJpbnRmKCJBVURfTUlTQ19DVFJMX0EgIFNhbXBsZV9w cmVzZW50X0Rpc2FibGVcdFx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDgpKTsKKwlwcmludGYo IkFVRF9NSVNDX0NUUkxfQSAgT3V0cHV0X0RlbGF5XHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUUyhk d29yZCwgNywgNCkpOworCXByaW50ZigiQVVEX01JU0NfQ1RSTF9BICBQcm9fQWxsb3dlZFx0XHRc dFx0JWx1XG4iLAkJCVJFR19CSVQoZHdvcmQsIDEpKTsKIAlkd29yZCA9IElOUkVHKEFVRF9NSVND X0NUUkxfQik7Ci0JcHJpbnRmKCJBVURfTUlTQ19DVFJMX0IgIFNhbXBsZV9GYWJyaWNhdGlvbl9F Tl9iaXRcdFx0JWx1XG4iLAlCSVQoZHdvcmQsIDIpKTsKLQlwcmludGYoIkFVRF9NSVNDX0NUUkxf QiAgU2FtcGxlX3ByZXNlbnRfRGlzYWJsZVx0XHRcdCVsdVxuIiwJQklUKGR3b3JkLCA4KSk7Ci0J cHJpbnRmKCJBVURfTUlTQ19DVFJMX0IgIE91dHB1dF9EZWxheVx0XHRcdFx0JWx1XG4iLAkJQklU Uyhkd29yZCwgNywgNCkpOwotCXByaW50ZigiQVVEX01JU0NfQ1RSTF9CICBQcm9fQWxsb3dlZFx0 XHRcdFx0JWx1XG4iLAkJCUJJVChkd29yZCwgMSkpOworCXByaW50ZigiQVVEX01JU0NfQ1RSTF9C ICBTYW1wbGVfRmFicmljYXRpb25fRU5fYml0XHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwgMikp OworCXByaW50ZigiQVVEX01JU0NfQ1RSTF9CICBTYW1wbGVfcHJlc2VudF9EaXNhYmxlXHRcdFx0 JWx1XG4iLAlSRUdfQklUKGR3b3JkLCA4KSk7CisJcHJpbnRmKCJBVURfTUlTQ19DVFJMX0IgIE91 dHB1dF9EZWxheVx0XHRcdFx0JWx1XG4iLAkJUkVHX0JJVFMoZHdvcmQsIDcsIDQpKTsKKwlwcmlu dGYoIkFVRF9NSVNDX0NUUkxfQiAgUHJvX0FsbG93ZWRcdFx0XHRcdCVsdVxuIiwJCQlSRUdfQklU KGR3b3JkLCAxKSk7CiAJZHdvcmQgPSBJTlJFRyhBVURfTUlTQ19DVFJMX0MpOwotCXByaW50Zigi QVVEX01JU0NfQ1RSTF9DICBTYW1wbGVfRmFicmljYXRpb25fRU5fYml0XHRcdCVsdVxuIiwJQklU KGR3b3JkLCAyKSk7Ci0JcHJpbnRmKCJBVURfTUlTQ19DVFJMX0MgIFNhbXBsZV9wcmVzZW50X0Rp c2FibGVcdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgOCkpOwotCXByaW50ZigiQVVEX01JU0NfQ1RS TF9DICBPdXRwdXRfRGVsYXlcdFx0XHRcdCVsdVxuIiwJCUJJVFMoZHdvcmQsIDcsIDQpKTsKLQlw cmludGYoIkFVRF9NSVNDX0NUUkxfQyAgUHJvX0FsbG93ZWRcdFx0XHRcdCVsdVxuIiwJCQlCSVQo ZHdvcmQsIDEpKTsKKwlwcmludGYoIkFVRF9NSVNDX0NUUkxfQyAgU2FtcGxlX0ZhYnJpY2F0aW9u X0VOX2JpdFx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDIpKTsKKwlwcmludGYoIkFVRF9NSVND X0NUUkxfQyAgU2FtcGxlX3ByZXNlbnRfRGlzYWJsZVx0XHRcdCVsdVxuIiwJUkVHX0JJVChkd29y ZCwgOCkpOworCXByaW50ZigiQVVEX01JU0NfQ1RSTF9DICBPdXRwdXRfRGVsYXlcdFx0XHRcdCVs dVxuIiwJCVJFR19CSVRTKGR3b3JkLCA3LCA0KSk7CisJcHJpbnRmKCJBVURfTUlTQ19DVFJMX0Mg IFByb19BbGxvd2VkXHRcdFx0XHQlbHVcbiIsCQkJUkVHX0JJVChkd29yZCwgMSkpOwogCiAJZHdv cmQgPSBJTlJFRyhBVURfUFdSU1QpOwotCXByaW50ZigiQVVEX1BXUlNUICBGdW5jX0dycF9EZXZf UHdyU3RfQ3VyciAgICAgICAgICAgICAgICAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdv cmQsIDI3LCAyNildKTsKLQlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19HcnBfRGV2X1B3clN0X1Nl dCAgICAgICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAyNSwg MjQpXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvckFfV2lkZ2V0X1Bvd2VyX1N0YXRl X0N1cnJlbnQgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgMTUsIDE0KV0pOwot CXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3JBX1dpZGdldF9Qb3dlcl9TdGF0ZV9SZXF1c3Rl ZCAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDEzLCAxMildKTsKLQlwcmludGYo IkFVRF9QV1JTVCAgQ29udmVydG9yQl9XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICBcdCVz XG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAxOSwgMTgpXSk7Ci0JcHJpbnRmKCJBVURfUFdS U1QgIENvbnZlcnRvckJfV2lkZ2V0X1Bvd2VyX1N0YXRlX1JlcXVlc3RlZCAgXHQlc1xuIiwgcG93 ZXJfc3RhdGVbQklUUyhkd29yZCwgMTcsIDE2KV0pOwotCXByaW50ZigiQVVEX1BXUlNUICBDb252 Q19XaWRnZXRfUHdyU3RfQ3VyciAgICAgICAgICAgICAgICAgIFx0JXNcbiIsIHBvd2VyX3N0YXRl W0JJVFMoZHdvcmQsIDIzLCAyMildKTsKLQlwcmludGYoIkFVRF9QV1JTVCAgQ29udkNfV2lkZ2V0 X1B3clN0X1JlcSAgICAgICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3 b3JkLCAyMSwgMjApXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkJfV2lkZ2V0X1Bvd2VyX1N0 YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgIDMs ICAyKV0pOwotCXByaW50ZigiQVVEX1BXUlNUICBQaW5CX1dpZGdldF9Qb3dlcl9TdGF0ZV9TZXQg ICAgICAgICAgICAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsICAxLCAgMCldKTsK LQlwcmludGYoIkFVRF9QV1JTVCAgUGluQ19XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICAg ICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAgNywgIDYpXSk7Ci0JcHJpbnRm KCJBVURfUFdSU1QgIFBpbkNfV2lkZ2V0X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQl c1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgIDUsICA0KV0pOwotCXByaW50ZigiQVVEX1BX UlNUICBQaW5EX1dpZGdldF9Qb3dlcl9TdGF0ZV9DdXJyZW50ICAgICAgICAgIFx0JXNcbiIsIHBv d2VyX3N0YXRlW0JJVFMoZHdvcmQsIDExLCAxMCldKTsKLQlwcmludGYoIkFVRF9QV1JTVCAgUGlu RF9XaWRnZXRfUG93ZXJfU3RhdGVfU2V0ICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgOSwgIDgpXSk7CisJcHJpbnRmKCJBVURfUFdSU1QgIEZ1bmNfR3JwX0Rl dl9Qd3JTdF9DdXJyICAgICAgICAgICAgICAgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJ VFMoZHdvcmQsIDI3LCAyNildKTsKKwlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19HcnBfRGV2X1B3 clN0X1NldCAgICAgICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhk d29yZCwgMjUsIDI0KV0pOworCXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3JBX1dpZGdldF9Q b3dlcl9TdGF0ZV9DdXJyZW50ICAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW1JFR19CSVRTKGR3b3Jk LCAxNSwgMTQpXSk7CisJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvckFfV2lkZ2V0X1Bvd2Vy X1N0YXRlX1JlcXVzdGVkICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdvcmQsIDEz LCAxMildKTsKKwlwcmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQl9XaWRnZXRfUG93ZXJfU3Rh dGVfQ3VycmVudCAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMTksIDE4 KV0pOworCXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3JCX1dpZGdldF9Qb3dlcl9TdGF0ZV9S ZXF1ZXN0ZWQgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW1JFR19CSVRTKGR3b3JkLCAxNywgMTYpXSk7 CisJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZDX1dpZGdldF9Qd3JTdF9DdXJyICAgICAgICAgICAg ICAgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdvcmQsIDIzLCAyMildKTsKKwlw cmludGYoIkFVRF9QV1JTVCAgQ29udkNfV2lkZ2V0X1B3clN0X1JlcSAgICAgICAgICAgICAgICAg ICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMjEsIDIwKV0pOworCXByaW50 ZigiQVVEX1BXUlNUICBQaW5CX1dpZGdldF9Qb3dlcl9TdGF0ZV9DdXJyZW50ICAgICAgICAgIFx0 JXNcbiIsIHBvd2VyX3N0YXRlW1JFR19CSVRTKGR3b3JkLCAgMywgIDIpXSk7CisJcHJpbnRmKCJB VURfUFdSU1QgIFBpbkJfV2lkZ2V0X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQlc1xu IiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdvcmQsICAxLCAgMCldKTsKKwlwcmludGYoIkFVRF9Q V1JTVCAgUGluQ19XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICAgICAgICBcdCVzXG4iLCBw b3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgIDcsICA2KV0pOworCXByaW50ZigiQVVEX1BXUlNU ICBQaW5DX1dpZGdldF9Qb3dlcl9TdGF0ZV9TZXQgICAgICAgICAgICAgIFx0JXNcbiIsIHBvd2Vy X3N0YXRlW1JFR19CSVRTKGR3b3JkLCAgNSwgIDQpXSk7CisJcHJpbnRmKCJBVURfUFdSU1QgIFBp bkRfV2lkZ2V0X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgcG93ZXJfc3Rh dGVbUkVHX0JJVFMoZHdvcmQsIDExLCAxMCldKTsKKwlwcmludGYoIkFVRF9QV1JTVCAgUGluRF9X aWRnZXRfUG93ZXJfU3RhdGVfU2V0ICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtS RUdfQklUUyhkd29yZCwgIDksICA4KV0pOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfUE9SVF9FTl9I RF9DRkcpOwotCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQV9EaWdlblx0 XHRcdCVsdVxuIiwJQklUKGR3b3JkLCAwKSk7Ci0JcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcg IENvbnZlcnRvcl9CX0RpZ2VuXHRcdFx0JWx1XG4iLAlCSVQoZHdvcmQsIDEpKTsKLQlwcmludGYo IkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0NfRGlnZW5cdFx0XHQlbHVcbiIsCUJJVChk d29yZCwgMikpOwotCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JBX1N0cmVh bV9JRFx0XHQlbHVcbiIsCUJJVFMoZHdvcmQsICA3LCA0KSk7Ci0JcHJpbnRmKCJBVURfUE9SVF9F Tl9IRF9DRkcgIENvbnZlcnRvckJfU3RyZWFtX0lEXHRcdCVsdVxuIiwJQklUUyhkd29yZCwgMTEs IDgpKTsKLQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yQ19TdHJlYW1fSURc dFx0JWx1XG4iLAlCSVRTKGR3b3JkLCAxNSwgMTIpKTsKLQlwcmludGYoIkFVRF9QT1JUX0VOX0hE X0NGRyAgUG9ydF9CX091dF9FbmFibGVcdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgMTYpKTsKLQlw cmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9DX091dF9FbmFibGVcdFx0XHQlbHVcbiIs CUJJVChkd29yZCwgMTcpKTsKLQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9EX091 dF9FbmFibGVcdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgMTgpKTsKLQlwcmludGYoIkFVRF9QT1JU X0VOX0hEX0NGRyAgUG9ydF9CX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIEJJVChkd29yZCwg MjApKTsKLQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9DX0FtcF9NdXRlX1N0YXR1 c1x0XHQlbHVcbiIsIEJJVChkd29yZCwgMjEpKTsKLQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NG RyAgUG9ydF9EX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIEJJVChkd29yZCwgMjIpKTsKKwlw cmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0FfRGlnZW5cdFx0XHQlbHVcbiIs CVJFR19CSVQoZHdvcmQsIDApKTsKKwlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVy dG9yX0JfRGlnZW5cdFx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDEpKTsKKwlwcmludGYoIkFV RF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0NfRGlnZW5cdFx0XHQlbHVcbiIsCVJFR19CSVQo ZHdvcmQsIDIpKTsKKwlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yQV9TdHJl YW1fSURcdFx0JWx1XG4iLAlSRUdfQklUUyhkd29yZCwgIDcsIDQpKTsKKwlwcmludGYoIkFVRF9Q T1JUX0VOX0hEX0NGRyAgQ29udmVydG9yQl9TdHJlYW1fSURcdFx0JWx1XG4iLAlSRUdfQklUUyhk d29yZCwgMTEsIDgpKTsKKwlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yQ19T dHJlYW1fSURcdFx0JWx1XG4iLAlSRUdfQklUUyhkd29yZCwgMTUsIDEyKSk7CisJcHJpbnRmKCJB VURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfQl9PdXRfRW5hYmxlXHRcdFx0JWx1XG4iLAlSRUdfQklU KGR3b3JkLCAxNikpOworCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0NfT3V0X0Vu YWJsZVx0XHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwgMTcpKTsKKwlwcmludGYoIkFVRF9QT1JU X0VOX0hEX0NGRyAgUG9ydF9EX091dF9FbmFibGVcdFx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQs IDE4KSk7CisJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfQl9BbXBfTXV0ZV9TdGF0 dXNcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMCkpOworCXByaW50ZigiQVVEX1BPUlRfRU5f SERfQ0ZHICBQb3J0X0NfQW1wX011dGVfU3RhdHVzXHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwg MjEpKTsKKwlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9EX0FtcF9NdXRlX1N0YXR1 c1x0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDIyKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9P VVRfRElHX0NOVlRfQSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0EgIFZcdFx0XHRcdFx0 JWx1XG4iLAkJQklUKGR3b3JkLCAxKSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0EgIFZD RkdcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgMikpOwotCXByaW50ZigiQVVEX09VVF9ESUdf Q05WVF9BICBQUkVcdFx0XHRcdFx0JWx1XG4iLAkJQklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCJB VURfT1VUX0RJR19DTlZUX0EgIENvcHlcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgNCkpOwot CXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9BICBOb25BdWRpb1x0XHRcdFx0JWx1XG4iLAkJQklU KGR3b3JkLCA1KSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0EgIFBST1x0XHRcdFx0XHQl bHVcbiIsCQlCSVQoZHdvcmQsIDYpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQSAgTGV2 ZWxcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgNykpOwotCXByaW50ZigiQVVEX09VVF9ESUdf Q05WVF9BICBDYXRlZ29yeV9Db2RlXHRcdFx0JWx1XG4iLAlCSVRTKGR3b3JkLCAxNCwgOCkpOwot CXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9BICBMb3dlc3RfQ2hhbm5lbF9OdW1iZXJcdFx0JWx1 XG4iLCBCSVRTKGR3b3JkLCAxOSwgMTYpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQSAg U3RyZWFtX0lEXHRcdFx0XHQlbHVcbiIsCUJJVFMoZHdvcmQsIDIzLCAyMCkpOworCXByaW50Zigi QVVEX09VVF9ESUdfQ05WVF9BICBWXHRcdFx0XHRcdCVsdVxuIiwJCVJFR19CSVQoZHdvcmQsIDEp KTsKKwlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQSAgVkNGR1x0XHRcdFx0JWx1XG4iLAkJUkVH X0JJVChkd29yZCwgMikpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9BICBQUkVcdFx0XHRc dFx0JWx1XG4iLAkJUkVHX0JJVChkd29yZCwgMykpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05W VF9BICBDb3B5XHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA0KSk7CisJcHJpbnRmKCJB VURfT1VUX0RJR19DTlZUX0EgIE5vbkF1ZGlvXHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3Jk LCA1KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0EgIFBST1x0XHRcdFx0XHQlbHVcbiIs CQlSRUdfQklUKGR3b3JkLCA2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0EgIExldmVs XHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA3KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJ R19DTlZUX0EgIENhdGVnb3J5X0NvZGVcdFx0XHQlbHVcbiIsCVJFR19CSVRTKGR3b3JkLCAxNCwg OCkpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9BICBMb3dlc3RfQ2hhbm5lbF9OdW1iZXJc dFx0JWx1XG4iLCBSRUdfQklUUyhkd29yZCwgMTksIDE2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJ R19DTlZUX0EgIFN0cmVhbV9JRFx0XHRcdFx0JWx1XG4iLAlSRUdfQklUUyhkd29yZCwgMjMsIDIw KSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9PVVRfRElHX0NOVlRfQik7Ci0JcHJpbnRmKCJBVURf T1VUX0RJR19DTlZUX0IgIFZcdFx0XHRcdFx0JWx1XG4iLAkJQklUKGR3b3JkLCAxKSk7Ci0JcHJp bnRmKCJBVURfT1VUX0RJR19DTlZUX0IgIFZDRkdcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwg MikpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBQUkVcdFx0XHRcdFx0JWx1XG4iLAkJ QklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0IgIENvcHlcdFx0XHRc dCVsdVxuIiwJCUJJVChkd29yZCwgNCkpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBO b25BdWRpb1x0XHRcdFx0JWx1XG4iLAkJQklUKGR3b3JkLCA1KSk7Ci0JcHJpbnRmKCJBVURfT1VU X0RJR19DTlZUX0IgIFBST1x0XHRcdFx0XHQlbHVcbiIsCQlCSVQoZHdvcmQsIDYpKTsKLQlwcmlu dGYoIkFVRF9PVVRfRElHX0NOVlRfQiAgTGV2ZWxcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwg NykpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBDYXRlZ29yeV9Db2RlXHRcdFx0JWx1 XG4iLAlCSVRTKGR3b3JkLCAxNCwgOCkpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBM b3dlc3RfQ2hhbm5lbF9OdW1iZXJcdFx0JWx1XG4iLCBCSVRTKGR3b3JkLCAxOSwgMTYpKTsKLQlw cmludGYoIkFVRF9PVVRfRElHX0NOVlRfQiAgU3RyZWFtX0lEXHRcdFx0XHQlbHVcbiIsCUJJVFMo ZHdvcmQsIDIzLCAyMCkpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBWXHRcdFx0XHRc dCVsdVxuIiwJCVJFR19CSVQoZHdvcmQsIDEpKTsKKwlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRf QiAgVkNGR1x0XHRcdFx0JWx1XG4iLAkJUkVHX0JJVChkd29yZCwgMikpOworCXByaW50ZigiQVVE X09VVF9ESUdfQ05WVF9CICBQUkVcdFx0XHRcdFx0JWx1XG4iLAkJUkVHX0JJVChkd29yZCwgMykp OworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9CICBDb3B5XHRcdFx0XHQlbHVcbiIsCQlSRUdf QklUKGR3b3JkLCA0KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0IgIE5vbkF1ZGlvXHRc dFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA1KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19D TlZUX0IgIFBST1x0XHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA2KSk7CisJcHJpbnRm KCJBVURfT1VUX0RJR19DTlZUX0IgIExldmVsXHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3Jk LCA3KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0IgIENhdGVnb3J5X0NvZGVcdFx0XHQl bHVcbiIsCVJFR19CSVRTKGR3b3JkLCAxNCwgOCkpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05W VF9CICBMb3dlc3RfQ2hhbm5lbF9OdW1iZXJcdFx0JWx1XG4iLCBSRUdfQklUUyhkd29yZCwgMTks IDE2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0IgIFN0cmVhbV9JRFx0XHRcdFx0JWx1 XG4iLAlSRUdfQklUUyhkd29yZCwgMjMsIDIwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9PVVRf RElHX0NOVlRfQyk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0MgIFZcdFx0XHRcdFx0JWx1 XG4iLAkJQklUKGR3b3JkLCAxKSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0MgIFZDRkdc dFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgMikpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05W VF9DICBQUkVcdFx0XHRcdFx0JWx1XG4iLAkJQklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCJBVURf T1VUX0RJR19DTlZUX0MgIENvcHlcdFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgNCkpOwotCXBy aW50ZigiQVVEX09VVF9ESUdfQ05WVF9DICBOb25BdWRpb1x0XHRcdFx0JWx1XG4iLAkJQklUKGR3 b3JkLCA1KSk7Ci0JcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0MgIFBST1x0XHRcdFx0XHQlbHVc biIsCQlCSVQoZHdvcmQsIDYpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQyAgTGV2ZWxc dFx0XHRcdCVsdVxuIiwJCUJJVChkd29yZCwgNykpOwotCXByaW50ZigiQVVEX09VVF9ESUdfQ05W VF9DICBDYXRlZ29yeV9Db2RlXHRcdFx0JWx1XG4iLAlCSVRTKGR3b3JkLCAxNCwgOCkpOwotCXBy aW50ZigiQVVEX09VVF9ESUdfQ05WVF9DICBMb3dlc3RfQ2hhbm5lbF9OdW1iZXJcdFx0JWx1XG4i LCBCSVRTKGR3b3JkLCAxOSwgMTYpKTsKLQlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQyAgU3Ry ZWFtX0lEXHRcdFx0XHQlbHVcbiIsCUJJVFMoZHdvcmQsIDIzLCAyMCkpOworCXByaW50ZigiQVVE X09VVF9ESUdfQ05WVF9DICBWXHRcdFx0XHRcdCVsdVxuIiwJCVJFR19CSVQoZHdvcmQsIDEpKTsK KwlwcmludGYoIkFVRF9PVVRfRElHX0NOVlRfQyAgVkNGR1x0XHRcdFx0JWx1XG4iLAkJUkVHX0JJ VChkd29yZCwgMikpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9DICBQUkVcdFx0XHRcdFx0 JWx1XG4iLAkJUkVHX0JJVChkd29yZCwgMykpOworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9D ICBDb3B5XHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA0KSk7CisJcHJpbnRmKCJBVURf T1VUX0RJR19DTlZUX0MgIE5vbkF1ZGlvXHRcdFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA1 KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0MgIFBST1x0XHRcdFx0XHQlbHVcbiIsCQlS RUdfQklUKGR3b3JkLCA2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19DTlZUX0MgIExldmVsXHRc dFx0XHQlbHVcbiIsCQlSRUdfQklUKGR3b3JkLCA3KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19D TlZUX0MgIENhdGVnb3J5X0NvZGVcdFx0XHQlbHVcbiIsCVJFR19CSVRTKGR3b3JkLCAxNCwgOCkp OworCXByaW50ZigiQVVEX09VVF9ESUdfQ05WVF9DICBMb3dlc3RfQ2hhbm5lbF9OdW1iZXJcdFx0 JWx1XG4iLCBSRUdfQklUUyhkd29yZCwgMTksIDE2KSk7CisJcHJpbnRmKCJBVURfT1VUX0RJR19D TlZUX0MgIFN0cmVhbV9JRFx0XHRcdFx0JWx1XG4iLAlSRUdfQklUUyhkd29yZCwgMjMsIDIwKSk7 CiAKIAlwcmludGYoIkFVRF9PVVRfQ0hfU1RSICBDb252ZXJ0ZXJfQ2hhbm5lbF9NQVAJUE9SVEIJ UE9SVEMJUE9SVERcbiIpOwogCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKIAkJT1VUUkVHKEFV RF9PVVRfQ0hfU1RSLCBpIHwgKGkgPDwgOCkgfCAoaSA8PCAxNikpOwogCQlkd29yZCA9IElOUkVH KEFVRF9PVVRfQ0hfU1RSKTsKIAkJcHJpbnRmKCJcdFx0XHRcdCVsdVx0JWx1XHQlbHVcdCVsdVxu IiwKLQkJCQkxICsgQklUUyhkd29yZCwgIDMsICAwKSwKLQkJCQkxICsgQklUUyhkd29yZCwgIDcs ICA0KSwKLQkJCQkxICsgQklUUyhkd29yZCwgMTUsIDEyKSwKLQkJCQkxICsgQklUUyhkd29yZCwg MjMsIDIwKSk7CisJCQkJMSArIFJFR19CSVRTKGR3b3JkLCAgMywgIDApLAorCQkJCTEgKyBSRUdf QklUUyhkd29yZCwgIDcsICA0KSwKKwkJCQkxICsgUkVHX0JJVFMoZHdvcmQsIDE1LCAxMiksCisJ CQkJMSArIFJFR19CSVRTKGR3b3JkLCAyMywgMjApKTsKIAl9CiAKIAlkd29yZCA9IElOUkVHKEFV RF9PVVRfU1RSX0RFU0NfQSk7Ci0JcHJpbnRmKCJBVURfT1VUX1NUUl9ERVNDX0EgIEhCUl9lbmFi bGVcdFx0XHRcdCVsdVxuIiwJIEJJVFMoZHdvcmQsIDI4LCAyNykpOwotCXByaW50ZigiQVVEX09V VF9TVFJfREVTQ19BICBDb252ZXJ0b3JfQ2hhbm5lbF9Db3VudFx0XHQlbHVcbiIsIEJJVFMoZHdv cmQsIDIwLCAxNikgKyAxKTsKKwlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQSAgSEJSX2VuYWJs ZVx0XHRcdFx0JWx1XG4iLAkgUkVHX0JJVFMoZHdvcmQsIDI4LCAyNykpOworCXByaW50ZigiQVVE X09VVF9TVFJfREVTQ19BICBDb252ZXJ0b3JfQ2hhbm5lbF9Db3VudFx0XHQlbHVcbiIsIFJFR19C SVRTKGR3b3JkLCAyMCwgMTYpICsgMSk7CiAJcHJpbnRmKCJBVURfT1VUX1NUUl9ERVNDX0EgIEJp dHNfcGVyX1NhbXBsZVx0XHRcdFslI2x4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDYsIDQpLCBP UE5BTUUoYml0c19wZXJfc2FtcGxlLCBCSVRTKGR3b3JkLCA2LCA0KSkpOwotCXByaW50ZigiQVVE X09VVF9TVFJfREVTQ19BICBOdW1iZXJfb2ZfQ2hhbm5lbHNfaW5fYV9TdHJlYW1cdCVsdVxuIiwg MSArIEJJVFMoZHdvcmQsIDMsIDApKTsKKwkJCVJFR19CSVRTKGR3b3JkLCA2LCA0KSwgT1BOQU1F KGJpdHNfcGVyX3NhbXBsZSwgUkVHX0JJVFMoZHdvcmQsIDYsIDQpKSk7CisJcHJpbnRmKCJBVURf T1VUX1NUUl9ERVNDX0EgIE51bWJlcl9vZl9DaGFubmVsc19pbl9hX1N0cmVhbVx0JWx1XG4iLCAx ICsgUkVHX0JJVFMoZHdvcmQsIDMsIDApKTsKIAogCWR3b3JkID0gSU5SRUcoQVVEX09VVF9TVFJf REVTQ19CKTsKLQlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQiAgSEJSX2VuYWJsZVx0XHRcdFx0 JWx1XG4iLAkgQklUUyhkd29yZCwgMjgsIDI3KSk7Ci0JcHJpbnRmKCJBVURfT1VUX1NUUl9ERVND X0IgIENvbnZlcnRvcl9DaGFubmVsX0NvdW50XHRcdCVsdVxuIiwgQklUUyhkd29yZCwgMjAsIDE2 KSArIDEpOworCXByaW50ZigiQVVEX09VVF9TVFJfREVTQ19CICBIQlJfZW5hYmxlXHRcdFx0XHQl bHVcbiIsCSBSRUdfQklUUyhkd29yZCwgMjgsIDI3KSk7CisJcHJpbnRmKCJBVURfT1VUX1NUUl9E RVNDX0IgIENvbnZlcnRvcl9DaGFubmVsX0NvdW50XHRcdCVsdVxuIiwgUkVHX0JJVFMoZHdvcmQs IDIwLCAxNikgKyAxKTsKIAlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQiAgQml0c19wZXJfU2Ft cGxlXHRcdFx0WyUjbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgNiwgNCksIE9QTkFNRShiaXRz X3Blcl9zYW1wbGUsIEJJVFMoZHdvcmQsIDYsIDQpKSk7Ci0JcHJpbnRmKCJBVURfT1VUX1NUUl9E RVNDX0IgIE51bWJlcl9vZl9DaGFubmVsc19pbl9hX1N0cmVhbVx0JWx1XG4iLCAxICsgQklUUyhk d29yZCwgMywgMCkpOworCQkJUkVHX0JJVFMoZHdvcmQsIDYsIDQpLCBPUE5BTUUoYml0c19wZXJf c2FtcGxlLCBSRUdfQklUUyhkd29yZCwgNiwgNCkpKTsKKwlwcmludGYoIkFVRF9PVVRfU1RSX0RF U0NfQiAgTnVtYmVyX29mX0NoYW5uZWxzX2luX2FfU3RyZWFtXHQlbHVcbiIsIDEgKyBSRUdfQklU Uyhkd29yZCwgMywgMCkpOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfT1VUX1NUUl9ERVNDX0MpOwot CXByaW50ZigiQVVEX09VVF9TVFJfREVTQ19DICBIQlJfZW5hYmxlXHRcdFx0XHQlbHVcbiIsCSBC SVRTKGR3b3JkLCAyOCwgMjcpKTsKLQlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQyAgQ29udmVy dG9yX0NoYW5uZWxfQ291bnRcdFx0JWx1XG4iLCBCSVRTKGR3b3JkLCAyMCwgMTYpICsgMSk7CisJ cHJpbnRmKCJBVURfT1VUX1NUUl9ERVNDX0MgIEhCUl9lbmFibGVcdFx0XHRcdCVsdVxuIiwJIFJF R19CSVRTKGR3b3JkLCAyOCwgMjcpKTsKKwlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQyAgQ29u dmVydG9yX0NoYW5uZWxfQ291bnRcdFx0JWx1XG4iLCBSRUdfQklUUyhkd29yZCwgMjAsIDE2KSAr IDEpOwogCXByaW50ZigiQVVEX09VVF9TVFJfREVTQ19DICBCaXRzX3Blcl9TYW1wbGVcdFx0XHRb JSNseF0gJXNcbiIsCi0JCQlCSVRTKGR3b3JkLCA2LCA0KSwgT1BOQU1FKGJpdHNfcGVyX3NhbXBs ZSwgQklUUyhkd29yZCwgNiwgNCkpKTsKLQlwcmludGYoIkFVRF9PVVRfU1RSX0RFU0NfQyAgTnVt YmVyX29mX0NoYW5uZWxzX2luX2FfU3RyZWFtXHQlbHVcbiIsIDEgKyBCSVRTKGR3b3JkLCAzLCAw KSk7CisJCQlSRUdfQklUUyhkd29yZCwgNiwgNCksIE9QTkFNRShiaXRzX3Blcl9zYW1wbGUsIFJF R19CSVRTKGR3b3JkLCA2LCA0KSkpOworCXByaW50ZigiQVVEX09VVF9TVFJfREVTQ19DICBOdW1i ZXJfb2ZfQ2hhbm5lbHNfaW5fYV9TdHJlYW1cdCVsdVxuIiwgMSArIFJFR19CSVRTKGR3b3JkLCAz LCAwKSk7CiAKIAlkd29yZCA9IElOUkVHKEFVRF9QSU5XX0NPTk5MTkdfU0VMKTsKLQlwcmludGYo IkFVRF9QSU5XX0NPTk5MTkdfU0VMICBDb25uZWN0aW9uX3NlbGVjdF9Db250cm9sX0JcdCUjbHhc biIsIEJJVFMoZHdvcmQsICA3LCAgMCkpOwotCXByaW50ZigiQVVEX1BJTldfQ09OTkxOR19TRUwg IENvbm5lY3Rpb25fc2VsZWN0X0NvbnRyb2xfQ1x0JSNseFxuIiwgQklUUyhkd29yZCwgMTUsICA4 KSk7Ci0JcHJpbnRmKCJBVURfUElOV19DT05OTE5HX1NFTCAgQ29ubmVjdGlvbl9zZWxlY3RfQ29u dHJvbF9EXHQlI2x4XG4iLCBCSVRTKGR3b3JkLCAyMywgMTYpKTsKKwlwcmludGYoIkFVRF9QSU5X X0NPTk5MTkdfU0VMICBDb25uZWN0aW9uX3NlbGVjdF9Db250cm9sX0JcdCUjbHhcbiIsIFJFR19C SVRTKGR3b3JkLCAgNywgIDApKTsKKwlwcmludGYoIkFVRF9QSU5XX0NPTk5MTkdfU0VMICBDb25u ZWN0aW9uX3NlbGVjdF9Db250cm9sX0NcdCUjbHhcbiIsIFJFR19CSVRTKGR3b3JkLCAxNSwgIDgp KTsKKwlwcmludGYoIkFVRF9QSU5XX0NPTk5MTkdfU0VMICBDb25uZWN0aW9uX3NlbGVjdF9Db250 cm9sX0RcdCUjbHhcbiIsIFJFR19CSVRTKGR3b3JkLCAyMywgMTYpKTsKIAogCWR3b3JkID0gSU5S RUcoQVVEX0NOVExfU1RfQSk7CiAJcHJpbnRmKCJBVURfQ05UTF9TVF9BICBESVBfUG9ydF9TZWxl Y3RcdFx0XHRcdFslI2x4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDMwLCAyOSksIGRpcF9wb3J0 W0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKLQlwcmludGYoIkFVRF9DTlRMX1NUX0EgIERJUF90eXBl X2VuYWJsZV9zdGF0dXMgQXVkaW8gRElQXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMSkpOwotCXBy aW50ZigiQVVEX0NOVExfU1RfQSAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBQ1AgRElQXHRcdCVs dVxuIiwgQklUKGR3b3JkLCAyMikpOwotCXByaW50ZigiQVVEX0NOVExfU1RfQSAgRElQX3R5cGVf ZW5hYmxlX3N0YXR1cyBHZW5lcmljIDIgRElQXHQlbHVcbiIsIEJJVChkd29yZCwgMjMpKTsKKwkJ CVJFR19CSVRTKGR3b3JkLCAzMCwgMjkpLCBkaXBfcG9ydFtSRUdfQklUUyhkd29yZCwgMzAsIDI5 KV0pOworCXByaW50ZigiQVVEX0NOVExfU1RfQSAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBdWRp byBESVBcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMSkpOworCXByaW50ZigiQVVEX0NOVExf U1RfQSAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBQ1AgRElQXHRcdCVsdVxuIiwgUkVHX0JJVChk d29yZCwgMjIpKTsKKwlwcmludGYoIkFVRF9DTlRMX1NUX0EgIERJUF90eXBlX2VuYWJsZV9zdGF0 dXMgR2VuZXJpYyAyIERJUFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMykpOwogCXByaW50Zigi QVVEX0NOVExfU1RfQSAgRElQX3RyYW5zbWlzc2lvbl9mcmVxdWVuY3lcdFx0WzB4JWx4XSAlc1xu IiwKLQkJCUJJVFMoZHdvcmQsIDE3LCAxNiksIGRpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYp XSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVF9BICBFTERfQUNLXHRcdFx0XHRcdCVsdVxuIiwgQklU KGR3b3JkLCA0KSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVF9BICBFTERfYnVmZmVyX3NpemVcdFx0 XHRcdCVsdVxuIiwgQklUUyhkd29yZCwgMTQsIDEwKSk7CisJCQlSRUdfQklUUyhkd29yZCwgMTcs IDE2KSwgZGlwX3RyYW5zW1JFR19CSVRTKGR3b3JkLCAxNywgMTYpXSk7CisJcHJpbnRmKCJBVURf Q05UTF9TVF9BICBFTERfQUNLXHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgNCkpOwor CXByaW50ZigiQVVEX0NOVExfU1RfQSAgRUxEX2J1ZmZlcl9zaXplXHRcdFx0XHQlbHVcbiIsIFJF R19CSVRTKGR3b3JkLCAxNCwgMTApKTsKIAogCWR3b3JkID0gSU5SRUcoQVVEX0NOVExfU1RfQik7 CiAJcHJpbnRmKCJBVURfQ05UTF9TVF9CICBESVBfUG9ydF9TZWxlY3RcdFx0XHRcdFslI2x4XSAl c1xuIiwKLQkJCUJJVFMoZHdvcmQsIDMwLCAyOSksIGRpcF9wb3J0W0JJVFMoZHdvcmQsIDMwLCAy OSldKTsKLQlwcmludGYoIkFVRF9DTlRMX1NUX0IgIERJUF90eXBlX2VuYWJsZV9zdGF0dXMgQXVk aW8gRElQXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMSkpOwotCXByaW50ZigiQVVEX0NOVExfU1Rf QiAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBQ1AgRElQXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAy MikpOwotCXByaW50ZigiQVVEX0NOVExfU1RfQiAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBHZW5l cmljIDIgRElQXHQlbHVcbiIsIEJJVChkd29yZCwgMjMpKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAz MCwgMjkpLCBkaXBfcG9ydFtSRUdfQklUUyhkd29yZCwgMzAsIDI5KV0pOworCXByaW50ZigiQVVE X0NOVExfU1RfQiAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBdWRpbyBESVBcdFx0JWx1XG4iLCBS RUdfQklUKGR3b3JkLCAyMSkpOworCXByaW50ZigiQVVEX0NOVExfU1RfQiAgRElQX3R5cGVfZW5h YmxlX3N0YXR1cyBBQ1AgRElQXHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjIpKTsKKwlwcmlu dGYoIkFVRF9DTlRMX1NUX0IgIERJUF90eXBlX2VuYWJsZV9zdGF0dXMgR2VuZXJpYyAyIERJUFx0 JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMykpOwogCXByaW50ZigiQVVEX0NOVExfU1RfQiAgRElQ X3RyYW5zbWlzc2lvbl9mcmVxdWVuY3lcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQs IDE3LCAxNiksIGRpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JcHJpbnRmKCJBVURf Q05UTF9TVF9CICBFTERfQUNLXHRcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCA0KSk7Ci0JcHJp bnRmKCJBVURfQ05UTF9TVF9CICBFTERfYnVmZmVyX3NpemVcdFx0XHRcdCVsdVxuIiwgQklUUyhk d29yZCwgMTQsIDEwKSk7CisJCQlSRUdfQklUUyhkd29yZCwgMTcsIDE2KSwgZGlwX3RyYW5zW1JF R19CSVRTKGR3b3JkLCAxNywgMTYpXSk7CisJcHJpbnRmKCJBVURfQ05UTF9TVF9CICBFTERfQUNL XHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgNCkpOworCXByaW50ZigiQVVEX0NOVExf U1RfQiAgRUxEX2J1ZmZlcl9zaXplXHRcdFx0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAxNCwg MTApKTsKIAogCWR3b3JkID0gSU5SRUcoQVVEX0NOVExfU1RfQyk7CiAJcHJpbnRmKCJBVURfQ05U TF9TVF9DICBESVBfUG9ydF9TZWxlY3RcdFx0XHRcdFslI2x4XSAlc1xuIiwKLQkJCUJJVFMoZHdv cmQsIDMwLCAyOSksIGRpcF9wb3J0W0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKLQlwcmludGYoIkFV RF9DTlRMX1NUX0MgIERJUF90eXBlX2VuYWJsZV9zdGF0dXMgQXVkaW8gRElQXHRcdCVsdVxuIiwg QklUKGR3b3JkLCAyMSkpOwotCXByaW50ZigiQVVEX0NOVExfU1RfQyAgRElQX3R5cGVfZW5hYmxl X3N0YXR1cyBBQ1AgRElQXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMikpOwotCXByaW50ZigiQVVE X0NOVExfU1RfQyAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBHZW5lcmljIDIgRElQXHQlbHVcbiIs IEJJVChkd29yZCwgMjMpKTsKKwkJCVJFR19CSVRTKGR3b3JkLCAzMCwgMjkpLCBkaXBfcG9ydFtS RUdfQklUUyhkd29yZCwgMzAsIDI5KV0pOworCXByaW50ZigiQVVEX0NOVExfU1RfQyAgRElQX3R5 cGVfZW5hYmxlX3N0YXR1cyBBdWRpbyBESVBcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyMSkp OworCXByaW50ZigiQVVEX0NOVExfU1RfQyAgRElQX3R5cGVfZW5hYmxlX3N0YXR1cyBBQ1AgRElQ XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjIpKTsKKwlwcmludGYoIkFVRF9DTlRMX1NUX0Mg IERJUF90eXBlX2VuYWJsZV9zdGF0dXMgR2VuZXJpYyAyIERJUFx0JWx1XG4iLCBSRUdfQklUKGR3 b3JkLCAyMykpOwogCXByaW50ZigiQVVEX0NOVExfU1RfQyAgRElQX3RyYW5zbWlzc2lvbl9mcmVx dWVuY3lcdFx0WzB4JWx4XSAlc1xuIiwKLQkJCUJJVFMoZHdvcmQsIDE3LCAxNiksIGRpcF90cmFu c1tCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVF9DICBFTERfQUNL XHRcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCA0KSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVF9D ICBFTERfYnVmZmVyX3NpemVcdFx0XHRcdCVsdVxuIiwgQklUUyhkd29yZCwgMTQsIDEwKSk7CisJ CQlSRUdfQklUUyhkd29yZCwgMTcsIDE2KSwgZGlwX3RyYW5zW1JFR19CSVRTKGR3b3JkLCAxNywg MTYpXSk7CisJcHJpbnRmKCJBVURfQ05UTF9TVF9DICBFTERfQUNLXHRcdFx0XHRcdCVsdVxuIiwg UkVHX0JJVChkd29yZCwgNCkpOworCXByaW50ZigiQVVEX0NOVExfU1RfQyAgRUxEX2J1ZmZlcl9z aXplXHRcdFx0XHQlbHVcbiIsIFJFR19CSVRTKGR3b3JkLCAxNCwgMTApKTsKIAogCWR3b3JkID0g SU5SRUcoQVVEX0NOVFJMX1NUMik7Ci0JcHJpbnRmKCJBVURfQ05UUkxfU1QyICBDUF9SZWFkeUJc dFx0XHRcdCVsdVxuIiwJQklUKGR3b3JkLCAxKSk7Ci0JcHJpbnRmKCJBVURfQ05UUkxfU1QyICBF TERfdmFsaWRCXHRcdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgMCkpOwotCXByaW50ZigiQVVEX0NO VFJMX1NUMiAgQ1BfUmVhZHlDXHRcdFx0XHQlbHVcbiIsCUJJVChkd29yZCwgNSkpOwotCXByaW50 ZigiQVVEX0NOVFJMX1NUMiAgRUxEX3ZhbGlkQ1x0XHRcdFx0JWx1XG4iLAlCSVQoZHdvcmQsIDQp KTsKLQlwcmludGYoIkFVRF9DTlRSTF9TVDIgIENQX1JlYWR5RFx0XHRcdFx0JWx1XG4iLAlCSVQo ZHdvcmQsIDkpKTsKLQlwcmludGYoIkFVRF9DTlRSTF9TVDIgIEVMRF92YWxpZERcdFx0XHRcdCVs dVxuIiwJQklUKGR3b3JkLCA4KSk7CisJcHJpbnRmKCJBVURfQ05UUkxfU1QyICBDUF9SZWFkeUJc dFx0XHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwgMSkpOworCXByaW50ZigiQVVEX0NOVFJMX1NU MiAgRUxEX3ZhbGlkQlx0XHRcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCAwKSk7CisJcHJpbnRm KCJBVURfQ05UUkxfU1QyICBDUF9SZWFkeUNcdFx0XHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwg NSkpOworCXByaW50ZigiQVVEX0NOVFJMX1NUMiAgRUxEX3ZhbGlkQ1x0XHRcdFx0JWx1XG4iLAlS RUdfQklUKGR3b3JkLCA0KSk7CisJcHJpbnRmKCJBVURfQ05UUkxfU1QyICBDUF9SZWFkeURcdFx0 XHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwgOSkpOworCXByaW50ZigiQVVEX0NOVFJMX1NUMiAg RUxEX3ZhbGlkRFx0XHRcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCA4KSk7CiAKIAlkd29yZCA9 IElOUkVHKEFVRF9DTlRSTF9TVDMpOwotCXByaW50ZigiQVVEX0NOVFJMX1NUMyAgVHJhbnNBX0RQ VF9BdWRpb19PdXRwdXRfRW5cdFx0JWx1XG4iLAlCSVQoZHdvcmQsIDMpKTsKKwlwcmludGYoIkFV RF9DTlRSTF9TVDMgIFRyYW5zQV9EUFRfQXVkaW9fT3V0cHV0X0VuXHRcdCVsdVxuIiwJUkVHX0JJ VChkd29yZCwgMykpOwogCXByaW50ZigiQVVEX0NOVFJMX1NUMyAgVHJhbnNBX3RvX1BvcnRfU2Vs XHRcdFx0WyUjbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgMiwgMCksIHRyYW5zX3RvX3BvcnRf c2VsW0JJVFMoZHdvcmQsIDIsIDApXSk7Ci0JcHJpbnRmKCJBVURfQ05UUkxfU1QzICBUcmFuc0Jf RFBUX0F1ZGlvX091dHB1dF9Fblx0XHQlbHVcbiIsCUJJVChkd29yZCwgNykpOworCQkJUkVHX0JJ VFMoZHdvcmQsIDIsIDApLCB0cmFuc190b19wb3J0X3NlbFtSRUdfQklUUyhkd29yZCwgMiwgMCld KTsKKwlwcmludGYoIkFVRF9DTlRSTF9TVDMgIFRyYW5zQl9EUFRfQXVkaW9fT3V0cHV0X0VuXHRc dCVsdVxuIiwJUkVHX0JJVChkd29yZCwgNykpOwogCXByaW50ZigiQVVEX0NOVFJMX1NUMyAgVHJh bnNCX3RvX1BvcnRfU2VsXHRcdFx0WyUjbHhdICVzXG4iLAotCQkJQklUUyhkd29yZCwgNiwgNCks IHRyYW5zX3RvX3BvcnRfc2VsW0JJVFMoZHdvcmQsIDYsIDQpXSk7Ci0JcHJpbnRmKCJBVURfQ05U UkxfU1QzICBUcmFuc0NfRFBUX0F1ZGlvX091dHB1dF9Fblx0XHQlbHVcbiIsCUJJVChkd29yZCwg MTEpKTsKKwkJCVJFR19CSVRTKGR3b3JkLCA2LCA0KSwgdHJhbnNfdG9fcG9ydF9zZWxbUkVHX0JJ VFMoZHdvcmQsIDYsIDQpXSk7CisJcHJpbnRmKCJBVURfQ05UUkxfU1QzICBUcmFuc0NfRFBUX0F1 ZGlvX091dHB1dF9Fblx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDExKSk7CiAJcHJpbnRmKCJB VURfQ05UUkxfU1QzICBUcmFuc0NfdG9fUG9ydF9TZWxcdFx0XHRbJSNseF0gJXNcbiIsCi0JCQlC SVRTKGR3b3JkLCAxMCwgOCksIHRyYW5zX3RvX3BvcnRfc2VsW0JJVFMoZHdvcmQsIDEwLCA4KV0p OworCQkJUkVHX0JJVFMoZHdvcmQsIDEwLCA4KSwgdHJhbnNfdG9fcG9ydF9zZWxbUkVHX0JJVFMo ZHdvcmQsIDEwLCA4KV0pOwogCiAJZHdvcmQgPSBJTlJFRyhBVURfSERNSVdfU1RBVFVTKTsKLQlw cmludGYoIkFVRF9IRE1JV19TVEFUVVMgIENvbnZfQV9DRENMSy9ET1RDTEtfRklGT19VbmRlcnJ1 blx0JWx1XG4iLCBCSVQoZHdvcmQsIDI3KSk7Ci0JcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBD b252X0FfQ0RDTEsvRE9UQ0xLX0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAgQklUKGR3b3JkLCAyNikp OwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyAgQ29udl9CX0NEQ0xLL0RPVENMS19GSUZPX1Vu ZGVycnVuXHQlbHVcbiIsIEJJVChkd29yZCwgMjkpKTsKLQlwcmludGYoIkFVRF9IRE1JV19TVEFU VVMgIENvbnZfQl9DRENMSy9ET1RDTEtfRklGT19PdmVycnVuXHQlbHVcbiIsICBCSVQoZHdvcmQs IDI4KSk7Ci0JcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBDb252X0NfQ0RDTEsvRE9UQ0xLX0ZJ Rk9fVW5kZXJydW5cdCVsdVxuIiwgQklUKGR3b3JkLCAzMSkpOwotCXByaW50ZigiQVVEX0hETUlX X1NUQVRVUyAgQ29udl9DX0NEQ0xLL0RPVENMS19GSUZPX092ZXJydW5cdCVsdVxuIiwgIEJJVChk d29yZCwgMzApKTsKLQlwcmludGYoIkFVRF9IRE1JV19TVEFUVVMgIEJDTEsvQ0RDTEtfRklGT19P dmVycnVuXHRcdCVsdVxuIiwJIEJJVChkd29yZCwgMjUpKTsKLQlwcmludGYoIkFVRF9IRE1JV19T VEFUVVMgIEZ1bmN0aW9uX1Jlc2V0XHRcdFx0JWx1XG4iLAkJIEJJVChkd29yZCwgMjQpKTsKKwlw cmludGYoIkFVRF9IRE1JV19TVEFUVVMgIENvbnZfQV9DRENMSy9ET1RDTEtfRklGT19VbmRlcnJ1 blx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAyNykpOworCXByaW50ZigiQVVEX0hETUlXX1NUQVRV UyAgQ29udl9BX0NEQ0xLL0RPVENMS19GSUZPX092ZXJydW5cdCVsdVxuIiwgIFJFR19CSVQoZHdv cmQsIDI2KSk7CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBDb252X0JfQ0RDTEsvRE9UQ0xL X0ZJRk9fVW5kZXJydW5cdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjkpKTsKKwlwcmludGYoIkFV RF9IRE1JV19TVEFUVVMgIENvbnZfQl9DRENMSy9ET1RDTEtfRklGT19PdmVycnVuXHQlbHVcbiIs ICBSRUdfQklUKGR3b3JkLCAyOCkpOworCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyAgQ29udl9D X0NEQ0xLL0RPVENMS19GSUZPX1VuZGVycnVuXHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDMxKSk7 CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBDb252X0NfQ0RDTEsvRE9UQ0xLX0ZJRk9fT3Zl cnJ1blx0JWx1XG4iLCAgUkVHX0JJVChkd29yZCwgMzApKTsKKwlwcmludGYoIkFVRF9IRE1JV19T VEFUVVMgIEJDTEsvQ0RDTEtfRklGT19PdmVycnVuXHRcdCVsdVxuIiwJIFJFR19CSVQoZHdvcmQs IDI1KSk7CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBGdW5jdGlvbl9SZXNldFx0XHRcdCVs dVxuIiwJCSBSRUdfQklUKGR3b3JkLCAyNCkpOwogCiAJcHJpbnRmKCJBVURfSERNSVdfSERNSUVE SURfQSBIRE1JIEVMRDpcblx0Iik7CiAJZHdvcmQgPSBJTlJFRyhBVURfQ05UTF9TVF9BKTsKIAlk d29yZCAmPSB+QklUTUFTSyg5LCA1KTsKIAlPVVRSRUcoQVVEX0NOVExfU1RfQSwgZHdvcmQpOwot CWZvciAoaSA9IDA7IGkgPCBCSVRTKGR3b3JkLCAxNCwgMTApIC8gNDsgaSsrKQorCWZvciAoaSA9 IDA7IGkgPCBSRUdfQklUUyhkd29yZCwgMTQsIDEwKSAvIDQ7IGkrKykKIAkJcHJpbnRmKCIlMDh4 ICIsIGh0b25sKElOUkVHKEFVRF9IRE1JV19IRE1JRURJRF9BKSkpOwogCXByaW50ZigiXG4iKTsK IApAQCAtMTIxMiw3ICsxMjEyLDcgQEAgc3RhdGljIHZvaWQgZHVtcF9jcHQodm9pZCkKIAlkd29y ZCA9IElOUkVHKEFVRF9DTlRMX1NUX0IpOwogCWR3b3JkICY9IH5CSVRNQVNLKDksIDUpOwogCU9V VFJFRyhBVURfQ05UTF9TVF9CLCBkd29yZCk7Ci0JZm9yIChpID0gMDsgaSA8IEJJVFMoZHdvcmQs IDE0LCAxMCkgLyA0OyBpKyspCisJZm9yIChpID0gMDsgaSA8IFJFR19CSVRTKGR3b3JkLCAxNCwg MTApIC8gNDsgaSsrKQogCQlwcmludGYoIiUwOHggIiwgaHRvbmwoSU5SRUcoQVVEX0hETUlXX0hE TUlFRElEX0IpKSk7CiAJcHJpbnRmKCJcbiIpOwogCkBAIC0xMjIwLDcgKzEyMjAsNyBAQCBzdGF0 aWMgdm9pZCBkdW1wX2NwdCh2b2lkKQogCWR3b3JkID0gSU5SRUcoQVVEX0NOVExfU1RfQyk7CiAJ ZHdvcmQgJj0gfkJJVE1BU0soOSwgNSk7CiAJT1VUUkVHKEFVRF9DTlRMX1NUX0MsIGR3b3JkKTsK LQlmb3IgKGkgPSAwOyBpIDwgQklUUyhkd29yZCwgMTQsIDEwKSAvIDQ7IGkrKykKKwlmb3IgKGkg PSAwOyBpIDwgUkVHX0JJVFMoZHdvcmQsIDE0LCAxMCkgLyA0OyBpKyspCiAJCXByaW50ZigiJTA4 eCAiLCBodG9ubChJTlJFRyhBVURfSERNSVdfSERNSUVESURfQykpKTsKIAlwcmludGYoIlxuIik7 CiAKQEAgLTEzODEsMTQgKzEzODEsMTQgQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRfY29uZmlnKGlu dCBpbmRleCkKIAkJc3ByaW50ZihwcmVmaXgsICJBVURfVEMlY19DT05GSUciLCAnQScgKyBpbmRl eCAtIFRSQU5TQ09ERVJfQSk7CiAJfQogCi0JcHJpbnRmKCIlcyAgRGlzYWJsZV9OQ1RTXHRcdFx0 XHQlbHVcbiIsICAgICAgICAgIHByZWZpeCwgQklUKGR3b3JkLCAzKSk7Ci0JcHJpbnRmKCIlcyAg TG93ZXJfTl92YWx1ZVx0XHRcdFx0MHglMDNseFxuIiwgICAgIHByZWZpeCwgQklUUyhkd29yZCwg MTUsIDQpKTsKLQlwcmludGYoIiVzICBQaXhlbF9DbG9ja19IRE1JXHRcdFx0WzB4JWx4XSAlc1xu IiwgcHJlZml4LCBCSVRTKGR3b3JkLCAxOSwgMTYpLAotCQlPUE5BTUUocGl4ZWxfY2xvY2ssIEJJ VFMoZHdvcmQsIDE5LCAxNikpKTsKLQlwcmludGYoIiVzICBVcHBlcl9OX3ZhbHVlXHRcdFx0XHQw eCUwMmx4XG4iLCAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCAyNywgMjApKTsKLQlwcmludGYoIiVz ICBOX3Byb2dyYW1taW5nX2VuYWJsZVx0XHRcdCVsdVxuIiwgICAgcHJlZml4LCBCSVQoZHdvcmQs IDI4KSk7Ci0JcHJpbnRmKCIlcyAgTl9pbmRleF92YWx1ZVx0XHRcdFx0WzB4JWx4XSAlc1xuIiwg IHByZWZpeCwgQklUKGR3b3JkLCAyOSksCi0JCU9QTkFNRShuX2luZGV4X3ZhbHVlLCBCSVQoZHdv cmQsIDI5KSkpOworCXByaW50ZigiJXMgIERpc2FibGVfTkNUU1x0XHRcdFx0JWx1XG4iLCAgICAg ICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDMpKTsKKwlwcmludGYoIiVzICBMb3dlcl9OX3Zh bHVlXHRcdFx0XHQweCUwM2x4XG4iLCAgICAgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgMTUsIDQp KTsKKwlwcmludGYoIiVzICBQaXhlbF9DbG9ja19IRE1JXHRcdFx0WzB4JWx4XSAlc1xuIiwgcHJl Zml4LCBSRUdfQklUUyhkd29yZCwgMTksIDE2KSwKKwkJT1BOQU1FKHBpeGVsX2Nsb2NrLCBSRUdf QklUUyhkd29yZCwgMTksIDE2KSkpOworCXByaW50ZigiJXMgIFVwcGVyX05fdmFsdWVcdFx0XHRc dDB4JTAybHhcbiIsICAgICBwcmVmaXgsIFJFR19CSVRTKGR3b3JkLCAyNywgMjApKTsKKwlwcmlu dGYoIiVzICBOX3Byb2dyYW1taW5nX2VuYWJsZVx0XHRcdCVsdVxuIiwgICAgcHJlZml4LCBSRUdf QklUKGR3b3JkLCAyOCkpOworCXByaW50ZigiJXMgIE5faW5kZXhfdmFsdWVcdFx0XHRcdFsweCVs eF0gJXNcbiIsICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDI5KSwKKwkJT1BOQU1FKG5faW5kZXhf dmFsdWUsIFJFR19CSVQoZHdvcmQsIDI5KSkpOwogfQogCiBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9t aXNjX2NvbnRyb2woaW50IGluZGV4KQpAQCAtMTQwNCwxMCArMTQwNCwxMCBAQCBzdGF0aWMgdm9p ZCBkdW1wX2F1ZF9taXNjX2NvbnRyb2woaW50IGluZGV4KQogCQlzcHJpbnRmKHByZWZpeCwgIkFV RF9DJWNfTUlTQ19DVFJMIiwgJzEnICsgaW5kZXggLSBDT05WRVJURVJfMSk7CiAJfQogCi0JcHJp bnRmKCIlcyAgIFByb19BbGxvd2VkXHRcdFx0XHQlbHVcbiIsICAgICAgICAgICBwcmVmaXgsIEJJ VChkd29yZCwgMSkpOwotCXByaW50ZigiJXMgICBTYW1wbGVfRmFicmljYXRpb25fRU5fYml0XHRc dCVsdVxuIiwgcHJlZml4LCBCSVQoZHdvcmQsIDIpKTsKLQlwcmludGYoIiVzICAgT3V0cHV0X0Rl bGF5XHRcdFx0XHQlbHVcbiIsICAgICAgICAgIHByZWZpeCwgQklUUyhkd29yZCwgNywgNCkpOwot CXByaW50ZigiJXMgICBTYW1wbGVfcHJlc2VudF9EaXNhYmxlXHRcdCVsdVxuIiwgICAgcHJlZml4 LCBCSVQoZHdvcmQsIDgpKTsKKwlwcmludGYoIiVzICAgUHJvX0FsbG93ZWRcdFx0XHRcdCVsdVxu IiwgICAgICAgICAgIHByZWZpeCwgUkVHX0JJVChkd29yZCwgMSkpOworCXByaW50ZigiJXMgICBT YW1wbGVfRmFicmljYXRpb25fRU5fYml0XHRcdCVsdVxuIiwgcHJlZml4LCBSRUdfQklUKGR3b3Jk LCAyKSk7CisJcHJpbnRmKCIlcyAgIE91dHB1dF9EZWxheVx0XHRcdFx0JWx1XG4iLCAgICAgICAg ICBwcmVmaXgsIFJFR19CSVRTKGR3b3JkLCA3LCA0KSk7CisJcHJpbnRmKCIlcyAgIFNhbXBsZV9w cmVzZW50X0Rpc2FibGVcdFx0JWx1XG4iLCAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDgpKTsK IH0KIAogc3RhdGljIHZvaWQgZHVtcF9hdWRfdmVuZG9yX2RldmljZV9pZCh2b2lkKQpAQCAtMTQx NSw4ICsxNDE1LDggQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRfdmVuZG9yX2RldmljZV9pZCh2b2lk KQogCXVpbnQzMl90IGR3b3JkOwogCiAJZHdvcmQgPSBJTlJFRyhhdWRfcmVnX2Jhc2UgKyBBVURf VklEX0RJRCk7Ci0JcHJpbnRmKCJBVURfVklEX0RJRCBkZXZpY2UgaWRcdFx0XHRcdFx0MHglbHhc biIsIEJJVFMoZHdvcmQsIDE1LCAwKSk7Ci0JcHJpbnRmKCJBVURfVklEX0RJRCB2ZW5kb3IgaWRc dFx0XHRcdFx0MHglbHhcbiIsIEJJVFMoZHdvcmQsIDMxLCAxNikpOworCXByaW50ZigiQVVEX1ZJ RF9ESUQgZGV2aWNlIGlkXHRcdFx0XHRcdDB4JWx4XG4iLCBSRUdfQklUUyhkd29yZCwgMTUsIDAp KTsKKwlwcmludGYoIkFVRF9WSURfRElEIHZlbmRvciBpZFx0XHRcdFx0XHQweCVseFxuIiwgUkVH X0JJVFMoZHdvcmQsIDMxLCAxNikpOwogfQogCiBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9yZXZpc2lv bl9pZCh2b2lkKQpAQCAtMTQyNCwxMCArMTQyNCwxMCBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9y ZXZpc2lvbl9pZCh2b2lkKQogCXVpbnQzMl90IGR3b3JkOwogCiAJZHdvcmQgPSBJTlJFRyhhdWRf cmVnX2Jhc2UgKyBBVURfUklEKTsKLQlwcmludGYoIkFVRF9SSUQgU3RlcHBpbmdfSWRcdFx0XHRc dFx0MHglbHhcbiIsICAgIEJJVFMoZHdvcmQsIDcsIDApKTsKLQlwcmludGYoIkFVRF9SSUQgUmV2 aXNpb25fSWRcdFx0XHRcdFx0MHglbHhcbiIsICAgIEJJVFMoZHdvcmQsIDE1LCA4KSk7Ci0JcHJp bnRmKCJBVURfUklEIE1pbm9yX1JldmlzaW9uXHRcdFx0XHRcdDB4JWx4XG4iLCBCSVRTKGR3b3Jk LCAxOSwgMTYpKTsKLQlwcmludGYoIkFVRF9SSUQgTWFqb3JfUmV2aXNpb25cdFx0XHRcdFx0MHgl bHhcbiIsIEJJVFMoZHdvcmQsIDIzLCAyMCkpOworCXByaW50ZigiQVVEX1JJRCBTdGVwcGluZ19J ZFx0XHRcdFx0XHQweCVseFxuIiwgICAgUkVHX0JJVFMoZHdvcmQsIDcsIDApKTsKKwlwcmludGYo IkFVRF9SSUQgUmV2aXNpb25fSWRcdFx0XHRcdFx0MHglbHhcbiIsICAgIFJFR19CSVRTKGR3b3Jk LCAxNSwgOCkpOworCXByaW50ZigiQVVEX1JJRCBNaW5vcl9SZXZpc2lvblx0XHRcdFx0XHQweCVs eFxuIiwgUkVHX0JJVFMoZHdvcmQsIDE5LCAxNikpOworCXByaW50ZigiQVVEX1JJRCBNYWpvcl9S ZXZpc2lvblx0XHRcdFx0XHQweCVseFxuIiwgUkVHX0JJVFMoZHdvcmQsIDIzLCAyMCkpOwogfQog CiBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9tX2N0c19lbmFibGUoaW50IGluZGV4KQpAQCAtMTQ0Mywx MCArMTQ0MywxMCBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9tX2N0c19lbmFibGUoaW50IGluZGV4 KQogCQlzcHJpbnRmKHByZWZpeCwgIkFVRF9UQyVjX01fQ1RTX0VOQUJMRSIsICdBJyArIGluZGV4 IC0gVFJBTlNDT0RFUl9BKTsKIAl9CiAKLQlwcmludGYoIiVzICBDVFNfcHJvZ3JhbW1pbmdcdFx0 XHQlI2x4XG4iLCAgICAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCAxOSwgMCkpOwotCXByaW50Zigi JXMgIEVuYWJsZV9DVFNfb3JfTV9wcm9ncmFtbWluZ1x0JWx1XG4iLCBwcmVmaXgsIEJJVChkd29y ZCwgMjApKTsKLQlwcmludGYoIiVzICBDVFNfTSB2YWx1ZSBJbmRleFx0XHRcdFsweCVseF0gJXNc biIscHJlZml4LCBCSVQoZHdvcmQsIDIxKSwKLQkJT1BOQU1FKGN0c19tX3ZhbHVlX2luZGV4LCBC SVQoZHdvcmQsIDIxKSkpOworCXByaW50ZigiJXMgIENUU19wcm9ncmFtbWluZ1x0XHRcdCUjbHhc biIsICAgICAgICBwcmVmaXgsIFJFR19CSVRTKGR3b3JkLCAxOSwgMCkpOworCXByaW50ZigiJXMg IEVuYWJsZV9DVFNfb3JfTV9wcm9ncmFtbWluZ1x0JWx1XG4iLCBwcmVmaXgsIFJFR19CSVQoZHdv cmQsIDIwKSk7CisJcHJpbnRmKCIlcyAgQ1RTX00gdmFsdWUgSW5kZXhcdFx0XHRbMHglbHhdICVz XG4iLHByZWZpeCwgUkVHX0JJVChkd29yZCwgMjEpLAorCQlPUE5BTUUoY3RzX21fdmFsdWVfaW5k ZXgsIFJFR19CSVQoZHdvcmQsIDIxKSkpOwogfQogCiBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9wb3dl cl9zdGF0ZSh2b2lkKQpAQCAtMTQ1NSwzOSArMTQ1NSwzOSBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1 ZF9wb3dlcl9zdGF0ZSh2b2lkKQogCWludCBudW1fcGlwZXM7CiAKIAlkd29yZCA9IElOUkVHKGF1 ZF9yZWdfYmFzZSArIEFVRF9QV1JTVCk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkJfV2lkZ2V0 X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgMSwgIDApXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkJfV2lkZ2V0 X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgMywgIDIpXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkNfV2lkZ2V0 X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgNSwgIDQpXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkNfV2lkZ2V0 X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgNywgIDYpXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkRfV2lkZ2V0 X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAgOSwgIDgpXSk7Ci0JcHJpbnRmKCJBVURfUFdSU1QgIFBpbkRfV2lkZ2V0 X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtCSVRTKGR3b3JkLCAxMSwgMTApXSk7CisJcHJpbnRmKCJBVURfUFdSU1QgIFBpbkJfV2lkZ2V0 X1Bvd2VyX1N0YXRlX1NldCAgICAgICAgICAgICAgXHQlc1xuIiwgICAgICAgICBwb3dlcl9zdGF0 ZVtSRUdfQklUUyhkd29yZCwgIDEsICAwKV0pOworCXByaW50ZigiQVVEX1BXUlNUICBQaW5CX1dp ZGdldF9Qb3dlcl9TdGF0ZV9DdXJyZW50ICAgICAgICAgIFx0JXNcbiIsICAgICAgICAgcG93ZXJf c3RhdGVbUkVHX0JJVFMoZHdvcmQsICAzLCAgMildKTsKKwlwcmludGYoIkFVRF9QV1JTVCAgUGlu Q19XaWRnZXRfUG93ZXJfU3RhdGVfU2V0ICAgICAgICAgICAgICBcdCVzXG4iLCAgICAgICAgIHBv d2VyX3N0YXRlW1JFR19CSVRTKGR3b3JkLCAgNSwgIDQpXSk7CisJcHJpbnRmKCJBVURfUFdSU1Qg IFBpbkNfV2lkZ2V0X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgICAgICAgXHQlc1xuIiwgICAgICAg ICBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgIDcsICA2KV0pOworCXByaW50ZigiQVVEX1BX UlNUICBQaW5EX1dpZGdldF9Qb3dlcl9TdGF0ZV9TZXQgICAgICAgICAgICAgIFx0JXNcbiIsICAg ICAgICAgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdvcmQsICA5LCAgOCldKTsKKwlwcmludGYoIkFV RF9QV1JTVCAgUGluRF9XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICAgICAgICBcdCVzXG4i LCAgICAgICAgIHBvd2VyX3N0YXRlW1JFR19CSVRTKGR3b3JkLCAxMSwgMTApXSk7CiAKIAlpZiAo IUlTX0hBU1dFTExfUExVUyhkZXZpZCkpIHsKLQkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRv ckFfV2lkZ2V0X1Bvd2VyX1N0YXRlX1JlcXVzdGVkICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbQklU Uyhkd29yZCwgMTMsIDEyKV0pOwotCQlwcmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQV9XaWRn ZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3Jk LCAxNSwgMTQpXSk7Ci0JCXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3JCX1dpZGdldF9Qb3dl cl9TdGF0ZV9SZXF1ZXN0ZWQgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDE3LCAx NildKTsKLQkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvckJfV2lkZ2V0X1Bvd2VyX1N0YXRl X0N1cnJlbnQgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgMTksIDE4KV0pOwor CQlwcmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQV9XaWRnZXRfUG93ZXJfU3RhdGVfUmVxdXN0 ZWQgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMTMsIDEyKV0pOworCQlw cmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQV9XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAg ICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMTUsIDE0KV0pOworCQlwcmlu dGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQl9XaWRnZXRfUG93ZXJfU3RhdGVfUmVxdWVzdGVkICBc dCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMTcsIDE2KV0pOworCQlwcmludGYo IkFVRF9QV1JTVCAgQ29udmVydG9yQl9XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICBcdCVz XG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMTksIDE4KV0pOwogCX0gZWxzZSB7Ci0J CXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3IxX1dpZGdldF9Qb3dlcl9TdGF0ZV9SZXF1c3Rl ZCAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDEzLCAxMildKTsKLQkJcHJpbnRm KCJBVURfUFdSU1QgIENvbnZlcnRvcjFfV2lkZ2V0X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgXHQl c1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgMTUsIDE0KV0pOwotCQlwcmludGYoIkFVRF9Q V1JTVCAgQ29udmVydG9yMl9XaWRnZXRfUG93ZXJfU3RhdGVfUmVxdWVzdGVkICBcdCVzXG4iLCBw b3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAxNywgMTYpXSk7Ci0JCXByaW50ZigiQVVEX1BXUlNUICBD b252ZXJ0b3IyX1dpZGdldF9Qb3dlcl9TdGF0ZV9DdXJyZW50ICAgIFx0JXNcbiIsIHBvd2VyX3N0 YXRlW0JJVFMoZHdvcmQsIDE5LCAxOCldKTsKKwkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRv cjFfV2lkZ2V0X1Bvd2VyX1N0YXRlX1JlcXVzdGVkICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVH X0JJVFMoZHdvcmQsIDEzLCAxMildKTsKKwkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvcjFf V2lkZ2V0X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJ VFMoZHdvcmQsIDE1LCAxNCldKTsKKwkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvcjJfV2lk Z2V0X1Bvd2VyX1N0YXRlX1JlcXVlc3RlZCAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMo ZHdvcmQsIDE3LCAxNildKTsKKwkJcHJpbnRmKCJBVURfUFdSU1QgIENvbnZlcnRvcjJfV2lkZ2V0 X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdv cmQsIDE5LCAxOCldKTsKIAl9CiAKIAludW1fcGlwZXMgPSBnZXRfbnVtX3BpcGVzKCk7CiAJaWYg KG51bV9waXBlcyA9PSAyKSB7Ci0JCXByaW50ZigiQVVEX1BXUlNUICBGdW5jX0dycF9EZXZfUHdy U3RfU2V0ICAgICAgICAgICAgICAgICAgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQs IDIxLCAyMCldKTsKLQkJcHJpbnRmKCJBVURfUFdSU1QgIEZ1bmNfR3JwX0Rldl9Qd3JTdF9DdXJy ICAgICAgICAgICAgICAgICAgXHQlc1xuIiwgcG93ZXJfc3RhdGVbQklUUyhkd29yZCwgMjMsIDIy KV0pOworCQlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19HcnBfRGV2X1B3clN0X1NldCAgICAgICAg ICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMjEsIDIwKV0p OworCQlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19HcnBfRGV2X1B3clN0X0N1cnIgICAgICAgICAg ICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMjMsIDIyKV0pOwog CX0gZWxzZSB7CS8qIDMgcGlwZXMgKi8KIAkJaWYgKCFJU19IQVNXRUxMX1BMVVMoZGV2aWQpKSB7 Ci0JCQlwcmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQ19XaWRnZXRfUG93ZXJfU3RhdGVfUmVx dWVzdGVkICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAyMSwgMjApXSk7Ci0JCQlw cmludGYoIkFVRF9QV1JTVCAgQ29udmVydG9yQ19XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAg ICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtCSVRTKGR3b3JkLCAyMywgMjIpXSk7CisJCQlwcmludGYo IkFVRF9QV1JTVCAgQ29udmVydG9yQ19XaWRnZXRfUG93ZXJfU3RhdGVfUmVxdWVzdGVkICBcdCVz XG4iLCBwb3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMjEsIDIwKV0pOworCQkJcHJpbnRmKCJB VURfUFdSU1QgIENvbnZlcnRvckNfV2lkZ2V0X1Bvd2VyX1N0YXRlX0N1cnJlbnQgICAgXHQlc1xu IiwgcG93ZXJfc3RhdGVbUkVHX0JJVFMoZHdvcmQsIDIzLCAyMildKTsKIAkJfSBlbHNlIHsKLQkJ CXByaW50ZigiQVVEX1BXUlNUICBDb252ZXJ0b3IzX1dpZGdldF9Qb3dlcl9TdGF0ZV9SZXF1ZXN0 ZWQgIFx0JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDIxLCAyMCldKTsKLQkJCXByaW50 ZigiQVVEX1BXUlNUICBDb252ZXJ0b3IzX1dpZGdldF9Qb3dlcl9TdGF0ZV9DdXJyZW50ICAgIFx0 JXNcbiIsIHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDIzLCAyMildKTsKKwkJCXByaW50ZigiQVVE X1BXUlNUICBDb252ZXJ0b3IzX1dpZGdldF9Qb3dlcl9TdGF0ZV9SZXF1ZXN0ZWQgIFx0JXNcbiIs IHBvd2VyX3N0YXRlW1JFR19CSVRTKGR3b3JkLCAyMSwgMjApXSk7CisJCQlwcmludGYoIkFVRF9Q V1JTVCAgQ29udmVydG9yM19XaWRnZXRfUG93ZXJfU3RhdGVfQ3VycmVudCAgICBcdCVzXG4iLCBw b3dlcl9zdGF0ZVtSRUdfQklUUyhkd29yZCwgMjMsIDIyKV0pOwogCQl9Ci0JCXByaW50ZigiQVVE X1BXUlNUICBGdW5jX0dycF9EZXZfUHdyU3RfU2V0ICAgICAgICAgICAgICAgICAgIFx0JXNcbiIs IHBvd2VyX3N0YXRlW0JJVFMoZHdvcmQsIDI1LCAyNCldKTsKLQkJcHJpbnRmKCJBVURfUFdSU1Qg IEZ1bmNfR3JwX0Rldl9Qd3JTdF9DdXJyICAgICAgICAgICAgICAgICAgXHQlc1xuIiwgcG93ZXJf c3RhdGVbQklUUyhkd29yZCwgMjcsIDI2KV0pOworCQlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19H cnBfRGV2X1B3clN0X1NldCAgICAgICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtS RUdfQklUUyhkd29yZCwgMjUsIDI0KV0pOworCQlwcmludGYoIkFVRF9QV1JTVCAgRnVuY19HcnBf RGV2X1B3clN0X0N1cnIgICAgICAgICAgICAgICAgICBcdCVzXG4iLCBwb3dlcl9zdGF0ZVtSRUdf QklUUyhkd29yZCwgMjcsIDI2KV0pOwogCX0KIH0KIApAQCAtMTUxMyw3ICsxNTEzLDcgQEAgc3Rh dGljIHZvaWQgZHVtcF9hdWRfZWRpZF9kYXRhKGludCBpbmRleCkKIAlkd29yZCA9IElOUkVHKGF1 ZF9jdHJsX3N0KTsKIAlkd29yZCAmPSB+QklUTUFTSyg5LCA1KTsKIAlPVVRSRUcoYXVkX2N0cmxf c3QsIGR3b3JkKTsKLQlmb3IgKGkgPSAwOyBpIDwgQklUUyhkd29yZCwgMTQsIDEwKSAvIDQ7IGkr KykKKwlmb3IgKGkgPSAwOyBpIDwgUkVHX0JJVFMoZHdvcmQsIDE0LCAxMCkgLyA0OyBpKyspCiAJ CXByaW50ZigiJTA4eCAiLCBodG9ubChJTlJFRyhlZGlkX2RhdGEpKSk7CiAJcHJpbnRmKCJcbiIp OwogfQpAQCAtMTU1MywzMSArMTU1MywzMSBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9wb3J0X2Vu X2hkX2NmZyh2b2lkKQogCiAJZHdvcmQgPSBJTlJFRyhhdWRfcmVnX2Jhc2UgKyBBVURfUE9SVF9F Tl9IRF9DRkcpOwogCWlmIChudW1fcGlwZXMgPT0gMikgewotCQlwcmludGYoIkFVRF9QT1JUX0VO X0hEX0NGRyAgQ29udmVydG9yX0FfRGlnZW5cdFx0XHQlbHVcbiIsICAgIEJJVChkd29yZCwgMCkp OwotCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0JfRGlnZW5cdFx0XHQl bHVcbiIsICAgIEJJVChkd29yZCwgMSkpOwotCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAg Q29udmVydG9yX0FfU3RyZWFtX0lEXHRcdCVsdVxuIiwgIEJJVFMoZHdvcmQsICA3LCA0KSk7Ci0J CXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQl9TdHJlYW1fSURcdFx0JWx1 XG4iLCAgQklUUyhkd29yZCwgMTEsIDgpKTsKKwkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcg IENvbnZlcnRvcl9BX0RpZ2VuXHRcdFx0JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAwKSk7CisJ CXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQl9EaWdlblx0XHRcdCVsdVxu IiwgICAgUkVHX0JJVChkd29yZCwgMSkpOworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAg Q29udmVydG9yX0FfU3RyZWFtX0lEXHRcdCVsdVxuIiwgIFJFR19CSVRTKGR3b3JkLCAgNywgNCkp OworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0JfU3RyZWFtX0lEXHRc dCVsdVxuIiwgIFJFR19CSVRTKGR3b3JkLCAxMSwgOCkpOwogCi0JCXByaW50ZigiQVVEX1BPUlRf RU5fSERfQ0ZHICBQb3J0X0JfT3V0X0VuYWJsZVx0XHRcdCVsdVxuIiwgICAgQklUKGR3b3JkLCAx MikpOwotCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9DX091dF9FbmFibGVcdFx0 XHQlbHVcbiIsICAgIEJJVChkd29yZCwgMTMpKTsKLQkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9D RkcgIFBvcnRfRF9PdXRfRW5hYmxlXHRcdFx0JWx1XG4iLCAgICBCSVQoZHdvcmQsIDE0KSk7Ci0J CXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfQW1wX011dGVfU3RhdHVzXHRcdCVs dVxuIiwgQklUKGR3b3JkLCAxNikpOwotCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9y dF9DX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIEJJVChkd29yZCwgMTcpKTsKLQkJcHJpbnRm KCJBVURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfRF9BbXBfTXV0ZV9TdGF0dXNcdFx0JWx1XG4iLCBC SVQoZHdvcmQsIDE4KSk7CisJCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfT3V0 X0VuYWJsZVx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29yZCwgMTIpKTsKKwkJcHJpbnRmKCJB VURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfQ19PdXRfRW5hYmxlXHRcdFx0JWx1XG4iLCAgICBSRUdf QklUKGR3b3JkLCAxMykpOworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9EX091 dF9FbmFibGVcdFx0XHQlbHVcbiIsICAgIFJFR19CSVQoZHdvcmQsIDE0KSk7CisJCXByaW50Zigi QVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfQW1wX011dGVfU3RhdHVzXHRcdCVsdVxuIiwgUkVH X0JJVChkd29yZCwgMTYpKTsKKwkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfQ19B bXBfTXV0ZV9TdGF0dXNcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAxNykpOworCQlwcmludGYo IkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9EX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIFJF R19CSVQoZHdvcmQsIDE4KSk7CiAJfSBlbHNlIHsgLyogdGhyZWUgcGlwZXMgKi8KLQkJcHJpbnRm KCJBVURfUE9SVF9FTl9IRF9DRkcgIENvbnZlcnRvcl9BX0RpZ2VuXHRcdFx0JWx1XG4iLCAgICBC SVQoZHdvcmQsIDApKTsKLQkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIENvbnZlcnRvcl9C X0RpZ2VuXHRcdFx0JWx1XG4iLCAgICBCSVQoZHdvcmQsIDEpKTsKLQkJcHJpbnRmKCJBVURfUE9S VF9FTl9IRF9DRkcgIENvbnZlcnRvcl9DX0RpZ2VuXHRcdFx0JWx1XG4iLCAgICBCSVQoZHdvcmQs IDIpKTsKLQkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIENvbnZlcnRvcl9BX1N0cmVhbV9J RFx0XHQlbHVcbiIsICBCSVRTKGR3b3JkLCAgNywgNCkpOwotCQlwcmludGYoIkFVRF9QT1JUX0VO X0hEX0NGRyAgQ29udmVydG9yX0JfU3RyZWFtX0lEXHRcdCVsdVxuIiwgIEJJVFMoZHdvcmQsIDEx LCA4KSk7Ci0JCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQ19TdHJlYW1f SURcdFx0JWx1XG4iLCAgQklUUyhkd29yZCwgMTUsIDEyKSk7CisJCXByaW50ZigiQVVEX1BPUlRf RU5fSERfQ0ZHICBDb252ZXJ0b3JfQV9EaWdlblx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29y ZCwgMCkpOworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgQ29udmVydG9yX0JfRGlnZW5c dFx0XHQlbHVcbiIsICAgIFJFR19CSVQoZHdvcmQsIDEpKTsKKwkJcHJpbnRmKCJBVURfUE9SVF9F Tl9IRF9DRkcgIENvbnZlcnRvcl9DX0RpZ2VuXHRcdFx0JWx1XG4iLCAgICBSRUdfQklUKGR3b3Jk LCAyKSk7CisJCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQV9TdHJlYW1f SURcdFx0JWx1XG4iLCAgUkVHX0JJVFMoZHdvcmQsICA3LCA0KSk7CisJCXByaW50ZigiQVVEX1BP UlRfRU5fSERfQ0ZHICBDb252ZXJ0b3JfQl9TdHJlYW1fSURcdFx0JWx1XG4iLCAgUkVHX0JJVFMo ZHdvcmQsIDExLCA4KSk7CisJCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBDb252ZXJ0b3Jf Q19TdHJlYW1fSURcdFx0JWx1XG4iLCAgUkVHX0JJVFMoZHdvcmQsIDE1LCAxMikpOwogCi0JCXBy aW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfT3V0X0VuYWJsZVx0XHRcdCVsdVxuIiwg ICAgQklUKGR3b3JkLCAxNikpOwotCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9D X091dF9FbmFibGVcdFx0XHQlbHVcbiIsICAgIEJJVChkd29yZCwgMTcpKTsKLQkJcHJpbnRmKCJB VURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfRF9PdXRfRW5hYmxlXHRcdFx0JWx1XG4iLCAgICBCSVQo ZHdvcmQsIDE4KSk7Ci0JCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfQW1wX011 dGVfU3RhdHVzXHRcdCVsdVxuIiwgQklUKGR3b3JkLCAyMCkpOwotCQlwcmludGYoIkFVRF9QT1JU X0VOX0hEX0NGRyAgUG9ydF9DX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIEJJVChkd29yZCwg MjEpKTsKLQkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfRF9BbXBfTXV0ZV9TdGF0 dXNcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDIyKSk7CisJCXByaW50ZigiQVVEX1BPUlRfRU5fSERf Q0ZHICBQb3J0X0JfT3V0X0VuYWJsZVx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29yZCwgMTYp KTsKKwkJcHJpbnRmKCJBVURfUE9SVF9FTl9IRF9DRkcgIFBvcnRfQ19PdXRfRW5hYmxlXHRcdFx0 JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAxNykpOworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hE X0NGRyAgUG9ydF9EX091dF9FbmFibGVcdFx0XHQlbHVcbiIsICAgIFJFR19CSVQoZHdvcmQsIDE4 KSk7CisJCXByaW50ZigiQVVEX1BPUlRfRU5fSERfQ0ZHICBQb3J0X0JfQW1wX011dGVfU3RhdHVz XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjApKTsKKwkJcHJpbnRmKCJBVURfUE9SVF9FTl9I RF9DRkcgIFBvcnRfQ19BbXBfTXV0ZV9TdGF0dXNcdFx0JWx1XG4iLCBSRUdfQklUKGR3b3JkLCAy MSkpOworCQlwcmludGYoIkFVRF9QT1JUX0VOX0hEX0NGRyAgUG9ydF9EX0FtcF9NdXRlX1N0YXR1 c1x0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDIyKSk7CiAJfQogfQogCkBAIC0xNTg2LDE5ICsx NTg2LDE5IEBAIHN0YXRpYyB2b2lkIGR1bXBfYXVkX3BpcGVfY29udl9jZmcodm9pZCkKIAl1aW50 MzJfdCBkd29yZDsKIAogCWR3b3JkID0gSU5SRUcoYXVkX3JlZ19iYXNlICsgQVVEX1BJUEVfQ09O Vl9DRkcpOwotCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8xX0RpZ2VuXHRc dFx0JWx1XG4iLCAgICBCSVQoZHdvcmQsIDApKTsKLQlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZH ICBDb252ZXJ0b3JfMl9EaWdlblx0XHRcdCVsdVxuIiwgICAgQklUKGR3b3JkLCAxKSk7Ci0JcHJp bnRmKCJBVURfUElQRV9DT05WX0NGRyAgQ29udmVydG9yXzNfRGlnZW5cdFx0XHQlbHVcbiIsICAg IEJJVChkd29yZCwgMikpOwotCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8x X1N0cmVhbV9JRFx0XHQlbHVcbiIsICBCSVRTKGR3b3JkLCAgNywgNCkpOwotCXByaW50ZigiQVVE X1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8yX1N0cmVhbV9JRFx0XHQlbHVcbiIsICBCSVRTKGR3 b3JkLCAxMSwgOCkpOwotCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8zX1N0 cmVhbV9JRFx0XHQlbHVcbiIsICBCSVRTKGR3b3JkLCAxNSwgMTIpKTsKKwlwcmludGYoIkFVRF9Q SVBFX0NPTlZfQ0ZHICBDb252ZXJ0b3JfMV9EaWdlblx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChk d29yZCwgMCkpOworCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8yX0RpZ2Vu XHRcdFx0JWx1XG4iLCAgICBSRUdfQklUKGR3b3JkLCAxKSk7CisJcHJpbnRmKCJBVURfUElQRV9D T05WX0NGRyAgQ29udmVydG9yXzNfRGlnZW5cdFx0XHQlbHVcbiIsICAgIFJFR19CSVQoZHdvcmQs IDIpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZHICBDb252ZXJ0b3JfMV9TdHJlYW1fSURc dFx0JWx1XG4iLCAgUkVHX0JJVFMoZHdvcmQsICA3LCA0KSk7CisJcHJpbnRmKCJBVURfUElQRV9D T05WX0NGRyAgQ29udmVydG9yXzJfU3RyZWFtX0lEXHRcdCVsdVxuIiwgIFJFR19CSVRTKGR3b3Jk LCAxMSwgOCkpOworCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIENvbnZlcnRvcl8zX1N0cmVh bV9JRFx0XHQlbHVcbiIsICBSRUdfQklUUyhkd29yZCwgMTUsIDEyKSk7CiAKLQlwcmludGYoIkFV RF9QSVBFX0NPTlZfQ0ZHICBQb3J0X0JfT3V0X0VuYWJsZVx0XHRcdCVsdVxuIiwgICAgQklUKGR3 b3JkLCAxNikpOwotCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIFBvcnRfQ19PdXRfRW5hYmxl XHRcdFx0JWx1XG4iLCAgICBCSVQoZHdvcmQsIDE3KSk7Ci0JcHJpbnRmKCJBVURfUElQRV9DT05W X0NGRyAgUG9ydF9EX091dF9FbmFibGVcdFx0XHQlbHVcbiIsICAgIEJJVChkd29yZCwgMTgpKTsK LQlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZHICBQb3J0X0JfQW1wX011dGVfU3RhdHVzXHRcdCVs dVxuIiwgQklUKGR3b3JkLCAyMCkpOwotCXByaW50ZigiQVVEX1BJUEVfQ09OVl9DRkcgIFBvcnRf Q19BbXBfTXV0ZV9TdGF0dXNcdFx0JWx1XG4iLCBCSVQoZHdvcmQsIDIxKSk7Ci0JcHJpbnRmKCJB VURfUElQRV9DT05WX0NGRyAgUG9ydF9EX0FtcF9NdXRlX1N0YXR1c1x0XHQlbHVcbiIsIEJJVChk d29yZCwgMjIpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZHICBQb3J0X0JfT3V0X0VuYWJs ZVx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29yZCwgMTYpKTsKKwlwcmludGYoIkFVRF9QSVBF X0NPTlZfQ0ZHICBQb3J0X0NfT3V0X0VuYWJsZVx0XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29y ZCwgMTcpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZHICBQb3J0X0RfT3V0X0VuYWJsZVx0 XHRcdCVsdVxuIiwgICAgUkVHX0JJVChkd29yZCwgMTgpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NP TlZfQ0ZHICBQb3J0X0JfQW1wX011dGVfU3RhdHVzXHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwg MjApKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTlZfQ0ZHICBQb3J0X0NfQW1wX011dGVfU3RhdHVz XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjEpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTlZf Q0ZHICBQb3J0X0RfQW1wX011dGVfU3RhdHVzXHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjIp KTsKIH0KIAogc3RhdGljIHZvaWQgZHVtcF9hdWRfZGlnX2NudnQoaW50IGluZGV4KQpAQCAtMTYx NCwxNiArMTYxNCwxNiBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9kaWdfY252dChpbnQgaW5kZXgp CiAJCXNwcmludGYocHJlZml4LCAiQVVEX0MlY19ESUdfQ05WVCAgICIsICcxJyArIGluZGV4IC0g Q09OVkVSVEVSXzEpOwogCX0KIAotCXByaW50ZigiJXMgIFZcdFx0XHRcdFx0JWx1XG4iLCAgICAg ICAgICAgICAgIHByZWZpeCwgQklUKGR3b3JkLCAxKSk7Ci0JcHJpbnRmKCIlcyAgVkNGR1x0XHRc dFx0JWx1XG4iLCAgICAgICAgICAgICAgcHJlZml4LCBCSVQoZHdvcmQsIDIpKTsKLQlwcmludGYo IiVzICBQUkVcdFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICBwcmVmaXgsIEJJVChkd29yZCwg MykpOwotCXByaW50ZigiJXMgIENvcHlcdFx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgIHByZWZp eCwgQklUKGR3b3JkLCA0KSk7Ci0JcHJpbnRmKCIlcyAgTm9uQXVkaW9cdFx0XHRcdCVsdVxuIiwg ICAgICAgICAgcHJlZml4LCBCSVQoZHdvcmQsIDUpKTsKLQlwcmludGYoIiVzICBQUk9cdFx0XHRc dFx0JWx1XG4iLCAgICAgICAgICAgICBwcmVmaXgsIEJJVChkd29yZCwgNikpOwotCXByaW50Zigi JXMgIExldmVsXHRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgIHByZWZpeCwgQklUKGR3b3JkLCA3 KSk7Ci0JcHJpbnRmKCIlcyAgQ2F0ZWdvcnlfQ29kZVx0XHRcdCVsdVxuIiwgICAgICAgcHJlZml4 LCBCSVRTKGR3b3JkLCAxNCwgOCkpOwotCXByaW50ZigiJXMgIExvd2VzdF9DaGFubmVsX051bWJl clx0XHQlbHVcbiIsIHByZWZpeCwgQklUUyhkd29yZCwgMTksIDE2KSk7Ci0JcHJpbnRmKCIlcyAg U3RyZWFtX0lEXHRcdFx0XHQlbHVcbiIsICAgICAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCAyMywg MjApKTsKKwlwcmludGYoIiVzICBWXHRcdFx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgICBwcmVm aXgsIFJFR19CSVQoZHdvcmQsIDEpKTsKKwlwcmludGYoIiVzICBWQ0ZHXHRcdFx0XHQlbHVcbiIs ICAgICAgICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDIpKTsKKwlwcmludGYoIiVzICBQ UkVcdFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDMp KTsKKwlwcmludGYoIiVzICBDb3B5XHRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgICBwcmVmaXgs IFJFR19CSVQoZHdvcmQsIDQpKTsKKwlwcmludGYoIiVzICBOb25BdWRpb1x0XHRcdFx0JWx1XG4i LCAgICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDUpKTsKKwlwcmludGYoIiVzICBQUk9c dFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDYpKTsK KwlwcmludGYoIiVzICBMZXZlbFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICBwcmVmaXgsIFJF R19CSVQoZHdvcmQsIDcpKTsKKwlwcmludGYoIiVzICBDYXRlZ29yeV9Db2RlXHRcdFx0JWx1XG4i LCAgICAgICBwcmVmaXgsIFJFR19CSVRTKGR3b3JkLCAxNCwgOCkpOworCXByaW50ZigiJXMgIExv d2VzdF9DaGFubmVsX051bWJlclx0XHQlbHVcbiIsIHByZWZpeCwgUkVHX0JJVFMoZHdvcmQsIDE5 LCAxNikpOworCXByaW50ZigiJXMgIFN0cmVhbV9JRFx0XHRcdFx0JWx1XG4iLCAgICAgICAgIHBy ZWZpeCwgUkVHX0JJVFMoZHdvcmQsIDIzLCAyMCkpOwogfQogCiBzdGF0aWMgdm9pZCBkdW1wX2F1 ZF9zdHJfZGVzYyhpbnQgaW5kZXgpCkBAIC0xNjQwLDI0ICsxNjQwLDI0IEBAIHN0YXRpYyB2b2lk IGR1bXBfYXVkX3N0cl9kZXNjKGludCBpbmRleCkKIAkJc3ByaW50ZihwcmVmaXgsICJBVURfQyVj X1NUUl9ERVNDICAiLCAnMScgKyBpbmRleCAtIENPTlZFUlRFUl8xKTsKIAl9CiAKLQlwcmludGYo IiVzICBOdW1iZXJfb2ZfQ2hhbm5lbHNfaW5fYV9TdHJlYW1cdCVsdVxuIiwgICBwcmVmaXgsIEJJ VFMoZHdvcmQsIDMsIDApICsgMSk7Ci0JcHJpbnRmKCIlcyAgQml0c19wZXJfU2FtcGxlXHRcdFx0 WyUjbHhdICVzXG4iLCAgICAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCA2LCA0KSwKLQkJT1BOQU1F KGJpdHNfcGVyX3NhbXBsZSwgQklUUyhkd29yZCwgNiwgNCkpKTsKKwlwcmludGYoIiVzICBOdW1i ZXJfb2ZfQ2hhbm5lbHNfaW5fYV9TdHJlYW1cdCVsdVxuIiwgICBwcmVmaXgsIFJFR19CSVRTKGR3 b3JkLCAzLCAwKSArIDEpOworCXByaW50ZigiJXMgIEJpdHNfcGVyX1NhbXBsZVx0XHRcdFslI2x4 XSAlc1xuIiwgICAgICAgIHByZWZpeCwgUkVHX0JJVFMoZHdvcmQsIDYsIDQpLAorCQlPUE5BTUUo Yml0c19wZXJfc2FtcGxlLCBSRUdfQklUUyhkd29yZCwgNiwgNCkpKTsKIAotCXByaW50ZigiJXMg IFNhbXBsZV9CYXNlX1JhdGVfRGl2aXNvclx0XHRbJSNseF0gJXNcbiIsIHByZWZpeCwgQklUUyhk d29yZCwgMTAsIDgpLAotCQlPUE5BTUUoc2FtcGxlX2Jhc2VfcmF0ZV9kaXZpc29yLCBCSVRTKGR3 b3JkLCAxMCwgOCkpKTsKLQlwcmludGYoIiVzICBTYW1wbGVfQmFzZV9SYXRlX011bHRcdFx0WyUj bHhdICVzXG4iLCAgICBwcmVmaXgsIEJJVFMoZHdvcmQsIDEzLCAxMSksCi0JCU9QTkFNRShzYW1w bGVfYmFzZV9yYXRlX211bHQsIEJJVFMoZHdvcmQsIDEzLCAxMSkpKTsKLQlwcmludGYoIiVzICBT YW1wbGVfQmFzZV9SYXRlXHRcdFx0WyUjbHhdICVzXHQiLCAgICAgICBwcmVmaXgsIEJJVChkd29y ZCwgMTQpLAotCQlPUE5BTUUoc2FtcGxlX2Jhc2VfcmF0ZSwgQklUKGR3b3JkLCAxNCkpKTsKLQly YXRlID0gKEJJVChkd29yZCwgMTQpID8gNDQxMDAgOiA0ODAwMCkgKiAoQklUUyhkd29yZCwgMTMs IDExKSArIDEpCi0JCS8oQklUUyhkd29yZCwgMTAsIDgpICsgMSk7CisJcHJpbnRmKCIlcyAgU2Ft cGxlX0Jhc2VfUmF0ZV9EaXZpc29yXHRcdFslI2x4XSAlc1xuIiwgcHJlZml4LCBSRUdfQklUUyhk d29yZCwgMTAsIDgpLAorCQlPUE5BTUUoc2FtcGxlX2Jhc2VfcmF0ZV9kaXZpc29yLCBSRUdfQklU Uyhkd29yZCwgMTAsIDgpKSk7CisJcHJpbnRmKCIlcyAgU2FtcGxlX0Jhc2VfUmF0ZV9NdWx0XHRc dFslI2x4XSAlc1xuIiwgICAgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgMTMsIDExKSwKKwkJT1BO QU1FKHNhbXBsZV9iYXNlX3JhdGVfbXVsdCwgUkVHX0JJVFMoZHdvcmQsIDEzLCAxMSkpKTsKKwlw cmludGYoIiVzICBTYW1wbGVfQmFzZV9SYXRlXHRcdFx0WyUjbHhdICVzXHQiLCAgICAgICBwcmVm aXgsIFJFR19CSVQoZHdvcmQsIDE0KSwKKwkJT1BOQU1FKHNhbXBsZV9iYXNlX3JhdGUsIFJFR19C SVQoZHdvcmQsIDE0KSkpOworCXJhdGUgPSAoUkVHX0JJVChkd29yZCwgMTQpID8gNDQxMDAgOiA0 ODAwMCkgKiAoUkVHX0JJVFMoZHdvcmQsIDEzLCAxMSkgKyAxKQorCQkvKFJFR19CSVRTKGR3b3Jk LCAxMCwgOCkgKyAxKTsKIAlwcmludGYoIj0+IFNhbXBsZSBSYXRlICVkIEh6XG4iLCByYXRlKTsK IAotCXByaW50ZigiJXMgIENvbnZlcnRvcl9DaGFubmVsX0NvdW50XHRcdCVsdVxuIiwgICAgICAg IHByZWZpeCwgQklUUyhkd29yZCwgMjAsIDE2KSArIDEpOworCXByaW50ZigiJXMgIENvbnZlcnRv cl9DaGFubmVsX0NvdW50XHRcdCVsdVxuIiwgICAgICAgIHByZWZpeCwgUkVHX0JJVFMoZHdvcmQs IDIwLCAxNikgKyAxKTsKIAogCWlmICghSVNfSEFTV0VMTF9QTFVTKGRldmlkKSkKLQkJcHJpbnRm KCIlcyAgSEJSX2VuYWJsZVx0XHRcdFx0JWx1XG4iLCAgICAgICAgIHByZWZpeCwgQklUUyhkd29y ZCwgMjgsIDI3KSk7CisJCXByaW50ZigiJXMgIEhCUl9lbmFibGVcdFx0XHRcdCVsdVxuIiwgICAg ICAgICBwcmVmaXgsIFJFR19CSVRTKGR3b3JkLCAyOCwgMjcpKTsKIH0KIAogI2RlZmluZSBkdW1w X2F1ZF9vdXRfY2hfc3RyCQlkdW1wX2F1ZF9vdXRfY2hhbl9tYXAKQEAgLTE2NzEsMTAgKzE2NzEs MTAgQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRfb3V0X2NoYW5fbWFwKHZvaWQpCiAJCU9VVFJFRyhh dWRfcmVnX2Jhc2UgKyBBVURfT1VUX0NIQU5fTUFQLCBpIHwgKGkgPDwgOCkgfCAoaSA8PCAxNikp OwogCQlkd29yZCA9IElOUkVHKGF1ZF9yZWdfYmFzZSArIEFVRF9PVVRfQ0hBTl9NQVApOwogCQlw cmludGYoIlx0XHRcdFx0JWx1XHQlbHVcdCVsdVx0JWx1XG4iLAotCQkJCTEgKyBCSVRTKGR3b3Jk LCAgMywgIDApLAotCQkJCTEgKyBCSVRTKGR3b3JkLCAgNywgIDQpLAotCQkJCTEgKyBCSVRTKGR3 b3JkLCAxNSwgMTIpLAotCQkJCTEgKyBCSVRTKGR3b3JkLCAyMywgMjApKTsKKwkJCQkxICsgUkVH X0JJVFMoZHdvcmQsICAzLCAgMCksCisJCQkJMSArIFJFR19CSVRTKGR3b3JkLCAgNywgIDQpLAor CQkJCTEgKyBSRUdfQklUUyhkd29yZCwgMTUsIDEyKSwKKwkJCQkxICsgUkVHX0JJVFMoZHdvcmQs IDIzLCAyMCkpOwogCX0KIH0KIApAQCAtMTY4NiwxMCArMTY4NiwxMCBAQCBzdGF0aWMgdm9pZCBk dW1wX2F1ZF9jb25uZWN0X2xpc3Qodm9pZCkKIAlkd29yZCA9IElOUkVHKGF1ZF9yZWdfYmFzZSAr IEFVRF9QSU5XX0NPTk5MTkdfTElTVCk7CiAJc3ByaW50ZihwcmVmaXgsICJBVURfUElOV19DT05O TE5HX0xJU1QiKTsKIAotCXByaW50ZigiJXMgIENvbm5lY3RfTGlzdF9MZW5ndGhcdFx0JWx1XG4i LCAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCA2LCAwKSk7Ci0JcHJpbnRmKCIlcyAgRm9ybSBcdFx0 XHRcdFslI2x4XSAlc1xuIiwgICAgICAgICBwcmVmaXgsIEJJVChkd29yZCwgNyksCi0JCU9QTkFN RShjb25uZWN0X2xpc3RfZm9ybSwgQklUKGR3b3JkLCA3KSkpOwotCXByaW50ZigiJXMgIENvbm5l Y3RfTGlzdF9FbnRyeVx0XHQlbHUsICVsdVxuIiwgcHJlZml4LCBCSVRTKGR3b3JkLCAxNSwgOCks IEJJVFMoZHdvcmQsIDIzLCAxNikpOworCXByaW50ZigiJXMgIENvbm5lY3RfTGlzdF9MZW5ndGhc dFx0JWx1XG4iLCAgICAgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgNiwgMCkpOworCXByaW50Zigi JXMgIEZvcm0gXHRcdFx0XHRbJSNseF0gJXNcbiIsICAgICAgICAgcHJlZml4LCBSRUdfQklUKGR3 b3JkLCA3KSwKKwkJT1BOQU1FKGNvbm5lY3RfbGlzdF9mb3JtLCBSRUdfQklUKGR3b3JkLCA3KSkp OworCXByaW50ZigiJXMgIENvbm5lY3RfTGlzdF9FbnRyeVx0XHQlbHUsICVsdVxuIiwgcHJlZml4 LCBSRUdfQklUUyhkd29yZCwgMTUsIDgpLCBSRUdfQklUUyhkd29yZCwgMjMsIDE2KSk7CiB9CiAK IHN0YXRpYyB2b2lkIGR1bXBfYXVkX2Nvbm5lY3Rfc2VsZWN0KHZvaWQpCkBAIC0xNzA2LDkgKzE3 MDYsOSBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9jb25uZWN0X3NlbGVjdCh2b2lkKQogCQlzcHJp bnRmKHByZWZpeCwgIkFVRF9QSU5XX0NPTk5MTkdfU0VMICAiKTsKIAl9CiAKLQlwcmludGYoIiVz ICBDb25uZWN0aW9uX3NlbGVjdF9Qb3J0X0JcdCUjbHhcbiIsIHByZWZpeCwgQklUUyhkd29yZCwg IDcsICAwKSk7Ci0JcHJpbnRmKCIlcyAgQ29ubmVjdGlvbl9zZWxlY3RfUG9ydF9DXHQlI2x4XG4i LCBwcmVmaXgsIEJJVFMoZHdvcmQsIDE1LCAgOCkpOwotCXByaW50ZigiJXMgIENvbm5lY3Rpb25f c2VsZWN0X1BvcnRfRFx0JSNseFxuIiwgcHJlZml4LCBCSVRTKGR3b3JkLCAyMywgMTYpKTsKKwlw cmludGYoIiVzICBDb25uZWN0aW9uX3NlbGVjdF9Qb3J0X0JcdCUjbHhcbiIsIHByZWZpeCwgUkVH X0JJVFMoZHdvcmQsICA3LCAgMCkpOworCXByaW50ZigiJXMgIENvbm5lY3Rpb25fc2VsZWN0X1Bv cnRfQ1x0JSNseFxuIiwgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgMTUsICA4KSk7CisJcHJpbnRm KCIlcyAgQ29ubmVjdGlvbl9zZWxlY3RfUG9ydF9EXHQlI2x4XG4iLCBwcmVmaXgsIFJFR19CSVRT KGR3b3JkLCAyMywgMTYpKTsKIH0KIAogc3RhdGljIHZvaWQgZHVtcF9hdWRfY3RybF9zdGF0ZShp bnQgaW5kZXgpCkBAIC0xNzI2LDE2ICsxNzI2LDE2IEBAIHN0YXRpYyB2b2lkIGR1bXBfYXVkX2N0 cmxfc3RhdGUoaW50IGluZGV4KQogCQlwcmludGYoIkF1ZGlvIGNvbnRyb2wgc3RhdGUgLSBQaXBl ICVjXG4iLCAgJ0EnICsgaW5kZXggLSBQSVBFX0EpOwogCX0KIAotCXByaW50ZigiXHRFTERfQUNL XHRcdFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJJVChk d29yZCwgNCkpOwotCXByaW50ZigiXHRFTERfYnVmZmVyX3NpemVcdFx0XHRcdFx0JWx1XG4iLCAg ICAgICAgICAgICAgICAgICAgICAgICAgIEJJVFMoZHdvcmQsIDE0LCAxMCkpOwotCXByaW50Zigi XHRESVBfdHJhbnNtaXNzaW9uX2ZyZXF1ZW5jeVx0XHRcdFsweCVseF0gJXNcbiIsICAgICAgICAg ICAgIEJJVFMoZHdvcmQsIDE3LCAxNiksCi0JCWRpcF90cmFuc1tCSVRTKGR3b3JkLCAxNywgMTYp XSk7Ci0JcHJpbnRmKCJcdERJUCBCdWZmZXIgSW5kZXggXHRcdFx0XHRbMHglbHhdICVzXG4iLCAg ICAgICAgICAgICAgICAgICAgQklUUyhkd29yZCwgMjAsIDE4KSwKLQkJZGlwX2luZGV4W0JJVFMo ZHdvcmQsIDIwLCAxOCldKTsKLQlwcmludGYoIlx0QXVkaW8gRElQIHR5cGUgZW5hYmxlIHN0YXR1 c1x0XHRcdFsweCUwNGx4XSAlcywgJXMsICVzXG4iLCBCSVRTKGR3b3JkLCAyNCwgMjEpLAotCQlk aXBfdHlwZVtCSVQoZHdvcmQsIDIxKV0sIGRpcF9nZW4xX3N0YXRlW0JJVChkd29yZCwgMjIpXSwg IGRpcF9nZW4yX3N0YXRlW0JJVChkd29yZCwgMjMpXSk7Ci0JcHJpbnRmKCJcdEF1ZGlvIERJUCBw b3J0IHNlbGVjdFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgICAgICAgICAgICAgICAgQklUUyhkd29y ZCwgMzAsIDI5KSwKLQkJZGlwX3BvcnRbQklUUyhkd29yZCwgMzAsIDI5KV0pOworCXByaW50Zigi XHRFTERfQUNLXHRcdFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJFR19CSVQoZHdvcmQsIDQpKTsKKwlwcmludGYoIlx0RUxEX2J1ZmZlcl9zaXplXHRcdFx0 XHRcdCVsdVxuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICBSRUdfQklUUyhkd29yZCwgMTQs IDEwKSk7CisJcHJpbnRmKCJcdERJUF90cmFuc21pc3Npb25fZnJlcXVlbmN5XHRcdFx0WzB4JWx4 XSAlc1xuIiwgICAgICAgICAgICAgUkVHX0JJVFMoZHdvcmQsIDE3LCAxNiksCisJCWRpcF90cmFu c1tSRUdfQklUUyhkd29yZCwgMTcsIDE2KV0pOworCXByaW50ZigiXHRESVAgQnVmZmVyIEluZGV4 IFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgICAgICAgICAgICAgICAgICAgIFJFR19CSVRTKGR3b3Jk LCAyMCwgMTgpLAorCQlkaXBfaW5kZXhbUkVHX0JJVFMoZHdvcmQsIDIwLCAxOCldKTsKKwlwcmlu dGYoIlx0QXVkaW8gRElQIHR5cGUgZW5hYmxlIHN0YXR1c1x0XHRcdFsweCUwNGx4XSAlcywgJXMs ICVzXG4iLCBSRUdfQklUUyhkd29yZCwgMjQsIDIxKSwKKwkJZGlwX3R5cGVbUkVHX0JJVChkd29y ZCwgMjEpXSwgZGlwX2dlbjFfc3RhdGVbUkVHX0JJVChkd29yZCwgMjIpXSwgIGRpcF9nZW4yX3N0 YXRlW1JFR19CSVQoZHdvcmQsIDIzKV0pOworCXByaW50ZigiXHRBdWRpbyBESVAgcG9ydCBzZWxl Y3RcdFx0XHRcdFsweCVseF0gJXNcbiIsICAgICAgICAgICAgICAgIFJFR19CSVRTKGR3b3JkLCAz MCwgMjkpLAorCQlkaXBfcG9ydFtSRUdfQklUUyhkd29yZCwgMzAsIDI5KV0pOwogCXByaW50Zigi XG4iKTsKIH0KIApAQCAtMTc0NCwxMiArMTc0NCwxMiBAQCBzdGF0aWMgdm9pZCBkdW1wX2F1ZF9j dHJsX3N0YXRlMih2b2lkKQogCXVpbnQzMl90IGR3b3JkOwogCiAJZHdvcmQgPSBJTlJFRyhhdWRf cmVnX2Jhc2UgKyBBVURfQ05UTF9TVDIpOwotCXByaW50ZigiQVVEX0NOVExfU1QyICBFTERfdmFs aWRCXHRcdFx0XHQlbHVcbiIsICBCSVQoZHdvcmQsIDApKTsKLQlwcmludGYoIkFVRF9DTlRMX1NU MiAgQ1BfUmVhZHlCXHRcdFx0XHRcdCVsdVxuIiwgQklUKGR3b3JkLCAxKSk7Ci0JcHJpbnRmKCJB VURfQ05UTF9TVDIgIEVMRF92YWxpZENcdFx0XHRcdCVsdVxuIiwgIEJJVChkd29yZCwgNCkpOwot CXByaW50ZigiQVVEX0NOVExfU1QyICBDUF9SZWFkeUNcdFx0XHRcdFx0JWx1XG4iLCBCSVQoZHdv cmQsIDUpKTsKLQlwcmludGYoIkFVRF9DTlRMX1NUMiAgRUxEX3ZhbGlkRFx0XHRcdFx0JWx1XG4i LCAgQklUKGR3b3JkLCA4KSk7Ci0JcHJpbnRmKCJBVURfQ05UTF9TVDIgIENQX1JlYWR5RFx0XHRc dFx0XHQlbHVcbiIsIEJJVChkd29yZCwgOSkpOworCXByaW50ZigiQVVEX0NOVExfU1QyICBFTERf dmFsaWRCXHRcdFx0XHQlbHVcbiIsICBSRUdfQklUKGR3b3JkLCAwKSk7CisJcHJpbnRmKCJBVURf Q05UTF9TVDIgIENQX1JlYWR5Qlx0XHRcdFx0XHQlbHVcbiIsIFJFR19CSVQoZHdvcmQsIDEpKTsK KwlwcmludGYoIkFVRF9DTlRMX1NUMiAgRUxEX3ZhbGlkQ1x0XHRcdFx0JWx1XG4iLCAgUkVHX0JJ VChkd29yZCwgNCkpOworCXByaW50ZigiQVVEX0NOVExfU1QyICBDUF9SZWFkeUNcdFx0XHRcdFx0 JWx1XG4iLCBSRUdfQklUKGR3b3JkLCA1KSk7CisJcHJpbnRmKCJBVURfQ05UTF9TVDIgIEVMRF92 YWxpZERcdFx0XHRcdCVsdVxuIiwgIFJFR19CSVQoZHdvcmQsIDgpKTsKKwlwcmludGYoIkFVRF9D TlRMX1NUMiAgQ1BfUmVhZHlEXHRcdFx0XHRcdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgOSkpOwog fQogCiAvKiBmb3IgaHN3KyAqLwpAQCAtMTc1OCwxOCArMTc1OCwxOCBAQCBzdGF0aWMgdm9pZCBk dW1wX2F1ZF9lbGRfY3BfdmxkKHZvaWQpCiAJdWludDMyX3QgZHdvcmQ7CiAKIAlkd29yZCA9IElO UkVHKGF1ZF9yZWdfYmFzZSArIEFVRF9QSU5fRUxEX0NQX1ZMRCk7Ci0JcHJpbnRmKCJBVURfUElO X0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQSBFTERfdmFsaWRcdFx0JWx1XG4iLAlCSVQoZHdvcmQs IDApKTsKLQlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAgVHJhbnNjb2Rlcl9BIENQX1JlYWR5 IFx0XHQlbHVcbiIsCUJJVChkd29yZCwgMSkpOwotCXByaW50ZigiQVVEX1BJTl9FTERfQ1BfVkxE ICBUcmFuc2NvZGVyX0EgT3V0X2VuYWJsZVx0XHQlbHVcbiIsCUJJVChkd29yZCwgMikpOwotCXBy aW50ZigiQVVEX1BJTl9FTERfQ1BfVkxEICBUcmFuc2NvZGVyX0EgSW5hY3RpdmVcdFx0JWx1XG4i LAlCSVQoZHdvcmQsIDMpKTsKLQlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAgVHJhbnNjb2Rl cl9CIEVMRF92YWxpZFx0XHQlbHVcbiIsCUJJVChkd29yZCwgNCkpOwotCXByaW50ZigiQVVEX1BJ Tl9FTERfQ1BfVkxEICBUcmFuc2NvZGVyX0IgQ1BfUmVhZHlcdFx0JWx1XG4iLAlCSVQoZHdvcmQs IDUpKTsKLQlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAgVHJhbnNjb2Rlcl9CIE9VVF9lbmFi bGVcdFx0JWx1XG4iLAlCSVQoZHdvcmQsIDYpKTsKLQlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZM RCAgVHJhbnNjb2Rlcl9CIEluYWN0aXZlXHRcdCVsdVxuIiwgICAgQklUKGR3b3JkLCA3KSk7Ci0J cHJpbnRmKCJBVURfUElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQyBFTERfdmFsaWRcdFx0JWx1 XG4iLAlCSVQoZHdvcmQsIDgpKTsKLQlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAgVHJhbnNj b2Rlcl9DIENQX1JlYWR5XHRcdCVsdVxuIiwJQklUKGR3b3JkLCA5KSk7Ci0JcHJpbnRmKCJBVURf UElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQyBPVVRfZW5hYmxlXHRcdCVsdVxuIiwJQklUKGR3 b3JkLCAxMCkpOwotCXByaW50ZigiQVVEX1BJTl9FTERfQ1BfVkxEICBUcmFuc2NvZGVyX0MgSW5h Y3RpdmVcdFx0JWx1XG4iLCAgICBCSVQoZHdvcmQsIDExKSk7CisJcHJpbnRmKCJBVURfUElOX0VM RF9DUF9WTEQgIFRyYW5zY29kZXJfQSBFTERfdmFsaWRcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3Jk LCAwKSk7CisJcHJpbnRmKCJBVURfUElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQSBDUF9SZWFk eSBcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCAxKSk7CisJcHJpbnRmKCJBVURfUElOX0VMRF9D UF9WTEQgIFRyYW5zY29kZXJfQSBPdXRfZW5hYmxlXHRcdCVsdVxuIiwJUkVHX0JJVChkd29yZCwg MikpOworCXByaW50ZigiQVVEX1BJTl9FTERfQ1BfVkxEICBUcmFuc2NvZGVyX0EgSW5hY3RpdmVc dFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCAzKSk7CisJcHJpbnRmKCJBVURfUElOX0VMRF9DUF9W TEQgIFRyYW5zY29kZXJfQiBFTERfdmFsaWRcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCA0KSk7 CisJcHJpbnRmKCJBVURfUElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQiBDUF9SZWFkeVx0XHQl bHVcbiIsCVJFR19CSVQoZHdvcmQsIDUpKTsKKwlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAg VHJhbnNjb2Rlcl9CIE9VVF9lbmFibGVcdFx0JWx1XG4iLAlSRUdfQklUKGR3b3JkLCA2KSk7CisJ cHJpbnRmKCJBVURfUElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQiBJbmFjdGl2ZVx0XHQlbHVc biIsICAgIFJFR19CSVQoZHdvcmQsIDcpKTsKKwlwcmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAg VHJhbnNjb2Rlcl9DIEVMRF92YWxpZFx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDgpKTsKKwlw cmludGYoIkFVRF9QSU5fRUxEX0NQX1ZMRCAgVHJhbnNjb2Rlcl9DIENQX1JlYWR5XHRcdCVsdVxu IiwJUkVHX0JJVChkd29yZCwgOSkpOworCXByaW50ZigiQVVEX1BJTl9FTERfQ1BfVkxEICBUcmFu c2NvZGVyX0MgT1VUX2VuYWJsZVx0XHQlbHVcbiIsCVJFR19CSVQoZHdvcmQsIDEwKSk7CisJcHJp bnRmKCJBVURfUElOX0VMRF9DUF9WTEQgIFRyYW5zY29kZXJfQyBJbmFjdGl2ZVx0XHQlbHVcbiIs ICAgIFJFR19CSVQoZHdvcmQsIDExKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBfYXVkX2hkbWlf c3RhdHVzKHZvaWQpCkBAIC0xNzc3LDEyICsxNzc3LDEyIEBAIHN0YXRpYyB2b2lkIGR1bXBfYXVk X2hkbWlfc3RhdHVzKHZvaWQpCiAJdWludDMyX3QgZHdvcmQ7CiAKIAlkd29yZCA9IElOUkVHKGF1 ZF9yZWdfYmFzZSArIEFVRF9IRE1JV19TVEFUVVMpOwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRV UyAgRnVuY3Rpb25fUmVzZXRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgICAgIEJJVChkd29yZCwg MjQpKTsKLQlwcmludGYoIkFVRF9IRE1JV19TVEFUVVMgIEJDTEsvQ0RDTEtfRklGT19PdmVycnVu XHRcdCVsdVxuIiwJICAgICBCSVQoZHdvcmQsIDI1KSk7Ci0JcHJpbnRmKCJBVURfSERNSVdfU1RB VFVTICBDb252X0FfQ0RDTEsvRE9UQ0xLX0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAgQklUKGR3b3Jk LCAyOCkpOwotCXByaW50ZigiQVVEX0hETUlXX1NUQVRVUyAgQ29udl9BX0NEQ0xLL0RPVENMS19G SUZPX1VuZGVycnVuXHQlbHVcbiIsIEJJVChkd29yZCwgMjkpKTsKLQlwcmludGYoIkFVRF9IRE1J V19TVEFUVVMgIENvbnZfQl9DRENMSy9ET1RDTEtfRklGT19PdmVycnVuXHQlbHVcbiIsICBCSVQo ZHdvcmQsIDMwKSk7Ci0JcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBDb252X0JfQ0RDTEsvRE9U Q0xLX0ZJRk9fVW5kZXJydW5cdCVsdVxuIiwgQklUKGR3b3JkLCAzMSkpOworCXByaW50ZigiQVVE X0hETUlXX1NUQVRVUyAgRnVuY3Rpb25fUmVzZXRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgICAg IFJFR19CSVQoZHdvcmQsIDI0KSk7CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBCQ0xLL0NE Q0xLX0ZJRk9fT3ZlcnJ1blx0XHQlbHVcbiIsCSAgICAgUkVHX0JJVChkd29yZCwgMjUpKTsKKwlw cmludGYoIkFVRF9IRE1JV19TVEFUVVMgIENvbnZfQV9DRENMSy9ET1RDTEtfRklGT19PdmVycnVu XHQlbHVcbiIsICBSRUdfQklUKGR3b3JkLCAyOCkpOworCXByaW50ZigiQVVEX0hETUlXX1NUQVRV UyAgQ29udl9BX0NEQ0xLL0RPVENMS19GSUZPX1VuZGVycnVuXHQlbHVcbiIsIFJFR19CSVQoZHdv cmQsIDI5KSk7CisJcHJpbnRmKCJBVURfSERNSVdfU1RBVFVTICBDb252X0JfQ0RDTEsvRE9UQ0xL X0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAgUkVHX0JJVChkd29yZCwgMzApKTsKKwlwcmludGYoIkFV RF9IRE1JV19TVEFUVVMgIENvbnZfQl9DRENMSy9ET1RDTEtfRklGT19VbmRlcnJ1blx0JWx1XG4i LCBSRUdfQklUKGR3b3JkLCAzMSkpOwogfQogCiAvKgpAQCAtMTgxOCwxMyArMTgxOCwxMyBAQCBz dGF0aWMgdm9pZCBkdW1wX2RwX3BvcnRfY3RybChpbnQgcG9ydCkKIAogCXBvcnRfY3RybCA9IGRp c3BfcmVnX2Jhc2UgKyBEUF9DVExfQiArIChwb3J0IC0gUE9SVF9CKSAqIDB4MTAwOwogCWR3b3Jk ID0gSU5SRUcocG9ydF9jdHJsKTsKLQlwcmludGYoIiVzIERpc3BsYXlQb3J0X0VuYWJsZVx0XHRc dFx0XHQlbHVcbiIsICAgICAgICBwcmVmaXgsIEJJVChkd29yZCwgMzEpKTsKLQlwcmludGYoIiVz IFRyYW5zY29kZXJfU2VsZWN0XHRcdFx0XHRcdCVzXG4iLCAgICAgICAgICBwcmVmaXgsIEJJVChk d29yZCwgMzApID8gIlRyYW5zY29kZXIgQiIgOiAiVHJhbnNjb2RlciBBIik7Ci0JcHJpbnRmKCIl cyBQb3J0X1dpZHRoX1NlbGVjdGlvblx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgcHJlZml4LCBCSVRT KGR3b3JkLCAyMSwgMTkpLAotCQlkcF9wb3J0X3dpZHRoW0JJVFMoZHdvcmQsIDIxLCAxOSldKTsK LQlwcmludGYoIiVzIFBvcnRfRGV0ZWN0ZWRcdFx0XHRcdFx0JWx1XG4iLCAgICAgICAgICAgICBw cmVmaXgsIEJJVChkd29yZCwgMikpOwotCXByaW50ZigiJXMgSERDUF9Qb3J0X1NlbGVjdFx0XHRc dFx0XHQlbHVcbiIsICAgICAgICAgIHByZWZpeCwgQklUKGR3b3JkLCA1KSk7Ci0JcHJpbnRmKCIl cyBBdWRpb19PdXRwdXRfRW5hYmxlXHRcdFx0XHQlbHVcbiIsICAgICAgICAgcHJlZml4LCBCSVQo ZHdvcmQsIDYpKTsKKwlwcmludGYoIiVzIERpc3BsYXlQb3J0X0VuYWJsZVx0XHRcdFx0XHQlbHVc biIsICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDMxKSk7CisJcHJpbnRmKCIlcyBUcmFu c2NvZGVyX1NlbGVjdFx0XHRcdFx0XHQlc1xuIiwgICAgICAgICAgcHJlZml4LCBSRUdfQklUKGR3 b3JkLCAzMCkgPyAiVHJhbnNjb2RlciBCIiA6ICJUcmFuc2NvZGVyIEEiKTsKKwlwcmludGYoIiVz IFBvcnRfV2lkdGhfU2VsZWN0aW9uXHRcdFx0XHRbMHglbHhdICVzXG4iLCBwcmVmaXgsIFJFR19C SVRTKGR3b3JkLCAyMSwgMTkpLAorCQlkcF9wb3J0X3dpZHRoW1JFR19CSVRTKGR3b3JkLCAyMSwg MTkpXSk7CisJcHJpbnRmKCIlcyBQb3J0X0RldGVjdGVkXHRcdFx0XHRcdCVsdVxuIiwgICAgICAg ICAgICAgcHJlZml4LCBSRUdfQklUKGR3b3JkLCAyKSk7CisJcHJpbnRmKCIlcyBIRENQX1BvcnRf U2VsZWN0XHRcdFx0XHRcdCVsdVxuIiwgICAgICAgICAgcHJlZml4LCBSRUdfQklUKGR3b3JkLCA1 KSk7CisJcHJpbnRmKCIlcyBBdWRpb19PdXRwdXRfRW5hYmxlXHRcdFx0XHQlbHVcbiIsICAgICAg ICAgcHJlZml4LCBSRUdfQklUKGR3b3JkLCA2KSk7CiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBfaGRt aV9wb3J0X2N0cmwoaW50IHBvcnQpCkBAIC0xODQzLDEzICsxODQzLDEzIEBAIHN0YXRpYyB2b2lk IGR1bXBfaGRtaV9wb3J0X2N0cmwoaW50IHBvcnQpCiAKIAlkd29yZCA9IElOUkVHKHBvcnRfY3Ry bCk7CiAJcHJpbnRmKCIlcyBIRE1JX0VuYWJsZVx0XHRcdFx0XHQldVxuIiwgICAgICAgICAgICAg ICAgIHByZWZpeCwgISEoZHdvcmQgJiBTRFZPX0VOQUJMRSkpOwotCXByaW50ZigiJXMgVHJhbnNj b2Rlcl9TZWxlY3RcdFx0XHRcdCVzXG4iLCAgICAgICAgICAgICBwcmVmaXgsIEJJVChkd29yZCwg MzApID8gIlRyYW5zY29kZXIgQiIgOiAiVHJhbnNjb2RlciBBIik7Ci0JcHJpbnRmKCIlcyBIRENQ X1BvcnRfU2VsZWN0XHRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgIHByZWZpeCwgQklUKGR3b3Jk LCA1KSk7CisJcHJpbnRmKCIlcyBUcmFuc2NvZGVyX1NlbGVjdFx0XHRcdFx0JXNcbiIsICAgICAg ICAgICAgIHByZWZpeCwgUkVHX0JJVChkd29yZCwgMzApID8gIlRyYW5zY29kZXIgQiIgOiAiVHJh bnNjb2RlciBBIik7CisJcHJpbnRmKCIlcyBIRENQX1BvcnRfU2VsZWN0XHRcdFx0XHQlbHVcbiIs ICAgICAgICAgICAgIHByZWZpeCwgUkVHX0JJVChkd29yZCwgNSkpOwogCWlmIChwb3J0ID09IFBP UlRfQikgLyogVE9ETzogY2hlY2sgc3BlYywgbm90IGZvdW5kIGluIElieCBiLXNwZWMsIGFuZCBv bmx5IGZvciBwb3J0IEI/ICovCi0JCXByaW50ZigiJXMgU0RWTyBIb3QgUGx1ZyBJbnRlcnJ1cHQg RGV0ZWN0IEVuYWJsZVx0JWx1XG4iLCBwcmVmaXgsIEJJVChkd29yZCwgMjMpKTsKLQlwcmludGYo IiVzIERpZ2l0YWxfUG9ydF9EZXRlY3RlZFx0XHRcdCVsdVxuIiwgICAgICAgICAgcHJlZml4LCBC SVQoZHdvcmQsIDIpKTsKLQlwcmludGYoIiVzIEVuY29kaW5nXHRcdFx0XHRcdFsweCVseF0gJXNc biIsICAgICAgICAgICAgcHJlZml4LCBCSVRTKGR3b3JkLCAxMSwgMTApLAotCQlzZHZvX2hkbWlf ZW5jb2RpbmdbQklUUyhkd29yZCwgMTEsIDEwKV0pOworCQlwcmludGYoIiVzIFNEVk8gSG90IFBs dWcgSW50ZXJydXB0IERldGVjdCBFbmFibGVcdCVsdVxuIiwgcHJlZml4LCBSRUdfQklUKGR3b3Jk LCAyMykpOworCXByaW50ZigiJXMgRGlnaXRhbF9Qb3J0X0RldGVjdGVkXHRcdFx0JWx1XG4iLCAg ICAgICAgICBwcmVmaXgsIFJFR19CSVQoZHdvcmQsIDIpKTsKKwlwcmludGYoIiVzIEVuY29kaW5n XHRcdFx0XHRcdFsweCVseF0gJXNcbiIsICAgICAgICAgICAgcHJlZml4LCBSRUdfQklUUyhkd29y ZCwgMTEsIDEwKSwKKwkJc2R2b19oZG1pX2VuY29kaW5nW1JFR19CSVRTKGR3b3JkLCAxMSwgMTAp XSk7CiAJcHJpbnRmKCIlcyBOdWxsX3BhY2tldHNfZW5hYmxlZF9kdXJpbmdfVnN5bmNcdFx0JXVc biIsIHByZWZpeCwgISEoZHdvcmQgJiBTRFZPX05VTExfUEFDS0VUU19EVVJJTkdfVlNZTkMpKTsK IAlwcmludGYoIiVzIEF1ZGlvX091dHB1dF9FbmFibGVcdFx0XHRcdCV1XG4iLCAgICAgICAgICAg cHJlZml4LCAhIShkd29yZCAmIFNEVk9fQVVESU9fRU5BQkxFKSk7CiB9CkBAIC0yMDMyLDkgKzIw MzIsOSBAQCBzdGF0aWMgdm9pZCBkdW1wX2RkaV9idWZfY3RsKGludCBwb3J0KQogCWR3b3JkID0g SU5SRUcoRERJX0JVRl9DVExfQSArIChwb3J0IC0gUE9SVF9BKSAqIDB4MTAwKTsKIAlwcmludGYo IkRESSAlYyBCdWZmZXIgY29udHJvbFxuIiwgJ0EnICsgcG9ydCAtIFBPUlRfQSk7CiAKLQlwcmlu dGYoIlx0RFAgcG9ydCB3aWR0aFx0XHRcdFx0XHRbMHglbHhdICVzXG4iLCBCSVRTKGR3b3JkLCAz LCAxKSwKLQkJT1BOQU1FKGRwX3BvcnRfd2lkdGgsIEJJVFMoZHdvcmQsIDMsIDEpKSk7Ci0JcHJp bnRmKCJcdERESSBCdWZmZXIgRW5hYmxlXHRcdFx0XHQlbGRcbiIsICAgICAgQklUKGR3b3JkLCAz MSkpOworCXByaW50ZigiXHREUCBwb3J0IHdpZHRoXHRcdFx0XHRcdFsweCVseF0gJXNcbiIsIFJF R19CSVRTKGR3b3JkLCAzLCAxKSwKKwkJT1BOQU1FKGRwX3BvcnRfd2lkdGgsIFJFR19CSVRTKGR3 b3JkLCAzLCAxKSkpOworCXByaW50ZigiXHREREkgQnVmZmVyIEVuYWJsZVx0XHRcdFx0JWxkXG4i LCAgICAgIFJFR19CSVQoZHdvcmQsIDMxKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGR1bXBfZGRpX2Z1 bmNfY3RsKGludCBwaXBlKQpAQCAtMjA0NCwxMyArMjA0NCwxMyBAQCBzdGF0aWMgdm9pZCBkdW1w X2RkaV9mdW5jX2N0bChpbnQgcGlwZSkKIAlkd29yZCA9IElOUkVHKFBJUEVfRERJX0ZVTkNfQ1RM X0EgKyAocGlwZSAtIFBJUEVfQSkgKiAweDEwMDApOwogCXByaW50ZigiUGlwZSAlYyBEREkgRnVu Y3Rpb24gQ29udHJvbFxuIiwgJ0EnICsgcGlwZSAtIFBJUEVfQSk7CiAKLQlwcmludGYoIlx0QklU UyBwZXIgY29sb3JcdFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgICAgQklUUyhkd29yZCwgMjIsIDIw KSwKLQkJT1BOQU1FKGJpdHNfcGVyX2NvbG9yLCBCSVRTKGR3b3JkLCAyMiwgMjApKSk7Ci0JcHJp bnRmKCJcdFBJUEUgRERJIE1vZGVcdFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgICAgIEJJVFMoZHdv cmQsIDI2LCAyNCksCi0JCU9QTkFNRShkZGlfbW9kZSwgQklUUyhkd29yZCwgMjYsIDI0KSkpOwot CXByaW50ZigiXHRQSVBFIERESSBzZWxlY3Rpb25cdFx0XHRcdFsweCVseF0gJXNcbiIsICBCSVRT KGR3b3JkLCAzMCwgMjgpLAotCQlPUE5BTUUodHJhbnNfdG9fcG9ydF9zZWwsIEJJVFMoZHdvcmQs IDMwLCAyOCkpKTsKLQlwcmludGYoIlx0UElQRSBEREkgRnVuY3Rpb24gRW5hYmxlXHRcdFx0WzB4 JWx4XVxuIiwgQklUKGR3b3JkLCAzMSkpOworCXByaW50ZigiXHRSRUdfQklUUyBwZXIgY29sb3Jc dFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwgUkVHX0JJVFMoZHdvcmQsIDIyLCAyMCksCisJCU9QTkFN RShiaXRzX3Blcl9jb2xvciwgUkVHX0JJVFMoZHdvcmQsIDIyLCAyMCkpKTsKKwlwcmludGYoIlx0 UElQRSBEREkgTW9kZVx0XHRcdFx0XHRbMHglbHhdICVzXG4iLCAgICAgUkVHX0JJVFMoZHdvcmQs IDI2LCAyNCksCisJCU9QTkFNRShkZGlfbW9kZSwgUkVHX0JJVFMoZHdvcmQsIDI2LCAyNCkpKTsK KwlwcmludGYoIlx0UElQRSBEREkgc2VsZWN0aW9uXHRcdFx0XHRbMHglbHhdICVzXG4iLCAgUkVH X0JJVFMoZHdvcmQsIDMwLCAyOCksCisJCU9QTkFNRSh0cmFuc190b19wb3J0X3NlbCwgUkVHX0JJ VFMoZHdvcmQsIDMwLCAyOCkpKTsKKwlwcmludGYoIlx0UElQRSBEREkgRnVuY3Rpb24gRW5hYmxl XHRcdFx0WzB4JWx4XVxuIiwgUkVHX0JJVChkd29yZCwgMzEpKTsKIH0KIAogc3RhdGljIHZvaWQg ZHVtcF9hdWRfY29ubmVjdF9saXN0X2VudHJ5X2xlbmd0aChpbnQgdHJhbnNjb2RlcikKQEAgLTIw NjEsMTAgKzIwNjEsMTAgQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRfY29ubmVjdF9saXN0X2VudHJ5 X2xlbmd0aChpbnQgdHJhbnNjb2RlcikKIAlkd29yZCA9IElOUkVHKGF1ZF9yZWdfYmFzZSArIEFV RF9UQ0FfUElOX1BJUEVfQ09OTl9FTlRSWV9MTkdUSCArICh0cmFuc2NvZGVyIC0gVFJBTlNDT0RF Ul9BKSAqIDB4MTAwKTsKIAlzcHJpbnRmKHByZWZpeCwgIkFVRF9UQyVjX1BJTl9QSVBFX0NPTk5f RU5UUllfTE5HVEgiLCAnQScgKyB0cmFuc2NvZGVyIC0gVFJBTlNDT0RFUl9BKTsKIAotCXByaW50 ZigiJXMgIENvbm5lY3RfTGlzdF9MZW5ndGhcdCVsdVxuIiwgcHJlZml4LCBCSVRTKGR3b3JkLCA2 LCAwKSk7Ci0JcHJpbnRmKCIlcyAgRm9ybSBcdFx0WyUjbHhdICVzXG4iLCAgICAgICBwcmVmaXgs IEJJVChkd29yZCwgNyksCi0JCU9QTkFNRShjb25uZWN0X2xpc3RfZm9ybSwgQklUKGR3b3JkLCA3 KSkpOwotCXByaW50ZigiJXMgIENvbm5lY3RfTGlzdF9FbnRyeVx0JWx1XG4iLCAgcHJlZml4LCBC SVRTKGR3b3JkLCAxNSwgOCkpOworCXByaW50ZigiJXMgIENvbm5lY3RfTGlzdF9MZW5ndGhcdCVs dVxuIiwgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgNiwgMCkpOworCXByaW50ZigiJXMgIEZvcm0g XHRcdFslI2x4XSAlc1xuIiwgICAgICAgcHJlZml4LCBSRUdfQklUKGR3b3JkLCA3KSwKKwkJT1BO QU1FKGNvbm5lY3RfbGlzdF9mb3JtLCBSRUdfQklUKGR3b3JkLCA3KSkpOworCXByaW50ZigiJXMg IENvbm5lY3RfTGlzdF9FbnRyeVx0JWx1XG4iLCAgcHJlZml4LCBSRUdfQklUUyhkd29yZCwgMTUs IDgpKTsKIH0KIAogc3RhdGljIHZvaWQgZHVtcF9hdWRfY29ubmVjdF9zZWxlY3RfY3RybCh2b2lk KQpAQCAtMjA3Miw5ICsyMDcyLDkgQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRfY29ubmVjdF9zZWxl Y3RfY3RybCh2b2lkKQogCXVpbnQzMl90IGR3b3JkOwogCiAJZHdvcmQgPSBJTlJFRyhhdWRfcmVn X2Jhc2UgKyBBVURfUElQRV9DT05OX1NFTF9DVFJMKTsKLQlwcmludGYoIkFVRF9QSVBFX0NPTk5f U0VMX0NUUkwgIENvbm5lY3Rpb25fc2VsZWN0X1BvcnRfQlx0JSNseFxuIiwgQklUUyhkd29yZCwg IDcsICAwKSk7Ci0JcHJpbnRmKCJBVURfUElQRV9DT05OX1NFTF9DVFJMICBDb25uZWN0aW9uX3Nl bGVjdF9Qb3J0X0NcdCUjbHhcbiIsIEJJVFMoZHdvcmQsIDE1LCAgOCkpOwotCXByaW50ZigiQVVE X1BJUEVfQ09OTl9TRUxfQ1RSTCAgQ29ubmVjdGlvbl9zZWxlY3RfUG9ydF9EXHQlI2x4XG4iLCBC SVRTKGR3b3JkLCAyMywgMTYpKTsKKwlwcmludGYoIkFVRF9QSVBFX0NPTk5fU0VMX0NUUkwgIENv bm5lY3Rpb25fc2VsZWN0X1BvcnRfQlx0JSNseFxuIiwgUkVHX0JJVFMoZHdvcmQsICA3LCAgMCkp OworCXByaW50ZigiQVVEX1BJUEVfQ09OTl9TRUxfQ1RSTCAgQ29ubmVjdGlvbl9zZWxlY3RfUG9y dF9DXHQlI2x4XG4iLCBSRUdfQklUUyhkd29yZCwgMTUsICA4KSk7CisJcHJpbnRmKCJBVURfUElQ RV9DT05OX1NFTF9DVFJMICBDb25uZWN0aW9uX3NlbGVjdF9Qb3J0X0RcdCUjbHhcbiIsIFJFR19C SVRTKGR3b3JkLCAyMywgMTYpKTsKIH0KIAogc3RhdGljIHZvaWQgZHVtcF9hdWRfZGlwX2VsZF9j dHJsX3N0KGludCB0cmFuc2NvZGVyKQpAQCAtMjA4NSwxNiArMjA4NSwxNiBAQCBzdGF0aWMgdm9p ZCBkdW1wX2F1ZF9kaXBfZWxkX2N0cmxfc3QoaW50IHRyYW5zY29kZXIpCiAJZHdvcmQgPSBJTlJF RyhhdWRfcmVnX2Jhc2UgKyBBVURfVENBX0RJUF9FTERfQ1RSTF9TVCArIG9mZnNldCk7CiAJcHJp bnRmKCJBdWRpbyBESVAgYW5kIEVMRCBjb250cm9sIHN0YXRlIGZvciBUcmFuc2NvZGVyICVjXG4i LCAgJ0EnICsgdHJhbnNjb2RlciAtIFRSQU5TQ09ERVJfQSk7CiAKLQlwcmludGYoIlx0RUxEX0FD S1x0XHRcdFx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQo ZHdvcmQsIDQpKTsKLQlwcmludGYoIlx0RUxEX2J1ZmZlcl9zaXplXHRcdFx0XHRcdCVsdVxuIiwg ICAgICAgICAgICAgICAgICAgICAgICAgICBCSVRTKGR3b3JkLCAxNCwgMTApKTsKLQlwcmludGYo Ilx0RElQX3RyYW5zbWlzc2lvbl9mcmVxdWVuY3lcdFx0XHRbMHglbHhdICVzXG4iLCAgICAgICAg ICAgICBCSVRTKGR3b3JkLCAxNywgMTYpLAotCQlkaXBfdHJhbnNbQklUUyhkd29yZCwgMTcsIDE2 KV0pOwotCXByaW50ZigiXHRESVAgQnVmZmVyIEluZGV4IFx0XHRcdFx0WzB4JWx4XSAlc1xuIiwg ICAgICAgICAgICAgICAgICAgIEJJVFMoZHdvcmQsIDIwLCAxOCksCi0JCWRpcF9pbmRleFtCSVRT KGR3b3JkLCAyMCwgMTgpXSk7Ci0JcHJpbnRmKCJcdEF1ZGlvIERJUCB0eXBlIGVuYWJsZSBzdGF0 dXNcdFx0XHRbMHglMDRseF0gJXMsICVzLCAlc1xuIiwgQklUUyhkd29yZCwgMjQsIDIxKSwKLQkJ ZGlwX3R5cGVbQklUKGR3b3JkLCAyMSldLCBkaXBfZ2VuMV9zdGF0ZVtCSVQoZHdvcmQsIDIyKV0s ICBkaXBfZ2VuMl9zdGF0ZVtCSVQoZHdvcmQsIDIzKV0pOwotCXByaW50ZigiXHRBdWRpbyBESVAg cG9ydCBzZWxlY3RcdFx0XHRcdFsweCVseF0gJXNcbiIsICAgICAgICAgICAgICAgIEJJVFMoZHdv cmQsIDMwLCAyOSksCi0JCWRpcF9wb3J0W0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKKwlwcmludGYo Ilx0RUxEX0FDS1x0XHRcdFx0XHRcdCVsdVxuIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBSRUdfQklUKGR3b3JkLCA0KSk7CisJcHJpbnRmKCJcdEVMRF9idWZmZXJfc2l6ZVx0XHRc dFx0XHQlbHVcbiIsICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVHX0JJVFMoZHdvcmQsIDE0 LCAxMCkpOworCXByaW50ZigiXHRESVBfdHJhbnNtaXNzaW9uX2ZyZXF1ZW5jeVx0XHRcdFsweCVs eF0gJXNcbiIsICAgICAgICAgICAgIFJFR19CSVRTKGR3b3JkLCAxNywgMTYpLAorCQlkaXBfdHJh bnNbUkVHX0JJVFMoZHdvcmQsIDE3LCAxNildKTsKKwlwcmludGYoIlx0RElQIEJ1ZmZlciBJbmRl eCBcdFx0XHRcdFsweCVseF0gJXNcbiIsICAgICAgICAgICAgICAgICAgICBSRUdfQklUUyhkd29y ZCwgMjAsIDE4KSwKKwkJZGlwX2luZGV4W1JFR19CSVRTKGR3b3JkLCAyMCwgMTgpXSk7CisJcHJp bnRmKCJcdEF1ZGlvIERJUCB0eXBlIGVuYWJsZSBzdGF0dXNcdFx0XHRbMHglMDRseF0gJXMsICVz LCAlc1xuIiwgUkVHX0JJVFMoZHdvcmQsIDI0LCAyMSksCisJCWRpcF90eXBlW1JFR19CSVQoZHdv cmQsIDIxKV0sIGRpcF9nZW4xX3N0YXRlW1JFR19CSVQoZHdvcmQsIDIyKV0sICBkaXBfZ2VuMl9z dGF0ZVtSRUdfQklUKGR3b3JkLCAyMyldKTsKKwlwcmludGYoIlx0QXVkaW8gRElQIHBvcnQgc2Vs ZWN0XHRcdFx0XHRbMHglbHhdICVzXG4iLCAgICAgICAgICAgICAgICBSRUdfQklUUyhkd29yZCwg MzAsIDI5KSwKKwkJZGlwX3BvcnRbUkVHX0JJVFMoZHdvcmQsIDMwLCAyOSldKTsKIAlwcmludGYo IlxuIik7CiB9CiAKQEAgLTIxMDMsMzkgKzIxMDMsMzkgQEAgc3RhdGljIHZvaWQgZHVtcF9hdWRf aGRtaV9maWZvX3N0YXR1cyh2b2lkKQogCXVpbnQzMl90IGR3b3JkOwogCiAJZHdvcmQgPSBJTlJF RyhhdWRfcmVnX2Jhc2UgKyBBVURfSERNSV9GSUZPX1NUQVRVUyk7Ci0JcHJpbnRmKCJBVURfSERN SV9GSUZPX1NUQVRVUyAgRnVuY3Rpb25fUmVzZXRcdFx0XHQlbHVcbiIsICAgICAgICAgICAgICAg IEJJVChkd29yZCwgMjQpKTsKLQlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBDb252XzFf Q0RDTEsvRE9UQ0xLX0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAgQklUKGR3b3JkLCAyNikpOwotCXBy aW50ZigiQVVEX0hETUlfRklGT19TVEFUVVMgIENvbnZfMV9DRENMSy9ET1RDTEtfRklGT19VbmRl cnJ1blx0JWx1XG4iLCBCSVQoZHdvcmQsIDI3KSk7Ci0JcHJpbnRmKCJBVURfSERNSV9GSUZPX1NU QVRVUyAgQ29udl8yX0NEQ0xLL0RPVENMS19GSUZPX092ZXJydW5cdCVsdVxuIiwgIEJJVChkd29y ZCwgMjgpKTsKLQlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBDb252XzJfQ0RDTEsvRE9U Q0xLX0ZJRk9fVW5kZXJydW5cdCVsdVxuIiwgQklUKGR3b3JkLCAyOSkpOwotCXByaW50ZigiQVVE X0hETUlfRklGT19TVEFUVVMgIENvbnZfM19DRENMSy9ET1RDTEtfRklGT19PdmVycnVuXHQlbHVc biIsICBCSVQoZHdvcmQsIDMwKSk7Ci0JcHJpbnRmKCJBVURfSERNSV9GSUZPX1NUQVRVUyAgQ29u dl8zX0NEQ0xLL0RPVENMS19GSUZPX1VuZGVycnVuXHQlbHVcbiIsIEJJVChkd29yZCwgMzEpKTsK KwlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBGdW5jdGlvbl9SZXNldFx0XHRcdCVsdVxu IiwgICAgICAgICAgICAgICAgUkVHX0JJVChkd29yZCwgMjQpKTsKKwlwcmludGYoIkFVRF9IRE1J X0ZJRk9fU1RBVFVTICBDb252XzFfQ0RDTEsvRE9UQ0xLX0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAg UkVHX0JJVChkd29yZCwgMjYpKTsKKwlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBDb252 XzFfQ0RDTEsvRE9UQ0xLX0ZJRk9fVW5kZXJydW5cdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMjcp KTsKKwlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBDb252XzJfQ0RDTEsvRE9UQ0xLX0ZJ Rk9fT3ZlcnJ1blx0JWx1XG4iLCAgUkVHX0JJVChkd29yZCwgMjgpKTsKKwlwcmludGYoIkFVRF9I RE1JX0ZJRk9fU1RBVFVTICBDb252XzJfQ0RDTEsvRE9UQ0xLX0ZJRk9fVW5kZXJydW5cdCVsdVxu IiwgUkVHX0JJVChkd29yZCwgMjkpKTsKKwlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBD b252XzNfQ0RDTEsvRE9UQ0xLX0ZJRk9fT3ZlcnJ1blx0JWx1XG4iLCAgUkVHX0JJVChkd29yZCwg MzApKTsKKwlwcmludGYoIkFVRF9IRE1JX0ZJRk9fU1RBVFVTICBDb252XzNfQ0RDTEsvRE9UQ0xL X0ZJRk9fVW5kZXJydW5cdCVsdVxuIiwgUkVHX0JJVChkd29yZCwgMzEpKTsKIH0KIAogc3RhdGlj IHZvaWQgcGFyc2VfYmR3X2F1ZGlvX2NoaWNrZW5fYml0X3JlZyh1aW50MzJfdCBkd29yZCkKIHsK IAlwcmludGYoIlx0Iik7Ci0JcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUodmFuaWxsYV9kcDEyX2Vu LCAgICAgICAgICAgQklUKGR3b3JkLCAzMSkpKTsKLQlwcmludGYoIiVzXG5cdCIsIE9QTkFNRSh2 YW5pbGxhXzNfd2lkZ2V0c19lbiwgICAgICBCSVQoZHdvcmQsIDMwKSkpOwotCXByaW50ZigiJXNc blx0IiwgT1BOQU1FKGJsb2NrX2F1ZGlvLCAgICAgICAgICAgICAgIEJJVChkd29yZCwgMTApKSk7 Ci0JcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUoZGlzX2VsZF92YWxpZF9wdWxzZV90cmFucywgQklU KGR3b3JkLCA5KSkpOwotCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKGRpc19wZF9wdWxzZV90cmFu cywgICAgICAgIEJJVChkd29yZCwgOCkpKTsKLQlwcmludGYoIiVzXG5cdCIsIE9QTkFNRShkaXNf dHNfZGVsdGFfZXJyLCAgICAgICAgICBCSVQoZHdvcmQsIDcpKSk7Ci0JcHJpbnRmKCIlc1xuXHQi LCBPUE5BTUUoZGlzX3RzX2ZpeF9kcF9oYnIsICAgICAgICAgQklUKGR3b3JkLCA2KSkpOwotCXBy aW50ZigiJXNcblx0IiwgT1BOQU1FKHBhdHRlcm5fZ2VuXzhfY2hfZW4sICAgICAgIEJJVChkd29y ZCwgNSkpKTsKLQlwcmludGYoIiVzXG5cdCIsIE9QTkFNRShwYXR0ZXJuX2dlbl8yX2NoX2VuLCAg ICAgICBCSVQoZHdvcmQsIDQpKSk7Ci0JcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUoZmFicmljXzMy XzQ0X2RpcywgICAgICAgICAgQklUKGR3b3JkLCAzKSkpOwotCXByaW50ZigiJXNcblx0IiwgT1BO QU1FKGVwc3NfZGlzLCAgICAgICAgICAgICAgICAgIEJJVChkd29yZCwgMikpKTsKLQlwcmludGYo IiVzXG5cdCIsIE9QTkFNRSh0c190ZXN0X21vZGUsICAgICAgICAgICAgICBCSVQoZHdvcmQsIDEp KSk7Ci0JcHJpbnRmKCIlc1xuIiwgICBPUE5BTUUoZW5fbW1pb19wcm9ncmFtLCAgICAgICAgICAg QklUKGR3b3JkLCAwKSkpOworCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKHZhbmlsbGFfZHAxMl9l biwgICAgICAgICAgIFJFR19CSVQoZHdvcmQsIDMxKSkpOworCXByaW50ZigiJXNcblx0IiwgT1BO QU1FKHZhbmlsbGFfM193aWRnZXRzX2VuLCAgICAgIFJFR19CSVQoZHdvcmQsIDMwKSkpOworCXBy aW50ZigiJXNcblx0IiwgT1BOQU1FKGJsb2NrX2F1ZGlvLCAgICAgICAgICAgICAgIFJFR19CSVQo ZHdvcmQsIDEwKSkpOworCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKGRpc19lbGRfdmFsaWRfcHVs c2VfdHJhbnMsIFJFR19CSVQoZHdvcmQsIDkpKSk7CisJcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUo ZGlzX3BkX3B1bHNlX3RyYW5zLCAgICAgICAgUkVHX0JJVChkd29yZCwgOCkpKTsKKwlwcmludGYo IiVzXG5cdCIsIE9QTkFNRShkaXNfdHNfZGVsdGFfZXJyLCAgICAgICAgICBSRUdfQklUKGR3b3Jk LCA3KSkpOworCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKGRpc190c19maXhfZHBfaGJyLCAgICAg ICAgIFJFR19CSVQoZHdvcmQsIDYpKSk7CisJcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUocGF0dGVy bl9nZW5fOF9jaF9lbiwgICAgICAgUkVHX0JJVChkd29yZCwgNSkpKTsKKwlwcmludGYoIiVzXG5c dCIsIE9QTkFNRShwYXR0ZXJuX2dlbl8yX2NoX2VuLCAgICAgICBSRUdfQklUKGR3b3JkLCA0KSkp OworCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKGZhYnJpY18zMl80NF9kaXMsICAgICAgICAgIFJF R19CSVQoZHdvcmQsIDMpKSk7CisJcHJpbnRmKCIlc1xuXHQiLCBPUE5BTUUoZXBzc19kaXMsICAg ICAgICAgICAgICAgICAgUkVHX0JJVChkd29yZCwgMikpKTsKKwlwcmludGYoIiVzXG5cdCIsIE9Q TkFNRSh0c190ZXN0X21vZGUsICAgICAgICAgICAgICBSRUdfQklUKGR3b3JkLCAxKSkpOworCXBy aW50ZigiJXNcbiIsICAgT1BOQU1FKGVuX21taW9fcHJvZ3JhbSwgICAgICAgICAgIFJFR19CSVQo ZHdvcmQsIDApKSk7CiB9CiAKIHN0YXRpYyB2b2lkIHBhcnNlX3NrbF9hdWRpb19mcmVxX2NudHJs X3JlZyh1aW50MzJfdCBkd29yZCkKIHsKIAlwcmludGYoIlx0Iik7Ci0JcHJpbnRmKCIlc1xuXHQi LCBPUE5BTUUoc2RpX29wZXJhdGVfbW9kZSwgICAgICAgICAgQklUKGR3b3JkLCAxNSkpKTsKLQlw cmludGYoIiVzXG5cdCIsIE9QTkFNRShiY2xrXzk2bWh6LCAgICAgICAgICAgICAgICBCSVQoZHdv cmQsIDQpKSk7Ci0JcHJpbnRmKCIlc1xuIiwgICBPUE5BTUUoYmNsa180OG1oeiwgICAgICAgICAg ICAgICAgQklUKGR3b3JkLCAzKSkpOworCXByaW50ZigiJXNcblx0IiwgT1BOQU1FKHNkaV9vcGVy YXRlX21vZGUsICAgICAgICAgIFJFR19CSVQoZHdvcmQsIDE1KSkpOworCXByaW50ZigiJXNcblx0 IiwgT1BOQU1FKGJjbGtfOTZtaHosICAgICAgICAgICAgICAgIFJFR19CSVQoZHdvcmQsIDQpKSk7 CisJcHJpbnRmKCIlc1xuIiwgICBPUE5BTUUoYmNsa180OG1oeiwgICAgICAgICAgICAgICAgUkVH X0JJVChkd29yZCwgMykpKTsKIH0KIAogLyogRHVtcCBhdWRpbyByZWdpc3RlcnMgZm9yIEhhc3dl bGwgYW5kIGl0cyBzdWNjZXNzb3JzIChlZy4gQnJvYWR3ZWxsKS4KQEAgLTIzMTEsMTAgKzIzMTEs MTAgQEAgc3RhdGljIHZvaWQgZHVtcF9oc3dfcGx1cyh2b2lkKQogCWR1bXBfYXVkX2hkbWlfZmlm b19zdGF0dXMoKTsKIAogCWR3b3JkID0gcmVhZF9hdWRfcmVnKEFVRF9JQ1MpOwotCXByaW50Zigi SVJWIFslMWx4XSAlc1x0IiwgQklUKGR3b3JkLCAxKSwKLQkJT1BOQU1FKGltbWVkX3Jlc3VsdF92 YWxpZCwgQklUKGR3b3JkLCAxKSkpOwotCXByaW50ZigiSUNCIFslMWx4XSAlc1xuIiwgQklUKGR3 b3JkLCAxKSwKLQkJT1BOQU1FKGltbWVkX2NtZF9idXN5LCBCSVQoZHdvcmQsIDApKSk7CisJcHJp bnRmKCJJUlYgWyUxbHhdICVzXHQiLCBSRUdfQklUKGR3b3JkLCAxKSwKKwkJT1BOQU1FKGltbWVk X3Jlc3VsdF92YWxpZCwgUkVHX0JJVChkd29yZCwgMSkpKTsKKwlwcmludGYoIklDQiBbJTFseF0g JXNcbiIsIFJFR19CSVQoZHdvcmQsIDEpLAorCQlPUE5BTUUoaW1tZWRfY21kX2J1c3ksIFJFR19C SVQoZHdvcmQsIDApKSk7CiAKIAlkd29yZCA9IHJlYWRfYXVkX3JlZyhBVURfQ0hJQ0tFTkJJVF9S RUcpOwogCXByaW50ZigiQVVEX0NISUNLRU5CSVRfUkVHIEF1ZGlvIENoaWNrZW4gQml0czogJTA4 eFxuIiwgZHdvcmQpOwpAQCAtMjMyNCw3ICsyMzI0LDcgQEAgc3RhdGljIHZvaWQgZHVtcF9oc3df cGx1cyh2b2lkKQogCWR3b3JkID0gcmVhZF9hdWRfcmVnKEFVRF9EUF9ESVBfU1RBVFVTKTsKIAlw cmludGYoIkFVRF9EUF9ESVBfU1RBVFVTIEF1ZGlvIERQICYgRElQIEZJRk8gU3RhdHVzOiAlMDh4 XG5cdCIsIGR3b3JkKTsKIAlmb3IgKGkgPSAzMTsgaSA+PSAwOyBpLS0pCi0JCWlmIChCSVQoZHdv cmQsIGkpKQorCQlpZiAoUkVHX0JJVChkd29yZCwgaSkpCiAJCQlwcmludGYoIiVzXG5cdCIsIGF1 ZGlvX2RwX2RpcF9zdGF0dXNbaV0pOwogCXByaW50ZigiXG4iKTsKIAotLSAKMi4yMC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxp bmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=