From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH v3 01/10] drm/msm/dpu: Remove dpu_dbg Date: Mon, 3 Dec 2018 15:47:14 -0700 Message-ID: <20181203224723.10450-2-jcrouse@codeaurora.org> References: <20181203224723.10450-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181203224723.10450-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, bzwang-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, sam-uyr5N9Q2VtJg9hUCZPvPmw@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGZ1bmN0aW9ucyBpbiBkcHVfZGJnLmMgYXJlbid0IHVzZWQuIFRoZSB0d28gbWFpbiBkdW1w IGZ1bmN0aW9ucwpmYWlsIGFmdGVyIGEgbG9va3VwIGZyb20gZHB1X2RiZ19iYXNlLnJlZ19iYXNl X2xpc3Qgd2hpY2ggdHVybnMgb3V0CnRvIG5ldmVyIGJlIHBvcHVsYXRlZCBhbmQgb25jZSB0aG9z ZSBhcmUgcmVtb3ZlZCB0aGUgcmVzdCBvZiB0aGUKZmlsZSBkb2Vzbid0IG1ha2UgYW55IHNlbnNl LgoKdjM6IE5vIGNoYW5nZXMKdjI6IE1vdmVkIHNvbWUgdW5yZWxhdGVkIGNoYW5nZXMgdG8gYW5v dGhlciBwYXRjaAoKUmV2aWV3ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgpTaWdu ZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3JnPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUgICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9kYmcuYyAgICAgICB8IDIzOTMgLS0tLS0t LS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9kYmcuaCAgICAg ICB8ICAxMDMgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyAg IHwgICAgNCArLQogLi4uL2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMg IHwgICAgMSAtCiAuLi4vZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXJfcGh5c192aWQuYyAg fCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19jdGwuYyAgICB8 ICAgIDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuYyAgIHwg ICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYyAgICAgfCAg ICAxIC0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3Bpbmdwb25nLmMgICB8ICAg IDEgLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYyAgIHwgICAg MSAtCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdG9wLmMgICAgfCAgICAz IC0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od192YmlmLmMgICB8ICAgIDEg LQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICAgICAgIHwgICAyMCAr LQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oICAgICAgIHwgICAgMSAt CiAxNSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDI1MzEgZGVsZXRpb25zKC0pCiBk ZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2RiZy5j CiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Ri Zy5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9tc20vTWFrZWZpbGUKaW5kZXggN2QwMmVmMzY1NWI1Li5iM2M0NTEzMGE1ZTIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9NYWtlZmlsZQpAQCAtOTEsOCArOTEsNyBAQCBtc20teSA6PSBcCiAJbXNtX3Jpbmdi dWZmZXIubyBcCiAJbXNtX3N1Ym1pdHF1ZXVlLm8KIAotbXNtLSQoQ09ORklHX0RFQlVHX0ZTKSAr PSBhZHJlbm8vYTV4eF9kZWJ1Z2ZzLm8gXAotCQkJICBkaXNwL2RwdTEvZHB1X2RiZy5vCittc20t JChDT05GSUdfREVCVUdfRlMpICs9IGFkcmVuby9hNXh4X2RlYnVnZnMubwogCiBtc20tJChDT05G SUdfRFJNX0ZCREVWX0VNVUxBVElPTikgKz0gbXNtX2ZiZGV2Lm8KIG1zbS0kKENPTkZJR19DT01N T05fQ0xLKSArPSBkaXNwL21kcDQvbWRwNF9sdmRzX3BsbC5vCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZGJnLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfZGJnLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4NTA3ODEy MzExOS4uMDAwMDAwMDAwMDAwCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9kYmcuYworKysgL2Rldi9udWxsCkBAIC0xLDIzOTMgKzAsMCBAQAotLyogQ29weXJpZ2h0IChj KSAyMDA5LTIwMTgsIFRoZSBMaW51eCBGb3VuZGF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot ICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhbmQKLSAqIG9ubHkgdmVyc2lvbiAyIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0gKi8KLQotI2RlZmluZSBwcl9mbXQoZm10KQkiW2RybTolczolZF0gIiBmbXQs IF9fZnVuY19fLCBfX0xJTkVfXwotCi0jaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KLSNpbmNsdWRl IDxsaW51eC9zcGlubG9jay5oPgotI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+Ci0jaW5jbHVkZSA8 bGludXgvZGVidWdmcy5oPgotI2luY2x1ZGUgPGxpbnV4L3VhY2Nlc3MuaD4KLSNpbmNsdWRlIDxs aW51eC9kbWEtYnVmLmg+Ci0jaW5jbHVkZSA8bGludXgvc2xhYi5oPgotI2luY2x1ZGUgPGxpbnV4 L2xpc3Rfc29ydC5oPgotI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KLQotI2luY2x1ZGUg ImRwdV9kYmcuaCIKLSNpbmNsdWRlICJkaXNwL2RwdTEvZHB1X2h3X2NhdGFsb2cuaCIKLQotCi0j ZGVmaW5lIERFRkFVTFRfREJHQlVTX0RQVQlEUFVfREJHX0RVTVBfSU5fTUVNCi0jZGVmaW5lIERF RkFVTFRfREJHQlVTX1ZCSUZSVAlEUFVfREJHX0RVTVBfSU5fTUVNCi0jZGVmaW5lIFJFR19CQVNF X05BTUVfTEVOCTgwCi0KLSNkZWZpbmUgREJHQlVTX0ZMQUdTX0RTUFAJQklUKDApCi0jZGVmaW5l IERCR0JVU19EU1BQX1NUQVRVUwkweDM0QwotCi0jZGVmaW5lIERCR0JVU19OQU1FX0RQVQkJImRw dSIKLSNkZWZpbmUgREJHQlVTX05BTUVfVkJJRl9SVAkidmJpZl9ydCIKLQotLyogb2Zmc2V0cyBm cm9tIGRwdSB0b3AgYWRkcmVzcyBmb3IgdGhlIGRlYnVnIGJ1c2VzICovCi0jZGVmaW5lIERCR0JV U19TU1BQMAkweDE4OAotI2RlZmluZSBEQkdCVVNfQVhJX0lOVEYJMHgxOTQKLSNkZWZpbmUgREJH QlVTX1NTUFAxCTB4Mjk4Ci0jZGVmaW5lIERCR0JVU19EU1BQCTB4MzQ4Ci0jZGVmaW5lIERCR0JV U19QRVJJUEgJMHg0MTgKLQotI2RlZmluZSBURVNUX01BU0soaWQsIHRwKQkoKGlkIDw8IDQpIHwg KHRwIDw8IDEpIHwgQklUKDApKQotCi0vKiBmb2xsb3dpbmcgb2Zmc2V0cyBhcmUgd2l0aCByZXNw ZWN0IHRvIE1EUCBWQklGIGJhc2UgZm9yIERCRyBCVVMgYWNjZXNzICovCi0jZGVmaW5lIE1NU1Nf VkJJRl9DTEtPTgkJCTB4NAotI2RlZmluZSBNTVNTX1ZCSUZfVEVTVF9CVVNfT1VUX0NUUkwJMHgy MTAKLSNkZWZpbmUgTU1TU19WQklGX1RFU1RfQlVTX09VVAkJMHgyMzAKLQotLyogVmJpZiBlcnJv ciBpbmZvICovCi0jZGVmaW5lIE1NU1NfVkJJRl9QTkRfRVJSCQkweDE5MAotI2RlZmluZSBNTVNT X1ZCSUZfU1JDX0VSUgkJMHgxOTQKLSNkZWZpbmUgTU1TU19WQklGX1hJTl9IQUxUX0NUUkwxCTB4 MjA0Ci0jZGVmaW5lIE1NU1NfVkJJRl9FUlJfSU5GTwkJMFgxYTAKLSNkZWZpbmUgTU1TU19WQklG X0VSUl9JTkZPXzEJCTB4MWE0Ci0jZGVmaW5lIE1NU1NfVkJJRl9DTElFTlRfTlVNCQkxNAotCi0v KioKLSAqIHN0cnVjdCBkcHVfZGJnX3JlZ19iYXNlIC0gcmVnaXN0ZXIgcmVnaW9uIGJhc2UuCi0g KgltYXkgc3ViLXJhbmdlczogc3ViLXJhbmdlcyBhcmUgdXNlZCBmb3IgZHVtcGluZwotICoJb3Ig bWF5IG5vdCBoYXZlIHN1Yi1yYW5nZXM6IGR1bXBpbmcgaXMgYmFzZSAtPiBtYXhfb2Zmc2V0Ci0g KiBAcmVnX2Jhc2VfaGVhZDogaGVhZCBvZiB0aGlzIG5vZGUKLSAqIEBuYW1lOiByZWdpc3RlciBi YXNlIG5hbWUKLSAqIEBiYXNlOiBiYXNlIHBvaW50ZXIKLSAqIEBvZmY6IGNhY2hlZCBvZmZzZXQg b2YgcmVnaW9uIGZvciBtYW51YWwgcmVnaXN0ZXIgZHVtcGluZwotICogQGNudDogY2FjaGVkIHJh bmdlIG9mIHJlZ2lvbiBmb3IgbWFudWFsIHJlZ2lzdGVyIGR1bXBpbmcKLSAqIEBtYXhfb2Zmc2V0 OiBsZW5ndGggb2YgcmVnaW9uCi0gKiBAYnVmOiBidWZmZXIgdXNlZCBmb3IgbWFudWFsIHJlZ2lz dGVyIGR1bXBpbmcKLSAqIEBidWZfbGVuOiAgYnVmZmVyIGxlbmd0aCB1c2VkIGZvciBtYW51YWwg cmVnaXN0ZXIgZHVtcGluZwotICogQGNiOiBjYWxsYmFjayBmb3IgZXh0ZXJuYWwgZHVtcCBmdW5j dGlvbiwgbnVsbCBpZiBub3QgZGVmaW5lZAotICogQGNiX3B0cjogcHJpdmF0ZSBwb2ludGVyIHRv IGNhbGxiYWNrIGZ1bmN0aW9uCi0gKi8KLXN0cnVjdCBkcHVfZGJnX3JlZ19iYXNlIHsKLQlzdHJ1 Y3QgbGlzdF9oZWFkIHJlZ19iYXNlX2hlYWQ7Ci0JY2hhciBuYW1lW1JFR19CQVNFX05BTUVfTEVO XTsKLQl2b2lkIF9faW9tZW0gKmJhc2U7Ci0Jc2l6ZV90IG9mZjsKLQlzaXplX3QgY250OwotCXNp emVfdCBtYXhfb2Zmc2V0OwotCWNoYXIgKmJ1ZjsKLQlzaXplX3QgYnVmX2xlbjsKLQl2b2lkICgq Y2IpKHZvaWQgKnB0cik7Ci0Jdm9pZCAqY2JfcHRyOwotfTsKLQotc3RydWN0IGRwdV9kZWJ1Z19i dXNfZW50cnkgewotCXUzMiB3cl9hZGRyOwotCXUzMiBibG9ja19pZDsKLQl1MzIgdGVzdF9pZDsK LQl2b2lkICgqYW5hbHl6ZXIpKHZvaWQgX19pb21lbSAqbWVtX2Jhc2UsCi0JCQkJc3RydWN0IGRw dV9kZWJ1Z19idXNfZW50cnkgKmVudHJ5LCB1MzIgdmFsKTsKLX07Ci0KLXN0cnVjdCB2YmlmX2Rl YnVnX2J1c19lbnRyeSB7Ci0JdTMyIGRpc2FibGVfYnVzX2FkZHI7Ci0JdTMyIGJsb2NrX2J1c19h ZGRyOwotCXUzMiBiaXRfb2Zmc2V0OwotCXUzMiBibG9ja19jbnQ7Ci0JdTMyIHRlc3RfcG50X3N0 YXJ0OwotCXUzMiB0ZXN0X3BudF9jbnQ7Ci19OwotCi1zdHJ1Y3QgZHB1X2RiZ19kZWJ1Z19idXNf Y29tbW9uIHsKLQljaGFyICpuYW1lOwotCXUzMiBlbmFibGVfbWFzazsKLQlib29sIGluY2x1ZGVf aW5fZGVmZXJyZWRfd29yazsKLQl1MzIgZmxhZ3M7Ci0JdTMyIGVudHJpZXNfc2l6ZTsKLQl1MzIg KmR1bXBlZF9jb250ZW50OwotfTsKLQotc3RydWN0IGRwdV9kYmdfZHB1X2RlYnVnX2J1cyB7Ci0J c3RydWN0IGRwdV9kYmdfZGVidWdfYnVzX2NvbW1vbiBjbW47Ci0Jc3RydWN0IGRwdV9kZWJ1Z19i dXNfZW50cnkgKmVudHJpZXM7Ci0JdTMyIHRvcF9ibGtfb2ZmOwotfTsKLQotc3RydWN0IGRwdV9k YmdfdmJpZl9kZWJ1Z19idXMgewotCXN0cnVjdCBkcHVfZGJnX2RlYnVnX2J1c19jb21tb24gY21u OwotCXN0cnVjdCB2YmlmX2RlYnVnX2J1c19lbnRyeSAqZW50cmllczsKLX07Ci0KLS8qKgotICog c3RydWN0IGRwdV9kYmdfYmFzZSAtIGdsb2JhbCBkcHUgZGVidWcgYmFzZSBzdHJ1Y3R1cmUKLSAq IEByZWdfYmFzZV9saXN0OiBsaXN0IG9mIHJlZ2lzdGVyIGR1bXBpbmcgcmVnaW9ucwotICogQGRl djogZGV2aWNlIHBvaW50ZXIKLSAqIEBkdW1wX3dvcms6IHdvcmsgc3RydWN0IGZvciBkZWZlcnJp bmcgcmVnaXN0ZXIgZHVtcCB3b3JrIHRvIHNlcGFyYXRlIHRocmVhZAotICogQGRiZ2J1c19kcHU6 IGRlYnVnIGJ1cyBzdHJ1Y3R1cmUgZm9yIHRoZSBkcHUKLSAqIEBkYmdidXNfdmJpZl9ydDogZGVi dWcgYnVzIHN0cnVjdHVyZSBmb3IgdGhlIHJlYWx0aW1lIHZiaWYKLSAqLwotc3RhdGljIHN0cnVj dCBkcHVfZGJnX2Jhc2UgewotCXN0cnVjdCBsaXN0X2hlYWQgcmVnX2Jhc2VfbGlzdDsKLQlzdHJ1 Y3QgZGV2aWNlICpkZXY7Ci0KLQlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZHVtcF93b3JrOwotCi0Jc3Ry dWN0IGRwdV9kYmdfZHB1X2RlYnVnX2J1cyBkYmdidXNfZHB1OwotCXN0cnVjdCBkcHVfZGJnX3Zi aWZfZGVidWdfYnVzIGRiZ2J1c192YmlmX3J0OwotfSBkcHVfZGJnX2Jhc2U7Ci0KLXN0YXRpYyB2 b2lkIF9kcHVfZGVidWdfYnVzX3hiYXJfZHVtcCh2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQlz dHJ1Y3QgZHB1X2RlYnVnX2J1c19lbnRyeSAqZW50cnksIHUzMiB2YWwpCi17Ci0JRFJNX0RFVl9F UlJPUihkcHVfZGJnX2Jhc2UuZGV2LCAieGJhciAweCV4ICVkICVkIDB4JXhcbiIsCi0JCQllbnRy eS0+d3JfYWRkciwgZW50cnktPmJsb2NrX2lkLCBlbnRyeS0+dGVzdF9pZCwgdmFsKTsKLX0KLQot c3RhdGljIHZvaWQgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCh2b2lkIF9faW9tZW0gKm1lbV9iYXNl LAotCQlzdHJ1Y3QgZHB1X2RlYnVnX2J1c19lbnRyeSAqZW50cnksIHUzMiB2YWwpCi17Ci0JaWYg KCEodmFsICYgMHhGRkYwMDApKQotCQlyZXR1cm47Ci0KLQlEUk1fREVWX0VSUk9SKGRwdV9kYmdf YmFzZS5kZXYsICJsbSAweCV4ICVkICVkIDB4JXhcbiIsCi0JCQllbnRyeS0+d3JfYWRkciwgZW50 cnktPmJsb2NrX2lkLCBlbnRyeS0+dGVzdF9pZCwgdmFsKTsKLX0KLQotc3RhdGljIHZvaWQgX2Rw dV9kZWJ1Z19idXNfcHBiMF9kdW1wKHZvaWQgX19pb21lbSAqbWVtX2Jhc2UsCi0JCXN0cnVjdCBk cHVfZGVidWdfYnVzX2VudHJ5ICplbnRyeSwgdTMyIHZhbCkKLXsKLQlpZiAoISh2YWwgJiBCSVQo MTUpKSkKLQkJcmV0dXJuOwotCi0JRFJNX0RFVl9FUlJPUihkcHVfZGJnX2Jhc2UuZGV2LCAicHBi MCAweCV4ICVkICVkIDB4JXhcbiIsCi0JCQllbnRyeS0+d3JfYWRkciwgZW50cnktPmJsb2NrX2lk LCBlbnRyeS0+dGVzdF9pZCwgdmFsKTsKLX0KLQotc3RhdGljIHZvaWQgX2RwdV9kZWJ1Z19idXNf cHBiMV9kdW1wKHZvaWQgX19pb21lbSAqbWVtX2Jhc2UsCi0JCXN0cnVjdCBkcHVfZGVidWdfYnVz X2VudHJ5ICplbnRyeSwgdTMyIHZhbCkKLXsKLQlpZiAoISh2YWwgJiBCSVQoMTUpKSkKLQkJcmV0 dXJuOwotCi0JRFJNX0RFVl9FUlJPUihkcHVfZGJnX2Jhc2UuZGV2LCAicHBiMSAweCV4ICVkICVk IDB4JXhcbiIsCi0JCQllbnRyeS0+d3JfYWRkciwgZW50cnktPmJsb2NrX2lkLCBlbnRyeS0+dGVz dF9pZCwgdmFsKTsKLX0KLQotc3RhdGljIHN0cnVjdCBkcHVfZGVidWdfYnVzX2VudHJ5IGRiZ19i dXNfZHB1Xzg5OThbXSA9IHsKLQotCS8qIFVucGFjayAwIHNzcHAgMCovCi0JeyBEQkdCVVNfU1NQ UDAsIDUwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDYwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDcwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDg1LCAyIH0sCi0KLQkvKiBVcGFjayAwIHNzcHAg MSovCi0JeyBEQkdCVVNfU1NQUDEsIDUwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDYwLCAyIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDcwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDg1LCAyIH0sCi0K LQkvKiBzY2hlZHVsZXIgKi8KLQl7IERCR0JVU19EU1BQLCAxMzAsIDAgfSwKLQl7IERCR0JVU19E U1BQLCAxMzAsIDEgfSwKLQl7IERCR0JVU19EU1BQLCAxMzAsIDIgfSwKLQl7IERCR0JVU19EU1BQ LCAxMzAsIDMgfSwKLQl7IERCR0JVU19EU1BQLCAxMzAsIDQgfSwKLQl7IERCR0JVU19EU1BQLCAx MzAsIDUgfSwKLQotCS8qIHFzZWVkICovCi0JeyBEQkdCVVNfU1NQUDAsIDYsIDB9LAotCXsgREJH QlVTX1NTUFAwLCA2LCAxfSwKLQl7IERCR0JVU19TU1BQMCwgMjYsIDB9LAotCXsgREJHQlVTX1NT UFAwLCAyNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA2 LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMjYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAyNiwgMX0s Ci0KLQkvKiBzY2FsZSAqLwotCXsgREJHQlVTX1NTUFAwLCAxNiwgMH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDE2LCAxfSwKLQl7IERCR0JVU19TU1BQMCwgMzYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAz NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDE2LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMTYsIDF9 LAotCXsgREJHQlVTX1NTUFAxLCAzNiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM2LCAxfSwKLQot CS8qIGZldGNoIHNzcHAwICovCi0KLQkvKiB2aWcgMCAqLwotCXsgREJHQlVTX1NTUFAwLCAwLCAw IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgMiB9LAot CXsgREJHQlVTX1NTUFAwLCAwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDQgfSwKLQl7IERC R0JVU19TU1BQMCwgMCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCA2IH0sCi0JeyBEQkdCVVNf U1NQUDAsIDAsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAxLCAwIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAx LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgNSB9 LAotCXsgREJHQlVTX1NTUFAwLCAxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDcgfSwKLQot CXsgREJHQlVTX1NTUFAwLCAyLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgMiwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCAzIH0sCi0JeyBEQkdCVVNf U1NQUDAsIDIsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgNSB9LAotCXsgREJHQlVTX1NTUFAw LCAyLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0 LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgMiB9 LAotCXsgREJHQlVTX1NTUFAwLCA0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDQgfSwKLQl7 IERCR0JVU19TU1BQMCwgNCwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCA2IH0sCi0JeyBEQkdC VVNfU1NQUDAsIDQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA1LCAwIH0sCi0JeyBEQkdCVVNf U1NQUDAsIDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCA1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwg NSB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDcgfSwK LQotCS8qIHZpZyAyICovCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCAwIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDIwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDIwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIw LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCA3 IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjEsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDEg fSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDMgfSwK LQl7IERCR0JVU19TU1BQMCwgMjEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDUgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjEsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDcgfSwKLQotCXsg REJHQlVTX1NTUFAwLCAyMiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgMSB9LAotCXsgREJH QlVTX1NTUFAwLCAyMiwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgMyB9LAotCXsgREJHQlVT X1NTUFAwLCAyMiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgNSB9LAotCXsgREJHQlVTX1NT UFAwLCAyMiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQ UDAsIDI0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDI0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0 LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA2 IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjUsIDAg fSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDIgfSwK LQl7IERCR0JVU19TU1BQMCwgMjUsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDQgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjUsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDYgfSwKLQl7IERC R0JVU19TU1BQMCwgMjUsIDcgfSwKLQotCS8qIGRtYSAyICovCi0JeyBEQkdCVVNfU1NQUDAsIDMw LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDMwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzEsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzEsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMzEsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgMzEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgMzEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAzMiwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAzMiwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCAzMiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAz MiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMzLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCA1IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDMzLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMCwgMzQsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgMzQsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDMgfSwKLQl7IERCR0JV U19TU1BQMCwgMzQsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgMzQsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDcgfSwKLQotCXsgREJHQlVTX1NT UFAwLCAzNSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzNSwgMSB9LAotCXsgREJHQlVTX1NTUFAw LCAzNSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzNSwgMyB9LAotCi0JLyogZG1hIDAgKi8KLQl7 IERCR0JVU19TU1BQMCwgNDAsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgNDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDMgfSwKLQl7IERCR0JV U19TU1BQMCwgNDAsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgNDAsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDcgfSwKLQotCXsgREJHQlVTX1NT UFAwLCA0MSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgMSB9LAotCXsgREJHQlVTX1NTUFAw LCA0MSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0 MSwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwg NiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAw IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAyIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQyLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCA0IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQyLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCA2IH0sCi0JeyBE QkdCVVNfU1NQUDAsIDQyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgNDQsIDAgfSwKLQl7IERC R0JVU19TU1BQMCwgNDQsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDIgfSwKLQl7IERCR0JV U19TU1BQMCwgNDQsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDQgfSwKLQl7IERCR0JVU19T U1BQMCwgNDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDYgfSwKLQl7IERCR0JVU19TU1BQ MCwgNDQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0NSwgMCB9LAotCXsgREJHQlVTX1NTUFAw LCA0NSwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0 NSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwg NSB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgNyB9 LAotCi0JLyogZmV0Y2ggc3NwcDEgKi8KLQkvKiB2aWcgMSAqLwotCXsgREJHQlVTX1NTUFAxLCAw LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgMiB9 LAotCXsgREJHQlVTX1NTUFAxLCAwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDQgfSwKLQl7 IERCR0JVU19TU1BQMSwgMCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCA2IH0sCi0JeyBEQkdC VVNfU1NQUDEsIDAsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAxLCAwIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgMiB9LAotCXsgREJHQlVTX1NTUFAx LCAxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwg NSB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDcgfSwK LQotCXsgREJHQlVTX1NTUFAxLCAyLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDEgfSwKLQl7 IERCR0JVU19TU1BQMSwgMiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCAzIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDIsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgNSB9LAotCXsgREJHQlVTX1NT UFAxLCAyLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAx LCA0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwg MiB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDQgfSwK LQl7IERCR0JVU19TU1BQMSwgNCwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCA2IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA1LCAwIH0sCi0JeyBEQkdC VVNfU1NQUDEsIDUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCA1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwg NSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDcg fSwKLQotCS8qIHZpZyAzICovCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCAwIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDIwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCAyIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDIwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDIwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIw LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMjEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEs IDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDMg fSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDUgfSwK LQl7IERCR0JVU19TU1BQMSwgMjEsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDcgfSwKLQot CXsgREJHQlVTX1NTUFAxLCAyMiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgMSB9LAotCXsg REJHQlVTX1NTUFAxLCAyMiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgMyB9LAotCXsgREJH QlVTX1NTUFAxLCAyMiwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgNSB9LAotCXsgREJHQlVT X1NTUFAxLCAyMiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgNyB9LAotCi0JeyBEQkdCVVNf U1NQUDEsIDI0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDI0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0 LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMjUs IDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDIg fSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDQgfSwK LQl7IERCR0JVU19TU1BQMSwgMjUsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDYgfSwKLQl7 IERCR0JVU19TU1BQMSwgMjUsIDcgfSwKLQotCS8qIGRtYSAzICovCi0JeyBEQkdCVVNfU1NQUDEs IDMwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMw LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDMwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzEsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgMzEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgMzEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgMzEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAzMiwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAzMiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCAzMiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgNCB9LAotCXsgREJHQlVTX1NTUFAx LCAzMiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAz MiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMz LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDMzLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMSwgMzQsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDEgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDMgfSwKLQl7IERC R0JVU19TU1BQMSwgMzQsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDUgfSwKLQl7IERCR0JV U19TU1BQMSwgMzQsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAxLCAzNSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzNSwgMSB9LAotCXsgREJHQlVTX1NT UFAxLCAzNSwgMiB9LAotCi0JLyogZG1hIDEgKi8KLQl7IERCR0JVU19TU1BQMSwgNDAsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgNDAsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDAsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgNDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgNDAsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA0MSwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCA0MSwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCA0MSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgNCB9LAotCXsgREJHQlVTX1NTUFAx LCA0MSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0 MSwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQy LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQyLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMSwgNDQsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDEgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDMgfSwKLQl7IERC R0JVU19TU1BQMSwgNDQsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDUgfSwKLQl7IERCR0JV U19TU1BQMSwgNDQsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAxLCA0NSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgMSB9LAotCXsgREJHQlVTX1NT UFAxLCA0NSwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgMyB9LAotCXsgREJHQlVTX1NTUFAx LCA0NSwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0 NSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgNyB9LAotCi0JLyogY3Vyc29yIDEgKi8KLQl7 IERCR0JVU19TU1BQMSwgODAsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgODAsIDEgfSwKLQl7IERC R0JVU19TU1BQMSwgODAsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgODAsIDMgfSwKLQl7IERCR0JV U19TU1BQMSwgODAsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgODAsIDUgfSwKLQl7IERCR0JVU19T U1BQMSwgODAsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgODAsIDcgfSwKLQotCXsgREJHQlVTX1NT UFAxLCA4MSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA4MSwgMSB9LAotCXsgREJHQlVTX1NTUFAx LCA4MSwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA4MSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA4 MSwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA4MSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA4MSwg NiB9LAotCXsgREJHQlVTX1NTUFAxLCA4MSwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDgyLCAw IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgyLCAyIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDgyLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgyLCA0IH0sCi0J eyBEQkdCVVNfU1NQUDEsIDgyLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDgyLCA2IH0sCi0JeyBE QkdCVVNfU1NQUDEsIDgyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgODMsIDAgfSwKLQl7IERC R0JVU19TU1BQMSwgODMsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgODMsIDIgfSwKLQl7IERCR0JV U19TU1BQMSwgODMsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgODMsIDQgfSwKLQl7IERCR0JVU19T U1BQMSwgODMsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgODMsIDYgfSwKLQl7IERCR0JVU19TU1BQ MSwgODMsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA4NCwgMCB9LAotCXsgREJHQlVTX1NTUFAx LCA4NCwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA4NCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA4 NCwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA4NCwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA4NCwg NSB9LAotCXsgREJHQlVTX1NTUFAxLCA4NCwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA4NCwgNyB9 LAotCi0JLyogZHNwcCAqLwotCXsgREJHQlVTX0RTUFAsIDEzLCAwIH0sCi0JeyBEQkdCVVNfRFNQ UCwgMTksIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgMCB9LAotCXsgREJHQlVTX0RTUFAsIDE0 LCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDMgfSwKLQl7IERCR0JVU19EU1BQLCAyMCwgMCB9 LAotCXsgREJHQlVTX0RTUFAsIDIwLCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDMgfSwKLQot CS8qIHBwYl8wICovCi0JeyBEQkdCVVNfRFNQUCwgMzEsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBf ZHVtcCB9LAotCXsgREJHQlVTX0RTUFAsIDMzLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIwX2R1bXAg fSwKLQl7IERCR0JVU19EU1BQLCAzNSwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMF9kdW1wIH0sCi0J eyBEQkdCVVNfRFNQUCwgNDIsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVtcCB9LAotCi0JLyog cHBiXzEgKi8KLQl7IERCR0JVU19EU1BQLCAzMiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1w IH0sCi0JeyBEQkdCVVNfRFNQUCwgMzQsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVtcCB9LAot CXsgREJHQlVTX0RTUFAsIDM2LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1bXAgfSwKLQl7IERC R0JVU19EU1BQLCA0MywgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0sCi0KLQkvKiBsbV9s dXQgKi8KLQl7IERCR0JVU19EU1BQLCAxMDksIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxMDUsIDAg fSwKLQl7IERCR0JVU19EU1BQLCAxMDMsIDAgfSwKLQotCS8qIHRlYXItY2hlY2sgKi8KLQl7IERC R0JVU19QRVJJUEgsIDYzLCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA2NCwgMCB9LAotCXsgREJH QlVTX1BFUklQSCwgNjUsIDAgfSwKLQl7IERCR0JVU19QRVJJUEgsIDczLCAwIH0sCi0JeyBEQkdC VVNfUEVSSVBILCA3NCwgMCB9LAotCi0JLyogY3Jvc3NiYXIgKi8KLQl7IERCR0JVU19EU1BQLCAw LCAwLCBfZHB1X2RlYnVnX2J1c194YmFyX2R1bXAgfSwKLQotCS8qIHJvdGF0b3IgKi8KLQl7IERC R0JVU19EU1BQLCA5LCAwfSwKLQotCS8qIGJsZW5kICovCi0JLyogTE0wICovCi0JeyBEQkdCVVNf RFNQUCwgNjMsIDB9LAotCXsgREJHQlVTX0RTUFAsIDYzLCAxfSwKLQl7IERCR0JVU19EU1BQLCA2 MywgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDYzLCA0fSwK LQl7IERCR0JVU19EU1BQLCA2MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDZ9LAotCXsgREJH QlVTX0RTUFAsIDYzLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19E U1BQLCA2NCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY0 LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2NCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDR9LAot CXsgREJHQlVTX0RTUFAsIDY0LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NCwgNn0sCi0JeyBEQkdC VVNfRFNQUCwgNjQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RT UFAsIDY1LCAwfSwKLQl7IERCR0JVU19EU1BQLCA2NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjUs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDY1LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2NSwgNH0sCi0J eyBEQkdCVVNfRFNQUCwgNjUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDY1LCA2fSwKLQl7IERCR0JV U19EU1BQLCA2NSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQ UCwgNjYsIDB9LAotCXsgREJHQlVTX0RTUFAsIDY2LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2Niwg Mn0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDN9LAotCXsgREJHQlVTX0RTUFAsIDY2LCA0fSwKLQl7 IERCR0JVU19EU1BQLCA2NiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDZ9LAotCXsgREJHQlVT X0RTUFAsIDY2LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQ LCA2NywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY3LCAy fSwKLQl7IERCR0JVU19EU1BQLCA2NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjcsIDR9LAotCXsg REJHQlVTX0RTUFAsIDY3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NywgNn0sCi0JeyBEQkdCVVNf RFNQUCwgNjcsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAs IDY4LCAwfSwKLQl7IERCR0JVU19EU1BQLCA2OCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDJ9 LAotCXsgREJHQlVTX0RTUFAsIDY4LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2OCwgNH0sCi0JeyBE QkdCVVNfRFNQUCwgNjgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA2fSwKLQl7IERCR0JVU19E U1BQLCA2OCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwg NjksIDB9LAotCXsgREJHQlVTX0RTUFAsIDY5LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2OSwgMn0s Ci0JeyBEQkdCVVNfRFNQUCwgNjksIDN9LAotCXsgREJHQlVTX0RTUFAsIDY5LCA0fSwKLQl7IERC R0JVU19EU1BQLCA2OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDZ9LAotCXsgREJHQlVTX0RT UFAsIDY5LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQkvKiBMTTEgKi8KLQl7IERC R0JVU19EU1BQLCA3MCwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDF9LAotCXsgREJHQlVTX0RT UFAsIDcwLCAyfSwKLQl7IERCR0JVU19EU1BQLCA3MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzAs IDR9LAotCXsgREJHQlVTX0RTUFAsIDcwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MCwgNn0sCi0J eyBEQkdCVVNfRFNQUCwgNzAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDcxLCAwfSwKLQl7IERCR0JVU19EU1BQLCA3MSwgMX0sCi0JeyBEQkdCVVNfRFNQ UCwgNzEsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDcxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA3MSwg NH0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDV9LAotCXsgREJHQlVTX0RTUFAsIDcxLCA2fSwKLQl7 IERCR0JVU19EU1BQLCA3MSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdC VVNfRFNQUCwgNzIsIDB9LAotCXsgREJHQlVTX0RTUFAsIDcyLCAxfSwKLQl7IERCR0JVU19EU1BQ LCA3MiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDcyLCA0 fSwKLQl7IERCR0JVU19EU1BQLCA3MiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDZ9LAotCXsg REJHQlVTX0RTUFAsIDcyLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCA3MywgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDF9LAotCXsgREJHQlVTX0RTUFAs IDczLCAyfSwKLQl7IERCR0JVU19EU1BQLCA3MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDczLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MywgNn0sCi0JeyBE QkdCVVNfRFNQUCwgNzMsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVT X0RTUFAsIDc0LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3NCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwg NzQsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc0LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzQsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc0LCA2fSwKLQl7IERC R0JVU19EU1BQLCA3NCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNf RFNQUCwgNzUsIDB9LAotCXsgREJHQlVTX0RTUFAsIDc1LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3 NSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDc1LCA0fSwK LQl7IERCR0JVU19EU1BQLCA3NSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDZ9LAotCXsgREJH QlVTX0RTUFAsIDc1LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19E U1BQLCA3NiwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc2 LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3NiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDR9LAot CXsgREJHQlVTX0RTUFAsIDc2LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NiwgNn0sCi0JeyBEQkdC VVNfRFNQUCwgNzYsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCS8qIExNMiAqLwot CXsgREJHQlVTX0RTUFAsIDc3LCAwfSwKLQl7IERCR0JVU19EU1BQLCA3NywgMX0sCi0JeyBEQkdC VVNfRFNQUCwgNzcsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDc3LCAzfSwKLQl7IERCR0JVU19EU1BQ LCA3NywgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc3LCA2 fSwKLQl7IERCR0JVU19EU1BQLCA3NywgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0J eyBEQkdCVVNfRFNQUCwgNzgsIDB9LAotCXsgREJHQlVTX0RTUFAsIDc4LCAxfSwKLQl7IERCR0JV U19EU1BQLCA3OCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDN9LAotCXsgREJHQlVTX0RTUFAs IDc4LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3OCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDZ9 LAotCXsgREJHQlVTX0RTUFAsIDc4LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7 IERCR0JVU19EU1BQLCA3OSwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDF9LAotCXsgREJHQlVT X0RTUFAsIDc5LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3OSwgM30sCi0JeyBEQkdCVVNfRFNQUCwg NzksIDR9LAotCXsgREJHQlVTX0RTUFAsIDc5LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3OSwgNn0s Ci0JeyBEQkdCVVNfRFNQUCwgNzksIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsg REJHQlVTX0RTUFAsIDgwLCAwfSwKLQl7IERCR0JVU19EU1BQLCA4MCwgMX0sCi0JeyBEQkdCVVNf RFNQUCwgODAsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDgwLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4 MCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgwLCA2fSwK LQl7IERCR0JVU19EU1BQLCA4MCwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBE QkdCVVNfRFNQUCwgODEsIDB9LAotCXsgREJHQlVTX0RTUFAsIDgxLCAxfSwKLQl7IERCR0JVU19E U1BQLCA4MSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgx LCA0fSwKLQl7IERCR0JVU19EU1BQLCA4MSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDZ9LAot CXsgREJHQlVTX0RTUFAsIDgxLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERC R0JVU19EU1BQLCA4MiwgMH0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDF9LAotCXsgREJHQlVTX0RT UFAsIDgyLCAyfSwKLQl7IERCR0JVU19EU1BQLCA4MiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODIs IDR9LAotCXsgREJHQlVTX0RTUFAsIDgyLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MiwgNn0sCi0J eyBEQkdCVVNfRFNQUCwgODIsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJH QlVTX0RTUFAsIDgzLCAwfSwKLQl7IERCR0JVU19EU1BQLCA4MywgMX0sCi0JeyBEQkdCVVNfRFNQ UCwgODMsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDgzLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4Mywg NH0sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgzLCA2fSwKLQl7 IERCR0JVU19EU1BQLCA4MywgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JLyogY3Nj ICovCi0JeyBEQkdCVVNfU1NQUDAsIDcsIDB9LAotCXsgREJHQlVTX1NTUFAwLCA3LCAxfSwKLQl7 IERCR0JVU19TU1BQMCwgMjcsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAyNywgMX0sCi0JeyBEQkdC VVNfU1NQUDEsIDcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA3LCAxfSwKLQl7IERCR0JVU19TU1BQ MSwgMjcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAyNywgMX0sCi0KLQkvKiBwY2MgKi8KLQl7IERC R0JVU19TU1BQMCwgMywgIDN9LAotCXsgREJHQlVTX1NTUFAwLCAyMywgM30sCi0JeyBEQkdCVVNf U1NQUDAsIDMzLCAzfSwKLQl7IERCR0JVU19TU1BQMCwgNDMsIDN9LAotCXsgREJHQlVTX1NTUFAx LCAzLCAgM30sCi0JeyBEQkdCVVNfU1NQUDEsIDIzLCAzfSwKLQl7IERCR0JVU19TU1BQMSwgMzMs IDN9LAotCXsgREJHQlVTX1NTUFAxLCA0MywgM30sCi0KLQkvKiBzcGEgKi8KLQl7IERCR0JVU19T U1BQMCwgOCwgIDB9LAotCXsgREJHQlVTX1NTUFAwLCAyOCwgMH0sCi0JeyBEQkdCVVNfU1NQUDEs IDgsICAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjgsIDB9LAotCXsgREJHQlVTX0RTUFAsIDEzLCAw fSwKLQl7IERCR0JVU19EU1BQLCAxOSwgMH0sCi0KLQkvKiBpZ2MgKi8KLQl7IERCR0JVU19TU1BQ MCwgOSwgIDB9LAotCXsgREJHQlVTX1NTUFAwLCA5LCAgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDks ICAzfSwKLQl7IERCR0JVU19TU1BQMCwgMjksIDB9LAotCXsgREJHQlVTX1NTUFAwLCAyOSwgMX0s Ci0JeyBEQkdCVVNfU1NQUDAsIDI5LCAzfSwKLQl7IERCR0JVU19TU1BQMCwgMTcsIDB9LAotCXsg REJHQlVTX1NTUFAwLCAxNywgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDE3LCAzfSwKLQl7IERCR0JV U19TU1BQMCwgMzcsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQ UDAsIDM3LCAzfSwKLQl7IERCR0JVU19TU1BQMCwgNDYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCA0 NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDQ2LCAzfSwKLQotCXsgREJHQlVTX1NTUFAxLCA5LCAg MH0sCi0JeyBEQkdCVVNfU1NQUDEsIDksICAxfSwKLQl7IERCR0JVU19TU1BQMSwgOSwgIDN9LAot CXsgREJHQlVTX1NTUFAxLCAyOSwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI5LCAxfSwKLQl7IERC R0JVU19TU1BQMSwgMjksIDN9LAotCXsgREJHQlVTX1NTUFAxLCAxNywgMH0sCi0JeyBEQkdCVVNf U1NQUDEsIDE3LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMTcsIDN9LAotCXsgREJHQlVTX1NTUFAx LCAzNywgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDM3LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMzcs IDN9LAotCXsgREJHQlVTX1NTUFAxLCA0NiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ2LCAxfSwK LQl7IERCR0JVU19TU1BQMSwgNDYsIDN9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDB9LAotCXsg REJHQlVTX0RTUFAsIDE0LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgM30sCi0JeyBEQkdCVVNf RFNQUCwgMjAsIDB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAxfSwKLQl7IERCR0JVU19EU1BQLCAy MCwgM30sCi0KLQl7IERCR0JVU19QRVJJUEgsIDYwLCAwfSwKLX07Ci0KLXN0YXRpYyBzdHJ1Y3Qg ZHB1X2RlYnVnX2J1c19lbnRyeSBkYmdfYnVzX2RwdV9zZG04NDVbXSA9IHsKLQotCS8qIFVucGFj ayAwIHNzcHAgMCovCi0JeyBEQkdCVVNfU1NQUDAsIDUwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDYwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDcwLCAyIH0sCi0KLQkvKiBVcGFjayAwIHNzcHAg MSovCi0JeyBEQkdCVVNfU1NQUDEsIDUwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDYwLCAyIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDcwLCAyIH0sCi0KLQkvKiBzY2hlZHVsZXIgKi8KLQl7IERCR0JV U19EU1BQLCAxMzAsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxMzAsIDEgfSwKLQl7IERCR0JVU19E U1BQLCAxMzAsIDIgfSwKLQl7IERCR0JVU19EU1BQLCAxMzAsIDMgfSwKLQl7IERCR0JVU19EU1BQ LCAxMzAsIDQgfSwKLQl7IERCR0JVU19EU1BQLCAxMzAsIDUgfSwKLQotCS8qIHFzZWVkICovCi0J eyBEQkdCVVNfU1NQUDAsIDYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCA2LCAxfSwKLQl7IERCR0JV U19TU1BQMCwgMjYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAyNiwgMX0sCi0JeyBEQkdCVVNfU1NQ UDEsIDYsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA2LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMjYs IDB9LAotCXsgREJHQlVTX1NTUFAxLCAyNiwgMX0sCi0KLQkvKiBzY2FsZSAqLwotCXsgREJHQlVT X1NTUFAwLCAxNiwgMH0sCi0JeyBEQkdCVVNfU1NQUDAsIDE2LCAxfSwKLQl7IERCR0JVU19TU1BQ MCwgMzYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAzNiwgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDE2 LCAwfSwKLQl7IERCR0JVU19TU1BQMSwgMTYsIDF9LAotCXsgREJHQlVTX1NTUFAxLCAzNiwgMH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDM2LCAxfSwKLQotCS8qIGZldGNoIHNzcHAwICovCi0KLQkvKiB2 aWcgMCAqLwotCXsgREJHQlVTX1NTUFAwLCAwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDEg fSwKLQl7IERCR0JVU19TU1BQMCwgMCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAwLCAzIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDAsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMCwgNSB9LAotCXsgREJH QlVTX1NTUFAwLCAwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDAsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAwLCAxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEsIDEgfSwKLQl7IERCR0JVU19TU1BQ MCwgMSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDEs IDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMSwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAxLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAyLCAwIH0sCi0J eyBEQkdCVVNfU1NQUDAsIDIsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMiwgMiB9LAotCXsgREJH QlVTX1NTUFAwLCAyLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIsIDQgfSwKLQl7IERCR0JVU19T U1BQMCwgMiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAs IDIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQs IDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0LCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNCwgNSB9LAotCXsg REJHQlVTX1NTUFAwLCA0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAwLCA1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDEgfSwKLQl7IERCR0JVU19T U1BQMCwgNSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNSwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA1LCA2 IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDUsIDcgfSwKLQotCS8qIHZpZyAyICovCi0JeyBEQkdCVVNf U1NQUDAsIDIwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCAxIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDIwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDIwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIw LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDIwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjEs IDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDIg fSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDQgfSwK LQl7IERCR0JVU19TU1BQMCwgMjEsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMjEsIDYgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAyMiwgMCB9LAotCXsg REJHQlVTX1NTUFAwLCAyMiwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgMiB9LAotCXsgREJH QlVTX1NTUFAwLCAyMiwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgNCB9LAotCXsgREJHQlVT X1NTUFAwLCAyMiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAyMiwgNiB9LAotCXsgREJHQlVTX1NT UFAwLCAyMiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCAwIH0sCi0JeyBEQkdCVVNfU1NQ UDAsIDI0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAs IDI0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0 LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDI0LCA3 IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMjUsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDEg fSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDMgfSwK LQl7IERCR0JVU19TU1BQMCwgMjUsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDUgfSwKLQl7 IERCR0JVU19TU1BQMCwgMjUsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMjUsIDcgfSwKLQotCS8q IGRtYSAyICovCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMw LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCAz IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCA1IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMwLCA3IH0sCi0K LQl7IERCR0JVU19TU1BQMCwgMzEsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDEgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzEsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDMgfSwKLQl7IERC R0JVU19TU1BQMCwgMzEsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDUgfSwKLQl7IERCR0JV U19TU1BQMCwgMzEsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgMzEsIDcgfSwKLQotCXsgREJHQlVT X1NTUFAwLCAzMiwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgMSB9LAotCXsgREJHQlVTX1NT UFAwLCAzMiwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgMyB9LAotCXsgREJHQlVTX1NTUFAw LCAzMiwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCAz MiwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCAzMiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDMz LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAy IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCA0IH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDMzLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCA2IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDMzLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMCwgMzQsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgMzQsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgMzQsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgMzQsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgMzQsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgMzQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCAzNSwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCAzNSwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCAzNSwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCAzNSwgMyB9LAotCi0JLyogZG1hIDAgKi8KLQl7IERCR0JVU19TU1BQMCwgNDAsIDAgfSwKLQl7 IERCR0JVU19TU1BQMCwgNDAsIDEgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDIgfSwKLQl7IERC R0JVU19TU1BQMCwgNDAsIDMgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDQgfSwKLQl7IERCR0JV U19TU1BQMCwgNDAsIDUgfSwKLQl7IERCR0JVU19TU1BQMCwgNDAsIDYgfSwKLQl7IERCR0JVU19T U1BQMCwgNDAsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAwLCA0MSwgMCB9LAotCXsgREJHQlVTX1NT UFAwLCA0MSwgMSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgMiB9LAotCXsgREJHQlVTX1NTUFAw LCA0MSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0 MSwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwgNiB9LAotCXsgREJHQlVTX1NTUFAwLCA0MSwg NyB9LAotCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAx IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDAsIDQyLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCA1IH0sCi0J eyBEQkdCVVNfU1NQUDAsIDQyLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDAsIDQyLCA3IH0sCi0KLQl7 IERCR0JVU19TU1BQMCwgNDQsIDAgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDEgfSwKLQl7IERC R0JVU19TU1BQMCwgNDQsIDIgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDMgfSwKLQl7IERCR0JV U19TU1BQMCwgNDQsIDQgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDUgfSwKLQl7IERCR0JVU19T U1BQMCwgNDQsIDYgfSwKLQl7IERCR0JVU19TU1BQMCwgNDQsIDcgfSwKLQotCXsgREJHQlVTX1NT UFAwLCA0NSwgMCB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgMSB9LAotCXsgREJHQlVTX1NTUFAw LCA0NSwgMiB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgMyB9LAotCXsgREJHQlVTX1NTUFAwLCA0 NSwgNCB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgNSB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwg NiB9LAotCXsgREJHQlVTX1NTUFAwLCA0NSwgNyB9LAotCi0JLyogZmV0Y2ggc3NwcDEgKi8KLQkv KiB2aWcgMSAqLwotCXsgREJHQlVTX1NTUFAxLCAwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAs IDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAwLCAzIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDAsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMCwgNSB9LAotCXsg REJHQlVTX1NTUFAxLCAwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDAsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAxLCAxLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDEgfSwKLQl7IERCR0JVU19T U1BQMSwgMSwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAxLCA2 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAyLCAwIH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDIsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMiwgMiB9LAotCXsg REJHQlVTX1NTUFAxLCAyLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIsIDQgfSwKLQl7IERCR0JV U19TU1BQMSwgMiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyLCA2IH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDIsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA0LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDQsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0LCAz IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNCwgNSB9LAot CXsgREJHQlVTX1NTUFAxLCA0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQsIDcgfSwKLQotCXsg REJHQlVTX1NTUFAxLCA1LCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDEgfSwKLQl7IERCR0JV U19TU1BQMSwgNSwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA1LCAzIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDUsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA1 LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDUsIDcgfSwKLQotCS8qIHZpZyAzICovCi0JeyBEQkdC VVNfU1NQUDEsIDIwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCAxIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDIwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCAzIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDIwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDIwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDIwLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwg MjEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEs IDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDQg fSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMjEsIDYgfSwK LQl7IERCR0JVU19TU1BQMSwgMjEsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAyMiwgMCB9LAot CXsgREJHQlVTX1NTUFAxLCAyMiwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgMiB9LAotCXsg REJHQlVTX1NTUFAxLCAyMiwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgNCB9LAotCXsgREJH QlVTX1NTUFAxLCAyMiwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCAyMiwgNiB9LAotCXsgREJHQlVT X1NTUFAxLCAyMiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCAwIH0sCi0JeyBEQkdCVVNf U1NQUDEsIDI0LCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCAyIH0sCi0JeyBEQkdCVVNfU1NQ UDEsIDI0LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEs IDI0LCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0LCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDI0 LCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMjUsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUs IDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDMg fSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDUgfSwK LQl7IERCR0JVU19TU1BQMSwgMjUsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMjUsIDcgfSwKLQot CS8qIGRtYSAzICovCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEs IDMwLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMw LCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA0IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA1 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA2IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMwLCA3IH0s Ci0KLQl7IERCR0JVU19TU1BQMSwgMzEsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgMzEsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDMgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzEsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDUgfSwKLQl7IERC R0JVU19TU1BQMSwgMzEsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgMzEsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAxLCAzMiwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgMSB9LAotCXsgREJHQlVT X1NTUFAxLCAzMiwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCAzMiwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgNSB9LAotCXsgREJHQlVTX1NTUFAx LCAzMiwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCAzMiwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEs IDMzLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMz LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDMzLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDMzLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgMzQsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgMzQsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgMzQsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgMzQsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgMzQsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgMzQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCAzNSwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCAzNSwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCAzNSwgMiB9LAotCi0JLyogZG1hIDEg Ki8KLQl7IERCR0JVU19TU1BQMSwgNDAsIDAgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDEgfSwK LQl7IERCR0JVU19TU1BQMSwgNDAsIDIgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDMgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDAsIDQgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDUgfSwKLQl7IERC R0JVU19TU1BQMSwgNDAsIDYgfSwKLQl7IERCR0JVU19TU1BQMSwgNDAsIDcgfSwKLQotCXsgREJH QlVTX1NTUFAxLCA0MSwgMCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgMSB9LAotCXsgREJHQlVT X1NTUFAxLCA0MSwgMiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgMyB9LAotCXsgREJHQlVTX1NT UFAxLCA0MSwgNCB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgNSB9LAotCXsgREJHQlVTX1NTUFAx LCA0MSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0MSwgNyB9LAotCi0JeyBEQkdCVVNfU1NQUDEs IDQyLCAwIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCAxIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQy LCAyIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCAzIH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA0 IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA1IH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQyLCA2IH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDQyLCA3IH0sCi0KLQl7IERCR0JVU19TU1BQMSwgNDQsIDAgfSwK LQl7IERCR0JVU19TU1BQMSwgNDQsIDEgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDIgfSwKLQl7 IERCR0JVU19TU1BQMSwgNDQsIDMgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDQgfSwKLQl7IERC R0JVU19TU1BQMSwgNDQsIDUgfSwKLQl7IERCR0JVU19TU1BQMSwgNDQsIDYgfSwKLQl7IERCR0JV U19TU1BQMSwgNDQsIDcgfSwKLQotCXsgREJHQlVTX1NTUFAxLCA0NSwgMCB9LAotCXsgREJHQlVT X1NTUFAxLCA0NSwgMSB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgMiB9LAotCXsgREJHQlVTX1NT UFAxLCA0NSwgMyB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgNCB9LAotCXsgREJHQlVTX1NTUFAx LCA0NSwgNSB9LAotCXsgREJHQlVTX1NTUFAxLCA0NSwgNiB9LAotCXsgREJHQlVTX1NTUFAxLCA0 NSwgNyB9LAotCi0JLyogZHNwcCAqLwotCXsgREJHQlVTX0RTUFAsIDEzLCAwIH0sCi0JeyBEQkdC VVNfRFNQUCwgMTksIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgMCB9LAotCXsgREJHQlVTX0RT UFAsIDE0LCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDMgfSwKLQl7IERCR0JVU19EU1BQLCAy MCwgMCB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAxIH0sCi0JeyBEQkdCVVNfRFNQUCwgMjAsIDMg fSwKLQotCS8qIHBwYl8wICovCi0JeyBEQkdCVVNfRFNQUCwgMzEsIDAsIF9kcHVfZGVidWdfYnVz X3BwYjBfZHVtcCB9LAotCXsgREJHQlVTX0RTUFAsIDMzLCAwLCBfZHB1X2RlYnVnX2J1c19wcGIw X2R1bXAgfSwKLQl7IERCR0JVU19EU1BQLCAzNSwgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMF9kdW1w IH0sCi0JeyBEQkdCVVNfRFNQUCwgNDIsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjBfZHVtcCB9LAot Ci0JLyogcHBiXzEgKi8KLQl7IERCR0JVU19EU1BQLCAzMiwgMCwgX2RwdV9kZWJ1Z19idXNfcHBi MV9kdW1wIH0sCi0JeyBEQkdCVVNfRFNQUCwgMzQsIDAsIF9kcHVfZGVidWdfYnVzX3BwYjFfZHVt cCB9LAotCXsgREJHQlVTX0RTUFAsIDM2LCAwLCBfZHB1X2RlYnVnX2J1c19wcGIxX2R1bXAgfSwK LQl7IERCR0JVU19EU1BQLCA0MywgMCwgX2RwdV9kZWJ1Z19idXNfcHBiMV9kdW1wIH0sCi0KLQkv KiBsbV9sdXQgKi8KLQl7IERCR0JVU19EU1BQLCAxMDksIDAgfSwKLQl7IERCR0JVU19EU1BQLCAx MDUsIDAgfSwKLQl7IERCR0JVU19EU1BQLCAxMDMsIDAgfSwKLQotCS8qIGNyb3NzYmFyICovCi0J eyBEQkdCVVNfRFNQUCwgMCwgMCwgX2RwdV9kZWJ1Z19idXNfeGJhcl9kdW1wIH0sCi0KLQkvKiBy b3RhdG9yICovCi0JeyBEQkdCVVNfRFNQUCwgOSwgMH0sCi0KLQkvKiBibGVuZCAqLwotCS8qIExN MCAqLwotCXsgREJHQlVTX0RTUFAsIDYzLCAxfSwKLQl7IERCR0JVU19EU1BQLCA2MywgMn0sCi0J eyBEQkdCVVNfRFNQUCwgNjMsIDN9LAotCXsgREJHQlVTX0RTUFAsIDYzLCA0fSwKLQl7IERCR0JV U19EU1BQLCA2MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjMsIDZ9LAotCXsgREJHQlVTX0RTUFAs IDYzLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2NCwg MX0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDY0LCAzfSwKLQl7 IERCR0JVU19EU1BQLCA2NCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNjQsIDV9LAotCXsgREJHQlVT X0RTUFAsIDY0LCA2fSwKLQl7IERCR0JVU19EU1BQLCA2NCwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY1LCAy fSwKLQl7IERCR0JVU19EU1BQLCA2NSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjUsIDR9LAotCXsg REJHQlVTX0RTUFAsIDY1LCA1fSwKLQl7IERCR0JVU19EU1BQLCA2NSwgNn0sCi0JeyBEQkdCVVNf RFNQUCwgNjUsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAs IDY2LCAxfSwKLQl7IERCR0JVU19EU1BQLCA2NiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNjYsIDN9 LAotCXsgREJHQlVTX0RTUFAsIDY2LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2NiwgNX0sCi0JeyBE QkdCVVNfRFNQUCwgNjYsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDY2LCA3LCBfZHB1X2RlYnVnX2J1 c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA2NywgMX0sCi0JeyBEQkdCVVNfRFNQUCwg NjcsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDY3LCAzfSwKLQl7IERCR0JVU19EU1BQLCA2NywgNH0s Ci0JeyBEQkdCVVNfRFNQUCwgNjcsIDV9LAotCXsgREJHQlVTX0RTUFAsIDY3LCA2fSwKLQl7IERC R0JVU19EU1BQLCA2NywgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNf RFNQUCwgNjgsIDF9LAotCXsgREJHQlVTX0RTUFAsIDY4LCAyfSwKLQl7IERCR0JVU19EU1BQLCA2 OCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDR9LAotCXsgREJHQlVTX0RTUFAsIDY4LCA1fSwK LQl7IERCR0JVU19EU1BQLCA2OCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNjgsIDcsIF9kcHVfZGVi dWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDY5LCAxfSwKLQl7IERCR0JVU19E U1BQLCA2OSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDN9LAotCXsgREJHQlVTX0RTUFAsIDY5 LCA0fSwKLQl7IERCR0JVU19EU1BQLCA2OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNjksIDZ9LAot CXsgREJHQlVTX0RTUFAsIDY5LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERC R0JVU19EU1BQLCA4NCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODQsIDJ9LAotCXsgREJHQlVTX0RT UFAsIDg0LCAzfSwKLQl7IERCR0JVU19EU1BQLCA4NCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODQs IDV9LAotCXsgREJHQlVTX0RTUFAsIDg0LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4NCwgNywgX2Rw dV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0KLQl7IERCR0JVU19EU1BQLCA4NSwgMX0sCi0JeyBE QkdCVVNfRFNQUCwgODUsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDg1LCAzfSwKLQl7IERCR0JVU19E U1BQLCA4NSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDg1 LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4NSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAot Ci0KLQl7IERCR0JVU19EU1BQLCA4NiwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODYsIDJ9LAotCXsg REJHQlVTX0RTUFAsIDg2LCAzfSwKLQl7IERCR0JVU19EU1BQLCA4NiwgNH0sCi0JeyBEQkdCVVNf RFNQUCwgODYsIDV9LAotCXsgREJHQlVTX0RTUFAsIDg2LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4 NiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0KLQl7IERCR0JVU19EU1BQLCA4Nywg MX0sCi0JeyBEQkdCVVNfRFNQUCwgODcsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDg3LCAzfSwKLQl7 IERCR0JVU19EU1BQLCA4NywgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODcsIDV9LAotCXsgREJHQlVT X0RTUFAsIDg3LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4NywgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JLyogTE0xICovCi0JeyBEQkdCVVNfRFNQUCwgNzAsIDF9LAotCXsgREJHQlVT X0RTUFAsIDcwLCAyfSwKLQl7IERCR0JVU19EU1BQLCA3MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwg NzAsIDR9LAotCXsgREJHQlVTX0RTUFAsIDcwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MCwgNn0s Ci0JeyBEQkdCVVNfRFNQUCwgNzAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsg REJHQlVTX0RTUFAsIDcxLCAxfSwKLQl7IERCR0JVU19EU1BQLCA3MSwgMn0sCi0JeyBEQkdCVVNf RFNQUCwgNzEsIDN9LAotCXsgREJHQlVTX0RTUFAsIDcxLCA0fSwKLQl7IERCR0JVU19EU1BQLCA3 MSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzEsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDcxLCA3LCBf ZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA3MiwgMX0sCi0JeyBE QkdCVVNfRFNQUCwgNzIsIDJ9LAotCXsgREJHQlVTX0RTUFAsIDcyLCAzfSwKLQl7IERCR0JVU19E U1BQLCA3MiwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgNzIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDcy LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3MiwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAot Ci0JeyBEQkdCVVNfRFNQUCwgNzMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDczLCAyfSwKLQl7IERC R0JVU19EU1BQLCA3MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzMsIDR9LAotCXsgREJHQlVTX0RT UFAsIDczLCA1fSwKLQl7IERCR0JVU19EU1BQLCA3MywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzMs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc0LCAxfSwK LQl7IERCR0JVU19EU1BQLCA3NCwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgNzQsIDN9LAotCXsgREJH QlVTX0RTUFAsIDc0LCA0fSwKLQl7IERCR0JVU19EU1BQLCA3NCwgNX0sCi0JeyBEQkdCVVNfRFNQ UCwgNzQsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc0LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1w IH0sCi0KLQl7IERCR0JVU19EU1BQLCA3NSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzUsIDJ9LAot CXsgREJHQlVTX0RTUFAsIDc1LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3NSwgNH0sCi0JeyBEQkdC VVNfRFNQUCwgNzUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc1LCA2fSwKLQl7IERCR0JVU19EU1BQ LCA3NSwgNywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzYs IDF9LAotCXsgREJHQlVTX0RTUFAsIDc2LCAyfSwKLQl7IERCR0JVU19EU1BQLCA3NiwgM30sCi0J eyBEQkdCVVNfRFNQUCwgNzYsIDR9LAotCXsgREJHQlVTX0RTUFAsIDc2LCA1fSwKLQl7IERCR0JV U19EU1BQLCA3NiwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzYsIDcsIF9kcHVfZGVidWdfYnVzX2xt X2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDg4LCAxfSwKLQl7IERCR0JVU19EU1BQLCA4OCwg Mn0sCi0JeyBEQkdCVVNfRFNQUCwgODgsIDN9LAotCXsgREJHQlVTX0RTUFAsIDg4LCA0fSwKLQl7 IERCR0JVU19EU1BQLCA4OCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODgsIDZ9LAotCXsgREJHQlVT X0RTUFAsIDg4LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQ LCA4OSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODksIDJ9LAotCXsgREJHQlVTX0RTUFAsIDg5LCAz fSwKLQl7IERCR0JVU19EU1BQLCA4OSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgODksIDV9LAotCXsg REJHQlVTX0RTUFAsIDg5LCA2fSwKLQl7IERCR0JVU19EU1BQLCA4OSwgNywgX2RwdV9kZWJ1Z19i dXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgOTAsIDF9LAotCXsgREJHQlVTX0RTUFAs IDkwLCAyfSwKLQl7IERCR0JVU19EU1BQLCA5MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgOTAsIDR9 LAotCXsgREJHQlVTX0RTUFAsIDkwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA5MCwgNn0sCi0JeyBE QkdCVVNfRFNQUCwgOTAsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVT X0RTUFAsIDkxLCAxfSwKLQl7IERCR0JVU19EU1BQLCA5MSwgMn0sCi0JeyBEQkdCVVNfRFNQUCwg OTEsIDN9LAotCXsgREJHQlVTX0RTUFAsIDkxLCA0fSwKLQl7IERCR0JVU19EU1BQLCA5MSwgNX0s Ci0JeyBEQkdCVVNfRFNQUCwgOTEsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDkxLCA3LCBfZHB1X2Rl YnVnX2J1c19sbV9kdW1wIH0sCi0KLQkvKiBMTTIgKi8KLQl7IERCR0JVU19EU1BQLCA3NywgMH0s Ci0JeyBEQkdCVVNfRFNQUCwgNzcsIDF9LAotCXsgREJHQlVTX0RTUFAsIDc3LCAyfSwKLQl7IERC R0JVU19EU1BQLCA3NywgM30sCi0JeyBEQkdCVVNfRFNQUCwgNzcsIDR9LAotCXsgREJHQlVTX0RT UFAsIDc3LCA1fSwKLQl7IERCR0JVU19EU1BQLCA3NywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgNzcs IDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDc4LCAwfSwK LQl7IERCR0JVU19EU1BQLCA3OCwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgNzgsIDJ9LAotCXsgREJH QlVTX0RTUFAsIDc4LCAzfSwKLQl7IERCR0JVU19EU1BQLCA3OCwgNH0sCi0JeyBEQkdCVVNfRFNQ UCwgNzgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDc4LCA2fSwKLQl7IERCR0JVU19EU1BQLCA3OCwg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgNzksIDB9LAot CXsgREJHQlVTX0RTUFAsIDc5LCAxfSwKLQl7IERCR0JVU19EU1BQLCA3OSwgMn0sCi0JeyBEQkdC VVNfRFNQUCwgNzksIDN9LAotCXsgREJHQlVTX0RTUFAsIDc5LCA0fSwKLQl7IERCR0JVU19EU1BQ LCA3OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgNzksIDZ9LAotCXsgREJHQlVTX0RTUFAsIDc5LCA3 LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MCwgMH0sCi0J eyBEQkdCVVNfRFNQUCwgODAsIDF9LAotCXsgREJHQlVTX0RTUFAsIDgwLCAyfSwKLQl7IERCR0JV U19EU1BQLCA4MCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDR9LAotCXsgREJHQlVTX0RTUFAs IDgwLCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODAsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDgxLCAwfSwKLQl7 IERCR0JVU19EU1BQLCA4MSwgMX0sCi0JeyBEQkdCVVNfRFNQUCwgODEsIDJ9LAotCXsgREJHQlVT X0RTUFAsIDgxLCAzfSwKLQl7IERCR0JVU19EU1BQLCA4MSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwg ODEsIDV9LAotCXsgREJHQlVTX0RTUFAsIDgxLCA2fSwKLQl7IERCR0JVU19EU1BQLCA4MSwgNywg X2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgODIsIDB9LAotCXsg REJHQlVTX0RTUFAsIDgyLCAxfSwKLQl7IERCR0JVU19EU1BQLCA4MiwgMn0sCi0JeyBEQkdCVVNf RFNQUCwgODIsIDN9LAotCXsgREJHQlVTX0RTUFAsIDgyLCA0fSwKLQl7IERCR0JVU19EU1BQLCA4 MiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgODIsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDgyLCA3LCBf ZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JVU19EU1BQLCA4MywgMH0sCi0JeyBE QkdCVVNfRFNQUCwgODMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDgzLCAyfSwKLQl7IERCR0JVU19E U1BQLCA4MywgM30sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDR9LAotCXsgREJHQlVTX0RTUFAsIDgz LCA1fSwKLQl7IERCR0JVU19EU1BQLCA4MywgNn0sCi0JeyBEQkdCVVNfRFNQUCwgODMsIDcsIF9k cHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDkyLCAxfSwKLQl7IERC R0JVU19EU1BQLCA5MiwgMn0sCi0JeyBEQkdCVVNfRFNQUCwgOTIsIDN9LAotCXsgREJHQlVTX0RT UFAsIDkyLCA0fSwKLQl7IERCR0JVU19EU1BQLCA5MiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgOTIs IDZ9LAotCXsgREJHQlVTX0RTUFAsIDkyLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0K LQl7IERCR0JVU19EU1BQLCA5MywgMX0sCi0JeyBEQkdCVVNfRFNQUCwgOTMsIDJ9LAotCXsgREJH QlVTX0RTUFAsIDkzLCAzfSwKLQl7IERCR0JVU19EU1BQLCA5MywgNH0sCi0JeyBEQkdCVVNfRFNQ UCwgOTMsIDV9LAotCXsgREJHQlVTX0RTUFAsIDkzLCA2fSwKLQl7IERCR0JVU19EU1BQLCA5Mywg NywgX2RwdV9kZWJ1Z19idXNfbG1fZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgOTQsIDF9LAot CXsgREJHQlVTX0RTUFAsIDk0LCAyfSwKLQl7IERCR0JVU19EU1BQLCA5NCwgM30sCi0JeyBEQkdC VVNfRFNQUCwgOTQsIDR9LAotCXsgREJHQlVTX0RTUFAsIDk0LCA1fSwKLQl7IERCR0JVU19EU1BQ LCA5NCwgNn0sCi0JeyBEQkdCVVNfRFNQUCwgOTQsIDcsIF9kcHVfZGVidWdfYnVzX2xtX2R1bXAg fSwKLQotCXsgREJHQlVTX0RTUFAsIDk1LCAxfSwKLQl7IERCR0JVU19EU1BQLCA5NSwgMn0sCi0J eyBEQkdCVVNfRFNQUCwgOTUsIDN9LAotCXsgREJHQlVTX0RTUFAsIDk1LCA0fSwKLQl7IERCR0JV U19EU1BQLCA5NSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgOTUsIDZ9LAotCXsgREJHQlVTX0RTUFAs IDk1LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQkvKiBMTTUgKi8KLQl7IERCR0JV U19EU1BQLCAxMTAsIDF9LAotCXsgREJHQlVTX0RTUFAsIDExMCwgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgMTEwLCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTAsIDR9LAotCXsgREJHQlVTX0RTUFAsIDEx MCwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTEwLCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTAsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExMSwgMX0sCi0J eyBEQkdCVVNfRFNQUCwgMTExLCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTEsIDN9LAotCXsgREJH QlVTX0RTUFAsIDExMSwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgMTExLCA1fSwKLQl7IERCR0JVU19E U1BQLCAxMTEsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExMSwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTEyLCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTIs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDExMiwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTEyLCA0fSwK LQl7IERCR0JVU19EU1BQLCAxMTIsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExMiwgNn0sCi0JeyBE QkdCVVNfRFNQUCwgMTEyLCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCAxMTMsIDF9LAotCXsgREJHQlVTX0RTUFAsIDExMywgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgMTEzLCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTMsIDR9LAotCXsgREJHQlVTX0RTUFAsIDEx MywgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTEzLCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTMsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExNCwgMX0sCi0J eyBEQkdCVVNfRFNQUCwgMTE0LCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTQsIDN9LAotCXsgREJH QlVTX0RTUFAsIDExNCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgMTE0LCA1fSwKLQl7IERCR0JVU19E U1BQLCAxMTQsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExNCwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTE1LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTUs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDExNSwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTE1LCA0fSwK LQl7IERCR0JVU19EU1BQLCAxMTUsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExNSwgNn0sCi0JeyBE QkdCVVNfRFNQUCwgMTE1LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCAxMTYsIDF9LAotCXsgREJHQlVTX0RTUFAsIDExNiwgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgMTE2LCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTYsIDR9LAotCXsgREJHQlVTX0RTUFAsIDEx NiwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE2LCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTYsIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDExNywgMX0sCi0J eyBEQkdCVVNfRFNQUCwgMTE3LCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMTcsIDN9LAotCXsgREJH QlVTX0RTUFAsIDExNywgNH0sCi0JeyBEQkdCVVNfRFNQUCwgMTE3LCA1fSwKLQl7IERCR0JVU19E U1BQLCAxMTcsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDExNywgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTE4LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxMTgs IDJ9LAotCXsgREJHQlVTX0RTUFAsIDExOCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMTE4LCA0fSwK LQl7IERCR0JVU19EU1BQLCAxMTgsIDV9LAotCXsgREJHQlVTX0RTUFAsIDExOCwgNn0sCi0JeyBE QkdCVVNfRFNQUCwgMTE4LCA3LCBfZHB1X2RlYnVnX2J1c19sbV9kdW1wIH0sCi0KLQl7IERCR0JV U19EU1BQLCAxMTksIDF9LAotCXsgREJHQlVTX0RTUFAsIDExOSwgMn0sCi0JeyBEQkdCVVNfRFNQ UCwgMTE5LCAzfSwKLQl7IERCR0JVU19EU1BQLCAxMTksIDR9LAotCXsgREJHQlVTX0RTUFAsIDEx OSwgNX0sCi0JeyBEQkdCVVNfRFNQUCwgMTE5LCA2fSwKLQl7IERCR0JVU19EU1BQLCAxMTksIDcs IF9kcHVfZGVidWdfYnVzX2xtX2R1bXAgfSwKLQotCXsgREJHQlVTX0RTUFAsIDEyMCwgMX0sCi0J eyBEQkdCVVNfRFNQUCwgMTIwLCAyfSwKLQl7IERCR0JVU19EU1BQLCAxMjAsIDN9LAotCXsgREJH QlVTX0RTUFAsIDEyMCwgNH0sCi0JeyBEQkdCVVNfRFNQUCwgMTIwLCA1fSwKLQl7IERCR0JVU19E U1BQLCAxMjAsIDZ9LAotCXsgREJHQlVTX0RTUFAsIDEyMCwgNywgX2RwdV9kZWJ1Z19idXNfbG1f ZHVtcCB9LAotCi0JLyogY3NjICovCi0JeyBEQkdCVVNfU1NQUDAsIDcsIDB9LAotCXsgREJHQlVT X1NTUFAwLCA3LCAxfSwKLQl7IERCR0JVU19TU1BQMCwgMjcsIDB9LAotCXsgREJHQlVTX1NTUFAw LCAyNywgMX0sCi0JeyBEQkdCVVNfU1NQUDEsIDcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCA3LCAx fSwKLQl7IERCR0JVU19TU1BQMSwgMjcsIDB9LAotCXsgREJHQlVTX1NTUFAxLCAyNywgMX0sCi0K LQkvKiBwY2MgKi8KLQl7IERCR0JVU19TU1BQMCwgMywgIDN9LAotCXsgREJHQlVTX1NTUFAwLCAy MywgM30sCi0JeyBEQkdCVVNfU1NQUDAsIDMzLCAzfSwKLQl7IERCR0JVU19TU1BQMCwgNDMsIDN9 LAotCXsgREJHQlVTX1NTUFAxLCAzLCAgM30sCi0JeyBEQkdCVVNfU1NQUDEsIDIzLCAzfSwKLQl7 IERCR0JVU19TU1BQMSwgMzMsIDN9LAotCXsgREJHQlVTX1NTUFAxLCA0MywgM30sCi0KLQkvKiBz cGEgKi8KLQl7IERCR0JVU19TU1BQMCwgOCwgIDB9LAotCXsgREJHQlVTX1NTUFAwLCAyOCwgMH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDgsICAwfSwKLQl7IERCR0JVU19TU1BQMSwgMjgsIDB9LAotCXsg REJHQlVTX0RTUFAsIDEzLCAwfSwKLQl7IERCR0JVU19EU1BQLCAxOSwgMH0sCi0KLQkvKiBpZ2Mg Ki8KLQl7IERCR0JVU19TU1BQMCwgMTcsIDB9LAotCXsgREJHQlVTX1NTUFAwLCAxNywgMX0sCi0J eyBEQkdCVVNfU1NQUDAsIDE3LCAzfSwKLQl7IERCR0JVU19TU1BQMCwgMzcsIDB9LAotCXsgREJH QlVTX1NTUFAwLCAzNywgMX0sCi0JeyBEQkdCVVNfU1NQUDAsIDM3LCAzfSwKLQl7IERCR0JVU19T U1BQMCwgNDYsIDB9LAotCXsgREJHQlVTX1NTUFAwLCA0NiwgMX0sCi0JeyBEQkdCVVNfU1NQUDAs IDQ2LCAzfSwKLQotCXsgREJHQlVTX1NTUFAxLCAxNywgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDE3 LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMTcsIDN9LAotCXsgREJHQlVTX1NTUFAxLCAzNywgMH0s Ci0JeyBEQkdCVVNfU1NQUDEsIDM3LCAxfSwKLQl7IERCR0JVU19TU1BQMSwgMzcsIDN9LAotCXsg REJHQlVTX1NTUFAxLCA0NiwgMH0sCi0JeyBEQkdCVVNfU1NQUDEsIDQ2LCAxfSwKLQl7IERCR0JV U19TU1BQMSwgNDYsIDN9LAotCi0JeyBEQkdCVVNfRFNQUCwgMTQsIDB9LAotCXsgREJHQlVTX0RT UFAsIDE0LCAxfSwKLQl7IERCR0JVU19EU1BQLCAxNCwgM30sCi0JeyBEQkdCVVNfRFNQUCwgMjAs IDB9LAotCXsgREJHQlVTX0RTUFAsIDIwLCAxfSwKLQl7IERCR0JVU19EU1BQLCAyMCwgM30sCi0K LQkvKiBpbnRmMC0zICovCi0JeyBEQkdCVVNfUEVSSVBILCAwLCAwfSwKLQl7IERCR0JVU19QRVJJ UEgsIDEsIDB9LAotCXsgREJHQlVTX1BFUklQSCwgMiwgMH0sCi0JeyBEQkdCVVNfUEVSSVBILCAz LCAwfSwKLQotCS8qIHRlIGNvdW50ZXIgd3JhcHBlciAqLwotCXsgREJHQlVTX1BFUklQSCwgNjAs IDB9LAotCi0JLyogZHNjMCAqLwotCXsgREJHQlVTX1BFUklQSCwgNDcsIDB9LAotCXsgREJHQlVT X1BFUklQSCwgNDcsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNDcsIDJ9LAotCXsgREJHQlVTX1BF UklQSCwgNDcsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNDcsIDR9LAotCXsgREJHQlVTX1BFUklQ SCwgNDcsIDV9LAotCXsgREJHQlVTX1BFUklQSCwgNDcsIDZ9LAotCXsgREJHQlVTX1BFUklQSCwg NDcsIDd9LAotCi0JLyogZHNjMSAqLwotCXsgREJHQlVTX1BFUklQSCwgNDgsIDB9LAotCXsgREJH QlVTX1BFUklQSCwgNDgsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNDgsIDJ9LAotCXsgREJHQlVT X1BFUklQSCwgNDgsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNDgsIDR9LAotCXsgREJHQlVTX1BF UklQSCwgNDgsIDV9LAotCXsgREJHQlVTX1BFUklQSCwgNDgsIDZ9LAotCXsgREJHQlVTX1BFUklQ SCwgNDgsIDd9LAotCi0JLyogZHNjMiAqLwotCXsgREJHQlVTX1BFUklQSCwgNTEsIDB9LAotCXsg REJHQlVTX1BFUklQSCwgNTEsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNTEsIDJ9LAotCXsgREJH QlVTX1BFUklQSCwgNTEsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNTEsIDR9LAotCXsgREJHQlVT X1BFUklQSCwgNTEsIDV9LAotCXsgREJHQlVTX1BFUklQSCwgNTEsIDZ9LAotCXsgREJHQlVTX1BF UklQSCwgNTEsIDd9LAotCi0JLyogZHNjMyAqLwotCXsgREJHQlVTX1BFUklQSCwgNTIsIDB9LAot CXsgREJHQlVTX1BFUklQSCwgNTIsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNTIsIDJ9LAotCXsg REJHQlVTX1BFUklQSCwgNTIsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNTIsIDR9LAotCXsgREJH QlVTX1BFUklQSCwgNTIsIDV9LAotCXsgREJHQlVTX1BFUklQSCwgNTIsIDZ9LAotCXsgREJHQlVT X1BFUklQSCwgNTIsIDd9LAotCi0JLyogdGVhci1jaGVjayAqLwotCXsgREJHQlVTX1BFUklQSCwg NjMsIDAgfSwKLQl7IERCR0JVU19QRVJJUEgsIDY0LCAwIH0sCi0JeyBEQkdCVVNfUEVSSVBILCA2 NSwgMCB9LAotCXsgREJHQlVTX1BFUklQSCwgNzMsIDAgfSwKLQl7IERCR0JVU19QRVJJUEgsIDc0 LCAwIH0sCi0KLQkvKiBjZHduICovCi0JeyBEQkdCVVNfUEVSSVBILCA4MCwgMH0sCi0JeyBEQkdC VVNfUEVSSVBILCA4MCwgMX0sCi0JeyBEQkdCVVNfUEVSSVBILCA4MCwgMn0sCi0KLQl7IERCR0JV U19QRVJJUEgsIDgxLCAwfSwKLQl7IERCR0JVU19QRVJJUEgsIDgxLCAxfSwKLQl7IERCR0JVU19Q RVJJUEgsIDgxLCAyfSwKLQotCXsgREJHQlVTX1BFUklQSCwgODIsIDB9LAotCXsgREJHQlVTX1BF UklQSCwgODIsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgODIsIDJ9LAotCXsgREJHQlVTX1BFUklQ SCwgODIsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgODIsIDR9LAotCXsgREJHQlVTX1BFUklQSCwg ODIsIDV9LAotCXsgREJHQlVTX1BFUklQSCwgODIsIDZ9LAotCXsgREJHQlVTX1BFUklQSCwgODIs IDd9LAotCi0JLyogaGRtaSAqLwotCXsgREJHQlVTX1BFUklQSCwgNjgsIDB9LAotCXsgREJHQlVT X1BFUklQSCwgNjgsIDF9LAotCXsgREJHQlVTX1BFUklQSCwgNjgsIDJ9LAotCXsgREJHQlVTX1BF UklQSCwgNjgsIDN9LAotCXsgREJHQlVTX1BFUklQSCwgNjgsIDR9LAotCXsgREJHQlVTX1BFUklQ SCwgNjgsIDV9LAotCi0JLyogZWRwICovCi0JeyBEQkdCVVNfUEVSSVBILCA2OSwgMH0sCi0JeyBE QkdCVVNfUEVSSVBILCA2OSwgMX0sCi0JeyBEQkdCVVNfUEVSSVBILCA2OSwgMn0sCi0JeyBEQkdC VVNfUEVSSVBILCA2OSwgM30sCi0JeyBEQkdCVVNfUEVSSVBILCA2OSwgNH0sCi0JeyBEQkdCVVNf UEVSSVBILCA2OSwgNX0sCi0KLQkvKiBkc2kwICovCi0JeyBEQkdCVVNfUEVSSVBILCA3MCwgMH0s Ci0JeyBEQkdCVVNfUEVSSVBILCA3MCwgMX0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MCwgMn0sCi0J eyBEQkdCVVNfUEVSSVBILCA3MCwgM30sCi0JeyBEQkdCVVNfUEVSSVBILCA3MCwgNH0sCi0JeyBE QkdCVVNfUEVSSVBILCA3MCwgNX0sCi0KLQkvKiBkc2kxICovCi0JeyBEQkdCVVNfUEVSSVBILCA3 MSwgMH0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MSwgMX0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MSwg Mn0sCi0JeyBEQkdCVVNfUEVSSVBILCA3MSwgM30sCi0JeyBEQkdCVVNfUEVSSVBILCA3MSwgNH0s Ci0JeyBEQkdCVVNfUEVSSVBILCA3MSwgNX0sCi19OwotCi1zdGF0aWMgc3RydWN0IHZiaWZfZGVi dWdfYnVzX2VudHJ5IHZiaWZfZGJnX2J1c19tc204OTk4W10gPSB7Ci0JezB4MjE0LCAweDIxYywg MTYsIDIsIDB4MCwgMHhkfSwgICAgIC8qIGFyYiBjbGllbnRzICovCi0JezB4MjE0LCAweDIxYywg MTYsIDIsIDB4ODAsIDB4YzB9LCAgIC8qIGFyYiBjbGllbnRzICovCi0JezB4MjE0LCAweDIxYywg MTYsIDIsIDB4MTAwLCAweDE0MH0sIC8qIGFyYiBjbGllbnRzICovCi0JezB4MjE0LCAweDIxYywg MCwgMTYsIDB4MCwgMHhmfSwgICAgIC8qIHhpbiBibG9ja3MgLSBheGkgc2lkZSAqLwotCXsweDIx NCwgMHgyMWMsIDAsIDE2LCAweDgwLCAweGE0fSwgICAvKiB4aW4gYmxvY2tzIC0gYXhpIHNpZGUg Ki8KLQl7MHgyMTQsIDB4MjFjLCAwLCAxNSwgMHgxMDAsIDB4MTI0fSwgLyogeGluIGJsb2NrcyAt IGF4aSBzaWRlICovCi0JezB4MjFjLCAweDIxNCwgMCwgMTQsIDAsIDB4Y30sIC8qIHhpbiBibG9j a3MgLSBjbG9jayBzaWRlICovCi19OwotCi0vKioKLSAqIF9kcHVfZGJnX2VuYWJsZV9wb3dlciAt IHVzZSBjYWxsYmFjayB0byB0dXJuIHBvd2VyIG9uIGZvciBodyByZWdpc3RlciBhY2Nlc3MKLSAq IEBlbmFibGU6IHdoZXRoZXIgdG8gdHVybiBwb3dlciBvbiBvciBvZmYKLSAqLwotc3RhdGljIGlu bGluZSB2b2lkIF9kcHVfZGJnX2VuYWJsZV9wb3dlcihpbnQgZW5hYmxlKQotewotCWlmIChlbmFi bGUpCi0JCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZHB1X2RiZ19iYXNlLmRldik7Ci0JZWxzZQotCQlw bV9ydW50aW1lX3B1dF9zeW5jKGRwdV9kYmdfYmFzZS5kZXYpOwotfQotCi1zdGF0aWMgdm9pZCBf ZHB1X2RiZ19kdW1wX2RwdV9kYmdfYnVzKHN0cnVjdCBkcHVfZGJnX2RwdV9kZWJ1Z19idXMgKmJ1 cykKLXsKLQlib29sIGluX2xvZywgaW5fbWVtOwotCXUzMiAqKmR1bXBfbWVtID0gTlVMTDsKLQl1 MzIgKmR1bXBfYWRkciA9IE5VTEw7Ci0JdTMyIHN0YXR1cyA9IDA7Ci0Jc3RydWN0IGRwdV9kZWJ1 Z19idXNfZW50cnkgKmhlYWQ7Ci0JcGh5c19hZGRyX3QgcGh5cyA9IDA7Ci0JaW50IGxpc3Rfc2l6 ZTsKLQlpbnQgaTsKLQl1MzIgb2Zmc2V0OwotCXZvaWQgX19pb21lbSAqbWVtX2Jhc2UgPSBOVUxM OwotCXN0cnVjdCBkcHVfZGJnX3JlZ19iYXNlICpyZWdfYmFzZTsKLQotCWlmICghYnVzIHx8ICFi dXMtPmNtbi5lbnRyaWVzX3NpemUpCi0JCXJldHVybjsKLQotCWxpc3RfZm9yX2VhY2hfZW50cnko cmVnX2Jhc2UsICZkcHVfZGJnX2Jhc2UucmVnX2Jhc2VfbGlzdCwKLQkJCXJlZ19iYXNlX2hlYWQp Ci0JCWlmIChzdHJsZW4ocmVnX2Jhc2UtPm5hbWUpICYmCi0JCQkhc3RyY21wKHJlZ19iYXNlLT5u YW1lLCBidXMtPmNtbi5uYW1lKSkKLQkJCW1lbV9iYXNlID0gcmVnX2Jhc2UtPmJhc2UgKyBidXMt PnRvcF9ibGtfb2ZmOwotCi0JaWYgKCFtZW1fYmFzZSkgewotCQlwcl9lcnIoInVuYWJsZSB0byBm aW5kIG1lbV9iYXNlIGZvciAlc1xuIiwgYnVzLT5jbW4ubmFtZSk7Ci0JCXJldHVybjsKLQl9Ci0K LQlkdW1wX21lbSA9ICZidXMtPmNtbi5kdW1wZWRfY29udGVudDsKLQotCS8qIHdpbGwga2VlcCBp biBtZW1vcnkgNCBlbnRyaWVzIG9mIDQgYnl0ZXMgZWFjaCAqLwotCWxpc3Rfc2l6ZSA9IChidXMt PmNtbi5lbnRyaWVzX3NpemUgKiA0ICogNCk7Ci0KLQlpbl9sb2cgPSAoYnVzLT5jbW4uZW5hYmxl X21hc2sgJiBEUFVfREJHX0RVTVBfSU5fTE9HKTsKLQlpbl9tZW0gPSAoYnVzLT5jbW4uZW5hYmxl X21hc2sgJiBEUFVfREJHX0RVTVBfSU5fTUVNKTsKLQotCWlmICghaW5fbG9nICYmICFpbl9tZW0p Ci0JCXJldHVybjsKLQotCURSTV9ERVZfSU5GTyhkcHVfZGJnX2Jhc2UuZGV2LCAiPT09PT09PT0g c3RhcnQgJXMgZHVtcCA9PT09PT09PT1cbiIsCi0JCQlidXMtPmNtbi5uYW1lKTsKLQotCWlmIChp bl9tZW0pIHsKLQkJaWYgKCEoKmR1bXBfbWVtKSkKLQkJCSpkdW1wX21lbSA9IGRtYV9hbGxvY19j b2hlcmVudChkcHVfZGJnX2Jhc2UuZGV2LAotCQkJCWxpc3Rfc2l6ZSwgJnBoeXMsIEdGUF9LRVJO RUwpOwotCi0JCWlmICgqZHVtcF9tZW0pIHsKLQkJCWR1bXBfYWRkciA9ICpkdW1wX21lbTsKLQkJ CURSTV9ERVZfSU5GTyhkcHVfZGJnX2Jhc2UuZGV2LAotCQkJCSIlczogc3RhcnRfYWRkcjoweCVw SyBsZW46MHgleFxuIiwKLQkJCQlfX2Z1bmNfXywgZHVtcF9hZGRyLCBsaXN0X3NpemUpOwotCQl9 IGVsc2UgewotCQkJaW5fbWVtID0gZmFsc2U7Ci0JCQlwcl9lcnIoImR1bXBfbWVtOiBhbGxvY2F0 aW9uIGZhaWxzXG4iKTsKLQkJfQotCX0KLQotCV9kcHVfZGJnX2VuYWJsZV9wb3dlcih0cnVlKTsK LQlmb3IgKGkgPSAwOyBpIDwgYnVzLT5jbW4uZW50cmllc19zaXplOyBpKyspIHsKLQkJaGVhZCA9 IGJ1cy0+ZW50cmllcyArIGk7Ci0JCXdyaXRlbF9yZWxheGVkKFRFU1RfTUFTSyhoZWFkLT5ibG9j a19pZCwgaGVhZC0+dGVzdF9pZCksCi0JCQkJbWVtX2Jhc2UgKyBoZWFkLT53cl9hZGRyKTsKLQkJ d21iKCk7IC8qIG1ha2Ugc3VyZSB0ZXN0IGJpdHMgd2VyZSB3cml0dGVuICovCi0KLQkJaWYgKGJ1 cy0+Y21uLmZsYWdzICYgREJHQlVTX0ZMQUdTX0RTUFApIHsKLQkJCW9mZnNldCA9IERCR0JVU19E U1BQX1NUQVRVUzsKLQkJCS8qIGtlZXAgRFNQUCB0ZXN0IHBvaW50IGVuYWJsZWQgKi8KLQkJCWlm IChoZWFkLT53cl9hZGRyICE9IERCR0JVU19EU1BQKQotCQkJCXdyaXRlbF9yZWxheGVkKDB4Riwg bWVtX2Jhc2UgKyBEQkdCVVNfRFNQUCk7Ci0JCX0gZWxzZSB7Ci0JCQlvZmZzZXQgPSBoZWFkLT53 cl9hZGRyICsgMHg0OwotCQl9Ci0KLQkJc3RhdHVzID0gcmVhZGxfcmVsYXhlZChtZW1fYmFzZSAr IG9mZnNldCk7Ci0KLQkJaWYgKGluX2xvZykKLQkJCURSTV9ERVZfSU5GTyhkcHVfZGJnX2Jhc2Uu ZGV2LAotCQkJCQkid2FkZHI9MHgleCBibGs9JWQgdHN0PSVkIHZhbD0weCV4XG4iLAotCQkJCQlo ZWFkLT53cl9hZGRyLCBoZWFkLT5ibG9ja19pZCwKLQkJCQkJaGVhZC0+dGVzdF9pZCwgc3RhdHVz KTsKLQotCQlpZiAoZHVtcF9hZGRyICYmIGluX21lbSkgewotCQkJZHVtcF9hZGRyW2kqNF0gICAg ID0gaGVhZC0+d3JfYWRkcjsKLQkJCWR1bXBfYWRkcltpKjQgKyAxXSA9IGhlYWQtPmJsb2NrX2lk OwotCQkJZHVtcF9hZGRyW2kqNCArIDJdID0gaGVhZC0+dGVzdF9pZDsKLQkJCWR1bXBfYWRkcltp KjQgKyAzXSA9IHN0YXR1czsKLQkJfQotCi0JCWlmIChoZWFkLT5hbmFseXplcikKLQkJCWhlYWQt PmFuYWx5emVyKG1lbV9iYXNlLCBoZWFkLCBzdGF0dXMpOwotCi0JCS8qIERpc2FibGUgZGVidWcg YnVzIG9uY2Ugd2UgYXJlIGRvbmUgKi8KLQkJd3JpdGVsX3JlbGF4ZWQoMCwgbWVtX2Jhc2UgKyBo ZWFkLT53cl9hZGRyKTsKLQkJaWYgKGJ1cy0+Y21uLmZsYWdzICYgREJHQlVTX0ZMQUdTX0RTUFAg JiYKLQkJCQkJCWhlYWQtPndyX2FkZHIgIT0gREJHQlVTX0RTUFApCi0JCQl3cml0ZWxfcmVsYXhl ZCgweDAsIG1lbV9iYXNlICsgREJHQlVTX0RTUFApOwotCX0KLQlfZHB1X2RiZ19lbmFibGVfcG93 ZXIoZmFsc2UpOwotCi0JRFJNX0RFVl9JTkZPKGRwdV9kYmdfYmFzZS5kZXYsICI9PT09PT09PSBl bmQgJXMgZHVtcCA9PT09PT09PT1cbiIsCi0JCQlidXMtPmNtbi5uYW1lKTsKLX0KLQotc3RhdGlj IHZvaWQgX2RwdV9kYmdfZHVtcF92YmlmX2RlYnVnX2J1c19lbnRyeSgKLQkJc3RydWN0IHZiaWZf ZGVidWdfYnVzX2VudHJ5ICpoZWFkLCB2b2lkIF9faW9tZW0gKm1lbV9iYXNlLAotCQl1MzIgKmR1 bXBfYWRkciwgYm9vbCBpbl9sb2cpCi17Ci0JaW50IGksIGo7Ci0JdTMyIHZhbDsKLQotCWlmICgh ZHVtcF9hZGRyICYmICFpbl9sb2cpCi0JCXJldHVybjsKLQotCWZvciAoaSA9IDA7IGkgPCBoZWFk LT5ibG9ja19jbnQ7IGkrKykgewotCQl3cml0ZWxfcmVsYXhlZCgxIDw8IChpICsgaGVhZC0+Yml0 X29mZnNldCksCi0JCQkJbWVtX2Jhc2UgKyBoZWFkLT5ibG9ja19idXNfYWRkcik7Ci0JCS8qIG1h a2Ugc3VyZSB0aGF0IGN1cnJlbnQgYnVzIGJsY29rIGVuYWJsZSAqLwotCQl3bWIoKTsKLQkJZm9y IChqID0gaGVhZC0+dGVzdF9wbnRfc3RhcnQ7IGogPCBoZWFkLT50ZXN0X3BudF9jbnQ7IGorKykg ewotCQkJd3JpdGVsX3JlbGF4ZWQoaiwgbWVtX2Jhc2UgKyBoZWFkLT5ibG9ja19idXNfYWRkciAr IDQpOwotCQkJLyogbWFrZSBzdXJlIHRoYXQgdGVzdCBwb2ludCBpcyBlbmFibGVkICovCi0JCQl3 bWIoKTsKLQkJCXZhbCA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZfVEVTVF9C VVNfT1VUKTsKLQkJCWlmIChkdW1wX2FkZHIpIHsKLQkJCQkqZHVtcF9hZGRyKysgPSBoZWFkLT5i bG9ja19idXNfYWRkcjsKLQkJCQkqZHVtcF9hZGRyKysgPSBpOwotCQkJCSpkdW1wX2FkZHIrKyA9 IGo7Ci0JCQkJKmR1bXBfYWRkcisrID0gdmFsOwotCQkJfQotCQkJaWYgKGluX2xvZykKLQkJCQlE Uk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkJInRlc3Rwb2ludDoleCBhcmIveGlu IGlkPSVkIGluZGV4PSVkIHZhbD0weCV4XG4iLAotCQkJCQloZWFkLT5ibG9ja19idXNfYWRkciwg aSwgaiwgdmFsKTsKLQkJfQotCX0KLX0KLQotc3RhdGljIHZvaWQgX2RwdV9kYmdfZHVtcF92Ymlm X2RiZ19idXMoc3RydWN0IGRwdV9kYmdfdmJpZl9kZWJ1Z19idXMgKmJ1cykKLXsKLQlib29sIGlu X2xvZywgaW5fbWVtOwotCXUzMiAqKmR1bXBfbWVtID0gTlVMTDsKLQl1MzIgKmR1bXBfYWRkciA9 IE5VTEw7Ci0JdTMyIHZhbHVlLCBkMCwgZDE7Ci0JdW5zaWduZWQgbG9uZyByZWcsIHJlZzEsIHJl ZzI7Ci0Jc3RydWN0IHZiaWZfZGVidWdfYnVzX2VudHJ5ICpoZWFkOwotCXBoeXNfYWRkcl90IHBo eXMgPSAwOwotCWludCBpLCBsaXN0X3NpemUgPSAwOwotCXZvaWQgX19pb21lbSAqbWVtX2Jhc2Ug PSBOVUxMOwotCXN0cnVjdCB2YmlmX2RlYnVnX2J1c19lbnRyeSAqZGJnX2J1czsKLQl1MzIgYnVz X3NpemU7Ci0Jc3RydWN0IGRwdV9kYmdfcmVnX2Jhc2UgKnJlZ19iYXNlOwotCi0JaWYgKCFidXMg fHwgIWJ1cy0+Y21uLmVudHJpZXNfc2l6ZSkKLQkJcmV0dXJuOwotCi0JbGlzdF9mb3JfZWFjaF9l bnRyeShyZWdfYmFzZSwgJmRwdV9kYmdfYmFzZS5yZWdfYmFzZV9saXN0LAotCQkJcmVnX2Jhc2Vf aGVhZCkKLQkJaWYgKHN0cmxlbihyZWdfYmFzZS0+bmFtZSkgJiYKLQkJCSFzdHJjbXAocmVnX2Jh c2UtPm5hbWUsIGJ1cy0+Y21uLm5hbWUpKQotCQkJbWVtX2Jhc2UgPSByZWdfYmFzZS0+YmFzZTsK LQotCWlmICghbWVtX2Jhc2UpIHsKLQkJcHJfZXJyKCJ1bmFibGUgdG8gZmluZCBtZW1fYmFzZSBm b3IgJXNcbiIsIGJ1cy0+Y21uLm5hbWUpOwotCQlyZXR1cm47Ci0JfQotCi0JZGJnX2J1cyA9IGJ1 cy0+ZW50cmllczsKLQlidXNfc2l6ZSA9IGJ1cy0+Y21uLmVudHJpZXNfc2l6ZTsKLQlsaXN0X3Np emUgPSBidXMtPmNtbi5lbnRyaWVzX3NpemU7Ci0JZHVtcF9tZW0gPSAmYnVzLT5jbW4uZHVtcGVk X2NvbnRlbnQ7Ci0KLQlEUk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwgIj09PT09PT09IHN0 YXJ0ICVzIGR1bXAgPT09PT09PT09XG4iLAotCQkJYnVzLT5jbW4ubmFtZSk7Ci0KLQlpZiAoIWR1 bXBfbWVtIHx8ICFkYmdfYnVzIHx8ICFidXNfc2l6ZSB8fCAhbGlzdF9zaXplKQotCQlyZXR1cm47 Ci0KLQkvKiBhbGxvY2F0ZSBtZW1vcnkgZm9yIGVhY2ggdGVzdCBwb2ludCAqLwotCWZvciAoaSA9 IDA7IGkgPCBidXNfc2l6ZTsgaSsrKSB7Ci0JCWhlYWQgPSBkYmdfYnVzICsgaTsKLQkJbGlzdF9z aXplICs9IChoZWFkLT5ibG9ja19jbnQgKiBoZWFkLT50ZXN0X3BudF9jbnQpOwotCX0KLQotCS8q IDQgYnl0ZXMgKiA0IGVudHJpZXMgZm9yIGVhY2ggdGVzdCBwb2ludCovCi0JbGlzdF9zaXplICo9 IDE2OwotCi0JaW5fbG9nID0gKGJ1cy0+Y21uLmVuYWJsZV9tYXNrICYgRFBVX0RCR19EVU1QX0lO X0xPRyk7Ci0JaW5fbWVtID0gKGJ1cy0+Y21uLmVuYWJsZV9tYXNrICYgRFBVX0RCR19EVU1QX0lO X01FTSk7Ci0KLQlpZiAoIWluX2xvZyAmJiAhaW5fbWVtKQotCQlyZXR1cm47Ci0KLQlpZiAoaW5f bWVtKSB7Ci0JCWlmICghKCpkdW1wX21lbSkpCi0JCQkqZHVtcF9tZW0gPSBkbWFfYWxsb2NfY29o ZXJlbnQoZHB1X2RiZ19iYXNlLmRldiwKLQkJCQlsaXN0X3NpemUsICZwaHlzLCBHRlBfS0VSTkVM KTsKLQotCQlpZiAoKmR1bXBfbWVtKSB7Ci0JCQlkdW1wX2FkZHIgPSAqZHVtcF9tZW07Ci0JCQlE Uk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkiJXM6IHN0YXJ0X2FkZHI6MHglcEsg bGVuOjB4JXhcbiIsCi0JCQkJX19mdW5jX18sIGR1bXBfYWRkciwgbGlzdF9zaXplKTsKLQkJfSBl bHNlIHsKLQkJCWluX21lbSA9IGZhbHNlOwotCQkJcHJfZXJyKCJkdW1wX21lbTogYWxsb2NhdGlv biBmYWlsc1xuIik7Ci0JCX0KLQl9Ci0KLQlfZHB1X2RiZ19lbmFibGVfcG93ZXIodHJ1ZSk7Ci0K LQl2YWx1ZSA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZfQ0xLT04pOwotCXdy aXRlbF9yZWxheGVkKHZhbHVlIHwgQklUKDEpLCBtZW1fYmFzZSArIE1NU1NfVkJJRl9DTEtPTik7 Ci0KLQkvKiBtYWtlIHN1cmUgdGhhdCB2YmlmIGNvcmUgaXMgb24gKi8KLQl3bWIoKTsKLQotCS8q KgotCSAqIEV4dHJhY3QgVkJJRiBlcnJvciBpbmZvIGJhc2VkIG9uIFhJTiBoYWx0IGFuZCBlcnJv ciBzdGF0dXMuCi0JICogSWYgdGhlIFhJTiBjbGllbnQgaXMgbm90IGluIEhBTFQgc3RhdGUsIG9y IGFuIGVycm9yIGlzIGRldGVjdGVkLAotCSAqIHRoZW4gcmV0cmlldmUgdGhlIFZCSUYgZXJyb3Ig aW5mbyBmb3IgaXQuCi0JICovCi0JcmVnID0gcmVhZGxfcmVsYXhlZChtZW1fYmFzZSArIE1NU1Nf VkJJRl9YSU5fSEFMVF9DVFJMMSk7Ci0JcmVnMSA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBN TVNTX1ZCSUZfUE5EX0VSUik7Ci0JcmVnMiA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNT X1ZCSUZfU1JDX0VSUik7Ci0JRFJNX0RFVl9FUlJPUihkcHVfZGJnX2Jhc2UuZGV2LAotCQkJIlhJ TiBIQUxUOjB4JWxYLCBQTkQgRVJSOjB4JWxYLCBTUkMgRVJSOjB4JWxYXG4iLAotCQkJcmVnLCBy ZWcxLCByZWcyKTsKLQlyZWcgPj49IDE2OwotCXJlZyAmPSB+KHJlZzEgfCByZWcyKTsKLQlmb3Ig KGkgPSAwOyBpIDwgTU1TU19WQklGX0NMSUVOVF9OVU07IGkrKykgewotCQlpZiAoIXRlc3RfYml0 KDAsICZyZWcpKSB7Ci0JCQl3cml0ZWxfcmVsYXhlZChpLCBtZW1fYmFzZSArIE1NU1NfVkJJRl9F UlJfSU5GTyk7Ci0JCQkvKiBtYWtlIHN1cmUgcmVnIHdyaXRlIGdvZXMgdGhyb3VnaCAqLwotCQkJ d21iKCk7Ci0KLQkJCWQwID0gcmVhZGxfcmVsYXhlZChtZW1fYmFzZSArIE1NU1NfVkJJRl9FUlJf SU5GTyk7Ci0JCQlkMSA9IHJlYWRsX3JlbGF4ZWQobWVtX2Jhc2UgKyBNTVNTX1ZCSUZfRVJSX0lO Rk9fMSk7Ci0KLQkJCURSTV9ERVZfRVJST1IoZHB1X2RiZ19iYXNlLmRldiwKLQkJCQkJIkNsaWVu dDolZCwgZXJyaW5mbz0weCVYLCBlcnJpbmZvMT0weCVYXG4iLAotCQkJCQlpLCBkMCwgZDEpOwot CQl9Ci0JCXJlZyA+Pj0gMTsKLQl9Ci0KLQlmb3IgKGkgPSAwOyBpIDwgYnVzX3NpemU7IGkrKykg ewotCQloZWFkID0gZGJnX2J1cyArIGk7Ci0KLQkJd3JpdGVsX3JlbGF4ZWQoMCwgbWVtX2Jhc2Ug KyBoZWFkLT5kaXNhYmxlX2J1c19hZGRyKTsKLQkJd3JpdGVsX3JlbGF4ZWQoQklUKDApLCBtZW1f YmFzZSArIE1NU1NfVkJJRl9URVNUX0JVU19PVVRfQ1RSTCk7Ci0JCS8qIG1ha2Ugc3VyZSB0aGF0 IG90aGVyIGJ1cyBpcyBvZmYgKi8KLQkJd21iKCk7Ci0KLQkJX2RwdV9kYmdfZHVtcF92YmlmX2Rl YnVnX2J1c19lbnRyeShoZWFkLCBtZW1fYmFzZSwgZHVtcF9hZGRyLAotCQkJCWluX2xvZyk7Ci0J CWlmIChkdW1wX2FkZHIpCi0JCQlkdW1wX2FkZHIgKz0gKGhlYWQtPmJsb2NrX2NudCAqIGhlYWQt PnRlc3RfcG50X2NudCAqIDQpOwotCX0KLQotCV9kcHVfZGJnX2VuYWJsZV9wb3dlcihmYWxzZSk7 Ci0KLQlEUk1fREVWX0lORk8oZHB1X2RiZ19iYXNlLmRldiwgIj09PT09PT09IGVuZCAlcyBkdW1w ID09PT09PT09PVxuIiwKLQkJCWJ1cy0+Y21uLm5hbWUpOwotfQotCi0vKioKLSAqIF9kcHVfZHVt cF9hcnJheSAtIGR1bXAgYXJyYXkgb2YgcmVnaXN0ZXIgYmFzZXMKLSAqIEBuYW1lOiBzdHJpbmcg aW5kaWNhdGluZyBvcmlnaW4gb2YgZHVtcAotICogQGR1bXBfZGJnYnVzX2RwdTogd2hldGhlciB0 byBkdW1wIHRoZSBkcHUgZGVidWcgYnVzCi0gKiBAZHVtcF9kYmdidXNfdmJpZl9ydDogd2hldGhl ciB0byBkdW1wIHRoZSB2YmlmIHJ0IGRlYnVnIGJ1cwotICovCi1zdGF0aWMgdm9pZCBfZHB1X2R1 bXBfYXJyYXkoY29uc3QgY2hhciAqbmFtZSwgYm9vbCBkdW1wX2RiZ2J1c19kcHUsCi0JCQkgICAg Ym9vbCBkdW1wX2RiZ2J1c192YmlmX3J0KQotewotCWlmIChkdW1wX2RiZ2J1c19kcHUpCi0JCV9k cHVfZGJnX2R1bXBfZHB1X2RiZ19idXMoJmRwdV9kYmdfYmFzZS5kYmdidXNfZHB1KTsKLQotCWlm IChkdW1wX2RiZ2J1c192YmlmX3J0KQotCQlfZHB1X2RiZ19kdW1wX3ZiaWZfZGJnX2J1cygmZHB1 X2RiZ19iYXNlLmRiZ2J1c192YmlmX3J0KTsKLX0KLQotLyoqCi0gKiBfZHB1X2R1bXBfd29yayAt IGRlZmVycmVkIGR1bXAgd29yayBmdW5jdGlvbgotICogQHdvcms6IHdvcmsgc3RydWN0dXJlCi0g Ki8KLXN0YXRpYyB2b2lkIF9kcHVfZHVtcF93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykK LXsKLQlfZHB1X2R1bXBfYXJyYXkoImRwdWR1bXBfd29ya2l0ZW0iLAotCQlkcHVfZGJnX2Jhc2Uu ZGJnYnVzX2RwdS5jbW4uaW5jbHVkZV9pbl9kZWZlcnJlZF93b3JrLAotCQlkcHVfZGJnX2Jhc2Uu ZGJnYnVzX3ZiaWZfcnQuY21uLmluY2x1ZGVfaW5fZGVmZXJyZWRfd29yayk7Ci19Ci0KLXZvaWQg ZHB1X2RiZ19kdW1wKGJvb2wgcXVldWVfd29yaywgY29uc3QgY2hhciAqbmFtZSwgYm9vbCBkdW1w X2RiZ2J1c19kcHUsCi0JCSAgYm9vbCBkdW1wX2RiZ2J1c192YmlmX3J0KQotewotCWlmIChxdWV1 ZV93b3JrICYmIHdvcmtfcGVuZGluZygmZHB1X2RiZ19iYXNlLmR1bXBfd29yaykpCi0JCXJldHVy bjsKLQotCWlmICghcXVldWVfd29yaykgewotCQlfZHB1X2R1bXBfYXJyYXkobmFtZSwgZHVtcF9k YmdidXNfZHB1LCBkdW1wX2RiZ2J1c192YmlmX3J0KTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIHNj aGVkdWxlIHdvcmsgdG8gZHVtcCBsYXRlciAqLwotCWRwdV9kYmdfYmFzZS5kYmdidXNfZHB1LmNt bi5pbmNsdWRlX2luX2RlZmVycmVkX3dvcmsgPSBkdW1wX2RiZ2J1c19kcHU7Ci0JZHB1X2RiZ19i YXNlLmRiZ2J1c192YmlmX3J0LmNtbi5pbmNsdWRlX2luX2RlZmVycmVkX3dvcmsgPQotCQkJZHVt cF9kYmdidXNfdmJpZl9ydDsKLQlzY2hlZHVsZV93b3JrKCZkcHVfZGJnX2Jhc2UuZHVtcF93b3Jr KTsKLX0KLQotLyoKLSAqIGRwdV9kYmdfZGVidWdmc19vcGVuIC0gZGVidWdmcyBvcGVuIGhhbmRs ZXIgZm9yIGRlYnVnIGR1bXAKLSAqIEBpbm9kZTogZGVidWdmcyBpbm9kZQotICogQGZpbGU6IGZp bGUgaGFuZGxlCi0gKi8KLXN0YXRpYyBpbnQgZHB1X2RiZ19kZWJ1Z2ZzX29wZW4oc3RydWN0IGlu b2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUpCi17Ci0JLyogbm9uLXNlZWthYmxlICovCi0J ZmlsZS0+Zl9tb2RlICY9IH4oRk1PREVfTFNFRUsgfCBGTU9ERV9QUkVBRCB8IEZNT0RFX1BXUklU RSk7Ci0JZmlsZS0+cHJpdmF0ZV9kYXRhID0gaW5vZGUtPmlfcHJpdmF0ZTsKLQlyZXR1cm4gMDsK LX0KLQotLyoqCi0gKiBkcHVfZGJnX2R1bXBfd3JpdGUgLSBkZWJ1Z2ZzIHdyaXRlIGhhbmRsZXIg Zm9yIGRlYnVnIGR1bXAKLSAqIEBmaWxlOiBmaWxlIGhhbmRsZXIKLSAqIEB1c2VyX2J1ZjogdXNl ciBidWZmZXIgY29udGVudCBmcm9tIGRlYnVnZnMKLSAqIEBjb3VudDogc2l6ZSBvZiB1c2VyIGJ1 ZmZlcgotICogQHBwb3M6IHBvc2l0aW9uIG9mZnNldCBvZiB1c2VyIGJ1ZmZlcgotICovCi1zdGF0 aWMgc3NpemVfdCBkcHVfZGJnX2R1bXBfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsCi0JY29uc3Qg Y2hhciBfX3VzZXIgKnVzZXJfYnVmLCBzaXplX3QgY291bnQsIGxvZmZfdCAqcHBvcykKLXsKLQlf ZHB1X2R1bXBfYXJyYXkoImR1bXBfZGVidWdmcyIsIHRydWUsIHRydWUpOwotCXJldHVybiBjb3Vu dDsKLX0KLQotc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgZHB1X2RiZ19kdW1w X2ZvcHMgPSB7Ci0JLm9wZW4gPSBkcHVfZGJnX2RlYnVnZnNfb3BlbiwKLQkud3JpdGUgPSBkcHVf ZGJnX2R1bXBfd3JpdGUsCi19OwotCi1pbnQgZHB1X2RiZ19kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVj dCBkZW50cnkgKmRlYnVnZnNfcm9vdCkKLXsKLQlzdGF0aWMgc3RydWN0IGRwdV9kYmdfYmFzZSAq ZGJnID0gJmRwdV9kYmdfYmFzZTsKLQljaGFyIGRlYnVnX25hbWVbODBdID0gIiI7Ci0KLQlpZiAo IWRlYnVnZnNfcm9vdCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlkZWJ1Z2ZzX2NyZWF0ZV9maWxl KCJkdW1wIiwgMDYwMCwgZGVidWdmc19yb290LCBOVUxMLAotCQkJJmRwdV9kYmdfZHVtcF9mb3Bz KTsKLQotCWlmIChkYmctPmRiZ2J1c19kcHUuZW50cmllcykgewotCQlkYmctPmRiZ2J1c19kcHUu Y21uLm5hbWUgPSBEQkdCVVNfTkFNRV9EUFU7Ci0JCXNucHJpbnRmKGRlYnVnX25hbWUsIHNpemVv ZihkZWJ1Z19uYW1lKSwgIiVzX2RiZ2J1cyIsCi0JCQkJZGJnLT5kYmdidXNfZHB1LmNtbi5uYW1l KTsKLQkJZGJnLT5kYmdidXNfZHB1LmNtbi5lbmFibGVfbWFzayA9IERFRkFVTFRfREJHQlVTX0RQ VTsKLQkJZGVidWdmc19jcmVhdGVfdTMyKGRlYnVnX25hbWUsIDA2MDAsIGRlYnVnZnNfcm9vdCwK LQkJCQkmZGJnLT5kYmdidXNfZHB1LmNtbi5lbmFibGVfbWFzayk7Ci0JfQotCi0JaWYgKGRiZy0+ ZGJnYnVzX3ZiaWZfcnQuZW50cmllcykgewotCQlkYmctPmRiZ2J1c192YmlmX3J0LmNtbi5uYW1l ID0gREJHQlVTX05BTUVfVkJJRl9SVDsKLQkJc25wcmludGYoZGVidWdfbmFtZSwgc2l6ZW9mKGRl YnVnX25hbWUpLCAiJXNfZGJnYnVzIiwKLQkJCQlkYmctPmRiZ2J1c192YmlmX3J0LmNtbi5uYW1l KTsKLQkJZGJnLT5kYmdidXNfdmJpZl9ydC5jbW4uZW5hYmxlX21hc2sgPSBERUZBVUxUX0RCR0JV U19WQklGUlQ7Ci0JCWRlYnVnZnNfY3JlYXRlX3UzMihkZWJ1Z19uYW1lLCAwNjAwLCBkZWJ1Z2Zz X3Jvb3QsCi0JCQkJJmRiZy0+ZGJnYnVzX3ZiaWZfcnQuY21uLmVuYWJsZV9tYXNrKTsKLQl9Ci0K LQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgX2RwdV9kYmdfZGVidWdmc19kZXN0cm95KHZv aWQpCi17Ci19Ci0KLXZvaWQgZHB1X2RiZ19pbml0X2RiZ19idXNlcyh1MzIgaHd2ZXJzaW9uKQot ewotCXN0YXRpYyBzdHJ1Y3QgZHB1X2RiZ19iYXNlICpkYmcgPSAmZHB1X2RiZ19iYXNlOwotCi0J bWVtc2V0KCZkYmctPmRiZ2J1c19kcHUsIDAsIHNpemVvZihkYmctPmRiZ2J1c19kcHUpKTsKLQlt ZW1zZXQoJmRiZy0+ZGJnYnVzX3ZiaWZfcnQsIDAsIHNpemVvZihkYmctPmRiZ2J1c192YmlmX3J0 KSk7Ci0KLQlpZiAoSVNfTVNNODk5OF9UQVJHRVQoaHd2ZXJzaW9uKSkgewotCQlkYmctPmRiZ2J1 c19kcHUuZW50cmllcyA9IGRiZ19idXNfZHB1Xzg5OTg7Ci0JCWRiZy0+ZGJnYnVzX2RwdS5jbW4u ZW50cmllc19zaXplID0gQVJSQVlfU0laRShkYmdfYnVzX2RwdV84OTk4KTsKLQkJZGJnLT5kYmdi dXNfZHB1LmNtbi5mbGFncyA9IERCR0JVU19GTEFHU19EU1BQOwotCi0JCWRiZy0+ZGJnYnVzX3Zi aWZfcnQuZW50cmllcyA9IHZiaWZfZGJnX2J1c19tc204OTk4OwotCQlkYmctPmRiZ2J1c192Ymlm X3J0LmNtbi5lbnRyaWVzX3NpemUgPQotCQkJCUFSUkFZX1NJWkUodmJpZl9kYmdfYnVzX21zbTg5 OTgpOwotCX0gZWxzZSBpZiAoSVNfU0RNODQ1X1RBUkdFVChod3ZlcnNpb24pIHx8IElTX1NETTY3 MF9UQVJHRVQoaHd2ZXJzaW9uKSkgewotCQlkYmctPmRiZ2J1c19kcHUuZW50cmllcyA9IGRiZ19i dXNfZHB1X3NkbTg0NTsKLQkJZGJnLT5kYmdidXNfZHB1LmNtbi5lbnRyaWVzX3NpemUgPQotCQkJ CUFSUkFZX1NJWkUoZGJnX2J1c19kcHVfc2RtODQ1KTsKLQkJZGJnLT5kYmdidXNfZHB1LmNtbi5m bGFncyA9IERCR0JVU19GTEFHU19EU1BQOwotCi0JCS8qIHZiaWYgaXMgdW5jaGFuZ2VkIHZzIDg5 OTggKi8KLQkJZGJnLT5kYmdidXNfdmJpZl9ydC5lbnRyaWVzID0gdmJpZl9kYmdfYnVzX21zbTg5 OTg7Ci0JCWRiZy0+ZGJnYnVzX3ZiaWZfcnQuY21uLmVudHJpZXNfc2l6ZSA9Ci0JCQkJQVJSQVlf U0laRSh2YmlmX2RiZ19idXNfbXNtODk5OCk7Ci0JfSBlbHNlIHsKLQkJcHJfZXJyKCJ1bnN1cHBv cnRlZCBjaGlwc2V0IGlkICVYXG4iLCBod3ZlcnNpb24pOwotCX0KLX0KLQotaW50IGRwdV9kYmdf aW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0JaWYgKCFkZXYpIHsKLQkJcHJfZXJyKCJpbnZh bGlkIHBhcmFtc1xuIik7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQotCUlOSVRfTElTVF9IRUFE KCZkcHVfZGJnX2Jhc2UucmVnX2Jhc2VfbGlzdCk7Ci0JZHB1X2RiZ19iYXNlLmRldiA9IGRldjsK LQotCUlOSVRfV09SSygmZHB1X2RiZ19iYXNlLmR1bXBfd29yaywgX2RwdV9kdW1wX3dvcmspOwot Ci0JcmV0dXJuIDA7Ci19Ci0KLS8qKgotICogZHB1X2RiZ19kZXN0cm95IC0gZGVzdHJveSBkcHUg ZGVidWcgZmFjaWxpdGllcwotICovCi12b2lkIGRwdV9kYmdfZGVzdHJveSh2b2lkKQotewotCV9k cHVfZGJnX2RlYnVnZnNfZGVzdHJveSgpOwotfQotCi12b2lkIGRwdV9kYmdfc2V0X2RwdV90b3Bf b2Zmc2V0KHUzMiBibGtfb2ZmKQotewotCWRwdV9kYmdfYmFzZS5kYmdidXNfZHB1LnRvcF9ibGtf b2ZmID0gYmxrX29mZjsKLX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9kYmcuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9kYmcuaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWU2ZmE5NDVmOThiLi4wMDAwMDAwMDAwMDAK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2RiZy5oCisrKyAvZGV2L251 bGwKQEAgLTEsMTAzICswLDAgQEAKLS8qIENvcHlyaWdodCAoYykgMjAxNi0yMDE4LCBUaGUgTGlu dXggRm91bmRhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQot ICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2 ZXJzaW9uIDIgYW5kCi0gKiBvbmx5IHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICovCi0KLSNp Zm5kZWYgRFBVX0RCR19IXwotI2RlZmluZSBEUFVfREJHX0hfCi0KLSNpbmNsdWRlIDxzdGRhcmcu aD4KLSNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Ci0jaW5jbHVkZSA8bGludXgvbGlzdC5oPgot Ci1lbnVtIGRwdV9kYmdfZHVtcF9mbGFnIHsKLQlEUFVfREJHX0RVTVBfSU5fTE9HID0gQklUKDAp LAotCURQVV9EQkdfRFVNUF9JTl9NRU0gPSBCSVQoMSksCi19OwotCi0jaWYgZGVmaW5lZChDT05G SUdfREVCVUdfRlMpCi0KLS8qKgotICogZHB1X2RiZ19pbml0X2RiZ19idXNlcyAtIGluaXRpYWxp emUgZGVidWcgYnVzIGR1bXBpbmcgc3VwcG9ydCBmb3IgdGhlIGNoaXBzZXQKLSAqIEBod3ZlcnNp b246CQlDaGlwc2V0IHJldmlzaW9uCi0gKi8KLXZvaWQgZHB1X2RiZ19pbml0X2RiZ19idXNlcyh1 MzIgaHd2ZXJzaW9uKTsKLQotLyoqCi0gKiBkcHVfZGJnX2luaXQgLSBpbml0aWFsaXplIGdsb2Jh bCBkcHUgZGVidWcgZmFjaWxpdGllczogcmVnZHVtcAotICogQGRldjoJCWRldmljZSBoYW5kbGUK LSAqIFJldHVybnM6CQkwIG9yIC1FUlJPUgotICovCi1pbnQgZHB1X2RiZ19pbml0KHN0cnVjdCBk ZXZpY2UgKmRldik7Ci0KLS8qKgotICogZHB1X2RiZ19kZWJ1Z2ZzX3JlZ2lzdGVyIC0gcmVnaXN0 ZXIgZW50cmllcyBhdCB0aGUgZ2l2ZW4gZGVidWdmcyBkaXIKLSAqIEBkZWJ1Z2ZzX3Jvb3Q6CWRl YnVnZnMgcm9vdCBpbiB3aGljaCB0byBjcmVhdGUgZHB1IGRlYnVnIGVudHJpZXMKLSAqIFJldHVy bnM6CTAgb3IgLUVSUk9SCi0gKi8KLWludCBkcHVfZGJnX2RlYnVnZnNfcmVnaXN0ZXIoc3RydWN0 IGRlbnRyeSAqZGVidWdmc19yb290KTsKLQotLyoqCi0gKiBkcHVfZGJnX2Rlc3Ryb3kgLSBkZXN0 cm95IHRoZSBnbG9iYWwgZHB1IGRlYnVnIGZhY2lsaXRpZXMKLSAqIFJldHVybnM6CW5vbmUKLSAq Lwotdm9pZCBkcHVfZGJnX2Rlc3Ryb3kodm9pZCk7Ci0KLS8qKgotICogZHB1X2RiZ19kdW1wIC0g dHJpZ2dlciBkdW1waW5nIG9mIGFsbCBkcHVfZGJnIGZhY2lsaXRpZXMKLSAqIEBxdWV1ZV93b3Jr OgkgIHdoZXRoZXIgdG8gcXVldWUgdGhlIGR1bXBpbmcgd29yayB0byB0aGUgd29ya19zdHJ1Y3QK LSAqIEBuYW1lOgkgIHN0cmluZyBpbmRpY2F0aW5nIG9yaWdpbiBvZiBkdW1wCi0gKiBAZHVtcF9k YmdidXM6ICBkdW1wIHRoZSBkcHUgZGVidWcgYnVzCi0gKiBAZHVtcF92YmlmX3J0OiBkdW1wIHRo ZSB2YmlmIHJ0IGJ1cwotICogUmV0dXJuczoJbm9uZQotICovCi12b2lkIGRwdV9kYmdfZHVtcChi b29sIHF1ZXVlX3dvcmssIGNvbnN0IGNoYXIgKm5hbWUsIGJvb2wgZHVtcF9kYmdidXNfZHB1LAot CQkgIGJvb2wgZHVtcF9kYmdidXNfdmJpZl9ydCk7Ci0KLS8qKgotICogZHB1X2RiZ19zZXRfZHB1 X3RvcF9vZmZzZXQgLSBzZXQgdGhlIHRhcmdldCBzcGVjaWZpYyBvZmZzZXQgZnJvbSBtZHNzIGJh c2UKLSAqCWFkZHJlc3Mgb2YgdGhlIHRvcCByZWdpc3RlcnMuIFVzZWQgZm9yIGFjY2Vzc2luZyBk ZWJ1ZyBidXMgY29udHJvbHMuCi0gKiBAYmxrX29mZjogb2Zmc2V0IGZyb20gbWRzcyBiYXNlIG9m IHRoZSB0b3AgYmxvY2sKLSAqLwotdm9pZCBkcHVfZGJnX3NldF9kcHVfdG9wX29mZnNldCh1MzIg YmxrX29mZik7Ci0KLSNlbHNlCi0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkcHVfZGJnX2luaXRfZGJn X2J1c2VzKHUzMiBod3ZlcnNpb24pCi17Ci19Ci0KLXN0YXRpYyBpbmxpbmUgaW50IGRwdV9kYmdf aW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxp bmUgaW50IGRwdV9kYmdfZGVidWdmc19yZWdpc3RlcihzdHJ1Y3QgZGVudHJ5ICpkZWJ1Z2ZzX3Jv b3QpCi17Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZCBkcHVfZGJnX2Rlc3Ry b3kodm9pZCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRwdV9kYmdfZHVtcChib29sIHF1 ZXVlX3dvcmssIGNvbnN0IGNoYXIgKm5hbWUsCi0JCQkJYm9vbCBkdW1wX2RiZ2J1c19kcHUsIGJv b2wgZHVtcF9kYmdidXNfdmJpZl9ydCkKLXsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkIGRwdV9k Ymdfc2V0X2RwdV90b3Bfb2Zmc2V0KHUzMiBibGtfb2ZmKQotewotfQotCi0jZW5kaWYgLyogZGVm aW5lZChDT05GSUdfREVCVUdfRlMpICovCi0KLQotI2VuZGlmIC8qIERQVV9EQkdfSF8gKi8KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCmluZGV4IGY2MGRjZjIx Nzc1NS4uYzFiYWFiNGM3MmQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9lbmNvZGVyLmMKQEAgLTE1MTcsMTAgKzE1MTcsOCBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rl cl9oZWxwZXJfaHdfcmVzZXQoc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKQogCQkg ICAgICBjdGwtPmlkeCk7CiAKIAlyYyA9IGN0bC0+b3BzLnJlc2V0KGN0bCk7Ci0JaWYgKHJjKSB7 CisJaWYgKHJjKQogCQlEUFVfRVJST1JfRU5DKGRwdV9lbmMsICJjdGwgJWQgcmVzZXQgZmFpbHVy ZVxuIiwgIGN0bC0+aWR4KTsKLQkJZHB1X2RiZ19kdW1wKGZhbHNlLCBfX2Z1bmNfXywgdHJ1ZSwg dHJ1ZSk7Ci0JfQogCiAJcGh5c19lbmMtPmVuYWJsZV9zdGF0ZSA9IERQVV9FTkNfRU5BQkxFRDsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVy X3BoeXNfY21kLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX2NtZC5jCmluZGV4IDI0YTk4ZjRlMWY0NC4uYjM3YTA5OTJlMzI2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9waHlzX2NtZC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyX3BoeXNfY21kLmMKQEAg LTI0Myw3ICsyNDMsNiBAQCBzdGF0aWMgaW50IF9kcHVfZW5jb2Rlcl9waHlzX2NtZF9oYW5kbGVf cHBkb25lX3RpbWVvdXQoCiAJCQkgIGF0b21pY19yZWFkKCZwaHlzX2VuYy0+cGVuZGluZ19raWNr b2ZmX2NudCkpOwogCiAJCWRwdV9lbmNvZGVyX2hlbHBlcl91bnJlZ2lzdGVyX2lycShwaHlzX2Vu YywgSU5UUl9JRFhfUkRQVFIpOwotCQlkcHVfZGJnX2R1bXAoZmFsc2UsIF9fZnVuY19fLCB0cnVl LCB0cnVlKTsKIAl9CiAKIAlhdG9taWNfYWRkX3VubGVzcygmcGh5c19lbmMtPnBlbmRpbmdfa2lj a29mZl9jbnQsIC0xLCAwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9lbmNvZGVyX3BoeXNfdmlkLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlcl9waHlzX3ZpZC5jCmluZGV4IDY2N2YzMDRjOTJlYS4uYWNkYWI1YjBkYjE4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlcl9w aHlzX3ZpZC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVy X3BoeXNfdmlkLmMKQEAgLTYxMyw3ICs2MTMsNiBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9w aHlzX3ZpZF9wcmVwYXJlX2Zvcl9raWNrb2ZmKAogCQlEUFVfRVJST1JfVklERU5DKHZpZF9lbmMs ICJjdGwgJWQgcmVzZXQgZmFpbHVyZTogJWRcbiIsCiAJCQkJY3RsLT5pZHgsIHJjKTsKIAkJZHB1 X2VuY29kZXJfaGVscGVyX3VucmVnaXN0ZXJfaXJxKHBoeXNfZW5jLCBJTlRSX0lEWF9WU1lOQyk7 Ci0JCWRwdV9kYmdfZHVtcChmYWxzZSwgX19mdW5jX18sIHRydWUsIHRydWUpOwogCX0KIH0KIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2N0bC5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2N0bC5jCmluZGV4IDhmYTYwMWE5 YWJiZi4uNGFhYjA0MzM1YzZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfaHdfY3RsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2h3X2N0bC5jCkBAIC0xMyw3ICsxMyw2IEBACiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNp bmNsdWRlICJkcHVfaHdpby5oIgogI2luY2x1ZGUgImRwdV9od19jdGwuaCIKLSNpbmNsdWRlICJk cHVfZGJnLmgiCiAjaW5jbHVkZSAiZHB1X2ttcy5oIgogI2luY2x1ZGUgImRwdV90cmFjZS5oIgog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfaW50Zi5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2ludGYuYwppbmRleCA5YzZi YmEwYWM3YzMuLjY5NWQyN2E3MzBlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2h3X2ludGYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfaHdfaW50Zi5jCkBAIC0xMyw3ICsxMyw2IEBACiAjaW5jbHVkZSAiZHB1X2h3aW8uaCIK ICNpbmNsdWRlICJkcHVfaHdfY2F0YWxvZy5oIgogI2luY2x1ZGUgImRwdV9od19pbnRmLmgiCi0j aW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9rbXMuaCIKIAogI2RlZmluZSBJTlRG X1RJTUlOR19FTkdJTkVfRU4gICAgICAgICAgIDB4MDAwCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od19sbS5jCmluZGV4IGRiZTQ4ZTAwNjQxNC4uYzc2YjVjYzk0OWZiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfbG0uYwpAQCAtMTUsNyArMTUsNiBA QAogI2luY2x1ZGUgImRwdV9od2lvLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2xtLmgiCiAjaW5jbHVk ZSAiZHB1X2h3X21kc3MuaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAjaW5jbHVkZSAiZHB1X2tt cy5oIgogCiAjZGVmaW5lIExNX09QX01PREUgICAgICAgICAgICAgICAgICAgICAgICAweDAwCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3Bvbmcu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od19waW5ncG9uZy5jCmluZGV4 IDUyZmNhMTNkYTE3Ni4uY2ZjOTM4MTYwNzhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3BvbmcuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfaHdfcGluZ3BvbmcuYwpAQCAtMTYsNyArMTYsNiBAQAogI2luY2x1ZGUg ImRwdV9od2lvLmgiCiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVf aHdfcGluZ3BvbmcuaCIKLSNpbmNsdWRlICJkcHVfZGJnLmgiCiAjaW5jbHVkZSAiZHB1X2ttcy5o IgogI2luY2x1ZGUgImRwdV90cmFjZS5oIgogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X2h3X3NzcHAuYwppbmRleCA4NzQ1MDE4ZmZkZDYuLjgyOTc5NjNkMmM0YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3NzcHAuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfc3NwcC5jCkBAIC0xNCw3ICsxNCw2 IEBACiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfbG0uaCIK ICNpbmNsdWRlICJkcHVfaHdfc3NwcC5oIgotI2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRl ICJkcHVfa21zLmgiCiAKICNkZWZpbmUgRFBVX0ZFVENIX0NPTkZJR19SRVNFVF9WQUxVRSAgIDB4 MDAwMDAwODcKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9o d190b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9od190b3AuYwppbmRl eCBiODc4MTI1NmUyMWIuLmY3ZTBmNjYxYThiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X3RvcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9od190b3AuYwpAQCAtMTMsNyArMTMsNiBAQAogI2luY2x1ZGUgImRwdV9od2lv LmgiCiAjaW5jbHVkZSAiZHB1X2h3X2NhdGFsb2cuaCIKICNpbmNsdWRlICJkcHVfaHdfdG9wLmgi Ci0jaW5jbHVkZSAiZHB1X2RiZy5oIgogI2luY2x1ZGUgImRwdV9rbXMuaCIKIAogI2RlZmluZSBT U1BQX1NQQVJFICAgICAgICAgICAgICAgICAgICAgICAgMHgyOApAQCAtMzYxLDggKzM2MCw2IEBA IHN0cnVjdCBkcHVfaHdfbWRwICpkcHVfaHdfbWRwdG9wX2luaXQoZW51bSBkcHVfbWRwIGlkeCwK IAkJZ290byBibGtfaW5pdF9lcnJvcjsKIAl9CiAKLQlkcHVfZGJnX3NldF9kcHVfdG9wX29mZnNl dChtZHAtPmh3LmJsa19vZmYpOwotCiAJcmV0dXJuIG1kcDsKIAogYmxrX2luaXRfZXJyb3I6CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfdmJpZi5jIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X3ZiaWYuYwppbmRleCBkNDM5MDU1 MjVmOTIuLjM4YmZkMjIyZWQ3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2h3X3ZiaWYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfaHdfdmJpZi5jCkBAIC0xMyw3ICsxMyw2IEBACiAjaW5jbHVkZSAiZHB1X2h3aW8uaCIKICNp bmNsdWRlICJkcHVfaHdfY2F0YWxvZy5oIgogI2luY2x1ZGUgImRwdV9od192YmlmLmgiCi0jaW5j bHVkZSAiZHB1X2RiZy5oIgogCiAjZGVmaW5lIFZCSUZfVkVSU0lPTgkJCTB4MDAwMAogI2RlZmlu ZSBWQklGX0NMS19GT1JDRV9DVFJMMAkJMHgwMDA4CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfa21zLmMKaW5kZXggMWNlNmU2MTgwZjM1Li5mOTVhNzZhZWRlNjggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMKQEAgLTI2NiwxMiArMjY2LDYgQEAgc3RhdGlj IGludCBfZHB1X2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKIAkJcmV0dXJu IFBUUl9FUlIoZHB1X2ttcy0+ZGVidWdmc19yb290KTsKIAl9CiAKLQlyYyA9IGRwdV9kYmdfZGVi dWdmc19yZWdpc3RlcihkcHVfa21zLT5kZWJ1Z2ZzX3Jvb3QpOwotCWlmIChyYykgewotCQlEUk1f RVJST1IoImZhaWxlZCB0byByZWcgZHB1IGRiZyBkZWJ1Z2ZzOiAlZFxuIiwgcmMpOwotCQlyZXR1 cm4gcmM7Ci0JfQotCiAJLyogYWxsb3cgcm9vdCB0byBiZSBOVUxMICovCiAJZGVidWdmc19jcmVh dGVfeDMyKERQVV9ERUJVR0ZTX0hXTUFTS05BTUUsIDA2MDAsIGRwdV9rbXMtPmRlYnVnZnNfcm9v dCwgcCk7CiAKQEAgLTcwOSw3ICs3MDMsNiBAQCBzdGF0aWMgdm9pZCBkcHVfa21zX2Rlc3Ryb3ko c3RydWN0IG1zbV9rbXMgKmttcykKIAogCWRwdV9rbXMgPSB0b19kcHVfa21zKGttcyk7CiAKLQlk cHVfZGJnX2Rlc3Ryb3koKTsKIAlfZHB1X2ttc19od19kZXN0cm95KGRwdV9rbXMpOwogfQogCkBA IC04NjAsMTYgKzg1MywxMCBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNt X2ttcyAqa21zKQogCQlyZXR1cm4gcmM7CiAJfQogCi0JcmMgPSBkcHVfZGJnX2luaXQoJmRwdV9r bXMtPnBkZXYtPmRldik7Ci0JaWYgKHJjKSB7Ci0JCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXQg ZHB1IGRiZzogJWRcbiIsIHJjKTsKLQkJcmV0dXJuIHJjOwotCX0KLQogCXByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwogCWlmICghcHJpdikgewogCQlEUFVfRVJST1IoImludmFsaWQgcHJpdmF0ZSBk YXRhXG4iKTsKLQkJZ290byBkYmdfZGVzdHJveTsKKwkJcmV0dXJuIHJjOwogCX0KIAogCWRwdV9r bXMtPm1taW8gPSBtc21faW9yZW1hcChkcHVfa21zLT5wZGV2LCAibWRwIiwgIm1kcCIpOwpAQCAt OTIzLDggKzkxMCw2IEBAIHN0YXRpYyBpbnQgZHB1X2ttc19od19pbml0KHN0cnVjdCBtc21fa21z ICprbXMpCiAJCWdvdG8gcG93ZXJfZXJyb3I7CiAJfQogCi0JZHB1X2RiZ19pbml0X2RiZ19idXNl cyhkcHVfa21zLT5jb3JlX3Jldik7Ci0KIAkvKgogCSAqIE5vdyB3ZSBuZWVkIHRvIHJlYWQgdGhl IEhXIGNhdGFsb2cgYW5kIGluaXRpYWxpemUgcmVzb3VyY2VzIHN1Y2ggYXMKIAkgKiBjbG9ja3Ms IHJlZ3VsYXRvcnMsIEdEU0MvTU1BR0lDLCBpb3JlbWFwIHRoZSByZWdpc3RlciByYW5nZXMgZXRj CkBAIC0xMDI0LDggKzEwMDksNyBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3Qg bXNtX2ttcyAqa21zKQogCXBtX3J1bnRpbWVfcHV0X3N5bmMoJmRwdV9rbXMtPnBkZXYtPmRldik7 CiBlcnJvcjoKIAlfZHB1X2ttc19od19kZXN0cm95KGRwdV9rbXMpOwotZGJnX2Rlc3Ryb3k6Ci0J ZHB1X2RiZ19kZXN0cm95KCk7CisKIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9rbXMuaAppbmRleCA1OWUxOGUyZDNjNTkuLjYxMWM4OGMxYmExMCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaApAQCAtMjMsNyArMjMsNiBAQAog I2luY2x1ZGUgIm1zbV9rbXMuaCIKICNpbmNsdWRlICJtc21fbW11LmgiCiAjaW5jbHVkZSAibXNt X2dlbS5oIgotI2luY2x1ZGUgImRwdV9kYmcuaCIKICNpbmNsdWRlICJkcHVfaHdfY2F0YWxvZy5o IgogI2luY2x1ZGUgImRwdV9od19jdGwuaCIKICNpbmNsdWRlICJkcHVfaHdfbG0uaCIKLS0gCjIu MTguMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJl ZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==