From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Leonid Grossman" Subject: FW: Submission for S2io 10GbE driver Date: Fri, 23 Jan 2004 13:22:11 -0800 Sender: netdev-bounce@oss.sgi.com Message-ID: <002201c3e1f6$f97896e0$5d50ff11@S2IOtech.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0023_01C3E1B3.EB5556E0" Return-path: To: Errors-to: netdev-bounce@oss.sgi.com List-Id: netdev.vger.kernel.org This is a multi-part message in MIME format. ------=_NextPart_000_0023_01C3E1B3.EB5556E0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi all, Please fund attached a source code for S2io 10GbE adapter (with some disclaimers below). Send me your comments/suggestions on the source please, and we will address the code changes (if any) in real time. Regards, Leonid Leonid Grossman Vice President, SW Engineering S2io Inc. www.s2io.com -----Original Message----- From: Leonid Grossman [mailto:leonid.grossman@s2io.com] Sent: Tuesday, January 20, 2004 8:13 PM To: 'Jeff Garzik' Subject: Submission for S2io 10GbE driver Hi Jeff, Per your suggestion, attached is the driver source. Couple disclaimers - 1. There are some history logs from our CVS at the end of the source files, you will probably want us to remove these. 2. We are working on adding more loadable tunable parameters. 3. This is a shipping (as of last October) card, and Linux driver got some reasonable mileage on 2.6 kernel and number of 2.4 distributions, mostly 2.4.21 based. Having said that, we still run performance and stress tests in QA since 10GbE is fairly new. All comments/suggestions are very welcome; let me know if you need anything besides the source from our end. Regards, Leonid > -----Original Message----- > From: Jeff Garzik [mailto:jgarzik@pobox.com] > Sent: Monday, January 12, 2004 1:36 PM > To: Leonid Grossman > Subject: Re: FW: Submission for 10GbE driver > > Just a suggestion, but it might be a good idea to email me > your driver > sooner than later. > > _Almost all_ drivers require changes before being submitting, so > delaying source release due to a Q/A cycle or similar is > probably just > wasting time, if the driver will likely have to be updated and > re-submitted, possibly several times. > > Don't let me scare you :) Going through 1-2 iterations > before a driver > passes review is normal for most vendors, particularly the first one. > The key is listening to kernel developers' feedback. > > Jeff > > > ------=_NextPart_000_0023_01C3E1B3.EB5556E0 Content-Type: application/octet-stream; name="xframe_rc1.65.tar" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="xframe_rc1.65.tar" Li8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwNDA3NTUAMDAwMDAw MAAwMDAwMDAwADAwMDAwMDAwMDAwADEwMDAzMzcwNDE0ADAwNzcwNQAgNQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu L0NWUy8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDA0MDc1NQAwMDAwMDAw ADAwMDAwMDAAMDAwMDAwMDAwMDAAMTAwMDMzNjE2NTYAMDEwMzUwACA1AAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4v Q1ZTL1Jvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAA MDAwMDAwMAAwMDAwMDAwMDA2NgAxMDAwMzM2MTY1NgAwMTEyMTUAIDAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnBz ZXJ2ZXI6cHBoYW5AMTcyLjEwLjEuMS9wcm9qZWN0cy94ZW5hL3N3L3JlcG9zaXRvcnkKAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL0NW Uy9SZXBvc2l0b3J5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAw MDAwMDAAMDAwMDAwMDAwMzAAMTAwMDMzNjE2NTYAMDEyNDQwACAwAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHMyaW8v bGludXgvbW9ub2xpdGgvc3JjCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi9DVlMv RW50cmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAw MDAwADAwMDAwMDAxMTAyADEwMDAzMzYxNjU2ADAxMTY3MwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvTWFrZWZp bGUvMS43L1R1ZSBPY3QgIDcgMTg6MDM6NDUgMjAwMy8vCi9SRUFETUUudHh0LzEuOS9UdWUgRGVj ICAyIDIwOjE3OjAwIDIwMDMvLwovZ2V0cnhkLzEuNS9XZWQgTm92IDE5IDA2OjU2OjU3IDIwMDMv LwovZ2V0c3RhdC8xLjEvRnJpIEp1biAxMyAxNzoyODoxNyAyMDAzLy8KL2dldHR4ZC8xLjEvRnJp IEp1biAxMyAxNzoyODoxNyAyMDAzLy8KL3JlZ2R1bXAuYy8xLjIvVHVlIE5vdiAgNCAwMjowNjo0 MCAyMDAzLy8KL3JlZ3MuaC8xLjIxL01vbiBKYW4gMTkgMDk6NTE6MDkgMjAwNC8vCi9zMmlvLmMv MS44OC9Nb24gSmFuIDE5IDIxOjEyOjQ0IDIwMDQvLwovczJpby5oLzEuNTMvVHVlIEphbiAyMCAw NToxNjowMSAyMDA0Ly8KL3N5c2N0bF94ZnJhbWUuY29uZi8xLjIvTW9uIEphbiAxOSAxODozNjoy MSAyMDA0Ly8KL3RhZ3MvMS4xMC9UdWUgSmFuIDEzIDEzOjEzOjE1IDIwMDQvLwovdHVuZV9kcml2 ZXIvMS4xL1R1ZSBKYW4gIDYgMjI6NDY6NDggMjAwNC8vCi91dGlsLmMvMS4xMi9UdWUgTm92ICA0 IDAyOjEwOjE0IDIwMDMvLwovdXRpbC5oLzEuNS9Nb24gRGVjICAxIDIyOjAzOjIzIDIwMDMvLwpE CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi9zMmlvLm1v ZC5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAwMDAw ADAwMDAwMDA1MTQ0ADEwMDAzMzYzNjE2ADAxMTUxMgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjaW5jbHVkZSA8 bGludXgvbW9kdWxlLmg+CiNpbmNsdWRlIDxsaW51eC92ZXJtYWdpYy5oPgojaW5jbHVkZSA8bGlu dXgvY29tcGlsZXIuaD4KCk1PRFVMRV9JTkZPKHZlcm1hZ2ljLCBWRVJNQUdJQ19TVFJJTkcpOwoK c3RhdGljIGNvbnN0IHN0cnVjdCBtb2R2ZXJzaW9uX2luZm8gX19fX3ZlcnNpb25zW10KX19hdHRy aWJ1dGVfXygoc2VjdGlvbigiX192ZXJzaW9ucyIpKSkgPSB7Cgl7IDB4MTM2MDUwM2IsICJzdHJ1 Y3RfbW9kdWxlIiB9LAoJeyAweDMyMDkzY2M3LCAiX191ZGl2ZGkzIiB9LAoJeyAweDRhNTQxZTJh LCAiX191bW9kZGkzIiB9LAoJeyAweDk4N2ZiNWFlLCAicGNpX3VucmVnaXN0ZXJfZHJpdmVyIiB9 LAoJeyAweGVkOWU1ODg5LCAicGNpX3JlZ2lzdGVyX2RyaXZlciIgfSwKCXsgMHhkMGRhYmIwMiwg ImZyZWVfbmV0ZGV2IiB9LAoJeyAweDNlMTc1YTA5LCAidW5yZWdpc3Rlcl9uZXRkZXYiIH0sCgl7 IDB4MWExMmI5YmIsICJwY2lfc2F2ZV9zdGF0ZSIgfSwKCXsgMHgxYmJlYzM2LCAicGNpX3JlbGVh c2VfcmVnaW9ucyIgfSwKCXsgMHhjN2VmMjg1ZCwgInBjaV9kaXNhYmxlX2RldmljZSIgfSwKCXsg MHhhMmFiMTllZiwgInJlZ2lzdGVyX25ldGRldiIgfSwKCXsgMHhlOTE0ZTQxZSwgInN0cmNweSIg fSwKCXsgMHg5M2JhMzM5MCwgInBjaV9zZXRfbWFzdGVyIiB9LAoJeyAweDQwOWEwNjEyLCAiYWxs b2NfZXRoZXJkZXYiIH0sCgl7IDB4YzA1Y2YyODksICJwY2lfcmVxdWVzdF9yZWdpb25zIiB9LAoJ eyAweDkxMmZmNWJjLCAicGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrIiB9LAoJeyAweGQ2ZGYw ZDZkLCAicGNpX3NldF9kbWFfbWFzayIgfSwKCXsgMHhmZWNkMDFiYSwgInBjaV9lbmFibGVfZGV2 aWNlIiB9LAoJeyAweGEyMjJjMzU5LCAicGNpX2J1c193cml0ZV9jb25maWdfYnl0ZSIgfSwKCXsg MHhmNThlYmRkMywgInBjaV9idXNfcmVhZF9jb25maWdfd29yZCIgfSwKCXsgMHgxMThhYWY1MCwg Il9fbmV0ZGV2X3dhdGNoZG9nX3VwIiB9LAoJeyAweGM5ZjYxZmY3LCAibGlua3dhdGNoX2ZpcmVf ZXZlbnQiIH0sCgl7IDB4ZDhhODlkYWMsICJuZXRpZl9yeCIgfSwKCXsgMHg4NjQ0NWFlZCwgImV0 aF90eXBlX3RyYW5zIiB9LAoJeyAweDhjZTE2YjNmLCAiX19rbWFsbG9jIiB9LAoJeyAweDM3YTBj YmEsICJrZnJlZSIgfSwKCXsgMHg2NWQwNzFhMiwgImttZW1fY2FjaGVfYWxsb2MiIH0sCgl7IDB4 NjExNmI1ZGQsICJtYWxsb2Nfc2l6ZXMiIH0sCgl7IDB4NjA2N2ExNDYsICJtZW1jcHkiIH0sCgl7 IDB4ZTUyNmYxMzYsICJfX2NvcHlfdXNlciIgfSwKCXsgMHhmNTU3MmE2NywgImRldl9yZW1vdmVf cGFjayIgfSwKCXsgMHg3NjczN2I1MCwgInNrYl9vdmVyX3BhbmljIiB9LAoJeyAweDg1M2EwNWFk LCAiZGV2X3F1ZXVlX3htaXQiIH0sCgl7IDB4YTVlY2Y5OWQsICJkZXZfYWRkX3BhY2siIH0sCgl7 IDB4ZTg3MzU4YzksICJwY2lfYnVzX3dyaXRlX2NvbmZpZ193b3JkIiB9LAoJeyAweGVhOWRkNTlh LCAicGNpX2J1c19yZWFkX2NvbmZpZ19ieXRlIiB9LAoJeyAweDM5MjFhNGZhLCAiZGVsX3RpbWVy X3N5bmMiIH0sCgl7IDB4ZDYyYzgzM2YsICJzY2hlZHVsZV90aW1lb3V0IiB9LAoJeyAweDQ0NTI0 NjQwLCAibW9kX3RpbWVyIiB9LAoJeyAweDdlYzliZmJjLCAic3RybmNweSIgfSwKCXsgMHhmOWM1 ODI4MSwgIl9fdGFza2xldF9zY2hlZHVsZSIgfSwKCXsgMHg5YzU2MzEyNywgIm1lbV9tYXAiIH0s Cgl7IDB4ZjIwZGFiZDgsICJmcmVlX2lycSIgfSwKCXsgMHg3NGUwNWQ4YywgInRhc2tsZXRfa2ls bCIgfSwKCXsgMHg2OTU3NWJjYywgInRhc2tsZXRfaW5pdCIgfSwKCXsgMHg1MTJmMTFiMCwgInJl cXVlc3RfaXJxIiB9LAoJeyAweGM3Yjk1NWE4LCAicGNpX3Jlc3RvcmVfc3RhdGUiIH0sCgl7IDB4 Njg3NjU4MWIsICJyYWlzZV9zb2Z0aXJxX2lycW9mZiIgfSwKCXsgMHg0YWJmMzY5ZiwgInBlcl9j cHVfX3NvZnRuZXRfZGF0YSIgfSwKCXsgMHg0ZGNlMTIxMywgInNiYV91bm1hcF9zaW5nbGUiIH0s Cgl7IDB4YTUxYjEwODQsICJzYmFfbWFwX3NpbmdsZSIgfSwKCXsgMHg5MDAxYWI1YiwgImFsbG9j X3NrYiIgfSwKCXsgMHg0YTIxYzY0NSwgIl9fa2ZyZWVfc2tiIiB9LAoJeyAweDU1M2UzZmY3LCAi aWE2NF9zcGlubG9ja19jb250ZW50aW9uX3ByZTNfNCIgfSwKCXsgMHhkYTAyZDY3LCAiamlmZmll cyIgfSwKCXsgMHhhNGFkNGMzMSwgInBlcl9jcHVfX2NwdV9pbmZvIiB9LAoJeyAweDgzMjBiZWE4 LCAiX191bW9kc2kzIiB9LAoJeyAweGZiN2Q5YzQ1LCAiX191ZGl2c2kzIiB9LAoJeyAweGUyZDBl MTRkLCAic2JhX2ZyZWVfY29oZXJlbnQiIH0sCgl7IDB4ODI3ZDU4MDcsICJwcmludGsiIH0sCgl7 IDB4M2ZhMDNhOTcsICJtZW1zZXQiIH0sCgl7IDB4YTdlNTNkYmQsICJzYmFfYWxsb2NfY29oZXJl bnQiIH0sCgl7IDB4NTk0ZTEzMTcsICJfX21vZHNpMyIgfSwKfTsKCnN0YXRpYyBjb25zdCBjaGFy IF9fbW9kdWxlX2RlcGVuZHNbXQpfX2F0dHJpYnV0ZV91c2VkX18KX19hdHRyaWJ1dGVfXygoc2Vj dGlvbigiLm1vZGluZm8iKSkpID0KImRlcGVuZHM9IjsKCk1PRFVMRV9BTElBUygicGNpOnYwMDAw MTdENWQwMDAwNTczMXN2KnNkKmJjKnNjKmkqIik7Ck1PRFVMRV9BTElBUygicGNpOnYwMDAwMTdE NWQwMDAwNTgzMXN2KnNkKmJjKnNjKmkqIik7CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL01ha2VmaWxlAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAw MDQwNjUAMDc3NDA2MDAwMDEAMDExMzUxACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMhL3Vzci9iaW4vbWFrZQoj IE1ha2VmaWxlIGZvciBidWlsZGluZyBMaW51eCBTMmlvIDEwR2lnYWJpdCBldGhlcm5ldCBkcml2 ZXIgYXMgYSBtb2R1bGUuCgojIFBSRUZJWCBtYXkgYmUgc2V0IGJ5IHRoZSBSUE0gYnVpbGQgdG8g c2V0IHRoZSBlZmZlY3RpdmUgcm9vdC4KUFJFRklYPQppZmVxICgkKHNoZWxsIGxzIC9saWIvbW9k dWxlcy9gdW5hbWUgLXJgL2J1aWxkID4gL2Rldi9udWxsIDI+JjEgJiYgZWNobyBidWlsZCksKQog IGlmZXEgKCQoc2hlbGwgbHMgL3Vzci9zcmMvbGludXggPiAvZGV2L251bGwgMj4mMSAmJiBlY2hv IGxpbnV4KSwpCiAgICBMSU5VWD0KICBlbHNlCiAgICBMSU5VWD0vdXNyL3NyYy9saW51eAogIGVu ZGlmCmVsc2UKICBMSU5VWD0vbGliL21vZHVsZXMvYHVuYW1lIC1yYC9idWlsZAplbmRpZgoKaWZl cSAoJChMSU5VWCksKQogICQoZXJyb3IgTGludXgga2VybmVsIHNvdXJjZSB0cmVlIG5vdCBmb3Vu ZCkKZW5kaWYKCkNDID0gZ2NjCkxEID0gbGQKCgpJTkNMVURFRElSOj0kKHNoZWxsIHVuYW1lIC1y IHwgc2VkICdzL1woWzAtOV0qXC5bMC05XSpcKVwuLiovXDEvJykKCkFSQ0g6PSQoc2hlbGwgdW5h bWUgLW0pCgppZmVxICgkKElOQ0xVREVESVIpLDIuNikKCmlmbmVxICgkKEtFUk5FTFJFTEVBU0Up LCApCm9iai1tIDo9IHMyaW8ubwoKZWxzZQpLRElSIDo9IC9saWIvbW9kdWxlcy8kKHNoZWxsIHVu YW1lIC1yKS9idWlsZApQV0QgOj0gJChzaGVsbCBwd2QpCmRlZmF1bHQ6CglAZWNobyBCdWlsZCBv biBMaW51eC0kKElOQ0xVREVESVIpOwoJJChNQUtFKSAtQyAkKEtESVIpIFNVQkRJUlM9JChQV0Qp IG1vZHVsZXMKZW5kaWYKZW5kaWYKCmlmZXEgKCQoSU5DTFVERURJUiksMi40KQojIERlZmF1bHQg ZmxhZ3MgZm9yIGlhNjQsIGFscGhhLCB4ODZfNjQsIGk2ODYgJiBwcGM2NApDRkxBR1M9IC1ETU9E VUxFIC1EX19LRVJORUxfXyAtSS91c3Ivc3JjL2xpbnV4LSQoSU5DTFVERURJUikvaW5jbHVkZSAt V2FsbFwKIC1Xc3RyaWN0LXByb3RvdHlwZXMgLU82IAoKaWZlcSAoJChBUkNIKSxhbHBoYSkKQ0ZM QUdTKz0tZmZpeGVkLTggLW1uby1mcC1yZWdzIC1waXBlIC1PMgplbmRpZgoKaWZlcSAoJChBUkNI KSxwcGM2NCkKQ0MgPSAvb3B0L2Nyb3NzL2Jpbi9wb3dlcnBjNjQtbGludXgtZ2NjCkxEID0gL29w dC9jcm9zcy9iaW4vcG93ZXJwYzY0LWxpbnV4LWxkCmVuZGlmCgppZmVxICgkKEFSQ0gpLGlhNjQp CmVuZGlmCgppZmVxICgkKEFSQ0gpLHg4Nl82NCkKQ0ZMQUdTKz0gLW1jbW9kZWw9a2VybmVsCmVu ZGlmCgojaWZlcSAoJChBUkNIKSxpNjg2KQojZW5kaWYKCmFsbDogczJpby5vCglAZWNobyBCdWls ZCBvbiBMaW51eC0kKElOQ0xVREVESVIpOwoJCnMyaW8ubzogczJpby5oCgppbnN0YWxsOiBzMmlv Lm8KCUBlY2hvIEluc3RhbGwgb24gTGludXgtJChJTkNMVURFRElSKTsKCUBpZiBbIC1kICQoUFJF RklYKS9saWIvbW9kdWxlcy9gdW5hbWUgLXJgL2tlcm5lbC9kcml2ZXJzL25ldC9zMmlvIF07XAoJ dGhlbiBpbnN0YWxsIC1tIDQ0NCBzMmlvLm8gJChQUkVGSVgpL2xpYi9tb2R1bGVzL2B1bmFtZSAt cmAva2VybmVsL2RyaXZlcnMvbmV0L3MyaW87XAoJZWxpZiBbIC1kICQoUFJFRklYKS9saWIvbW9k dWxlcy9gdW5hbWUgLXJgL2tlcm5lbC9kcml2ZXJzL25ldCBdO1wKCXRoZW4gaW5zdGFsbCAtbSA0 NDQgczJpby5vICQoUFJFRklYKS9saWIvbW9kdWxlcy9gdW5hbWUgLXJgL2tlcm5lbC9kcml2ZXJz L25ldDtcCglmaQoJQGlmIFsgIiQoUFJFRklYKSIgPSAiIiBdOyB0aGVuIC9zYmluL2RlcG1vZCAt YSA7XAoJZWxzZSBlY2hvICIgKioqIFJ1biAnL3NiaW4vZGVwbW9kIC1hJyB0byB1cGRhdGUgdGhl IG1vZHVsZSBkYXRhYmFzZS4iO1wKCWZpCgouUEhPTkVZOiBhbGwgY2xlYW4gaW5zdGFsbAoKZW5k aWYKCmNsZWFuOgoJQGVjaG8gQ2xlYW4gb24gTGludXgtJChJTkNMVURFRElSKTsKCUBpZiBbICIk KElOQ0xVREVESVIpIiA9ICIyLjQiIF07IHRoZW4gL2Jpbi9ybSAtZiBzMmlvLm87XAoJZWxpZiBb ICIkKElOQ0xVREVESVIpIiA9ICIyLjYiIF07IHRoZW4gL2Jpbi9ybSAtZiBzMmlvLm8gczJpby5t b2QuYyBzMmlvLm1vZC5vIHMyaW8ua287XAoJZmkKIAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL1JFQURNRS50eHQAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDQ2MzEA MDc3NjMxNzE0NzQAMDExNDM0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEuIElmIGp1bWJvIGZyYW1lcyBhcmUg YmVpbmcgdXNlZCwgd2l0aCBNVFUgc2l6ZXMgaW4gZXhjZXNzIG9mIDE1MDAgYnl0ZXMgdGhlIA0K VHgvUnggc2lkZSBjb2FsZXNjaW5nIGhhcyB0byBiZSB2YXJpZWQuIA0KRm9yIGFuIE1UVSBzaXpl IG9mIDk2MDAgdGhlIGNvYWxlc2NpbmcgcGFyYW1ldGVzIHdoaWNoIGNhbiBiZSB1c2VkIGFyZSwN Cg0KRm9yIFR4IGludGVycnVwdHMuDQoNCgklIEJhbmR3aWR0aCB1c2VkCU5vIG9mIFBhY2tldHMg cGVyIGludGVycnVwdC4NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KaS4JMCAtIDEwCQkJCTENCmlpLgkxMCAtIDE1CQkJCTINCmlp aS4JMTUgLSA0MAkJCQkyDQppdi4JNDAgLSAxMDAJCQk0DQoNCkZvciBSeCBzaWRlLA0KDQoJJSBC YW5kd2lkdGggdXNlZAlObyBvZiBQYWNrZXRzIHBlciBpbnRlcnJ1cHQuDQotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCmkuIAkwIC0g MTAJCQkJMQ0KaWkuIAkxMCAtIDE1CQkJCTINCmlpaS4gCTE1IC0gNDAJCQkJNA0KaXYuIAk0MCAt IDEwMAkJCTgNCg0KMi4gVGhlIFV0aWwgaXMgYSB1dGlsaXR5IHRoYXQgY2FuIGJlIHVzZWQgdG8g bG9vayBpbnRvIHRoZSBSZWdpc3RlciBzcGFjZSBvZiB0aGUgTklDIGFuZCBhbHNvIHRvIGR1bXAg c29tZSBkYXRhIGZyb20gdGhlIGRyaXZlci4gVGhlIHV0aWwuYyBiYXNpY2FsbHkgbWFrZXMgDQpJ T0NUTCBjYWxscyB0byB0aGUgZGV2aWNlIHRvIGV4dHJhY3QgdGhpcyBpbmZvLCBzbyB0aGUgZGV2 aWNlIG5hbWUgdmFyaWFibGUgaW4gDQp0aGUgY29kZSBoYXMgdG8gYmUgY2hhbmdlZCBhcHByb3By aWF0ZWx5IGFuZCByZWNvbXBpbGVkICh1c2luZyBiZCBzY3JpcHQpIA0KYmVmb3JlIHVzaW5nIHRo aXMgdG9vbC4NCg0KMy4gV2hlbiBsb2FkZWQgYXMgYSBtb2R1bGUsIHRoZSBkcml2ZXIgcHJvdmlk ZXMgYSBob3N0IG9mIE1vZHVsZSBsb2FkYWJsZQ0KcGFyYW1ldGVycywgc28gdGhlIGRldmljZSBj YW4gYmUgdHVuZWQgYXMgcGVyIHRoZSB1c2VycyBuZWVkcy4NCkEgbGlzdCBvZiB0aGUgTW9kdWxl IHBhcmFtcyBpcyBnaXZlbiBiZWxvdy4NCgkoaSkJCXJpbmdfbnVtOiBUaGlzIGNhbiBiZSB1c2Vk IHRvIHByb2dyYW0gdGhlIG51bWJlciBvZiByZWNlaXZlIA0KCQkJcmluZ3MgdXNlZCBpbiB0aGUg ZHJpdmVyLg0KCShpaSkJcmluZ19sZW46IFRoaXMgZGVmaW5lcyB0aGUgbnVtYmVyIG9mIGRlc2Ny aXB0b3JzIGVhY2ggcmluZyBjYW4gaGF2ZS4NCgkJCVRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2Yg OCByaW5ncy4NCgkoaWlpKQlmcmFtZV9sZW46IFRoaXMgaXMgYW4gYXJyYXkgb2Ygc2l6ZSA4LiBV c2luZyB0aGlzIHdlIGNhbiBzZXQgdGhlIA0KCQkJbWF4aW11bSBzaXplIG9mIHRoZSByZWNlaXZl ZCBmcmFtZSB0aGF0IGNhbiBiZSBzdGVlcmVkIA0KIAkJCWludG8gdGhlIGNvcnJzcG9uZGluZyBy ZWNlaXZlIHJpbmcuCQ0KICAJKGl2KQlmaWZvX251bTogVGhpcyBkZWZpbmVzIHRoZSBudW1iZXIg b2YgVHggRklGT3MgdGhhdHMgdXNlZCBpbiB0aGUgDQoJCQlkcml2ZXIuIA0KIAkodikJCWZpZm9f bGVuOiBFYWNoIGVsZW1lbnQgZGVmaW5lcyB0aGUgbnVtYmVyIG9mIA0KIAkJCVR4IGRlc2NyaXB0 b3JzIHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGNvcnJlc3BvbmRpbmcgRklGTy4N CgkJCVRoZXJlIGFyZSBhIG1heGltdW0gb2YgOCBGSUZPcy4NCgkodmkpCXR4X3ByaW86IFRoaXMg aXMgYSBib29sLCBpZiBtb2R1bGUgaXMgbG9hZGVkIHdpdGggYSBub24temVybw0KCQkJdmFsdWUg Zm9yIHR4X3ByaW8gbXVsdGkgRklGTyBzY2hlbWUgaXMgYWN0aXZhdGVkLg0KCSh2aWkpCXJ4X3By aW86IFRoaXMgaXMgYSBib29sLCBpZiBtb2R1bGUgaXMgbG9hZGVkIHdpdGggYSBub24temVybw0K CQkJdmFsdWUgZm9yIHR4X3ByaW8gbXVsdGkgUklORyBzY2hlbWUgaXMgYWN0aXZhdGVkLg0KCSh2 aWlpKQlsYXRlbmN5X3RpbWVyOiBUaGUgdmFsdWUgZ2l2ZW4gYWdhaW5zdCB0aGlzIHBhcmFtIHdp bGwgYmUgbG9hZGVkDQoJCQlpbnRvIHRoZSBsYXRlbmN5IHRpbWVyIHJlZ2lzdGVyIGluIFBDSSBD b25maWcgc3BhY2UsIGVsc2UNCgkJCXRoZSByZWdpc3RlciBpcyBsZWZ0IHdpdGggaXRzIHJlc2V0 IHZhbHVlLg0KDQpCVUlMRCBJTlNUUlVDVElPTlMuDQpBIG1ha2UgZmlsZSBpcyBwcm92aWRlZC4g IEl0IHdpbGwgZGV0ZWN0IElBMzIsSUE2NCxPcHRlcm9uLFBPV0VSUEMtNjQgDQpwbGF0Zm9ybXMu IEl0IGNhbiBhbHNvIGRldGVjdCAyLjQvMi42IGtlcm5lbCB2ZXJzaW9ucy4gUGxlYXNlIG5vdGUs IGZvciAyLjQNCmtlcm5lbCwgeW91IG5lZWQgdG8gbG9hZCAiczJpby5vIiBhbmQgZm9yIDIuNiBw bGF0Zm9ybXMgeW91IG5lZWQgdG8gbG9hZA0KInMyaW8ua28iLiANCgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL2dldHJ4ZAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDAxMzQAMDc3NTY2 MTIwNzEAMDExMTQzACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4vdXRpbCA0CmhleGR1bXAgLUN2IC90bXAvZHVt cCA+IC90bXAvcnhkCnZpIC90bXAvcnhkCmVjaG8gImhlbGxvIgplY2hvICJ0ZXN0IgplY2hvICJ0 ZXN0MSIKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi9nZXRzdGF0AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDAwMDczADA3NjcyNDA0 NjYxADAxMTMyNAAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1 c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLi91dGlsIDIKaGV4ZHVtcCAtQyAtdiAvdG1wL2R1 bXAgPiAvdG1wL3N0YXQKdmkgL3RtcC9zdGF0CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4vZ2V0dHhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMDA3MAAwNzY3MjQwNDY2 MQAwMTExNDUAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0 YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi91dGlsIDEKaGV4ZHVtcCAtQyAtdiAvdG1wL2R1bXAg PiAvdG1wL3R4ZAp2aSAvdG1wL3R4ZAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL3JlZ2R1bXAuYwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDA1MDMAMDc3NTE2MDQ2NjAA MDExNTMyACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFy ICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAACNpbmNsdWRlIDxzdGRpby5oPgoKaW50IG1haW4odm9pZCkK ewoJY2hhciBjbWRbMjBdOwoJaW50IHJlZz0wLCByZWdfY250ID0gMHgzODAwOwoJbWVtc2V0KGNt ZCwwLDIwKTsKCglmb3IocmVnPTA7IHJlZzxyZWdfY250OyByZWcgKz0gOCkgewoJCXNwcmludGYo Y21kLCIuL3V0aWwgNiAleCIscmVnKTsKCQlzeXN0ZW0oY21kKTsKCX0KCglyZXR1cm4gMDsKfQov KgogKiRMb2c6IHJlZ2R1bXAuYyx2ICQKICpSZXZpc2lvbiAxLjIgIDIwMDMvMTEvMDQgMDI6MDY6 NDAgIHVraXJhbgogKkJ1Zzo0ODQKICpFbmFibGluZyBMb2dzIGluIHNvdXJjZSBjb2RlCiAqCiAq LwoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAALi9yZWdzLmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDY2MDUwADEwMDAyNzI0MjE1ADAx MTAyMwAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAg AHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqIHJlZ3MuaDogQSBMaW51eCBQ Q0ktWCBFdGhlcm5ldCBkcml2ZXIgZm9yIFMySU8gMTBHYkUgU2VydmVyIE5JQwogKiBDb3B5cmln aHQgMjAwMiBSYWdoYXZlbmRyYSBLb3VzaGlrIChyYWdoYXZlbmRyYS5rb3VzaGlrQHMyaW8uY29t KQoKICogVGhpcyBzb2Z0d2FyZSBtYXkgYmUgdXNlZCBhbmQgZGlzdHJpYnV0ZWQgYWNjb3JkaW5n IHRvIHRoZSB0ZXJtcyBvZgogKiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCks IGluY29ycG9yYXRlZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgogKiBEcml2ZXJzIGJhc2VkIG9uIG9y IGRlcml2ZWQgZnJvbSB0aGlzIGNvZGUgZmFsbCB1bmRlciB0aGUgR1BMIGFuZCBtdXN0CiAqIHJl dGFpbiB0aGUgYXV0aG9yc2hpcCwgY29weXJpZ2h0IGFuZCBsaWNlbnNlIG5vdGljZS4gIFRoaXMg ZmlsZSBpcyBub3QKICogYSBjb21wbGV0ZSBwcm9ncmFtIGFuZCBtYXkgb25seSBiZSB1c2VkIHdo ZW4gdGhlIGVudGlyZSBvcGVyYXRpbmcKICogc3lzdGVtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBH UEwuCiAqIFNlZSB0aGUgZmlsZSBDT1BZSU5HIGluIHRoaXMgZGlzdHJpYnV0aW9uIGZvciBtb3Jl IGluZm9ybWF0aW9uLgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwojaWZuZGVmIF9SRUdTX0gKI2RlZmluZSBf UkVHU19ICgojZGVmaW5lIFRCRCAwCgp0eXBlZGVmIHN0cnVjdCBfWEVOQV9kZXZfY29uZmlnIAp7 Ci8qIENvbnZlbnRpb246IG1IQUxfWFhYIGlzIG1hc2ssIHZIQUxfWFhYIGlzIHZhbHVlICovCgov KiBHZW5lcmFsIENvbnRyb2wtU3RhdHVzIFJlZ2lzdGVycyAqLwogICAgdTY0IGdlbmVyYWxfaW50 X3N0YXR1czsKI2RlZmluZSBHRU5fSU5UUl9UWFBJQyAgICAgICAgICAgICBCSVQoMCkKI2RlZmlu ZSBHRU5fSU5UUl9UWERNQSAgICAgICAgICAgICBCSVQoMSkKI2RlZmluZSBHRU5fSU5UUl9UWE1B QyAgICAgICAgICAgICBCSVQoMikKI2RlZmluZSBHRU5fSU5UUl9UWFhHWFMgICAgICAgICAgICBC SVQoMykKI2RlZmluZSBHRU5fSU5UUl9UWFRSQUZGSUMgICAgICAgICBCSVQoOCkKI2RlZmluZSBH RU5fSU5UUl9SWFBJQyAgICAgICAgICAgICBCSVQoMzIpCiNkZWZpbmUgR0VOX0lOVFJfUlhETUEg ICAgICAgICAgICAgQklUKDMzKQojZGVmaW5lIEdFTl9JTlRSX1JYTUFDICAgICAgICAgICAgIEJJ VCgzNCkKI2RlZmluZSBHRU5fSU5UUl9NQyAgICAgICAgICAgICAgICBCSVQoMzUpCiNkZWZpbmUg R0VOX0lOVFJfUlhYR1hTICAgICAgICAgICAgQklUKDM2KQojZGVmaW5lIEdFTl9JTlRSX1JYVFJB RkZJQyAgICAgICAgIEJJVCg0MCkKI2RlZmluZSBHRU5fRVJST1JfSU5UUiAgICAgICAgICAgICBH RU5fSU5UUl9UWFBJQyB8IEdFTl9JTlRSX1JYUElDIHwgXAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdFTl9JTlRSX1RYRE1BIHwgR0VOX0lOVFJfUlhETUEgfCBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VOX0lOVFJfVFhNQUMgfCBHRU5fSU5UUl9SWE1B QyB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU5fSU5UUl9UWFhHWFN8 IEdFTl9JTlRSX1JYWEdYU3wgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdF Tl9JTlRSX01DIAoKICAgIHU2NCBnZW5lcmFsX2ludF9tYXNrOwoKICAgIHU4CXVudXNlZDBbMHgx MDAgLSAweDEwXTsKCiAgICB1NjQgc3dfcmVzZXQ7Ci8qIFhHWFMgbXVzdCBiZSByZW1vdmVkIGZy b20gcmVzZXQgb25seSBvbmNlLiAqLwojZGVmaW5lIFNXX1JFU0VUX1hFTkEgICAgICAgICAgICAg IHZCSVQoMHhBNSwwLDgpCiNkZWZpbmUgU1dfUkVTRVRfRkxBU0ggICAgICAgICAgICAgdkJJVCgw eEE1LDgsOCkKI2RlZmluZSBTV19SRVNFVF9FT0kgICAgICAgICAgICAgICB2QklUKDB4QTUsMTYs OCkKI2RlZmluZSBTV19SRVNFVF9BTEwgICAgICAgICAgICAgICAoU1dfUkVTRVRfWEVOQSAgICAg fCAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1dfUkVTRVRfRkxBU0gg ICAgfCAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1dfUkVTRVRfRU9J KQojZGVmaW5lCVNXX1JFU0VUX1JBV19WQUwJCQkweEE1MDAwMDAwCS8qIFRoZSBTV19SRVNFVCBy ZWdpc3RlciBtdXN0IAoJCQkJCQkJCQkJCQlyZWFkIHRoaXMgdmFsdWUgYWZ0ZXIgYSAKCQkJCQkJ CQkJCQkJc3VjY2Vzc2Z1bCByZXNldC4gKi8KCQkJCQkJCQkJCQkJCgogICAgdTY0IGFkYXB0ZXJf c3RhdHVzOwojZGVmaW5lIEFEQVBURVJfU1RBVFVTX1RETUFfUkVBRFkgICAgICAgICAgQklUKDAp CiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfUkRNQV9SRUFEWSAgICAgICAgICBCSVQoMSkKI2RlZmlu ZSBBREFQVEVSX1NUQVRVU19QRkNfUkVBRFkgICAgICAgICAgIEJJVCgyKQojZGVmaW5lIEFEQVBU RVJfU1RBVFVTX1RNQUNfQlVGX0VNUFRZICAgICAgQklUKDMpCiNkZWZpbmUgQURBUFRFUl9TVEFU VVNfUElDX1FVSUVTQ0VOVCAgICAgICBCSVQoNSkKI2RlZmluZSBBREFQVEVSX1NUQVRVU19STUFD X1JFTU9URV9GQVVMVCAgIEJJVCg2KQojZGVmaW5lIEFEQVBURVJfU1RBVFVTX1JNQUNfTE9DQUxf RkFVTFQgICAgQklUKDcpCiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfUk1BQ19QQ0NfSURMRSAgICAg ICB2QklUKDB4RkYsOCw4KQojZGVmaW5lIEFEQVBURVJfU1RBVFVTX1JDX1BSQ19RVUlFU0NFTlQg ICAgdkJJVCgweEZGLDE2LDgpCiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfTUNfRFJBTV9SRUFEWSAg ICAgICBCSVQoMjQpCiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfTUNfUVVFVUVTX1JFQURZICAgICBC SVQoMjUpCiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfTV9QTExfTE9DSyAgICAgICAgICBCSVQoMzAp CiNkZWZpbmUgQURBUFRFUl9TVEFUVVNfUF9QTExfTE9DSyAgICAgICAgICBCSVQoMzEpCgogICAg dTY0IGFkYXB0ZXJfY29udHJvbDsKI2RlZmluZSBBREFQVEVSX0NOVExfRU4gICAgICAgICAgICAg ICAgICAgIEJJVCg3KQojZGVmaW5lIEFEQVBURVJfRU9JX1RYX09OICAgICAgICAgICAgICAgICAg QklUKDE1KQojZGVmaW5lIEFEQVBURVJfTEVEX09OICAgICAgICAgICAgICAgICAgICAgQklUKDIz KQojZGVmaW5lIEFEQVBURVJfVURQSSh2YWwpICAgICAgICAgICAgICAgICAgdkJJVCh2YWwsMzYs NCkKI2RlZmluZSBBREFQVEVSX1dBSVRfSU5UICAgICAgICAgICAgICAgICAgIEJJVCg0OCkKI2Rl ZmluZSBBREFQVEVSX0VDQ19FTiAgICAgICAgICAgICAgICAgICAgIEJJVCg1NSkKCiAgICB1NjQg c2Vycl9zb3VyY2U7CiNkZWZpbmUgU0VSUl9TT1VSQ0VfUElDCQkJCQlCSVQoMCkKI2RlZmluZSBT RVJSX1NPVVJDRV9UWERNQQkJCQlCSVQoMSkKI2RlZmluZSBTRVJSX1NPVVJDRV9SWERNQQkJCQlC SVQoMikKI2RlZmluZSBTRVJSX1NPVVJDRV9NQUMgICAgICAgICAgICAgICAgIEJJVCgzKQojZGVm aW5lIFNFUlJfU09VUkNFX01DICAgICAgICAgICAgICAgICAgQklUKDQpCiNkZWZpbmUgU0VSUl9T T1VSQ0VfWEdYUyAgICAgICAgICAgICAgICBCSVQoNSkKI2RlZmluZQlTRVJSX1NPVVJDRV9BTlkJ CQkJCShTRVJSX1NPVVJDRV9QSUMJCXwgXAoJCQkJCQkJCQkJU0VSUl9TT1VSQ0VfVFhETUEJfCBc CgkJCQkJCQkJCQlTRVJSX1NPVVJDRV9SWERNQQl8IFwKCQkJCQkJCQkJCVNFUlJfU09VUkNFX01B QwkJfCBcCgkJCQkJCQkJCQlTRVJSX1NPVVJDRV9NQyAgICAgIHwgXAoJCQkJCQkJCQkJU0VSUl9T T1VSQ0VfWEdYUykKCQkJCQkKCiAgICB1OAl1bnVzZWRfMFsweDgwMC0weDEyMF07CgovKiBQQ0kt WCBDb250cm9sbGVyIHJlZ2lzdGVycyAqLwogICAgdTY0IHBpY19pbnRfc3RhdHVzOwogICAgdTY0 IHBpY19pbnRfbWFzazsKI2RlZmluZSBQSUNfSU5UX1RYICAgICAgICAgICAgICAgICAgICAgQklU KDApCiNkZWZpbmUgUElDX0lOVF9GTFNIICAgICAgICAgICAgICAgICAgIEJJVCgxKQojZGVmaW5l IFBJQ19JTlRfTURJTyAgICAgICAgICAgICAgICAgICBCSVQoMikKI2RlZmluZSBQSUNfSU5UX0lJ QyAgICAgICAgICAgICAgICAgICAgQklUKDMpCiNkZWZpbmUgUElDX0lOVF9HUElPICAgICAgICAg ICAgICAgICAgIEJJVCg0KQojZGVmaW5lIFBJQ19JTlRfUlggICAgICAgICAgICAgICAgICAgICBC SVQoMzIpCgogICAgdTY0IHR4cGljX2ludF9yZWc7CiAgICB1NjQgdHhwaWNfaW50X21hc2s7CiNk ZWZpbmUgUENJWF9JTlRfUkVHX0VDQ19TR19FUlIgICAgICAgICAgICAgICAgQklUKDApCiNkZWZp bmUgUENJWF9JTlRfUkVHX0VDQ19EQl9FUlIgICAgICAgICAgICAgICAgQklUKDEpCiNkZWZpbmUg UENJWF9JTlRfUkVHX0ZMQVNIUl9SX0ZTTV9FUlIgICAgICAgICAgQklUKDgpCiNkZWZpbmUgUENJ WF9JTlRfUkVHX0ZMQVNIUl9XX0ZTTV9FUlIgICAgICAgICAgQklUKDkpCiNkZWZpbmUgUENJWF9J TlRfUkVHX0lOSV9UWF9GU01fU0VSUiAgICAgICAgICAgQklUKDEwKQojZGVmaW5lIFBDSVhfSU5U X1JFR19JTklfVFhPX0ZTTV9FUlIgICAgICAgICAgIEJJVCgxMSkKI2RlZmluZSBQQ0lYX0lOVF9S RUdfVFJUX0ZTTV9TRVJSICAgICAgICAgICAgICBCSVQoMTMpCiNkZWZpbmUgUENJWF9JTlRfUkVH X1NSVF9GU01fU0VSUiAgICAgICAgICAgICAgQklUKDE0KQojZGVmaW5lIFBDSVhfSU5UX1JFR19Q SUZSX0ZTTV9TRVJSICAgICAgICAgICAgIEJJVCgxNSkKI2RlZmluZSBQQ0lYX0lOVF9SRUdfV1JD X1RYX1NFTkRfRlNNX1NFUlIgICAgICBCSVQoMjEpCiNkZWZpbmUgUENJWF9JTlRfUkVHX1JSQ19U WF9SRVFfRlNNX1NFUlIgICAgICAgQklUKDIzKQojZGVmaW5lIFBDSVhfSU5UX1JFR19JTklfUlhf RlNNX1NFUlIgICAgICAgICAgIEJJVCg0OCkKI2RlZmluZSBQQ0lYX0lOVF9SRUdfUkFfUlhfRlNN X1NFUlIgICAgICAgICAgICBCSVQoNTApCi8qCiNkZWZpbmUgUENJWF9JTlRfUkVHX1dSQ19SWF9T RU5EX0ZTTV9TRVJSICAgICAgQklUKDUyKQojZGVmaW5lIFBDSVhfSU5UX1JFR19SUkNfUlhfUkVR X0ZTTV9TRVJSICAgICAgIEJJVCg1NCkKI2RlZmluZSBQQ0lYX0lOVF9SRUdfUlJDX1JYX1NQTElU X0ZTTV9TRVJSICAgICBCSVQoNTgpCiovCiAgICB1NjQgdHhwaWNfYWxhcm1zOwogICAgdTY0IHJ4 cGljX2ludF9yZWc7CiAgICB1NjQgcnhwaWNfaW50X21hc2s7CiAgICB1NjQgcnhwaWNfYWxhcm1z OwogICAgCiAgICB1NjQgZmxzaF9pbnRfcmVnOwogICAgdTY0IGZsc2hfaW50X21hc2s7CiNkZWZp bmUgUElDX0ZMU0hfSU5UX1JFR19DWUNMRV9GU01fRVJSICAgICAgICAgQklUKDYzKQojZGVmaW5l IFBJQ19GTFNIX0lOVF9SRUdfRVJSICAgICAgICAgICAgICAgICAgIEJJVCg2MikKICAgIHU2NCBm bGFzaF9hbGFybXM7CgogICAgdTY0IG1kaW9faW50X3JlZzsKICAgIHU2NCBtZGlvX2ludF9tYXNr OwojZGVmaW5lIE1ESU9fSU5UX1JFR19NRElPX0JVU19FUlIgICAgICAgICAgICAgIEJJVCgwKQoj ZGVmaW5lIE1ESU9fSU5UX1JFR19EVFhfQlVTX0VSUiAgICAgICAgICAgICAgIEJJVCg4KQojZGVm aW5lIE1ESU9fSU5UX1JFR19MQVNJICAgICAgICAgICAgICAgICAgICAgIEJJVCgzOSkKICAgIHU2 NCBtZGlvX2FsYXJtczsKICAgIAogICAgdTY0IGlpY19pbnRfcmVnOyAKICAgIHU2NCBpaWNfaW50 X21hc2s7IAojZGVmaW5lIElJQ19JTlRfUkVHX0JVU19GU01fRVJSICAgICAgICAgICAgICAgIEJJ VCg0KQojZGVmaW5lIElJQ19JTlRfUkVHX0JJVF9GU01fRVJSICAgICAgICAgICAgICAgIEJJVCg1 KQojZGVmaW5lIElJQ19JTlRfUkVHX0NZQ0xFX0ZTTV9FUlIgICAgICAgICAgICAgIEJJVCg2KQoj ZGVmaW5lIElJQ19JTlRfUkVHX1JFUV9GU01fRVJSICAgICAgICAgICAgICAgIEJJVCg3KQojZGVm aW5lIElJQ19JTlRfUkVHX0FDS19FUlIgICAgICAgICAgICAgICAgICAgIEJJVCg4KQogICAgdTY0 IGlpY19hbGFybXM7IAoKICAgIHU4CXVudXNlZDRbMHgwOF07CgogICAgdTY0IGdwaW9faW50X3Jl ZzsKICAgIHU2NCBncGlvX2ludF9tYXNrOwogICAgdTY0IGdwaW9fYWxhcm1zOwoKICAgIHU4CXVu dXNlZDVbMHgzOF07CgogICAgdTY0IHR4X3RyYWZmaWNfaW50OwojZGVmaW5lIFRYX1RSQUZGSUNf SU5UX24obikgICAgICAgICAgICAgICAgICAgIEJJVChuKQogICAgdTY0IHR4X3RyYWZmaWNfbWFz azsKCiAgICB1NjQgcnhfdHJhZmZpY19pbnQ7CiNkZWZpbmUgUlhfVFJBRkZJQ19JTlRfbihuKSAg ICAgICAgICAgICAgICAgICAgQklUKG4pCiAgICB1NjQgcnhfdHJhZmZpY19tYXNrOwoKLyogUElD IENvbnRyb2wgcmVnaXN0ZXJzICovCiAgICB1NjQgcGljX2NvbnRyb2w7CiNkZWZpbmUgUElDX0NO VExfUlhfQUxBUk1fTUFQXzEgICAgICAgICAgICAgICAgQklUKDApCiNkZWZpbmUgUElDX0NOVExf U0hBUkVEX1NQTElUUyhuKSAgICAgICAgICAgICAgdkJJVChuLDExLDQpCgogICAgdTY0IHN3YXBw ZXJfY3RybDsKI2RlZmluZSBTV0FQUEVSX0NUUkxfUElGX1JfRkUgICAgICAgICAgICAgICAgICBC SVQoMCkKI2RlZmluZSBTV0FQUEVSX0NUUkxfUElGX1JfU0UgICAgICAgICAgICAgICAgICBCSVQo MSkKI2RlZmluZSBTV0FQUEVSX0NUUkxfUElGX1dfRkUgICAgICAgICAgICAgICAgICBCSVQoOCkK I2RlZmluZSBTV0FQUEVSX0NUUkxfUElGX1dfU0UgICAgICAgICAgICAgICAgICBCSVQoOSkKI2Rl ZmluZSBTV0FQUEVSX0NUUkxfVFhQX0ZFICAgICAgICAgICAgICAgICAgICBCSVQoMTYpCiNkZWZp bmUgU1dBUFBFUl9DVFJMX1RYUF9TRSAgICAgICAgICAgICAgICAgICAgQklUKDE3KQojZGVmaW5l IFNXQVBQRVJfQ1RSTF9UWERfUl9GRSAgICAgICAgICAgICAgICAgIEJJVCgxOCkKI2RlZmluZSBT V0FQUEVSX0NUUkxfVFhEX1JfU0UgICAgICAgICAgICAgICAgICBCSVQoMTkpCiNkZWZpbmUgU1dB UFBFUl9DVFJMX1RYRF9XX0ZFICAgICAgICAgICAgICAgICAgQklUKDIwKQojZGVmaW5lIFNXQVBQ RVJfQ1RSTF9UWERfV19TRSAgICAgICAgICAgICAgICAgIEJJVCgyMSkKI2RlZmluZSBTV0FQUEVS X0NUUkxfVFhGX1JfRkUgICAgICAgICAgICAgICAgICBCSVQoMjIpCiNkZWZpbmUgU1dBUFBFUl9D VFJMX1RYRl9SX1NFICAgICAgICAgICAgICAgICAgQklUKDIzKQojZGVmaW5lIFNXQVBQRVJfQ1RS TF9SWERfUl9GRSAgICAgICAgICAgICAgICAgIEJJVCgzMikKI2RlZmluZSBTV0FQUEVSX0NUUkxf UlhEX1JfU0UgICAgICAgICAgICAgICAgICBCSVQoMzMpCiNkZWZpbmUgU1dBUFBFUl9DVFJMX1JY RF9XX0ZFICAgICAgICAgICAgICAgICAgQklUKDM0KQojZGVmaW5lIFNXQVBQRVJfQ1RSTF9SWERf V19TRSAgICAgICAgICAgICAgICAgIEJJVCgzNSkKI2RlZmluZSBTV0FQUEVSX0NUUkxfUlhGX1df RkUgICAgICAgICAgICAgICAgICBCSVQoMzYpCiNkZWZpbmUgU1dBUFBFUl9DVFJMX1JYRl9XX1NF ICAgICAgICAgICAgICAgICAgQklUKDM3KQojZGVmaW5lIFNXQVBQRVJfQ1RSTF9YTVNJX0ZFICAg ICAgICAgICAgICAgICAgIEJJVCg0MCkKI2RlZmluZSBTV0FQUEVSX0NUUkxfWE1TSV9TRSAgICAg ICAgICAgICAgICAgICBCSVQoNDEpCiNkZWZpbmUgU1dBUFBFUl9DVFJMX1NUQVRTX0ZFICAgICAg ICAgICAgICAgICAgQklUKDQ4KQojZGVmaW5lIFNXQVBQRVJfQ1RSTF9TVEFUU19TRSAgICAgICAg ICAgICAgICAgIEJJVCg0OSkKCiAgICB1NjQgcGlmX3JkX3N3YXBwZXJfZmI7CiNkZWZpbmUgSUZf UkRfU1dBUFBFUl9GQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxMjM0NTY3ODlBQkNE RUYKCiAgICB1NjQgc2NoZWR1bGVkX2ludF9jdHJsOwojZGVmaW5lIFNDSEVEX0lOVF9DVFJMX1RJ TUVSX0VOICAgICAgICAgICAgICAgIEJJVCgwKQojZGVmaW5lIFNDSEVEX0lOVF9DVFJMX09ORV9T SE9UICAgICAgICAgICAgICAgIEJJVCgxKQojZGVmaW5lIFNDSEVEX0lOVF9DVFJMX0lOVDJNU0kg ICAgICAgICAgICAgICAgIFRCRAojZGVmaW5lIFNDSEVEX0lOVF9QRVJJT0QgICAgICAgICAgICAg ICAgICAgICAgIFRCRAoKICAgIHU2NCB0eHJlcXRpbWVvdXQ7CiNkZWZpbmUgVFhSRVFUT19WQUwo dmFsKQkJCQkJCXZCSVQodmFsLDAsMzIpCiNkZWZpbmUgVFhSRVFUT19FTgkJCQkJCQkJQklUKDYz KQoKICAgIHU2NCBzdGF0c3JlcXRpbWVvdXQ7CiNkZWZpbmUgU1RBVFJFUVRPX1ZBTChuKSAgICAg ICAgICAgICAgICAgICAgICAgVEJECiNkZWZpbmUgU1RBVFJFUVRPX0VOICAgICAgICAgICAgICAg ICAgICAgICAgICAgQklUKDYzKQoKICAgIHU2NCByZWFkX3JldHJ5X2RlbGF5OwogICAgdTY0IHJl YWRfcmV0cnlfYWNjZWxlcmF0aW9uOwogICAgdTY0IHdyaXRlX3JldHJ5X2RlbGF5OwogICAgdTY0 IHdyaXRlX3JldHJ5X2FjY2VsZXJhdGlvbjsKCiAgICB1NjQgeG1zaV9jb250cm9sOwogICAgdTY0 IHhtc2lfYWNjZXNzOwogICAgdTY0IHhtc2lfYWRkcmVzczsKICAgIHU2NCB4bXNpX2RhdGE7Cgog ICAgdTY0IHJ4X21hdDsKCiAgICB1OAl1bnVzZWQ2WzB4OF07CgogICAgdTY0IHR4X21hdDBfNzsK ICAgIHU2NCB0eF9tYXQ4XzE1OwogICAgdTY0IHR4X21hdDE2XzIzOwogICAgdTY0IHR4X21hdDI0 XzMxOwogICAgdTY0IHR4X21hdDMyXzM5OwogICAgdTY0IHR4X21hdDQwXzQ3OwogICAgdTY0IHR4 X21hdDQ4XzU1OwogICAgdTY0IHR4X21hdDU2XzYzOwoKICAgIHU4CXVudXNlZF8xWzB4MTBdOwoK ICAgIC8qIEF1dG9tYXRlZCBzdGF0aXN0aWNzIGNvbGxlY3Rpb24gKi8KICAgIHU2NCBzdGF0X2Nm ZzsKI2RlZmluZSBTVEFUX0NGR19TVEFUX0VOICAgICAgICAgICBCSVQoMCkKI2RlZmluZSBTVEFU X0NGR19PTkVfU0hPVF9FTiAgICAgICBCSVQoMSkKI2RlZmluZSBTVEFUX0NGR19TVEFUX05TX0VO ICAgICAgICBCSVQoOCkKI2RlZmluZSBTVEFUX0NGR19TVEFUX1JPICAgICAgICAgICBCSVQoOSkK I2RlZmluZSBTVEFUX1RSU0ZfUEVSKG4pICAgICAgICAgICBUQkQKI2RlZmluZQlQRVJfU0VDCQkJ CQkgICAweDIwOGQ1CiNkZWZpbmUJU0VUX1VQRFRfUEVSSU9EKG4pCQkgICB2QklUKChQRVJfU0VD Km4pLDMyLDMyKQoKICAgIHU2NCBzdGF0X2FkZHI7CgogICAgLyogR2VuZXJhbCBDb25maWd1cmF0 aW9uICovCiAgICB1NjQgbWRpb19jb250cm9sOwoKICAgIHU2NCBkdHhfY29udHJvbDsKCiAgICB1 NjQgaTJjX2NvbnRyb2w7CiNkZWZpbmUJSTJDX0NPTlRST0xfREVWX0lEKGlkKQkJdkJJVChpZCwx LDMpCiNkZWZpbmUJSTJDX0NPTlRST0xfQUREUihhZGRyKQkJdkJJVChhZGRyLDUsMTEpCiNkZWZp bmUJSTJDX0NPTlRST0xfQllURV9DTlQoY250KQl2QklUKGNudCwyMiwyKQojZGVmaW5lCUkyQ19D T05UUk9MX1JFQUQJCQlCSVQoMjQpCiNkZWZpbmUJSTJDX0NPTlRST0xfTkFDSwkJCUJJVCgyNSkK I2RlZmluZQlJMkNfQ09OVFJPTF9DTlRMX1NUQVJUCQl2QklUKDB4RSwyOCw0KQojZGVmaW5lCUky Q19DT05UUk9MX0NOVExfRU5EKHZhbCkJKHZhbCAmIHZCSVQoMHgxLDI4LDQpKQojZGVmaW5lCUky Q19DT05UUk9MX0dFVF9EQVRBKHZhbCkJKHUzMikodmFsICYgMHhGRkZGRkZGRikKI2RlZmluZQlJ MkNfQ09OVFJPTF9TRVRfREFUQSh2YWwpCXZCSVQodmFsLDMyLDMyKQoKICAgIHU2NCBncGlvX2Nv bnRyb2w7CgogICAgdTgJdW51c2VkN1sweDYwMF07CgovKiBUeERNQSByZWdpc3RlcnMgKi8KICAg IHU2NCB0eGRtYV9pbnRfc3RhdHVzOwogICAgdTY0IHR4ZG1hX2ludF9tYXNrOwojZGVmaW5lIFRY RE1BX1BGQ19JTlQgICAgICAgICAgICAgICAgICBCSVQoMCkKI2RlZmluZSBUWERNQV9UREFfSU5U ICAgICAgICAgICAgICAgICAgQklUKDEpCiNkZWZpbmUgVFhETUFfUENDX0lOVCAgICAgICAgICAg ICAgICAgIEJJVCgyKQojZGVmaW5lIFRYRE1BX1RUSV9JTlQgICAgICAgICAgICAgICAgICBCSVQo MykKI2RlZmluZSBUWERNQV9MU09fSU5UICAgICAgICAgICAgICAgICAgQklUKDQpCiNkZWZpbmUg VFhETUFfVFBBX0lOVCAgICAgICAgICAgICAgICAgIEJJVCg1KQojZGVmaW5lIFRYRE1BX1NNX0lO VCAgICAgICAgICAgICAgICAgICBCSVQoNikKICAgIHU2NCBwZmNfZXJyX3JlZzsKICAgIHU2NCBw ZmNfZXJyX21hc2s7CiAgICB1NjQgcGZjX2Vycl9hbGFybTsKCiAgICB1NjQgdGRhX2Vycl9yZWc7 CiAgICB1NjQgdGRhX2Vycl9tYXNrOwogICAgdTY0IHRkYV9lcnJfYWxhcm07CiAgICAKICAgIHU2 NCBwY2NfZXJyX3JlZzsKICAgIHU2NCBwY2NfZXJyX21hc2s7CiAgICB1NjQgcGNjX2Vycl9hbGFy bTsKCiAgICB1NjQgdHRpX2Vycl9yZWc7CiAgICB1NjQgdHRpX2Vycl9tYXNrOwogICAgdTY0IHR0 aV9lcnJfYWxhcm07CgogICAgdTY0IGxzb19lcnJfcmVnOwogICAgdTY0IGxzb19lcnJfbWFzazsK ICAgIHU2NCBsc29fZXJyX2FsYXJtOwoKICAgIHU2NCB0cGFfZXJyX3JlZzsKICAgIHU2NCB0cGFf ZXJyX21hc2s7CiAgICB1NjQgdHBhX2Vycl9hbGFybTsKCiAgICB1NjQgc21fZXJyX3JlZzsKICAg IHU2NCBzbV9lcnJfbWFzazsKICAgIHU2NCBzbV9lcnJfYWxhcm07CgogICAgdTggdW51c2VkOFsw eDEwMC0weEI4XTsKCi8qIFR4RE1BIGFyYml0ZXIgKi8KICAgIHU2NCB0eF9kbWFfd3JhcF9zdGF0 OwoKLyogVHggRklGTyBjb250cm9sbGVyICovCiNkZWZpbmUgWF9NQVhfRklGT1MgICAgICAgICAg ICAgICAgICAgICAgICA4CiNkZWZpbmUgWF9GSUZPX01BWF9MRU4gICAgICAgICAgICAgICAgICAg ICAweDFGRkYgLyo4MTkxKi8KICAgIHU2NCB0eF9maWZvX3BhcnRpdGlvbl8wOwojZGVmaW5lIFRY X0ZJRk9fUEFSVElUSU9OX0VOICAgICAgICAgICAgICAgQklUKDApCiNkZWZpbmUgVFhfRklGT19Q QVJUSVRJT05fMF9QUkkodmFsKSAgICAgICB2QklUKHZhbCw1LDMpCiNkZWZpbmUgVFhfRklGT19Q QVJUSVRJT05fMF9MRU4odmFsKSAgICAgICB2QklUKHZhbCwxOSwxMykKI2RlZmluZSBUWF9GSUZP X1BBUlRJVElPTl8xX1BSSSh2YWwpICAgICAgIHZCSVQodmFsLDM3LDMpCiNkZWZpbmUgVFhfRklG T19QQVJUSVRJT05fMV9MRU4odmFsKSAgICAgICB2QklUKHZhbCw1MSwxMyAgKQoKICAgIHU2NCB0 eF9maWZvX3BhcnRpdGlvbl8xOwojZGVmaW5lIFRYX0ZJRk9fUEFSVElUSU9OXzJfUFJJKHZhbCkg ICAgICAgdkJJVCh2YWwsNSwzKQojZGVmaW5lIFRYX0ZJRk9fUEFSVElUSU9OXzJfTEVOKHZhbCkg ICAgICAgdkJJVCh2YWwsMTksMTMpCiNkZWZpbmUgVFhfRklGT19QQVJUSVRJT05fM19QUkkodmFs KSAgICAgICB2QklUKHZhbCwzNywzKQojZGVmaW5lIFRYX0ZJRk9fUEFSVElUSU9OXzNfTEVOKHZh bCkgICAgICAgdkJJVCh2YWwsNTEsMTMpCgogICAgdTY0IHR4X2ZpZm9fcGFydGl0aW9uXzI7CiNk ZWZpbmUgVFhfRklGT19QQVJUSVRJT05fNF9QUkkodmFsKSAgICAgICB2QklUKHZhbCw1LDMpCiNk ZWZpbmUgVFhfRklGT19QQVJUSVRJT05fNF9MRU4odmFsKSAgICAgICB2QklUKHZhbCwxOSwxMykK I2RlZmluZSBUWF9GSUZPX1BBUlRJVElPTl81X1BSSSh2YWwpICAgICAgIHZCSVQodmFsLDM3LDMp CiNkZWZpbmUgVFhfRklGT19QQVJUSVRJT05fNV9MRU4odmFsKSAgICAgICB2QklUKHZhbCw1MSwx MykKCiAgICB1NjQgdHhfZmlmb19wYXJ0aXRpb25fMzsKI2RlZmluZSBUWF9GSUZPX1BBUlRJVElP Tl82X1BSSSh2YWwpICAgICAgIHZCSVQodmFsLDUsMykKI2RlZmluZSBUWF9GSUZPX1BBUlRJVElP Tl82X0xFTih2YWwpICAgICAgIHZCSVQodmFsLDE5LDEzKQojZGVmaW5lIFRYX0ZJRk9fUEFSVElU SU9OXzdfUFJJKHZhbCkgICAgICAgdkJJVCh2YWwsMzcsMykKI2RlZmluZSBUWF9GSUZPX1BBUlRJ VElPTl83X0xFTih2YWwpICAgICAgIHZCSVQodmFsLDUxLDEzKQoKI2RlZmluZSBUWF9GSUZPX1BB UlRJVElPTl9QUklfMCAgICAgICAgICAgICAgICAgMCAvKiBoaWdoZXN0ICovCiNkZWZpbmUgVFhf RklGT19QQVJUSVRJT05fUFJJXzEgICAgICAgICAgICAgICAgIDEgCiNkZWZpbmUgVFhfRklGT19Q QVJUSVRJT05fUFJJXzIgICAgICAgICAgICAgICAgIDIgCiNkZWZpbmUgVFhfRklGT19QQVJUSVRJ T05fUFJJXzMgICAgICAgICAgICAgICAgIDMgCiNkZWZpbmUgVFhfRklGT19QQVJUSVRJT05fUFJJ XzQgICAgICAgICAgICAgICAgIDQgCiNkZWZpbmUgVFhfRklGT19QQVJUSVRJT05fUFJJXzUgICAg ICAgICAgICAgICAgIDUKI2RlZmluZSBUWF9GSUZPX1BBUlRJVElPTl9QUklfNiAgICAgICAgICAg ICAgICAgNgojZGVmaW5lIFRYX0ZJRk9fUEFSVElUSU9OX1BSSV83ICAgICAgICAgICAgICAgICA3 IC8qIGxvd2VzdCAqLwoKICAgIHU2NCB0eF93X3JvdW5kX3JvYmluXzA7CiAgICB1NjQgdHhfd19y b3VuZF9yb2Jpbl8xOwogICAgdTY0IHR4X3dfcm91bmRfcm9iaW5fMjsKICAgIHU2NCB0eF93X3Jv dW5kX3JvYmluXzM7CiAgICB1NjQgdHhfd19yb3VuZF9yb2Jpbl80OwoKICAgIHU2NCB0dGlfY29t bWFuZF9tZW07CiNkZWZpbmUgVFRJX0NNRF9NRU1fV0UgICAgICAgICAgICAgICAgICAgICBCSVQo NykKI2RlZmluZSBUVElfQ01EX01FTV9TVFJPQkVfTkVXX0NNRCAgICAgICAgIEJJVCgxNSkKI2Rl ZmluZSBUVElfQ01EX01FTV9TVFJPQkVfQkVJTkdfRVhFQ1VURUQgIEJJVCgxNSkKI2RlZmluZSBU VElfQ01EX01FTV9PRkZTRVQobikgICAgICAgICAgICAgIHZCSVQobiwyNiw2KQoKICAgIHU2NCB0 dGlfZGF0YTFfbWVtOwojZGVmaW5lIFRUSV9EQVRBMV9NRU1fVFhfVElNRVJfVkFMKG4pICAgICAg dkJJVChuLDYsMjYpCiNkZWZpbmUgVFRJX0RBVEExX01FTV9UWF9USU1FUl9BQ19DSShuKSAgICB2 QklUKG4sMzgsMikKI2RlZmluZSBUVElfREFUQTFfTUVNX1RYX1RJTUVSX0FDX0VOICAgICAgIEJJ VCgzOCkKI2RlZmluZSBUVElfREFUQTFfTUVNX1RYX1RJTUVSX0NJX0VOICAgICAgIEJJVCgzOSkK I2RlZmluZSBUVElfREFUQTFfTUVNX1RYX1VSTkdfQShuKSAgICAgICAgIHZCSVQobiw0MSw3KQoj ZGVmaW5lIFRUSV9EQVRBMV9NRU1fVFhfVVJOR19CKG4pICAgICAgICAgdkJJVChuLDQ5LDcpCiNk ZWZpbmUgVFRJX0RBVEExX01FTV9UWF9VUk5HX0MobikgICAgICAgICB2QklUKG4sNTcsNykKCiAg ICB1NjQgdHRpX2RhdGEyX21lbTsKI2RlZmluZSBUVElfREFUQTJfTUVNX1RYX1VGQ19BKG4pICAg ICAgICAgIHZCSVQobiwwLDE2KQojZGVmaW5lIFRUSV9EQVRBMl9NRU1fVFhfVUZDX0IobikgICAg ICAgICAgdkJJVChuLDE2LDE2KQojZGVmaW5lIFRUSV9EQVRBMl9NRU1fVFhfVUZDX0MobikgICAg ICAgICAgdkJJVChuLDMyLDE2KQojZGVmaW5lIFRUSV9EQVRBMl9NRU1fVFhfVUZDX0QobikgICAg ICAgICAgdkJJVChuLDQ4LDE2KQoKLyogVHggUHJvdG9jb2wgYXNzaXN0ICovCiAgICB1NjQgdHhf cGFfY2ZnOwojZGVmaW5lIFRYX1BBX0NGR19JR05PUkVfRlJNX0VSUiAgICAgICAgICAgQklUKDEp CiNkZWZpbmUgVFhfUEFfQ0ZHX0lHTk9SRV9TTkFQX09VSSAgICAgICAgICBCSVQoMikKI2RlZmlu ZSBUWF9QQV9DRkdfSUdOT1JFX0xMQ19DVFJMICAgICAgICAgIEJJVCgzKQojZGVmaW5lCVRYX1BB X0NGR19JR05PUkVfTDJfRVJSCQkJICAgQklUKDYpCgovKiBSZWNlbnQgYWRkLCB1c2VkIG9ubHkg ZGVidWcgcHVycG9zZXMuICovCgl1NjQgcGNjX2VuYWJsZTsKCiAgICB1OCB1bnVzZWQ5WzB4NzAw LTB4MTc4XTsKICAgIAogICAgdTY0IHR4ZG1hX2RlYnVnX2N0cmw7IC8qVE9ETzogMS41IFNwZWMg ZG9lcyBub3QgbWVudGlvbiB0aGlzIHJlZ2lzdGVyIGFueSBtb3JlKi8KICAgIAogICAgdTggdW51 c2VkMTBbMHgxODAwLTB4MTcwOF07CgovKiBSeERNQSBSZWdpc3RlcnMgKi8KICAgIHU2NCByeGRt YV9pbnRfc3RhdHVzOwogICAgdTY0IHJ4ZG1hX2ludF9tYXNrOwojZGVmaW5lIFJYRE1BX0lOVF9S Q19JTlRfTSAgICAgICAgICAgICBCSVQoMCkKI2RlZmluZSBSWERNQV9JTlRfUlBBX0lOVF9NICAg ICAgICAgICAgQklUKDEpCiNkZWZpbmUgUlhETUFfSU5UX1JEQV9JTlRfTSAgICAgICAgICAgIEJJ VCgyKQojZGVmaW5lIFJYRE1BX0lOVF9SVElfSU5UX00gICAgICAgICAgICBCSVQoMykKCiAgICAg ICAgdTY0IHJkYV9lcnJfcmVnOwogICAgICAgIHU2NCByZGFfZXJyX21hc2s7CiAgICAgICAgdTY0 IHJkYV9lcnJfYWxhcm07CgogICAgICAgIHU2NCByY19lcnJfcmVnOwogICAgICAgIHU2NCByY19l cnJfbWFzazsKICAgICAgICB1NjQgcmNfZXJyX2FsYXJtOwoKICAgICAgICB1NjQgcHJjX3BjaXhf ZXJyX3JlZzsKICAgICAgICB1NjQgcHJjX3BjaXhfZXJyX21hc2s7CiAgICAgICAgdTY0IHByY19w Y2l4X2Vycl9hbGFybTsKCiAgICAgICAgdTY0IHJwYV9lcnJfcmVnOwogICAgICAgIHU2NCBycGFf ZXJyX21hc2s7CiAgICAgICAgdTY0IHJwYV9lcnJfYWxhcm07CgogICAgICAgIHU2NCBydGlfZXJy X3JlZzsKICAgICAgICB1NjQgcnRpX2Vycl9tYXNrOwogICAgICAgIHU2NCBydGlfZXJyX2FsYXJt OwoKICAgICAgICB1OCB1bnVzZWQxMVsweDEwMC0weDg4XTsKCi8qIERNQSBhcmJpdGVyICovCiAg ICAgICAgdTY0IHJ4X3F1ZXVlX3ByaW9yaXR5OwojZGVmaW5lIFJYX1FVRVVFXzBfUFJJT1JJVFko dmFsKSAgICAgICB2QklUKHZhbCw1LDMpCiNkZWZpbmUgUlhfUVVFVUVfMV9QUklPUklUWSh2YWwp ICAgICAgIHZCSVQodmFsLDEzLDMpCiNkZWZpbmUgUlhfUVVFVUVfMl9QUklPUklUWSh2YWwpICAg ICAgIHZCSVQodmFsLDIxLDMpCiNkZWZpbmUgUlhfUVVFVUVfM19QUklPUklUWSh2YWwpICAgICAg IHZCSVQodmFsLDI5LDMpCiNkZWZpbmUgUlhfUVVFVUVfNF9QUklPUklUWSh2YWwpICAgICAgIHZC SVQodmFsLDM3LDMpCiNkZWZpbmUgUlhfUVVFVUVfNV9QUklPUklUWSh2YWwpICAgICAgIHZCSVQo dmFsLDQ1LDMpCiNkZWZpbmUgUlhfUVVFVUVfNl9QUklPUklUWSh2YWwpICAgICAgIHZCSVQodmFs LDUzLDMpCiNkZWZpbmUgUlhfUVVFVUVfN19QUklPUklUWSh2YWwpICAgICAgIHZCSVQodmFsLDYx LDMpCgojZGVmaW5lIFJYX1FVRVVFX1BSSV8wICAgICAgICAgICAgICAgICAwICAgLyogaGlnaGVz dCAqLwojZGVmaW5lIFJYX1FVRVVFX1BSSV8xICAgICAgICAgICAgICAgICAxICAgCiNkZWZpbmUg UlhfUVVFVUVfUFJJXzIgICAgICAgICAgICAgICAgIDIgICAKI2RlZmluZSBSWF9RVUVVRV9QUklf MyAgICAgICAgICAgICAgICAgMyAgIAojZGVmaW5lIFJYX1FVRVVFX1BSSV80ICAgICAgICAgICAg ICAgICA0ICAgCiNkZWZpbmUgUlhfUVVFVUVfUFJJXzUgICAgICAgICAgICAgICAgIDUgICAKI2Rl ZmluZSBSWF9RVUVVRV9QUklfNiAgICAgICAgICAgICAgICAgNiAgIAojZGVmaW5lIFJYX1FVRVVF X1BSSV83ICAgICAgICAgICAgICAgICA3ICAgLyogbG93ZXN0ICovIAoKICAgICAgICB1NjQgcnhf d19yb3VuZF9yb2Jpbl8wOwogICAgICAgIHU2NCByeF93X3JvdW5kX3JvYmluXzE7CiAgICAgICAg dTY0IHJ4X3dfcm91bmRfcm9iaW5fMjsKICAgICAgICB1NjQgcnhfd19yb3VuZF9yb2Jpbl8zOwog ICAgICAgIHU2NCByeF93X3JvdW5kX3JvYmluXzQ7CgogICAgICAgIC8qIFBlci1yaW5nIGNvbnRy b2xsZXIgcmVncyAqLwojZGVmaW5lIFJYX01BWF9SSU5HUyAgICAgICAgICAgICAgICA4CiNpZiAw CiNkZWZpbmUgUlhfTUFYX1JJTkdTX1NaICAgICAgICAgICAgIDB4RkZGRiAvKiA2NTUzNiAqLyAg ICAgICAgICAgICAKI2RlZmluZSBSWF9NSU5fUklOR1NfU1ogICAgICAgICAgICAgMHgzRiAvKiA2 MyAqLyAKI2VuZGlmCiAgICAgICAgdTY0IHByY19yeGQwX25bUlhfTUFYX1JJTkdTXTsKICAgICAg ICB1NjQgcHJjX2N0cmxfbltSWF9NQVhfUklOR1NdOwojZGVmaW5lIFBSQ19DVFJMX1JDX0VOQUJM RUQgICAgICAgICAgICAgICAgICAgIEJJVCg3KQojZGVmaW5lIFBSQ19DVFJMX1JJTkdfTU9ERSAg ICAgICAgICAgICAgICAgICAgIChCSVQoMTQpfEJJVCgxNSkpCiNkZWZpbmUgUFJDX0NUUkxfUklO R19NT0RFXzEgICAgICAgICAgICAgICAgICAgdkJJVCgwLDE0LDIpCiNkZWZpbmUgUFJDX0NUUkxf UklOR19NT0RFXzMgICAgICAgICAgICAgICAgICAgdkJJVCgxLDE0LDIpCiNkZWZpbmUgUFJDX0NU UkxfUklOR19NT0RFXzUgICAgICAgICAgICAgICAgICAgdkJJVCgyLDE0LDIpCiNkZWZpbmUgUFJD X0NUUkxfUklOR19NT0RFX3ggICAgICAgICAgICAgICAgICAgdkJJVCgzLDE0LDIpCiNkZWZpbmUg UFJDX0NUUkxfTk9fU05PT1AgICAgICAgICAgICAgICAgICAgICAgKEJJVCgyMil8QklUKDIzKSkK I2RlZmluZSBQUkNfQ1RSTF9OT19TTk9PUF9ERVNDICAgICAgICAgICAgICAgICBCSVQoMjIpCiNk ZWZpbmUgUFJDX0NUUkxfTk9fU05PT1BfQlVGRiAgICAgICAgICAgICAgICAgQklUKDIzKQojZGVm aW5lIFBSQ19DVFJMX1JYRF9CQUNLT0ZGX0lOVEVSVkFMKHZhbCkgICAgIHZCSVQodmFsLDQwLDI0 KQoKICAgICAgICB1NjQgcHJjX2FsYXJtX2FjdGlvbjsKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9O X1JSX1IwX1NUT1AgICAgICAgICAgICBCSVQoMykKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JX X1IwX1NUT1AgICAgICAgICAgICBCSVQoNykKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JSX1Ix X1NUT1AgICAgICAgICAgICBCSVQoMTEpCiNkZWZpbmUgUFJDX0FMQVJNX0FDVElPTl9SV19SMV9T VE9QICAgICAgICAgICAgQklUKDE1KQojZGVmaW5lIFBSQ19BTEFSTV9BQ1RJT05fUlJfUjJfU1RP UCAgICAgICAgICAgIEJJVCgxOSkKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JXX1IyX1NUT1Ag ICAgICAgICAgICBCSVQoMjMpCiNkZWZpbmUgUFJDX0FMQVJNX0FDVElPTl9SUl9SM19TVE9QICAg ICAgICAgICAgQklUKDI3KQojZGVmaW5lIFBSQ19BTEFSTV9BQ1RJT05fUldfUjNfU1RPUCAgICAg ICAgICAgIEJJVCgzMSkKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JSX1I0X1NUT1AgICAgICAg ICAgICBCSVQoMzUpCiNkZWZpbmUgUFJDX0FMQVJNX0FDVElPTl9SV19SNF9TVE9QICAgICAgICAg ICAgQklUKDM5KQojZGVmaW5lIFBSQ19BTEFSTV9BQ1RJT05fUlJfUjVfU1RPUCAgICAgICAgICAg IEJJVCg0MykKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JXX1I1X1NUT1AgICAgICAgICAgICBC SVQoNDcpCiNkZWZpbmUgUFJDX0FMQVJNX0FDVElPTl9SUl9SNl9TVE9QICAgICAgICAgICAgQklU KDUxKQojZGVmaW5lIFBSQ19BTEFSTV9BQ1RJT05fUldfUjZfU1RPUCAgICAgICAgICAgIEJJVCg1 NSkKI2RlZmluZSBQUkNfQUxBUk1fQUNUSU9OX1JSX1I3X1NUT1AgICAgICAgICAgICBCSVQoNTkp CiNkZWZpbmUgUFJDX0FMQVJNX0FDVElPTl9SV19SN19TVE9QICAgICAgICAgICAgQklUKDYzKQoK LyogUmVjZWl2ZSB0cmFmZmljIGludGVycnVwdHMgKi8KICAgICAgICB1NjQgcnRpX2NvbW1hbmRf bWVtOwojZGVmaW5lIFJUSV9DTURfTUVNX1dFICAgICAgICAgICAgICAgICAgICAgICAgICBCSVQo NykKI2RlZmluZSBSVElfQ01EX01FTV9TVFJPQkUgICAgICAgICAgICAgICAgICAgICAgQklUKDE1 KQojZGVmaW5lIFJUSV9DTURfTUVNX1NUUk9CRV9ORVdfQ01EICAgICAgICAgICAgICBCSVQoMTUp CiNkZWZpbmUgUlRJX0NNRF9NRU1fU1RST0JFX0NNRF9CRUlOR19FWEVDVVRFRCAgIEJJVCgxNSkK I2RlZmluZSBSVElfQ01EX01FTV9PRkZTRVQobikgICAgICAgICAgICAgICAgICAgdkJJVChuLDI5 LDMpCgogICAgICAgIHU2NCBydGlfZGF0YTFfbWVtOwojZGVmaW5lIFJUSV9EQVRBMV9NRU1fUlhf VElNRVJfVkFMKG4pICAgICAgdkJJVChuLDMsMjkpCiNkZWZpbmUgUlRJX0RBVEExX01FTV9SWF9U SU1FUl9BQ19FTiAgICAgICBCSVQoMzgpCiNkZWZpbmUgUlRJX0RBVEExX01FTV9SWF9USU1FUl9D SV9FTiAgICAgICBCSVQoMzkpCiNkZWZpbmUgUlRJX0RBVEExX01FTV9SWF9VUk5HX0EobikgICAg ICAgICB2QklUKG4sNDEsNykKI2RlZmluZSBSVElfREFUQTFfTUVNX1JYX1VSTkdfQihuKSAgICAg ICAgIHZCSVQobiw0OSw3KQojZGVmaW5lIFJUSV9EQVRBMV9NRU1fUlhfVVJOR19DKG4pICAgICAg ICAgdkJJVChuLDU3LDcpCgogICAgICAgIHU2NCBydGlfZGF0YTJfbWVtOwojZGVmaW5lIFJUSV9E QVRBMl9NRU1fUlhfVUZDX0EobikgICAgICAgICAgdkJJVChuLDAsMTYpCiNkZWZpbmUgUlRJX0RB VEEyX01FTV9SWF9VRkNfQihuKSAgICAgICAgICB2QklUKG4sMTYsMTYpCiNkZWZpbmUgUlRJX0RB VEEyX01FTV9SWF9VRkNfQyhuKSAgICAgICAgICB2QklUKG4sMzIsMTYpCiNkZWZpbmUgUlRJX0RB VEEyX01FTV9SWF9VRkNfRChuKSAgICAgICAgICB2QklUKG4sNDgsMTYpCgogICAgICAgIHU2NCBy eF9wYV9jZmc7CiNkZWZpbmUgUlhfUEFfQ0ZHX0lHTk9SRV9GUk1fRVJSICAgICAgICAgICBCSVQo MSkKI2RlZmluZSBSWF9QQV9DRkdfSUdOT1JFX1NOQVBfT1VJICAgICAgICAgIEJJVCgyKQojZGVm aW5lIFJYX1BBX0NGR19JR05PUkVfTExDX0NUUkwgICAgICAgICAgQklUKDMpCgogICAgICAgIHU4 IHVudXNlZDEyWzB4NzAwLTB4MUQ4XTsKCiAgICAgICAgdTY0IHJ4ZG1hX2RlYnVnX2N0cmw7IC8q IFRPRE86IEluIDEuNSBzcGVjIHRoaXMgcmVnaXN0ZXIgaXMgbWlzc2luZy4gKi8KCiAgICAgICAg dTggdW51c2VkMTNbMHgyMDAwLTB4MWYwOF07CgovKiBNZWRpYSBBY2Nlc3MgQ29udHJvbGxlciBS ZWdpc3RlciAqLwogICAgICAgIHU2NCBtYWNfaW50X3N0YXR1czsKICAgICAgICB1NjQgbWFjX2lu dF9tYXNrOwojZGVmaW5lIE1BQ19JTlRfU1RBVFVTX1RNQUNfSU5UICAgICAgICAgICAgQklUKDAp CiNkZWZpbmUgTUFDX0lOVF9TVEFUVVNfUk1BQ19JTlQgICAgICAgICAgICBCSVQoMSkKCiAgICAg ICAgdTY0IG1hY190bWFjX2Vycl9yZWc7CiNkZWZpbmUgVE1BQ19FUlJfUkVHX1RNQUNfRUNDX0RC X0VSUiAgICAgICBCSVQoMTUpCiNkZWZpbmUgVE1BQ19FUlJfUkVHX1RNQUNfVFhfQlVGX09WUk4g ICAgICBCSVQoMjMpCiNkZWZpbmUgVE1BQ19FUlJfUkVHX1RNQUNfVFhfQ1JJX0VSUiAgICAgICBC SVQoMzEpCiAgICAgICAgdTY0IG1hY190bWFjX2Vycl9tYXNrOwogICAgICAgIHU2NCBtYWNfdG1h Y19lcnJfYWxhcm07CgogICAgICAgIHU2NCBtYWNfcm1hY19lcnJfcmVnOwojZGVmaW5lIFJNQUNf RVJSX1JFR19SWF9CVUZGX09WUk4gICAgICAgICAgQklUKDApCiNkZWZpbmUgUk1BQ19FUlJfUkVH X1JUU19FQ0NfREJfRVJSICAgICAgICBCSVQoMTQpCiNkZWZpbmUgUk1BQ19FUlJfUkVHX0VDQ19E Ql9FUlIgICAgICAgICAgICBCSVQoMTUpCiNkZWZpbmUgUk1BQ19MSU5LX1NUQVRFX0NIQU5HRV9J TlQgICAgICAgICBCSVQoMzEpCiAgICAgICAgdTY0IG1hY19ybWFjX2Vycl9tYXNrOwogICAgICAg IHU2NCBtYWNfcm1hY19lcnJfYWxhcm07CgogICAgICAgIHU4IHVudXNlZDE0WzB4MTAwLTB4NDBd OwoKICAgICAgICB1NjQgbWFjX2NmZzsKI2RlZmluZSBNQUNfQ0ZHX1RNQUNfRU5BQkxFICAgICAg ICAgICAgIEJJVCgwKQojZGVmaW5lIE1BQ19DRkdfUk1BQ19FTkFCTEUgICAgICAgICAgICAgQklU KDEpIAojZGVmaW5lIE1BQ19DRkdfTEFOX05PVF9XQU4gICAgICAgICAgICAgQklUKDIpCiNkZWZp bmUgTUFDX0NGR19UTUFDX0xPT1BCQUNLICAgICAgICAgICBCSVQoMykKI2RlZmluZSBNQUNfQ0ZH X1RNQUNfQVBQRU5EX1BBRCAgICAgICAgIEJJVCg0KQojZGVmaW5lIE1BQ19DRkdfUk1BQ19TVFJJ UF9GQ1MgICAgICAgICAgQklUKDUpCiNkZWZpbmUgTUFDX0NGR19STUFDX1NUUklQX1BBRCAgICAg ICAgICBCSVQoNikKI2RlZmluZSBNQUNfQ0ZHX1JNQUNfUFJPTV9FTkFCTEUgICAgICAgIEJJVCg3 KQojZGVmaW5lIE1BQ19STUFDX0RJU0NBUkRfUEZSTSAgICAgICAgICAgQklUKDgpCiNkZWZpbmUg TUFDX1JNQUNfQkNBU1RfRU5BQkxFICAgICAgICAgICBCSVQoOSkKI2RlZmluZSBNQUNfUk1BQ19B TExfQUREUl9FTkFCTEUgICAgICAgIEJJVCgxMCkKI2RlZmluZSBNQUNfUk1BQ19JTlZMRF9JUEdf VEhSKHZhbCkgICAgIHZCSVQodmFsLDE2LDgpCgogICAgICAgIHU2NCB0bWFjX2F2Z19pcGc7CiNk ZWZpbmUgVE1BQ19BVkdfSVBHKHZhbCkgICAgICAgICAgIHZCSVQodmFsLDAsOCkgCgogICAgICAg IHU2NCBybWFjX21heF9weWxkX2xlbjsKI2RlZmluZSBSTUFDX01BWF9QWUxEX0xFTih2YWwpICAg ICAgdkJJVCh2YWwsMiwxNCkKI2RlZmluZSBSTUFDX01BWF9QWUxEX0xFTl9ERUYgICAgICAgdkJJ VCgxNTAwLDIsMTQpCiNkZWZpbmUgUk1BQ19NQVhfUFlMRF9MRU5fSlVNQk9fREVGIHZCSVQoOTYw MCwyLDE0KQoKICAgICAgICB1NjQgcm1hY19lcnJfY2ZnOwojZGVmaW5lIFJNQUNfRVJSX0ZDUyAg ICAgICAgICAgICAgICAgICAgQklUKDApCiNkZWZpbmUgUk1BQ19FUlJfRkNTX0FDQ0VQVCAgICAg ICAgICAgICBCSVQoMSkKI2RlZmluZSBSTUFDX0VSUl9UT09fTE9ORyAgICAgICAgICAgICAgIEJJ VCgxKQojZGVmaW5lIFJNQUNfRVJSX1RPT19MT05HX0FDQ0VQVCAgICAgICAgQklUKDEpCiNkZWZp bmUgUk1BQ19FUlJfUlVOVCAgICAgICAgICAgICAgICAgICBCSVQoMikKI2RlZmluZSBSTUFDX0VS Ul9SVU5UX0FDQ0VQVCAgICAgICAgICAgIEJJVCgyKQojZGVmaW5lIFJNQUNfRVJSX0xFTl9NSVNN QVRDSCAgICAgICAgICAgQklUKDMpCiNkZWZpbmUgUk1BQ19FUlJfTEVOX01JU01BVENIX0FDQ0VQ VCAgICBCSVQoMykKCiAgICAgICAgdTY0IHJtYWNfY2ZnX2tleTsKI2RlZmluZSBSTUFDX0NGR19L RVkodmFsKSAgICAgICAgICAgICAgIHZCSVQodmFsLDAsMTYpCgojZGVmaW5lIE1BWF9NQUNfQURE UkVTU0VTICAgICAgICAgICAxNgojZGVmaW5lIE1BWF9NQ19BRERSRVNTRVMgICAgICAgICAgICAz MiAgLyogTXVsdGljYXN0IGFkZHJlc3NlcyAqLwojZGVmaW5lIE1BQ19NQUNfQUREUl9TVEFSVF9P RkZTRVQgICAwCiNkZWZpbmUgTUFDX01DX0FERFJfU1RBUlRfT0ZGU0VUICAgIDE2CiNkZWZpbmUg TUFDX01DX0FMTF9NQ19BRERSX09GRlNFVCAgIDYzICAvKiBlbmFibGVzIGFsbCBtdWx0aWNhc3Qg cGt0cyAqLwogICAgICAgIHU2NCBybWFjX2FkZHJfY21kX21lbTsKI2RlZmluZSBSTUFDX0FERFJf Q01EX01FTV9XRSAgICAgICAgICAgICAgICAgICAgQklUKDcpCiNkZWZpbmUgUk1BQ19BRERSX0NN RF9NRU1fUkQgICAgICAgICAgICAgICAgICAgIDAgCiNkZWZpbmUgUk1BQ19BRERSX0NNRF9NRU1f U1RST0JFX05FV19DTUQgICAgICAgIEJJVCgxNSkgIAojZGVmaW5lIFJNQUNfQUREUl9DTURfTUVN X1NUUk9CRV9DTURfRVhFQ1VUSU5HICBCSVQoMTUpCiNkZWZpbmUgUk1BQ19BRERSX0NNRF9NRU1f T0ZGU0VUKG4pICAgICAgICAgICAgIHZCSVQobiwyNiw2KQoKICAgICAgICB1NjQgcm1hY19hZGRy X2RhdGEwX21lbTsKI2RlZmluZSBSTUFDX0FERFJfREFUQTBfTUVNX0FERFIobikgICAgdkJJVChu LDAsNDgpCiNkZWZpbmUgUk1BQ19BRERSX0RBVEEwX01FTV9VU0VSICAgICAgIEJJVCg0OCkKCiAg ICAgICAgdTY0IHJtYWNfYWRkcl9kYXRhMV9tZW07CiNkZWZpbmUgUk1BQ19BRERSX0RBVEExX01F TV9NQVNLKG4pICAgIHZCSVQobiwwLDQ4KQoKICAgICAgICB1OCB1bnVzZWQxNVsweDhdOwoKLyoK ICAgICAgICB1NjQgcm1hY19hZGRyX2NmZzsKI2RlZmluZSBSTUFDX0FERFJfVUNBU1RuX0VOKG4p ICAgICBtQklUKDApX24obikKI2RlZmluZSBSTUFDX0FERFJfTUNBU1RuX0VOKG4pICAgICBtQklU KDApX24obikKI2RlZmluZSBSTUFDX0FERFJfQkNBU1RfRU4gICAgICAgICB2QklUKDApXzQ4IAoj ZGVmaW5lIFJNQUNfQUREUl9BTExfQUREUl9FTiAgICAgIHZCSVQoMClfNDkgCiovCiAgICAgICAg dTY0IHRtYWNfaXBnX2NmZzsKCiAgICAgICAgdTY0IHJtYWNfcGF1c2VfY2ZnOwojZGVmaW5lIFJN QUNfUEFVU0VfR0VOICAgICAgICAgICAgIEJJVCgwKQojZGVmaW5lIFJNQUNfUEFVU0VfR0VOX0VO QUJMRSAgICAgIEJJVCgwKQojZGVmaW5lIFJNQUNfUEFVU0VfUlggICAgICAgICAgICAgIEJJVCgx KQojZGVmaW5lIFJNQUNfUEFVU0VfUlhfRU5BQkxFICAgICAgIEJJVCgxKQojZGVmaW5lIFJNQUNf UEFVU0VfSEdfUFRJTUVfREVGICAgIHZCSVQoMHhGRkZGLDE2LDE2KQojZGVmaW5lIFJNQUNfUEFV U0VfSEdfUFRJTUUodmFsKSAgICB2QklUKHZhbCwxNiwxNikKCiAgICAgICAgdTY0IHJtYWNfcmVk X2NmZzsKCiAgICAgICAgdTY0IHJtYWNfcmVkX3JhdGVfcTBxMzsKICAgICAgICB1NjQgcm1hY19y ZWRfcmF0ZV9xNHE3OwoKICAgICAgICB1NjQgbWFjX2xpbmtfdXRpbDsKI2RlZmluZSBNQUNfVFhf TElOS19VVElMICAgICAgICAgICB2QklUKDB4RkUsMSw3KQojZGVmaW5lIE1BQ19UWF9MSU5LX1VU SUxfRElTQUJMRSAgIHZCSVQoMHhGLCA4LDQpCiNkZWZpbmUgTUFDX1RYX0xJTktfVVRJTF9WQUwo IG4gKSAgdkJJVChuLDgsNCkKI2RlZmluZSBNQUNfUlhfTElOS19VVElMICAgICAgICAgICB2QklU KDB4RkUsMzMsNykKI2RlZmluZSBNQUNfUlhfTElOS19VVElMX0RJU0FCTEUgICB2QklUKDB4Riw0 MCw0KQojZGVmaW5lIE1BQ19SWF9MSU5LX1VUSUxfVkFMKCBuICkgIHZCSVQobiw0MCw0KQogICAg ICAgIAojZGVmaW5lIE1BQ19MSU5LX1VUSUxfRElTQUJMRSAgICAgIE1BQ19UWF9MSU5LX1VUSUxf RElTQUJMRSB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNQUNfUlhfTElO S19VVElMX0RJU0FCTEUKCiAgICAgICAgdTY0IHJtYWNfaW52YWxpZF9pcGc7CgovKiByeCB0cmFm ZmljIHN0ZWVyaW5nICovCiNkZWZpbmUJTUFDX1JUU19GUk1fTEVOX1NFVChsZW4pCXZCSVQobGVu LDIsMTQpCiAgICAgICAgdTY0IHJ0c19mcm1fbGVuX25bOF07CgogICAgICAgIHU2NCBydHNfcW9z X3N0ZWVyaW5nOwoKI2RlZmluZSBNQVhfRElYX01BUCAgICAgICAgICAgICAgICAgICAgICAgICA0 CS8qIENIQU5HRUQgKi8KICAgICAgICB1NjQgcnRzX2RpeF9tYXBfbltNQVhfRElYX01BUF07CiNk ZWZpbmUgUlRTX0RJWF9NQVBfRVRZUEUodmFsKSAgICAgICAgICAgICB2QklUKHZhbCwwLDE2KQoj ZGVmaW5lIFJUU19ESVhfTUFQX1NDVyh2YWwpICAgICAgICAgICAgICAgQklUKHZhbCwyMSkKCiAg ICAgICAgdTY0IHJ0c19xX2FsdGVybmF0ZXM7CiAgICAgICAgdTY0IHJ0c19kZWZhdWx0X3E7Cgog ICAgICAgIHU2NCBydHNfY3RybDsKI2RlZmluZSBSVFNfQ1RSTF9JR05PUkVfU05BUF9PVUkgICAg ICAgICAgIEJJVCgyKQojZGVmaW5lIFJUU19DVFJMX0lHTk9SRV9MTENfQ1RSTCAgICAgICAgICAg QklUKDMpCgogICAgICAgIHU2NCBydHNfcG5fY2FtX2N0cmw7CiNkZWZpbmUgUlRTX1BOX0NBTV9D VFJMX1dFICAgICAgICAgICAgICAgICBCSVQoNykKI2RlZmluZSBSVFNfUE5fQ0FNX0NUUkxfU1RS T0JFX05FV19DTUQgICAgIEJJVCgxNSkKI2RlZmluZSBSVFNfUE5fQ0FNX0NUUkxfU1RST0JFX0JF SU5HX0VYRUNVVEVEICAgQklUKDE1KQojZGVmaW5lIFJUU19QTl9DQU1fQ1RSTF9PRkZTRVQobikg ICAgICAgICAgdkJJVChuLDI0LDgpCiAgICAgICAgdTY0IHJ0c19wbl9jYW1fZGF0YTsKI2RlZmlu ZSBSVFNfUE5fQ0FNX0RBVEFfVENQX1NFTEVDVCAgICAgICAgIEJJVCg3KQojZGVmaW5lIFJUU19Q Tl9DQU1fREFUQV9QT1JUKHZhbCkgICAgICAgICAgdkJJVCh2YWwsOCwxNikKI2RlZmluZSBSVFNf UE5fQ0FNX0RBVEFfU0NXKHZhbCkgICAgICAgICAgIHZCSVQodmFsLDI0LDgpCgogICAgICAgIHU2 NCBydHNfZHNfbWVtX2N0cmw7CiNkZWZpbmUgUlRTX0RTX01FTV9DVFJMX1dFICAgICAgICAgICAg ICAgICBCSVQoNykKI2RlZmluZSBSVFNfRFNfTUVNX0NUUkxfU1RST0JFX05FV19DTUQgICAgIEJJ VCgxNSkKI2RlZmluZSBSVFNfRFNfTUVNX0NUUkxfU1RST0JFX0NNRF9CRUlOR19FWEVDVVRFRCAg IEJJVCgxNSkKI2RlZmluZSBSVFNfRFNfTUVNX0NUUkxfT0ZGU0VUKG4pICAgICAgICAgIHZCSVQo biwyNiw2KQogICAgICAgIHU2NCBydHNfZHNfbWVtX2RhdGE7CiNkZWZpbmUgUlRTX0RTX01FTV9E QVRBKG4pICAgICAgICAgICAgICAgICB2QklUKG4sMCw4KQoKICAgICAgICB1OCB1bnVzZWQxNlsw eDcwMC0weDIyMF07CgogICAgICAgIHU2NCBtYWNfZGVidWdfY3RybDsJLyogVE9ETzogSW4gMS41 IHNwZWMgdGhpcyByZWdpc3RlciBpcyBtaXNzaW5nLiAqLwoKICAgICAgICB1OCB1bnVzZWQxN1sw eDI4MDAtMHgyNzA4XTsJLyogQ0hBTkdFRCAqLwoKLyogbWVtb3J5IGNvbnRyb2xsZXIgcmVnaXN0 ZXJzICovCiAgICAgICAgdTY0IG1jX2ludF9zdGF0dXM7CiNkZWZpbmUgTUNfSU5UX1NUQVRVU19N Q19JTlQgICAgICAgICAgICAgICBCSVQoMCkKICAgICAgICB1NjQgbWNfaW50X21hc2s7CiNkZWZp bmUgTUNfSU5UX01BU0tfTUNfSU5UICAgICAgICAgICAgICAgICBCSVQoMCkKCiAgICAgICAgdTY0 IG1jX2Vycl9yZWc7CiNkZWZpbmUgTUNfRVJSX1JFR19FQ0NfREJfRVJSX0wgICAgICAgICAgICBC SVQoMTQpCiNkZWZpbmUgTUNfRVJSX1JFR19FQ0NfREJfRVJSX1UgICAgICAgICAgICBCSVQoMTUp CiNkZWZpbmUgTUNfRVJSX1JFR19NSVJJX0NSSV9FUlJfMCAgICAgICAgICBCSVQoMjIpCiNkZWZp bmUgTUNfRVJSX1JFR19NSVJJX0NSSV9FUlJfMSAgICAgICAgICBCSVQoMjMpCiNkZWZpbmUgTUNf RVJSX1JFR19TTV9FUlIgICAgICAgICAgICAgICAgICBCSVQoMzEpCiAgICAgICAgdTY0IG1jX2Vy cl9tYXNrOwogICAgICAgIHU2NCBtY19lcnJfYWxhcm07CgogICAgICAgIHU4IHVudXNlZDE4WzB4 MTAwLTB4MjhdOwogICAgICAgIAovKiBNQyBjb25maWd1cmF0aW9uICovCiAgICAgICAgdTY0IHJ4 X3F1ZXVlX2NmZzsKI2RlZmluZSBSWF9RVUVVRV9DRkdfUTBfU1oobikgICAgICAgICAgICAgIHZC SVQobiwwLDgpCiNkZWZpbmUgUlhfUVVFVUVfQ0ZHX1ExX1NaKG4pICAgICAgICAgICAgICB2QklU KG4sOCw4KQojZGVmaW5lIFJYX1FVRVVFX0NGR19RMl9TWihuKSAgICAgICAgICAgICAgdkJJVChu LDE2LDgpCiNkZWZpbmUgUlhfUVVFVUVfQ0ZHX1EzX1NaKG4pICAgICAgICAgICAgICB2QklUKG4s MjQsOCkKI2RlZmluZSBSWF9RVUVVRV9DRkdfUTRfU1oobikgICAgICAgICAgICAgIHZCSVQobiwz Miw4KQojZGVmaW5lIFJYX1FVRVVFX0NGR19RNV9TWihuKSAgICAgICAgICAgICAgdkJJVChuLDQw LDgpCiNkZWZpbmUgUlhfUVVFVUVfQ0ZHX1E2X1NaKG4pICAgICAgICAgICAgICB2QklUKG4sNDgs OCkKI2RlZmluZSBSWF9RVUVVRV9DRkdfUTdfU1oobikgICAgICAgICAgICAgIHZCSVQobiw1Niw4 KQoKICAgICAgICB1NjQgbWNfcmxkcmFtX21yczsKI2RlZmluZQlNQ19STERSQU1fUVVFVUVfU0la RV9FTkFCTEUJCQlCSVQoMzkpCiNkZWZpbmUJTUNfUkxEUkFNX01SU19FTkFCTEUJCQkJQklUKDQ3 KQoKICAgICAgICB1NjQgbWNfcmxkcmFtX2ludGVybGVhdmU7CgogICAgICAgIHU2NCBtY19wYXVz ZV90aHJlc2hfcTBxMzsKICAgICAgICB1NjQgbWNfcGF1c2VfdGhyZXNoX3E0cTc7CgogICAgICAg IHU2NCBtY19yZWRfdGhyZXNoX3FbOF07CgogICAgICAgIHU4IHVudXNlZDE5WzB4MjAwLTB4MTY4 XTsNCgkJdTY0IG1jX3JsZHJhbV9yZWZfcGVyOwogICAgICAgIHU4IHVudXNlZDIwWzB4MjIwLTB4 MjA4XTsNCgkJdTY0IG1jX3JsZHJhbV90ZXN0X2N0cmw7CiNkZWZpbmUgTUNfUkxEUkFNX1RFU1Rf TU9ERQkJQklUKDQ3KQojZGVmaW5lIE1DX1JMRFJBTV9URVNUX1dSSVRFCUJJVCg3KQojZGVmaW5l IE1DX1JMRFJBTV9URVNUX0dPCQlCSVQoMTUpCiNkZWZpbmUgTUNfUkxEUkFNX1RFU1RfRE9ORQkJ QklUKDIzKQojZGVmaW5lIE1DX1JMRFJBTV9URVNUX1BBU1MJCUJJVCgzMSkKCiAgICAgICAgdTgg dW51c2VkMjFbMHgyNDAtMHgyMjhdOw0KCQl1NjQgbWNfcmxkcmFtX3Rlc3RfYWRkOwogICAgICAg IHU4IHVudXNlZDIyWzB4MjYwLTB4MjQ4XTsNCgkJdTY0IG1jX3JsZHJhbV90ZXN0X2QwOwogICAg ICAgIHU4IHVudXNlZDIzWzB4MjgwLTB4MjY4XTsNCgkJdTY0IG1jX3JsZHJhbV90ZXN0X2QxOwog ICAgICAgIHU4IHVudXNlZDI0WzB4MzAwLTB4Mjg4XTsNCgkJdTY0IG1jX3JsZHJhbV90ZXN0X2Qy OwogICAgICAgIHU4IHVudXNlZDI1WzB4NzAwLTB4MzA4XTsNCiAgICAgICAgCiAgICAgICAgdTY0 IG1jX2RlYnVnX2N0cmw7CS8qIFRPRE86IEluIDEuNSBzcGVjIHRoaXMgcmVnaXN0ZXIgaXMgbWlz c2luZy4gKi8KICAgICAgICAKICAgICAgICB1OCB1bnVzZWQyNlsweDMwMDAtMHgyZjA4XTsKICAg ICAgICAKLyogWEdYRyAqLwogICAgICAgIC8qIFhHWFMgY29udHJvbCByZWdpc3RlcnMgKi8gCgog ICAgICAgIHU2NCB4Z3hzX2ludF9zdGF0dXM7CiNkZWZpbmUgWEdYU19JTlRfU1RBVFVTX1RYR1hT ICAgICAgICAgICAgICBCSVQoMCkKI2RlZmluZSBYR1hTX0lOVF9TVEFUVVNfUlhHWFMgICAgICAg ICAgICAgIEJJVCgxKQogICAgICAgIHU2NCB4Z3hzX2ludF9tYXNrOwojZGVmaW5lIFhHWFNfSU5U X01BU0tfVFhHWFMgICAgICAgICAgICAgICAgQklUKDApCiNkZWZpbmUgWEdYU19JTlRfTUFTS19S WEdYUyAgICAgICAgICAgICAgICBCSVQoMSkKCiAgICAgICAgdTY0IHhneHNfdHhneHNfZXJyX3Jl ZzsKI2RlZmluZSBUWEdYU19FQ0NfREJfRVJSICAgICAgICAgICAgICAgICAgIEJJVCgxNSkKICAg ICAgICB1NjQgeGd4c190eGd4c19lcnJfbWFzazsKICAgICAgICB1NjQgeGd4c190eGd4c19lcnJf YWxhcm07CgogICAgICAgIHU2NCB4Z3hzX3J4Z3hzX2Vycl9yZWc7CiAgICAgICAgdTY0IHhneHNf cnhneHNfZXJyX21hc2s7CiAgICAgICAgdTY0IHhneHNfcnhneHNfZXJyX2FsYXJtOwoKICAgICAg ICB1OCB1bnVzZWQyN1sweDEwMC0weDQwXTsgCgogICAgICAgIHU2NCB4Z3hzX2NmZzsKICAgICAg ICB1NjQgeGd4c19zdGF0dXM7CgogICAgICAgIHU2NCB4Z3hzX2NmZ19rZXk7Cgl1NjQgeGd4c19l Zmlmb19jZmc7CS8qIENIQU5HRUQgKi8KCXU2NCByeGd4c19iZXJfMDsJLyogQ0hBTkdFRCAqLwog ICAgICAgIHU2NCByeGd4c19iZXJfMTsJLyogQ0hBTkdFRCAqLwoKfSBYRU5BX2Rldl9jb25maWdf dDsKCiNkZWZpbmUgWEVOQV9SRUdfU1BBQ0UJc2l6ZW9mKFhFTkFfZGV2X2NvbmZpZ190KQojZGVm aW5lCVhFTkFfRUVQUk9NX1NQQUNFICgweDAxIDw8IDExKQoKI2VuZGlmIAkvKiBfUkVHU19IICov Ci8qCiAqJExvZzogcmVncy5oLHYgJAogKlJldmlzaW9uIDEuMjEgIDIwMDQvMDEvMTkgMDk6NTE6 MDkgIHJrb3VzaGlrCiAqQnVnOiA1OTgKICogQWRkZWQgR1BMIG5vdGljZXMgb24gdGhlIGRyaXZl ciBzb3VyY2UgZmlsZXMsIG5hbWVseQogKnMyaW8uYywgczJpby5oIGFuZCByZWdzLmgKICoKICpL b3VzaGlrCiAqCiAqUmV2aXNpb24gMS4yMCAgMjAwMy8xMi8zMCAxMzowMzozMiAgcmtvdXNoaWsK ICpCdWc6IDE3NwogKlRoZSBkcml2ZXIgaGFzIGJlZW4gdXBkYXRlZCB3aXRoIHN1cHBvcnQgZm9y IGZ1bnRpb25hbGl0aWVzIGluIGV0aHRvb2wKICp2ZXJzaW9uIDEuOC4gSW50ZXJydXB0IG1vZGVy YXRpb24gaGFzIGJlZW4gc2tpcHBlZCBhcyB0aGUgbWV0aG9kb2xvZ3kgdG8KICpzZXQgaXQgdXNp bmcgZXRodG9vbCBpcyBkaWZmZXJlbnQgdG8gb3VyIG1ldGhvZG9sb2d5LgogKgogKi1Lb3VzaGlr CiAqCiAqUmV2aXNpb24gMS4xOSAgMjAwMy8xMi8wMSAyMjowMjozOCAgdWtpcmFuCiAqQnVnOjUx MAogKkNsZWFudXAgb2YgDSBjaGFycwogKgogKlJldmlzaW9uIDEuMTggIDIwMDMvMTEvMDQgMDI6 MDY6NDcgIHVraXJhbgogKkJ1Zzo0ODQKICpFbmFibGluZyBMb2dzIGluIHNvdXJjZSBjb2RlCiAq CiAqLwoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4vczJpby5jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDQxNzU3NQAxMDAwMzA0NDExNAAw MTA3NDAAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIg IAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAALyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBzMmlvLmM6IEEgTGludXgg UENJLVggRXRoZXJuZXQgZHJpdmVyIGZvciBTMklPIDEwR2JFIFNlcnZlciBOSUMKICogQ29weXJp Z2h0IDIwMDIgUmFnaGF2ZW5kcmEgS291c2hpayAocmFnaGF2ZW5kcmEua291c2hpa0BzMmlvLmNv bSkKCiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIHVzZWQgYW5kIGRpc3RyaWJ1dGVkIGFjY29yZGlu ZyB0byB0aGUgdGVybXMgb2YKICogdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwp LCBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KICogRHJpdmVycyBiYXNlZCBvbiBv ciBkZXJpdmVkIGZyb20gdGhpcyBjb2RlIGZhbGwgdW5kZXIgdGhlIEdQTCBhbmQgbXVzdAogKiBy ZXRhaW4gdGhlIGF1dGhvcnNoaXAsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBub3RpY2UuICBUaGlz IGZpbGUgaXMgbm90CiAqIGEgY29tcGxldGUgcHJvZ3JhbSBhbmQgbWF5IG9ubHkgYmUgdXNlZCB3 aGVuIHRoZSBlbnRpcmUgb3BlcmF0aW5nCiAqIHN5c3RlbSBpcyBsaWNlbnNlZCB1bmRlciB0aGUg R1BMLgogKiBTZWUgdGhlIGZpbGUgQ09QWUlORyBpbiB0aGlzIGRpc3RyaWJ1dGlvbiBmb3IgbW9y ZSBpbmZvcm1hdGlvbi4KICoKICoKICogVGhlIG1vZHVsZSBsb2FkYWJsZSBwYXJhbWV0ZXJzIHRo YXQgYXJlIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyIGFuZCBhIGJyaWVmCiAqIGV4cGxhaW5hdGlv biBvZiBhbGwgdGhlIHZhcmlhYmxlcy4KICogcmluZ19udW0gOiBUaGlzIGNhbiBiZSB1c2VkIHRv IHByb2dyYW0gdGhlIG51bWJlciBvZiByZWNlaXZlIHJpbmdzIHVzZWQgCiAqIGluIHRoZSBkcml2 ZXIuICAJCQkJCQogKiBmcmFtZV9sZW46IFRoaXMgaXMgYW4gYXJyYXkgb2Ygc2l6ZSA4LiBVc2lu ZyB0aGlzIHdlIGNhbiBzZXQgdGhlIG1heGltdW0gCiAqIHNpemUgb2YgdGhlIHJlY2VpdmVkIGZy YW1lIHRoYXQgY2FuIGJlIHN0ZWVyZWQgaW50byB0aGUgY29ycnNwb25kaW5nIAogKiByZWNlaXZl IHJpbmcuCiAqIHJpbmdfbGVuOiBUaGlzIGRlZmluZXMgdGhlIG51bWJlciBvZiBkZXNjcmlwdG9y cyBlYWNoIHJpbmcgY2FuIGhhdmUuIFRoaXMgCiAqIGlzIGFsc28gYW4gYXJyYXkgb2Ygc2l6ZSA4 LgogKiBmaWZvX251bTogVGhpcyBkZWZpbmVzIHRoZSBudW1iZXIgb2YgVHggRklGT3MgdGhhdHMg dXNlZCBpbnQgdGhlIGRyaXZlci4KICogZmlmb19sZW46IFRoaXMgdG9vIGlzIGFuIGFycmF5IG9m IDguIEVhY2ggZWxlbWVudCBkZWZpbmVzIHRoZSBudW1iZXIgb2YgCiAqIFR4IGRlc2NyaXB0b3Jz IHRoYXQgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGNvcnJlc3BvbmRpbmcgRklGTy4KICog bGF0ZW5jeV90aW1lcjogVGhpcyBpbnB1dCBpcyBwcm9ncmFtbWVkIGludG8gdGhlIExhdGVuY3kg dGltZXIgcmVnaXN0ZXIKICogaW4gUENJIENvbmZpZ3VyYXRpb24gc3BhY2UuCiAqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKiovCgojaW5jbHVkZTxsaW51eC9jb25maWcuaD4KI2luY2x1ZGU8bGludXgvbW9kdWxlLmg+ CiNpbmNsdWRlPGxpbnV4L3R5cGVzLmg+CiNpbmNsdWRlPGxpbnV4L2Vycm5vLmg+CiNpbmNsdWRl PGxpbnV4L2lvcG9ydC5oPgojaW5jbHVkZTxsaW51eC9wY2kuaD4KI2luY2x1ZGU8bGludXgva2Vy bmVsLmg+CiNpbmNsdWRlPGxpbnV4L25ldGRldmljZS5oPgojaW5jbHVkZTxsaW51eC9ldGhlcmRl dmljZS5oPgojaW5jbHVkZTxsaW51eC9za2J1ZmYuaD4KI2luY2x1ZGU8bGludXgvaW5pdC5oPgoj aW5jbHVkZTxsaW51eC9kZWxheS5oPgojaW5jbHVkZTxsaW51eC9zdGRkZWYuaD4KI2luY2x1ZGU8 bGludXgvaW9jdGwuaD4KI2luY2x1ZGU8bGludXgvdGltZXguaD4KI2luY2x1ZGU8bGludXgvc2No ZWQuaD4KI2luY2x1ZGU8bGludXgvZXRodG9vbC5oPgojaW5jbHVkZTxhc20vc3lzdGVtLmg+CiNp bmNsdWRlPGFzbS91YWNjZXNzLmg+CiNpbmNsdWRlPGxpbnV4L3ZlcnNpb24uaD4KI2luY2x1ZGU8 YXNtL2lvLmg+CgovKiBsb2NhbCBpbmNsdWRlICovCiNpbmNsdWRlICJzMmlvLmgiCiNpbmNsdWRl ICJyZWdzLmgiCiNpbmNsdWRlICJ1dGlsLmgiCgovKiBMb2FkIGRyaXZlciBhcyBhIG1vZHVsZSAq LwojZGVmaW5lIEFTX0FfTU9EVUxFCgovKiBWRU5ET1IgYW5kIERFVklDRSBJRCBvZiBYRU5BLiAq LwojZGVmaW5lIFBDSV9WRU5ET1JfSURfUzJJTyAgICAgIDB4MTdENQojZGVmaW5lIFBDSV9ERVZJ Q0VfSURfUzJJT19XSU4gIDB4NTczMQojZGVmaW5lIFBDSV9ERVZJQ0VfSURfUzJJT19VTkkgIDB4 NTgzMSAgCgpzdGF0aWMgY2hhciBzMmlvX2RyaXZlcl9uYW1lW10gPSAiUzJJTyI7CiNpZm5kZWYg U0VUX05FVERFVl9ERVYKI2RlZmluZSBTRVRfTkVUREVWX0RFVihhLCBiKQlkbyB7fSB3aGlsZSgw KQojZW5kaWYKCi8qIFJ4IFJvdW5kIHJvYmluIHJlZ2lzdGVyJ3MgUmVzZXQgdmFsdWVzLiBUaGVz ZSBhcmUgYSBkdXBsaWNhdGUgb2YgCiAqIHRoZSBUeCByZWdpc3RlcidzIHJlc2V0IHZhbHVlcy4g U2V0dGluZyB2YWx1ZXMgaW50byB0aGVzZSByZWdpc3RlcnMKICogZGVwZW5kaW5nIG9uIHRoZSBU eCBhbmQgUnggcmluZyBzaXplcyBpcyBUT0RPLgogKi8Kc3RhdGljIHU2NCByb3VuZF9yb2Jpbl9y ZWcwID0gMHgwMDAxMDIwMzA0MDAwMTA1OwpzdGF0aWMgdTY0IHJvdW5kX3JvYmluX3JlZzEgPSAw eDAyMDAwMzAxMDYwMDAyMDQ7CnN0YXRpYyB1NjQgcm91bmRfcm9iaW5fcmVnMiA9IDB4MDEwMzAw MDUwMjAxMDAwNzsKc3RhdGljIHU2NCByb3VuZF9yb2Jpbl9yZWczID0gMHgwMzA0MDEwMDAyMDYw NTAwOwpzdGF0aWMgdTY0IHJvdW5kX3JvYmluX3JlZzQgPSAweDAxMDMwMjA0MDAwMDAwMDA7Cgov KlByb3RvdHlwZSBkZWNsYXJhdGlvbiBvZiB0aGUgdXNlZCBmdW5jdGlvbnMgKi8Kc3RhdGljIGlu dCBfX2RldmluaXQgczJpb19pbml0X25pYyhzdHJ1Y3QgcGNpX2RldiAqcGRldiwKICAgIGNvbnN0 IHN0cnVjdCBwY2lfZGV2aWNlX2lkICpwcmUpOwpzdGF0aWMgdm9pZCBfX2V4aXQgczJpb19yZW1f bmljKHN0cnVjdCBwY2lfZGV2ICpwZGV2KTsKc3RhdGljIGludCBpbml0U2hhcmVkTWVtKHN0cnVj dCBzMmlvX25pYyAqc3ApOwpzdGF0aWMgdm9pZCBmcmVlU2hhcmVkTWVtKHN0cnVjdCBzMmlvX25p YyAqc3ApOwpzdGF0aWMgaW50IGluaXROaWMoc3RydWN0IHMyaW9fbmljICpuaWMpOwojaWZuZGVm IENPTkZJR1VSRV9OQVBJX1NVUFBPUlQKc3RhdGljIHZvaWQgcnhJbnRySGFuZGxlcihzdHJ1Y3Qg czJpb19uaWMgKnNwKTsKI2VuZGlmCnN0YXRpYyB2b2lkIHR4SW50ckhhbmRsZXIoc3RydWN0IHMy aW9fbmljICpzcCk7CnN0YXRpYyB2b2lkIGFsYXJtSW50ckhhbmRsZXIoc3RydWN0IHMyaW9fbmlj ICpzcCk7CgppbnQgczJpb19zdGFydGVyKHZvaWQpOwp2b2lkIHMyaW9fY2xvc2VyKHZvaWQpOwp2 b2lkIHMyaW9fdHhfd2F0Y2hkb2coc3RydWN0IG5ldF9kZXZpY2UgKmRldik7CnZvaWQgczJpb190 YXNrbGV0KHVuc2lnbmVkIGxvbmcgZGV2X2FkZHIpOwp2b2lkIHMyaW9fc2V0X211bHRpY2FzdChz dHJ1Y3QgbmV0X2RldmljZSAqZGV2KTsKaW50IHJ4T3NtSGFuZGxlcihuaWNfdCAqc3AsdTE2IGxl bixSeERfdCAqcnhkcCxpbnQgcmluZ19ubyk7CnZvaWQgczJpb19saW5rKG5pY190ICpzcCwgaW50 IGxpbmspOwp2b2lkIHMyaW9fcmVzZXQobmljX3QgKnNwKTsKI2lmZGVmIENPTkZJR1VSRV9OQVBJ X1NVUFBPUlQKc3RhdGljIGludCBzMmlvX3BvbGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50 ICpidWRnZXQpOwojZW5kaWYKCiNkZWZpbmUgVEFTS0xFVF9JTl9VU0UJdGVzdF9hbmRfc2V0X2Jp dCgwLCAodW5zaWduZWQgbG9uZyAqKSZzcC0+dGFza2xldF9zdGF0dXMpCiNkZWZpbmUgUEFOSUMJ MQojZGVmaW5lIExPVwkyCnN0YXRpYyBpbmxpbmUgaW50IHJ4X2J1ZmZlcl9sZXZlbChuaWNfdCAq c3AsIGludCByeGJfc2l6ZSwgaW50IHJpbmcpCnsKCWludCBsZXZlbCA9IDA7CglpZigoc3AtPnBr dF9jbnRbcmluZ10gLSByeGJfc2l6ZSkgPiAxMjgpIHsKCQlsZXZlbCA9IExPVzsKCQlpZihyeGJf c2l6ZSA8IHNwLT5wa3RfY250W3JpbmddLzgpCgkJCWxldmVsID0gUEFOSUM7Cgl9CgkKCXJldHVy biBsZXZlbDsKfQoKI2lmZGVmIENPTkZJR1VSRV9FVEhUT09MX1NVUFBPUlQKc3RhdGljIGludCBz MmlvX2V0aHRvb2woc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICpycSk7Cmlu dCBldGhfdGVzdF9yY3ZyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpk ZXYsIAoJc3RydWN0IHBhY2tldF90eXBlICpwdCk7CiNkZWZpbmUgRVRIX0xPT1BfVEVTVF9UWVBF CQkweDE3RDUgLyogTmVlZCB0byBvYnRhaW4gYSB2YWx1ZSBmb3IKCQkJCQkJICBvdXIgcHJpdmF0 ZSBwcm90b2NvbCBJRCBmcm9tCgkJCQkJCSAgdGhlIGNvbW11bml0eS4gKi8JCiNkZWZpbmUgRVRI X0xPT1BfVEVTVF9DTlQJCTMKI2RlZmluZSBFVEhfTE9PUF9URVNUX0RFTEFZCQkzCiNkZWZpbmUJ VEVTVF9GUk1fU0laRQkJCTB4NDAKI2RlZmluZSBURVNUX1NFUV9TSVpFCQkJMQpzdGF0aWMgc3Ry dWN0IHBhY2tldF90eXBlIGV0aHRvb2xfdGVzdCA9IAp7CgkudHlwZSA9IEVUSF9MT09QX1RFU1Rf VFlQRSwKCS5mdW5jID0gZXRoX3Rlc3RfcmN2cgp9OwkKc3RhdGljIGNoYXIgczJpb19nc3RyaW5n c1tdW0VUSF9HU1RSSU5HX0xFTl0gPSB7CiJSZWdpc3RlciB0ZXN0XHQob2ZmbGluZSkiLAoiRWVw cm9tIHRlc3RcdChvZmZsaW5lKSIsCiJMb29wIGJhY2sgdGVzdFx0KG9ubGluZSkiLAoiTGluayB0 ZXN0XHQob25saW5lKSIsCiJSTERSQU0gdGVzdFx0KG9mZmxpbmUpIiwKIkJJU1QgVGVzdFx0KG9m ZmxpbmUpIgp9OwojZGVmaW5lIFMySU9fVEVTVF9MRU4Jc2l6ZW9mKHMyaW9fZ3N0cmluZ3MpIC8g RVRIX0dTVFJJTkdfTEVOCiNkZWZpbmUgUzJJT19TVFJJTkdTX0xFTglTMklPX1RFU1RfTEVOICog RVRIX0dTVFJJTkdfTEVOCiNlbmRpZiAvKiogQ09ORklHVVJFX0VUSFRPT0xfU1VQUE9SVCAqKi8K CiNpZmRlZiBLRVJOXzI2CnN0YXRpYyBpcnFyZXR1cm5fdCBzMmlvX2lzcihpbnQgaXJxLCB2b2lk ICpkZXZfaWQsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKI2Vsc2UKdm9pZCBzMmlvX2lzcihpbnQg aXJxLCB2b2lkICpkZXZfaWQsIHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKI2VuZGlmIC8qKiBLRVJO XzI2ICoqLwoKc3RhdGljIGludCB2ZXJpZnlfeGVuYV9xdWllc2NlbmNlKHU2NCB2YWw2NCwgaW50 IGZsYWcpOwoKLyogTW9kdWxlIExvYWRhYmxlIHBhcmFtZXRlcnMuICovCnN0YXRpYyB1MzIgcmlu Z19udW07CnN0YXRpYyB1MzIgZnJhbWVfbGVuW01BWF9SWF9SSU5HU107CnN0YXRpYyB1MzIgcmlu Z19sZW5bTUFYX1JYX1JJTkdTXTsKc3RhdGljIHUzMiBmaWZvX251bTsKc3RhdGljIHUzMiBmaWZv X2xlbltNQVhfVFhfRklGT1NdOyAKc3RhdGljIHUzMiByeF9wcmlvOwpzdGF0aWMgdTMyIHR4X3By aW87CnN0YXRpYyB1OCBsYXRlbmN5X3RpbWVyPTB4ZmY7CgovKiAKICogUzJJTyBkZXZpY2UgdGFi bGUuCiAqIFRoaXMgdGFibGUgbGlzdHMgYWxsIHRoZSBkZXZpY2VzIHRoYXQgdGhpcyBkcml2ZXIg c3VwcG9ydHMuIAogKi8Kc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHMyaW9fdGJsW10gX19k ZXZpbml0ZGF0YT0gewoJeyBQQ0lfVkVORE9SX0lEX1MySU8sUENJX0RFVklDRV9JRF9TMklPX1dJ TiwKCQlQQ0lfQU5ZX0lELFBDSV9BTllfSUR9LAoJeyBQQ0lfVkVORE9SX0lEX1MySU8sUENJX0RF VklDRV9JRF9TMklPX1VOSSwKCQlQQ0lfQU5ZX0lELFBDSV9BTllfSUR9LAoJeyAwLH0KfTsKTU9E VUxFX0RFVklDRV9UQUJMRShwY2ksIHMyaW9fdGJsKTsKCnN0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZl ciBzMmlvX2RyaXZlciA9IHsKCW5hbWU6ICAgICAgICJTMklPIiwKCWlkX3RhYmxlOiAgIHMyaW9f dGJsLAoJcHJvYmU6ICAgICAgczJpb19pbml0X25pYywKCXJlbW92ZTogICAgIHMyaW9fcmVtX25p YywKI2lmZGVmIFVOREVGSU5FRAoJc3VzcGVuZDogICAgTlVMTCwKCXJlc3VtZTogICAgIE5VTEws CiNlbmRpZiAgICAgIAp9OwoKLyogIAogKiAgSW5wdXQgQXJndW1lbnRzOiAKICogIERldmljZSBw cml2YXRlIHZhcmlhYmxlLgogKiAgUmV0dXJuIFZhbHVlOiAKICogIFNVQ0NFU1Mgb24gc3VjY2Vz cyBhbmQgYW4gYXBwcm9wcmlhdGUgLXZlIHZhbHVlIG9uIGZhaWx1cmUuCiAqICBEZXNjcmlwdGlv bjogCiAqICBUaGUgZnVuY3Rpb24gYWxsb2NhdGVzIHRoZSBhbGwgbWVtb3J5IGFyZWFzIHNoYXJl ZCAKICogIGJldHdlZW4gdGhlIE5JQyBhbmQgdGhlIGRyaXZlci4gVGhpcyBpbmNsdWRlcyBUeCBk ZXNjcmlwdG9ycywgCiAqICBSeCBkZXNjcmlwdG9ycyBhbmQgdGhlIHN0YXRpc3RpY3MgYmxvY2su CiAqLwpzdGF0aWMgaW50IGluaXRTaGFyZWRNZW0oc3RydWN0IHMyaW9fbmljICpuaWMpCnsKCXUz MiBzaXplOwoJdm9pZCAqdG1wX3ZfYWRkciwgKnRtcF92X2FkZHJfbmV4dDsKCWRtYWFkZHJfdCAg IHRtcF9wX2FkZHIsIHRtcF9wX2FkZHJfbmV4dDsKCVJ4RF9ibG9ja190ICpwcmVfcnhkX2JsayA9 IE5VTEw7CglpbnQgaSxqLCBibGtfY250OwoJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IG5pYy0+ ZGV2OwoJI2lmZGVmIEFSQ0hfUFBDNjQKCWRtYV9hZGRyX3QgcGh5X2FsbG9jOwoJI2VuZGlmCgoK CW5pYy0+X2ZSZXNvdXJjZSA9IDA7Ci8qIEFsbG9jYXRpb24gYW5kIGluaXRpYWxpemF0aW9uIG9m IFRYRExzIGluIEZJT0ZzICovCglzaXplID0gMDsKCWZvcihpPTA7IGk8bmljLT5jb25maWcuVHhG SUZPTnVtOyBpKyspIHsKCQlzaXplICs9IG5pYy0+Y29uZmlnLlR4Q2ZnW2ldLkZpZm9MZW47Cgl9 CglpZihzaXplID4gTUFYX0FWQUlMQUJMRV9UWERTKSB7CgkJREJHX1BSSU5UKEVSUl9EQkcsIiVz OiBUb3RhbCBudW1iZXIgb2YgVHggRklGT3MgIixkZXYtPm5hbWUpOwoJCURCR19QUklOVChFUlJf REJHLCJleGNlZWRzIHRoZSBtYXhpbXVtIHZhbHVlICIpOwoJCURCR19QUklOVChFUlJfREJHLCJ0 aGF0IGNhbiBiZSB1c2VkXG4iKTsKCQlyZXR1cm4gRkFJTFVSRTsJCgl9CglzaXplICo9IChzaXpl b2YoVHhEX3QpICogbmljLT5jb25maWcuTWF4VHhEcyk7CgoJI2lmZGVmIEFSQ0hfUFBDNjQKCW5p Yy0+bWFjX2NvbnRyb2wudHhkX2xpc3RfbWVtID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQKCQkobmlj LT5wZGV2LCBzaXplLCAmcGh5X2FsbG9jKTsKCW5pYy0+bWFjX2NvbnRyb2wudHhkX2xpc3RfbWVt X3BoeSA9IHBoeV9hbGxvYzsKCSNlbHNlCgluaWMtPm1hY19jb250cm9sLnR4ZF9saXN0X21lbSA9 IHBjaV9hbGxvY19jb25zaXN0ZW50CgkJKG5pYy0+cGRldiwgc2l6ZSwgJm5pYy0+bWFjX2NvbnRy b2wudHhkX2xpc3RfbWVtX3BoeSk7CgkjZW5kaWYKCglpZighbmljLT5tYWNfY29udHJvbC50eGRf bGlzdF9tZW0pIHsKCQlyZXR1cm4gLUVOT01FTTsKCX0gZWxzZSB7CgkJbmljLT5fZlJlc291cmNl IHw9IFRYRF9BTExPQ0VEOwoJfQoJbmljLT5tYWNfY29udHJvbC50eGRfbGlzdF9tZW1fc3ogPSBz aXplOwoKCXRtcF92X2FkZHIgPSBuaWMtPm1hY19jb250cm9sLnR4ZF9saXN0X21lbTsKCXRtcF9w X2FkZHIgPSBuaWMtPm1hY19jb250cm9sLnR4ZF9saXN0X21lbV9waHk7CgltZW1zZXQodG1wX3Zf YWRkciwwLHNpemUpOwoJI2lmbmRlZiBYRU5BX0FSQ0hfNjQKCURCR19QUklOVChJTklUX0RCRywi JXM6TGlzdCBNZW0gUEhZOiAweCV4XG4iLGRldi0+bmFtZSx0bXBfcF9hZGRyKTsKCSNlbHNlCglE QkdfUFJJTlQoSU5JVF9EQkcsIiVzOkxpc3QgTWVtIFBIWTogMHglbHhcbiIsZGV2LT5uYW1lLHRt cF9wX2FkZHIpOwoJI2VuZGlmCgkKCWZvcihpPTA7aTxuaWMtPmNvbmZpZy5UeEZJRk9OdW07aSsr KSB7CgkJbmljLT5tYWNfY29udHJvbC50eGRsX3N0YXJ0X3BoeVtpXSA9IHRtcF9wX2FkZHI7CgkJ bmljLT5tYWNfY29udHJvbC50eGRsX3N0YXJ0W2ldID0gKFR4RF90ICopdG1wX3ZfYWRkcjsKCQlu aWMtPm1hY19jb250cm9sLnR4X2N1cnJfcHV0X2luZm9baV0ub2Zmc2V0ID0gMDsKCQluaWMtPm1h Y19jb250cm9sLnR4X2N1cnJfcHV0X2luZm9baV0uZmlmb19sZW4gPQoJCW5pYy0+Y29uZmlnLlR4 Q2ZnW2ldLkZpZm9MZW4tMTsKCQluaWMtPm1hY19jb250cm9sLnR4X2N1cnJfZ2V0X2luZm9baV0u b2Zmc2V0ID0gMDsKCQluaWMtPm1hY19jb250cm9sLnR4X2N1cnJfZ2V0X2luZm9baV0uZmlmb19s ZW4gPQoJCW5pYy0+Y29uZmlnLlR4Q2ZnW2ldLkZpZm9MZW4tMTsKCQoJCXRtcF9wX2FkZHIgKz0g KG5pYy0+Y29uZmlnLlR4Q2ZnW2ldLkZpZm9MZW4qKHNpemVvZihUeERfdCkpKgoJCQluaWMtPmNv bmZpZy5NYXhUeERzKTsKCQl0bXBfdl9hZGRyICs9IChuaWMtPmNvbmZpZy5UeENmZ1tpXS5GaWZv TGVuKihzaXplb2YoVHhEX3QpKSoKCQkJIG5pYy0+Y29uZmlnLk1heFR4RHMpOwoJfQoKLyogQWxs b2NhdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24gb2YgUlhEcyBpbiBSaW5ncyAqLwoJc2l6ZSA9IDA7 Cglmb3IoaT0wOyBpPG5pYy0+Y29uZmlnLlJ4UmluZ051bTsgaSsrKSB7CgkJaWYobmljLT5jb25m aWcuUnhDZmdbaV0uTnVtUnhkICUgMTI4KSB7CgkJCURCR19QUklOVChFUlJfREJHLCIlczogUnhE IGNvdW50IG9mICIsZGV2LT5uYW1lKTsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIlJpbmclZCBpcyBu b3QgYSBtdWx0aXBsZSBvZiAiLCBpKTsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIlJ4RHMgcGVyIEJs b2NrIik7CgkJCXJldHVybiBGQUlMVVJFOwoJCX0KCQlzaXplICs9IG5pYy0+Y29uZmlnLlJ4Q2Zn W2ldLk51bVJ4ZDsKCQluaWMtPmJsb2NrX2NvdW50W2ldID0gCgkJCW5pYy0+Y29uZmlnLlJ4Q2Zn W2ldLk51bVJ4ZC8oTUFYX1JYRFNfUEVSX0JMT0NLKzEpOwoJCW5pYy0+cGt0X2NudFtpXSA9IAoJ CQluaWMtPmNvbmZpZy5SeENmZ1tpXS5OdW1SeGQtbmljLT5ibG9ja19jb3VudFtpXTsKCX0KCXNp emUgPSAoc2l6ZSooc2l6ZW9mKFJ4RF90KSkpOwoJbmljLT5tYWNfY29udHJvbC5yeGRfcmluZ19t ZW1fc3ogPSBzaXplOwoKCWZvcihpPTA7aTxuaWMtPmNvbmZpZy5SeFJpbmdOdW07aSsrKSB7CgkJ bmljLT5tYWNfY29udHJvbC5yeF9jdXJyX2dldF9pbmZvW2ldLmJsb2NrX2luZGV4ID0gMDsKCQlu aWMtPm1hY19jb250cm9sLnJ4X2N1cnJfZ2V0X2luZm9baV0ub2Zmc2V0ID0gMDsKCQluaWMtPm1h Y19jb250cm9sLnJ4X2N1cnJfZ2V0X2luZm9baV0ucmluZ19sZW4gPQoJCW5pYy0+Y29uZmlnLlJ4 Q2ZnW2ldLk51bVJ4ZCAtIDE7CgkJbmljLT5tYWNfY29udHJvbC5yeF9jdXJyX3B1dF9pbmZvW2ld LmJsb2NrX2luZGV4ID0gMDsKCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9baV0u b2Zmc2V0ID0gMDsKCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9baV0ucmluZ19s ZW4gPQoJCW5pYy0+Y29uZmlnLlJ4Q2ZnW2ldLk51bVJ4ZCAtIDE7CgkJYmxrX2NudCA9IG5pYy0+ Y29uZmlnLlJ4Q2ZnW2ldLk51bVJ4ZC8oTUFYX1JYRFNfUEVSX0JMT0NLKzEpOwoJLyogIEFsbG9j YXRpbmcgYWxsIHRoZSBSeCBibG9ja3MgKi8KCQlmb3Ioaj0wO2o8YmxrX2NudDtqKyspIHsKCQkJ c2l6ZSA9IChNQVhfUlhEU19QRVJfQkxPQ0srMSkqKHNpemVvZihSeERfdCkpOwoJCQkjaWZkZWYg QVJDSF9QUEM2NAoJCQl0bXBfdl9hZGRyID0gcGNpX2FsbG9jX2NvbnNpc3RlbnQobmljLT5wZGV2 LCBzaXplLCAKCQkJCQkmcGh5X2FsbG9jKTsKCQkJdG1wX3BfYWRkciA9IHBoeV9hbGxvYzsKCQkJ I2Vsc2UKCQkJdG1wX3ZfYWRkciA9IHBjaV9hbGxvY19jb25zaXN0ZW50KG5pYy0+cGRldiwgc2l6 ZSwgCgkJCQkJJnRtcF9wX2FkZHIpOwoJCQkjZW5kaWYKCQkJbWVtc2V0KHRtcF92X2FkZHIsMCxz aXplKTsJCgkJCW5pYy0+cnhfYmxvY2tzW2ldW2pdLmJsb2NrX3ZpcnRfYWRkciA9IHRtcF92X2Fk ZHI7CgkJCW5pYy0+cnhfYmxvY2tzW2ldW2pdLmJsb2NrX2RtYV9hZGRyID0gdG1wX3BfYWRkcjsK CQl9CgkJLyogSW50ZXJsaW5raW5nIGFsbCBSeCBCbG9ja3MgKi8KCQlmb3Ioaj0wO2o8YmxrX2Nu dDtqKyspIHsKCQkJdG1wX3ZfYWRkciA9IG5pYy0+cnhfYmxvY2tzW2ldW2pdLmJsb2NrX3ZpcnRf YWRkcjsKCQkJdG1wX3ZfYWRkcl9uZXh0ID0gbmljLT5yeF9ibG9ja3NbaV1bKGorMSklYmxrX2Nu dF0uCgkJCQkJYmxvY2tfdmlydF9hZGRyOwoJCQl0bXBfcF9hZGRyID0gbmljLT5yeF9ibG9ja3Nb aV1bal0uYmxvY2tfZG1hX2FkZHI7CgkJCXRtcF9wX2FkZHJfbmV4dCA9IG5pYy0+cnhfYmxvY2tz W2ldWyhqKzEpJWJsa19jbnRdLgoJCQkJCWJsb2NrX2RtYV9hZGRyOwoKCQkJcHJlX3J4ZF9ibGsg PSAoUnhEX2Jsb2NrX3QgKil0bXBfdl9hZGRyOwoJCQlwcmVfcnhkX2Jsay0+cmVzZXJ2ZWRfMCA9 IE5PTlpFUk87CgkJCXByZV9yeGRfYmxrLT5yZXNlcnZlZF8xID0gRU5EX09GX0JMT0NLOwkvKiBs YXN0IFJ4RCAKCQkJCQkJCQkgKiBtYXJrZXIuCgkJCQkJCQkJICovCgkJCXByZV9yeGRfYmxrLT5y ZXNlcnZlZF8yX3BOZXh0X1J4RF9ibG9jayA9IAoJCQkJCShSeERfdCAqKXRtcF92X2FkZHJfbmV4 dDsKCQkJcHJlX3J4ZF9ibGstPnBOZXh0X1J4RF9CbGtfcGh5c2ljYWwgPSAKCQkJCQkodTY0KXRt cF9wX2FkZHJfbmV4dDsKCQl9Cgl9CgovKiBBbGxvY2F0aW9uIGFuZCBpbml0aWFsaXphdGlvbiBv ZiBTdGF0aXN0aWNzIGJsb2NrICovCglzaXplID0gMDsKCXNpemUgPSBzaXplb2YoU3RhdEluZm9f dCk7CgojaWZkZWYgQVJDSF9QUEM2NAoJbmljLT5tYWNfY29udHJvbC5zdGF0c19tZW0gPSBwY2lf YWxsb2NfY29uc2lzdGVudAoJCQkobmljLT5wZGV2LCBzaXplLCAmcGh5X2FsbG9jKTsKCW5pYy0+ bWFjX2NvbnRyb2wuc3RhdHNfbWVtX3BoeSA9IHBoeV9hbGxvYzsKI2Vsc2UKCgluaWMtPm1hY19j b250cm9sLnN0YXRzX21lbSA9IHBjaV9hbGxvY19jb25zaXN0ZW50CgkJKG5pYy0+cGRldiwgc2l6 ZSwgJm5pYy0+bWFjX2NvbnRyb2wuc3RhdHNfbWVtX3BoeSk7CiNlbmRpZgoKCWlmKCFuaWMtPm1h Y19jb250cm9sLnN0YXRzX21lbSkgewoJCXJldHVybiAtRU5PTUVNOwoJfSBlbHNlIHsKCQluaWMt Pl9mUmVzb3VyY2UgfD0gU1RBVFNfQUxMT0NFRDsKCX0KCW5pYy0+bWFjX2NvbnRyb2wuc3RhdHNf bWVtX3N6ID0gc2l6ZTsKCgl0bXBfdl9hZGRyID0gbmljLT5tYWNfY29udHJvbC5zdGF0c19tZW07 CgluaWMtPm1hY19jb250cm9sLlN0YXRzSW5mbyA9IChTdGF0SW5mb190ICopdG1wX3ZfYWRkcjsK CW1lbXNldCh0bXBfdl9hZGRyLDAsc2l6ZSk7CgoJdG1wX3BfYWRkciA9IG5pYy0+bWFjX2NvbnRy b2wuc3RhdHNfbWVtX3BoeTsKCW5pYy0+bWFjX2NvbnRyb2wuU3RhdHNJbmZvUGh5ID0gdG1wX3Bf YWRkcjsKCiNpZm5kZWYgWEVOQV9BUkNIXzY0CglEQkdfUFJJTlQoSU5JVF9EQkcsIiVzOlJpbmcg TWVtIFBIWTogMHgleFxuIixkZXYtPm5hbWUsdG1wX3BfYWRkcik7CiNlbHNlCglEQkdfUFJJTlQo SU5JVF9EQkcsIiVzOlJpbmcgTWVtIFBIWTogMHglbHhcbiIsZGV2LT5uYW1lLHRtcF9wX2FkZHIp OwojZW5kaWYKCnJldHVybiBTVUNDRVNTOwp9CgovKiAgCiAqICBJbnB1dCBBcmd1bWVudHM6IAog KiAgRGV2aWNlIHBlaXZhdGUgdmFyaWFibGUuCiAqICBSZXR1cm4gVmFsdWU6IAogKiAgTk9ORQog KiAgRGVzY3JpcHRpb246IAogKiAgVGhpcyBmdW5jdGlvbiBpcyB0byBmcmVlIGFsbCBtZW1vcnkg bG9jYXRpb25zIGFsbG9jYXRlZCBieQogKiAgdGhlIGluaXRTaGFyZWRNZW0oKSBmdW5jdGlvbiBh bmQgcmV0dXJuIGl0IHRvIHRoZSBrZXJuZWwuCiAqLwpzdGF0aWMgdm9pZCBmcmVlU2hhcmVkTWVt KHN0cnVjdCBzMmlvX25pYyAqbmljKQp7CglpbnQgaSxqLCBibGtfY250LHNpemU7Cgl2b2lkICp0 bXBfdl9hZGRyOwoJZG1hYWRkcl90IHRtcF9wX2FkZHI7CgoJaWYoIW5pYykKCQlyZXR1cm47Cglp ZihuaWMtPl9mUmVzb3VyY2UgJiBUWERfQUxMT0NFRCkgewoJCW5pYy0+X2ZSZXNvdXJjZSAmPSB+ VFhEX0FMTE9DRUQ7CgkJcGNpX2ZyZWVfY29uc2lzdGVudChuaWMtPnBkZXYsbmljLT5tYWNfY29u dHJvbC50eGRfbGlzdF9tZW1fc3osCgkJbmljLT5tYWNfY29udHJvbC50eGRfbGlzdF9tZW0sCgkJ bmljLT5tYWNfY29udHJvbC50eGRfbGlzdF9tZW1fcGh5KTsKCX0KCglpZihuaWMtPl9mUmVzb3Vy Y2UgJiBSWERfQUxMT0NFRCkgewoJCW5pYy0+X2ZSZXNvdXJjZSAmPSB+UlhEX0FMTE9DRUQ7CgkJ c2l6ZSA9IChNQVhfUlhEU19QRVJfQkxPQ0srMSkqKHNpemVvZihSeERfdCkpOwoJCWZvcihpPTA7 IGk8bmljLT5jb25maWcuUnhSaW5nTnVtOyBpKyspIHsKCQkJYmxrX2NudCA9IG5pYy0+YmxvY2tf Y291bnRbaV07CgkJCWZvcihqPTA7IGo8YmxrX2NudDsgaisrKSB7CgkJCQl0bXBfdl9hZGRyPW5p Yy0+cnhfYmxvY2tzW2ldW2pdLmJsb2NrX3ZpcnRfYWRkcjsKCQkJCXRtcF9wX2FkZHI9bmljLT5y eF9ibG9ja3NbaV1bal0uYmxvY2tfZG1hX2FkZHI7CgkJCQlwY2lfZnJlZV9jb25zaXN0ZW50KG5p Yy0+cGRldiwgc2l6ZSx0bXBfdl9hZGRyLAoJCQkJCQl0bXBfcF9hZGRyKTsKCQkJfQoJCX0KCX0K CglpZihuaWMtPl9mUmVzb3VyY2UgJiBTVEFUU19BTExPQ0VEKSB7CgkJbmljLT5fZlJlc291cmNl ICY9IH5TVEFUU19BTExPQ0VEOwoJCXBjaV9mcmVlX2NvbnNpc3RlbnQobmljLT5wZGV2LG5pYy0+ bWFjX2NvbnRyb2wuc3RhdHNfbWVtX3N6LAoJCW5pYy0+bWFjX2NvbnRyb2wuc3RhdHNfbWVtLAoJ CW5pYy0+bWFjX2NvbnRyb2wuc3RhdHNfbWVtX3BoeSk7Cgl9Cn0KCi8qICAKICogIElucHV0IEFy Z3VtZW50czogCiAqICBkZXZpY2UgcGVpdmF0ZSB2YXJpYWJsZQogKiAgUmV0dXJuIFZhbHVlOiAK ICogIFNVQ0NFU1Mgb24gc3VjY2VzcyBhbmQgJy0xJyBvbiBmYWlsdXJlIChlbmRpYW4gc2V0dGlu Z3MgaW5jb3JyZWN0KS4KICogIERlc2NyaXB0aW9uOiAKICogIFRoZSBmdW5jdGlvbiBzZXF1ZW50 aWFsbHkgY29uZmlndXJlcyBldmVyeSBibG9jayAKICogIG9mIHRoZSBIL1cgZnJvbSB0aGVpciBy ZXNldCB2YWx1ZXMuIAogKi8Kc3RhdGljIGludCBpbml0TmljKHN0cnVjdCBzMmlvX25pYyAqbmlj KQp7ClhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhFTkFfZGV2X2NvbmZpZ190ICopbmljLT5i YXIwOwpzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gbmljLT5kZXY7CnJlZ2lzdGVyIHU2NCB2YWw2 NCA9IDA7CnZvaWQgKmFkZDsKdTMyIHRpbWUsIG1lbV9zaGFyZTsKaW50IGksajsKCi8qICBTZXQg cHJvcGVyIGVuZGlhbiBzZXR0aW5ncyBhbmQgdmVyaWZ5IHRoZSBzYW1lIGJ5IHJlYWRpbmcgdGhl IFBJRiAKRmVlZC1iYWNrIHJlZ2lzdGVyICovCiNpZmRlZiAgX19CSUdfRU5ESUFOCi8qIFRoZSBk ZXZpY2UgYnkgZGVmYXVsdCBzZXQgdG8gYSBiaWcgZW5kaWFuIGZvcm1hdCwgc28gYSBiaWcgZW5k aWFuCiAqIGRyaXZlciBuZWVkIG5vdCBzZXQgYW55dGhpbmcuCiAqLwojaWZkZWYgQVJDSF9QUEM2 NAoJd3JpdGU2NCgmYmFyMC0+c3dhcHBlcl9jdHJsLCAweGZmZmZmZmZmZmZmZmZmZmYpOwkKCXZh bDY0ID0gKAoJU1dBUFBFUl9DVFJMX1BJRl9SX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9QSUZfUl9T RSAgICB8CglTV0FQUEVSX0NUUkxfUElGX1dfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1BJRl9XX1NF ICAgIHwKCVNXQVBQRVJfQ1RSTF9UWFBfRkUgICAgICB8CglTV0FQUEVSX0NUUkxfVFhQX1NFICAg ICAgfAoJU1dBUFBFUl9DVFJMX1RYRF9SX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9UWERfV19GRSAg ICB8IAoJU1dBUFBFUl9DVFJMX1RYRl9SX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9SWERfUl9GRSAg ICB8CglTV0FQUEVSX0NUUkxfUlhEX1dfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1JYRl9XX0ZFICAg IHwKCVNXQVBQRVJfQ1RSTF9YTVNJX0ZFICAgICB8CglTV0FQUEVSX0NUUkxfWE1TSV9TRSAgICAg fAoJU1dBUFBFUl9DVFJMX1NUQVRTX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9TVEFUU19TRSApOyAK CXdyaXRlNjQoJmJhcjAtPnN3YXBwZXJfY3RybCwgdmFsNjQpOwojZW5kaWYKI2Vsc2UKLyogSW5p dGlhbGx5IHdlIGVuYWJsZSBhbGwgYml0cyB0byBtYWtlIGl0IGFjY2Vzc2libGUgYnkgdGhlIGRy aXZlciwKICogdGhlbiB3ZSBzZWxlY3RpdmVseSBlbmFibGUgb25seSB0aG9zZSBiaXRzIHRoYXQg d2Ugd2FudCB0byBzZXQuCiAqLwoJd3JpdGU2NCgmYmFyMC0+c3dhcHBlcl9jdHJsLCAweGZmZmZm ZmZmZmZmZmZmZmYpOwoJdmFsNjQgPSAoICAgCglTV0FQUEVSX0NUUkxfUElGX1JfRkUgICAgfAoJ U1dBUFBFUl9DVFJMX1BJRl9SX1NFICAgIHwKCVNXQVBQRVJfQ1RSTF9QSUZfV19GRSAgICB8CglT V0FQUEVSX0NUUkxfUElGX1dfU0UgICAgfAoJU1dBUFBFUl9DVFJMX1RYUF9GRSAgICAgIHwKCVNX QVBQRVJfQ1RSTF9UWFBfU0UgICAgICB8CglTV0FQUEVSX0NUUkxfVFhEX1JfRkUgICAgfAoJU1dB UFBFUl9DVFJMX1RYRF9SX1NFICAgIHwKCVNXQVBQRVJfQ1RSTF9UWERfV19GRSAgICB8CglTV0FQ UEVSX0NUUkxfVFhEX1dfU0UgICAgfAoJU1dBUFBFUl9DVFJMX1RYRl9SX0ZFICAgIHwKCVNXQVBQ RVJfQ1RSTF9SWERfUl9GRSAgICB8CglTV0FQUEVSX0NUUkxfUlhEX1JfU0UgICAgfAoJU1dBUFBF Ul9DVFJMX1JYRF9XX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9SWERfV19TRSAgICB8CglTV0FQUEVS X0NUUkxfUlhGX1dfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1hNU0lfRkUgICAgIHwKCVNXQVBQRVJf Q1RSTF9YTVNJX1NFICAgICB8CglTV0FQUEVSX0NUUkxfU1RBVFNfRkUgICAgfAoJU1dBUFBFUl9D VFJMX1NUQVRTX1NFICk7Cgl3cml0ZTY0KCZiYXIwLT5zd2FwcGVyX2N0cmwsIHZhbDY0KTsKI2Vu ZGlmCgovKiAgVmVyaWZ5aW5nIGlmIGVuZGlhbiBzZXR0aW5ncyBhcmUgYWNjdXJhdGUgYnkgcmVh ZGluZyBhIGZlZWRiYWNrCiAqICByZWdpc3Rlci4KICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+ cGlmX3JkX3N3YXBwZXJfZmIpOwoJaWYodmFsNjQgIT0gMHgwMTIzNDU2Nzg5QUJDREVGKSB7Cgkv KiBFbmRpYW4gc2V0dGluZ3MgYXJlIGluY29ycmVjdCwgY2FsbHMgZm9yIGFub3RoZXIgZGVra28u ICovCgkJI2lmbmRlZiBYRU5BX0FSQ0hfNjQKCQlEQkdfUFJJTlQoSU5JVF9EQkcsIiVzOiBFbmRp YW4gc2V0dGluZ3MgYXJlIHdyb25nIixkZXYtPm5hbWUpOwoJCURCR19QUklOVChFUlJfREJHLCIs IGZlZWRiYWNrIHJlYWQgJWxseFxuIiwgdmFsNjQpOwoJCSNlbHNlCgkJREJHX1BSSU5UKElOSVRf REJHLCIlczogRW5kaWFuIHNldHRpbmdzIGFyZSB3cm9uZyIsZGV2LT5uYW1lKTsKCQlEQkdfUFJJ TlQoRVJSX0RCRywiLCBmZWVkYmFjayByZWFkICVseFxuIiwgdmFsNjQpOwoJCSNlbmRpZgoJCXJl dHVybiBGQUlMVVJFOwoJfQoKLyogUmVtb3ZlIFhHWFMgZnJvbSByZXNldCBzdGF0ZSovCgl2YWw2 NCA9IDA7Cgl3cml0ZTY0KCZiYXIwLT5zd19yZXNldCwgdmFsNjQpOwoJbWRlbGF5KDUwMCk7Cgov KiBOZWVkIHRvIHNldCBjb3JyZWN0IHZhbHVlcyBpbiB0aGUgZm9sbG93aW5nIFBJQyBDb250cm9s IHJlZ2lzdGVycyAKICogMS4gUElDIENvbnRyb2wKICogMi4gVHggcmVxdWVzdCB0aW1lb3V0CiAq IDMuIFN0YXRzIHJlcXVlc3QgdGltZW91dAogKiA0LiBSZWFkIHJldHJ5IGRlbGF5CiAqIDUuIFJl YWQgcmV0cnkgYWNjbGVyZXJhdGlvbgogKiA2LiBXcml0ZSByZXRyeSBkZWxheQogKiA3LiBXcml0 ZSByZXRyeSBhY2NsZXJlcmF0aW9uCiAqLwoKLyogIEVuYWJsZSBSZWNlaXZpbmcgYnJvYWRjYXN0 cyAqLwoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPm1hY19jZmcpOwoJdmFsNjQgfD0gTUFDX1JNQUNf QkNBU1RfRU5BQkxFOwoJd3JpdGU2NCgmYmFyMC0+cm1hY19jZmdfa2V5LCBSTUFDX0NGR19LRVko MHg0QzBEKSk7Cgl3cml0ZTY0KCZiYXIwLT5tYWNfY2ZnLCB2YWw2NCk7CgovKiBSZWFkIHJlZ2lz dGVycyBpbiBhbGwgYmxvY2tzICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWFjX2ludF9tYXNr KTsKCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5tY19pbnRfbWFzayk7Cgl2YWw2NCA9IHJlYWQ2NCgm YmFyMC0+eGd4c19pbnRfbWFzayk7CgovKiAgU2V0IE1UVSAqLwoJdmFsNjQgPSBkZXYtPm10dTsK CXdyaXRlNjQoJmJhcjAtPnJtYWNfbWF4X3B5bGRfbGVuLCB2QklUKHZhbDY0LDIsMTQpKTsKCi8q IEVuYWJsZSBEVFhfQ29udHJvbCByZWdpc3RlcnMuICovCi8qIExBVEVTVCBGaXggZ2l2ZW4gYnkg UmljaGFyZCB0byBmaXggWEFVSSBDb25maWd1cmF0aW9uICovCgl3cml0ZTY0KCZiYXIwLT5kdHhf Y29udHJvbCwweDgwMDAwNTE1MDAwMDAwMDApOwoJdWRlbGF5KDUwKTsJCgl3cml0ZTY0KCZiYXIw LT5kdHhfY29udHJvbCwweDgwMDAwNTE1MDAwMDAwRTApOwoJdWRlbGF5KDUwKTsJCgl3cml0ZTY0 KCZiYXIwLT5kdHhfY29udHJvbCwweDgwMDAwNTE1RDkzNTAwRTQpOwoJdWRlbGF5KDUwKTsJCgoJ d3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAxMDUxNTAwMDAwMDAwKTsKCXVkZWxheSg1 MCk7CQoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAxMDUxNTAwMDAwMEUwKTsKCXVk ZWxheSg1MCk7CQoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAxMDUxNTAwMUUwMEU0 KTsKCXVkZWxheSg1MCk7CQoKCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9sLDB4ODAwMjA1MTUw MDAwMDAwMCk7Cgl1ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9sLDB4ODAw MjA1MTUwMDAwMDBFMCk7Cgl1ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9s LDB4ODAwMjA1MTVGMjEwMDBFNCk7Cgl1ZGVsYXkoNTApOwkKCiNpZiAwIC8qIFhBVUkgRklYIE1B U0sgKi8KCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9sLDB4ODAwMDA1MTUwMDAwMDAwMCk7Cgl1 ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9sLDB4ODAwMDA1MTUwMDAwMDBF MCk7Cgl1ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAtPmR0eF9jb250cm9sLDB4ODAwMDA1MTVE OTM1MDBFQyk7Cgl1ZGVsYXkoNTApOwkKCgl3cml0ZTY0KCZiYXIwLT5kdHhfY29udHJvbCwweDgw MDEwNTE1MDAwMDAwMDApOwoJdWRlbGF5KDUwKTsJCgl3cml0ZTY0KCZiYXIwLT5kdHhfY29udHJv bCwweDgwMDEwNTE1MDAwMDAwRTApOwoJdWRlbGF5KDUwKTsJCgl3cml0ZTY0KCZiYXIwLT5kdHhf Y29udHJvbCwweDgwMDEwNTE1MDAwMDAwRUMpOwoJdWRlbGF5KDUwKTsJCgoJd3JpdGU2NCgmYmFy MC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMDAwKTsKCXVkZWxheSg1MCk7CQoJd3JpdGU2 NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMEUwKTsKCXVkZWxheSg1MCk7CQoJ d3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMEVDKTsKCXVkZWxheSg1 MCk7CQoKCXdyaXRlNjQoJmJhcjAtPm1kaW9fY29udHJvbCwweDAwMTgwNDAwMDAwMDAwMDApOwoJ dWRlbGF5KDUwKTsJCgl3cml0ZTY0KCZiYXIwLT5tZGlvX2NvbnRyb2wsMHgwMDE4MDQwMDAwMDAw MEUwKTsKCXVkZWxheSg1MCk7CQoJd3JpdGU2NCgmYmFyMC0+bWRpb19jb250cm9sLDB4MDAxODA0 MDAwMDAwMDBFQyk7Cgl1ZGVsYXkoNTApOwkKCgl3cml0ZTY0KCZiYXIwLT5kdHhfY29udHJvbCwg MHgwMDAwMDUxNTAwMDAwMDAwKTsKCXVkZWxheSg1MCk7CQoJd3JpdGU2NCgmYmFyMC0+ZHR4X2Nv bnRyb2wsIDB4MDAwMDA1MTU2MDQwMDBFMCk7Cgl1ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAt PmR0eF9jb250cm9sLCAweDAwMDAwNTE1NjA0MDAwRTQpOwoJdWRlbGF5KDUwKTsJCgl3cml0ZTY0 KCZiYXIwLT5kdHhfY29udHJvbCwgMHgwMDAwMDUxNTIwNDAwMEU0KTsKCXVkZWxheSg1MCk7CQoJ d3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsIDB4MDAwMDA1MTUyMDQwMDBFQyk7Cgl1ZGVsYXko NTApOwkKCgl3cml0ZTY0KCZiYXIwLT5tZGlvX2NvbnRyb2wsMHgwMDE4MDQwMDAwMDAwMDAwKTsK CXVkZWxheSg1MCk7CQoJd3JpdGU2NCgmYmFyMC0+bWRpb19jb250cm9sLDB4MDAxODA0MDAwMDAw MDBFMCk7Cgl1ZGVsYXkoNTApOwkKCXdyaXRlNjQoJmJhcjAtPm1kaW9fY29udHJvbCwweDAwMTgw NDAwMDAwMDAwRUMpOwoJdWRlbGF5KDUwKTsJCiNlbHNlCi8qIFRoaXMgbmV3IHNldHRpbmdzIGdp dmVuIGJ5IFJpY2hyYWQgb24gMTAgT2N0IGRvZXMgbm90IHNlZW0KICogdG8gd29yay4gU28gSWFt IHN0aWxsIHVzaW5nIHRoZSBvbGQgc2V0dGluZ3MuCiAqLwoKLyogU2V0IFBBRExPT1BCQUNLTiAq LwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMDAwKTsKCXVkZWxh eSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMEUwKTsK CXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNUIyMDAw MEU0KTsKCXVkZWxheSAoNTApOwoKLyogU2V0IFBBRExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFy MC0+ZHR4X2NvbnRyb2wsMHg4MDAzMDUxNTAwMDAwMDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2 NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAzMDUxNTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJ d3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAzMDUxNUIyMDAwMEU0KTsKCXVkZWxheSAo NTApOwoKLyogU2V0IFBBRExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2ws MHg4MDA0MDUxNTAwMDAwMDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2Nv bnRyb2wsMHg4MDA0MDUxNTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ ZHR4X2NvbnRyb2wsMHg4MDA0MDUxNUIyMDAwMEU0KTsKCXVkZWxheSAoNTApOwoKLyogU2V0IFBB RExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA1MDUxNTAwMDAw MDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA1MDUx NTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4 MDA1MDUxNUIyMDAwMEU0KTsKCXVkZWxheSAoNTApOwoKLyogUmVzZXQgUE1BIFBMTCAqLwoJd3Jp dGU2NCgmYmFyMC0+bWRpb19jb250cm9sLDB4QzAwMTAxMDAwMDAwMDAwMCk7Cgl1ZGVsYXkgKDUw KTsKCXdyaXRlNjQoJmJhcjAtPm1kaW9fY29udHJvbCwweEMwMDEwMTAwMDAwMDAwRTApOwoJdWRl bGF5ICg1MCk7Cgl3cml0ZTY0KCZiYXIwLT5tZGlvX2NvbnRyb2wsMHhDMDAxMDEwMDAwODAwMEU0 KTsKCXVkZWxheSAoNTApOwoKLyogUmVtb3ZlIFJlc2V0IGZyb20gUE1BIFBMTCAqLwoJd3JpdGU2 NCgmYmFyMC0+bWRpb19jb250cm9sLDB4QzAwMTAxMDAwMDAwMDAwMCk7Cgl1ZGVsYXkgKDUwKTsK CXdyaXRlNjQoJmJhcjAtPm1kaW9fY29udHJvbCwweEMwMDEwMTAwMDAwMDAwRTApOwoJdWRlbGF5 ICg1MCk7Cgl3cml0ZTY0KCZiYXIwLT5tZGlvX2NvbnRyb2wsMHhDMDAxMDEwMDAwMDAwMEU0KTsK CXVkZWxheSAoNTApOwoKLyogUmVtb3ZlIFBBRExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFyMC0+ ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgm YmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJd3Jp dGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDAyMDUxNUYyMDAwMEU0KTsKCXVkZWxheSAoNTAp OwoKLyogUmVtb3ZlIFBBRExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2ws MHg4MDAzMDUxNTAwMDAwMDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2Nv bnRyb2wsMHg4MDAzMDUxNTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ ZHR4X2NvbnRyb2wsMHg4MDAzMDUxNUYyMDAwMEU0KTsKCXVkZWxheSAoNTApOwoKLyogUmVtb3Zl IFBBRExPT1BCQUNLTiAqLwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA0MDUxNTAw MDAwMDAwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA0 MDUxNTAwMDAwMEUwKTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2ws MHg4MDA0MDUxNUYyMDAwMEU0KTsKCXVkZWxheSAoNTApOwoKLyogUmVtb3ZlIFBBRExPT1BCQUNL TiAqLwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA1MDUxNTAwMDAwMDAwKTsKCXVk ZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA1MDUxNTAwMDAwMEUw KTsKCXVkZWxheSAoNTApOwoJd3JpdGU2NCgmYmFyMC0+ZHR4X2NvbnRyb2wsMHg4MDA1MDUxNUYy MDAwMEU0KTsKCXVkZWxheSAoNTApOwojZW5kaWYKCQovKiAgVHggRE1BIEluaXRpYWxpemF0aW9u ICovCgl2YWw2ND0wOwoJd3JpdGU2NCgmYmFyMC0+dHhfZmlmb19wYXJ0aXRpb25fMCwgdmFsNjQp OwoJd3JpdGU2NCgmYmFyMC0+dHhfZmlmb19wYXJ0aXRpb25fMSwgdmFsNjQpOwoJd3JpdGU2NCgm YmFyMC0+dHhfZmlmb19wYXJ0aXRpb25fMiwgdmFsNjQpOwoJd3JpdGU2NCgmYmFyMC0+dHhfZmlm b19wYXJ0aXRpb25fMywgdmFsNjQpOwoKCWZvcihpPTAsaj0wO2k8bmljLT5jb25maWcuVHhGSUZP TnVtO2krKykgewoJCXZhbDY0IHw9IHZCSVQobmljLT5jb25maWcuVHhDZmdbaV0uRmlmb0xlbi0x LCgoaSozMikrMTkpLDEzKSB8CgkJCXZCSVQobmljLT5jb25maWcuVHhDZmdbaV0uRmlmb1ByaW9y aXR5LCAoKGkqMzIpKzUpLDMpOwoKCQlpZihpID09IChuaWMtPmNvbmZpZy5UeEZJRk9OdW0tMSkp IHsKCQkJaWYoaSUyID09IDApCgkJCQlpKys7CgkJfQoKCQlzd2l0Y2goaSkgewoJCQljYXNlIDE6 CgkJCXdyaXRlNjQoJmJhcjAtPnR4X2ZpZm9fcGFydGl0aW9uXzAsIHZhbDY0KTsKCQkJdmFsNjQg PSAwOwoJCQlicmVhazsKCQkJY2FzZSAzOgoJCQl3cml0ZTY0KCZiYXIwLT50eF9maWZvX3BhcnRp dGlvbl8xLCB2YWw2NCk7CgkJCXZhbDY0ID0gMDsKCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJd3Jp dGU2NCgmYmFyMC0+dHhfZmlmb19wYXJ0aXRpb25fMiwgdmFsNjQpOwoJCQl2YWw2NCA9IDA7CgkJ CWJyZWFrOwoJCQljYXNlIDc6CgkJCXdyaXRlNjQoJmJhcjAtPnR4X2ZpZm9fcGFydGl0aW9uXzMs IHZhbDY0KTsKCQkJYnJlYWs7CgkJfQoJfQoKLyogRW5hYmxlIFR4IEZJRk8gcGFydGl0aW9uIDAu ICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+dHhfZmlmb19wYXJ0aXRpb25fMCk7Cgl2YWw2NCB8 PSBCSVQoMCk7IC8qIFRvIGVuYWJsZSB0aGUgRklGTyBwYXJ0aXRpb24uICovCgl3cml0ZTY0KCZi YXIwLT50eF9maWZvX3BhcnRpdGlvbl8wLCB2YWw2NCk7CgoJdmFsNjQgPSByZWFkNjQoJmJhcjAt PnR4X2ZpZm9fcGFydGl0aW9uXzApOwoJI2lmbmRlZiBYRU5BX0FSQ0hfNjQKCURCR19QUklOVChJ TklUX0RCRywiRmlmbyBwYXJ0aXRpb24gYXQ6IDB4JXAgaXM6IDB4JWxseFxuIiwgCgkJJmJhcjAt PnR4X2ZpZm9fcGFydGl0aW9uXzAsIHZhbDY0KTsKCSNlbHNlCglEQkdfUFJJTlQoSU5JVF9EQkcs IkZpZm8gcGFydGl0aW9uIGF0OiAweCVwIGlzOiAweCVseFxuIiwgCgkJJmJhcjAtPnR4X2ZpZm9f cGFydGl0aW9uXzAsIHZhbDY0KTsKCSNlbmRpZgoKLyogSW5pdGlhbGl6YXRpb24gb2YgVHhfUEFf Q09ORklHIHJlZ2lzdGVyIHRvIGlnbm9yZSBwYWNrZXQgaW50ZWdyaXR5IAogKiBjaGVja2luZy4K ICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+dHhfcGFfY2ZnKTsKCXZhbDY0IHw9IFRYX1BBX0NG R19JR05PUkVfRlJNX0VSUiB8IFRYX1BBX0NGR19JR05PUkVfU05BUF9PVUkgfCAKCQkgVFhfUEFf Q0ZHX0lHTk9SRV9MTENfQ1RSTCB8VFhfUEFfQ0ZHX0lHTk9SRV9MMl9FUlI7Cgl3cml0ZTY0KCZi YXIwLT50eF9wYV9jZmcsIHZhbDY0KTsKCQkKLyogUnggRE1BIGludGlhbGl6YXRpb24uICovCgl2 YWw2NCA9IDA7Cglmb3IoaT0wOyBpPG5pYy0+Y29uZmlnLlJ4UmluZ051bTsgaSsrKSB7Cgl2YWw2 NCB8PSB2QklUKG5pYy0+Y29uZmlnLlJ4Q2ZnW2ldLlJpbmdQcmlvcml0eSwgKDUrKGkqOCkpLDMp OwoJfQoJd3JpdGU2NCgmYmFyMC0+cnhfcXVldWVfcHJpb3JpdHksIHZhbDY0KTsKCi8qIEFsbG9j YXRpbmcgZXF1YWwgc2hhcmUgb2YgbWVtb3J5IHRvIGFsbCB0aGUgY29uZmlndXJlZCBSaW5ncy4g Ki8JCiNpZiAxCgl2YWw2NCA9IDA7Cglmb3IoaT0wOyBpPG5pYy0+Y29uZmlnLlJ4UmluZ051bTsg aSsrKSB7CgkJc3dpdGNoKGkpIHsKCQljYXNlIDA6CgkJCW1lbV9zaGFyZSA9ICg2NC9uaWMtPmNv bmZpZy5SeFJpbmdOdW0gKyAKCQkJCQk2NCAlIG5pYy0+Y29uZmlnLlJ4UmluZ051bSk7CgkJCXZh bDY0IHw9IFJYX1FVRVVFX0NGR19RMF9TWihtZW1fc2hhcmUpOwoJCQljb250aW51ZTsKCQljYXNl IDE6CgkJCW1lbV9zaGFyZSA9ICg2NC9uaWMtPmNvbmZpZy5SeFJpbmdOdW0pOyAKCQkJdmFsNjQg fD0gUlhfUVVFVUVfQ0ZHX1ExX1NaKG1lbV9zaGFyZSk7CgkJCWNvbnRpbnVlOwoJCWNhc2UgMjoK CQkJbWVtX3NoYXJlID0gKDY0L25pYy0+Y29uZmlnLlJ4UmluZ051bSk7IAoJCQl2YWw2NCB8PSBS WF9RVUVVRV9DRkdfUTJfU1oobWVtX3NoYXJlKTsKCQkJY29udGludWU7CgkJY2FzZSAzOgoJCQlt ZW1fc2hhcmUgPSAoNjQvbmljLT5jb25maWcuUnhSaW5nTnVtKTsgCgkJCXZhbDY0IHw9IFJYX1FV RVVFX0NGR19RM19TWihtZW1fc2hhcmUpOwoJCQljb250aW51ZTsKCQljYXNlIDQ6CgkJCW1lbV9z aGFyZSA9ICg2NC9uaWMtPmNvbmZpZy5SeFJpbmdOdW0pOyAKCQkJdmFsNjQgfD0gUlhfUVVFVUVf Q0ZHX1E0X1NaKG1lbV9zaGFyZSk7CgkJCWNvbnRpbnVlOwoJCWNhc2UgNToKCQkJbWVtX3NoYXJl ID0gKDY0L25pYy0+Y29uZmlnLlJ4UmluZ051bSk7IAoJCQl2YWw2NCB8PSBSWF9RVUVVRV9DRkdf UTVfU1oobWVtX3NoYXJlKTsKCQkJY29udGludWU7CgkJY2FzZSA2OgoJCQltZW1fc2hhcmUgPSAo NjQvbmljLT5jb25maWcuUnhSaW5nTnVtKTsgCgkJCXZhbDY0IHw9IFJYX1FVRVVFX0NGR19RNl9T WihtZW1fc2hhcmUpOwoJCQljb250aW51ZTsKCQljYXNlIDc6CgkJCW1lbV9zaGFyZSA9ICg2NC9u aWMtPmNvbmZpZy5SeFJpbmdOdW0pOyAKCQkJdmFsNjQgfD0gUlhfUVVFVUVfQ0ZHX1E3X1NaKG1l bV9zaGFyZSk7CgkJCWNvbnRpbnVlOwoJCX0KCX0KCXZhbDY0ID0gUlhfUVVFVUVfQ0ZHX1EwX1Na KDY0KTsKCXdyaXRlNjQoJmJhcjAtPnJ4X3F1ZXVlX2NmZywgdmFsNjQpOwojZWxzZQkKCXZhbDY0 ID0gUlhfUVVFVUVfQ0ZHX1EwX1NaKDY0KTsKCXdyaXRlNjQoJmJhcjAtPnJ4X3F1ZXVlX2NmZywg dmFsNjQpOwkvKiBTZXR0aW5nIFEwIHdpdGggYWxsIFJMRFJBTSAKCQkJCQkJICogc3BhY2UuCgkJ CQkJCSAqLwojZW5kaWYKCi8qIEluaXRpYWxpemluZyB0aGUgUnggcm91bmQgcm9iaW4gcmVnaXN0 ZXJzLgogKiBTdGlsbCB0byBmaWxsIHRoZSBSb3VuZCBSb2JpbiByZWdpc3RlcnMgZGVwZW5kaW5n IG9uIG51bWJlciBvZiAKICogVHggRklGT3MgYW5kIFJ4IFJJTkdzLiBBcyBvZiBub3cgVGhlIFJ4 IHJvdW5kIHJvYmluIHJlZ2lzdGVycyAKICogd2lsbCBiZSBpbml0bGFpemVkIHdpdGggdGhlIHNh bWUgdmFsdWVzIGFzIHRoZSBUeCBjb3VudGVycGFydHMuCiAqIFRPRE8gKi8KCSB3cml0ZTY0KCZi YXIwLT5yeF93X3JvdW5kX3JvYmluXzAsIHJvdW5kX3JvYmluX3JlZzApOwoJIHdyaXRlNjQoJmJh cjAtPnJ4X3dfcm91bmRfcm9iaW5fMSwgcm91bmRfcm9iaW5fcmVnMSk7Cgkgd3JpdGU2NCgmYmFy MC0+cnhfd19yb3VuZF9yb2Jpbl8yLCByb3VuZF9yb2Jpbl9yZWcyKTsKCSB3cml0ZTY0KCZiYXIw LT5yeF93X3JvdW5kX3JvYmluXzMsIHJvdW5kX3JvYmluX3JlZzMpOwoJIHdyaXRlNjQoJmJhcjAt PnJ4X3dfcm91bmRfcm9iaW5fNCwgcm91bmRfcm9iaW5fcmVnNCk7CgovKiBEaXNhYmxlIFJ4IHN0 ZWVyaW5nLiBIYXJkIGNvZGluZyBhbGwgcGFja2V0cyBiZSBzdGVlcmVkIHRvCiAqIFF1ZXVlIDAg Zm9yIG5vdy4gCiAqIFRPRE8qLwoJaWYocnhfcHJpbykgewoJCXU2NCBkZWYgPSAweDgwMDAwMDAw MDAwMDAwMDAsIHRtcDsKCQlmb3IoaT0wO2k8TUFYX1JYX1JJTkdTO2krKykgewoJCQl0bXAgPSAo dTY0KShkZWYgPj4gKGklbmljLT5jb25maWcuUnhSaW5nTnVtKSk7CgkJCXZhbDY0IHw9ICh1NjQp KHRtcCA+PiAoaSo4KSk7CgkJfQoJICAgIHdyaXRlNjQoJmJhcjAtPnJ0c19xb3Nfc3RlZXJpbmcs IHZhbDY0KTsKCX0gZWxzZSB7CiAgICAJdmFsNjQgPSAweDgwODA4MDgwODA4MDgwODA7CgkgICAg d3JpdGU2NCgmYmFyMC0+cnRzX3Fvc19zdGVlcmluZywgdmFsNjQpOwoJfQoJCi8qIERpc2FibGUg dGhlIGRldmljZSBmcm9tIHBhc3NpbmcgcGFja2V0cyB3aXRoIEwvVCBtaXNtYXRjaCB0byB0aGUg aG9zdC4qLwoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPnJtYWNfZXJyX2NmZyk7Cgl2YWw2NCAmPSB+ Uk1BQ19FUlJfTEVOX01JU01BVENIOwoJd3JpdGU2NCgmYmFyMC0+cm1hY19lcnJfY2ZnLCB2YWw2 NCk7CgkKLyogVURQIEZpeCAqLwoJdmFsNjQgPSAwOwoJZm9yKGk9MTtpPDg7aSsrKQoJCXdyaXRl NjQoJmJhcjAtPnJ0c19mcm1fbGVuX25baV0sIHZhbDY0KTsKCi8qIFNldCBydHNfZnJtX2xlbiBy ZWdpc3RlciBmb3IgZmlmbyAwICovCgl3cml0ZTY0KCZiYXIwLT5ydHNfZnJtX2xlbl9uWzBdLCBN QUNfUlRTX0ZSTV9MRU5fU0VUKChkZXYtPm10dSkrMjIpKTsKCi8qIEVuYWJsZSBzdGF0aXN0aWNz ICovCgl3cml0ZTY0KCZiYXIwLT5zdGF0X2FkZHIsICh1NjQpbmljLT5tYWNfY29udHJvbC5TdGF0 c0luZm9QaHkpOwoJdmFsNjQgPSBTRVRfVVBEVF9QRVJJT0QoOCkgfCBTVEFUX0NGR19TVEFUX1JP IHwgU1RBVF9DRkdfU1RBVF9FTjsKCXdyaXRlNjQoJmJhcjAtPnN0YXRfY2ZnLCB2YWw2NCk7Cgov KiBJbml0aWFsaXppbmcgdGhlIHNhbXBsaW5nIHJhdGUgZm9yIHRoZSBkZXZpY2UgdG8gY2FsY3Vs YXRlIHRoZQogKiBiYW5kd2lkdGggdXRpbGl6YXRpb24uCiAqLwoJdmFsNjQgPSBNQUNfVFhfTElO S19VVElMX1ZBTCgweDUpfE1BQ19SWF9MSU5LX1VUSUxfVkFMKDB4NSk7Cgl3cml0ZTY0KCZiYXIw LT5tYWNfbGlua191dGlsLCB2YWw2NCk7CgovKiBJbml0aWFsaXppbmcgdGhlIFRyYW5zbWl0IGFu ZCBSZWNlaXZlIFRyYWZmaWMgSW50ZXJydXB0IFNjaGVtZSAqLwoKLyogVFRJIEluaXRpYWxpemF0 aW9uICovCgl2YWw2NCA9IFRUSV9EQVRBMV9NRU1fVFhfVElNRVJfVkFMKDB4RkZGKSB8IAoJCVRU SV9EQVRBMV9NRU1fVFhfVVJOR19BKDB4QSkgfCBUVElfREFUQTFfTUVNX1RYX1VSTkdfQigweDEw KSB8CgkJVFRJX0RBVEExX01FTV9UWF9VUk5HX0MoMHgzMCkgfCBUVElfREFUQTFfTUVNX1RYX1RJ TUVSX0FDX0VOOwoJd3JpdGU2NCgmYmFyMC0+dHRpX2RhdGExX21lbSwgdmFsNjQpOwoKCXZhbDY0 ID0gVFRJX0RBVEEyX01FTV9UWF9VRkNfQSgweDEwKSB8IFRUSV9EQVRBMl9NRU1fVFhfVUZDX0Io MHgyMCkgfAoJCVRUSV9EQVRBMl9NRU1fVFhfVUZDX0MoMHg0MCkgfCBUVElfREFUQTJfTUVNX1RY X1VGQ19EKDB4ODApOwoJd3JpdGU2NCgmYmFyMC0+dHRpX2RhdGEyX21lbSwgdmFsNjQpOwoKCXZh bDY0ID0gVFRJX0NNRF9NRU1fV0UgfCBUVElfQ01EX01FTV9TVFJPQkVfTkVXX0NNRDsKCXdyaXRl NjQoJmJhcjAtPnR0aV9jb21tYW5kX21lbSwgdmFsNjQpOwovKiAgV2FpdCBmb3IgdGhlIG9wZXJh dGlvbiB0byBjb21wbGV0ZSAqLwoJdGltZSA9IGppZmZpZXM7Cgl3aGlsZShUUlVFKSB7CgkJdmFs NjQgPSByZWFkNjQoJmJhcjAtPnR0aV9jb21tYW5kX21lbSk7CgkJaWYoISh2YWw2NCAmIFRUSV9D TURfTUVNX1NUUk9CRV9ORVdfQ01EKSkgewoJCQlicmVhazsKCQl9CgkJaWYoKGppZmZpZXMtdGlt ZSkgPiBIWi8yKSB7CgkJCURCR19QUklOVChFUlJfREJHLCIlczogVFRJIGluaXQgRmFpbGVkXG4i LGRldi0+bmFtZSk7CgkJCXJldHVybiAtMTsKCQl9CgkJbWRlbGF5KDEwKTsKCX0KCi8qIFJUSSBJ bml0aWFsaXphdGlvbiAqLwoJdmFsNjQgPSBSVElfREFUQTFfTUVNX1JYX1RJTUVSX1ZBTCgweEZG RikgfCAKCQlSVElfREFUQTFfTUVNX1JYX1VSTkdfQSgweEEpIHwgUlRJX0RBVEExX01FTV9SWF9V Uk5HX0IoMHgxMCkgfCAKCQlSVElfREFUQTFfTUVNX1JYX1VSTkdfQygweDMwKSB8IFJUSV9EQVRB MV9NRU1fUlhfVElNRVJfQUNfRU47Cgl3cml0ZTY0KCZiYXIwLT5ydGlfZGF0YTFfbWVtLCB2YWw2 NCk7CgoJdmFsNjQgPSBSVElfREFUQTJfTUVNX1JYX1VGQ19BKDB4MSkgfCBSVElfREFUQTJfTUVN X1JYX1VGQ19CKDB4MikgfAoJCVJUSV9EQVRBMl9NRU1fUlhfVUZDX0MoMHg0MCkgfCBSVElfREFU QTJfTUVNX1JYX1VGQ19EKDB4ODApOwoJd3JpdGU2NCgmYmFyMC0+cnRpX2RhdGEyX21lbSwgdmFs NjQpOwoKCXZhbDY0ID0gUlRJX0NNRF9NRU1fV0UgfCBSVElfQ01EX01FTV9TVFJPQkVfTkVXX0NN RDsKCXdyaXRlNjQoJmJhcjAtPnJ0aV9jb21tYW5kX21lbSwgdmFsNjQpOwoKLyogIFdhaXQgZm9y IHRoZSBvcGVyYXRpb24gdG8gY29tcGxldGUgKi8KCXRpbWUgPSBqaWZmaWVzOwoJd2hpbGUoVFJV RSkgewoJCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5ydGlfY29tbWFuZF9tZW0pOwoJCWlmKCEodmFs NjQgJiBUVElfQ01EX01FTV9TVFJPQkVfTkVXX0NNRCkpIHsKCQkJYnJlYWs7CgkJfQoJCWlmKChq aWZmaWVzLXRpbWUpID4gSFovMTApIHsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiBSVEkgaW5p dCBGYWlsZWRcbiIsZGV2LT5uYW1lKTsKCQkJcmV0dXJuIC0xOwoJCX0KCQltZGVsYXkoMTApOwoJ fQoKLyogIEluaXRpYWxpemluZyBwcm9wZXIgdmFsdWVzIGFzIFBhdXNlIHRocmVzaG9sZCBpbnRv IGFsbCB0aGUgOCBRdWV1ZXMgCiAqICBvbiBSeCBzaWRlLgogKi8KCXdyaXRlNjQoJmJhcjAtPm1j X3BhdXNlX3RocmVzaF9xMHEzLCAweGZmYmJmZmJiZmZiYmZmYmIpOwoJd3JpdGU2NCgmYmFyMC0+ bWNfcGF1c2VfdGhyZXNoX3E0cTcsIDB4ZmZiYmZmYmJmZmJiZmZiYik7CgovKiBEaXNhYmxlIFJN QUMgUEFEIFNUUklQUElORyAqLwoJYWRkID0gKHZvaWQgKikmYmFyMC0+bWFjX2NmZzsKCXZhbDY0 ID0gcmVhZDY0KCZiYXIwLT5tYWNfY2ZnKTsKCXZhbDY0ICY9IH4oTUFDX0NGR19STUFDX1NUUklQ X1BBRCk7Cgl3cml0ZTY0KCZiYXIwLT5ybWFjX2NmZ19rZXksIFJNQUNfQ0ZHX0tFWSgweDRDMEQp KTsKCXdyaXRlbCgodTMyKSh2YWw2NCksIGFkZCk7Cgl3cml0ZTY0KCZiYXIwLT5ybWFjX2NmZ19r ZXksIFJNQUNfQ0ZHX0tFWSgweDRDMEQpKTsKCXdyaXRlbCgodTMyKSh2YWw2NCA+PjMyKSwgKGFk ZCs0KSk7Cgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWFjX2NmZyk7CgpyZXR1cm4gU1VDQ0VTUzsK fQoKLyogIAogKiAgSW5wdXQgQXJndW1lbnRzOiAKICogIGRldmljZSBwcml2YXRlIHZhcmlhYmxl LAogKiAgQSBtYXNrIGluZGljYXRpbmcgd2hpY2ggSW50ciBibG9jayBtdXN0IGJlIG1vZGlmaWVk IGFuZCwKICogIEEgZmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gZW5hYmxlIG9yIGRpc2FibGUg dGhlIEludHJzLgogKiAgUmV0dXJuIFZhbHVlOiAKICogIE5PTkUuCiAqICBEZXNjcmlwdGlvbjog CiAqICBUaGlzIGZ1bmN0aW9uIHdpbGwgZWl0aGVyIGRpc2FibGUgb3IgZW5hYmxlIHRoZSBpbnRl cnJ1cHRzIAogKiAgZGVwZW5kaW5nIG9uIHRoZSBmbGFnIGFyZ3VtZW50LiBUaGUgbWFzayBhcmd1 bWVudCBjYW4gYmUgdXNlZCB0byAKICogIGVuYWJsZS9kaXNhYmxlIGFueSBJbnRyIGJsb2NrLiAK ICovCnN0YXRpYyB2b2lkIGVuX2Rpc19hYmxlX05pY0ludHJzKHN0cnVjdCBzMmlvX25pYyAqbmlj LCB1MTYgbWFzaywgaW50IGZsYWcpCnsKWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9k ZXZfY29uZmlnX3QgKiluaWMtPmJhcjA7CnJlZ2lzdGVyIHU2NCB2YWw2NCA9IDAsIHRlbXA2NCA9 IDA7CgovKiAgVG9wIGxldmVsIGludGVycnVwdCBjbGFzc2lmaWNhdGlvbiAqLwovKiAgUElDIElu dGVycnVwdHMgKi8KCWlmKChtYXNrICYgKFRYX1BJQ19JTlRSIHwgUlhfUElDX0lOVFIpKSkgewoJ LyogIEVuYWJsZSBQSUMgSW50cnMgaW4gdGhlIGdlbmVyYWwgaW50ciBtYXNrIHJlZ2lzdGVyICov CgkJdmFsNjQgPSBUWFBJQ19JTlRfTSB8IFBJQ19SWF9JTlRfTTsKCQlpZihmbGFnID09IEVOQUJM RV9JTlRSUykgewoJCQl0ZW1wNjQgPSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2spOwoJ CQl0ZW1wNjQgJj0gfigodTY0KXZhbDY0KTsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRf bWFzaywgdGVtcDY0KTsKCQkvKiAgRGlzYWJsZWQgYWxsIFBDSVgsIEZsYXNoLCBNRElPLCBJSUMg YW5kIEdQSU8KCQkgKiAgaW50ZXJydXB0cyBmb3Igbm93LiAKCQkgKiBUT0RPICovCgkJCXdyaXRl NjQoJmJhcjAtPnBpY19pbnRfbWFzaywgRElTQUJMRV9BTExfSU5UUlMpOwoJCS8qICBObyBNU0kg U3VwcG9ydCBpcyBhdmFpbGFibGUgcHJlc2VudGx5LCBzbyBUVEkgYW5kCgkJICogUlRJIGludGVy cnVwdHMgYXJlIGFsc28gZGlzYWJsZWQuCgkJICovCgkJfSBlbHNlIGlmKGZsYWcgPT0gRElTQUJM RV9JTlRSUykgewoJCS8qICBEaXNhYmxlIFBJQyBJbnRycyBpbiB0aGUgZ2VuZXJhbCBpbnRyIG1h c2sgcmVnaXN0ZXIgKi8KCQkJd3JpdGU2NCgmYmFyMC0+cGljX2ludF9tYXNrLCBESVNBQkxFX0FM TF9JTlRSUyk7CgkJCXRlbXA2NCA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayk7CgkJ CXZhbDY0IHw9IHRlbXA2NDsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzaywgdmFs NjQpOwoJCX0KCX0KCi8qICBETUEgSW50ZXJydXB0cyAqLwovKiAgRW5hYmxpbmcvRGlzYWJsaW5n IFR4IERNQSBpbnRlcnJ1cHRzICovCglpZihtYXNrICYgVFhfRE1BX0lOVFIpIHsKCS8qICBFbmFi bGUgVHhETUEgSW50cnMgaW4gdGhlIGdlbmVyYWwgaW50ciBtYXNrIHJlZ2lzdGVyICovCgkJdmFs NjQgPSBUWERNQV9JTlRfTTsKCQlpZihmbGFnID09IEVOQUJMRV9JTlRSUykgewoJCQl0ZW1wNjQg PSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2spOwoJCQl0ZW1wNjQgJj0gfigodTY0KXZh bDY0KTsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzaywgdGVtcDY0KTsKCQkvKiBE aXNhYmxlIGFsbCBpbnRlcnJ1cHRzIG90aGVyIHRoYW4gUEZDIGludGVycnVwdCBpbiBETUEgCgkJ ICogbGV2ZWwuCgkJICovCgkJCXZhbDY0ID0gRElTQUJMRV9BTExfSU5UUlMgJiAoflRYRE1BX1BG Q19JTlRfTSk7CgkJCXdyaXRlNjQoJmJhcjAtPnR4ZG1hX2ludF9tYXNrLCB2YWw2NCk7CgkJLyog RW5hYmxlIG9ubHkgdGhlIE1JU0MgZXJyb3IgMSBpbnRlcnJ1cHQgaW4gUEZDIGJsb2NrICovCgkJ CXZhbDY0ID0gRElTQUJMRV9BTExfSU5UUlMgJiAoflBGQ19NSVNDX0VSUl8xKTsKCQkJd3JpdGU2 NCgmYmFyMC0+cGZjX2Vycl9tYXNrLCB2YWw2NCk7CgkJfSBlbHNlIGlmKGZsYWcgPT0gRElTQUJM RV9JTlRSUykgewoJCS8qICBEaXNhYmxlIFR4RE1BIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIg bWFzayByZWdpc3RlciAqLwoJCQl3cml0ZTY0KCZiYXIwLT50eGRtYV9pbnRfbWFzaywgRElTQUJM RV9BTExfSU5UUlMpOwoJCQl3cml0ZTY0KCZiYXIwLT5wZmNfZXJyX21hc2ssIERJU0FCTEVfQUxM X0lOVFJTKTsKCQkJdGVtcDY0ID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrKTsKCQkJ dmFsNjQgfD0gdGVtcDY0OwoJCQl3cml0ZTY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrLCB2YWw2 NCk7CgkJfQoJfQoKLyogIEVuYWJsaW5nL0Rpc2FibGluZyBSeCBETUEgaW50ZXJydXB0cyAqLwoJ aWYobWFzayAmIFJYX0RNQV9JTlRSKSB7CgkvKiAgRW5hYmxlIFJ4RE1BIEludHJzIGluIHRoZSBn ZW5lcmFsIGludHIgbWFzayByZWdpc3RlciAqLwoJCXZhbDY0ID0gUlhETUFfSU5UX007CgkJaWYo ZmxhZyA9PSBFTkFCTEVfSU5UUlMpIHsKCQkJdGVtcDY0ID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFs X2ludF9tYXNrKTsKCQkJdGVtcDY0ICY9IH4oKHU2NCl2YWw2NCk7CgkJCXdyaXRlNjQoJmJhcjAt PmdlbmVyYWxfaW50X21hc2ssIHRlbXA2NCk7CgkJLyogQWxsIFJ4RE1BIGJsb2NrIGludGVycnVw dHMgYXJlIGRpc2FibGVkIGZvciBub3cgVE9ETyovCgkJCXdyaXRlNjQoJmJhcjAtPnJ4ZG1hX2lu dF9tYXNrLCBESVNBQkxFX0FMTF9JTlRSUyk7CgkJfSBlbHNlIGlmKGZsYWcgPT0gRElTQUJMRV9J TlRSUykgewoJCS8qICBEaXNhYmxlIFJ4RE1BIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIgbWFz ayByZWdpc3RlciAqLwoJCQl3cml0ZTY0KCZiYXIwLT5yeGRtYV9pbnRfbWFzaywgRElTQUJMRV9B TExfSU5UUlMpOwoJCQl0ZW1wNjQgPSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2spOwoJ CQl2YWw2NCB8PSB0ZW1wNjQ7CgkJCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2ssdmFs NjQpOwoJCX0KCX0KCi8qICBNQUMgSW50ZXJydXB0cyAqLwovKiAgRW5hYmxpbmcvRGlzYWJsaW5n IE1BQyBpbnRlcnJ1cHRzICovCglpZihtYXNrICYgKFRYX01BQ19JTlRSIHwgUlhfTUFDX0lOVFIp KSB7CgkJdmFsNjQgPSBUWE1BQ19JTlRfTSB8IFJYTUFDX0lOVF9NOwoJCWlmKGZsYWcgPT0gRU5B QkxFX0lOVFJTKSB7CgkJCXRlbXA2NCA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayk7 CgkJCXRlbXA2NCAmPSB+KCh1NjQpdmFsNjQpOwoJCQl3cml0ZTY0KCZiYXIwLT5nZW5lcmFsX2lu dF9tYXNrLCB0ZW1wNjQpOwoJCS8qIEFsbCBNQUMgYmxvY2sgZXJyb3IgaW50ZXJydXB0cyBhcmUg ZGlzYWJsZWQgZm9yIG5vdyBleGNlcHQKCQkgKiB0aGUgbGluayBzdGF0dXMgY2hhbmdlIGludGVy cnVwdC4KCQkgKiBUT0RPKi8KCQkJdmFsNjQgPSBNQUNfSU5UX1NUQVRVU19STUFDX0lOVDsKCQkJ dGVtcDY0ID0gcmVhZDY0KCZiYXIwLT5tYWNfaW50X21hc2spOwoJCQl0ZW1wNjQgJj0gfigodTY0 KXZhbDY0KTsKCQkJd3JpdGU2NCgmYmFyMC0+bWFjX2ludF9tYXNrLCB0ZW1wNjQpOwoKCQkJdmFs NjQgPSByZWFkNjQoJmJhcjAtPm1hY19ybWFjX2Vycl9tYXNrKTsKCQkJdmFsNjQgJj0gfigodTY0 KVJNQUNfTElOS19TVEFURV9DSEFOR0VfSU5UKTsKCQkJd3JpdGU2NCgmYmFyMC0+bWFjX3JtYWNf ZXJyX21hc2ssIHZhbDY0KTsKCQl9IGVsc2UgaWYoZmxhZyA9PSBESVNBQkxFX0lOVFJTKSB7CgkJ LyogIERpc2FibGUgTUFDIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIgbWFzayByZWdpc3RlciAq LwoJCQl3cml0ZTY0KCZiYXIwLT5tYWNfaW50X21hc2ssIERJU0FCTEVfQUxMX0lOVFJTKTsKCQkJ d3JpdGU2NCgmYmFyMC0+bWFjX3JtYWNfZXJyX21hc2ssIERJU0FCTEVfQUxMX0lOVFJTKTsKCQkJ dGVtcDY0ID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrKTsKCQkJdmFsNjQgfD0gdGVt cDY0OwoJCQl3cml0ZTY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrLHZhbDY0KTsKCQl9Cgl9Cgov KiAgWEdYUyBJbnRlcnJ1cHRzICovCglpZihtYXNrICYgKFRYX1hHWFNfSU5UUiB8IFJYX1hHWFNf SU5UUikpIHsKCQl2YWw2NCA9IFRYWEdYU19JTlRfTSB8IFJYWEdYU19JTlRfTTsKCQlpZihmbGFn ID09IEVOQUJMRV9JTlRSUykgewoJCQl0ZW1wNjQgPSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50 X21hc2spOwoJCQl0ZW1wNjQgJj0gfigodTY0KXZhbDY0KTsKCQkJd3JpdGU2NCgmYmFyMC0+Z2Vu ZXJhbF9pbnRfbWFzaywgdGVtcDY0KTsKCQkvKiBBbGwgWEdYUyBibG9jayBlcnJvciBpbnRlcnJ1 cHRzIGFyZSBkaXNhYmxlZCBmb3Igbm93IFRPRE8qLwoJCQl3cml0ZTY0KCZiYXIwLT54Z3hzX2lu dF9tYXNrLCBESVNBQkxFX0FMTF9JTlRSUyk7CgkJfSBlbHNlIGlmKGZsYWcgPT0gRElTQUJMRV9J TlRSUykgewoJCS8qICBEaXNhYmxlIE1DIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIgbWFzayBy ZWdpc3RlciAqLwoJCQl3cml0ZTY0KCZiYXIwLT54Z3hzX2ludF9tYXNrLCBESVNBQkxFX0FMTF9J TlRSUyk7CgkJCXRlbXA2NCA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayk7CgkJCXZh bDY0IHw9IHRlbXA2NDsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayx2YWw2NCk7 CgkJfQoJfQoKLyogIE1lbW9yeSBDb250cm9sbGVyKE1DKSBpbnRlcnJ1cHRzICovCglpZihtYXNr ICYgTUNfSU5UUikgewoJCXZhbDY0ID0gTUNfSU5UX007CgkJaWYoZmxhZyA9PSBFTkFCTEVfSU5U UlMpIHsKCQkJdGVtcDY0ID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrKTsKCQkJdGVt cDY0ICY9IH4oKHU2NCl2YWw2NCk7CgkJCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2ss IHRlbXA2NCk7CgkJLyogQWxsIE1DIGJsb2NrIGVycm9yIGludGVycnVwdHMgYXJlIGRpc2FibGVk IGZvciBub3cgVE9ETyovCgkJCXdyaXRlNjQoJmJhcjAtPm1jX2ludF9tYXNrLCBESVNBQkxFX0FM TF9JTlRSUyk7CgkJfSBlbHNlIGlmKGZsYWcgPT0gRElTQUJMRV9JTlRSUykgewoJCS8qICBEaXNh YmxlIE1DIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIgbWFzayByZWdpc3RlciAqLwoJCQl3cml0 ZTY0KCZiYXIwLT5tY19pbnRfbWFzaywgRElTQUJMRV9BTExfSU5UUlMpOwoJCQl0ZW1wNjQgPSBy ZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2spOwoJCQl2YWw2NCB8PSB0ZW1wNjQ7CgkJCXdy aXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2ssdmFsNjQpOwoJCX0KCX0KCgovKiAgVHggdHJh ZmZpYyBpbnRlcnJ1cHRzICovCglpZihtYXNrICYgVFhfVFJBRkZJQ19JTlRSKSB7CgkJdmFsNjQg PSBUWFRSQUZGSUNfSU5UX007CgkJaWYoZmxhZyA9PSBFTkFCTEVfSU5UUlMpIHsKCQkJdGVtcDY0 ID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrKTsKCQkJdGVtcDY0ICY9IH4oKHU2NCl2 YWw2NCk7CgkJCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2ssIHRlbXA2NCk7CgkJLyog RW5hYmxlIGFsbCB0aGUgVHggc2lkZSBpbnRlcnJ1cHRzICovCgkJCXdyaXRlNjQoJmJhcjAtPnR4 X3RyYWZmaWNfbWFzaywgMHgwKTsJLyogJzAnIEVuYWJsZXMgCgkJCQkJCQkJICogYWxsIDY0IFRY IAoJCQkJCQkJCSAqIGludGVycnVwdCAKCQkJCQkJCQkgKiBsZXZlbHMuCgkJCQkJCQkJICovCgkJ fSBlbHNlIGlmKGZsYWcgPT0gRElTQUJMRV9JTlRSUykgewoJCS8qICBEaXNhYmxlIFR4IFRyYWZm aWMgSW50cnMgaW4gdGhlIGdlbmVyYWwgaW50ciBtYXNrIAoJCSAqICByZWdpc3Rlci4KCQkgKi8K CQkJd3JpdGU2NCgmYmFyMC0+dHhfdHJhZmZpY19tYXNrLCBESVNBQkxFX0FMTF9JTlRSUyk7CgkJ CXRlbXA2NCA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayk7CgkJCXZhbDY0IHw9IHRl bXA2NDsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayx2YWw2NCk7CgkJfQoJfQoK LyogIFJ4IHRyYWZmaWMgaW50ZXJydXB0cyAqLwoJaWYobWFzayAmUlhfVFJBRkZJQ19JTlRSKXsK CQl2YWw2NCA9IFJYVFJBRkZJQ19JTlRfTTsKCQlpZihmbGFnID09IEVOQUJMRV9JTlRSUykgewoJ CQl0ZW1wNjQgPSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2spOwoJCQl0ZW1wNjQgJj0g figodTY0KXZhbDY0KTsKCQkJd3JpdGU2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzaywgdGVtcDY0 KTsKCQkJd3JpdGU2NCgmYmFyMC0+cnhfdHJhZmZpY19tYXNrLCAweDApOwkvKiAnMCcgRW5hYmxl cyAKCQkJCQkJCQkgKiBhbGwgOCBSWCAKCQkJCQkJCQkgKiBpbnRlcnJ1cHQgCgkJCQkJCQkJICog bGV2ZWxzLgoJCQkJCQkJCSAqLwoJCX0gZWxzZSBpZihmbGFnID09IERJU0FCTEVfSU5UUlMpIHsK CQkvKiAgRGlzYWJsZSBSeCBUcmFmZmljIEludHJzIGluIHRoZSBnZW5lcmFsIGludHIgbWFzayAK CQkgKiAgcmVnaXN0ZXIuCgkJICovCgkJCXdyaXRlNjQoJmJhcjAtPnJ4X3RyYWZmaWNfbWFzaywg RElTQUJMRV9BTExfSU5UUlMpOwoJCQl0ZW1wNjQgPSByZWFkNjQoJmJhcjAtPmdlbmVyYWxfaW50 X21hc2spOwoJCQl2YWw2NCB8PSB0ZW1wNjQ7CgkJCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50 X21hc2ssdmFsNjQpOwoJCX0KCX0KfQoKLyogIAogKiAgSW5wdXQgQXJndW1lbnRzOiAKICogICB2 YWw2NCAtIFZhbHVlIHJlYWQgZnJvbSBhZGFwdGVyIHN0YXR1cyByZWdpc3Rlci4KICogICBmbGFn IC0gaW5kaWNhdGVzIGlmIHRoZSBhZGFwdGVyIGVuYWJsZSBiaXQgd2FzIGV2ZXIgd3JpdHRlbiBv bmNlIGJlZm9yZS4KICogIFJldHVybiBWYWx1ZTogCiAqICAgdm9pZC4KICogIERlc2NyaXB0aW9u OiAKICogICBSZXR1cm5zIHdoZXRoZXIgdGhlIEgvVyBpcyByZWFkeSB0byBnbyBvciBub3QuIERl cGVuZGluZyBvbiB3aGV0aGVyIAogKiAgIGFkYXB0ZXIgZW5hYmxlIGJpdCB3YXMgd3JpdHRlbiBv ciBub3QgdGhlIGNvbXBhcmlzb24gZGlmZmVycyBhbmQgdGhlIAogKiAgIGNhbGxpbmcgZnVuY3Rp b24gcGFzc2VzIHRoZSBpbnB1dCBhcmd1bWVudCBmbGFnIHRvIGluZGljYXRlIHRoaXMuCiAqLwpz dGF0aWMgaW50IHZlcmlmeV94ZW5hX3F1aWVzY2VuY2UodTY0IHZhbDY0LCBpbnQgZmxhZykKewoJ aW50IHJldCA9IEZBTFNFOwoJdTY0IHRtcDY0ID0gfigodTY0KXZhbDY0KTsKCiNpZiAwCglpZigh KHRtcDY0ICYgKEFEQVBURVJfU1RBVFVTX1RETUFfUkVBRFkgfCBBREFQVEVSX1NUQVRVU19SRE1B X1JFQURZIHwKCQlBREFQVEVSX1NUQVRVU19QRkNfUkVBRFkgfCBBREFQVEVSX1NUQVRVU19UTUFD X0JVRl9FTVBUWSB8CgkJQURBUFRFUl9TVEFUVVNfUElDX1FVSUVTQ0VOVCB8IEFEQVBURVJfU1RB VFVTX1JDX1BSQ19RVUlFU0NFTlQgfAoJCUFQVEVSX1NUQVRVU19NQ19EUkFNX1JFQURZfCBBREFQ VEVSX1NUQVRVU19NQ19RVUVVRVNfUkVBRFkgfAoJCUFEQVBURVJfU1RBVFVTX01fUExMX0xPQ0sg fCBBREFQVEVSX1NUQVRVU19QX1BMTF9MT0NLKSkpIHsKCQlpZihmbGFnID09IEZBTFNFKSB7CgkJ CWlmKCEodmFsNjQgJiBBREFQVEVSX1NUQVRVU19STUFDX1BDQ19JRExFKSkgewoJCQkJcmV0ID0g VFJVRTsKCQkJfQoJCX0gZWxzZSB7CgkJCWlmKCh2YWw2NCAmIEFEQVBURVJfU1RBVFVTX1JNQUNf UENDX0lETEUpID09IAoJCQkJQURBUFRFUl9TVEFUVVNfUk1BQ19QQ0NfSURMRSkgewoJCQkJcmV0 ID0gVFJVRTsKCQkJfQoJCX0KCX0KI2Vsc2UKCWlmKCEodG1wNjQgJiAoQURBUFRFUl9TVEFUVVNf VERNQV9SRUFEWSB8IEFEQVBURVJfU1RBVFVTX1JETUFfUkVBRFkgfAoJCUFEQVBURVJfU1RBVFVT X1BGQ19SRUFEWSB8IEFEQVBURVJfU1RBVFVTX1RNQUNfQlVGX0VNUFRZIHwKCQlBREFQVEVSX1NU QVRVU19QSUNfUVVJRVNDRU5UIHwgQURBUFRFUl9TVEFUVVNfTUNfRFJBTV9SRUFEWXwgCgkJQURB UFRFUl9TVEFUVVNfTUNfUVVFVUVTX1JFQURZIHwgQURBUFRFUl9TVEFUVVNfTV9QTExfTE9DSyB8 IAoJCUFEQVBURVJfU1RBVFVTX1BfUExMX0xPQ0spKSkgewoJCWlmKGZsYWcgPT0gRkFMU0UpIHsK CQkJaWYoISh2YWw2NCAmIEFEQVBURVJfU1RBVFVTX1JNQUNfUENDX0lETEUpICYmIAoJCQkJKCh2 YWw2NCAmIEFEQVBURVJfU1RBVFVTX1JDX1BSQ19RVUlFU0NFTlQpPT0gCgkJCQlBREFQVEVSX1NU QVRVU19SQ19QUkNfUVVJRVNDRU5UKSkgewoJCQkJCgkJCQlyZXQgPSBUUlVFOwoJCQkJCgkJCX0K CQl9IGVsc2UgewoJCQlpZigoKHZhbDY0ICYgQURBUFRFUl9TVEFUVVNfUk1BQ19QQ0NfSURMRSk9 PSAKCQkJCUFEQVBURVJfU1RBVFVTX1JNQUNfUENDX0lETEUpICYmCgkJCQkoISh2YWw2NCAmIEFE QVBURVJfU1RBVFVTX1JDX1BSQ19RVUlFU0NFTlQpIHx8CgkJCQkoKHZhbDY0ICYgQURBUFRFUl9T VEFUVVNfUkNfUFJDX1FVSUVTQ0VOVCk9PSAKCQkJCUFEQVBURVJfU1RBVFVTX1JDX1BSQ19RVUlF U0NFTlQpKSkgewoJCQkJCgkJCQlyZXQgPSBUUlVFOwoKCQkJfQoJCX0KCX0KI2VuZGlmCgkKcmV0 dXJuIHJldDsKfQoKLyogCiAqIE5ldyBwcm9jZWR1cmUgdG8gY2xlYXIgbWFjIGFkZHJlc3MgcmVh ZGluZyAgcHJvYmxlbXMgb24gQWxwaGEgcGxhdGZvcm1zCiAqCiAqLwp2b2lkIEZpeE1hY0FkZHJl c3MobmljX3QgKnNwKQp7CgoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29u ZmlnX3QgKilzcC0+YmFyMDsKCgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwMDAw MDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgw MDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7CgovKiBDcmVhdGUgc3RhcnQgY29uZGl0aW9u ICovCgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDQwNjAwMDAwMDAwMDAwKTsgCgl1 ZGVsYXkoMTApOwoJd3JpdGU2NCgmYmFyMC0+Z3Bpb19jb250cm9sLDB4MDAwMDYwMDAwMDAwMDAw MCk7Cgl1ZGVsYXkoMTApOwoJd3JpdGU2NCgmYmFyMC0+Z3Bpb19jb250cm9sLDB4MDAyMDYwMDAw MDAwMDAwMCk7Cgl1ZGVsYXkoMTApOwoJd3JpdGU2NCgmYmFyMC0+Z3Bpb19jb250cm9sLDB4MDA2 MDYwMDAwMDAwMDAwMCk7Cgl1ZGVsYXkoMTApOwoKLyogU2NhbiA5IGNvbnNlY3V0aXZlcyBvbmVz ICovCgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVk ZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAw KTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAw MDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYw NjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2ws MHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2Nv bnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5n cGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZi YXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0 ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7 Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxh eSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsK CXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAw MDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAw MDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgw MDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlvX2NvbnRy b2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIwLT5ncGlv X2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0KCZiYXIw LT5ncGlvX2NvbnRyb2wsMHgwMDIwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgl3cml0ZTY0 KCZiYXIwLT5ncGlvX2NvbnRyb2wsMHgwMDYwNjAwMDAwMDAwMDAwKTsKCXVkZWxheSgxMCk7Cgov KiBDcmVhdGUgc3RvcCBjb25kaXRpb24gKi8KCXdyaXRlNjQoJmJhcjAtPmdwaW9fY29udHJvbCww eDAwMjA2MDAwMDAwMDAwMDApOwoJdWRlbGF5KDEwKTsKCXdyaXRlNjQoJmJhcjAtPmdwaW9fY29u dHJvbCwweDAwMDA2MDAwMDAwMDAwMDApOwoJdWRlbGF5KDEwKTsKCXdyaXRlNjQoJmJhcjAtPmdw aW9fY29udHJvbCwweDAwNDA2MDAwMDAwMDAwMDApOwoJdWRlbGF5KDEwKTsKCXdyaXRlNjQoJmJh cjAtPmdwaW9fY29udHJvbCwweDAwNjA2MDAwMDAwMDAwMDApOwoJdWRlbGF5KDEwKTsKCn0KCi8q ICAKICogIElucHV0IEFyZ3VtZW50czogCiAqICBkZXZpY2UgcHJpdmF0ZSB2YXJpYWJsZS4KICog IFJldHVybiBWYWx1ZTogCiAqICBTVUNDRVNTIG9uIHN1Y2Nlc3MgYW5kIC0xIG9uIGZhaWx1cmUu CiAqICBEZXNjcmlwdGlvbjogCiAqICBUaGlzIGZ1bmN0aW9uIGFjdHVhbGx5IHR1cm5zIHRoZSBk ZXZpY2Ugb24uIEJlZm9yZSB0aGlzIAogKiAgZnVuY3Rpb24gaXMgY2FsbGVkLCBhbGwgUmVnaXN0 ZXJzIGFyZSBjb25maWd1cmVkIGZyb20gdGhlaXIgcmVzZXQgc3RhdGVzIAogKiAgYW5kIHNoYXJl ZCBtZW1vcnkgaXMgYWxsb2NhdGVkIGJ1dCB0aGUgTklDIGlzIHN0aWxsIHF1aWVzY2VudC4gT24g CiAqICBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIHRoZSBkZXZpY2UgaW50ZXJydXB0cyBhcmUgY2xl YXJlZCBhbmQgdGhlIE5JQyBpcwogKiAgbGl0ZXJhbGx5IHN3aXRjaGVkIG9uIGJ5IHdyaXRpbmcg aW50byB0aGUgYWRhcHRlciBjb250cm9sIHJlZ2lzdGVyLgogKi8Kc3RhdGljIGludCBzdGFydE5p YyhzdHJ1Y3QgczJpb19uaWMgKm5pYykKewoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVO QV9kZXZfY29uZmlnX3QgKiluaWMtPmJhcjA7CglzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gbmlj LT5kZXY7CglyZWdpc3RlciB1NjQgdmFsNjQgPSAwOwoJdTE2IGludGVycnVwdGlibGUsaTsKCi8q ICBQUkMgSW5pdGlhbGl6YXRpb24gYW5kIGNvbmZpZ3VyYXRpb24gKi8KCWZvcihpPTA7aTxuaWMt PmNvbmZpZy5SeFJpbmdOdW07aSsrKSB7CgkJd3JpdGU2NCgmYmFyMC0+cHJjX3J4ZDBfbltpXSwg CgkJCQkodTY0KW5pYy0+cnhfYmxvY2tzW2ldWzBdLmJsb2NrX2RtYV9hZGRyKTsKCQl2YWw2NCA9 IHJlYWQ2NCgmYmFyMC0+cHJjX2N0cmxfbltpXSk7CgkJdmFsNjQgfD0gUFJDX0NUUkxfUkNfRU5B QkxFRDsKCQl3cml0ZTY0KCZiYXIwLT5wcmNfY3RybF9uW2ldLCB2YWw2NCk7Cgl9CgovKiBFbmFi bGluZyBNQy1STERSQU0gKi8KCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5tY19ybGRyYW1fbXJzKTsK CXZhbDY0IHw9IE1DX1JMRFJBTV9RVUVVRV9TSVpFX0VOQUJMRSB8IE1DX1JMRFJBTV9NUlNfRU5B QkxFOwoJd3JpdGU2NCgmYmFyMC0+bWNfcmxkcmFtX21ycywgdmFsNjQpOwoJbWRlbGF5KDEwMCk7 CgovKiBFbmFibGluZyBFQ0MgUHJvdGVjdGlvbi4gKi8KCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5h ZGFwdGVyX2NvbnRyb2wpOwoJdmFsNjQgJj0gfkFEQVBURVJfRUNDX0VOOwoJd3JpdGU2NCgmYmFy MC0+YWRhcHRlcl9jb250cm9sLCB2YWw2NCk7CgovKiBDbGVhcmluZyBhbnkgcG9zc2libGUgTGlu ayBzdGF0ZSBjaGFuZ2UgaW50ZXJydXB0cyB0aGF0IGNvdWxkIGhhdmUKICogcG9wcGVkIHVwIGp1 c3QgYmVmb3JlIEVuYWJsaW5nIHRoZSBjYXJkLgogKi8KCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5t YWNfcm1hY19lcnJfcmVnKTsKCWlmKHZhbDY0KQoJCXdyaXRlNjQoJmJhcjAtPm1hY19ybWFjX2Vy cl9yZWcsdmFsNjQpOwoKLyogVmVyaWZ5IGlmIHRoZSBkZXZpY2UgaXMgcmVhZHkgdG8gYmUgZW5h YmxlZCwgaWYgc28gZW5hYmxlIGl0LiAqLwoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJf c3RhdHVzKTsKCWlmKHZlcmlmeV94ZW5hX3F1aWVzY2VuY2UodmFsNjQsIG5pYy0+ZGV2aWNlX2Vu YWJsZWRfb25jZSkgPT0gRkFMU0UpIHsKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IGRldmljZSBp cyBub3QgcmVhZHksICIsZGV2LT5uYW1lKTsKCQkjaWZuZGVmIFhFTkFfQVJDSF82NAoJCURCR19Q UklOVChFUlJfREJHLCJBZGFwdGVyIHN0YXR1cyByZWFkczogMHglbGx4XG4iLHZhbDY0KTsKCQkj ZWxzZQoJCURCR19QUklOVChFUlJfREJHLCJBZGFwdGVyIHN0YXR1cyByZWFkczogMHglbHhcbiIs dmFsNjQpOwoJCSNlbmRpZgoJCXJldHVybiBGQUlMVVJFOwoJfQoKLyogIEVuYWJsZSBzZWxlY3Qg aW50ZXJydXB0cyAqLwoJaW50ZXJydXB0aWJsZSA9IFRYX1RSQUZGSUNfSU5UUiB8IFJYX1RSQUZG SUNfSU5UUiB8IFRYX01BQ19JTlRSIHwKCQkJUlhfTUFDX0lOVFI7Cgllbl9kaXNfYWJsZV9OaWNJ bnRycyhuaWMsIGludGVycnVwdGlibGUsIEVOQUJMRV9JTlRSUyk7CgovKiBXaXRoIHNvbWUgc3dp dGNoZXMsIGxpbmsgbWlnaHQgYmUgYWxyZWFkeSB1cCBhdCB0aGlzIHBvaW50LgogKiBCZWNhdXNl IG9mIHRoaXMgd2VpcmQgYmVoYXZpb3IsIHdoZW4gd2UgZW5hYmxlIGxhc2VyLCAKICogd2UgbWF5 IG5vdCBnZXQgbGluay4gV2UgbmVlZCB0byBoYW5kbGUgdGhpcy4gV2UgY2Fubm90IAogKiBmaWd1 cmUgb3V0IHdoaWNoIHN3aXRjaCBpcyBtaXNiZWhhdmluZy4gU28gd2UgYXJlIGZvcmNlZCB0byAK ICogbWFrZSBhIGdsb2JhbCBjaGFuZ2UuIAogKi8KCi8qIEVuYWJsaW5nIExhc2VyLiAqLwoJdmFs NjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCk7Cgl2YWw2NCB8PSBBREFQVEVSX0VP SV9UWF9PTjsKCXdyaXRlNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCwgdmFsNjQpOwoKIC8qIAog ICogSGVyZSB3ZSBhcmUgcGVyZm9ybWluZyBzb2Z0IHJlc2V0IG9uIFhHWFMgdG8gCiAgKiBmb3Jj ZSBsaW5rIGRvd24uIFNpbmNlIGxpbmsgaXMgYWxyZWFkeSB1cCwgd2Ugd2lsbCBnZXQKICAqIGxp bmsgc3RhdGUgY2hhbmdlIGludGVycnVwdCBhZnRlciB0aGlzIHJlc2V0CiAgKi8KCgl3cml0ZTY0 KCZiYXIwLT5kdHhfY29udHJvbCwweDgwMDcwNTE1MDAwMDAwMDApOwoJdWRlbGF5KDUwKTsJCgl3 cml0ZTY0KCZiYXIwLT5kdHhfY29udHJvbCwweDgwMDcwNTE1MDAwMDAwRTApOwoJdWRlbGF5KDUw KTsJCgl3cml0ZTY0KCZiYXIwLT5kdHhfY29udHJvbCwweDgwMDcwNTE1MDAxRjAwRTQpOwoJdWRl bGF5KDUwKTsJCgoJcmV0dXJuIFNVQ0NFU1M7Cn0KCi8qICAKICogIElucHV0IEFyZ3VtZW50czog CiAqICAgbmljIC0gZGV2aWNlIHByaXZhdGUgdmFyaWFibGUuCiAqICBSZXR1cm4gVmFsdWU6IAog KiAgIHZvaWQuCiAqICBEZXNjcmlwdGlvbjogCiAqICAgRnJlZSBhbGwgcXVldWVkIFR4IGJ1ZmZl cnMuCiAqLwp2b2lkIGZyZWVUeEJ1ZmZlcnMoc3RydWN0IHMyaW9fbmljICpuaWMpCnsKCXN0cnVj dCBuZXRfZGV2aWNlICpkZXYgPSBuaWMtPmRldjsKCXN0cnVjdCBza19idWZmICpza2I7CglUeERf dCAqdHhkcDsKCWludCBpLGo7CgkjaWYgREVCVUdfT04KCWludCBjbnQgPSAwOwoJI2VuZGlmCgoJ c3Bpbl9sb2NrKCZuaWMtPnR4X2xvY2spOwoJZm9yKGk9MDsgaTxuaWMtPmNvbmZpZy5UeEZJRk9O dW07IGkrKykgewoJCWZvcihqPTA7ajxuaWMtPmNvbmZpZy5UeENmZ1tpXS5GaWZvTGVuLTE7aisr KSB7CgkJCXR4ZHAgPSBuaWMtPm1hY19jb250cm9sLnR4ZGxfc3RhcnRbaV0gKyAKCQkJCShuaWMt PmNvbmZpZy5NYXhUeERzICogaik7CgoJCQlpZighKHR4ZHAtPkNvbnRyb2xfMSAmIFRYRF9MSVNU X09XTl9YRU5BKSkgewoJCQkvKiBJZiBvd25lZCBieSBob3N0LCBpZ25vcmUgKi8KCQkJCWNvbnRp bnVlOwoJCQl9CgkJCXNrYiA9IChzdHJ1Y3Qgc2tfYnVmZiAqKSgoZG1hYWRkcl90KXR4ZHAtPkhv c3RfQ29udHJvbCk7CgkJCWlmKHNrYiA9PSBOVUxMKSB7CgkJCQlEQkdfUFJJTlQoRVJSX0RCRywi JXM6IE5VTEwgc2tiICIsZGV2LT5uYW1lKTsKCQkJCURCR19QUklOVChFUlJfREJHLCJpbiBUeCBJ bnRcbiIpOwoJCQkJc3Bpbl91bmxvY2soJm5pYy0+dHhfbG9jayk7CgkJCQlyZXR1cm47CgkJCX0K CQkJI2lmIERFQlVHX09OCgkJCWNudCsrOwoJCQkjZW5kaWYKCQkJZGV2X2tmcmVlX3NrYihza2Ip OwoJCQltZW1zZXQodHhkcCwgMCwgc2l6ZW9mKFR4RF90KSk7CgkJfQoJCSNpZiBERUJVR19PTgoJ CURCR19QUklOVChJTlRSX0RCRywiJXM6Zm9yY2libHkgZnJlZWluZyAlZCBza2JzIG9uIEZJRk8l ZFxuIiwKCQkJZGV2LT5uYW1lLGNudCxpKTsKCQkjZW5kaWYKCX0KCXNwaW5fdW5sb2NrKCZuaWMt PnR4X2xvY2spOwp9CgovKiAgCiAqICBJbnB1dCBBcmd1bWVudHM6IAogKiAgIG5pYyAtIGRldmlj ZSBwcml2YXRlIHZhcmlhYmxlLgogKiAgUmV0dXJuIFZhbHVlOiAKICogICB2b2lkLgogKiAgRGVz Y3JpcHRpb246IAogKiAgIFRoaXMgZnVuY3Rpb24gZG9lcyBleGFjdGx5IHRoZSBvcHBvc2l0ZSBv ZiB3aGF0IHRoZSBzdGFydE5pYygpIAogKiAgIGZ1bmN0aW9uIGRvZXMuIFRoaXMgZnVuY3Rpb24g aXMgY2FsbGVkIHRvIHN0b3AgCiAqICAgdGhlIGRldmljZS4KICovCnN0YXRpYyB2b2lkIHN0b3BO aWMoc3RydWN0IHMyaW9fbmljICpuaWMpCnsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhF TkFfZGV2X2NvbmZpZ190ICopbmljLT5iYXIwOwoJcmVnaXN0ZXIgdTY0IHZhbDY0ID0gMDsKCXUx NiBpbnRlcnJ1cHRpYmxlLGk7CgovKiAgRGlzYWJsZSBhbGwgaW50ZXJydXB0cyAqLwoJaW50ZXJy dXB0aWJsZSA9IFRYX1RSQUZGSUNfSU5UUiB8IFJYX1RSQUZGSUNfSU5UUiB8IFRYX01BQ19JTlRS IHwKCQkJUlhfTUFDX0lOVFI7Cgllbl9kaXNfYWJsZV9OaWNJbnRycyhuaWMsIGludGVycnVwdGli bGUsIERJU0FCTEVfSU5UUlMpOwoKLyogIERpc2FibGUgUFJDcyAqLwoJZm9yKGk9MDtpPG5pYy0+ Y29uZmlnLlJ4UmluZ051bTtpKyspIHsKCQl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+cHJjX2N0cmxf bltpXSk7CgkJdmFsNjQgJj0gfigodTY0KVBSQ19DVFJMX1JDX0VOQUJMRUQpOwoJCXdyaXRlNjQo JmJhcjAtPnByY19jdHJsX25baV0sIHZhbDY0KTsKCX0KfQoKLyogIAogKiAgSW5wdXQgQXJndW1l bnRzOiAKICogIGRldmljZSBwcml2YXRlIHZhcmlhYmxlCiAqICBSZXR1cm4gVmFsdWU6IAogKiAg U1VDQ0VTUyBvbiBzdWNjZXNzIG9yIGFuIGFwcHJvcHJpYXRlIC12ZSB2YWx1ZSBvbiBmYWlsdXJl LgogKiAgRGVzY3JpcHRpb246IAogKiAgVGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyBSeCBzaWRlIHNr YnMgYW5kIHB1dHMgdGhlIHBoeXNpY2FsCiAqICBhZGRyZXNzIG9mIHRoZXNlIGJ1ZmZlcnMgaW50 byB0aGUgUnhEIGJ1ZmZlciBwb2ludGVycywgc28gdGhhdCB0aGUgTklDCiAqICBjYW4gRE1BIHRo ZSByZWNlaXZlZCBmcmFtZSBpbnRvIHRoZXNlIGxvY2F0aW9ucy4KICogIFRoZSBOSUMgc3VwcG9y dHMgMyByZWNlaXZlIG1vZGVzLCB2aXoKICogIDEuIHNpbmdsZSBidWZmZXIsCiAqICAyLiB0aHJl ZSBidWZmZXIgYW5kCiAqICAzLiBGaXZlIGJ1ZmZlciBtb2Rlcy4KICogIEVhY2ggbW9kZSBkZWZp bmVzIGhvdyBtYW55IGZyYWdtZW50cyB0aGUgcmVjZWl2ZWQgZnJhbWUgd2lsbCBiZSBzcGxpdCAK ICogIHVwIGludG8gYnkgdGhlIE5JQy4gVGhlIGZyYW1lIGlzIHNwbGl0IGludG8gTDMgaGVhZGVy LCBMNCBIZWFkZXIsIAogKiAgTDQgcGF5bG9hZCBpbiB0aHJlZSBidWZmZXIgbW9kZSBhbmQgaW4g NSBidWZmZXIgbW9kZSwgTDQgcGF5bG9hZCBpdHNlbGYgCiAqICBpcyBzcGxpdCBpbnRvIDMgZnJh Z21lbnRzLiBBcyBvZiBub3cgb25seSBzaW5nbGUgYnVmZmVyIG1vZGUgaXMgc3VwcG9ydGVkLgog Ki8KaW50IGZpbGxfcnhfYnVmZmVycyhzdHJ1Y3QgczJpb19uaWMgKm5pYywgaW50IHJpbmdfbm8p CnsKCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSBuaWMtPmRldjsKCXN0cnVjdCBza19idWZmICpz a2I7CglSeERfdCAqcnhkcDsKCWludCBvZmYsb2ZmMSxzaXplLCBibG9ja19ubywgYmxvY2tfbm8x OwoJaW50IG9mZnNldCwgb2Zmc2V0MTsKCXUzMiBhbGxvY190YWIgPSAwOwoJdTMyIGFsbG9jX2Nu dCA9CW5pYy0+cGt0X2NudFtyaW5nX25vXSAtIAoJCWF0b21pY19yZWFkKCZuaWMtPnJ4X2J1ZnNf bGVmdFtyaW5nX25vXSk7CgoJaWYoZnJhbWVfbGVuW3Jpbmdfbm9dKSB7CgkJaWYoZnJhbWVfbGVu W3Jpbmdfbm9dID4gZGV2LT5tdHUpIAoJCQlkZXYtPm10dSA9IGZyYW1lX2xlbltyaW5nX25vXTsK CQlzaXplID0gZnJhbWVfbGVuW3Jpbmdfbm9dK0hFQURFUl9FVEhFUk5FVF9JSV84MDJfM19TSVpF KwoJCQlIRUFERVJfODAyXzJfU0laRStIRUFERVJfU05BUF9TSVpFOwoJfSBlbHNlIHsKCQlzaXpl ID0gZGV2LT5tdHUrSEVBREVSX0VUSEVSTkVUX0lJXzgwMl8zX1NJWkUrCgkJCUhFQURFUl84MDJf Ml9TSVpFK0hFQURFUl9TTkFQX1NJWkU7IAoJfQoKCXdoaWxlKGFsbG9jX3RhYiA8IGFsbG9jX2Nu dCkgewoJCWJsb2NrX25vPW5pYy0+bWFjX2NvbnRyb2wucnhfY3Vycl9wdXRfaW5mb1tyaW5nX25v XS4KCQkJCWJsb2NrX2luZGV4OwoJCWJsb2NrX25vMT1uaWMtPm1hY19jb250cm9sLnJ4X2N1cnJf Z2V0X2luZm9bcmluZ19ub10uCgkJCQlibG9ja19pbmRleDsKCQlvZmY9bmljLT5tYWNfY29udHJv bC5yeF9jdXJyX3B1dF9pbmZvW3Jpbmdfbm9dLm9mZnNldDsKCQlvZmYxPW5pYy0+bWFjX2NvbnRy b2wucnhfY3Vycl9nZXRfaW5mb1tyaW5nX25vXS5vZmZzZXQ7CgkJb2Zmc2V0ID0gYmxvY2tfbm8q KE1BWF9SWERTX1BFUl9CTE9DSysxKStvZmY7CgkJb2Zmc2V0MSA9IGJsb2NrX25vMSooTUFYX1JY RFNfUEVSX0JMT0NLKzEpK29mZjE7CgoJCXJ4ZHAgPSBuaWMtPnJ4X2Jsb2Nrc1tyaW5nX25vXVti bG9ja19ub10uCgkJCWJsb2NrX3ZpcnRfYWRkcitvZmY7CgkJaWYoKG9mZnNldCA9PSBvZmZzZXQx KSYmKHJ4ZHAtPkhvc3RfQ29udHJvbCkpIHsKCQkJREJHX1BSSU5UKElOVFJfREJHLCIlczogR2V0 IGFuZCBQdXQiLGRldi0+bmFtZSk7CgkJCURCR19QUklOVChJTlRSX0RCRywiIGluZm8gZXF1YXRl ZFxuIik7CgkJCWdvdG8gZW5kOwoJCX0KCgkJaWYocnhkcC0+Q29udHJvbF8xID09IEVORF9PRl9C TE9DSykgewoJCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9bcmluZ19ub10uCgkJ CQlibG9ja19pbmRleCsrOwoJCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9bcmlu Z19ub10uCgkJCQlibG9ja19pbmRleCAlPW5pYy0+YmxvY2tfY291bnRbcmluZ19ub107CgkJCWJs b2NrX25vID0gbmljLT5tYWNfY29udHJvbC5yeF9jdXJyX3B1dF9pbmZvCgkJCQkJW3Jpbmdfbm9d LmJsb2NrX2luZGV4OwoJCQlyeGRwID0gKFJ4RF90ICopKChkbWFhZGRyX3QpcnhkcC0+Q29udHJv bF8yKTsKCQkJREJHX1BSSU5UKElOVFJfREJHLCIlczogTmV4dCBibG9jayBhdDogJXBcbiIsCgkJ CQlkZXYtPm5hbWUscnhkcCk7CgkJCW9mZisrOwoJCQlvZmYgJT0gKE1BWF9SWERTX1BFUl9CTE9D SysxKTsKCQkJbmljLT5tYWNfY29udHJvbC5yeF9jdXJyX3B1dF9pbmZvW3Jpbmdfbm9dLm9mZnNl dCA9IG9mZjsKCQl9CgoJCWlmKHJ4ZHAtPkNvbnRyb2xfMSAmIFJYRF9PV05fWEVOQSkgewoJCQlu aWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9bcmluZ19ub10uCgkJCQlvZmZzZXQgPSBv ZmY7CgkJCWdvdG8gZW5kOwoJCX0KCgkJc2tiID0gZGV2X2FsbG9jX3NrYihzaXplK0hFQURFUl9B TElHTl9MQVlFUl8zKTsKCQlpZighc2tiKSB7CgkJCURCR19QUklOVChFUlJfREJHLCIlczogT3V0 IG9mICIsZGV2LT5uYW1lKTsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIm1lbW9yeSB0byBhbGxvY2F0 ZSBTS0JzXG4iKTsKCQkJcmV0dXJuIC1FTk9NRU07CgkJfQoJCXNrYl9yZXNlcnZlKHNrYixIRUFE RVJfQUxJR05fTEFZRVJfMyk7CgkJbWVtc2V0KHJ4ZHAsMCxzaXplb2YoUnhEX3QpKTsKCQlyeGRw LT5CdWZmZXIwX3B0ciA9IChkbWFhZGRyX3QpIHBjaV9tYXBfc2luZ2xlCgkJCShuaWMtPnBkZXYs c2tiLT5kYXRhLHNpemUsUENJX0RNQV9GUk9NREVWSUNFKTsKCQlyeGRwLT5Db250cm9sXzIgJj0g KH5NQVNLX0JVRkZFUjBfU0laRSk7CgkJcnhkcC0+Q29udHJvbF8yIHw9IFNFVF9CVUZGRVIwX1NJ WkUoc2l6ZSk7CgkJcnhkcC0+SG9zdF9Db250cm9sID0gKGRtYWFkZHJfdCkoc2tiKTsKCQlyeGRw LT5Db250cm9sXzEgfD0gUlhEX09XTl9YRU5BOwoJCQlvZmYrKzsKCQlvZmYgJT0gKE1BWF9SWERT X1BFUl9CTE9DSysxKTsKCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfcHV0X2luZm9bcmluZ19u b10ub2Zmc2V0ID0gb2ZmOwoJCWF0b21pY19pbmMoJm5pYy0+cnhfYnVmc19sZWZ0W3Jpbmdfbm9d KTsKCQlhbGxvY190YWIrKzsKCX0KCQplbmQ6CglyZXR1cm4gU1VDQ0VTUzsKfQoKLyogIAogKiAg SW5wdXQgQXJndW1lbnRzOiAKICogIGRldmljZSBwcml2YXRlIHZhcmlhYmxlLgogKiAgUmV0dXJu IFZhbHVlOiAKICogIE5PTkUuCiAqICBEZXNjcmlwdGlvbjogCiAqICBUaGlzIGZ1bmN0aW9uIHdp bGwgZnJlZSBhbGwgUnggYnVmZmVycyBhbGxvY2F0ZWQgYnkgaG9zdC4KICovCnN0YXRpYyB2b2lk IGZyZWVSeEJ1ZmZlcnMoc3RydWN0IHMyaW9fbmljICpzcCkKewoJc3RydWN0IG5ldF9kZXZpY2Ug KmRldiA9IHNwLT5kZXY7CglpbnQgaSxqLGJsaz0wLG9mZiwgYnVmX2NudCA9IDA7CglSeERfdCAq cnhkcDsKCXN0cnVjdCBza19idWZmICpza2I7CgoJZm9yKGk9MDsgaTxzcC0+Y29uZmlnLlJ4Umlu Z051bTsgaSsrKSB7CgkJZm9yKGo9MCxibGs9MDsgajxzcC0+Y29uZmlnLlJ4Q2ZnW2ldLk51bVJ4 ZDsgaisrKSB7CgkJCW9mZiA9IGolKE1BWF9SWERTX1BFUl9CTE9DSysxKTsKCQkJcnhkcCA9IHNw LT5yeF9ibG9ja3NbaV1bYmxrXS5ibG9ja192aXJ0X2FkZHIrb2ZmOwoKCQkJaWYocnhkcC0+Q29u dHJvbF8xID09IEVORF9PRl9CTE9DSykgewoJCQkJcnhkcCA9IChSeERfdCAqKSgoZG1hYWRkcl90 KXJ4ZHAtPkNvbnRyb2xfMik7CgkJCQlqKys7CgkJCQlibGsrKzsKCQkJfQoKCQkJc2tiID0gKHN0 cnVjdCBza19idWZmICopKChkbWFhZGRyX3QpcnhkcC0+SG9zdF9Db250cm9sKTsKCQkJaWYoc2ti KSB7CgkJCQlwY2lfdW5tYXBfc2luZ2xlKHNwLT5wZGV2LCByeGRwLT5CdWZmZXIwX3B0ciwgCgkJ CQkJZGV2LT5tdHUrSEVBREVSX0VUSEVSTkVUX0lJXzgwMl8zX1NJWkUrCgkJCQkJSEVBREVSXzgw Ml8yX1NJWkUrSEVBREVSX1NOQVBfU0laRSwKCQkJCQlQQ0lfRE1BX0ZST01ERVZJQ0UpOwoJCQkJ ZGV2X2tmcmVlX3NrYihza2IpOwoJCQkJYXRvbWljX2RlYygmc3AtPnJ4X2J1ZnNfbGVmdFtpXSk7 CgkJCQlidWZfY250Kys7CgkJCX0KCQkJbWVtc2V0KHJ4ZHAsIDAsIHNpemVvZihSeERfdCkpOwoJ CX0KCQlzcC0+bWFjX2NvbnRyb2wucnhfY3Vycl9wdXRfaW5mb1tpXS5ibG9ja19pbmRleCA9IDA7 CgkJc3AtPm1hY19jb250cm9sLnJ4X2N1cnJfZ2V0X2luZm9baV0uYmxvY2tfaW5kZXggPSAwOwoJ CXNwLT5tYWNfY29udHJvbC5yeF9jdXJyX3B1dF9pbmZvW2ldLm9mZnNldCA9IDA7CgkJc3AtPm1h Y19jb250cm9sLnJ4X2N1cnJfZ2V0X2luZm9baV0ub2Zmc2V0ID0gMDsKCQlhdG9taWNfc2V0KCZz cC0+cnhfYnVmc19sZWZ0W2ldLDApOwoJCURCR19QUklOVChJTklUX0RCRywiJXM6IEZyZWVkIDB4 JXggUnhEcyBvbiByaW5nJWRcbiIsCgkJCWRldi0+bmFtZSwgYnVmX2NudCxpKTsKCX0KfQoKLyoK ICogIElucHV0IEFyZ3VtZW50OiAKICogICBkZXYgLSBwb2ludGVyIHRvIHRoZSBkZXZpY2Ugc3Ry dWN0dXJlLgogKiAgIGJ1ZGdldCAtIFRoZSBudW1iZXIgb2YgcGFja2V0cyB0aGF0IHdlcmUgYnVk Z2V0ZWQgdG8gYmUgcHJvY2Vzc2VkIGR1cmluZwogKiAgIG9uZSBwYXNzIHRocm91Z2ggdGhlICdQ b2xsIiBmdW5jdGlvbi4KICogIFJldHVybiB2YWx1ZToKICogICAwIG9uIHN1Y2Nlc3MgYW5kIDEg aWYgdGhlcmUgYXJlIE5vIFJ4IHBhY2tldHMgdG8gYmUgcHJvY2Vzc2VkLgogKiAgRGVzY3JpcHRp b246CiAqICAgQ29tZXMgaW50byBwaWN0dXJlIG9ubHkgaWYgTkFQSSBzdXBwb3J0IGhhcyBiZWVu IGluY29ycG9yYXRlZC4gSXQgZG9lcwogKiAgIHRoZSBzYW1lIHRoaW5nIHRoYXQgcnhJbnRySGFu ZGxlciBkb2VzLCBidXQgbm90IGluIGEgaW50ZXJydXB0IGNvbnRleHQKICogICBhbHNvIEl0IHdp bGwgcHJvY2VzcyBvbmx5IGEgZ2l2ZW4gbnVtYmVyIG9mIHBhY2tldHMuCiAqLwojaWZkZWYgQ09O RklHVVJFX05BUElfU1VQUE9SVApzdGF0aWMgaW50IHMyaW9fcG9sbChzdHJ1Y3QgbmV0X2Rldmlj ZSAqZGV2LCBpbnQgKmJ1ZGdldCkKewoJbmljX3QgKm5pYyA9IChuaWNfdCAqKWRldi0+cHJpdjsK CVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhFTkFfZGV2X2NvbmZpZ190ICopbmljLT5iYXIw OwoJaW50IHBrdHNfdG9fcHJvY2VzcyA9ICpidWRnZXQsIHBrdF9jbnQ9MDsKCXJlZ2lzdGVyIHU2 NCB2YWw2NCA9IDA7CglyeF9jdXJyX2dldF9pbmZvX3Qgb2Zmc2V0X2luZm87CglpbnQgaSxibG9j a19ubzsKCXUxNiB2YWwxNixja3N1bTsKCXN0cnVjdCBza19idWZmICpza2I7CglSeERfdCAqcnhk cDsKCglpZihwa3RzX3RvX3Byb2Nlc3MgPiBkZXYtPnF1b3RhKQoJCXBrdHNfdG9fcHJvY2VzcyA9 IGRldi0+cXVvdGE7CgkKCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5yeF90cmFmZmljX2ludCk7Cgl3 cml0ZTY0KCZiYXIwLT5yeF90cmFmZmljX2ludCwgdmFsNjQpOwoJLy9wcmludGsoIjwxPiBJbiBT MklPIFBvbGxpbmcgZnVuY3Rpb25cbiIpOwoKCWZvcihpPTA7aTxuaWMtPmNvbmZpZy5SeFJpbmdO dW07aSsrKSB7CgkJaWYoLS1wa3RzX3RvX3Byb2Nlc3MgPCAwKSB7CgkJCWdvdG8gbm9fcng7CgkJ fQoJCW9mZnNldF9pbmZvID0gbmljLT5tYWNfY29udHJvbC5yeF9jdXJyX2dldF9pbmZvW2ldOwoJ CWJsb2NrX25vID0gb2Zmc2V0X2luZm8uYmxvY2tfaW5kZXg7CgkJcnhkcCA9IG5pYy0+cnhfYmxv Y2tzW2ldW2Jsb2NrX25vXS5ibG9ja192aXJ0X2FkZHIgKyAKCQkJb2Zmc2V0X2luZm8ub2Zmc2V0 OwoJCXdoaWxlKCEocnhkcC0+Q29udHJvbF8xICYgUlhEX09XTl9YRU5BKSkgewoJCQlpZihyeGRw LT5Db250cm9sXzEgPT0gRU5EX09GX0JMT0NLKSB7CgkJCQlyeGRwID0gKFJ4RF90ICopKChkbWFh ZGRyX3QpcnhkcC0+Q29udHJvbF8yKTsKCQkJCW9mZnNldF9pbmZvLm9mZnNldCsrOwoJCQkJb2Zm c2V0X2luZm8ub2Zmc2V0ICU9IChNQVhfUlhEU19QRVJfQkxPQ0srMSk7CgkJCQlibG9ja19ubysr OwoJCQkJYmxvY2tfbm8gJT0gbmljLT5ibG9ja19jb3VudFtpXTsKCQkJCW5pYy0+bWFjX2NvbnRy b2wucnhfY3Vycl9nZXRfaW5mb1tpXS5vZmZzZXQgPQoJCQkJCW9mZnNldF9pbmZvLm9mZnNldDsK CQkJCW5pYy0+bWFjX2NvbnRyb2wucnhfY3Vycl9nZXRfaW5mb1tpXS5ibG9ja19pbmRleAoJCQkJ CT0gYmxvY2tfbm87CgkJCQljb250aW51ZTsKCQkJfQoJCQlza2IgPSAoc3RydWN0IHNrX2J1ZmYg KikoKGRtYWFkZHJfdClyeGRwLT5Ib3N0X0NvbnRyb2wpOwoJCQlpZihza2IgPT0gTlVMTCkgewoJ CQkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiBUaGUgc2tiIGlzICIsZGV2LT5uYW1lKTsKCQkJCURC R19QUklOVChFUlJfREJHLCJOdWxsIGluIFJ4IEludHJcbiIpOwoJCQkJcmV0dXJuIDA7CgkJCX0K CQkJdmFsNjQgPSBSWERfR0VUX0JVRkZFUjBfU0laRShyeGRwLT5Db250cm9sXzIpOwoJCQl2YWwx NiA9ICh1MTYpKHZhbDY0ID4+IDQ4KTsKCQkJY2tzdW0gPSBSWERfR0VUX0w0X0NLU1VNKHJ4ZHAt PkNvbnRyb2xfMSk7CgkJCXBjaV91bm1hcF9zaW5nbGUobmljLT5wZGV2LCByeGRwLT5CdWZmZXIw X3B0ciwgCgkJCQlkZXYtPm10dSArIEhFQURFUl9FVEhFUk5FVF9JSV84MDJfM19TSVpFICsKCQkJ CUhFQURFUl84MDJfMl9TSVpFK0hFQURFUl9TTkFQX1NJWkUsIAoJCQkJUENJX0RNQV9GUk9NREVW SUNFKTsKCQkJcnhPc21IYW5kbGVyKG5pYyx2YWwxNixyeGRwLGkpOwoJCQlwa3RfY250Kys7CgkJ CW9mZnNldF9pbmZvLm9mZnNldCsrOwoJCQlvZmZzZXRfaW5mby5vZmZzZXQgJT0gKE1BWF9SWERT X1BFUl9CTE9DSysxKTsKCQkJcnhkcCA9IG5pYy0+cnhfYmxvY2tzW2ldW2Jsb2NrX25vXS5ibG9j a192aXJ0X2FkZHIgKwoJCQlvZmZzZXRfaW5mby5vZmZzZXQ7CgkJCW5pYy0+bWFjX2NvbnRyb2wu cnhfY3Vycl9nZXRfaW5mb1tpXS5vZmZzZXQgPSAKCQkJCW9mZnNldF9pbmZvLm9mZnNldDsKCQl9 Cgl9CglpZighcGt0X2NudCkKCQlwa3RfY250ID0gMTsKCglmb3IoaT0wO2k8bmljLT5jb25maWcu UnhSaW5nTnVtO2krKykKCQlmaWxsX3J4X2J1ZmZlcnMobmljLCBpKTsKCglkZXYtPnF1b3RhIC09 IHBrdF9jbnQ7CgkqYnVkZ2V0IC09IHBrdF9jbnQ7CgluZXRpZl9yeF9jb21wbGV0ZShkZXYpOwoK LyogUmUgZW5hYmxlIHRoZSBSeCBpbnRlcnJ1cHRzLiAqLwoJZW5fZGlzX2FibGVfTmljSW50cnMo bmljLCBSWF9UUkFGRklDX0lOVFIsIEVOQUJMRV9JTlRSUyk7CglyZXR1cm4gMDsKCQpub19yeDoK CWZvcihpPTA7aTxuaWMtPmNvbmZpZy5SeFJpbmdOdW07aSsrKQoJCWZpbGxfcnhfYnVmZmVycyhu aWMsIGkpOwoJZGV2LT5xdW90YSAtPSBwa3RfY250OwoJKmJ1ZGdldCAtPSBwa3RfY250OwoJcmV0 dXJuIDE7Cn0KI2Vsc2UKLyogIAogKiAgSW5wdXQgQXJndW1lbnRzOiAKICogIGRldmljZSBwcml2 YXRlIHZhcmlhYmxlLgogKiAgUmV0dXJuIFZhbHVlOiAKICogIE5PTkUuCiAqICBEZXNjcmlwdGlv bjogCiAqIElmIHRoZSBpbnRlcnJ1cHQgaXMgYmVjYXVzZSBvZiBhIHJlY2VpdmVkIGZyYW1lIG9y IGlmIHRoZSAKICogIHJlY2VpdmUgcmluZyBjb250YWlucyBmcmVzaCBhcyB5ZXQgdW4tcHJvY2Vz c2VkIGZyYW1lcywgdGhpcyBmdW5jdGlvbiBpcwogKiAgY2FsbGVkLiBJdCBwaWNrcyBvdXQgdGhl IFJ4RCBhdCB3aGljaCBwbGFjZSB0aGUgbGFzdCBSeCBwcm9jZXNzaW5nIGhhZCAKICogIHN0b3Bw ZWQgYW5kIHNlbmRzIHRoZSBza2IgdG8gdGhlIE9TTSdzIFJ4IGhhbmRsZXIgYW5kIHRoZW4gaW5j cmVtZW50cyAKICogIHRoZSBvZmZzZXQuCiAqLwpzdGF0aWMgdm9pZCByeEludHJIYW5kbGVyKHN0 cnVjdCBzMmlvX25pYyAqbmljKQp7CglzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gKHN0cnVjdCBu ZXRfZGV2aWNlICopbmljLT5kZXY7CglYRU5BX2Rldl9jb25maWdfdCAqYmFyMCA9IChYRU5BX2Rl dl9jb25maWdfdCAqKW5pYy0+YmFyMDsKCXJ4X2N1cnJfZ2V0X2luZm9fdCBvZmZzZXRfaW5mbzsK CVJ4RF90ICAgKnJ4ZHA7CglzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwoJdTE2IHZhbDE2LGNrc3VtOwoJ cmVnaXN0ZXIgdTY0IHZhbDY0ID0gMDsKCWludCBpLGJsb2NrX25vOwoKCSNpZiBERUJVR19PTgoJ bmljLT5yeGludF9jbnQrKzsKCSNlbmRpZgoKLyogcnhfdHJhZmZpY19pbnQgcmVnIGlzIGFuIFIx IHJlZ2lzdGVyLCBoZW5jZSB3ZSByZWFkIGFuZCB3cml0ZSBiYWNrIAogKiB0aGUgc2FtZXZhbHVl IGluIHRoZSByZWdpc3RlciB0byBjbGVhciBpdC4KICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+ cnhfdHJhZmZpY19pbnQpOwoJd3JpdGU2NCgmYmFyMC0+cnhfdHJhZmZpY19pbnQsIHZhbDY0KTsK Cglmb3IoaT0wO2k8bmljLT5jb25maWcuUnhSaW5nTnVtO2krKykgewoJCW9mZnNldF9pbmZvID0g bmljLT5tYWNfY29udHJvbC5yeF9jdXJyX2dldF9pbmZvW2ldOwoJCWJsb2NrX25vID0gb2Zmc2V0 X2luZm8uYmxvY2tfaW5kZXg7CgkJcnhkcCA9IG5pYy0+cnhfYmxvY2tzW2ldW2Jsb2NrX25vXS5i bG9ja192aXJ0X2FkZHIgKyAKCQkJb2Zmc2V0X2luZm8ub2Zmc2V0OwoJCXdoaWxlKCEocnhkcC0+ Q29udHJvbF8xICYgUlhEX09XTl9YRU5BKSkgewoJCQlpZihyeGRwLT5Db250cm9sXzEgPT0gRU5E X09GX0JMT0NLKSB7CgkJCQlyeGRwID0gKFJ4RF90ICopKChkbWFhZGRyX3QpcnhkcC0+Q29udHJv bF8yKTsKCQkJCW9mZnNldF9pbmZvLm9mZnNldCsrOwoJCQkJb2Zmc2V0X2luZm8ub2Zmc2V0ICU9 IChNQVhfUlhEU19QRVJfQkxPQ0srMSk7CgkJCQlibG9ja19ubysrOwoJCQkJYmxvY2tfbm8gJT0g bmljLT5ibG9ja19jb3VudFtpXTsKCQkJCW5pYy0+bWFjX2NvbnRyb2wucnhfY3Vycl9nZXRfaW5m b1tpXS5vZmZzZXQgPQoJCQkJCW9mZnNldF9pbmZvLm9mZnNldDsKCQkJCW5pYy0+bWFjX2NvbnRy b2wucnhfY3Vycl9nZXRfaW5mb1tpXS5ibG9ja19pbmRleCAJCQkJCT0gYmxvY2tfbm87CgkJCQlj b250aW51ZTsKCQkJfQoJCQlza2IgPSAoc3RydWN0IHNrX2J1ZmYgKikoKGRtYWFkZHJfdClyeGRw LT5Ib3N0X0NvbnRyb2wpOwoJCQlpZihza2IgPT0gTlVMTCkgewoJCQkJREJHX1BSSU5UKEVSUl9E QkcsIiVzOiBUaGUgc2tiIGlzICIsIGRldi0+bmFtZSk7CgkJCQlEQkdfUFJJTlQoRVJSX0RCRywi TnVsbCBpbiBSeCBJbnRyXG4iKTsKCQkJCXJldHVybjsKCQkJfQoJCQl2YWw2NCA9IFJYRF9HRVRf QlVGRkVSMF9TSVpFKHJ4ZHAtPkNvbnRyb2xfMik7CgkJCXZhbDE2ID0gKHUxNikodmFsNjQgPj4g NDgpOwoJCQlja3N1bSA9IFJYRF9HRVRfTDRfQ0tTVU0ocnhkcC0+Q29udHJvbF8xKTsKCQkJcGNp X3VubWFwX3NpbmdsZShuaWMtPnBkZXYsIHJ4ZHAtPkJ1ZmZlcjBfcHRyLCAKCQkJCWRldi0+bXR1 ICsgSEVBREVSX0VUSEVSTkVUX0lJXzgwMl8zX1NJWkUgKwoJCQkJSEVBREVSXzgwMl8yX1NJWkUr SEVBREVSX1NOQVBfU0laRSwgCgkJCQlQQ0lfRE1BX0ZST01ERVZJQ0UpOwoJCQlyeE9zbUhhbmRs ZXIobmljLHZhbDE2LHJ4ZHAsaSk7CgkJCW9mZnNldF9pbmZvLm9mZnNldCsrOwoJCQlvZmZzZXRf aW5mby5vZmZzZXQgJT0gKE1BWF9SWERTX1BFUl9CTE9DSysxKTsKCQkJcnhkcCA9IG5pYy0+cnhf YmxvY2tzW2ldW2Jsb2NrX25vXS5ibG9ja192aXJ0X2FkZHIgKwoJCQkJb2Zmc2V0X2luZm8ub2Zm c2V0OwoJCQluaWMtPm1hY19jb250cm9sLnJ4X2N1cnJfZ2V0X2luZm9baV0ub2Zmc2V0ID0gCgkJ CQlvZmZzZXRfaW5mby5vZmZzZXQ7CgkJfQoJfQp9CiNlbmRpZgoKLyogIAogKiAgSW5wdXQgQXJn dW1lbnRzOiAKICogIGRldmljZSBwcml2YXRlIHZhcmlhYmxlCiAqICBSZXR1cm4gVmFsdWU6IAog KiAgTk9ORQogKiAgRGVzY3JpcHRpb246IAogKiAgSWYgYW4gaW50ZXJydXB0IHdhcyByYWlzZWQg dG8gaW5kaWNhdGUgRE1BIGNvbXBsZXRlIG9mIHRoZSAKICogIFR4IHBhY2tldCwgdGhpcyBmdW5j dGlvbiBpcyBjYWxsZWQuIEl0IGlkZW50aWZpZXMgdGhlIGxhc3QgVHhEIHdob3NlIGJ1ZmZlcgog KiAgd2FzIGZyZWVkIGFuZCBmcmVlcyBhbGwgc2ticyB3aG9zZSBkYXRhIGhhdmUgYWxyZWFkeSBE TUEnZWQgaW50byB0aGUgTklDcwogKiAgaW50ZXJuYWwgbWVtb3J5LgogKi8Kc3RhdGljIHZvaWQg dHhJbnRySGFuZGxlcihzdHJ1Y3QgczJpb19uaWMgKm5pYykKewoJWEVOQV9kZXZfY29uZmlnX3Qg KmJhcjAgPSAoWEVOQV9kZXZfY29uZmlnX3QgKiluaWMtPmJhcjA7CglzdHJ1Y3QgbmV0X2Rldmlj ZSAqZGV2ID0gKHN0cnVjdCBuZXRfZGV2aWNlICopbmljLT5kZXY7Cgl0eF9jdXJyX2dldF9pbmZv X3Qgb2Zmc2V0X2luZm8sIG9mZnNldF9pbmZvMTsKCXN0cnVjdCBza19idWZmICpza2IsICpxc2ti OwoJVHhEX3QgKnR4ZGxwOwkKCXJlZ2lzdGVyIHU2NCB2YWw2NCA9IDA7CglpbnQgaTsKCSNpZmRl ZiBBUkNIX1BQQzY0Cgl1MTYgaixmcmdfY250OwoJI2VuZGlmCgkjaWYgREVCVUdfT04KCWludCBj bnQgPSAwOwoJbmljLT50eGludF9jbnQrKzsKCSNlbmRpZgoKLyogdHhfdHJhZmZpY19pbnQgcmVn IGlzIGFuIFIxIHJlZ2lzdGVyLCBoZW5jZSB3ZSByZWFkIGFuZCB3cml0ZSBiYWNrIAoqIHRoZSBz YW1ldmFsdWUgaW4gdGhlIHJlZ2lzdGVyIHRvIGNsZWFyIGl0LgoqLwoJdmFsNjQgPSByZWFkNjQo JmJhcjAtPnR4X3RyYWZmaWNfaW50KTsKCXdyaXRlNjQoJmJhcjAtPnR4X3RyYWZmaWNfaW50LCB2 YWw2NCk7CgoJZm9yKGk9MDtpPG5pYy0+Y29uZmlnLlR4RklGT051bTtpKyspIHsKCQlvZmZzZXRf aW5mbyAgPSBuaWMtPm1hY19jb250cm9sLnR4X2N1cnJfZ2V0X2luZm9baV07CgkJb2Zmc2V0X2lu Zm8xID0gbmljLT5tYWNfY29udHJvbC50eF9jdXJyX3B1dF9pbmZvW2ldOwoJCXR4ZGxwID0gbmlj LT5tYWNfY29udHJvbC50eGRsX3N0YXJ0W2ldKwoJCQkobmljLT5jb25maWcuTWF4VHhEcyAqIG9m ZnNldF9pbmZvLm9mZnNldCk7CgkJd2hpbGUoKCEodHhkbHAtPkNvbnRyb2xfMSAmIFRYRF9MSVNU X09XTl9YRU5BKSkgJiYKCQkJKG9mZnNldF9pbmZvLm9mZnNldCAhPSBvZmZzZXRfaW5mbzEub2Zm c2V0KSAmJgoJCQkodHhkbHAtPkhvc3RfQ29udHJvbCkpIHsKCQkJLyogQ2hlY2sgZm9yIFR4RCBl cnJvcnMgKi8KCQkJaWYgKHR4ZGxwLT5Db250cm9sXzEgJiBUWERfVF9DT0RFKQoJCQkJcHJpbnRr KCIqKipUeEQgZXJyb3IgJWxseFxuIiwKCQkJCQkodHhkbHAtPkNvbnRyb2xfMSAmIFRYRF9UX0NP REUpKTsKCgkJCXNrYj0oc3RydWN0IHNrX2J1ZmYgKikoKGRtYWFkZHJfdCl0eGRscC0+SG9zdF9D b250cm9sKTsKCQkJaWYoc2tiID09IE5VTEwgKSB7CgkJCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6 IE51bGwgc2tiICIsIGRldi0+bmFtZSk7CgkJCQlEQkdfUFJJTlQoRVJSX0RCRywiaW4gVHggRnJl ZSBJbnRyXG4iKTsKCQkJCXJldHVybjsKCQkJfQoJCQluaWMtPnR4X3BrdF9jb3VudCsrOwoKCQkJ I2lmZGVmIEFSQ0hfUFBDNjQKCQkJZnJnX2NudCA9IHNrYl9zaGluZm8oc2tiKS0+bnJfZnJhZ3M7 CgoJCQkvKiAgRm9yIHVuZnJhZ21lbnRlZCBza2IgKi8KCQkJaWYoIWZyZ19jbnQpCgkJCQlwY2lf dW5tYXBfc2luZ2xlKG5pYy0+cGRldiwgCgkJCQkJdHhkbHAtPkJ1ZmZlcl9Qb2ludGVyLAoJCQkJ CXNrYi0+bGVuLCBQQ0lfRE1BX1RPREVWSUNFKTsKCQkJZWxzZSB7CgkJCQlUeERfdCAqdHhkcCA9 IHR4ZGxwOwoKCQkJCXBjaV91bm1hcF9zaW5nbGUobmljLT5wZGV2LCAKCQkJCQl0eGRscC0+QnVm ZmVyX1BvaW50ZXIsIAoJCQkJCXNrYi0+bGVuIC0gc2tiLT5kYXRhX2xlbiwgCgkJCQkJUENJX0RN QV9UT0RFVklDRSk7CgoJCQkJZm9yKGo9MDtqPGZyZ19jbnQ7aisrKSB7CgkJCQkJc2tiX2ZyYWdf dCAqZnJhZyA9IAoJCQkJCQkmc2tiX3NoaW5mbyhza2IpLT5mcmFnc1tqXTsKCgkJCQkJdHhkcCsr OwoJCQkJCXBjaV91bm1hcF9zaW5nbGUgKG5pYy0+cGRldiwgCgkJCQkJCXR4ZHAtPkJ1ZmZlcl9Q b2ludGVyLAoJCQkJCQlmcmFnLT5zaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKCQkJCX0KCgkJCX0K CQkJI2Vsc2UKCQkJcGNpX3VubWFwX3NpbmdsZShuaWMtPnBkZXYsIHR4ZGxwLT5CdWZmZXJfUG9p bnRlciwKCQkgICAgICAgICAgICAgICAgKHNrYi0+bGVuKSAtIChza2ItPmRhdGFfbGVuKSwgUENJ X0RNQV9UT0RFVklDRSk7CgkJCSNlbmRpZgoJCQlkZXZfa2ZyZWVfc2tiX2lycShza2IpOwoJCQlt ZW1zZXQodHhkbHAsIDAsIChzaXplb2YoVHhEX3QpKm5pYy0+Y29uZmlnLk1heFR4RHMpKTsKCQkJ LyogVXBkYXRpbmcgdGhlIHN0YXRpc3RpY3MgYmxvY2sgKi8KCQkJbmljLT5zdGF0cy50eF9wYWNr ZXRzKys7CgkJCW5pYy0+c3RhdHMudHhfYnl0ZXMgKz0gc2tiLT5sZW47CgkJCSNpZiBERUJVR19P TgoJCQluaWMtPnR4cGt0X2J5dGVzICs9IHNrYi0+bGVuOwkKCQkJY250Kys7CgkJCSNlbmRpZgoJ CQlvZmZzZXRfaW5mby5vZmZzZXQrKzsKCQkJb2Zmc2V0X2luZm8ub2Zmc2V0ICU9IG9mZnNldF9p bmZvLmZpZm9fbGVuKzE7CgkJCXR4ZGxwID0gbmljLT5tYWNfY29udHJvbC50eGRsX3N0YXJ0W2ld KwoJCQkobmljLT5jb25maWcuTWF4VHhEcyAqIG9mZnNldF9pbmZvLm9mZnNldCk7CgkJCW5pYy0+ bWFjX2NvbnRyb2wudHhfY3Vycl9nZXRfaW5mb1tpXS5vZmZzZXQgPSAKCQkJCW9mZnNldF9pbmZv Lm9mZnNldDsKCQl9CgkJI2lmIERFQlVHX09OCgkJREJHX1BSSU5UKElOVFJfREJHLCIlczogZnJl ZWQgJWQgVHggUGt0c1xuIixkZXYtPm5hbWUsY250KTsKCQkjZW5kaWYKCX0KCi8qIElmIGEgVHgg UEtUIGlzIGJlaW5nIHN0b3JlZCB0byBiZSB0cmFuc21pdHRlZCwgaXQgY2FuIGJlIGRvbmUgYXQg dGhpcwogKiAgcG9pbnQgYXMgYSBUeCBjb21wbGV0ZSBpbnRlcnJ1cHQgaGFzIGJlZW4gcmFpc2Vk LiBXaGljaCBtZWFucyBzb21lIAogKiAgZnJlZSBUeERzIHdvdWxkIGJlIGF2YWlsYWJsZS4KICov CgkvL2lmKG5pYy0+dHhfcGt0X3B0cikgewoJLy9xc2tiID0gKHN0cnVjdCBza19idWZmICopbmlj LT50eF9wa3RfcHRyOwoJaWYobmV0aWZfcXVldWVfc3RvcHBlZChkZXYpKQoJCW5ldGlmX3dha2Vf cXVldWUoZGV2KTsKCS8vIGRldl9xdWV1ZV94bWl0KHFza2IpOyAKCS8vbmljLT50eF9wa3RfcHRy ID0gTlVMTDsKCS8vfQp9CgovKiAgCiAqICBJbnB1dCBBcmd1bWVudHM6IAogKiAgZGV2aWNlIHBy aXZhdGUgdmFyaWFibGUKICogIFJldHVybiBWYWx1ZTogCiAqICBOT05FCiAqICBEZXNjcmlwdGlv bjogCiAqICBJZiB0aGUgaW50ZXJydXB0IHdhcyBuZWl0aGVyIGJlY2F1c2Ugb2YgUnggcGFja2V0 IG9yIFR4IAogKiAgY29tcGxldGUsIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLiBJZiB0aGUgaW50 ZXJydXB0IHdhcyB0byBpbmRpY2F0ZSBhIGxvc3MKICogIG9mIGxpbmssIHRoZSBPU00gbGluayBz dGF0dXMgaGFuZGxlciBpcyBpbnZva2VkIGZvciBhbnkgb3RoZXIgYWxhcm0gCiAqICBpbnRlcnJ1 cHQgdGhlIGJsb2NrIHRoYXQgcmFpc2VkIHRoZSBpbnRlcnJ1cHQgaXMgZGlzcGxheWVkIGFuZCBh IEgvVyByZXNldCAKICogIGlzIGlzc3VlZC4KICovCnN0YXRpYyB2b2lkIGFsYXJtSW50ckhhbmRs ZXIoc3RydWN0IHMyaW9fbmljICpuaWMpCnsKCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSAoc3Ry dWN0IG5ldF9kZXZpY2UgKiluaWMtPmRldjsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhF TkFfZGV2X2NvbmZpZ190ICopbmljLT5iYXIwOwoJaW50IHF1aWVzY2VuY2VfZmxhZyA9IEZBTFNF LCBjbnQgPSAwOwoJcmVnaXN0ZXIgdTY0IHZhbDY0ID0gMDsKCi8qIEhhbmRsaW5nIGxpbmsgc3Rh dHVzIGNoYW5nZSBlcnJvciBJbnRyICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWFjX3JtYWNf ZXJyX3JlZyk7CglpZih2YWw2NCAmIFJNQUNfTElOS19TVEFURV9DSEFOR0VfSU5UKSB7CgkJdmFs NjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfc3RhdHVzKTsKCQlpZih2ZXJpZnlfeGVuYV9xdWll c2NlbmNlKHZhbDY0LCBuaWMtPmRldmljZV9lbmFibGVkX29uY2UpCgkJCT09VFJVRSkgewoJCQlk byB7CgkJCQl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+YWRhcHRlcl9zdGF0dXMpOwoJCQkJaWYoISh2 YWw2NCAmKEFEQVBURVJfU1RBVFVTX1JNQUNfUkVNT1RFX0ZBVUxUIHwKCQkJCQlBREFQVEVSX1NU QVRVU19STUFDX0xPQ0FMX0ZBVUxUKSkpIHsKCQkJCQl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+YWRh cHRlcl9jb250cm9sKTsKCQkJCQl2YWw2NCB8PSBBREFQVEVSX0NOVExfRU47CgkJCQkJd3JpdGU2 NCgmYmFyMC0+YWRhcHRlcl9jb250cm9sLCB2YWw2NCk7CgkJCQkJdmFsNjQgfD0gQURBUFRFUl9M RURfT047CgkJCQkJd3JpdGU2NCgmYmFyMC0+YWRhcHRlcl9jb250cm9sLCB2YWw2NCk7CgkJCQkJ dmFsNjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfc3RhdHVzKTsKCQkJCQlpZigodmFsNjQgJiAK CQkJCQkoQURBUFRFUl9TVEFUVVNfUk1BQ19SRU1PVEVfRkFVTFQgfAoJCQkJCSBBREFQVEVSX1NU QVRVU19STUFDX0xPQ0FMX0ZBVUxUKSkpIHsKCQkJCQkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiIs CgkJCQkJCQkJZGV2LT5uYW1lKTsKCQkJCQkJREJHX1BSSU5UKEVSUl9EQkcsIiBMaW5rIGRvd24i KTsKCQkJCQkJREJHX1BSSU5UKEVSUl9EQkcsImFmdGVyICIpOwoJCQkJCQlEQkdfUFJJTlQoRVJS X0RCRywiZW5hYmxpbmcgIik7CgkJCQkJCURCR19QUklOVChFUlJfREJHLCJkZXZpY2UgXG4iKTsK CQkJCQkJY250Kys7CQoJCQkJCQljb250aW51ZTsKCQkJCQl9CgkJCQkJaWYobmljLT5kZXZpY2Vf ZW5hYmxlZF9vbmNlID09IEZBTFNFKSB7CgkJCQkJCW5pYy0+ZGV2aWNlX2VuYWJsZWRfb25jZSA9 IFRSVUU7CgkJCQkJfQoJCQkJCXMyaW9fbGluayhuaWMsIDEpOwoJCQkJCWJyZWFrOwoJCQkJfQoJ CQkJY250Kys7CQoJCQkJaWYoY250ID4gMTApIHsKCQkJCQlzMmlvX2xpbmsobmljLCAwKTsKCQkJ CQlicmVhazsKCQkJCX0KCQkJCW1kZWxheSg1MCk7CgkJCX13aGlsZShUUlVFKTsKCQkJcXVpZXNj ZW5jZV9mbGFnID0gVFJVRTsKCQl9Cgl9Ci8qIEFja25vd2xlZGdlIGludGVycnVwdCBhbmQgY2xl YXIgdGhlIFIxIHJlZ2lzdGVyICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWFjX3JtYWNfZXJy X3JlZyk7Cgl3cml0ZTY0KCZiYXIwLT5tYWNfcm1hY19lcnJfcmVnLCB2YWw2NCk7CgoJaWYocXVp ZXNjZW5jZV9mbGFnID09IEZBTFNFKSB7CgkvKgoJICogVGhlIERldmljZSBjb3VsZCBub3QgcmVh Y2ggcXVpZXNjZW5jZSBzdGF0ZS4gU3RvcHBpbmcgZGV2aWNlCgkgKiBYbWl0IHF1ZXVlLiBUaGlz IGludHVybiB3aWxsIGZvcmNlIGEgSC9XIHJlc2V0IGluIHRoZSBUeF9UaW1lb3UgCgkgKiBmdW5j dGlvbi4KCSAqLwoJCURCR19QUklOVChFUlJfREJHLCIlczogZnJvbSBMaW5rIEludHIsICIsIGRl di0+bmFtZSk7CgkJREJHX1BSSU5UKEVSUl9EQkcsImRldmljZSBpcyBub3QgUXVpZXNjZW50XG4i KTsKCQkvL25ldGlmX3N0b3BfcXVldWUoZGV2KTsKCX0JCgoJI2lmZGVmIENPTkZJR1VSRV9FWFRF TkRFRF9FUlJPUl9IQU5ETElORwoJLyogSGFuZGxpbmcgU0VSUiBlcnJvcyBieSBzdG9wcGluZyBk ZXZpY2UgWG1pdCBxdWV1ZSBhbmQgZm9yY2luZyAKCSAqIGEgSC9XIHJlc2V0LgoJICovCgl2YWw2 NCA9IHJlYWQ2NCgmYmFyMC0+c2Vycl9zb3VyY2UpOwoJaWYoIHZhbDY0ICYgU0VSUl9TT1VSQ0Vf QU5ZICkgewoJCURCR19QUklOVChFUlJfREJHLCIlczogRGV2aWNlIGluZGljYXRlcyAiLCBkZXYt Pm5hbWUpOwoJCURCR19QUklOVChFUlJfREJHLCJzZXJpb3VzIGVycm9yISFcbiIpOwkJCgkJbmV0 aWZfc3RvcF9xdWV1ZShkZXYpOwoJfQoJI2VuZGlmCi8qIE90aGVyIHR5cGUgb2YgaW50ZXJydXB0 cyBhcmUgbm90IGJlaW5nIGhhbmRsZWQgbm93LCAgVE9ETyovCn0KCi8qCiAqICBJbnB1dCBBcmd1 bWVudDogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3 aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAqICBS ZXR1cm4gdmFsdWU6CiAqICAgU1VDQ0VTUyBvbiBzdWNjZXNzIGFuZCBGQUlMVVJFIG9uIGZhaWx1 cmUuCiAqICBEZXNjcmlwdGlvbjoKICogICBGdW5jdGlvbiB0aGF0IHdhaXRzIGZvciBhIGNvbW1h bmQgdG8gV3JpdGUgaW50byBSTUFDIEFERFIgREFUQSByZWdpc3RlcnMgCiAqICAgdG8gYmUgY29t cGxldGVkIGFuZCByZXR1cm5zIGVpdGhlciBzdWNjZXNzIG9yIGVycm9yIGRlcGVuZGluZyBvbiB3 aGV0aGVyIAogKiAgIHRoZSBjb21tYW5kIHdhcyBjb21wbGV0ZSBvciBub3QuIAogKi8KaW50IHdh aXRGb3JDbWRDb21wbGV0ZShuaWNfdCAqc3ApCnsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0g KFhFTkFfZGV2X2NvbmZpZ190ICopc3AtPmJhcjA7CglpbnQgcmV0ID0gRkFJTFVSRSwgY250ID0g MDsKCXU2NCB2YWw2NDsKCgl3aGlsZShUUlVFKSB7CgkgICAgdmFsNjQgPSBSTUFDX0FERFJfQ01E X01FTV9SRCB8IFJNQUNfQUREUl9DTURfTUVNX1NUUk9CRV9ORVdfQ01EIHwKICAgIAkgICAgUk1B Q19BRERSX0NNRF9NRU1fT0ZGU0VUKDApOwoJICAgIHdyaXRlNjQoJmJhcjAtPnJtYWNfYWRkcl9j bWRfbWVtLCB2YWw2NCk7CgkgICAgdmFsNjQgPSByZWFkNjQoJmJhcjAtPnJtYWNfYWRkcl9jbWRf bWVtKTsKCQlpZighdmFsNjQpIHsKCQkJcmV0ID0gU1VDQ0VTUzsKCQkJYnJlYWs7CgkJfQoJCW1k ZWxheSg1MCk7CgkJaWYoY250KysgPiAxMCkKCQkJYnJlYWs7Cgl9CgoJcmV0dXJuIHJldDsKfQoK LyoKICogIElucHV0IEFyZ3VtZW50OiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRl dmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmlj IHN0cnVjdHVyZS4KICogIFJldHVybiB2YWx1ZToKICogICB2b2lkLgogKiAgRGVzY3JpcHRpb246 CiAqICAgRnVuY3Rpb24gdG8gUmVzZXQgdGhlIGNhcmQuIFRoaXMgZnVuY3Rpb24gdGhlbiBhbHNv IHJlc3RvcmVzIHRoZSBwcmV2aW91c2x5CiAqICAgc2F2ZWQgUENJIGNvbmZpZ3VyYXRpb24gc3Bh Y2UgcmVnaXN0ZXJzIGFzIHRoZSBjYXJkIHJlc2V0IGFsc28gcmVzZXRzIHRoZQogKiAgIENvbmZp Z3JhdGlvbiBzcGFjZS4KICovCnZvaWQgczJpb19yZXNldChuaWNfdCAqc3ApCnsKCVhFTkFfZGV2 X2NvbmZpZ190ICpiYXIwID0gKFhFTkFfZGV2X2NvbmZpZ190ICopc3AtPmJhcjA7Cgl1NjQgdmFs NjQ7CgoJdmFsNjQgPSBTV19SRVNFVF9BTEw7Cgl3cml0ZTY0KCZiYXIwLT5zd19yZXNldCwgdmFs NjQpOwoJbWRlbGF5KDMwMCk7CgovKiBSZXN0b3JlIHRoZSBQQ0kgc3RhdGUgc2F2ZWQgZHVyaW5n IGluaXRpYWxpemFyaW9uLiAqLwoJcGNpX3Jlc3RvcmVfc3RhdGUoc3AtPnBkZXYsIHNwLT5jb25m aWdfc3BhY2UpOwoKCW1kZWxheSgzMDApOwoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPnhtc2lfYWRk cmVzcyk7IAoKCXNwLT5kZXZpY2VfZW5hYmxlZF9vbmNlID0gRkFMU0U7Cn0KCi8qCiAqICBJbnB1 dCBBcmd1bWVudDogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0 dXJlLCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUu CiAqICBSZXR1cm4gdmFsdWU6CiAqICBTVUNDRVNTIG9uIHN1Y2Nlc3MgYW5kIEZBSUxVUkUgb24g ZmFpbHVyZS4KICogIERlc2NyaXB0aW9uOgogKiBGdW5jdGlvbiB0byBzZXQgdGhlIHN3YXBwZXIg Y29udHJvbCBvbiB0aGUgY2FyZCBjb3JyZWN0bHkgZGVwZW5kaW5nIG9uIHRoZQogKiAnZW5kaWFu bmVzcycgb2YgdGhlIHN5c3RlbS4KICovCmludCBzMmlvX3NldF9zd2FwcGVyKG5pY190ICpzcCkK ewpzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gc3AtPmRldjsKWEVOQV9kZXZfY29uZmlnX3QgKmJh cjAgPSAoWEVOQV9kZXZfY29uZmlnX3QgKilzcC0+YmFyMDsKdTY0IHZhbDY0OwoKLyogIFNldCBw cm9wZXIgZW5kaWFuIHNldHRpbmdzIGFuZCB2ZXJpZnkgdGhlIHNhbWUgYnkgcmVhZGluZyB0aGUg UElGIAogKiAgRmVlZC1iYWNrIHJlZ2lzdGVyLgogKi8KI2lmZGVmICBfX0JJR19FTkRJQU4KLyog VGhlIGRldmljZSBieSBkZWZhdWx0IHNldCB0byBhIGJpZyBlbmRpYW4gZm9ybWF0LCBzbyBhIGJp ZyBlbmRpYW4gCiAqIGRyaXZlciBuZWVkIG5vdCBzZXQgYW55dGhpbmcuCiAqLwojaWZkZWYgQVJD SF9QUEM2NAoJd3JpdGU2NCgmYmFyMC0+c3dhcHBlcl9jdHJsLCAweGZmZmZmZmZmZmZmZmZmZmYp OwoJdmFsNjQgPSAoCglTV0FQUEVSX0NUUkxfUElGX1JfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1BJ Rl9SX1NFICAgIHwKCVNXQVBQRVJfQ1RSTF9QSUZfV19GRSAgICB8CglTV0FQUEVSX0NUUkxfUElG X1dfU0UgICAgfAoJU1dBUFBFUl9DVFJMX1RYUF9GRSAgICAgIHwKCVNXQVBQRVJfQ1RSTF9UWFBf U0UgICAgICB8CglTV0FQUEVSX0NUUkxfVFhEX1JfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1RYRF9X X0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9UWEZfUl9GRSAgICB8CglTV0FQUEVSX0NUUkxfUlhEX1Jf RkUgICAgfAoJU1dBUFBFUl9DVFJMX1JYRF9XX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9SWEZfV19G RSAgICB8CglTV0FQUEVSX0NUUkxfWE1TSV9GRSAgICAgfAoJU1dBUFBFUl9DVFJMX1hNU0lfU0Ug ICAgIHwKCVNXQVBQRVJfQ1RSTF9TVEFUU19GRSAgICB8CglTV0FQUEVSX0NUUkxfU1RBVFNfU0Ug KTsKCXdyaXRlNjQoJmJhcjAtPnN3YXBwZXJfY3RybCwgdmFsNjQpOwojZW5kaWYKI2Vsc2UKLyog SW5pdGlhbGx5IHdlIGVuYWJsZSBhbGwgYml0cyB0byBtYWtlIGl0IGFjY2Vzc2libGUgYnkgdGhl IGRyaXZlciwKICogdGhlbiB3ZSBzZWxlY3RpdmVseSBlbmFibGUgb25seSB0aG9zZSBiaXRzIHRo YXQgd2Ugd2FudCB0byBzZXQuCiAqLwoJd3JpdGU2NCgmYmFyMC0+c3dhcHBlcl9jdHJsLCAweGZm ZmZmZmZmZmZmZmZmZmYpOwoJdmFsNjQgPSAoICAgCglTV0FQUEVSX0NUUkxfUElGX1JfRkUgICAg fAoJU1dBUFBFUl9DVFJMX1BJRl9SX1NFICAgIHwKCVNXQVBQRVJfQ1RSTF9QSUZfV19GRSAgICB8 CglTV0FQUEVSX0NUUkxfUElGX1dfU0UgICAgfAoJU1dBUFBFUl9DVFJMX1RYUF9GRSAgICAgIHwK CVNXQVBQRVJfQ1RSTF9UWFBfU0UgICAgICB8CglTV0FQUEVSX0NUUkxfVFhEX1JfRkUgICAgfAoJ U1dBUFBFUl9DVFJMX1RYRF9SX1NFICAgIHwKCVNXQVBQRVJfQ1RSTF9UWERfV19GRSAgICB8CglT V0FQUEVSX0NUUkxfVFhEX1dfU0UgICAgfAoJU1dBUFBFUl9DVFJMX1RYRl9SX0ZFICAgIHwKCVNX QVBQRVJfQ1RSTF9SWERfUl9GRSAgICB8CglTV0FQUEVSX0NUUkxfUlhEX1JfU0UgICAgfAoJU1dB UFBFUl9DVFJMX1JYRF9XX0ZFICAgIHwKCVNXQVBQRVJfQ1RSTF9SWERfV19TRSAgICB8CglTV0FQ UEVSX0NUUkxfUlhGX1dfRkUgICAgfAoJU1dBUFBFUl9DVFJMX1hNU0lfRkUgICAgIHwKCVNXQVBQ RVJfQ1RSTF9YTVNJX1NFICAgICB8CglTV0FQUEVSX0NUUkxfU1RBVFNfRkUgICAgfAoJU1dBUFBF Ul9DVFJMX1NUQVRTX1NFICk7Cgl3cml0ZTY0KCZiYXIwLT5zd2FwcGVyX2N0cmwsIHZhbDY0KTsK I2VuZGlmCgovKiAgVmVyaWZ5aW5nIGlmIGVuZGlhbiBzZXR0aW5ncyBhcmUgYWNjdXJhdGUgYnkg cmVhZGluZyBhIGZlZWRiYWNrCiAqICByZWdpc3Rlci4KICovCgl2YWw2NCA9IHJlYWQ2NCgmYmFy MC0+cGlmX3JkX3N3YXBwZXJfZmIpOwoJaWYodmFsNjQgIT0gMHgwMTIzNDU2Nzg5QUJDREVGKSB7 CgkvKiBFbmRpYW4gc2V0dGluZ3MgYXJlIGluY29ycmVjdCwgY2FsbHMgZm9yIGFub3RoZXIgZGVr a28uICovCgkJI2lmbmRlZiBYRU5BX0FSQ0hfNjQKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IEVu ZGlhbiBzZXR0aW5ncyBhcmUgd3JvbmcsICIsZGV2LT5uYW1lKTsKCQlEQkdfUFJJTlQoRVJSX0RC RywiZmVlZGJhY2sgcmVhZCAlbGx4XG4iLCB2YWw2NCk7CgkJI2Vsc2UKCQlEQkdfUFJJTlQoRVJS X0RCRywiJXM6IEVuZGlhbiBzZXR0aW5ncyBhcmUgd3JvbmcsICIsZGV2LT5uYW1lKTsKCQlEQkdf UFJJTlQoRVJSX0RCRywiZmVlZGJhY2sgcmVhZCAlbHhcbiIsIHZhbDY0KTsKCQkjZW5kaWYKCQly ZXR1cm4gRkFJTFVSRTsKCX0KCglyZXR1cm4gU1VDQ0VTUzsKfQoKLyogKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCi8qIEZ1bmN0aW9u cyBkZWZpbmVkIGJlbG93IGNvbmNlcm4gdGhlIE9TIHBhcnQgb2YgdGhlIGRyaXZlciAqLwovKiAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiog Ki8KLyoKICogIElucHV0IEFyZ3VtZW50OiAKICogIGRldiAtIHBvaW50ZXIgdG8gdGhlIGRldmlj ZSBzdHJ1Y3R1cmUuCiAqICBSZXR1cm4gdmFsdWU6CiAqICBTVUNDRVNTIG9uIHN1Y2Nlc3MgYW5k IGFuIGFwcHJvcHJpYXRlICgtKXZlIGludGVnZXIgYXMgZGVmaW5lZCBpbiBlcnJuby5oCiAqICAg ZmlsZSBvbiBmYWlsdXJlLgogKiAgRGVzY3JpcHRpb246CiAqICBUaGlzIGZ1bmN0aW9uIGlzIHRo ZSBvcGVuIGVudHJ5IHBvaW50IG9mIHRoZSBkcml2ZXIuIEl0IG1haW5seSBjYWxscyBhCiAqICBm dW5jdGlvbiB0byBhbGxvY2F0ZSBSeCBidWZmZXJzIGFuZCBpbnNlcnRzIHRoZW0gaW50byB0aGUg YnVmZmVyCiAqICBkZXNjcmlwdG9ycyBhbmQgdGhlbiBlbmFibGVzIHRoZSBSeCBwYXJ0IG9mIHRo ZSBOSUMuIAogKi8KaW50IHMyaW9fb3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQp7CgluaWNf dCAqc3AgPSAobmljX3QgKilkZXYtPnByaXY7CglpbnQgaSxyZXQgPSAwOwoKLyogIEluaXRpYWxp emUgdGhlIEgvVyBJL08gcmVnaXN0ZXJzICovCglpZihpbml0TmljKHNwKSAhPSAwKSB7CgkJREJH X1BSSU5UKEVSUl9EQkcsIiVzOiBIL1cgaW5pdGlhbGl6YXRpb24gZmFpbGVkXG4iLGRldi0+bmFt ZSk7CgkJcmV0dXJuIEZBSUxVUkU7Cgl9CgovKiAgQWZ0ZXIgcHJvcGVyIGluaXRpYWxpemF0aW9u IG9mIEgvVywgcmVnaXN0ZXIgSVNSICovCglpZihyZXF1ZXN0X2lycSgoaW50KXNwLT5pcnEsIHMy aW9faXNyLCBTQV9TSElSUSwgc3AtPm5hbWUsIGRldikpIHsKCQlzMmlvX3Jlc2V0KHNwKTsKCQlE QkdfUFJJTlQoRVJSX0RCRywiJXM6IElTUiByZWdpc3RyYXRpb24gZmFpbGVkXG4iLGRldi0+bmFt ZSk7CgkJcmV0dXJuIEZBSUxVUkU7Cgl9CgovKiAgU2V0dGluZyBpdHMgcmVjZWl2ZSBtb2RlICov CglzMmlvX3NldF9tdWx0aWNhc3QoZGV2KTsKCi8qICBJbml0aWFsaXppbmcgdGhlIFJ4IGJ1ZmZl cnMuIEZvciBub3cgd2UgYXJlIGNvbnNpZGVyaW5nIG9ubHkgMSBSeCByaW5nCiAqIGFuZCBpbml0 aWFsaXppbmcgYnVmZmVycyBpbnRvIDEwMTYgUnhEcyBvciA4IFJ4IGJsb2NrcwogKi8KCWZvcihp PTA7IGk8c3AtPmNvbmZpZy5SeFJpbmdOdW07IGkrKykgewoJLyogCgkgKiBTaW5jZSBJbnRlcnJ1 cHRzIGFyZSBub3QgeWV0IGluaXRpYWxpemVkLCBubyB0aHJlYXQgb2YgbXVsdGlwbGUgCgkgKiBj YWxscyB0byBmaWxsX3J4X2J1ZmZlcnMgZnVuY3Rpb24gYnkgdGFza2xldHMgYW5kIGludGVycnVw dHMuIFRodXMKCSAqIG5vIG5lZWQgdG8gaG9sZCBhIHNwaW4gbG9jayBoZXJlLgoJICovCgkJaWYo KHJldCA9IGZpbGxfcnhfYnVmZmVycyhzcCxpKSkpIHsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIiVz OiBPdXQgb2YgbWVtb3J5IGluIE9wZW5cbiIsCgkJCQkJZGV2LT5uYW1lKTsKCQkJczJpb19yZXNl dChzcCk7CgkJCWZyZWVfaXJxKGRldi0+aXJxLGRldik7CgkJCWZyZWVSeEJ1ZmZlcnMoc3ApOwoJ CQlyZXR1cm4gLUVOT01FTTsKCQl9CgkJREJHX1BSSU5UKElORk9fREJHLCJCdWYgaW4gcmluZzol ZCBpcyAlZDpcbiIsaSwgCgkJCWF0b21pY19yZWFkKCZzcC0+cnhfYnVmc19sZWZ0W2ldKSk7Cgl9 CgovKiAgRW5hYmxlIHRhc2tsZXQgZm9yIHRoZSBkZXZpY2UgKi8KCXRhc2tsZXRfaW5pdCgmc3At PnRhc2ssIHMyaW9fdGFza2xldCwgKHVuc2lnbmVkIGxvbmcpZGV2KTsKCi8qICBFbmFibGUgUngg VHJhZmZpYyBhbmQgaW50ZXJydXB0cyBvbiB0aGUgTklDICovCglpZihzdGFydE5pYyhzcCkpIHsK CQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IFN0YXJ0aW5nIE5JQyBmYWlsZWRcbiIsZGV2LT5uYW1l KTsKCQl0YXNrbGV0X2tpbGwoJnNwLT50YXNrKTsKCQlzMmlvX3Jlc2V0KHNwKTsKCQlmcmVlX2ly cShkZXYtPmlycSxkZXYpOwoJCWZyZWVSeEJ1ZmZlcnMoc3ApOwoJCXJldHVybiBGQUlMVVJFOwoJ fQoKCXNwLT5kZXZpY2VfY2xvc2VfZmxhZyA9IEZBTFNFOyAvKiBEZXZpY2UgaXMgdXAgYW5kIHJ1 bm5pbmcuICovCgluZXRpZl9zdGFydF9xdWV1ZShkZXYpOwoJLy9NT0RfSU5DX1VTRV9DT1VOVDsK CglyZXR1cm4gU1VDQ0VTUzsKfQoKLyoKICogIElucHV0IEFyZ3VtZW50L3M6IAogKiAgZGV2IC0g ZGV2aWNlIHBvaW50ZXIuCiAqICBSZXR1cm4gdmFsdWU6CiAqICBTVUNDRVNTIG9uIHN1Y2Nlc3Mg YW5kIGFuIGFwcHJvcHJpYXRlICgtKXZlIGludGVnZXIgYXMgZGVmaW5lZCBpbiBlcnJuby5oCiAq ICBmaWxlIG9uIGZhaWx1cmUuCiAqICBEZXNjcmlwdGlvbjoKICogIFRoaXMgaXMgdGhlIHN0b3Ag ZW50cnkgcG9pbnQgb2YgdGhlIGRyaXZlci4gSXQgbmVlZHMgdG8gdW5kbyBleGFjdGx5CiAqICB3 aGF0ZXZlciB3YXMgZG9uZSBieSB0aGUgb3BlbiBlbnRyeSBwb2ludCwgdGh1cyBpdCdzIHVzdWFs bHkgcmVmZXJyZWQgdG8KICogIGFzIHRoZSBjbG9zZSBmdW5jdGlvbi4gQW1vbmcgb3RoZXIgdGhp bmdzIHRoaXMgZnVuY3Rpb24gbWFpbmx5IHN0b3BzIHRoZQogKiAgUnggc2lkZSBvZiB0aGUgTklD IGFuZCBmcmVlcyBhbGwgdGhlIFJ4IGJ1ZmZlcnMgaW4gdGhlIFJ4IHJpbmdzLgogKi8KaW50IHMy aW9fY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKewoJbmljX3QgKnNwID0gKG5pY190ICop ZGV2LT5wcml2OwoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29uZmlnX3Qg KilzcC0+YmFyMDsKCXJlZ2lzdGVyIHU2NCB2YWw2NCA9IDA7Cgl1MTYgY250PTA7CgoJc3Bpbl9s b2NrKCZzcC0+aXNyX2xvY2spOwoJbmV0aWZfc3RvcF9xdWV1ZShkZXYpOwoKLyogZGlzYWJsZSBU eCBhbmQgUnggdHJhZmZpYyBvbiB0aGUgTklDICovCglzdG9wTmljKHNwKTsKCi8qIElmIHRoZSBk ZXZpY2UgdGFza2xldCBpcyBydW5uaW5nLCB3YWl0IHRpbGwgaXRzIGRvbmUgYmVmb3JlIGtpbGxp bmcgaXQgKi8KCXdoaWxlKGF0b21pY19yZWFkKCYoc3AtPnRhc2tsZXRfc3RhdHVzKSkpIHsKCQlt ZGVsYXkoMTAwKTsKCX0KCXRhc2tsZXRfa2lsbCgmc3AtPnRhc2spOwoKLyogQ2hlY2sgaWYgdGhl IGRldmljZSBpcyBRdWllc2NlbnQgYW5kIHRoZW4gUmVzZXQgdGhlIE5JQyAqLwoJZG8gewoJCXZh bDY0ID0gcmVhZDY0KCZiYXIwLT5hZGFwdGVyX3N0YXR1cyk7CgkJaWYodmVyaWZ5X3hlbmFfcXVp ZXNjZW5jZSh2YWw2NCwgc3AtPmRldmljZV9lbmFibGVkX29uY2UpIAoJCQkJPT0gVFJVRSkgewkJ CgkJCWJyZWFrOwoJCX0KCQltZGVsYXkoNTApOwoJCWNudCsrOwoJCWlmKGNudCA9PSAxMCkgewoJ CQkjaWZkZWYgWEVOQV9BUkNIXzY0CgkJCURCR19QUklOVChFUlJfREJHLCJzMmlvX2Nsb3NlOkRl dmljZSBub3QgUXVpZXNjZW50ICIpOwoJCQlEQkdfUFJJTlQoRVJSX0RCRywiYWRhcGVyIHN0YXR1 cyByZWFkcyAweCVseFxuIix2YWw2NCk7CgkJCSNlbHNlCgkJCURCR19QUklOVChFUlJfREJHLCJz MmlvX2Nsb3NlOkRldmljZSBub3QgUXVpZXNjZW50ICIpOwoJCQlEQkdfUFJJTlQoRVJSX0RCRywi YWRhcGVyIHN0YXR1cyByZWFkcyAweCVsbHhcbiIsdmFsNjQpOwoJCQkjZW5kaWYKCQkJYnJlYWs7 CgkJfQoJfXdoaWxlKDEpOwoJczJpb19yZXNldChzcCk7CgkKLyogIEZyZWUgdGhlIFJlZ2lzdGVy ZWQgSVJRICovCglmcmVlX2lycShkZXYtPmlycSxkZXYpOwoKLyogRnJlZSBhbGwgVHggQnVmZmVy cyB3YWl0aW5nIGZvciB0cmFuc21pc3Npb24gKi8KCWZyZWVUeEJ1ZmZlcnMoc3ApOwoKLyogIEZy ZWUgYWxsIFJ4IGJ1ZmZlcnMgYWxsb2NhdGVkIGJ5IGhvc3QgKi8KCWZyZWVSeEJ1ZmZlcnMoc3Ap OwoKCXNwLT5kZXZpY2VfY2xvc2VfZmxhZyA9IFRSVUU7IC8qIERldmljZSBpcyBzaHV0IGRvd24u ICovCgkvL01PRF9ERUNfVVNFX0NPVU5UOwoKCXNwaW5fdW5sb2NrKCZzcC0+aXNyX2xvY2spOwoJ cmV0dXJuIFNVQ0NFU1M7Cn0KCi8qCiAqICBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNrYiAtIHRo ZSBzb2NrZXQgYnVmZmVyIGNvbnRhaW5pbmcgdGhlIFR4IGRhdGEuCiAqICBkZXYgLSBkZXZpY2Ug cG9pbnRlci4KICogIFJldHVybiB2YWx1ZToKICogIGFsd2F5cyBTVUNDRVNTLiAKICogIE5PVEU6 IHdoZW4gZGV2aWNlIGNhbnQgcXVldWUgdGhlIHBrdCwganVzdCB0aGUgdHJhbnNfc3RhcnQgdmFy aWFibGUgd2lsbAogKiAgbm90IGJlIHVwYWR0ZWQuCiAqICBEZXNjcmlwdGlvbjoKICogIFRoaXMg ZnVuY3Rpb24gaXMgdGhlIFR4IGVudHJ5IHBvaW50IG9mIHRoZSBkcml2ZXIuIFMySU8gTklDIHN1 cHBvcnRzCiAqICBjZXJ0YWluIHByb3RvY29sIGFzc2lzdCBmZWF0dXJlcyBvbiBUeCBzaWRlLCBu YW1lbHkgIENTTywgUy9HLCBMU08uCiAqLwppbnQgczJpb194bWl0KHN0cnVjdCBza19idWZmICpz a2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpCnsKCW5pY190ICpzcCA9IChuaWNfdCAqKWRldi0+ cHJpdjsKCXUxNiBvZmYsdHhkX2xlbixmcmdfY250LGZyZ19sZW4saSxxdWV1ZSxvZmYxOwoJcmVn aXN0ZXIgdTY0ICAgIHZhbDY0OwoJVHhEX3QgICAqdHhkcDsKCVR4RklGT19lbGVtZW50X3QgKnR4 X2ZpZm87CgkjaWZkZWYgTkVUSUZfRl9UU08KCWludCBtc3M7CgkjZW5kaWYKCglzcGluX2xvY2so JnNwLT50eF9sb2NrKTsKCglxdWV1ZSA9IDA7CiAgICAvKiBNdWx0aSBGSUZPIFR4IGlzIGRpc2Fi bGVkIGZvciBub3cuICovCglpZighcXVldWUgJiYgdHhfcHJpbykgewoJCXU4IHggPSAoc2tiLT5k YXRhKVs1XTsKCQlxdWV1ZSA9IHggJSBzcC0+Y29uZmlnLlR4RklGT051bTsKCX0JCQoKCglvZmYg PSAodTE2KXNwLT5tYWNfY29udHJvbC50eF9jdXJyX3B1dF9pbmZvW3F1ZXVlXS5vZmZzZXQ7Cglv ZmYxID0gKHUxNilzcC0+bWFjX2NvbnRyb2wudHhfY3Vycl9nZXRfaW5mb1txdWV1ZV0ub2Zmc2V0 OwoJdHhkX2xlbiA9IHNwLT5tYWNfY29udHJvbC50eGRsX2xlbjsKCXR4ZHAgPSBzcC0+bWFjX2Nv bnRyb2wudHhkbF9zdGFydFtxdWV1ZV0gKyAoc3AtPmNvbmZpZy5NYXhUeERzKiBvZmYpOwoKCS8q IEF2b2lkICJwdXQiIHBvaW50ZXIgZ29pbmcgYmV5b25kICJnZXQiIHBvaW50ZXIgKi8KCWlmICgo dHhkcC0+SG9zdF9Db250cm9sKSB8fAoJICAgKCgob2ZmKzEpICUgKHNwLT5tYWNfY29udHJvbC50 eF9jdXJyX3B1dF9pbmZvW3F1ZXVlXS5maWZvX2xlbisxKSkgPT0gb2ZmMSkpIHsKCQlwcmludGso IiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI1xuIik7CgkJ cHJpbnRrKCJObyBmcmVlIFRYRHMgZm9yIG5vdywgcHV0OiAweCV4LCBnZXQ6MHgleFxuIixvZmYs b2ZmMSk7CgkJcHJpbnRrKCIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyNcbiIpOwoJCWdvdG8gbm9fdHhkOwoJfQoKCSNpZmRlZiBORVRJRl9GX1RTTwoJbXNz ID0gc2tiX3NoaW5mbyhza2IpLT50c29fc2l6ZTsKCWlmKG1zcykgewoJCXR4ZHAtPkNvbnRyb2xf MSB8PSBUWERfVENQX0xTT19FTjsKCQl0eGRwLT5Db250cm9sXzEgfD0gVFhEX1RDUF9MU09fTVNT KG1zcyk7Cgl9CgkjZW5kaWYKCglmcmdfY250ID0gc2tiX3NoaW5mbyhza2IpLT5ucl9mcmFnczsK CWZyZ19sZW4gPSBza2ItPmxlbiAtIHNrYi0+ZGF0YV9sZW47CgoJdHhkcC0+SG9zdF9Db250cm9s ID0gKGRtYWFkZHJfdClza2I7Cgl0eGRwLT5CdWZmZXJfUG9pbnRlciA9IHBjaV9tYXBfc2luZ2xl CgkJKHNwLT5wZGV2LCBza2ItPmRhdGEsIGZyZ19sZW4sIFBDSV9ETUFfVE9ERVZJQ0UpOwoJaWYo c2tiLT5pcF9zdW1tZWQgPT0gQ0hFQ0tTVU1fSFcpIHsKCQl0eGRwLT5Db250cm9sXzIgfD0gKFRY RF9UWF9DS09fSVBWNF9FTiB8IFRYRF9UWF9DS09fVENQX0VOIHwKCQlUWERfVFhfQ0tPX1VEUF9F Tik7Cgl9Cgl0eGRwLT5Db250cm9sXzIgfD0gVFhEX0lOVF9UWVBFX1VUSUxaOwoKLyogIFRoZSBO SUMgaXMgbWFkZSB0aGUgb3duZXIgb2YgdGhlIFR4REwgKi8KCXR4ZHAtPkNvbnRyb2xfMSB8PSAo VFhEX0JVRkZFUjBfU0laRShmcmdfbGVuKSB8CgkJVFhEX0dBVEhFUl9DT0RFX0ZJUlNUKTsgCgl0 eGRwLT5Db250cm9sXzEgfD0gVFhEX0xJU1RfT1dOX1hFTkE7CgovKiBJZiB0aGUgU0tCIGlzIGZy YWdtZW50ZWQsIGVhY2ggZnJhZ21lbnQgaXMgcHV0IGludG8gYSBuZXcgVHggYnVmZmVyLiAqLwoJ Zm9yKGk9MDtpPGZyZ19jbnQ7aSsrKSB7CgkJc2tiX2ZyYWdfdCAqZnJhZyA9ICZza2Jfc2hpbmZv KHNrYiktPmZyYWdzW2ldOwoJCXR4ZHArKzsKCQl0eGRwLT5CdWZmZXJfUG9pbnRlciA9IHBjaV9t YXBfc2luZ2xlCgkJKHNwLT5wZGV2LCBwYWdlX2FkZHJlc3MoZnJhZy0+cGFnZSkrZnJhZy0+cGFn ZV9vZmZzZXQsIAoJCQlmcmFnLT5zaXplLCBQQ0lfRE1BX1RPREVWSUNFKTsKCQl0eGRwLT5Db250 cm9sXzEgfD0gVFhEX0JVRkZFUjBfU0laRShmcmFnLT5zaXplKTsKCX0KCXR4ZHAtPkNvbnRyb2xf MSB8PSBUWERfR0FUSEVSX0NPREVfTEFTVDsKCi8qIFRvIFVwZGF0ZSB0aGUgVHhETCBwb2ludGVy IGludG8gdGhlIFhFTkEgbmljLiAqLwoJdHhfZmlmbyA9IHNwLT5tYWNfY29udHJvbC50eF9GSUZP X3N0YXJ0W3F1ZXVlXTsKCXZhbDY0PShzcC0+bWFjX2NvbnRyb2wudHhkbF9zdGFydF9waHlbcXVl dWVdKwoJCQkoc2l6ZW9mKFR4RF90KSp0eGRfbGVuKm9mZikpOwoJd3JpdGU2NCgmdHhfZmlmby0+ VHhETF9Qb2ludGVyLCB2YWw2NCk7CgoJdmFsNjQgPSAoVFhfRklGT19MQVNUX1RYRF9OVU0oZnJn X2NudCkgfCBUWF9GSUZPX0ZJUlNUX0xJU1QgfAoJCVRYX0ZJRk9fTEFTVF9MSVNUKTsKCSNpZmRl ZiBORVRJRl9GX1RTTwoJaWYobXNzKQoJCXZhbDY0IHw9IFRYX0ZJRk9fU1BFQ0lBTF9GVU5DOwoJ I2VuZGlmCgl3cml0ZTY0KCZ0eF9maWZvLT5MaXN0X0NvbnRyb2wsIHZhbDY0KTsKCi8qSW5jcmVt ZW50aW5nIG9mZnNldCAqLwoJb2ZmKys7CglvZmYgJT0gc3AtPm1hY19jb250cm9sLnR4X2N1cnJf cHV0X2luZm9bcXVldWVdLmZpZm9fbGVuKzE7CglzcC0+bWFjX2NvbnRyb2wudHhfY3Vycl9wdXRf aW5mb1txdWV1ZV0ub2Zmc2V0ID0gb2ZmOwoKLyogVXBkYXRlIHRoZSB0aW1lIHdoZW4gdGhlIGxh c3QgVHggaGFwcGVuZWQgKi8KCWRldi0+dHJhbnNfc3RhcnQgPSBqaWZmaWVzOwoKCXNwaW5fdW5s b2NrKCZzcC0+dHhfbG9jayk7CnJldHVybiBTVUNDRVNTOwoKLyoKICogSWYgbm8gZnJlZSBidWZm ZXJzIGFyZSBhdmFpbGFibGUgaW4gYW55IG9mIHRoZSBGSUZPUywgd2UgCiAqIHNhdmUgdGhlIFNL QiBhbmQgc3RvcCB0aGUgVHggcXVldWUuIFNvIGlmIHRoZSBxdWV1ZSBpcyBub3QKICogc3RhcnRl ZCBhZ2FpbiB3aXRoaW4gdGhlIHRpbWVvdXQgcGVyaW9kLCB0aGUgd2F0Y2ggZG9nIHRpbWVyCiAq IHdpbGwgc2hlZHVsZSBhIHRpbWVyIGZ1bmN0aW9uIHdoaWNoIGRvZXMgdGhlIG5lY2Vzc2FyeSBj bGVhbnVwCiAqIGFuZCByZXN0YXJ0IHRoZSBkZXZpY2UuIFRoZSB0aW1lb3V0IHBlcmlvZCBpcyA1 IHNlY3MuIFNvIGlmIHRoZSAKICogVHggcXVldWUgaXMgbm90IGNsZWFuZWQgdXAgd2l0aGluIHRo aXMgZHVyYXRpb24sIHRoZSBkZXZpY2UgaXMgCiAqIGRlZm5pdGVseSBzdHVjayBpbiBzb21lIGlu dGVybmFsIGxvb3AsIGhlbmNlIHdlIGZvcmNlIGEgcmVzZXQgb24KICogdGhlIE5JQyBhbmQgcmVz dGFydCBpdC4gIAogKi8Kbm9fdHhkOgoJLy9zcC0+dHhfcGt0X3B0ciA9IHNrYjsKCXByaW50aygi UXVldWUgZnVsbCBjb25kaXRpb25cbiIpOwoJbmV0aWZfc3RvcF9xdWV1ZShkZXYpOwoKCXNwaW5f dW5sb2NrKCZzcC0+dHhfbG9jayk7CnJldHVybiAxOwp9CgovKgogKiAgSW5wdXQgQXJndW1lbnQv czogCiAqICBpcnE6IHRoZSBpcnEgb2YgdGhlIGRldmljZS4KICogIGRldl9pZDogYSB2b2lkIHBv aW50ZXIgdG8gdGhlIGRldiBzdHJ1Y3R1cmUgb2YgdGhlIE5JQy4KICogIHB0cmVnczogcG9pbnRl ciB0byB0aGUgcmVnaXN0ZXJzIHB1c2hlZCBvbiB0aGUgc3RhY2suCiAqICBSZXR1cm4gdmFsdWU6 CiAqICB2b2lkLgogKiAgRGVzY3JpcHRpb246CiAqICBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBJU1Ig aGFuZGxlciBvZiB0aGUgZGV2aWNlLiBJdCBpZGVudGlmaWVzIHRoZSByZWFzb24gCiAqICBmb3Ig dGhlIGludGVycnVwdCBhbmQgY2FsbHMgdGhlIHJlbGV2YW50IHNlcnZpY2Ugcm91dGluZXMuCiAq ICBBcyBhIGNvbnRvbmdlbmN5IG1lYXN1cmUsIHRoaXMgSVNSIGFsbG9jYXRlcyB0aGUgcmVjdiBi dWZmZXJzLCBpZiB0aGVpciAKICogIG51bWJlcnMgYXJlIGJlbG93IHRoZSBwYW5pYyB2YWx1ZSB3 aGljaCBpcyBwcmVzZW50bHkgc2V0IHRvIDI1JSBvZiB0aGUKICogIG9yaWdpbmFsIG51bWJlciBv ZiByY3YgYnVmZmVycyBhbGxvY2F0ZWQuCiAqLwoKI2lmZGVmIEtFUk5fMjYKc3RhdGljIGlycXJl dHVybl90IHMyaW9faXNyKGludCBpcnEsIHZvaWQgKmRldl9pZCwgc3RydWN0IHB0X3JlZ3MgKnJl Z3MpCiNlbHNlCnZvaWQgczJpb19pc3IoaW50IGlycSwgdm9pZCAqZGV2X2lkLCBzdHJ1Y3QgcHRf cmVncyAqcmVncykKI2VuZGlmCnsKCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSAoc3RydWN0IG5l dF9kZXZpY2UgKilkZXZfaWQ7CgluaWNfdCAqc3AgPSAobmljX3QgKilkZXYtPnByaXY7CglYRU5B X2Rldl9jb25maWdfdCAqYmFyMCA9IChYRU5BX2Rldl9jb25maWdfdCAqKXNwLT5iYXIwOwoJI2lm bmRlZiBDT05GSUdVUkVfTkFQSV9TVVBQT1JUCglpbnQgaSxyZXQ7CgkjZW5kaWYKCXU2NCByZWFz b24gPSAwLCBnZW5lcmFsX21hc2sgPSAwOwoJdW5zaWduZWQgbG9uZyBmbGFnczsKCglzcGluX2xv Y2tfaXJxc2F2ZSgmc3AtPmlzcl9sb2NrLCBmbGFncyk7CgkKLyogSWRlbnRpZnkgdGhlIGNhdXNl IGZvciBpbnRlcnJ1cHQgYW5kIGNhbGwgdGhlIGFwcHJvcHJpYXRlCiAqIGludGVycnVwdCBoYW5k bGVyLiBDYXVzZXMgZm9yIHRoZSBpbnRlcnJ1cHQgY291bGQgYmU7CiAqIDEuIFJ4IG9mIHBhY2tl dC4KICogMi4gVHggY29tcGxldGUuCiAqIDMuIExpbmsgZG93bi4KICogNC4gRXJyb3IgaW4gYW55 IGZ1bmN0aW9uYWwgYmxvY2tzIG9mIHRoZSBOSUMuIAogKi8KCXJlYXNvbiA9IHJlYWQ2NCgmYmFy MC0+Z2VuZXJhbF9pbnRfc3RhdHVzKTsKCglpZighcmVhc29uKSB7CgkvKiBUaGUgaW50ZXJydXB0 IHdhcyBub3QgcmFpc2VkIGJ5IFhlbmEuICovCgkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc3At Pmlzcl9sb2NrLCBmbGFncyk7CgkJI2lmZGVmIEtFUk5fMjYKCQlyZXR1cm4gSVJRX05PTkU7CgkJ I2Vsc2UKCQlyZXR1cm47CgkJI2VuZGlmCgl9CgkvKiBNYXNrIHRoZSBpbnRlcnJ1cHRzIG9uIHRo ZSBOSUMgKi8KCWdlbmVyYWxfbWFzayA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJhbF9pbnRfbWFzayk7 Cgl3cml0ZTY0KCZiYXIwLT5nZW5lcmFsX2ludF9tYXNrLCAweEZGRkZGRkZGRkZGRkZGRkZVTEwp OwoKI2lmIERFQlVHX09OCglzcC0+aW50X2NudCsrOwojZW5kaWYKCi8qIElmIEludHIgaXMgYmVj YXVzZSBvZiBUeCBUcmFmZmljICovCglpZihyZWFzb24gJiBHRU5fSU5UUl9UWFRSQUZGSUMpCgkJ dHhJbnRySGFuZGxlcihzcCk7CgovKiBJZiBJbnRyIGlzIGJlY2F1c2Ugb2YgTGluayBzdGF0dXMg Y2hhbmdlIG9yIGVycm9yICovCglpZihyZWFzb24gJiAoR0VOX0VSUk9SX0lOVFIpKSAKCQlhbGFy bUludHJIYW5kbGVyKHNwKTsKCiNpZmRlZiBDT05GSUdVUkVfTkFQSV9TVVBQT1JUCglpZihyZWFz b24gJiBHRU5fSU5UUl9SWFRSQUZGSUMpIHsgCgkJaWYobmV0aWZfcnhfc2NoZWR1bGVfcHJlcChk ZXYpKSB7CgkJCWVuX2Rpc19hYmxlX05pY0ludHJzKHNwLFJYX1RSQUZGSUNfSU5UUixESVNBQkxF X0lOVFJTKTsJCgkvKiBXZSByZXRha2UgdGhlIHNuYXAgc2hvdCBvZiB0aGUgZ2VuZXJhbCBpbnRl cnJ1cHQgcmVnaXN0ZXIuICovCgkJCWdlbmVyYWxfbWFzayA9IHJlYWQ2NCgmYmFyMC0+Z2VuZXJh bF9pbnRfbWFzayk7CgkJCV9fbmV0aWZfcnhfc2NoZWR1bGUoZGV2KTsKCQl9Cgl9CiNlbHNlCgkv KiBJZiBJbnRyIGlzIGJlY2F1c2Ugb2YgUnggVHJhZmZpYyAqLwoJaWYocmVhc29uICYgR0VOX0lO VFJfUlhUUkFGRklDKSAKCQlyeEludHJIYW5kbGVyKHNwKTsKI2VuZGlmCgovKiBJZiB0aGUgUngg YnVmZmVyIGNvdW50IGlzIGJlbG93IHRoZSBwYW5pYyB0aHJlc2hvbGQgdGhlbiByZWFsbG9jYXRl IHRoZQogKiBidWZmZXJzIGZyb20gdGhlIGludGVycnVwdCBoYW5kbGVyIGl0c2VsZiwgZWxzZSBz Y2hlZHVsZSBhIHRhc2tsZXQgdG8gCiAqIHJlYWxsb2NhdGUgdGhlIGJ1ZmZlcnMuCiAqLwojaWYg MQoJZm9yKGk9MDtpPHNwLT5jb25maWcuUnhSaW5nTnVtO2krKykgewoJCWludCByeGJfc2l6ZSA9 IGF0b21pY19yZWFkKCZzcC0+cnhfYnVmc19sZWZ0W2ldKTsKCQlpbnQgbGV2ZWwgPSByeF9idWZm ZXJfbGV2ZWwoc3AsIHJ4Yl9zaXplLGkpOwoJCQoJCWlmKChsZXZlbCA9PSBQQU5JQykgJiYgKCFU QVNLTEVUX0lOX1VTRSkpIHsKCQkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiBSeCBCRCBoaXQgIixk ZXYtPm5hbWUpOwoJCQlEQkdfUFJJTlQoRVJSX0RCRywiUEFOSUMgbGV2ZWxzXG4iKTsKICAgICAg ICAgICAgICAgIAlpZigocmV0ID0gZmlsbF9yeF9idWZmZXJzKHNwLGkpKSA9PSAtRU5PTUVNKSB7 CiAgICAgICAgICAgICAgICAgICAgICAgIAlEQkdfUFJJTlQoRVJSX0RCRywiJXM6T3V0IG9mIG1l bW9yeSIsZGV2LT5uYW1lKTsKCQkJCURCR19QUklOVChFUlJfREJHLCIgaW4gSVNSISFcbiIpOwog ICAgCQkJCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50X21hc2ssIGdlbmVyYWxfbWFzayk7CgkJ CQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZzcC0+aXNyX2xvY2ssIGZsYWdzKTsKCQkJCSNpZmRl ZiBLRVJOXzI2CgkJCQlyZXR1cm4gLUVOT01FTTsKCQkJCSNlbHNlCgkgICAgICAgICAgICAJICAg ICAgICByZXR1cm47CgkJCQkjZW5kaWYJCQoJCQl9CiAgICAgICAgICAgICAgICAJY2xlYXJfYml0 KDAsKHVuc2lnbmVkIGxvbmcgKikoJnNwLT50YXNrbGV0X3N0YXR1cykpOwoJCX0gZWxzZSBpZigo bGV2ZWw9PUxPVykgJiYgKCFhdG9taWNfcmVhZCgmc3AtPnRhc2tsZXRfc3RhdHVzKSkpewoJCQl0 YXNrbGV0X3NjaGVkdWxlKCZzcC0+dGFzayk7CgkJfQoJCQoJfQojZWxzZQoJdGFza2xldF9zY2hl ZHVsZSgmc3AtPnRhc2spOwojZW5kaWYKCi8qIFVubWFzayBhbGwgdGhlIHByZXZpb3VzbHkgZW5h YmxlZCBpbnRlcnJ1cHRzIG9uIHRoZSBOSUMgKi8KCXdyaXRlNjQoJmJhcjAtPmdlbmVyYWxfaW50 X21hc2ssIGdlbmVyYWxfbWFzayk7CgoJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc3AtPmlzcl9s b2NrLCBmbGFncyk7CgkjaWZkZWYgS0VSTl8yNgoJcmV0dXJuIElSUV9IQU5ETEVEOwoJI2VuZGlm Cn0KCi8qCiAqICBJbnB1dCBBcmd1bWVudC9zOiAKICogIGRldiAtIHBvaW50ZXIgdG8gdGhlIGRl dmljZSBzdHJ1Y3R1cmUuCiAqICBSZXR1cm4gdmFsdWU6CiAqICBwb2ludGVyIHRvIHRoZSB1cGRh dGVkIG5ldF9kZXZpY2Vfc3RhdHMgc3RydWN0dXJlLgogKiAgRGVzY3JpcHRpb246CiAqICBUaGlz IGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIGRldmljZSBzdGF0aXN0aWNzIHN0cnVjdHVyZSBpbiB0aGUg czJpb19uaWMgCiAqICBzdHJ1Y3R1cmUgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBzYW1l LgogKi8Kc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgKnMyaW9fZ2V0X3N0YXRzKHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYpCnsKCW5pY190ICpzcCA9IChuaWNfdCAqKWRldi0+cHJpdjsKCglzcC0+c3Rh dHMudHhfZXJyb3JzID0gc3AtPm1hY19jb250cm9sLlN0YXRzSW5mby0+dG1hY19hbnlfZXJyX2Zy bXM7CglzcC0+c3RhdHMucnhfZXJyb3JzID0gc3AtPm1hY19jb250cm9sLlN0YXRzSW5mby0+cm1h Y19kcm9wX2ZybXM7CglzcC0+c3RhdHMubXVsdGljYXN0ID0gc3AtPm1hY19jb250cm9sLlN0YXRz SW5mby0+cm1hY192bGRfbWNzdF9mcm1zOwoJc3AtPnN0YXRzLnJ4X2xlbmd0aF9lcnJvcnMgPSBz cC0+bWFjX2NvbnRyb2wuU3RhdHNJbmZvLT5ybWFjX2xvbmdfZnJtczsKCglyZXR1cm4gKCZzcC0+ c3RhdHMpOwp9CgovKgogKiAgSW5wdXQgQXJndW1lbnQvczogCiAqICBkZXYgLSBwb2ludGVyIHRv IHRoZSBkZXZpY2Ugc3RydWN0dXJlCiAqICBSZXR1cm4gdmFsdWU6CiAqICB2b2lkLgogKiAgRGVz Y3JpcHRpb246CiAqICBUaGlzIGZ1bmN0aW9uIGlzIGEgZHJpdmVyIGVudHJ5IHBvaW50IHdoaWNo IGdldHMgY2FsbGVkIGJ5IHRoZSBrZXJuZWwgCiAqICB3aGVuZXZlciBtdWx0aWNhc3QgYWRkcmVz c2VzIG11c3QgYmUgZW5hYmxlZC9kaXNhYmxlZC4gVGhpcyBhbHNvIGdldHMgCiAqICBjYWxsZWQg dG8gc2V0L3Jlc2V0IHByb21pc2N1b3VzIG1vZGUuIERlcGVuZGluZyBvbiB0aGUgZGVpdmNlIGZs YWcsIHdlCiAqICBkZXRlcm1pbmUsIGlmIG11bHRpY2FzdCBhZGRyZXNzIG11c3QgYmUgZW5hYmxl ZCBvciBpZiBwcm9taXNjdW91cyBtb2RlCiAqICBpcyB0byBiZSBkaXNhYmxlZCBldGMuCiAqLwp2 b2lkIHMyaW9fc2V0X211bHRpY2FzdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQp7CglpbnQgaSxq LHByZXZfY250OwoJc3RydWN0IGRldl9tY19saXN0ICptY2xpc3Q7CgluaWNfdCAqc3AgPSAobmlj X3QgKilkZXYtPnByaXY7CglYRU5BX2Rldl9jb25maWdfdCAqYmFyMCA9IChYRU5BX2Rldl9jb25m aWdfdCAqKXNwLT5iYXIwOwoJdTY0IHZhbDY0ID0gMCwgbXVsdGlfbWFjID0gMHgwMTAyMDMwNDA1 MDYsIG1hc2sgPSAweGZlZmZmZmZmZmZmZjsKCXU2NCBkaXNfYWRkciA9IDB4ZmZmZmZmZmZmZmZm LCBtYWNfYWRkciA9IDA7CgoJaWYoKGRldi0+ZmxhZ3MgJiBJRkZfQUxMTVVMVEkpICYmICghc3At Pm1fY2FzdF9mbGcpKSB7CgkvKiAgRW5hYmxlIGFsbCBNdWx0aWNhc3QgYWRkcmVzc2VzICovCgkJ d3JpdGU2NCgmYmFyMC0+cm1hY19hZGRyX2RhdGEwX21lbSwKCQkJCVJNQUNfQUREUl9EQVRBMF9N RU1fQUREUihtdWx0aV9tYWMpKTsKCQl3cml0ZTY0KCZiYXIwLT5ybWFjX2FkZHJfZGF0YTBfbWVt LAoJCQkJUk1BQ19BRERSX0RBVEEwX01FTV9BRERSKG1hc2spKTsKCgkJdmFsNjQgPSBSTUFDX0FE RFJfQ01EX01FTV9XRSB8IAoJCQlSTUFDX0FERFJfQ01EX01FTV9TVFJPQkVfTkVXX0NNRCB8CgkJ CVJNQUNfQUREUl9DTURfTUVNX09GRlNFVChNQUNfTUNfQUxMX01DX0FERFJfT0ZGU0VUKTsKCQl3 cml0ZTY0KCZiYXIwLT5ybWFjX2FkZHJfY21kX21lbSwgdmFsNjQpOwoJLyogV2FpdCB0aWxsIGNv bW1hbmQgY29tcGxldGVzICovCgkJd2FpdEZvckNtZENvbXBsZXRlKHNwKTsKCgkJc3AtPm1fY2Fz dF9mbGcgPSAxOwoJCXNwLT5hbGxfbXVsdGlfcG9zID0gTUFDX01DX0FMTF9NQ19BRERSX09GRlNF VDsKCQlyZXR1cm47Cgl9IGVsc2UgaWYoKGRldi0+ZmxhZ3MgJiBJRkZfQUxMTVVMVEkpJiYoc3At Pm1fY2FzdF9mbGcpKSB7CgkvKiAgRGlzYWJsZSBhbGwgTXVsdGljYXN0IGFkZHJlc3NlcyAqLwoJ CXdyaXRlNjQoJmJhcjAtPnJtYWNfYWRkcl9kYXRhMF9tZW0sCgkJCQlSTUFDX0FERFJfREFUQTBf TUVNX0FERFIoZGlzX2FkZHIpKTsKCgkJdmFsNjQgPSBSTUFDX0FERFJfQ01EX01FTV9XRSB8IAoJ CQlSTUFDX0FERFJfQ01EX01FTV9TVFJPQkVfTkVXX0NNRCB8CgkJCVJNQUNfQUREUl9DTURfTUVN X09GRlNFVChzcC0+YWxsX211bHRpX3Bvcyk7CgkJd3JpdGU2NCgmYmFyMC0+cm1hY19hZGRyX2Nt ZF9tZW0sIHZhbDY0KTsKCS8qIFdhaXQgdGlsbCBjb21tYW5kIGNvbXBsZXRlcyAqLwoJCXdhaXRG b3JDbWRDb21wbGV0ZShzcCk7CgoJCXNwLT5tX2Nhc3RfZmxnID0gMDsKCQlzcC0+YWxsX211bHRp X3BvcyA9IDA7CgkJcmV0dXJuOwoJfQoKCWlmKChkZXYtPmZsYWdzICYgSUZGX1BST01JU0MpICYm KCFzcC0+cHJvbWlzY19mbGcpKSB7CgkvKiAgUHV0IHRoZSBOSUMgaW50byBwcm9taXNjdW91cyBt b2RlICovCgkJdmFsNjQgPSBNQUNfQ0ZHX1JNQUNfUFJPTV9FTkFCTEU7CgkJd3JpdGU2NCgmYmFy MC0+bWFjX2NmZyx2YWw2NCk7CgkJc3AtPnByb21pc2NfZmxnID0gMTsKCQlEQkdfUFJJTlQoRVJS X0RCRywiJXM6IGVudGVyZWQgcHJvbWlzY3VvdXMgbW9kZVxuIixkZXYtPm5hbWUpOwoJCXJldHVy bjsKCX0gZWxzZSBpZighKGRldi0+ZmxhZ3MgJiBJRkZfUFJPTUlTQykgJiYoc3AtPnByb21pc2Nf ZmxnKSkgewoJLyogIFJlbW92ZSB0aGUgTklDIGZyb20gcHJvbWlzY3VvdXMgbW9kZSAqLwoJCXZh bDY0ID0gcmVhZDY0KCZiYXIwLT5tYWNfY2ZnKTsKCQl2YWw2NCA9IH5NQUNfQ0ZHX1JNQUNfUFJP TV9FTkFCTEU7CgkJd3JpdGU2NCgmYmFyMC0+bWFjX2NmZyx2YWw2NCk7CgkJc3AtPnByb21pc2Nf ZmxnID0gMDsKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IGxlZnQgcHJvbWlzY3VvdXMgbW9kZVxu IixkZXYtPm5hbWUpOwoJCXJldHVybjsKCX0KCi8qICBVcGRhdGUgaW5kaXZpZHVhbCBNX0NBU1Qg YWRkcmVzcyBsaXN0Ki8KCWlmKCghc3AtPm1fY2FzdF9mbGcpICYmIGRldi0+bWNfY291bnQpIHsK CQlpZihkZXYtPm1jX2NvdW50ID4gCgkJCShNQVhfQUREUlNfU1VQUE9SVEVELU1BQ19NQ19BRERS X1NUQVJUX09GRlNFVC0xKSkgewoJCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IE5vIG1vcmUgUngg ZmlsdGVycyAiLGRldi0+bmFtZSk7CgkJCURCR19QUklOVChFUlJfREJHLCJjYW4gYmUgYWRkZWQs IHBsZWFzZSBlbmFibGUgIik7CgkJCURCR19QUklOVChFUlJfREJHLCJBTExfTVVMVEkgaW5zdGVh ZFxuIik7CgkJCXJldHVybjsKCQl9CgkKCQlwcmV2X2NudCA9IHNwLT5tY19hZGRyX2NvdW50OwoJ CXNwLT5tY19hZGRyX2NvdW50ID0gZGV2LT5tY19jb3VudDsKCgkJLyogQ2xlYXIgb3V0IHRoZSBw cmV2aW91cyBsaXN0IG9mIE1jIGluIHRoZSBIL1cuICovCgkJZm9yKGk9MDsgaTxwcmV2X2NudDsg aSsrKSB7CgkJCXdyaXRlNjQoJmJhcjAtPnJtYWNfYWRkcl9kYXRhMF9tZW0sCgkJCQkJUk1BQ19B RERSX0RBVEEwX01FTV9BRERSKGRpc19hZGRyKSk7CgkJCXZhbDY0ID0gUk1BQ19BRERSX0NNRF9N RU1fV0UgfCAKCQkJUk1BQ19BRERSX0NNRF9NRU1fU1RST0JFX05FV19DTUQgfAoJCQlSTUFDX0FE RFJfQ01EX01FTV9PRkZTRVQoTUFDX01DX0FERFJfU1RBUlRfT0ZGU0VUK2kpOwoJCQl3cml0ZTY0 KCZiYXIwLT5ybWFjX2FkZHJfY21kX21lbSwgdmFsNjQpOwoKCQkJLyogV2FpdCBmb3IgY29tbWFu ZCBjb21wbGV0ZXMgKi8KCQkJaWYod2FpdEZvckNtZENvbXBsZXRlKHNwKSkgewoJCQkJREJHX1BS SU5UKEVSUl9EQkcsIiVzOiBBZGRpbmcgIixkZXYtPm5hbWUpOwoJCQkJREJHX1BSSU5UKEVSUl9E QkcsIk11bHRpY2FzdHMgZmFpbGVkXG4iKTsKCQkJCXJldHVybjsKCQkJfQoJCX0KCgkJLyogQ3Jl YXRlIHRoZSBuZXcgUnggZmlsdGVyIGxpc3QgYW5kIHVwZGF0ZSB0aGUgc2FtZSBpbiBIL1cuKi8K CQlmb3IoaT0wLCBtY2xpc3QgPSBkZXYtPm1jX2xpc3Q7IGkgPCBkZXYtPm1jX2NvdW50OyAKCQkJ CWkrKywgbWNsaXN0ID0gbWNsaXN0LT5uZXh0KSB7CgkJCW1lbWNweShzcC0+dXNyX2FkZHJzW2ld LmFkZHIsIG1jbGlzdC0+ZG1pX2FkZHIsIAoJCQkJCUVUSF9BTEVOKTsKCQkJZm9yKGo9MDtqPEVU SF9BTEVOO2orKykgewoJCQkJbWFjX2FkZHIgfD0gbWNsaXN0LT5kbWlfYWRkcltqXTsKCQkJCW1h Y19hZGRyIDw8PSA4OwoJCQl9CgkJCXdyaXRlNjQoJmJhcjAtPnJtYWNfYWRkcl9kYXRhMF9tZW0s CgkJCQkJUk1BQ19BRERSX0RBVEEwX01FTV9BRERSKG1hY19hZGRyKSk7CgkJCXZhbDY0ID0gUk1B Q19BRERSX0NNRF9NRU1fV0UgfCAKCQkJUk1BQ19BRERSX0NNRF9NRU1fU1RST0JFX05FV19DTUQg fAoJCQlSTUFDX0FERFJfQ01EX01FTV9PRkZTRVQgKGkrIE1BQ19NQ19BRERSX1NUQVJUX09GRlNF VCk7CgkJCXdyaXRlNjQoJmJhcjAtPnJtYWNfYWRkcl9jbWRfbWVtLCB2YWw2NCk7CgoJCQkvKiBX YWl0IGZvciBjb21tYW5kIGNvbXBsZXRlcyAqLwoJCQlpZih3YWl0Rm9yQ21kQ29tcGxldGUoc3Ap KSB7CgkJCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IEFkZGluZyAiLGRldi0+bmFtZSk7CgkJCQlE QkdfUFJJTlQoRVJSX0RCRywiTXVsdGljYXN0cyBmYWlsZWRcbiIpOwoJCQkJcmV0dXJuOwoJCQl9 CgkJfQoJfQp9CgovKgogKiAgSW5wdXQgQXJndW1lbnQvczogCiAqICBkZXYgLSBwb2ludGVyIHRv IHRoZSBkZXZpY2Ugc3RydWN0dXJlLgogKiAgbmV3X21hYyAtIGEgdm9pZCBwb2ludGVyIHRvIHRo ZSBuZXcgbWFjIGFkZHJlc3Mgd2hpY2ggaXMgdG8gYmUgc2V0LgogKiAgUmV0dXJuIHZhbHVlOgog KiAgU1VDQ0VTUyBvbiBzdWNjZXNzIGFuZCBhbiBhcHByb3ByaWF0ZSAoLSl2ZSBpbnRlZ2VyIGFz IGRlZmluZWQgaW4gZXJybm8uaAogKiAgZmlsZSBvbiBmYWlsdXJlLgogKiAgRGVzY3JpcHRpb246 CiAqICBBIGRyaXZlciBlbnRyeSBwb2ludCB0byBjaGFuZ2UgdGhlIG1hYyBhZGRyZXNzLiBUaGUg ZGV2aWNlIG11c3QgYmUgZG93bgogKiAgYmVmb3JlIHRoaXMgY2FuIGJlIGNhbGxlZC4KICovCmlu dCBzMmlvX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB2b2lkICpuZXdfbWFj KQp7CgluaWNfdCAqc3AgPSAobmljX3QgKilkZXYtPnByaXY7CglYRU5BX2Rldl9jb25maWdfdCAq YmFyMCA9IChYRU5BX2Rldl9jb25maWdfdCAqKXNwLT5iYXIwOwoJc3RydWN0IHNvY2thZGRyICpz YSA9IChzdHJ1Y3Qgc29ja2FkZHIgKiluZXdfbWFjOwoJdTggKmFkZHI7CglyZWdpc3RlciB1NjQg dmFsNjQsIG1hY19hZGRyID0gMDsKCWludCBpOwoKCWlmKG5ldGlmX3J1bm5pbmcoZGV2KSkKCQlu ZXRpZl9zdG9wX3F1ZXVlKGRldik7CgovKiAKKiBTZXQgdGhlIG5ldyBNQUMgYWRkcmVzcyBhcyB0 aGUgbmV3IHVuaWNhc3QgZmlsdGVyIGFuZCByZWZsZWN0IHRoaXMKKiBjaGFuZ2Ugb24gdGhlIGRl dmljZSBhZGRyZXNzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgT1MuIEl0IHdpbGwgYmUKKiBhdCBvZmZz ZXQgMC4gCiovCglhZGRyID0gKHU4ICopKCZzYS0+c2FfZGF0YSk7Cglmb3IoaT0wO2k8RVRIX0FM RU47aSsrKSB7CgkJbWFjX2FkZHIgPDw9IDg7CgkJbWFjX2FkZHIgfD0gYWRkcltpXTsKCX0KCgl3 cml0ZTY0KCZiYXIwLT5ybWFjX2FkZHJfZGF0YTBfbWVtLFJNQUNfQUREUl9EQVRBMF9NRU1fQURE UihtYWNfYWRkcikpOwoJdmFsNjQgPSBSTUFDX0FERFJfQ01EX01FTV9XRSB8IFJNQUNfQUREUl9D TURfTUVNX1NUUk9CRV9ORVdfQ01EIHwKCQlSTUFDX0FERFJfQ01EX01FTV9PRkZTRVQoMCk7Cgl3 cml0ZTY0KCZiYXIwLT5ybWFjX2FkZHJfY21kX21lbSwgdmFsNjQpOwovKiBXYWl0IHRpbGwgY29t bWFuZCBjb21wbGV0ZXMgKi8KCWlmKHdhaXRGb3JDbWRDb21wbGV0ZShzcCkpIHsKCQlEQkdfUFJJ TlQoRVJSX0RCRywiJXM6IHNldF9tYWNfYWRkciBmYWlsZWRcbiIsZGV2LT5uYW1lKTsKCQlyZXR1 cm4gRkFJTFVSRTsKCX0KCgltZW1jcHkoZGV2LT5kZXZfYWRkciwgJnNhLT5zYV9kYXRhLCBFVEhf QUxFTik7CgkKCWlmKG5ldGlmX3F1ZXVlX3N0b3BwZWQoZGV2KSkgCgkJbmV0aWZfd2FrZV9xdWV1 ZShkZXYpOwoKCXJldHVybiBTVUNDRVNTOwp9CgojaWZkZWYgQ09ORklHVVJFX0VUSFRPT0xfU1VQ UE9SVAovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2Yg dGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMy aW9fbmljIHN0cnVjdHVyZS4KICogIGluZm8gLSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUgd2l0 aCBwYXJhbWV0ZXJzIGdpdmVuIGJ5IGV0aHRvb2wgdG8gc2V0CiAqICBsaW5rIGluZm9ybWF0aW9u LgogKiBSZXR1cm4gdmFsdWU6CiAqICAwIG9uIHN1Y2Nlc3MuCiAqIERlc2NyaXB0aW9uOgogKiAg VGhlIGZ1bmN0aW9uIHNldHMgZGlmZmVyZW50IGxpbmsgcGFyYW1ldGVycyBwcm92aWRlZCBieSB0 aGUgdXNlciBvbnRvIAogKiAgdGhlIE5JQy4KICovCiNkZWZpbmUgU1BFRURfMTAwMDAgMTAwMDAK c3RhdGljIGludCBzMmlvX2V0aHRvb2xfc3NldChuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX2Nt ZCAqaW5mbykKewoJaWYoIChpbmZvLT5hdXRvbmVnID09IEFVVE9ORUdfRU5BQkxFKSB8fCAJCgkJ KGluZm8tPnNwZWVkICE9IFNQRUVEXzEwMDAwKSB8fAoJCShpbmZvLT5kdXBsZXggIT0gRFVQTEVY X0ZVTEwpICkgCgkJCXJldHVybiAtRUlOVkFMOwoJZWxzZSB7CgkJczJpb19jbG9zZShzcC0+ZGV2 KTsKCQlzMmlvX29wZW4oc3AtPmRldik7Cgl9CgkKCXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBB cmd1bWVudC9zOiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1 cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4K ICogIGluZm8gLSBwb2ludGVyIHRvIHRoZSBzdHJ1Y3R1cmUgd2l0aCBwYXJhbWV0ZXJzIGdpdmVu IGJ5IGV0aHRvb2wgdG8gcmV0dXJuCiAqICBsaW5rIGluZm9ybWF0aW9uLgogKiBSZXR1cm4gdmFs dWU6CiAqICB2b2lkCiAqIERlc2NyaXB0aW9uOgogKiAgUmV0dXJucyBsaW5rIHNwZWNlZmljIGlu Zm9ybWF0aW9uIGxpa2Ugc3BlZWQsIGR1cGxleCBldGMuLiB0byBldGh0b29sLgogKi8Kc3RhdGlj IHZvaWQgczJpb19ldGh0b29sX2dzZXQobmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9vbF9jbWQgKmlu Zm8pCnsKCWluZm8tPnN1cHBvcnRlZCA9ICAgKFNVUFBPUlRFRF8xMDAwMGJhc2VUX0Z1bGwgfCBT VVBQT1JURURfRklCUkUpOwoJaW5mby0+YWR2ZXJ0aXNpbmcgPSAoU1VQUE9SVEVEXzEwMDAwYmFz ZVRfRnVsbCB8IFNVUFBPUlRFRF9GSUJSRSk7CglpbmZvLT5wb3J0ID0gUE9SVF9GSUJSRTsKCS8q IGluZm8tPnRyYW5zY2VpdmVyPz8gVE9ETyAqLwoJCglpZihuZXRpZl9jYXJyaWVyX29rKHNwLT5k ZXYpKSB7CgkJaW5mby0+c3BlZWQgPSAxMDAwMDsKCQlpbmZvLT5kdXBsZXggPSBEVVBMRVhfRlVM TDsKCX0gZWxzZSB7CgkJaW5mby0+c3BlZWQgPSAtMTsKCQlpbmZvLT5kdXBsZXggPSAtMTsKCX0K CQoJaW5mby0+YXV0b25lZyA9IEFVVE9ORUdfRElTQUJMRTsKfQoKLyoKICogSW5wdXQgQXJndW1l bnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3 aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAqICBp bmZvIC0gcG9pbnRlciB0byB0aGUgc3RydWN0dXJlIHdpdGggcGFyYW1ldGVycyBnaXZlbiBieSBl dGh0b29sIHRvIHJldHVybgogKiAgZHJpdmVyIGluZm9ybWF0aW9uLgogKiBSZXR1cm4gdmFsdWU6 CiAqICB2b2lkCiAqIERlc2NyaXB0aW9uOgogKiAgUmV0dXJucyBkcml2ZXIgc3BlY2VmaWMgaW5m b3JtYXRpb24gbGlrZSBuYW1lLCB2ZXJzaW9uIGV0Yy4uIHRvIGV0aHRvb2wuCiAqLwpzdGF0aWMg dm9pZCBzMmlvX2V0aHRvb2xfZ2RydmluZm8obmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9vbF9kcnZp bmZvICppbmZvKQp7CglzdHJuY3B5KGluZm8tPmRyaXZlciwgc3AtPm5hbWUsIDMyKTsKCXN0cm5j cHkoaW5mby0+dmVyc2lvbiwgIiIsIDMyKTsJCglzdHJuY3B5KGluZm8tPmZ3X3ZlcnNpb24sICIi LCAzMik7CglzdHJuY3B5KGluZm8tPmJ1c19pbmZvLCBzcC0+cGRldi0+c2xvdF9uYW1lLCAzMik7 CgkjaWYgZGVmaW5lZChFVEhUT09MX0dSRUdTKQoJaW5mby0+cmVnZHVtcF9sZW4gCT0gWEVOQV9S RUdfU1BBQ0U7CgkjZW5kaWYKCWluZm8tPmVlZHVtcF9sZW4gCT0gWEVOQV9FRVBST01fU1BBQ0U7 CglpbmZvLT50ZXN0aW5mb19sZW4gCT0gUzJJT19URVNUX0xFTjsKfQoKLyoKICogSW5wdXQgQXJn dW1lbnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJl LCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAq ICByZWdzIC0gcG9pbnRlciB0byB0aGUgc3RydWN0dXJlIHdpdGggcGFyYW1ldGVycyBnaXZlbiBi eSBldGh0b29sIGZvciAKICogIGR1bXBpbmcgdGhlIHJlZ2lzdGVycy4KICogIHJlZ19zcGFjZSAt IFRoZSBpbnB1dCBhcmd1bW5ldCBpbnRvIHdoaWNoIGFsbCB0aGUgcmVnaXN0ZXJzIGFyZSBkdW1w ZWQuCiAqIFJldHVybiB2YWx1ZToKICogIHZvaWQKICogRGVzY3JpcHRpb246CiAqICBEdW1wcyB0 aGUgZW50aXJlIHJlZ2lzdGVyIHNwYWNlIG9mIHhGcmFtZSBOSUMgaW50byB0aGUgdXNlciBnaXZl biBidWZmZXIgCiAqICBhcmVhLgogKi8Kc3RhdGljIHZvaWQgczJpb19ldGh0b29sX2dyZWdzKG5p Y190ICpzcCwgc3RydWN0IGV0aHRvb2xfcmVncyAqcmVncywgCgkJCQkJCQkJdTggKnJlZ19zcGFj ZSkKewoJaW50IGk7Cgl1NjQgcmVnOwoJCglyZWdzLT5sZW4gPSBYRU5BX1JFR19TUEFDRTsKCXJl Z3MtPnZlcnNpb24gPSBzcC0+cGRldi0+c3Vic3lzdGVtX2RldmljZTsKCglmb3IoaT0wOyBpPHJl Z3MtPmxlbjsgaSArPSA4KSB7CgkJcmVnID0gcmVhZDY0KCh2b2lkICopKHNwLT5iYXIwK2kpKTsK CQltZW1jcHkoKHJlZ19zcGFjZStpKSwgJnJlZywgOCk7Cgl9Cn0KCiNpZmRlZiBFVEhUT09MX1BI WVNfSUQKLyoKICogSW5wdXQgQXJndW1lbnQvczogCiAqICBkYXRhIC0gYWRkcmVzcyBvZiB0aGUg cHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIAogKiAgaXMgYSBw b2ludGVyIHRvIHRoZSBzMmlvX25pYyBzdHJ1Y3R1cmUsIHByb3ZpZGVkIGFzIGFuIHUzMi4KICog UmV0dXJuIHZhbHVlOgogKiAgdm9pZAogKiBEZXNjcmlwdGlvbjoKICogIFRoaXMgaXMgYWN0dWFs bHkgdGhlIHRpbWVyIGZ1bmN0aW9uIHRoYXQgYWx0ZXJuYXRlcyB0aGUgYWRhcHRlciBMRUQgYml0 CiAqICBvZiB0aGUgYWRhcHRlciBjb250cm9sIGJpdCB0byBzZXQvcmVzZXQgZXZlcnkgdGltZSBv biBpbnZvY2F0aW9uLgogKiAgVGhlIHRpbWVyaXMgc2V0IGZvciAxLzIgYSBzZWNvbmQsIGhlbmNl IHRoYSBOSUMgYmxpbmtzIG9uY2UgZXZlcnkgc2Vjb25kLgogKi8Kc3RhdGljIHZvaWQgczJpb19w aHlfaWQodW5zaWduZWQgbG9uZyBkYXRhKQp7CgluaWNfdCAqc3AgPSAobmljX3QgKilkYXRhOwoJ WEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29uZmlnX3QgKilzcC0+YmFyMDsK CXU2NCB2YWw2NCA9IDA7CgoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCk7 CglpZih2YWw2NCAmIEFEQVBURVJfTEVEX09OKSAKCQl2YWw2NCAmPSB+KHU2NClBREFQVEVSX0xF RF9PTjsKCWVsc2UKCQl2YWw2NCB8PSBBREFQVEVSX0xFRF9PTjsKCXdyaXRlNjQoJmJhcjAtPmFk YXB0ZXJfY29udHJvbCwgdmFsNjQpOwoJCgltb2RfdGltZXIoJnNwLT5pZF90aW1lciwgamlmZmll cytIWi8yKTsgLyogYmxpbmsgb25jZSBpbiAxIHNlYyAqLwp9CgovKgogKiBJbnB1dCBBcmd1bWVu dC9zOiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdo aWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogIGlk IC0gcG9pbnRlciB0byB0aGUgc3RydWN0dXJlIHdpdGggaWRlbnRpZmljYXRpb24gcGFyYW1ldGVy cyBnaXZlbiBieSAKICogIGV0aHRvb2wuCiAqIFJldHVybiB2YWx1ZToKICogIHZvaWQKICogRGVz Y3JpcHRpb246CiAqICBVc2VkIHRvIHBoeXNpY2FsbHkgaWRlbnRpZnkgdGhlIE5JQyBvbiB0aGUg c3lzdGVtLiBUaGUgTGluayBMRUQgd2lsbCBibGluawogKiAgZm9yIGEgdGltZSBzcGVjaWZpZWQg YnkgdGhlIHVzZXIgZm9yIGlkZW50aWZpY2F0aW9uLgogKiAgTk9URTogVGhlIExpbmsgaGFzIHRv IGJlIFVwIHRvIGJlIGFibGUgdG8gYmxpbmsgdGhlIExFRC4gSGVuY2UgCiAqICBpZGVudGlmaWNh dGlvbiBpcyBwb3NzaWJsZSBvbmx5IGlmIGl0J3MgbGluayBpcyB1cC4KICovCnN0YXRpYyB2b2lk IHMyaW9fZXRodG9vbF9pZG5pYyhuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX3ZhbHVlICppZCkK ewkKCXU2NAl2YWw2NCA9IDA7CglYRU5BX2Rldl9jb25maWdfdCAqYmFyMCA9IChYRU5BX2Rldl9j b25maWdfdCAqKXNwLT5iYXIwOwoKCWlmKHNwLT5pZF90aW1lci5mdW5jdGlvbiA9PSBOVUxMKSB7 CgkJaW5pdF90aW1lcigmc3AtPmlkX3RpbWVyKTsKCQlzcC0+aWRfdGltZXIuZnVuY3Rpb24gPSBz MmlvX3BoeV9pZDsKCQlzcC0+aWRfdGltZXIuZGF0YSA9ICh1bnNpZ25lZCBsb25nKXNwOwoJfQoJ dmFsNjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCk7CglpZighKHZhbDY0ICYgQURB UFRFUl9DTlRMX0VOKSkgewoJCXByaW50ayhLRVJOX0VSUiJBZGFwdGVyIExpbmsgZG93biwgY2Fu bm90IGJsaW5rIExFRFxuIik7CgkJcmV0dXJuOwoJfQoKCXNwLT5hZGFwdF9jdHJsX29yZyA9IHZh bDY0ICYgQURBUFRFUl9MRURfT047Cgltb2RfdGltZXIoJnNwLT5pZF90aW1lciwgamlmZmllcyk7 CglzZXRfY3VycmVudF9zdGF0ZShUQVNLX0lOVEVSUlVQVElCTEUpOwoJaWYoaWQtPmRhdGEpCgkJ c2NoZWR1bGVfdGltZW91dChpZC0+ZGF0YSAqIEhaKTsKCWVsc2UKCQlzY2hlZHVsZV90aW1lb3V0 KE1BWF9TQ0hFRFVMRV9USU1FT1VUKTsKCWRlbF90aW1lcl9zeW5jKCZzcC0+aWRfdGltZXIpOwoK CXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5hZGFwdGVyX2NvbnRyb2wpOwoJdmFsNjQgfD0gc3AtPmFk YXB0X2N0cmxfb3JnOwkKCXdyaXRlNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCwgdmFsNjQpOwp9 CiNlbmRpZgoKLyoKICogSW5wdXQgQXJndW1lbnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVy IG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAg IAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAqICBlcCAtIHBvaW50ZXIgdG8gdGhlIHN0cnVjdHVyZSB3 aXRoIHBhdXNlIHBhcmFtZXRlcnMgZ2l2ZW4gYnkgZXRodG9vbC4KICogUmV0dXJuIHZhbHVlOgog KiAgdm9pZAogKiBEZXNjcmlwdGlvbjoKICogIFJldHVybnMgdGhlIFBhdXNlIGZyYW1lIGdlbmVy YXRpb24gYW5kIHJlY2VwdGlvbiBjYXBhYmlsaXR5IG9mIHRoZSBOSUMuCiAqLwpzdGF0aWMgdm9p ZCBzMmlvX2V0aHRvb2xfZ2V0cGF1c2VfZGF0YShuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX3Bh dXNlcGFyYW0gKmVwKQp7Cgl1NjQgdmFsNjQ7CQoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAo WEVOQV9kZXZfY29uZmlnX3QgKilzcC0+YmFyMDsKCQoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPnJt YWNfcGF1c2VfY2ZnKTsKCWlmKCB2YWw2NCAmIFJNQUNfUEFVU0VfR0VOX0VOQUJMRSApCgkJZXAt PnR4X3BhdXNlID0gVFJVRTsKCWlmKCB2YWw2NCAmIFJNQUNfUEFVU0VfUlhfRU5BQkxFICkKCQll cC0+cnhfcGF1c2UgPSBUUlVFOwoJZXAtPmF1dG9uZWcgPSBGQUxTRTsKfQoKLyoKICogSW5wdXQg QXJndW1lbnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0 dXJlLCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUu CiAqICBlcCAtIHBvaW50ZXIgdG8gdGhlIHN0cnVjdHVyZSB3aXRoIHBhdXNlIHBhcmFtZXRlcnMg Z2l2ZW4gYnkgZXRodG9vbC4KICogUmV0dXJuIHZhbHVlOgogKiAgdm9pZAogKiBEZXNjcmlwdGlv bjoKICogIEl0IGNhbiBiZSB1c2VkIHRvIHNldCBvciByZXNldCBQYXVzZSBmcmFtZSBnZW5lcmF0 aW9uIG9yIHJlY2VwdGlvbiBzdXBwb3J0IAogKiAgb2YgdGhlIE5JQy4KICovCnN0YXRpYyB2b2lk IHMyaW9fZXRodG9vbF9zZXRwYXVzZV9kYXRhKG5pY190ICpzcCwgc3RydWN0IGV0aHRvb2xfcGF1 c2VwYXJhbSAqZXApCnsKCXU2NCB2YWw2NDsJCglYRU5BX2Rldl9jb25maWdfdCAqYmFyMCA9IChY RU5BX2Rldl9jb25maWdfdCAqKXNwLT5iYXIwOwoJCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+cm1h Y19wYXVzZV9jZmcpOwoJaWYoZXAtPnR4X3BhdXNlKQoJCXZhbDY0IHw9IFJNQUNfUEFVU0VfR0VO X0VOQUJMRTsKCWVsc2UKCQl2YWw2NCAmPSB+Uk1BQ19QQVVTRV9HRU5fRU5BQkxFOwoJaWYoZXAt PnJ4X3BhdXNlKQoJCXZhbDY0IHw9IFJNQUNfUEFVU0VfUlhfRU5BQkxFOwoJZWxzZQoJCXZhbDY0 ICY9IH5STUFDX1BBVVNFX1JYX0VOQUJMRTsKCXdyaXRlNjQoJmJhcjAtPnJtYWNfcGF1c2VfY2Zn LCB2YWw2NCk7Cn0KCi8qCiAqIElucHV0IEFyZ3VtZW50L3M6IAogKiAgc3AgLSBwcml2YXRlIG1l bWJlciBvZiB0aGUgZGV2aWNlIHN0cnVjdHVyZSwgd2hpY2ggaXMgYSBwb2ludGVyIHRvIHRoZSAK ICogICAJczJpb19uaWMgc3RydWN0dXJlLgogKiAgb2ZmIC0gb2Zmc2V0IGF0IHdoaWNoIHRoZSBk YXRhIG11c3QgYmUgd3JpdHRlbgogKiBSZXR1cm4gdmFsdWU6CiAqICAtMSBvbiBmYWlsdXJlIGFu ZCB0aGUgdmFsdWUgcmVhZCBmcm9tIHRoZSBFZXByb20gaWYgc3VjY2Vzc2Z1bC4KICogRGVzY3Jp cHRpb246CiAqICBXaWxsIHJlYWQgNCBieXRlcyBvZiBkYXRhIGZyb20gdGhlIHVzZXIgZ2l2ZW4g b2Zmc2V0IGFuZCByZXR1cm4gdGhlIAogKiAgcmVhZCBkYXRhLgogKiBOT1RFOiBXaWxsIGFsbG93 IHRvIHJlYWQgb25seSBwYXJ0IG9mIHRoZSBFRVBST00gdmlzaWJsZSB0aHJvdWdoIHRoZQogKiAJ IEkyQyBidXMuCiAqLwojZGVmaW5lIFMySU9fREVWX0lECQk1CnN0YXRpYyB1MzIgcmVhZEVlcHJv bShuaWNfdCAqc3AsIGludCBvZmYpCnsKCXUzMiBkYXRhID0gLTEsIGV4aXRfY250ID0gMDsKCXU2 NCB2YWw2NDsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhFTkFfZGV2X2NvbmZpZ190ICop c3AtPmJhcjA7CgkKCXZhbDY0ID0gSTJDX0NPTlRST0xfREVWX0lEKFMySU9fREVWX0lEKSB8IEky Q19DT05UUk9MX0FERFIob2ZmKSB8CgkJCUkyQ19DT05UUk9MX0JZVEVfQ05UKDB4MykgfCBJMkNf Q09OVFJPTF9SRUFEIHwgCgkJCUkyQ19DT05UUk9MX0NOVExfU1RBUlQ7Cgl3cml0ZTY0KCZiYXIw LT5pMmNfY29udHJvbCwgdmFsNjQpOwoKCXdoaWxlKGV4aXRfY250IDwgNSkgewoJCXZhbDY0ID0g cmVhZDY0KCZiYXIwLT5pMmNfY29udHJvbCk7CgkJaWYoSTJDX0NPTlRST0xfQ05UTF9FTkQodmFs NjQpKSB7CgkJCWRhdGEgPSBJMkNfQ09OVFJPTF9HRVRfREFUQSh2YWw2NCk7CgkJCWJyZWFrOwoJ CX0KCQltZGVsYXkoNTApOwoJCWV4aXRfY250Kys7Cgl9CgoJcmV0dXJuIGRhdGE7Cn0KCQkJCQkK LyoKICogSW5wdXQgQXJndW1lbnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBk ZXZpY2Ugc3RydWN0dXJlLCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25p YyBzdHJ1Y3R1cmUuCiAqICBvZmYgLSBvZmZzZXQgYXQgd2hpY2ggdGhlIGRhdGEgbXVzdCBiZSB3 cml0dGVuCiAqICBkYXRhIC0gVGhlIGRhdGEgdGhhdCBpcyB0byBiZSB3cml0dGVuCiAqICBjbnQg LSBOdW1iZXIgb2YgYnl0ZXMgb2YgdGhlIGRhdGEgdGhhdCBhcmUgYWN0dWFsbHkgdG8gYmUgd3Jp dHRlbiBpbnRvIAogKiAgdGhlIEVlcHJvbS4gKG1heCBvZiAzKQogKiBSZXR1cm4gdmFsdWU6CiAq ICAnMCcgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4KICogRGVzY3JpcHRpb246CiAqICBBY3R1 YWxseSB3cml0ZXMgdGhlIHJlbGV2YW50IHBhcnQgb2YgdGhlIGRhdGEgdmFsdWUgaW50byB0aGUg RWVwcm9tCiAqICB0aHJvdWdoIHRoZSBJMkMgYnVzLgogKi8Kc3RhdGljIGludCB3cml0ZUVlcHJv bShuaWNfdCAqc3AsIGludCBvZmYsIHUzMiBkYXRhLCBpbnQgY250KQp7CglpbnQgZXhpdF9jbnQg PSAwLCByZXQgPSAtMTsKCXU2NCB2YWw2NDsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhF TkFfZGV2X2NvbmZpZ190ICopc3AtPmJhcjA7CgkKCXZhbDY0ID0gSTJDX0NPTlRST0xfREVWX0lE KFMySU9fREVWX0lEKSB8IEkyQ19DT05UUk9MX0FERFIob2ZmKSB8CgkJCUkyQ19DT05UUk9MX0JZ VEVfQ05UKGNudCkgfCBJMkNfQ09OVFJPTF9TRVRfREFUQShkYXRhKSB8CgkJCUkyQ19DT05UUk9M X0NOVExfU1RBUlQ7IAoJd3JpdGU2NCgmYmFyMC0+aTJjX2NvbnRyb2wsIHZhbDY0KTsKCQoJd2hp bGUoZXhpdF9jbnQgPCA1KSB7CgkJdmFsNjQgPSByZWFkNjQoJmJhcjAtPmkyY19jb250cm9sKTsK CQlpZihJMkNfQ09OVFJPTF9DTlRMX0VORCh2YWw2NCkpIHsKCQkJaWYoISh2YWw2NCAmIEkyQ19D T05UUk9MX05BQ0spKQoJCQkJcmV0ID0gMDsKCQkJYnJlYWs7CgkJfQoJCW1kZWxheSg1MCk7CgkJ ZXhpdF9jbnQrKzsKCX0KCglyZXR1cm4gcmV0Owp9CgovKiAKICogQSBoZWxwZXIgZnVuY3Rpb24g dXNlZCB0byBpbnZlcnQgdGhlIDQgYnl0ZSB1MzIgZGF0YSBmaWVsZAogKiBieXRlIGJ5IGJ5dGUu IFRoaXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSBSZWFkIEVlcHJvbSBmdW5jdGlvbgogKiBmb3IgZGlz cGxheSBwdXJwb3Nlcy4KICovCnUzMiBpbnYodTMyIGRhdGEpCnsKCXN0YXRpYyB1MzIgcmV0ID0g MDsKCglpZihkYXRhKSB7CgkJdTggYyA9IGRhdGE7CgkJcmV0ID0gKChyZXQgPDwgOCkgKyBjKTsK CQlkYXRhID4+PSA4OwoJCWludihkYXRhKTsKCX0KCglyZXR1cm4gcmV0Owp9CgovKgogKiBJbnB1 dCBBcmd1bWVudC9zOiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1 Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVy ZS4KICogIGVlcHJvbSAtIHBvaW50ZXIgdG8gdGhlIHVzZXIgbGV2ZWwgc3RydWN0dXJlIHByb3Zp ZGVkIGJ5IGV0aHRvb2wsIAogKiAgIGNvbnRhaW5pbmcgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9u LgogKiAgZGF0YV9idWYgLSB1c2VyIGRlZmluZWQgdmFsdWUgdG8gYmUgd3JpdHRlbiBpbnRvIEVl cHJvbS4KICogUmV0dXJuIHZhbHVlOgogKiAgdm9pZAogKiBEZXNjcmlwdGlvbjoKICogIFJlYWRz IHRoZSB2YWx1ZXMgc3RvcmVkIGluIHRoZSBFZXByb20gYXQgZ2l2ZW4gb2Zmc2V0IGZvciBhIGdp dmVuIGxlbmd0aC4KICogIFN0b3JlcyB0aGVzZSB2YWx1ZXMgaW50IHRoZSBpbnB1dCBhcmd1bWVu dCBkYXRhIGJ1ZmZlciAnZGF0YV9idWYnIGFuZAogKiAgcmV0dXJucyB0aGVzZSB0byB0aGUgY2Fs bGVyIChldGh0b29sLikKICovCnN0YXRpYyB2b2lkIHMyaW9fZXRodG9vbF9nZWVwcm9tKG5pY190 ICpzcCwgc3RydWN0IGV0aHRvb2xfZWVwcm9tICplZXByb20sIAoJCQkJY2hhciAqZGF0YV9idWYp CnsKCXUzMiBkYXRhLCBpLCB2YWxpZDsKCQoJZWVwcm9tLT5tYWdpYyA9IHNwLT5wZGV2LT52ZW5k b3IgfCAoc3AtPnBkZXYtPmRldmljZSA8PCAxNik7CgkKCWlmKChlZXByb20tPm9mZnNldCArIGVl cHJvbS0+bGVuKSA+IChYRU5BX0VFUFJPTV9TUEFDRSkpCgkJCWVlcHJvbS0+bGVuID0gWEVOQV9F RVBST01fU1BBQ0UgLSBlZXByb20tPm9mZnNldDsKCglmb3IoaT0wOyBpIDwgZWVwcm9tLT5sZW47 IGkgKz0gNCkgewoJCWRhdGEgPSByZWFkRWVwcm9tKHNwLCBlZXByb20tPm9mZnNldCtpKTsKCQlp ZihkYXRhIDwgMCkgewoJCQlEQkdfUFJJTlQoRVJSX0RCRywiUmVhZCBvZiBFRVBST00gZmFpbGVk XG4iKTsKCQkJcmV0dXJuOwoJCX0KCQl2YWxpZCA9IGludihkYXRhKTsKCQltZW1jcHkoKGRhdGFf YnVmK2kpLCAmdmFsaWQsIDQpOwoJfQp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNw IC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9p bnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogIGVlcHJvbSAtIHBvaW50 ZXIgdG8gdGhlIHVzZXIgbGV2ZWwgc3RydWN0dXJlIHByb3ZpZGVkIGJ5IGV0aHRvb2wsIAogKiAg IGNvbnRhaW5pbmcgYWxsIHJlbGV2YW50IGluZm9ybWF0aW9uLgogKiAgZGF0YV9idWYgLSB1c2Vy IGRlZmluZWQgdmFsdWUgdG8gYmUgd3JpdHRlbiBpbnRvIEVlcHJvbS4KICogUmV0dXJuIHZhbHVl OgogKiAgJzAnIG9uIHN1Y2Nlc3MsIC1FRkFVTFQgb24gZmFpbHVyZS4KICogRGVzY3JpcHRpb246 CiAqICBUcmllcyB0byB3cml0ZSB0aGUgdXNlciBwcm92aWRlZCB2YWx1ZSBpbiB0aGUgRWVwcm9t LCBhdCB0aGUgb2Zmc2V0CiAqICBnaXZlbiBieSB0aGUgdXNlci4KICovCnN0YXRpYyBpbnQgczJp b19ldGh0b29sX3NlZXByb20obmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9vbF9lZXByb20gKmVlcHJv bSwgCgkJCQljaGFyICpkYXRhX2J1ZikgCnsKCWludCBsZW4gPSBlZXByb20tPmxlbiwgY250ID0g MDsKCXUzMiB2YWxpZCA9IDAsIGRhdGE7CgkKCWlmKGVlcHJvbS0+bWFnaWMgIT0gKHNwLT5wZGV2 LT52ZW5kb3IgfCAoc3AtPnBkZXYtPmRldmljZSA8PCAxNikpKSB7CgkJREJHX1BSSU5UKEVSUl9E QkcsIkVUSFRPT0xfV1JJVEVfRUVQUk9NIEVycjogTWFnaWMgdmFsdWUgIik7CgkJREJHX1BSSU5U KEVSUl9EQkcsImlzIHdyb25nLCBJdHMgbm90IDB4JXhcbiIsIGVlcHJvbS0+bWFnaWMpOwoJCXJl dHVybiAtRUZBVUxUOwoJfQoJCgl3aGlsZShsZW4pIHsKCQlkYXRhID0gKHUzMikgZGF0YV9idWZb Y250XSAmIDB4MDAwMDAwRkY7CgkJaWYoZGF0YSkgewoJCQl2YWxpZCA9ICh1MzIpKGRhdGEgPDwg MjQpOwoJCX0KCQllbHNlCgkJCXZhbGlkID0gZGF0YTsKCQkKCQlpZih3cml0ZUVlcHJvbShzcCwg KGVlcHJvbS0+b2Zmc2V0K2NudCksIHZhbGlkLCAwKSkgewoJCQlEQkdfUFJJTlQoRVJSX0RCRywi RVRIVE9PTF9XUklURV9FRVBST00gRXJyOiBDYW5ub3QgIik7CgkJCURCR19QUklOVChFUlJfREJH LCJ3cml0ZSBpbnRvIHRoZSBzcGVjaWZpZWQgb2Zmc2V0XG4iKTsKCQkJcmV0dXJuIC1FRkFVTFQ7 CgkJfQoJCWNudCsrOwoJCWxlbi0tOwoJfQoKCXJldHVybiAwOwkKfQoKLyoKICogSW5wdXQgQXJn dW1lbnQvczogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJl LCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAq ICBkYXRhIC0gdmFyaWFibGUgdGhhdCByZXR1cm5zIHRoZSByZXN1bHQgb2YgZWFjaCBvZiB0aGUg dGVzdCBjb25kdWN0ZWQgYnkgCiAqICAJdGhlIGRyaXZlci4KICogUmV0dXJuIHZhbHVlOgogKiAg JzAnIG9uIHN1Y2Nlc3MuCiAqIERlc2NyaXB0aW9uOgogKiAgUmVhZCBhbmQgd3JpdGUgaW50byBh bGwgY2xvY2sgZG9tYWlucy4gVGhlIE5JQyBoYXMgMyBjbG9jayBkb21haW5zLAogKiAgc2VlIHRo YXQgcmVnaXN0ZXJzIGluIGFsbCB0aGUgdGhyZWUgcmVnaW9ucyBhcmUgYWNjZXNzaWJsZS4KICov CnN0YXRpYyBpbnQgczJpb19yZWdpc3RlclRlc3QobmljX3QgKnNwLCB1aW50NjRfdCAqZGF0YSkK ewoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29uZmlnX3QgKilzcC0+YmFy MDsKCXU2NCB2YWw2NCA9IDA7CglpbnQgZmFpbCA9IDA7CgoJdmFsNjQgPSByZWFkNjQoJmJhcjAt PnBjY19lbmFibGUpOwoJaWYodmFsNjQgIT0gMHhmZjAwMDAwMDAwMDAwMDAwVUxMKSB7CgkJZmFp bCA9IDE7CgkJREJHX1BSSU5UKElORk9fREJHLCJSZWFkIFRlc3QgbGV2ZWwgMSBmYWlsc1xuIik7 Cgl9CgkKCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5ybWFjX3BhdXNlX2NmZyk7CglpZih2YWw2NCAh PSAweGMwMDBmZmZmMDAwMDAwMDBVTEwpIHsKCQlmYWlsID0gMTsKCQlEQkdfUFJJTlQoSU5GT19E QkcsIlJlYWQgVGVzdCBsZXZlbCAyIGZhaWxzXG4iKTsKCX0KCQoJdmFsNjQgPSByZWFkNjQoJmJh cjAtPnJ4X3F1ZXVlX2NmZyk7CglpZih2YWw2NCAhPSAweDA4MDgwODA4MDgwODA4MDhVTEwpIHsK CQlmYWlsID0gMTsKCQlEQkdfUFJJTlQoSU5GT19EQkcsIlJlYWQgVGVzdCBsZXZlbCAzIGZhaWxz XG4iKTsKCX0KCQoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPnhneHNfZWZpZm9fY2ZnKTsKCWlmKHZh bDY0ICE9IDB4MDAwMDAwMDAxOTIzMTQxRVVMTCkgewoJCWZhaWwgPSAxOwoJCURCR19QUklOVChJ TkZPX0RCRywiUmVhZCBUZXN0IGxldmVsIDQgZmFpbHNcbiIpOwoJfQoJCgl2YWw2NCA9IDB4NUE1 QTVBNUE1QTVBNUE1QVVMTDsKCXdyaXRlNjQoJmJhcjAtPnhtc2lfZGF0YSwgdmFsNjQpOwoJdmFs NjQgPSByZWFkNjQoJmJhcjAtPnhtc2lfZGF0YSk7CQoJaWYodmFsNjQgIT0gMHg1QTVBNUE1QTVB NUE1QTVBVUxMKSB7CgkJZmFpbCA9IDE7CgkJREJHX1BSSU5UKEVSUl9EQkcsIldyaXRlIFRlc3Qg bGV2ZWwgMSBmYWlsc1xuIik7Cgl9CgoJdmFsNjQgPSAweEE1QTVBNUE1QTVBNUE1QTVVTEw7Cgl3 cml0ZTY0KCZiYXIwLT54bXNpX2RhdGEsIHZhbDY0KTsKCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT54 bXNpX2RhdGEpOwkKCWlmKHZhbDY0ICE9IDB4QTVBNUE1QTVBNUE1QTVBNVVMTCkgewoJCWZhaWwg PSAxOwoJCURCR19QUklOVChFUlJfREJHLCJXcml0ZSBUZXN0IGxldmVsIDIgZmFpbHNcbiIpOwoJ fQoKCSpkYXRhID0gZmFpbDsKCXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAK ICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlz IGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogIGRhdGEgLSB2 YXJpYWJsZSB0aGF0IHJldHVybnMgdGhlIHJlc3VsdCBvZiBlYWNoIG9mIHRoZSB0ZXN0IGNvbmR1 Y3RlZCBieSAKICogIAl0aGUgZHJpdmVyLgogKiBSZXR1cm4gdmFsdWU6CiAqICAnMCcgb24gc3Vj Y2Vzcy4KICogRGVzY3JpcHRpb246CiAqICBWZXJpZnkgdGhhdCBFRVBST00gaW4gdGhlIHhlbmEg Y2FuIGJlIHByb2dyYW1tZWQgdXNpbmcgSTJDX0NPTlRST0wgCiAqICByZWdpc3Rlci4KICovCnN0 YXRpYyBpbnQgczJpb19lZXByb21UZXN0KG5pY190ICpzcCwgdWludDY0X3QgKmRhdGEpCnsKCWlu dCBmYWlsID0gMCwgcmV0X2RhdGE7CgoJLyogVGVzdCBXcml0ZSBFcnJvciBhdCBvZmZzZXQgMCov CglpZighd3JpdGVFZXByb20oc3AsIDAsIDAsIDMpKQoJCWZhaWwgPSAxOwoKCS8qIFRlc3QgV3Jp dGUgYXQgb2Zmc2V0IDRmMCAqLwkKCWlmKHdyaXRlRWVwcm9tKHNwLCAweDRGMCwgMHgwMTIzNDU2 NywgMykpCgkJZmFpbCA9IDE7CglpZigocmV0X2RhdGEgPSByZWFkRWVwcm9tKHNwLCAweDRmMCkp IDwgMCkKCQlmYWlsID0gMTsKCglpZihyZXRfZGF0YSAhPSAweDAxMjM0NTY3KQoJCWZhaWwgPSAx OwoKCS8qIFJlc2V0IHRoZSBFRVBST00gZGF0YSBnbyBGRkZGKi8KCXdyaXRlRWVwcm9tKHNwLCAw eDRGMCwgMHhGRkZGRkZGRiwgMyk7CgoJLyogVGVzdCBXcml0ZSBSZXF1ZXN0IEVycm9yIGF0IG9m ZnNldCAweDdjKi8KCWlmKCF3cml0ZUVlcHJvbShzcCwgMHgwN0MsIDAsIDMpKQoJCWZhaWwgPSAx OwoJCgkvKiBUZXN0IFdyaXRlIFJlcXVlc3QgYXQgb2Zmc2V0IDB4N2ZjKi8JCglpZih3cml0ZUVl cHJvbShzcCwgMHg3RkMsIDB4MDEyMzQ1NjcsIDMpKQoJCWZhaWwgPSAxOwoJaWYoKHJldF9kYXRh ID0gcmVhZEVlcHJvbShzcCwgMHg3RkMpKSA8IDApCgkJZmFpbCA9IDE7CgoJaWYocmV0X2RhdGEg IT0gMHgwMTIzNDU2NykKCQlmYWlsID0gMTsKCgkvKiBSZXNldCB0aGUgRUVQUk9NIGRhdGEgZ28g RkZGRiovCQoJd3JpdGVFZXByb20oc3AsIDB4N0ZDLCAweEZGRkZGRkZGLCAzKTsKCgkvKiBUZXN0 IFdyaXRlIEVycm9yIGF0IG9mZnNldCAweDgwICovCglpZighd3JpdGVFZXByb20oc3AsIDB4MDgw LCAwLCAzKSkKCQlmYWlsID0gMTsKCQoJLyogVGVzdCBXcml0ZSBFcnJvciBhdCBvZmZzZXQgMHhm YyAqLwoJaWYoIXdyaXRlRWVwcm9tKHNwLCAweDBGQywgMCwgMykpCgkJZmFpbCA9IDE7CgkKCS8q IFRlc3QgV3JpdGUgRXJyb3IgYXQgb2Zmc2V0IDB4MTAwKi8KCWlmKCF3cml0ZUVlcHJvbShzcCwg MHgxMDAsIDAsIDMpKQoJCWZhaWwgPSAxOwoJCgkvKiBUZXN0IFdyaXRlIEVycm9yIGF0IG9mZnNl dCA0ZWMgKi8KCWlmKCF3cml0ZUVlcHJvbShzcCwgMHg0RUMsIDAsIDMpKQoJCWZhaWwgPSAxOwoJ CgkqZGF0YSA9IGZhaWw7CglyZXR1cm4gMDsKfQoKLyoKICogSW5wdXQgQXJndW1lbnQvczogCiAq ICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3aGljaCBpcyBh IHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAqICBkYXRhIC0gdmFy aWFibGUgdGhhdCByZXR1cm5zIHRoZSByZXN1bHQgb2YgZWFjaCBvZiB0aGUgdGVzdCBjb25kdWN0 ZWQgYnkgCiAqICAJdGhlIGRyaXZlci4KICogUmV0dXJuIHZhbHVlOgogKiAgJzAnIG9uIHN1Y2Nl c3MgYW5kIC0xIG9uIGZhaWx1cmUuCiAqIERlc2NyaXB0aW9uOgogKiAgVGhpcyBpbnZva2VzIHRo ZSBNZW1CaXN0IHRlc3Qgb2YgdGhlIGNhcmQuIFdlIGdpdmUgYXJvdW5kCiAqICAyIHNlY3MgdGlt ZSBmb3IgdGhlIFRlc3QgdG8gY29tcGxldGUuIElmIGl0J3Mgc3RpbGwgbm90IGNvbXBsZXRlCiAq ICB3aXRoaW4gdGhpcyBwZWlvZCwgd2UgY29uc2lkZXIgdGhhdCB0aGUgdGVzdCBmYWlsZWQuIAog Ki8Kc3RhdGljIGludCBzMmlvX2Jpc3RUZXN0KG5pY190ICpzcCwgdWludDY0X3QgKmRhdGEpCnsK CXU4IGJpc3QgPSAwOwoJaW50IGNudCA9IDAsIHJldCA9IC0xOwoKCXBjaV9yZWFkX2NvbmZpZ19i eXRlKHNwLT5wZGV2LCBQQ0lfQklTVCwgJmJpc3QpOwoJYmlzdCB8PSBQQ0lfQklTVF9TVEFSVDsK CXBjaV93cml0ZV9jb25maWdfd29yZChzcC0+cGRldiwgUENJX0JJU1QsIGJpc3QpOwoKCXdoaWxl KGNudCA8IDIwKSB7CgkJcGNpX3JlYWRfY29uZmlnX2J5dGUoc3AtPnBkZXYsIFBDSV9CSVNULCAm YmlzdCk7CgkJaWYoIShiaXN0ICYgUENJX0JJU1RfU1RBUlQpKSB7CgkJCSpkYXRhID0gKGJpc3Qg JiBQQ0lfQklTVF9DT0RFX01BU0spOwoJCQlyZXQgPSAwOwoJCQlicmVhazsKCQl9CgkJbWRlbGF5 KDEwMCk7CgkJY250Kys7Cgl9CgoJcmV0dXJuIHJldDsKfQoKLyoKICogSW5wdXQgQXJndW1lbnQv czogCiAqICBzcCAtIHByaXZhdGUgbWVtYmVyIG9mIHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3aGlj aCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIAlzMmlvX25pYyBzdHJ1Y3R1cmUuCiAqICBkYXRh IC0gdmFyaWFibGUgdGhhdCByZXR1cm5zIHRoZSByZXN1bHQgb2YgZWFjaCBvZiB0aGUgdGVzdCBj b25kdWN0ZWQgYnkgCiAqICAJdGhlIGRyaXZlci4KICogUmV0dXJuIHZhbHVlOgogKiAgJzAnIG9u IHN1Y2Nlc3MuCiAqIERlc2NyaXB0aW9uOgogKiAgVGhlIGZ1bmN0aW9uIHZlcmlmaWVzIHRoZSBs aW5rIHN0YXRlIG9mIHRoZSBOSUMgYW5kIHVwZGF0ZXMgdGhlIGlucHV0IAogKiAgYXJndW1lbnQg J2RhdGEnIGFwcHJvcHJpYXRlbHkuCiAqLwpzdGF0aWMgaW50IHMyaW9fbGlua1Rlc3QobmljX3Qg KnNwLCB1aW50NjRfdCAqZGF0YSkKewoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9k ZXZfY29uZmlnX3QgKilzcC0+YmFyMDsKCXU2NCB2YWw2NDsKCiAgIAl2YWw2NCA9IHJlYWQ2NCgm YmFyMC0+YWRhcHRlcl9zdGF0dXMpOwoJaWYodmFsNjQgJiBBREFQVEVSX1NUQVRVU19STUFDX0xP Q0FMX0ZBVUxUKQoJCSpkYXRhID0gMTsKCQoJcmV0dXJuIDA7Cn0KCi8qCiAqIElucHV0IEFyZ3Vt ZW50L3M6IAogKiAgc2tiIC0gUmVjZWl2ZWQgcGFja2V0IGJ1ZmZlci4KICogIGRldiAtIHBvaW50 ZXIgdG8gdGhlIGRldmljZSBzdHJ1Y3R1cmUgb2YgdGhlIE5JQy4KICogIHB0IC0gdGhlIHBhY2tl dCB0eXBlIHN0cnVjdHVyZSB1c2VkIHRvIHJlZ2lzdGVyIHRoaXMgcGFydGljdWxhciBwcm90b2Nv bAogKiAgIGZ1bmN0aW9uLgogKiBSZXR1cm4gdmFsdWU6CiAqICAnMCcgb24gc3VjY2Vzcy4KICog RGVzY3JpcHRpb246CiAqICBUaGUgZnVuY3Rpb24gcmVjZWl2ZXMgdGhlIExvb3BiYWNrIHRlc3Qg ZnJhbWVzIHNlbnQgdXAgYnkgdGhlIGRyaXZlcidzIAogKiAgUnggSW50ZXJydXB0IGhhbmRsZXIg YW5kIGluY3JlbWVudHMgYSBkZXZpY2Ugc3BlY2VmaWMgY291bnRlciB0aGF0IGtlZXBzIAogKiAg dHJhY2sgb2YgaG93IG1hbnkgb2YgdGhlc2UgZnJhbWVzIHdlcmUgcmVjZWl2ZWQuIEl0IGFsc28g ZnJlZXMgdXAgdGhlIAogKiAgcGFja2V0IGJ1ZmZlciAoc2tiKS4KICovCmludCBldGhfdGVzdF9y Y3ZyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIAoJc3RydWN0 IHBhY2tldF90eXBlICpwdCkKewoJbmljX3QgKnNwID0gKG5pY190ICopZGV2LT5wcml2OwoJCglz cC0+bG9vcF9wa3RfY250Kys7CglkZXZfa2ZyZWVfc2tiKHNrYik7CgkKCURCR19QUklOVChJTkZP X0RCRywiV2FzIGluIExvb3BiYWNrIFJjdiAlZCB0aW1lc1xuIixzcC0+bG9vcF9wa3RfY250KTsK CXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNwIC0gcHJpdmF0ZSBt ZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUg CiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogUmV0dXJuIHZhbHVlOgogKiAgdm9pZAogKiBE ZXNjcmlwdGlvbjoKICogIFRoZSBmdW5jdGlvbnMgcHV0cyB0aGUgTUFDIGluIGxvb3BiYWNrIG1v ZGUgYW5kIGFkZHMgYSBwcml2YXRlIHByb3RvY29sIAogKiAgZnVuY3Rpb24gdG8gcmVjZWl2ZSB0 aGUgTG9vcGJhY2sgdGVzdCBmcmFtZXMgc2VudCBvdXQgd2hpbGUgdGVzdGluZy4KICovCnZvaWQg c2V0dXBfbG9vcGJhY2sobmljX3QgKnNwKQp7CgkKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0g KFhFTkFfZGV2X2NvbmZpZ190ICopc3AtPmJhcjA7Cgl1NjQgdmFsNjQ7Cgl2b2lkICphZGQ7CgoJ LyogUHV0dGluZyBkZXZpY2UgaW50byBNQUMgTG9vcGJhY2sgKi8KCXZhbDY0ICA9IHJlYWQ2NCgm YmFyMC0+bWFjX2NmZyk7Cgl2YWw2NCB8PSBNQUNfQ0ZHX1RNQUNfTE9PUEJBQ0s7CgoJYWRkID0g KHZvaWQgKikmYmFyMC0+bWFjX2NmZzsKCXdyaXRlNjQoJmJhcjAtPnJtYWNfY2ZnX2tleSwgUk1B Q19DRkdfS0VZKDB4NEMwRCkpOwoJd3JpdGVsKCh1MzIpKHZhbDY0KSwgYWRkKTsKCXdyaXRlNjQo JmJhcjAtPnJtYWNfY2ZnX2tleSwgUk1BQ19DRkdfS0VZKDB4NEMwRCkpOwoJd3JpdGVsKCh1MzIp KHZhbDY0ID4+MzIpLCAoYWRkKzQpKTsKCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5tYWNfY2ZnKTsK CQoJZGV2X2FkZF9wYWNrKCZldGh0b29sX3Rlc3QpOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9z OiAKICogIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNo IGlzIGEgcG9pbnRlciB0byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogUmV0dXJu IHZhbHVlOgogKiAgMCBvbiBzdWNjZXNzIGFuZCAtRU5PTUVNIG9uIGZhaWx1cmUuCiAqIERlc2Ny aXB0aW9uOgogKiAgVGhlIGZ1bmN0aW9uIGNyZWF0ZXMgYSBzcGVjaWFsIFRlc3QgZnJhbWUgd2l0 aCBhIHByaXZhdGUgcGFja2V0IHR5cGUvbGVuZ3RoCiAqICBmaWVsZCBhbmQgYSBzZXF1ZW5jZSBu dW1iZXIgYW5kIHRyYW5zbWl0cyBpdC4gVGhyZWUgc3VjaCBwYWNrZXRzIGFyZQogKiAgdHJhbnNt aXR0ZWQuCiAqLwppbnQgc2VuZF90ZXN0RnJtcyhuaWNfdCAqc3ApCnsKCWludCBjbnQgPSAxOwoJ d2hpbGUoY250IDwgNCkgewoJCXU4ICpidWY7CgkJc3RydWN0IHNrX2J1ZmYgKnNrYiA9IGRldl9h bGxvY19za2IoVEVTVF9GUk1fU0laRStFVEhfSExFTik7CgkJaWYoIXNrYikKCQkJcmV0dXJuIC1F Tk9NRU07CgkJCgkJc2tiLT5kZXYgPSBzcC0+ZGV2OwoJCXNrYi0+bWFjLnJhdyA9IHNrYl9wdXQo c2tiLCBURVNUX0ZSTV9TSVpFKTsKCQltZW1jcHkoc2tiLT5tYWMucmF3LCBzcC0+ZGV2LT5kZXZf YWRkciwgRVRIX0FMRU4pOwoJCW1lbWNweShza2ItPm1hYy5yYXcrRVRIX0FMRU4sIHNwLT5kZXYt PmRldl9hZGRyLCBFVEhfQUxFTik7CgkJc2tiLT5tYWMucmF3WzIqRVRIX0FMRU5dID0gbnRvaHMo RVRIX0xPT1BfVEVTVF9UWVBFKS8weDEwMDsKCQlza2ItPm1hYy5yYXdbMipFVEhfQUxFTisxXSA9 IG50b2hzKEVUSF9MT09QX1RFU1RfVFlQRSklMHgxMDA7CgkJCgkJc2tiLT5uaC5yYXcgPSBza2It Pm1hYy5yYXcrRVRIX0hMRU47CgkJYnVmID0gKHU4ICopc2tiLT5uaC5yYXc7CgkJKmJ1ZiA9IGNu dDsKCQltZW1zZXQoKGJ1ZitURVNUX1NFUV9TSVpFKSwgMHhBNSwgCgkJCQkoVEVTVF9GUk1fU0la RSAtIFRFU1RfU0VRX1NJWkUpKTsKCQlkZXZfcXVldWVfeG1pdChza2IpOwoJCWNudCsrOwoJfQoJ cmV0dXJuIDA7Cn0KCi8qCiAqIElucHV0IEFyZ3VtZW50L3M6IAogKiAgc3AgLSBwcml2YXRlIG1l bWJlciBvZiB0aGUgZGV2aWNlIHN0cnVjdHVyZSwgd2hpY2ggaXMgYSBwb2ludGVyIHRvIHRoZSAK ICogICAJczJpb19uaWMgc3RydWN0dXJlLgogKiBSZXR1cm4gdmFsdWU6CiAqICAwIG9uIHN1Y2Nl c3MgYW5kIC0xIG9uIGZhaWx1cmUuCiAqIERlc2NyaXB0aW9uOgogKiAgVGhlIGZ1bmN0aW9uIHZl cmlmaWVzIGlmIHdlIGluZGVlZCByZWNlaXZlZCAzIExvb3BiYWNrIHRlc3QgZnJhbWVzLgogKi8K aW50IHZlcmlmeV90ZXN0RnJtcyhuaWNfdCAqc3ApCnsKCWludCByZXQgPSAwOwoKCWlmKHNwLT5s b29wX3BrdF9jbnQgIT0gRVRIX0xPT1BfVEVTVF9DTlQpIHsKCQlEQkdfUFJJTlQoRVJSX0RCRywi UGt0cyByZWNlaXZlZDogJWRcbiIsc3AtPmxvb3BfcGt0X2NudCk7CgkJcmV0ID0gLTE7Cgl9CgkK CXJldHVybiByZXQ7Cn0KCi8qCiAqIElucHV0IEFyZ3VtZW50L3M6IAogKiAgc3AgLSBwcml2YXRl IG1lbWJlciBvZiB0aGUgZGV2aWNlIHN0cnVjdHVyZSwgd2hpY2ggaXMgYSBwb2ludGVyIHRvIHRo ZSAKICogICAJczJpb19uaWMgc3RydWN0dXJlLgogKiBSZXR1cm4gdmFsdWU6CiAqICB2b2lkCiAq IERlc2NyaXB0aW9uOgogKiAgVGhlIGZ1bmN0aW9uIHdpbGwgcmVtb3ZlIHRoZSBNQUMgZnJvbSBs b29wIGJhY2sgbW9kZSBhbmQgYWxzbyByZW1vdmVzIHRoZQogKiAgcHJpdmF0ZSBwcm90b2NvbCBm dW5jdGlvbiBhZGRlZCBpbnRvIHRoZSBrZXJuZWwgdG8gaGFuZGxlIHNwZWNpYWwgbG9vcCAKICog IGJhY2sgZnJhbWVzIHNlbnQgb3V0IHdoaWxlIHRlc3RpbmcuCiAqLwp2b2lkIHJlc2V0X2xvb3Bi YWNrKG5pY190ICpzcCkKewoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29u ZmlnX3QgKilzcC0+YmFyMDsKCXU2NCB2YWw2NDsKCXZvaWQgKmFkZDsKCgkvKiBSZS1zZXR0aW5n IExvb3AgY291bnRlciB0byAwLiAqLwoJc3AtPmxvb3BfcGt0X2NudCA9IDA7CgoJLyogUmVtb3Zp bmcgZGV2aWNlIGZyb20gTUFDIExvb3BiYWNrICovCgl2YWw2NCAgPSByZWFkNjQoJmJhcjAtPm1h Y19jZmcpOwoJdmFsNjQgJj0gfk1BQ19DRkdfVE1BQ19MT09QQkFDSzsKCWFkZCA9ICh2b2lkICop JmJhcjAtPm1hY19jZmc7Cgl3cml0ZTY0KCZiYXIwLT5ybWFjX2NmZ19rZXksIFJNQUNfQ0ZHX0tF WSgweDRDMEQpKTsKCXdyaXRlbCgodTMyKSh2YWw2NCksIGFkZCk7Cgl3cml0ZTY0KCZiYXIwLT5y bWFjX2NmZ19rZXksIFJNQUNfQ0ZHX0tFWSgweDRDMEQpKTsKCXdyaXRlbCgodTMyKSh2YWw2NCA+ PjMyKSwgKGFkZCs0KSk7Cgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWFjX2NmZyk7CgkKCWRldl9y ZW1vdmVfcGFjaygmZXRodG9vbF90ZXN0KTsKfQoJCi8qCiAqIElucHV0IEFyZ3VtZW50L3M6IAog KiAgc3AgLSBwcml2YXRlIG1lbWJlciBvZiB0aGUgZGV2aWNlIHN0cnVjdHVyZSwgd2hpY2ggaXMg YSBwb2ludGVyIHRvIHRoZSAKICogICAJczJpb19uaWMgc3RydWN0dXJlLgogKiAgZGF0YSAtIHZh cmlhYmxlIHRoYXQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGVhY2ggb2YgdGhlIHRlc3QgY29uZHVj dGVkIGJ5IAogKiAgCXRoZSBkcml2ZXIuCiAqIFJldHVybiB2YWx1ZToKICogICcwJyBvbiBzdWNj ZXNzIG9yIC0xIG9uIGZhaWx1cmUuCiAqIERlc2NyaXB0aW9uOgogKiAgVGhlIGZ1bmN0aW9uIHB1 dHMgdGhlIGRldmljZSBpbiBNQUMgbG9vcGJhY2sgbW9kZSBhbmQgCiAqICBzZW5kcyAzIHRlc3Qg ZnJhbWVzIHdoaWNoIG11c3QgYmUgcmVjZWl2ZWQgd2l0aGluIDMgc2Vjb25kcyBmb3IgdGhlCiAq ICB0ZXN0IHRvIGJlIGRlZW1lZCBzdWNjZXNzZnVsLgogKi8Kc3RhdGljIGludCBzMmlvX2xvb3Bi YWNrVGVzdChuaWNfdCAqc3AsIHVpbnQ2NF90ICpkYXRhKQp7CglzZXR1cF9sb29wYmFjayhzcCk7 CglpZihzZW5kX3Rlc3RGcm1zKHNwKSkgewoJCURCR19QUklOVChFUlJfREJHLCJPdXQgb2YgbWVt b3J5LCBjYW50IGFsbG9jYXRlIGxvb3AgIik7CgkJREJHX1BSSU5UKEVSUl9EQkcsImJhY2sgZnJh bWVzXG4iKTsKCQkqZGF0YSA9IDE7CgkJcmV0dXJuIC0xOwoJfQoKCXNldF9jdXJyZW50X3N0YXRl KFRBU0tfSU5URVJSVVBUSUJMRSk7CglzY2hlZHVsZV90aW1lb3V0KEhaICogRVRIX0xPT1BfVEVT VF9ERUxBWSk7CgoJKmRhdGEgPSB2ZXJpZnlfdGVzdEZybXMoc3ApOwoJcmVzZXRfbG9vcGJhY2so c3ApOwkKCXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNwIC0gcHJp dmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0 byB0aGUgCiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogIGRhdGEgLSB2YXJpYWJsZSB0aGF0 IHJldHVybnMgdGhlIHJlc3VsdCBvZiBlYWNoIG9mIHRoZSB0ZXN0IGNvbmR1Y3RlZCBieSAKICog IAl0aGUgZHJpdmVyLgogKiBSZXR1cm4gdmFsdWU6CiAqICAnMCcgb24gc3VjY2Vzcy4KICogRGVz Y3JpcHRpb246CiAqICBUaGlzIGlzIG9uZSBvZiB0aGUgb2ZmbGluZSB0ZXN0IHRoYXQgdGVzdHMg dGhlIHJlYWQgYW5kIHdyaXRlIAogKiAgYWNjZXNzIHRvIHRoZSBSbGRSYW0gY2hpcCBvbiB0aGUg TklDLgogKi8Kc3RhdGljIGludCBzMmlvX3JsZHJhbVRlc3QobmljX3QgKnNwLCB1aW50NjRfdCAq ZGF0YSkKewoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29uZmlnX3QgKilz cC0+YmFyMDsKCXU2NCB2YWw2NDsKCWludCBjbnQsIGl0ZXJhdGlvbiA9IDAsIHRlc3RfcGFzcyA9 IDA7CgoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPmFkYXB0ZXJfY29udHJvbCk7Cgl2YWw2NCAmPSB+ QURBUFRFUl9FQ0NfRU47Cgl3cml0ZTY0KCZiYXIwLT5hZGFwdGVyX2NvbnRyb2wsIHZhbDY0KTsK CQoJdmFsNjQgPSByZWFkNjQoJmJhcjAtPm1jX3JsZHJhbV90ZXN0X2N0cmwpOwoJdmFsNjQgfD0g TUNfUkxEUkFNX1RFU1RfTU9ERTsKCXdyaXRlNjQoJmJhcjAtPm1jX3JsZHJhbV90ZXN0X2N0cmws IHZhbDY0KTsKCgl2YWw2NCA9IHJlYWQ2NCgmYmFyMC0+bWNfcmxkcmFtX21ycyk7Cgl2YWw2NCB8 PSBNQ19STERSQU1fUVVFVUVfU0laRV9FTkFCTEU7Cgl3cml0ZTY0KCZiYXIwLT5tY19ybGRyYW1f bXJzLCB2YWw2NCk7CgoJdmFsNjQgfD0gTUNfUkxEUkFNX01SU19FTkFCTEU7Cgl3cml0ZTY0KCZi YXIwLT5tY19ybGRyYW1fbXJzLCB2YWw2NCk7CgkKCXdoaWxlKGl0ZXJhdGlvbiA8IDIpIHsKCQl2 YWw2NCA9IDB4NTU1NTU1NTVhYWFhMDAwMDsKCQlpZiAoaXRlcmF0aW9uID09IDEpIHsKCQkJdmFs NjQgXj0gMHhGRkZGRkZGRkZGRkYwMDAwOwoJCX0KCQl3cml0ZTY0KCZiYXIwLT5tY19ybGRyYW1f dGVzdF9kMCwgdmFsNjQpOwogICAgICAgCgkJdmFsNjQgPSAweGFhYWE1YTU1NTU1NTAwMDA7CgkJ aWYgKGl0ZXJhdGlvbiA9PSAxKSB7dmFsNjQgXj0gMHhGRkZGRkZGRkZGRkYwMDAwO30KCQl3cml0 ZTY0KCZiYXIwLT5tY19ybGRyYW1fdGVzdF9kMSwgdmFsNjQpOwogICAgICAgIAoJCXZhbDY0ID0g MHg1NWFhYWFhYWFhNWEwMDAwOwoJCWlmIChpdGVyYXRpb24gPT0gMSkge3ZhbDY0IF49IDB4RkZG RkZGRkZGRkZGMDAwMDt9CgkJd3JpdGU2NCgmYmFyMC0+bWNfcmxkcmFtX3Rlc3RfZDIsIHZhbDY0 KTsKICAgICAgICAKCQl2YWw2NCA9ICh1NjQpKDB4MDAwMDAwM2ZmZmZmMDAwMCk7ICAgCgkJd3Jp dGU2NCgmYmFyMC0+bWNfcmxkcmFtX3Rlc3RfYWRkLCB2YWw2NCk7CiAgICAgICAgCgoJCXZhbDY0 ID0gTUNfUkxEUkFNX1RFU1RfTU9ERTsKCQl3cml0ZTY0KCZiYXIwLT5tY19ybGRyYW1fdGVzdF9j dHJsLCB2YWw2NCk7CiAgICAgICAgCgkJdmFsNjQgfD0gTUNfUkxEUkFNX1RFU1RfTU9ERSB8IE1D X1JMRFJBTV9URVNUX1dSSVRFIHwgTUNfUkxEUkFNX1RFU1RfR087CgkJd3JpdGU2NCgmYmFyMC0+ bWNfcmxkcmFtX3Rlc3RfY3RybCwgdmFsNjQpOwogICAgICAgICAgICAgIAoJCWZvcihjbnQ9MDtj bnQ8NTtjbnQrKyl7CgkJCXZhbDY0ID0gcmVhZDY0KCZiYXIwLT5tY19ybGRyYW1fdGVzdF9jdHJs KTsKCQkJaWYodmFsNjQgJiBNQ19STERSQU1fVEVTVF9ET05FKQogICAgICAgICAgICAJYnJlYWs7 CiAgICAgICAJCW1kZWxheSgyMDApOwoJCX0KCgkJaWYoY250ID09IDUpCgkJCWJyZWFrOwoKCQl2 YWw2NCA9IE1DX1JMRFJBTV9URVNUX01PREU7CgkJd3JpdGU2NCgmYmFyMC0+bWNfcmxkcmFtX3Rl c3RfY3RybCwgdmFsNjQpOwogICAgICAgCgkJdmFsNjQgfD0gTUNfUkxEUkFNX1RFU1RfTU9ERSB8 IE1DX1JMRFJBTV9URVNUX0dPOwoJCXdyaXRlNjQoJmJhcjAtPm1jX3JsZHJhbV90ZXN0X2N0cmws IHZhbDY0KTsKCgkJbWRlbGF5KDUwMCk7CgkJZm9yKGNudD0wO2NudDw1O2NudCsrKXsKCQkJdmFs NjQgPSByZWFkNjQoJmJhcjAtPm1jX3JsZHJhbV90ZXN0X2N0cmwpOwoJCQlpZih2YWw2NCAmIE1D X1JMRFJBTV9URVNUX0RPTkUpCiAgICAgICAgICAgIAlicmVhazsKICAgICAgIAkJbWRlbGF5KDIw MCk7CgkJfQogICAgICAgCgkJaWYoY250ID09IDUpCgkJCWJyZWFrOwoKCQl2YWw2NCA9IHJlYWQ2 NCgmYmFyMC0+bWNfcmxkcmFtX3Rlc3RfY3RybCk7CSAgIAoJCWlmKHZhbDY0ICYgTUNfUkxEUkFN X1RFU1RfUEFTUykKICAgICAgICAJdGVzdF9wYXNzID0gMTsKICAgICAgIAoJCWl0ZXJhdGlvbisr OwoJfQkKCglpZighdGVzdF9wYXNzKQoJCSpkYXRhID0gMTsKCWVsc2UKCQkqZGF0YSA9IDA7CgkK CXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIHNwIC0gcHJpdmF0ZSBt ZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUg CiAqICAgCXMyaW9fbmljIHN0cnVjdHVyZS4KICogIGV0aHRlc3QgLSBwb2ludGVyIHRvIGEgZXRo dG9vbCBjb21tYW5kIHNwZWNpZmljIHN0cnVjdHVyZSB0aGF0IHdpbGwgYmUKICogIAlyZXR1cm5l ZCB0byB0aGUgdXNlci4KICogIGRhdGEgLSB2YXJpYWJsZSB0aGF0IHJldHVybnMgdGhlIHJlc3Vs dCBvZiBlYWNoIG9mIHRoZSB0ZXN0IGNvbmR1Y3RlZCBieSAKICogIAl0aGUgZHJpdmVyLgogKiBS ZXR1cm4gdmFsdWU6CiAqICBTVUNDRVNTIG9uIHN1Y2Nlc3MgYW5kIGFuIGFwcHJvcHJpYXRlIC0x IG9uIGZhaWx1cmUuCiAqIERlc2NyaXB0aW9uOgogKiAgVGhpcyBmdW5jdGlvbiBjb25kdWN0cyA2 IHRlc3RzICggNCBvZmZsaW5lIGFuZCAyIG9ubGluZSkgdG8gZGV0ZXJtaW5lCiAqICAJdGhlIGhl YWx0aCBvZiB0aGUgY2FyZC4KICovCnN0YXRpYyBpbnQgczJpb19ldGh0b29sX3Rlc3QobmljX3Qg KnNwLCBzdHJ1Y3QgZXRodG9vbF90ZXN0ICpldGh0ZXN0LCAKCQl1aW50NjRfdCAqZGF0YSkKewoJ aW50IG9yaWdfc3RhdGUgPSBuZXRpZl9ydW5uaW5nKHNwLT5kZXYpOwoKCWlmKGV0aHRlc3QtPmZs YWdzID09IEVUSF9URVNUX0ZMX09GRkxJTkUpIHsKCS8qIE9mZmxpbmUgVGVzdHMuICovCgkJaWYo b3JpZ19zdGF0ZSkgewoJCQlzMmlvX2Nsb3NlKHNwLT5kZXYpOwoJCQlzMmlvX3NldF9zd2FwcGVy KHNwKTsKCQl9CgkJZWxzZSAKCQkJczJpb19zZXRfc3dhcHBlcihzcCk7CgoJCWlmKHMyaW9fcmVn aXN0ZXJUZXN0KHNwLCAmZGF0YVswXSkpCgkJCWV0aHRlc3QtPmZsYWdzIHw9IEVUSF9URVNUX0ZM X0ZBSUxFRDsKCQkKCQlzMmlvX3Jlc2V0KHNwKTsKCQlzMmlvX3NldF9zd2FwcGVyKHNwKTsKCQoJ CWlmKHMyaW9fcmxkcmFtVGVzdChzcCwgJmRhdGFbNF0pKQoJCQlldGh0ZXN0LT5mbGFncyB8PSBF VEhfVEVTVF9GTF9GQUlMRUQ7CgoJCXMyaW9fcmVzZXQoc3ApOwoJCXMyaW9fc2V0X3N3YXBwZXIo c3ApOwoJCgkJaWYoczJpb19lZXByb21UZXN0KHNwLCAmZGF0YVsxXSkpCgkJCWV0aHRlc3QtPmZs YWdzIHw9IEVUSF9URVNUX0ZMX0ZBSUxFRDsKCgkJaWYoczJpb19iaXN0VGVzdChzcCwgJmRhdGFb NV0pKQoJCQlldGh0ZXN0LT5mbGFncyB8PSBFVEhfVEVTVF9GTF9GQUlMRUQ7CgoJCWlmKG9yaWdf c3RhdGUpCgkJCXMyaW9fb3BlbihzcC0+ZGV2KTsKCgkJZGF0YVsyXSA9IDA7CgkJZGF0YVszXSA9 IDA7Cgl9CgllbHNlIHsKCS8qIE9ubGluZSBUZXN0cy4gKi8KCQlpZighb3JpZ19zdGF0ZSkKCQkJ cmV0dXJuIC0xOwoJCQoJCWlmKHMyaW9fbGlua1Rlc3Qoc3AsICZkYXRhWzNdKSkKCQkJZXRodGVz dC0+ZmxhZ3MgfD0gRVRIX1RFU1RfRkxfRkFJTEVEOwoKCQlpZihzMmlvX2xvb3BiYWNrVGVzdChz cCwgJmRhdGFbMl0pKQoJCQlldGh0ZXN0LT5mbGFncyB8PSBFVEhfVEVTVF9GTF9GQUlMRUQ7CgkJ CgkJZGF0YVswXSA9IDA7CgkJZGF0YVsxXSA9IDA7CgkJZGF0YVs0XSA9IDA7CgkJZGF0YVs1XSA9 IDA7Cgl9CgkKCXJldHVybiAwOwp9CgovKgogKiBJbnB1dCBBcmd1bWVudC9zOiAKICogIGRldiAt IGRldmljZSBwb2ludGVyLgogKiAgaWZyIC0gICBBbiBJT0NUTCBzcGVjZWZpYyBzdHJ1Y3R1cmUs IHRoYXQgY2FuIGNvbnRhaW4gYSBwb2ludGVyIHRvCiAqICAgICAgYSBwcm9wcmlldGFyeSBzdHJ1 Y3R1cmUgdXNlZCB0byBwYXNzIGluZm9ybWF0aW9uIHRvIHRoZSBkcml2ZXIuCiAqIFJldHVybiB2 YWx1ZToKICogIFNVQ0NFU1Mgb24gc3VjY2VzcyBhbmQgYW4gYXBwcm9wcmlhdGUgKC0pdmUgaW50 ZWdlciBhcyBkZWZpbmVkIGluIGVycm5vLmgKICogIGZpbGUgb24gZmFpbHVyZS4KICogRGVzY3Jp cHRpb246CiAqICBGdW5jdGlvbiB1c2VkIHRvIHN1cHBvcnQgYWxsIGV0aHRvb2wgZmF0dXJlcyBl eGNlcHQgZHVtcGluZyBEZXZpY2Ugc3RhdHMKICogIGFzIGl0IGNhbiBiZSBvYnRhaW5lZCBmcm9t IHRoZSB1dGlsIHRvb2wgZm9yIG5vdy4KICovCnN0YXRpYyBpbnQgczJpb19ldGh0b29sKHN0cnVj dCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpZnJlcSAqcnEpCnsKCW5pY190ICpzcCA9IChuaWNf dCAqKWRldi0+cHJpdjsKCXZvaWQgKmRhdGEgPSBycS0+aWZyX2RhdGE7Cgl1MzIgZWNtZDsKCQoJ aWYoZ2V0X3VzZXIoZWNtZCwgKHUzMiAqKWRhdGEpKSB7CgkJcmV0dXJuIC1FRkFVTFQ7Cgl9CgoJ c3dpdGNoKGVjbWQpIHsKCQljYXNlIEVUSFRPT0xfR1NFVDogCgkJewoJCQlzdHJ1Y3QgZXRodG9v bF9jbWQgaW5mbyA9IHsgRVRIVE9PTF9HU0VUIH07CgkJCXMyaW9fZXRodG9vbF9nc2V0KHNwLCAm aW5mbyk7CgkJCWlmKGNvcHlfdG9fdXNlcihkYXRhLCAmaW5mbywgc2l6ZW9mKGluZm8pKSkKCQkJ CXJldHVybiAtRUZBVUxUOwoJCQlicmVhazsKCQl9CgkJY2FzZSBFVEhUT09MX1NTRVQ6CgkJewoJ CQlzdHJ1Y3QgZXRodG9vbF9jbWQgaW5mbzsKCQkJCgkJCWlmKGNvcHlfZnJvbV91c2VyKCZpbmZv LCBkYXRhLCBzaXplb2YoaW5mbykpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCWlmKHMyaW9fZXRo dG9vbF9zc2V0KHNwLCAmaW5mbykpCgkJCQlyZXR1cm4gLUVGQVVMVDsKCQkJYnJlYWs7CgkJfQoJ CWNhc2UgRVRIVE9PTF9HRFJWSU5GTzoKCQl7CgkJCXN0cnVjdCBldGh0b29sX2RydmluZm8gaW5m byA9IHsgRVRIVE9PTF9HRFJWSU5GTyB9OwoJCgkJCXMyaW9fZXRodG9vbF9nZHJ2aW5mbyhzcCwg JmluZm8pOwoJCQlpZihjb3B5X3RvX3VzZXIoZGF0YSwgJmluZm8sIHNpemVvZihpbmZvKSkpCgkJ CQlyZXR1cm4gLUVGQVVMVDsKCQkJYnJlYWs7CgkJfQoJCSNpZiBkZWZpbmVkKEVUSFRPT0xfR1JF R1MpICYmIGRlZmluZWQoRVRIVE9PTF9HRUVQUk9NKQoJCWNhc2UgRVRIVE9PTF9HUkVHUzoKCQl7 CgkJCXN0cnVjdCBldGh0b29sX3JlZ3MgcmVncyA9IHsgRVRIVE9PTF9HUkVHUyB9OwoJCQl1OCAq cmVnX3NwYWNlOwoJCQlyZWdzLnZlcnNpb24gPSBzcC0+cGRldi0+c3Vic3lzdGVtX2RldmljZTsK CQkJCQoJCQlyZWdfc3BhY2UgPSBrbWFsbG9jKFhFTkFfUkVHX1NQQUNFLCBHRlBfS0VSTkVMKTsK CQkJaWYocmVnX3NwYWNlID09IE5VTEwpIHsKCQkJCURCR19QUklOVChFUlJfREJHLCJNZW1vcnkg YWxsb2NhdGlvbiB0byBkdW1wICIpOwoJCQkJREJHX1BSSU5UKEVSUl9EQkcsInJlZ2lzdGVycyBm YWlsZWRcbiIpOwoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCX0KCQkJbWVtc2V0KHJlZ19zcGFjZSwg MCwgWEVOQV9SRUdfU1BBQ0UpOwoJCQlzMmlvX2V0aHRvb2xfZ3JlZ3Moc3AsICZyZWdzLCByZWdf c3BhY2UpOwoJCQlpZihjb3B5X3RvX3VzZXIoZGF0YSwgJnJlZ3MsIHNpemVvZihyZWdzKSkpIHsK CQkJCXJldHVybiAtRUZBVUxUOwoJCQl9CgkJCWRhdGEgKz0gb2Zmc2V0b2Yoc3RydWN0IGV0aHRv b2xfcmVncywgZGF0YSk7CgkJCWlmKGNvcHlfdG9fdXNlcihkYXRhLCByZWdfc3BhY2UsIHJlZ3Mu bGVuKSkgewoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCX0KCQkJLyogRnJlZSB1cCB0aGUga2VybmVs IG1lbW9yeSAqLwoJCQlrZnJlZShyZWdfc3BhY2UpOwoJCQlicmVhazsKCQl9CgkJI2VuZGlmIC8q IEVUSFRPT0xfR1JFR1MuICovCgkJY2FzZSBFVEhUT09MX05XQVlfUlNUOgoJCXsKCQkJREJHX1BS SU5UKElORk9fREJHLCAiQ2FyZCByZXNldCB0aHJvdWdoIEV0aFRvb2xcbiIpOwoJCQlpZihuZXRp Zl9ydW5uaW5nKGRldikpIHsKCQkJCXMyaW9fY2xvc2UoZGV2KTsJCgkJCQlzMmlvX29wZW4oZGV2 KTsKCQkJfQoJCQllbHNlIHsKCQkJCXMyaW9fcmVzZXQoc3ApOwoJCQkJczJpb19zZXRfc3dhcHBl cihzcCk7CgkJCX0JCgkJCWJyZWFrOwoJCX0KCQljYXNlIEVUSFRPT0xfR0xJTks6CgkJewoJCQlz dHJ1Y3QgZXRodG9vbF92YWx1ZSBsaW5rID0geyBFVEhUT09MX0dMSU5LIH07CgoJCQlsaW5rLmRh dGEgPSBuZXRpZl9jYXJyaWVyX29rKGRldik7CgkJCWlmKGNvcHlfdG9fdXNlcihkYXRhLCAmbGlu aywgc2l6ZW9mKGxpbmspKSkKCQkJCXJldHVybiAtRUZBVUxUOwoJCQlicmVhazsKCQl9CgkJI2lm ZGVmIEVUSFRPT0xfUEhZU19JRAoJCWNhc2UgRVRIVE9PTF9QSFlTX0lEOgoJCXsJCgkJCXN0cnVj dCBldGh0b29sX3ZhbHVlIGlkOwoJCgkJCWlmKGNvcHlfZnJvbV91c2VyKCZpZCwgZGF0YSwgc2l6 ZW9mKGlkKSkpCgkJCQlyZXR1cm4gLUVGQVVMVDsKCQkJczJpb19ldGh0b29sX2lkbmljKHNwLCAm aWQpOwoJCQlicmVhazsKCQl9CgkJI2VuZGlmIC8qIEVUSFRPT0xfUEhZU19JRCAqLwoJCWNhc2Ug RVRIVE9PTF9HUEFVU0VQQVJBTToKCQl7CgkJCXN0cnVjdCBldGh0b29sX3BhdXNlcGFyYW0gZXAg PSB7IEVUSFRPT0xfR1BBVVNFUEFSQU0gfTsKCgkJCXMyaW9fZXRodG9vbF9nZXRwYXVzZV9kYXRh KHNwLCAmZXApOwkKCQkJaWYoY29weV90b191c2VyKGRhdGEsICZlcCwgc2l6ZW9mKGVwKSkpIAoJ CQkJcmV0dXJuIC1FRkFVTFQ7CgkJCWJyZWFrOwoJCQkKCQl9CgkJY2FzZSBFVEhUT09MX1NQQVVT RVBBUkFNOgoJCXsKCQkJc3RydWN0IGV0aHRvb2xfcGF1c2VwYXJhbSBlcDsKCgkJCWlmKGNvcHlf ZnJvbV91c2VyKCZlcCwgZGF0YSwgc2l6ZW9mKGVwKSkpCgkJCQlyZXR1cm4gLUVGQVVMVDsKCQkJ czJpb19ldGh0b29sX3NldHBhdXNlX2RhdGEoc3AsICZlcCk7CgkJCWJyZWFrOwoJCX0KCQljYXNl IEVUSFRPT0xfR1JYQ1NVTToKCQl7CgkJCXN0cnVjdCBldGh0b29sX3ZhbHVlIGV2ID0geyBFVEhU T09MX0dSWENTVU0gfTsKCQkJZXYuZGF0YSA9IChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9IV19D U1VNKTsKCgkJCWlmKGNvcHlfdG9fdXNlcihkYXRhLCAmZXYsIHNpemVvZihldikpKSAKCQkJCXJl dHVybiAtRUZBVUxUOwoJCQlicmVhazsKCQl9CgkJY2FzZSBFVEhUT09MX0dUWENTVU06CgkJewoJ CQlzdHJ1Y3QgZXRodG9vbF92YWx1ZSBldiA9IHsgRVRIVE9PTF9HVFhDU1VNIH07CgkJCWV2LmRh dGEgPSAoZGV2LT5mZWF0dXJlcyAmIE5FVElGX0ZfSFdfQ1NVTSk7CgoJCQlpZihjb3B5X3RvX3Vz ZXIoZGF0YSwgJmV2LCBzaXplb2YoZXYpKSkgCgkJCQlyZXR1cm4gLUVGQVVMVDsKCQkJYnJlYWs7 CgkJfQoJCWNhc2UgRVRIVE9PTF9HU0c6CgkJewoJCQlzdHJ1Y3QgZXRodG9vbF92YWx1ZSBldiA9 IHsgRVRIVE9PTF9HU0cgfTsKCQkJZXYuZGF0YSA9IChkZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9T Ryk7CgoJCQlpZihjb3B5X3RvX3VzZXIoZGF0YSwgJmV2LCBzaXplb2YoZXYpKSkgCgkJCQlyZXR1 cm4gLUVGQVVMVDsKCQkJYnJlYWs7CgkJfQoJCSNpZmRlZiBORVRJRl9GX1RTTwoJCWNhc2UgRVRI VE9PTF9HVFNPOgoJCXsKCQkJc3RydWN0IGV0aHRvb2xfdmFsdWUgZXYgPSB7IEVUSFRPT0xfR1RT TyB9OwoJCQlldi5kYXRhID0gKGRldi0+ZmVhdHVyZXMgJiBORVRJRl9GX1RTTyk7CgoJCQlpZihj b3B5X3RvX3VzZXIoZGF0YSwgJmV2LCBzaXplb2YoZXYpKSkgCgkJCQlyZXR1cm4gLUVGQVVMVDsK CQkJYnJlYWs7CgkJfQoJCSNlbmRpZgoJCWNhc2UgRVRIVE9PTF9TUlhDU1VNOgoJCWNhc2UgRVRI VE9PTF9TVFhDU1VNOgoJCXsKCQkJc3RydWN0IGV0aHRvb2xfdmFsdWUgZXY7CgoJCQlpZihjb3B5 X2Zyb21fdXNlcigmZXYsIGRhdGEsIHNpemVvZihldikpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgoJ CQlpZihldi5kYXRhKQoJCQkJZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX0hXX0NTVU07CgkJCWVs c2UKCQkJCWRldi0+ZmVhdHVyZXMgJj0gfk5FVElGX0ZfSFdfQ1NVTTsKCQkJYnJlYWs7CgkJfQoJ CWNhc2UgRVRIVE9PTF9TU0c6CgkJewoJCQlzdHJ1Y3QgZXRodG9vbF92YWx1ZSBldjsKCgkJCWlm KGNvcHlfZnJvbV91c2VyKCZldiwgZGF0YSwgc2l6ZW9mKGV2KSkpCgkJCQlyZXR1cm4gLUVGQVVM VDsKCgkJCWlmKGV2LmRhdGEpCgkJCQlkZXYtPmZlYXR1cmVzIHw9IE5FVElGX0ZfU0c7CgkJCWVs c2UKCQkJCWRldi0+ZmVhdHVyZXMgJj0gfk5FVElGX0ZfU0c7CgkJCWJyZWFrOwoJCX0KCQkjaWZk ZWYgTkVUSUZfRl9UU08KCQljYXNlIEVUSFRPT0xfU1RTTzoKCQl7CgkJCXN0cnVjdCBldGh0b29s X3ZhbHVlIGV2OwoKCQkJaWYoY29weV9mcm9tX3VzZXIoJmV2LCBkYXRhLCBzaXplb2YoZXYpKSkK CQkJCXJldHVybiAtRUZBVUxUOwoKCQkJaWYoZXYuZGF0YSkKCQkJCWRldi0+ZmVhdHVyZXMgfD0g TkVUSUZfRl9UU087CgkJCWVsc2UKCQkJCWRldi0+ZmVhdHVyZXMgJj0gfk5FVElGX0ZfVFNPOwoJ CQlicmVhazsKCQl9CgkJI2VuZGlmCgkJY2FzZSBFVEhUT09MX0dFRVBST006CgkJewoJCQlzdHJ1 Y3QgZXRodG9vbF9lZXByb20gZWVwcm9tID0geyBFVEhUT09MX0dFRVBST00gfTsKCQkJY2hhciAq ZGF0YV9idWY7CgkJCWludCByZXQgPSAwOwoJCQkKCQkJaWYoY29weV9mcm9tX3VzZXIoJmVlcHJv bSwgZGF0YSwgc2l6ZW9mKGVlcHJvbSkpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCQoJCQlpZihl ZXByb20ubGVuIDw9IDApCgkJCQlyZXR1cm4gLUVJTlZBTDsKCgkJCWlmKCEoZGF0YV9idWYgPSBr bWFsbG9jKFhFTkFfRUVQUk9NX1NQQUNFLCBHRlBfS0VSTkVMKSkpCgkJCQlyZXR1cm4gLUVOT01F TTsKCQkJczJpb19ldGh0b29sX2dlZXByb20oc3AsICZlZXByb20sIGRhdGFfYnVmKTsKCQkJCgkJ CWlmKGNvcHlfdG9fdXNlcihkYXRhLCAmZWVwcm9tLCBzaXplb2YoZWVwcm9tKSkpCgkJCQlyZXQg PSAtRUZBVUxUOwoJCQkKCQkJZGF0YSArPSBvZmZzZXRvZihzdHJ1Y3QgZXRodG9vbF9lZXByb20s IGRhdGEpOwoJCQkJCQoJCQlpZihjb3B5X3RvX3VzZXIoZGF0YSwgKHZvaWQgKilkYXRhX2J1Ziwg ZWVwcm9tLmxlbikpCgkJCQlyZXQgPSAtRUZBVUxUOwoJCQkKCQkJa2ZyZWUoZGF0YV9idWYpOwoJ CQlpZihyZXQpCgkJCQlyZXR1cm4gcmV0OwoJCQlicmVhazsKCQl9CgkJY2FzZSBFVEhUT09MX1NF RVBST006CgkJewoJCQlzdHJ1Y3QgZXRodG9vbF9lZXByb20gZWVwcm9tOwoJCQl1bnNpZ25lZCBj aGFyICpkYXRhX2J1ZjsKCQkJdm9pZCAqcHRyOwoJCQlpbnQgcmV0ID0gMDsKCgkJCWlmKGNvcHlf ZnJvbV91c2VyKCZlZXByb20sIGRhdGEsIHNpemVvZihlZXByb20pKSkKCQkJCXJldHVybiAtRUZB VUxUOwoJCQkKCQkJaWYoIShkYXRhX2J1ZiA9IGttYWxsb2MoZWVwcm9tLmxlbiwgR0ZQX0tFUk5F TCkpKQoJCQkJcmV0dXJuIC1FTk9NRU07CgkJCXB0ciA9ICh2b2lkICopZGF0YV9idWY7CgoJCQlk YXRhICs9IG9mZnNldG9mKHN0cnVjdCBldGh0b29sX2VlcHJvbSwgZGF0YSk7CgkJCWlmKGNvcHlf ZnJvbV91c2VyKHB0ciwgZGF0YSwgZWVwcm9tLmxlbikpCgkJCQlyZXR1cm4gLUVGQVVMVDsKCQkJ CgkJCWlmKHMyaW9fZXRodG9vbF9zZWVwcm9tKHNwLCAmZWVwcm9tLCBkYXRhX2J1ZikpCgkJCQly ZXQgPSAtRUZBVUxUOwoKCQkJa2ZyZWUoZGF0YV9idWYpOwoJCQlpZihyZXQpCgkJCQlyZXR1cm4g cmV0OwoJCQlicmVhazsKCQl9CgkJY2FzZSBFVEhUT09MX0dTVFJJTkdTOgoJCXsKCQkJc3RydWN0 IGV0aHRvb2xfZ3N0cmluZ3MgZ3N0cmluZ3MgPSB7IEVUSFRPT0xfR1NUUklOR1MgfTsKCQkJY2hh ciAqc3RyaW5ncyA9IE5VTEw7CgkJCWludCByZXQgPSAwOwoKCQkJaWYoY29weV9mcm9tX3VzZXIo JmdzdHJpbmdzLCBkYXRhLCBzaXplb2YoZ3N0cmluZ3MpKSkKCQkJCXJldHVybiAtRUZBVUxUOwoJ CgkJCXN3aXRjaChnc3RyaW5ncy5zdHJpbmdfc2V0KSB7CgkJCQljYXNlIEVUSF9TU19URVNUOgoJ CQkJCWdzdHJpbmdzLmxlbiA9IFMySU9fVEVTVF9MRU47CgkJCQkJc3RyaW5ncyA9IGttYWxsb2Mo UzJJT19TVFJJTkdTX0xFTiwgCgkJCQkJCQlHRlBfS0VSTkVMKTsKCQkJCQlpZighc3RyaW5ncykK CQkJCQkJcmV0dXJuIC1FTk9NRU07CgkJCQkJbWVtY3B5KHN0cmluZ3MsIHMyaW9fZ3N0cmluZ3Ms IAoJCQkJCQkJUzJJT19TVFJJTkdTX0xFTik7CgkJCQkJYnJlYWs7CgkJCQlkZWZhdWx0OgoJCQkJ CXJldHVybiAtRU9QTk9UU1VQUDsKCQkJfQoJCQkKCQkJaWYoY29weV90b191c2VyKGRhdGEsICZn c3RyaW5ncywgc2l6ZW9mKGdzdHJpbmdzKSkpCgkJCQlyZXQgPSAtRUZBVUxUOwoJCQlpZighcmV0 KSB7CgkJCQlkYXRhICs9IG9mZnNldG9mKHN0cnVjdCBldGh0b29sX2dzdHJpbmdzLCBkYXRhKTsK CQkJCWlmKGNvcHlfdG9fdXNlcihkYXRhLHN0cmluZ3MsUzJJT19TVFJJTkdTX0xFTikpCgkJCQkJ cmV0ID0gLUVGQVVMVDsKCQkJfQoJCQlrZnJlZShzdHJpbmdzKTsKCgkJCWlmKHJldCkKCQkJCXJl dHVybiByZXQ7CgkJCWJyZWFrOwoJCX0KCQljYXNlIEVUSFRPT0xfVEVTVDoKCQl7CgkJCXN0cnVj dCB7CgkJCQlzdHJ1Y3QgZXRodG9vbF90ZXN0IGV0aHRlc3Q7CgkJCQl1aW50NjRfdCBkYXRhW1My SU9fVEVTVF9MRU5dOwoJCQl9IHRlc3QgPSB7IHtFVEhUT09MX1RFU1R9IH07CgkJCWludCBlcnI7 CgoJCQlpZihjb3B5X2Zyb21fdXNlcigmdGVzdC5ldGh0ZXN0LCBkYXRhLCAKCQkJCQkJc2l6ZW9m KHRlc3QuZXRodGVzdCkpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCQoJCQllcnIgPSBzMmlvX2V0 aHRvb2xfdGVzdChzcCwgJnRlc3QuZXRodGVzdCwgdGVzdC5kYXRhKTsKCgkJCWlmKGVycikgewoJ CQkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOkZvciBPbmxpbmUiLGRldi0+bmFtZSk7CgkJCQlEQkdf UFJJTlQoRVJSX0RCRywiIHRlc3RzLCB0aGUgSW50ZXJmYWNlIG11c3QiKTsKCQkJCURCR19QUklO VChFUlJfREJHLCIgYmUgVXBcbiIpOwoJCQkJcmV0dXJuIC1FRkFVTFQ7CgkJCX0KCQkJaWYoY29w eV90b191c2VyKGRhdGEsICZ0ZXN0LCBzaXplb2YodGVzdCkpKQoJCQkJcmV0dXJuIC1FRkFVTFQ7 CgkJCQoJCQlicmVhazsKCQl9CgkJZGVmYXVsdDoKCQkJcmV0dXJuIC1FT1BOT1RTVVBQOwoJfQoK CXJldHVybiAwOwp9CiNlbmRpZiAvKiBDT05GSUdVUkVfRVRIVE9PTF9TVVBQT1JUICovCgovKgog KiAgSW5wdXQgQXJndW1lbnQvczogCiAqICBkZXYgLSAgIERldmljZSBwb2ludGVyLgogKiAgaWZy IC0gICBBbiBJT0NUTCBzcGVjZWZpYyBzdHJ1Y3R1cmUsIHRoYXQgY2FuIGNvbnRhaW4gYSBwb2lu dGVyIHRvCiAqICAgICAgYSBwcm9wcmlldGFyeSBzdHJ1Y3R1cmUgdXNlZCB0byBwYXNzIGluZm9y bWF0aW9uIHRvIHRoZSBkcml2ZXIuCiAqICBjbWQgLSAgIFRoaXMgaXMgdXNlZCB0byBkaXN0aW5n dWlzaCBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgY29tbWFuZHMgdGhhdAogKiAgICAgIGNhbiBiZSBw YXNzZWQgdG8gdGhlIElPQ1RMIGZ1bmN0aW9ucy4KICogIFJldHVybiB2YWx1ZToKICogIFNVQ0NF U1Mgb24gc3VjY2VzcyBhbmQgYW4gYXBwcm9wcmlhdGUgKC0pdmUgaW50ZWdlciBhcyBkZWZpbmVk IGluIGVycm5vLmgKICogIGZpbGUgb24gZmFpbHVyZS4KICogIERlc2NyaXB0aW9uOgogKiAgVGhp cyBmdW5jdGlvbiBoYXMgc3VwcG9ydCBmb3IgZXRodG9vbCwgYWRkaW5nIG11bHRpcGxlIE1BQyBh ZGRyZXNzZXMgb24gCiAqICB0aGUgTklDIGFuZCBzb21lIERCRyBjb21tYW5kcyBmb3IgdGhlIHV0 aWwgdG9vbC4KICovCmludCBzMmlvX2lvY3RsKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVj dCBpZnJlcSAqcnEsIGludCBjbWQpCnsKCXU4ICphZGRyOwoJaW50IGk7CglyZWdpc3RlciB1NjQg bWFjX2FkZHIgPSAwLCB2YWw2NCA9IDA7CglzdHJ1Y3QgczJpb19uaWMgKnNwID0gKHN0cnVjdCBz MmlvX25pYyAqKWRldi0+cHJpdjsKCVhFTkFfZGV2X2NvbmZpZ190ICpiYXIwID0gKFhFTkFfZGV2 X2NvbmZpZ190ICopc3AtPmJhcjA7CgovKiAKICogT25jZSBvdGhlciBlbGVtZW50cyB0aGF0IHdp bGwgYmUgdXNlZCB0byBjb25maXVyZSB0aGUgSC9XCiAqIHVzaW5nIHRoZSBJT0NUTCBhcmUgcHV0 IGluIHBsYWNlLCB0aGlzIHN0cnVjdHVyZSB3aWxsIGJlIG1vdmVkIAogKiB0byB0aGUgaGVhZGVy IGZpbGUuIFRPRE8KICovCgl0eXBlZGVmIHN0cnVjdCBpb2N0bF9jb25maWcgewoJCWludCBwb3M7 IC8qVGhlIHBvc2l0aW9uIHdoZXJlIHRoZSBNQUMgaXMgdG8gYmUgc3RvcmVkICovCgkJc3RydWN0 IHNvY2thZGRyICpzOyAvKiBzdHJ1Y3R1cmUgdGhhdCBzdG9yZXMgdGhlIE1BQyAqLwoJfWlvY3Rs X2NmZ190OwoKCXN3aXRjaCAoY21kKQoJewoJCSNpZmRlZiBDT05GSUdVUkVfRVRIVE9PTF9TVVBQ T1JUCgkJY2FzZSBTSU9DRVRIVE9PTDoKCQl7CgkJcmV0dXJuIHMyaW9fZXRodG9vbChkZXYsIHJx KTsKCQl9CgkJI2VuZGlmCgoJCS8qIAoJCSAqIFByaXZhdGUgSU9DVExzIHVzZWQgYnkgdGhlIHV0 aWwgdG9vbCwgZm9yIGRlYnVnCgkJICogcHVycG9zZXMuCgkJICovCgkJY2FzZSBTSU9DREVWUFJJ VkFURSsxOgoJCXsKCSAgICAgICAgaW9jdGxfY2ZnX3QgKmNmZyA9IChpb2N0bF9jZmdfdCAqKShy cS0+aWZyX2lmcnUuaWZydV9kYXRhKTsKCgkJYWRkciA9ICh1OCAqKSgmY2ZnLT5zLT5zYV9kYXRh KTsKCQlmb3IoaT0wO2k8RVRIX0FMRU47aSsrKSB7CgkJCW1hY19hZGRyIHw9IGFkZHJbaV07CgkJ CW1hY19hZGRyIDw8PSA4OwoJCX0KCQl2YWw2NCA9IFJNQUNfQUREUl9DTURfTUVNX1JEIHwgUk1B Q19BRERSX0NNRF9NRU1fU1RST0JFX05FV19DTUQKCQkJfCBSTUFDX0FERFJfQ01EX01FTV9PRkZT RVQKCQkJCShNQUNfTUNfQUREUl9TVEFSVF9PRkZTRVQrY2ZnLT5wb3MpOwoJCW1kZWxheSg1MDAp OwoJCW1hY19hZGRyID0gcmVhZDY0KCZiYXIwLT5ybWFjX2FkZHJfZGF0YTBfbWVtKTsKCgkJaWYo bWFjX2FkZHIgJiAweGZmKSB7CgkJCURCR19QUklOVChFUlJfREJHLCIlczogUG9zaXRpb24gJWQg YWxyZWFkeSBpbiB1c2VcbiIsCgkJCQlkZXYtPm5hbWUsY2ZnLT5wb3MpOwoJCQlyZXR1cm4gLUVJ TlZBTDsKCQl9CgkJd3JpdGU2NCgmYmFyMC0+cm1hY19hZGRyX2RhdGEwX21lbSwKCQkJCVJNQUNf QUREUl9EQVRBMF9NRU1fQUREUihtYWNfYWRkcikpOwoJCXZhbDY0ID0gUk1BQ19BRERSX0NNRF9N RU1fV0UgfCBSTUFDX0FERFJfQ01EX01FTV9TVFJPQkVfTkVXX0NNRCAKCQkJfFJNQUNfQUREUl9D TURfTUVNX09GRlNFVAoJCQkJKE1BQ19NQ19BRERSX1NUQVJUX09GRlNFVCtjZmctPnBvcyk7CgkJ bWRlbGF5KDUwMCk7CgkJYnJlYWs7CgkJfQoJCWNhc2UgU0lPQ0RFVlBSSVZBVEUrNDoKCQl7CgkJ aW9jdGxJbmZvX3QgKmlvID0gKGlvY3RsSW5mb190ICopcnEtPmlmcl9kYXRhOwoJCWlvLT5zaXpl ID0gc3AtPm1hY19jb250cm9sLnR4ZF9saXN0X21lbV9zejsKCQljb3B5X3RvX3VzZXIoaW8tPmJ1 ZmZlcixzcC0+bWFjX2NvbnRyb2wudHhkbF9zdGFydFswXSxpby0+c2l6ZSk7CgkJYnJlYWs7CgkJ fQoJCWNhc2UgU0lPQ0RFVlBSSVZBVEUrNToKCQl7CgkJaW9jdGxJbmZvX3QgKmlvID0gKGlvY3Rs SW5mb190ICopcnEtPmlmcl9kYXRhOwoKCQlpby0+c2l6ZSA9IHNwLT5tYWNfY29udHJvbC5zdGF0 c19tZW1fc3o7CgkJY29weV90b191c2VyKGlvLT5idWZmZXIsIHNwLT5tYWNfY29udHJvbC5TdGF0 c0luZm8saW8tPnNpemUpOwoJCWJyZWFrOwoJCX0KCQljYXNlIFNJT0NERVZQUklWQVRFKzY6CgkJ ewoJCWlvY3RsSW5mb190ICppbyA9IChpb2N0bEluZm9fdCAqKXJxLT5pZnJfZGF0YTsKCgkJaW8t PnZhbHVlID0gcmVhZDY0KCZiYXIwLT5nZW5lcmFsX2ludF9zdGF0dXMpOwoJCSNpZiBERUJVR19P TgoJCWlvLT5yeGJ5dGVzID0gc3AtPnJ4cGt0X2J5dGVzOwoJCWlvLT50eGJ5dGVzID0gc3AtPnR4 cGt0X2J5dGVzOwoJCXByaW50ayhLRVJOX0lORk8iSW50ZXJydXB0IGNudDogMHgleFxuIiwgc3At PmludF9jbnQpOwoJCXByaW50ayhLRVJOX0lORk8iUnhJbnQgY250OiAweCV4XG4iLCBzcC0+cnhp bnRfY250KTsKCQlwcmludGsoS0VSTl9JTkZPIlR4SW50IGNudDogMHgleFxuIiwgc3AtPnR4aW50 X2NudCk7CgkJI2lmbmRlZiBYRU5BX0FSQ0hfNjQKCQlwcmludGsoS0VSTl9JTkZPIlJ4IFBrdCBD bnQ6IDB4JWxseFxuIixzcC0+cnhwa3RfY250KTsKCQkjZWxzZQoJCXByaW50ayhLRVJOX0lORk8i UnggUGt0IENudDogMHglbHhcbiIsc3AtPnJ4cGt0X2NudCk7CgkJI2VuZGlmCgkJI2VuZGlmCgkJ YnJlYWs7CgkJfQoJCWNhc2UgU0lPQ0RFVlBSSVZBVEUrNzoKCQl7CgkJdW5zaWduZWQgaW50IGk9 MCwgaj0wOwoJCWludCBzaXplID0gc2l6ZW9mKFJ4RF90KSooTUFYX1JYRFNfUEVSX0JMT0NLKzEp OwoJCWlvY3RsSW5mb190ICppbyA9IChpb2N0bEluZm9fdCAqKXJxLT5pZnJfZGF0YTsKCQlpby0+ c2l6ZSA9IHNwLT5tYWNfY29udHJvbC5yeGRfcmluZ19tZW1fc3o7CgoJCXdoaWxlKGkgPCBzcC0+ Y29uZmlnLlJ4Q2ZnWzBdLk51bVJ4ZCkgewoJCQljaGFyICpjID0gKGNoYXIgKilzcC0+cnhfYmxv Y2tzWzBdW2pdLmJsb2NrX3ZpcnRfYWRkcjsKCQkJY29weV90b191c2VyKChpby0+YnVmZmVyKyhq KnNpemUpKSwgYywgc2l6ZSk7CgkJCWkgKz0gKE1BWF9SWERTX1BFUl9CTE9DSysxKTsKCQkJaisr OwoJCX0KCQlicmVhazsKCQl9CgkJY2FzZSBTSU9DREVWUFJJVkFURSs4OgoJCXsKCQkjaWYgREVC VUdfT04KCQlSeERfdCAqcnhkcCA9IHNwLT5tYWNfY29udHJvbC5SeFJpbmdbMF07CgkJc3RydWN0 IHNrX2J1ZmYgKnNrYjsKCQlpbnQJY250PTA7CgkJaW50IGk7CgoJCXJ4ZHAgKz0gY250OwoJCXNr YiA9IChzdHJ1Y3Qgc2tfYnVmZiAqKShkbWFhZGRyX3QpcnhkcC0+SG9zdF9Db250cm9sOwoJCWlm KHNrYikgewoJCQlmb3IoaT0wO2k8MHgxMTA7aSsrKQoJCQkJcHJpbnRrKCIlMDJ4Iiwoc2tiLT5k YXRhKVtpXSk7CgkJCWNudCsrOwoJCX0KCQkjZWxzZQoJCXByaW50ayhLRVJOX0lORk8iUGxlYXNl IGVuYWJsZSBEZWJ1ZyB0byBzZWUgUnggYnVmZmVyXG4iKTsKCQkjZW5kaWYKCQlicmVhazsKCQl9 CgkJY2FzZSBTSU9DREVWUFJJVkFURSs5OgoJCXsKCQlpb2N0bEluZm9fdCAqaW8gPSAoaW9jdGxJ bmZvX3QgKilycS0+aWZyX2RhdGE7CgkJdmFsNjQgPSByZWFkNjQoKHNwLT5iYXIwK2lvLT5vZmZz ZXQpKTsKCQlpby0+dmFsdWUgPSB2YWw2NDsKCQlicmVhazsKCQl9CgkJY2FzZSBTSU9DREVWUFJJ VkFURSsxMDoKCQl7CgkJaW9jdGxJbmZvX3QgKmlvID0gKGlvY3RsSW5mb190ICopcnEtPmlmcl9k YXRhOwoJCXdyaXRlNjQoKHNwLT5iYXIwK2lvLT5vZmZzZXQpLCBpby0+dmFsdWUpOwoJCWJyZWFr OwoJCX0KCQljYXNlIFNJT0NERVZQUklWQVRFKzExOgoJCXsKCQlzMmlvX3Jlc2V0KHNwKTsKCQli cmVhazsKCQl9CgkJZGVmYXVsdDoKCQlyZXR1cm4gLUVPUE5PVFNVUFA7CgkJYnJlYWs7Cgl9CgoJ cmV0dXJuIFNVQ0NFU1M7Cn0KCi8qCiAqICBJbnB1dCBBcmd1bWVudC9zOiAKICogICBkZXYgLSBk ZXZpY2UgcG9pbnRlci4KICogICBuZXdfbXR1IC0gdGhlIG5ldyBNVFUgc2l6ZSBmb3IgdGhlIGRl dmljZS4KICogIFJldHVybiB2YWx1ZToKICogICBTVUNDRVNTIG9uIHN1Y2Nlc3MgYW5kIGFuIGFw cHJvcHJpYXRlICgtKXZlIGludGVnZXIgYXMgZGVmaW5lZCBpbiBlcnJuby5oCiAqICAgZmlsZSBv biBmYWlsdXJlLgogKiAgRGVzY3JpcHRpb246CiAqICAgQSBkcml2ZXIgZW50cnkgcG9pbnQgdG8g Y2hhbmdlIE1UVSBzaXplIGZvciB0aGUgZGV2aWNlLiBCZWZvcmUgY2hhbmdpbmcKICogICB0aGUg TVRVIHRoZSBkZXZpY2UgbXVzdCBiZSBzdG9wcGVkLgogKi8KaW50IHMyaW9fY2hhbmdlX210dShz dHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBpbnQgbmV3X210dSkKewoJbmljX3QgKnNwID0gKG5pY190 ICopZGV2LT5wcml2OwoJWEVOQV9kZXZfY29uZmlnX3QgKmJhcjAgPSAoWEVOQV9kZXZfY29uZmln X3QgKilzcC0+YmFyMDsKCXJlZ2lzdGVyIHU2NCAgICB2YWw2NDsKCglpZihuZXRpZl9ydW5uaW5n KGRldikpIHsKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IE11c3QgYmUgc3RvcHBlZCB0byAiLGRl di0+bmFtZSk7IAoJCURCR19QUklOVChFUlJfREJHLCJjaGFuZ2UgaXRzIE1UVSBcbiIpOwoJCXJl dHVybiAtRUJVU1k7Cgl9CgoJaWYoKG5ld19tdHUgPCBNSU5fTVRVKXx8KG5ld19tdHUgPiBTMklP X0pVTUJPX1NJWkUpKSB7CgkJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiBNVFUgc2l6ZSBpcyBpbnZh bGlkLlxuIiwgZGV2LT5uYW1lKTsKCQlyZXR1cm4gLUVQRVJNOwoJfQoKLyogU2V0IHRoZSBuZXcg TVRVIGludG8gdGhlIFBZTEQgcmVnaXN0ZXIgb2YgdGhlIE5JQyAqLwoJdmFsNjQgPSBuZXdfbXR1 OwoJd3JpdGU2NCgmYmFyMC0+cm1hY19tYXhfcHlsZF9sZW4sIHZCSVQodmFsNjQsMiwxNCkpOwoK CWRldi0+bXR1ID0gbmV3X210dTsKCglyZXR1cm4gU1VDQ0VTUzsKfQoKLyoKICogIElucHV0IEFy Z3VtZW50L3M6IAogKiAgZGV2X2FkciAtIGFkZHJlc3Mgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUg aW4gZG1hYWRkcl90IGZvcm1hdC4KICogIFJldHVybiB2YWx1ZToKICogIHZvaWQuCiAqICBEZXNj cmlwdGlvbjoKICogIFRoaXMgaXMgdGhlIHRhc2tsZXQgb3IgdGhlIGJvdHRvbSBoYWxmIG9mIHRo ZSBJU1IuIFRoaXMgaXMKICogIGFuIGV4dGVuc2lvbiBvZiB0aGUgSVNSIHdoaWNoIGlzIHNjaGVk dWxlZCBieSB0aGUgc2NoZWR1bGVyIHRvIGJlIHJ1biAKICogIHdoZW4gdGhlIGxvYWQgb24gdGhl IENQVSBpcyBsb3cuIEFsbCBsb3cgcHJpb3JpdHkgdGFza3Mgb2YgdGhlIElTUiBjYW4KICogIGJl IHB1c2hlZCBpbnRvIHRoZSB0YXNrbGV0LiBGb3Igbm93IHRoZSB0YXNrbGV0IGlzIHVzZWQgb25s eSB0byAKICogIHJlcGxlbmlzaCB0aGUgUnggYnVmZmVycyBpbiB0aGUgUnggYnVmZmVyIGRlc2Ny aXB0b3JzLgogKi8Kdm9pZCBzMmlvX3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkZXZfYWRkcikKewoJ c3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IChzdHJ1Y3QgbmV0X2RldmljZSopZGV2X2FkZHI7Cglu aWNfdCAqc3AgPSAobmljX3QgKilkZXYtPnByaXY7CglpbnQgaSwgcmV0OwoKCWlmKCF0ZXN0X2Fu ZF9zZXRfYml0KDAsICh1bnNpZ25lZCBsb25nICopKCZzcC0+dGFza2xldF9zdGF0dXMpKSkgewoJ CWZvcihpPTA7aTxzcC0+Y29uZmlnLlJ4UmluZ051bTtpKyspIHsKCQkJcmV0ID0gZmlsbF9yeF9i dWZmZXJzKHNwLGkpOwoJCQlpZihyZXQgPT0gLUVOT01FTSkgewoJCQkJREJHX1BSSU5UKEVSUl9E QkcsIiVzOiBPdXQgb2YgIixkZXYtPm5hbWUpOwoJCQkJREJHX1BSSU5UKEVSUl9EQkcsIm1lbW9y eSBpbiB0YXNrbGV0XG4iKTsKCQkJCXJldHVybjsKCQkJfSBlbHNlIGlmKHJldCA9PSAtRUZJTEwp IHsKCQkJCURCR19QUklOVChFUlJfREJHLCIlczogUnggUmluZyAlZCBpcyBmdWxsXG4iLAoJCQkJ CQlkZXYtPm5hbWUsaSk7CgkJCQlyZXR1cm47CgkJCX0KCQl9CgkJY2xlYXJfYml0KDAsKHVuc2ln bmVkIGxvbmcgKikoJnNwLT50YXNrbGV0X3N0YXR1cykpOwoJfQp9CgovKgogKiAgSW5wdXQgQXJn dW1lbnQvczogCiAqICBkZXYgLSBkZXZpY2UgcG9pbnRlci4KICogIFJldHVybiB2YWx1ZToKICog IHZvaWQKICogIERlc2NyaXB0aW9uOgogKiAgVGhpcyBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQgaWYg dGhlIFR4IFF1ZXVlIGlzIHN0b3BwZWQKICogIGZvciBhIHByZS1kZWZpbmVkIGFtb3VudCBvZiB0 aW1lIHdoZW4gdGhlIEludGVyZmFjZSBpcyBzdGlsbCB1cC4KICogIElmIHRoZSBJbnRlcmZhY2Ug aXMgamFtbWVkIGluIHN1Y2ggYSBzaXR1YXRpb24sIHRoZSBoYXJkd2FyZSBpcwogKiAgcmVzZXQg KGJ5IHMyaW9fY2xvc2UpIGFuZCByZXN0YXJ0ZWQgYWdhaW4gKGJ5IHMyaW9fb3BlbikgdG8KICog IG92ZXJjb21lIGFueSBwcm9ibGVtIHRoYXQgbWlnaCBoYXZlIGJlZW4gY2F1c2VkIGluIHRoZSBo YXJkd2FyZS4KICovCnZvaWQgczJpb190eF93YXRjaGRvZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2 KQp7CgluaWNfdCAqc3AgPSAobmljX3QgKilkZXYtPnByaXY7CglzdHJ1Y3Qgc2tfYnVmZiAqc2ti OwoKCWlmIChzcC0+dHhfcGt0X3B0cikgewoJCXNrYiA9IHNwLT50eF9wa3RfcHRyOwoJCS8vZGV2 X2tmcmVlX3NrYihza2IpOwoJCXMyaW9fY2xvc2UoZGV2KTsKCQlzcC0+ZGV2aWNlX2Nsb3NlX2Zs YWcgPSBUUlVFOwoJCXMyaW9fb3BlbihkZXYpOwoJCXNwLT50eF9wa3RfcHRyID0gTlVMTDsKCQlE QkdfUFJJTlQoRVJSX0RCRywiJXM6IEhpdCB0aGUgd2F0Y2ggZG9nIHJvdXRpbmVcbiIsZGV2LT5u YW1lKTsKCX0KCiNpZiBERUJVR19PTgoJREJHX1BSSU5UKEVSUl9EQkcsIiVzOiBEZXZpY2Ugd2Fz IHJlc2V0IGJ5IFR4IHdhdGNoZG9nIHRpbWVyLlxuIiwgCgkJCWRldi0+bmFtZSk7CiNlbmRpZiAg Cn0KCi8qCiAqICBJbnB1dCBBcmd1bWVudC9zOiAKICogICBzcCAtIHByaXZhdGUgbWVtYmVyIG9m IHRoZSBkZXZpY2Ugc3RydWN0dXJlLCB3aGljaCBpcyBhIHBvaW50ZXIgdG8gdGhlIAogKiAgIHMy aW9fbmljIHN0cnVjdHVyZS4KICogICBza2IgLSB0aGUgc29ja2V0IGJ1ZmZlciBwb2ludGVyLgog KiAgIGxlbiAtIGxlbmd0aCBvZiB0aGUgcGFja2V0CiAqICAgY2tzdW0gLSBGQ1MgY2hlY2tzdW0g b2YgdGhlIGZyYW1lLgogKiAgcmluZ19ubyAtIHRoZSByaW5nIGZyb20gd2hpY2ggdGhpcyBSeEQg d2FzIGV4dHJhY3RlZC4KICogIFJldHVybiB2YWx1ZToKICogICBTVUNDRVNTIG9uIHN1Y2Nlc3Mg YW5kIC0xIG9uIGZhaWx1cmUuCiAqICBEZXNjcmlwdGlvbjogCiAqICAgVGhpcyBmdW5jdGlvbiBp cyBjYWxsZWQgYnkgdGhlIFR4IGludGVycnVwdCBzZXJpdmNlIHJvdXRpbmUgdG8gcGVyZm9ybSAK ICogICBzb21lIE9TIHJlbGF0ZWQgb3BlcmF0aW9ucyBvbiB0aGUgU0tCIGJlZm9yZSBwYXNzaW5n IGl0IHRvIHRoZSB1cHBlcgogKiAgIGxheWVycy4gSXQgbWFpbmx5IGNoZWNrcyBpZiB0aGUgY2hl Y2tzdW0gaXMgT0ssIGlmIHNvIGFkZHMgaXQgdG8gdGhlCiAqICAgU0tCcyBja3N1bSB2YXJpYWJs ZSwgaW5jcmVtZW50cyB0aGUgUnggcGFja2V0IGNvdW50IGFuZCBwYXNzZXMgdGhlIFNLQgogKiAg IHRvIHRoZSB1cHBlciBsYXllci4gSWYgdGhlIGNoZWNrc3VtIGlzIHdyb25nLCBpdCBpbmNyZW1l bnRzIHRoZSBSeAogKiAgIHBhY2tldCBlcnJvciBjb3VudCwgZnJlZXMgdGhlIFNLQiBhbmQgcmV0 dXJucyBlcnJvci4KICovCmludCByeE9zbUhhbmRsZXIobmljX3QgKnNwLHUxNiBsZW4sUnhEX3Qg KnJ4ZHAsaW50IHJpbmdfbm8pCnsKCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSAoc3RydWN0IG5l dF9kZXZpY2UgKilzcC0+ZGV2OwoJc3RydWN0IHNrX2J1ZmYgKnNrYiA9IChzdHJ1Y3Qgc2tfYnVm ZiAqKShkbWFhZGRyX3QpcnhkcC0+SG9zdF9Db250cm9sOwoJdTE2IGwzX2NzdW0sIGw0X2NzdW07 CgoJbDNfY3N1bSA9IFJYRF9HRVRfTDNfQ0tTVU0ocnhkcC0+Q29udHJvbF8xKTsKCWlmKHJ4ZHAt PkNvbnRyb2xfMSAmIFRDUF9PUl9VRFBfRlJBTUUpIHsKCQlsNF9jc3VtID0gUlhEX0dFVF9MNF9D S1NVTShyeGRwLT5Db250cm9sXzEpOwoJCWlmKChsM19jc3VtID09IEwzX0NLU1VNX09LKSAmJiAo bDRfY3N1bSA9PSBMNF9DS1NVTV9PSykpIHsKCQkJc2tiLT5pcF9zdW1tZWQgID0gQ0hFQ0tTVU1f VU5ORUNFU1NBUlk7CgkJc2tiLT5jc3VtID0gbDRfY3N1bTsKCQl9IGVsc2UgewoJCS8qIEVycm9u ZW91cyBjaGVja3N1bSwgbGV0IHRoZSB1cHBlciBsYXllcnMgZGVhbCB3aXRoIGl0LiAqLwoJCQlz a2ItPmlwX3N1bW1lZCAgPSBDSEVDS1NVTV9OT05FOwoJCX0KCX0gZWxzZSB7CgkJc2tiLT5pcF9z dW1tZWQgID0gQ0hFQ0tTVU1fTk9ORTsKCX0KCglza2ItPmRldiA9IGRldjsKCXNrYl9wdXQoc2ti LGxlbik7Cglza2ItPnByb3RvY29sICAgPSBldGhfdHlwZV90cmFucyhza2IsZGV2KTsKCgkjaWZk ZWYgQ09ORklHVVJFX05BUElfU1VQUE9SVAoJbmV0aWZfcmVjZWl2ZV9za2Ioc2tiKTsKCSNlbHNl CgluZXRpZl9yeChza2IpOwoJI2VuZGlmCgoJZGV2LT5sYXN0X3J4ID0gamlmZmllczsKCSNpZiBE RUJVR19PTgoJc3AtPnJ4cGt0X2NudCsrOwoJI2VuZGlmCglzcC0+cnhfcGt0X2NvdW50Kys7Cglz cC0+c3RhdHMucnhfcGFja2V0cysrOwoJc3AtPnN0YXRzLnJ4X2J5dGVzICs9IGxlbjsKCXNwLT5y eHBrdF9ieXRlcyArPSBsZW47CgoJYXRvbWljX2RlYygmc3AtPnJ4X2J1ZnNfbGVmdFtyaW5nX25v XSk7CglyeGRwLT5Ib3N0X0NvbnRyb2wgPSAwOwoJcmV0dXJuIFNVQ0NFU1M7Cn0KCi8qCiogIElu cHV0IEFyZ3VtZW50L3M6IAoqICAgc3AgLSBwcml2YXRlIG1lbWJlciBvZiB0aGUgZGV2aWNlIHN0 cnVjdHVyZSwgd2hpY2ggaXMgYSBwb2ludGVyIHRvIHRoZSAKKiAgIHMyaW9fbmljIHN0cnVjdHVy ZS4KKiAgIGxpbmsgLSBpbmlkaWNhdGVzIHdoZXRoZXIgbGluayBpcyBVUC9ET1dOLgoqICBSZXR1 cm4gdmFsdWU6CiogICB2b2lkLgoqICBEZXNjcmlwdGlvbjoKKiAgIFRoaXMgZnVuY3Rpb24gc3Rv cHMvc3RhcnRzIHRoZSBUeCBxdWV1ZSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbGluawoqICAg c3RhdHVzIG9mIHRoZSBOSUMgaXMgaXMgZG93biBvciB1cC4gVGhpcyBpcyBjYWxsZWQgYnkgdGhl IEFsYXJtIGludGVycnVwdCAKKiAgaGFuZGxlciB3aGVuZXZlciBhIGxpbmsgY2hhbmdlIGludGVy cnVwdCBjb21lcyB1cC4gCiovCnZvaWQgczJpb19saW5rKG5pY190ICpzcCwgaW50IGxpbmspCnsK CXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSAoc3RydWN0IG5ldF9kZXZpY2UgKilzcC0+ZGV2OwoK CWlmKGxpbmsgPT0gMCkgewoJCURCR19QUklOVChFUlJfREJHLCIlczogTGluayBkb3duXG4iLGRl di0+bmFtZSk7CgkJbmV0aWZfY2Fycmllcl9vZmYoZGV2KTsKCX0KCWVsc2UgewoJCURCR19QUklO VChFUlJfREJHLCIlczogTGluayBVcFxuIixkZXYtPm5hbWUpOwoJCW5ldGlmX2NhcnJpZXJfb24o ZGV2KTsKCX0KfQoKLyoKKiAgSW5wdXQgQXJndW1lbnQvczogCiogICBwZGV2IC0gc3RydWN0dXJl IGNvbnRhaW5pbmcgdGhlIFBDSSByZWxhdGVkIGluZm9ybWF0aW9uIG9mIHRoZSBkZXZpY2UuCiog IFJldHVybiB2YWx1ZToKKiAgIHJldHVybnMgdGhlIHJldmlzaW9uIElEIG9mIHRoZSBkZXZpY2Uu CiogIERlc2NyaXB0aW9uOgoqICAgRnVuY3Rpb24gdG8gaWRlbnRpZnkgdGhlIFJldmlzaW9uIElE IG9mIHhlbmEuCiovCmludCBnZXRfeGVuYV9yZXZfaWQoc3RydWN0IHBjaV9kZXYgKnBkZXYpCnsJ Cgl1OCBpZCA9IDA7CglpbnQgcmV0OwoJcmV0ID0gcGNpX3JlYWRfY29uZmlnX2J5dGUocGRldiwg UENJX1JFVklTSU9OX0lELCAodTggKikmaWQpOwoJcmV0dXJuIGlkOwp9CgovKgoqICBJbnB1dCBB cmd1bWVudC9zOiAKKiAgIHNwIC0gcHJpdmF0ZSBtZW1iZXIgb2YgdGhlIGRldmljZSBzdHJ1Y3R1 cmUsIHdoaWNoIGlzIGEgcG9pbnRlciB0byB0aGUgCiogICBzMmlvX25pYyBzdHJ1Y3R1cmUuCiog IFJldHVybiB2YWx1ZToKKiAgIHZvaWQKKiAgRGVzY3JpcHRpb246CiogICBUaGlzIGZ1bmN0aW9u IGluaXRpYWxpemVzIGEgZmV3IG9mIHRoZSBQQ0kgYW5kIFBDSS1YIGNvbmZpZ3VyYXRpb24gcmVn aXN0ZXJzCiogICB3aXRoIHJlY29tbWVuZGVkIHZhbHVlcy4KKi8Kc3RhdGljIHZvaWQgczJpb19p bml0X3BjaShuaWNfdCAqc3ApCnsKCXUxNglwY2lfY21kID0gMDsKCi8qIEVuYWJsZSBEYXRhIFBh cml0eSBFcnJvciBSZWNvdmVyeSBpbiBQQ0ktWCBjb21tYW5kIHJlZ2lzdGVyLiAqLwoJcGNpX3Jl YWRfY29uZmlnX3dvcmQoc3AtPnBkZXYsIFBDSVhfQ09NTUFORF9SRUdJU1RFUiwgJihzcC0+cGNp eF9jbWQpKTsKCXBjaV93cml0ZV9jb25maWdfd29yZChzcC0+cGRldiwgUENJWF9DT01NQU5EX1JF R0lTVEVSLCAKCQkJCShzcC0+cGNpeF9jbWQgfCAxKSk7CglwY2lfcmVhZF9jb25maWdfd29yZChz cC0+cGRldiwgUENJWF9DT01NQU5EX1JFR0lTVEVSLCAmKHNwLT5wY2l4X2NtZCkpOwoKLyogU2V0 IHRoZSBQRXJyIFJlc3BvbnNlIGJpdCBpbiBQQ0kgY29tbWFuZCByZWdpc3Rlci4gKi8KCXBjaV9y ZWFkX2NvbmZpZ193b3JkKHNwLT5wZGV2LCBQQ0lfQ09NTUFORCwgJnBjaV9jbWQpOwoJcGNpX3dy aXRlX2NvbmZpZ193b3JkKHNwLT5wZGV2LCBQQ0lfQ09NTUFORCwgCgkJCQkocGNpX2NtZHxQQ0lf Q09NTUFORF9QQVJJVFkpKTsKCXBjaV9yZWFkX2NvbmZpZ193b3JkKHNwLT5wZGV2LCBQQ0lfQ09N TUFORCwgJnBjaV9jbWQpOwoKLyogU2V0IHVzZXIgc3BlY2lmaWVkIHZhbHVlIGluIExhdGVuY3kg VGltZXIgKi8KCWlmKGxhdGVuY3lfdGltZXIpIHsgCgkJcGNpX3dyaXRlX2NvbmZpZ19ieXRlKHNw LT5wZGV2LCBQQ0lfTEFURU5DWV9USU1FUiwgCgkJCQlsYXRlbmN5X3RpbWVyKTsKCQlwY2lfcmVh ZF9jb25maWdfYnl0ZShzcC0+cGRldiwgUENJX0xBVEVOQ1lfVElNRVIsIAoJCQkJJmxhdGVuY3lf dGltZXIpOwoJCXBjaV93cml0ZV9jb25maWdfYnl0ZShzcC0+cGRldiwgUENJX0xBVEVOQ1lfVElN RVIsIAoJCQkJbGF0ZW5jeV90aW1lcik7Cgl9CgkKLyogU2V0IE1NUkIgY291bnQgdG8gNDA5NiBp biBQQ0ktWCBDb21tYW5kIHJlZ2lzdGVyLiAqLwoJcGNpX3dyaXRlX2NvbmZpZ193b3JkKHNwLT5w ZGV2LCBQQ0lYX0NPTU1BTkRfUkVHSVNURVIsCgkJCShzcC0+cGNpeF9jbWR8MHgwQykpOwoJcGNp X3JlYWRfY29uZmlnX3dvcmQoc3AtPnBkZXYsIFBDSVhfQ09NTUFORF9SRUdJU1RFUiwgJihzcC0+ cGNpeF9jbWQpKTsKCi8qIFNldHRpbmcgTWF4aW11bSBvdXRzdGFuZGluZyBzcGxpdHMgdG8gdHdv IGZvciBub3cuICovCglzcC0+cGNpeF9jbWQgfD0gWEVOQV9NQVhfT1VUU1RBTkRJTkdfU1BMSVRT KFhFTkFfVFdPX1NQTElUX1RSQU5TQUNUSU9OKTsKCXBjaV93cml0ZV9jb25maWdfd29yZChzcC0+ cGRldiwgUENJWF9DT01NQU5EX1JFR0lTVEVSLHNwLT5wY2l4X2NtZCk7CglwY2lfcmVhZF9jb25m aWdfd29yZChzcC0+cGRldiwgUENJWF9DT01NQU5EX1JFR0lTVEVSLCAmKHNwLT5wY2l4X2NtZCkp OwoKfQoKI2lmZGVmIEFTX0FfTU9EVUxFCk1PRFVMRV9BVVRIT1IoIlJhZ2hhdmVuZHJhIEtvdXNo aWsgPHJhZ2hhdmVuZHJhLmtvdXNoaWtAczJpby5jb20+Iik7Ck1PRFVMRV9MSUNFTlNFKCJHUEwi KTsKTU9EVUxFX1BBUk0ocmluZ19udW0sICIxLSIgX19NT0RVTEVfU1RSSU5HKDEpICJpIik7Ck1P RFVMRV9QQVJNKGZyYW1lX2xlbiwgIjEtIiBfX01PRFVMRV9TVFJJTkcoOCkgImkiKTsKTU9EVUxF X1BBUk0ocmluZ19sZW4sICIxLSIgX19NT0RVTEVfU1RSSU5HKDgpICJpIik7Ck1PRFVMRV9QQVJN KGZpZm9fbnVtLCAiMS0iIF9fTU9EVUxFX1NUUklORygxKSAiaSIpOwpNT0RVTEVfUEFSTShmaWZv X2xlbiwgIjEtIiBfX01PRFVMRV9TVFJJTkcoOCkgImkiKTsKTU9EVUxFX1BBUk0ocnhfcHJpbywg IjEtIiBfX01PRFVMRV9TVFJJTkcoMSkgImkiKTsKTU9EVUxFX1BBUk0odHhfcHJpbywgIjEtIiBf X01PRFVMRV9TVFJJTkcoMSkgImkiKTsKTU9EVUxFX1BBUk0obGF0ZW5jeV90aW1lciwgIjEtIiBf X01PRFVMRV9TVFJJTkcoMSkgImkiKTsKI2VuZGlmCgovKgoqICBJbnB1dCBBcmd1bWVudC9zOiAK KiAgIHBkZXYgLSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgUENJIHJlbGF0ZWQgaW5mb3JtYXRp b24gb2YgdGhlIGRldmljZS4KKiAgIHByZSAtICB0aGUgTGlzdCBvZiBQQ0kgZGV2aWNlcyBzdXBw b3J0ZWQgYnkgdGhlIGRyaXZlciBsaXN0ZWQgaW4gczJpb190YmwuCiogIFJldHVybiB2YWx1ZToK KiAgIHJldHVybnMgJzAnKFNVQ0NFU1MpIG9uIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIG9uIGZhaWx1 cmUuCiogIERlc2NyaXB0aW9uOgoqICBUaGUgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgYW4gYWRhcHRl ciBpZGVudGlmaWVkIGJ5IHRoZSBwY2lfZGVjIHN0cnVjdHVyZS4KKiAgQWxsIE9TIHJlbGF0ZWQg aW5pdGlhbGl6YXRpb24gaW5jbHVkaW5nIG1lbW9yeSBhbmQgZGV2aWNlIHN0cnVjdHVyZSBhbmQg CiogIGluaXRsYWl6YXRpb24gb2YgdGhlIGRldmljZSBwcml2YXRlIHZhcmlhYmxlIGlzIGRvbmUu IEFsc28gdGhlIHN3YXBwZXIgCiogIGNvbnRyb2wgcmVnaXN0ZXIgaXMgaW5pdGlhbGl6ZWQgdG8g ZW5hYmxlIHJlYWQgYW5kIHdyaXRlIGludG8gdGhlIEkvTyAKKiAgcmVnaXN0ZXJzIG9mIHRoZSBk ZXZpY2UuCiogIAoqLwpzdGF0aWMgaW50IF9fZGV2aW5pdCAKczJpb19pbml0X25pYyhzdHJ1Y3Qg cGNpX2RldiAqcGRldixjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqcHJlKQp7CgluaWNfdCAq c3A7CglzdHJ1Y3QgbmV0X2RldmljZSAqZGV2OwoJY2hhciAqZGV2X25hbWU9IlMySU8gMTBHRSBO SUMiOwoJaW50IGksaiwgcmV0OwoJaW50IGRtYV9mbGFnID0gRkFMU0U7Cgl1MzIgbWFjX3VwLCBt YWNfZG93bjsKCXU2NCB2YWw2NCA9IDAsIHRtcDY0ID0gMDsKCVhFTkFfZGV2X2NvbmZpZ190ICpi YXIwID0gTlVMTDsKCglpZigocmV0ID0gcGNpX2VuYWJsZV9kZXZpY2UocGRldikpKSB7CgkJREJH X1BSSU5UKEVSUl9EQkcsInMyaW9faW5pdF9uaWM6IHBjaV9lbmFibGVfZGV2aWNlIGZhaWxlZFxu Iik7CgkJcmV0dXJuIHJldDsKCX0KCglpZiAoIXBjaV9zZXRfZG1hX21hc2socGRldiwgMHhmZmZm ZmZmZmZmZmZmZmZmKSkgewoJCURCR19QUklOVChJTklUX0RCRywiczJpb19pbml0X25pYzogVXNp bmcgNjRiaXQgRE1BXG4iKTsKCQlkbWFfZmxhZyA9IFRSVUU7CgoJCSNpZiBkZWZpbmVkIChYRU5B X0FSQ0hfNjQpIHx8IChQUENfQVJDSDY0KQkKCQkjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtF Uk5FTF9WRVJTSU9OKDIsNiwwMCkKCQlpZiAocGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrKHBk ZXYsIDB4ZmZmZmZmZmZmZmZmZmZmZlVMTCkpIHsKICAgICAgIAkJCURCR19QUklOVChFUlJfREJH LCJVbmFibGUgdG8gb2J0YWluIDY0Yml0IERNQSBmb3IgXAoJCQkJCWNvbnNpc3RlbnQgYWxsb2Nh dGlvbnNcbiIpOwogICAgICAgCQkJcmV0dXJuIC1FTk9NRU07CgkJfQoJCSNlbmRpZgoJCSNlbmRp ZgoJfSBlbHNlIGlmICghcGNpX3NldF9kbWFfbWFzayhwZGV2LCAweGZmZmZmZmZmKSkgewoJCURC R19QUklOVChJTklUX0RCRywiczJpb19pbml0X25pYzogVXNpbmcgMzJiaXQgRE1BXG4iKTsKCX0g ZWxzZSB7CgkJcGNpX2Rpc2FibGVfZGV2aWNlKHBkZXYpOwoJCXJldHVybiAtRU5PTUVNOwoJfQoK CWlmKHBjaV9yZXF1ZXN0X3JlZ2lvbnMocGRldiwgczJpb19kcml2ZXJfbmFtZSkpIHsKCQlEQkdf UFJJTlQoRVJSX0RCRywiUmVxdWVzdCBSZWdpb25zIGZhaWxlZFxuIiksCgkJcGNpX2Rpc2FibGVf ZGV2aWNlKHBkZXYpOwoJCXJldHVybiAtRU5PREVWOwoJfQogICAgCglkZXYgPSBhbGxvY19ldGhl cmRldihzaXplb2YobmljX3QpKTsKCWlmKGRldiA9PSBOVUxMKSB7CgkJREJHX1BSSU5UKEVSUl9E QkcsIkRldmljZSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CgkJcGNpX2Rpc2FibGVfZGV2aWNlKHBk ZXYpOwoJCXBjaV9yZWxlYXNlX3JlZ2lvbnMocGRldik7CgkJcmV0dXJuIC1FTk9ERVY7Cgl9CgoJ cGNpX3NldF9tYXN0ZXIocGRldik7CglwY2lfc2V0X2RydmRhdGEocGRldiwgZGV2KTsKCVNFVF9N T0RVTEVfT1dORVIoZGV2KTsKCVNFVF9ORVRERVZfREVWKGRldiwgJnBkZXYtPmRldik7CgovKiAg UHJpdmF0ZSBtZW1iZXIgdmFyaWFibGUgaW5pdGlhbGl6ZWQgdG8gczJpbyBOSUMgc3RydWN0dXJl ICovCglzcCA9IChuaWNfdCAqKWRldi0+cHJpdjsKCW1lbXNldChzcCwwLHNpemVvZihuaWNfdCkp OwoJc3AtPmRldiA9IGRldjsKCXNwLT5wZGV2ID0gcGRldjsKCXNwLT52ZW5kb3JfaWQgPSBwZGV2 LT52ZW5kb3I7CglzcC0+ZGV2aWNlX2lkID0gcGRldi0+ZGV2aWNlOwoJc3AtPmhpZ2hfZG1hX2Zs YWcgPSBkbWFfZmxhZzsKCXNwLT5pcnEgPSBwZGV2LT5pcnE7CglzcC0+ZGV2aWNlX2VuYWJsZWRf b25jZSA9IEZBTFNFOwoJc3AtPmxvb3BfcGt0X2NudCA9IDA7CglzdHJjcHkoc3AtPm5hbWUsZGV2 X25hbWUpOwoKLyogSW5pdGlhbGl6ZSBzb21lIFBDSS9QQ0ktWCBmaWVsZHMgb2YgdGhlIE5JQy4g Ki8KCXMyaW9faW5pdF9wY2koc3ApOwoJCQovKiAgU2V0dGluZyB0aGUgZGV2aWNlIGNvbmZpZ3Vy YXRpb24gcGFyYW1ldGVycy4KICogIE1vc3Qgb2YgdGhlc2UgcGFyYW1ldGVycyBjYW4gYmUgc3Bl Y2lmaWVkIGJ5IHRoZSB1c2VyIGR1cmluZyBtb2R1bGUgCiAqICBpbnNlcnRpb24gYXMgdGhleSBh cmUgbW9kdWxlIGxvYWRhYmxlIHBhcmFtZXRlcnMuIElmIHRoZXNlIAogKiAgcGFyYW1ldGVycyBh cmUgbm90IG5vdCBzcGVjaWZpZWQgZHVyaW5nIGxvYWQgdGltZSwgdGhleSBhcmUgaW5pdGFsaXpl ZAogKiAgd2l0aCBkZWZhdWx0IHZhbHVlcy4KICovCgkvKiBUeCBzaWRlIHBhcmFtZXRlcnMuICov CglpZihmaWZvX251bSkgewogICAgCXNwLT5jb25maWcuVHhGSUZPTnVtID0gZmlmb19udW07Cgl9 IGVsc2UgewoJICAgIHNwLT5jb25maWcuVHhGSUZPTnVtID0gMTsKCX0KCQoJaWYoIWZpZm9fbGVu WzBdICYmIChmaWZvX251bT4xKSkgewoJCXByaW50ayhLRVJOX0VSUiJGaWZvIExlbnMgbm90IHNw ZWNpZmllZCBmb3IgYWxsIEZJRk9zXG4iKTsKCQlnb3RvIGluaXRfZmFpbGVkOwoJfQoJCglpZihm aWZvX2xlblswXSkgewoJCWludCBjbnQ7CgoJCWZvcihjbnQ9MDsgZmlmb19sZW5bY250XTsgY250 KyspOwoJCWlmKGZpZm9fbnVtKSB7CgkJCWlmKGNudCA8IGZpZm9fbnVtKSB7CgkJCQlwcmludGso S0VSTl9FUlIiRmlmbyBMZW5zIG5vdCBzcGVjaWZpZWQgZm9yICIpOwoJCQkJcHJpbnRrKEtFUk5f RVJSImFsbCBGSUZPc1xuIik7CgkJCQlnb3RvIGluaXRfZmFpbGVkOwoJCQl9CgkJfQoJCWZvcihj bnQ9MDsgY250PHNwLT5jb25maWcuVHhGSUZPTnVtOyBjbnQrKykgewoJCQlzcC0+Y29uZmlnLlR4 Q2ZnW2NudF0uRmlmb0xlbiA9IGZpZm9fbGVuW2NudF07CgkJCXNwLT5jb25maWcuVHhDZmdbY250 XS5GaWZvUHJpb3JpdHkgPSBjbnQ7CgkJfQoJfSBlbHNlIHsKCQlzcC0+Y29uZmlnLlR4Q2ZnWzBd LkZpZm9MZW4gPSBERUZBVUxUX0ZJRk9fTEVOOwoJCXNwLT5jb25maWcuVHhDZmdbMF0uRmlmb1By aW9yaXR5ID0gMDsKCX0KCglzcC0+Y29uZmlnLlR4Q2ZnWzBdLmZOb1Nub29wID0gKE5PX1NOT09Q X1RYRCB8IE5PX1NOT09QX1RYRF9CVUZGRVIpOwoJc3AtPmNvbmZpZy5NYXhUeERzID0gTUFYX1NL Ql9GUkFHUzsKCXNwLT5jb25maWcuVHhGbG93ID0gVFJVRTsKCgkvKiBSeCBzaWRlIHBhcmFtZXRl cnMuICovCglpZihyaW5nX251bSkgewoJCXNwLT5jb25maWcuUnhSaW5nTnVtID0gcmluZ19udW07 Cgl9IGVsc2UgewoJCXNwLT5jb25maWcuUnhSaW5nTnVtID0gMTsKCX0KCglpZihyaW5nX2xlblsw XSkgewoJCWludCBjbnQ7CgkJZm9yKGNudD0wOyBjbnQ8c3AtPmNvbmZpZy5SeFJpbmdOdW07IGNu dCsrKSB7CgkJCXNwLT5jb25maWcuUnhDZmdbY250XS5OdW1SeGQgPSByaW5nX2xlbltjbnRdOwoJ ICAgIAkJc3AtPmNvbmZpZy5SeENmZ1tjbnRdLlJpbmdQcmlvcml0eSA9IGNudDsKCQl9Cgl9IGVs c2UgewoJCWludCBpZDsKCQlpZigoaWQgPSBnZXRfeGVuYV9yZXZfaWQocGRldikpID09IDEpIHsK CQkJc3AtPmNvbmZpZy5SeENmZ1swXS5OdW1SeGQgPSBMQVJHRV9SWERfQ05UOwoJCQkJCQkKCQl9 IGVsc2UgewoJCQlzcC0+Y29uZmlnLlJ4Q2ZnWzBdLk51bVJ4ZCA9IFNNQUxMX1JYRF9DTlQ7CgkJ fQoJCXNwLT5jb25maWcuUnhDZmdbMF0uUmluZ1ByaW9yaXR5ID0gMDsKCX0KCXNwLT5jb25maWcu UnhDZmdbMF0uUmluZ09yZyA9IFJJTkdfT1JHX0JVRkYxOwoJc3AtPmNvbmZpZy5SeENmZ1swXS5S eGRUaHJlc2ggPSBERUZBVUxUX1JYRF9USFJFU0hPTEQ7CglzcC0+Y29uZmlnLlJ4Q2ZnWzBdLmZO b1Nub29wID0gKE5PX1NOT09QX1JYRCB8IE5PX1NOT09QX1JYRF9CVUZGRVIpOwoJc3AtPmNvbmZp Zy5SeENmZ1swXS5SeERfQmFja09mZl9JbnRlcnZhbCA9IFRCRDsKCXNwLT5jb25maWcuUnhGbG93 ID0gVFJVRTsKCi8qIE1pc2NlbGxhbmVvdXMgcGFyYW1ldGVycy4qLwoJc3AtPmNvbmZpZy5SeFZM QU5FbmFibGUgPSBUUlVFOwoJc3AtPmNvbmZpZy5NVFUgPSBNQVhfTVRVX1ZMQU47CglzcC0+Y29u ZmlnLkp1bWJvRW5hYmxlID0gRkFMU0U7CgovKiAgU2V0dGluZyBNYWMgQ29udHJvbCBwYXJhbWV0 ZXJzICovCglzcC0+bWFjX2NvbnRyb2wudHhkbF9sZW4gPSBNQVhfU0tCX0ZSQUdTOwoJc3AtPm1h Y19jb250cm9sLnJtYWNfcGF1c2VfdGltZSAgPSAwOwoKLyogSW5pdGlhbGl6ZSBSaW5nIGJ1ZmZl ciBwYXJhbWV0ZXJzLiAqLwoJZm9yKGk9MDtpPHNwLT5jb25maWcuUnhSaW5nTnVtO2krKykKCQlh dG9taWNfc2V0KCZzcC0+cnhfYnVmc19sZWZ0W2ldLDApOwoKLyogIGluaXRpYWxpemUgdGhlIHNo YXJlZCBtZW1vcnkgdXNlZCBieSB0aGUgTklDIGFuZCB0aGUgaG9zdCAqLwoJaWYoaW5pdFNoYXJl ZE1lbShzcCkpIHsKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IE1lbW9yeSBhbGxvY2F0aW9uIGZh aWxlZFxuIixkZXYtPm5hbWUpOwoJCWdvdG8gbWVtX2FsbG9jX2ZhaWxlZDsKCX0KCglzcC0+YmFy MCA9IChjYWRkcl90KWlvcmVtYXAocGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsMCksIFwKCXBjaV9y ZXNvdXJjZV9sZW4ocGRldiwwKSk7CglpZighc3AtPmJhcjApIHsKCQlEQkdfUFJJTlQoRVJSX0RC RywiJXM6IFMySU86IGNhbm5vdCByZW1hcCBpbyBtZW0xXG4iLGRldi0+bmFtZSk7CgkJZ290byBi YXIwX3JlbWFwX2ZhaWxlZDsKCX0KCglzcC0+YmFyMSA9IChjYWRkcl90KWlvcmVtYXAocGNpX3Jl c291cmNlX3N0YXJ0KHBkZXYsMiksIFwKCXBjaV9yZXNvdXJjZV9sZW4ocGRldiwyKSk7CglpZigh c3AtPmJhcjEpIHsKCQlEQkdfUFJJTlQoRVJSX0RCRywiJXM6IFMySU86IGNhbm5vdCByZW1hcCBp byBtZW0yXG4iLGRldi0+bmFtZSk7CgkJZ290byBiYXIxX3JlbWFwX2ZhaWxlZDsKCX0KCglkZXYt PmlycSA9IHBkZXYtPmlycTsKCWRldi0+YmFzZV9hZGRyID0gKGRtYWFkZHJfdClzcC0+YmFyMDsK CXNwID0gKG5pY190ICopZGV2LT5wcml2OwoKLyogSW5pdGlhbGl6aW5nIHRoZSBCQVIxIGFkZHJl c3MgYXMgdGhlIHN0YXJ0IG9mIHRoZSBGSUZPIHBvaW50ZXIuICovCglmb3Ioaj0wO2o8TUFYX1RY X0ZJRk9TOyBqKyspIHsKCQlzcC0+bWFjX2NvbnRyb2wudHhfRklGT19zdGFydFtqXSA9IChUeEZJ Rk9fZWxlbWVudF90KikKCQkoc3AtPmJhcjErKGoqMHgwMDAyMDAwMCkpOwoJfQoKLyogIERyaXZl ciBlbnRyeSBwb2ludHMgKi8KCWRldi0+b3BlbiAgICAgICA9ICZzMmlvX29wZW47CglkZXYtPnN0 b3AgICAgICAgPSAmczJpb19jbG9zZTsKCWRldi0+aGFyZF9zdGFydF94bWl0ICAgID0gJnMyaW9f eG1pdDsKCWRldi0+Z2V0X3N0YXRzICAgICAgPSAmczJpb19nZXRfc3RhdHM7CglkZXYtPnNldF9t dWx0aWNhc3RfbGlzdCA9ICZzMmlvX3NldF9tdWx0aWNhc3Q7CglkZXYtPnNldF9tYWNfYWRkcmVz cyAgICA9ICZzMmlvX3NldF9tYWNfYWRkcjsKCWRldi0+ZG9faW9jdGwgICAgICAgPSAmczJpb19p b2N0bDsKCWRldi0+Y2hhbmdlX210dSAgICAgPSAmczJpb19jaGFuZ2VfbXR1OwoJI2lmZGVmIENP TkZJR1VSRV9OQVBJX1NVUFBPUlQKCWRldi0+cG9sbAkJCT0gIHMyaW9fcG9sbDsKCWRldi0+d2Vp Z2h0CQkJPSAxMjg7IC8qIEZvciBub3cuICovCgkjZW5kaWYKCi8qIFRoZSBmZWF0dXJlcyB0aGUg ZGV2aWNlIHN1cHBvcnRzLiAqLwoJZGV2LT5mZWF0dXJlcyB8PSBORVRJRl9GX1NHfE5FVElGX0Zf SFdfQ1NVTTsKCWlmKHNwLT5oaWdoX2RtYV9mbGFnID09IFRSVUUpCgkJZGV2LT5mZWF0dXJlcyB8 PSBORVRJRl9GX0hJR0hETUE7CgkjaWZkZWYgTkVUSUZfRl9UU08KCWRldi0+ZmVhdHVyZXMgfD0g TkVUSUZfRl9UU087CgkjZW5kaWYKCi8qIFNldHRpbmcgdGhlIFR4IHdhdGNoIGRvZyB0aW1lb3V0 IHZhbHVlIGFuZCB0aW1lciBmdW5jdGlvLiAqLwoJZGV2LT50eF90aW1lb3V0ID0gJnMyaW9fdHhf d2F0Y2hkb2c7CglkZXYtPndhdGNoZG9nX3RpbWVvID0gV0FUQ0hfRE9HX1RJTUVPVVQ7CgovKiBS ZWdpc3RlciBEZXZpY2Ugd2l0aCBPUy4gKi8KCWlmKHJlZ2lzdGVyX25ldGRldihkZXYpKSB7CgkJ REJHX1BSSU5UKEVSUl9EQkcsICJEZXZpY2UgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7CgkJZ290 byByZWdpc3Rlcl9mYWlsZWQ7Cgl9CgovKiBTYXZlIFBDSSBzdGF0ZS4gKi8KCXBjaV9zYXZlX3N0 YXRlKHNwLT5wZGV2LCBzcC0+Y29uZmlnX3NwYWNlKTsKCi8qIFNldHRpbmcgc3dhcHBlciBjb250 cm9sIG9uIHRoZSBOSUMsIGZvciBwcm9wZXIgcmVzZXQgb3BlcmF0aW9uICovCglpZihzMmlvX3Nl dF9zd2FwcGVyKHNwKSkgewoJCURCR19QUklOVChFUlJfREJHLCIlczpzd2FwcGVyIHNldHRpbmdz IGFyZSB3cm9uZ1xuIiwgZGV2LT5uYW1lKTsKCQlnb3RvIHNldF9zd2FwX2ZhaWxlZDsKCX0KCQov KiBGaXggZm9yIGFsbCAiRkZzIiBNQUMgYWRkcmVzcyBwcm9ibGVtcyBvYnNlcnZlZCBvbiBBbHBo YSBwbGF0Zm9ybXMgKi8KCUZpeE1hY0FkZHJlc3Moc3ApOwoJczJpb19yZXNldChzcCk7CgovKiBT ZXR0aW5nIHN3YXBwZXIgY29udHJvbCBvbiB0aGUgTklDLCBzbyB0aGUgTUFDIGFkZHJlc3MgY2Fu IGJlIHJlYWQuICovCglpZihzMmlvX3NldF9zd2FwcGVyKHNwKSkgewoJCURCR19QUklOVChFUlJf REJHLCIlczogUzJJTzogc3dhcHBlciBzZXR0aW5ncyBhcmUgd3JvbmdcbiIsCgkJCQlkZXYtPm5h bWUpOwoJCWdvdG8gc2V0X3N3YXBfZmFpbGVkOwoJfQoKLyogIE1BQyBhZGRyZXNzIGluaXRpYWxp emF0aW9uLgogKiAgRm9yIG5vdyBvbmx5IG9uZSBtYWMgYWRkcmVzcyB3aWxsIGJlIHJlYWQgYW5k IHVzZWQuICovCgliYXIwID0gKFhFTkFfZGV2X2NvbmZpZ190ICopc3AtPmJhcjA7Cgl2YWw2NCA9 IFJNQUNfQUREUl9DTURfTUVNX1JEIHwgUk1BQ19BRERSX0NNRF9NRU1fU1RST0JFX05FV19DTUQg fAoJUk1BQ19BRERSX0NNRF9NRU1fT0ZGU0VUKDArTUFDX01BQ19BRERSX1NUQVJUX09GRlNFVCk7 Cgl3cml0ZTY0KCZiYXIwLT5ybWFjX2FkZHJfY21kX21lbSwgdmFsNjQpOwoJbWRlbGF5KDUwMCk7 Cgl0bXA2NCA9IHJlYWQ2NCgmYmFyMC0+cm1hY19hZGRyX2RhdGEwX21lbSk7CgoJbWFjX2Rvd24g PSAodTMyKXRtcDY0OwoJbWFjX3VwID0gKHUzMikodG1wNjQgPj4gMzIpOwoKCW1lbXNldChzcC0+ ZGVmTWFjQWRkclswXS5tYWNfYWRkciwgMCwgc2l6ZW9mKEVUSF9BTEVOKSk7CgoJc3AtPmRlZk1h Y0FkZHJbMF0ubWFjX2FkZHJbM10gPSAodTgpKG1hY191cCk7CglzcC0+ZGVmTWFjQWRkclswXS5t YWNfYWRkclsyXSA9ICh1OCkobWFjX3VwPj44KTsKCXNwLT5kZWZNYWNBZGRyWzBdLm1hY19hZGRy WzFdID0gKHU4KShtYWNfdXA+PjE2KTsKCXNwLT5kZWZNYWNBZGRyWzBdLm1hY19hZGRyWzBdID0g KHU4KShtYWNfdXA+PjI0KTsKCXNwLT5kZWZNYWNBZGRyWzBdLm1hY19hZGRyWzVdID0gKHU4KSht YWNfZG93bj4+MTYpOwoJc3AtPmRlZk1hY0FkZHJbMF0ubWFjX2FkZHJbNF0gPSAodTgpKG1hY19k b3duPj4yNCk7CgoJREJHX1BSSU5UKElOSVRfREJHLCJERUZBVUxUIE1BQyBBRERSOjB4JTAyeC0l MDJ4LSUwMngtJTAyeC0lMDJ4LSUwMnhcbiIsCgkJc3AtPmRlZk1hY0FkZHJbMF0ubWFjX2FkZHJb MF0sc3AtPmRlZk1hY0FkZHJbMF0ubWFjX2FkZHJbMV0sCgkJc3AtPmRlZk1hY0FkZHJbMF0ubWFj X2FkZHJbMl0sc3AtPmRlZk1hY0FkZHJbMF0ubWFjX2FkZHJbM10sCgkJc3AtPmRlZk1hY0FkZHJb MF0ubWFjX2FkZHJbNF0sc3AtPmRlZk1hY0FkZHJbMF0ubWFjX2FkZHJbNV0pOwoKLyogIFNldCB0 aGUgZmFjdG9yeSBkZWZpbmVkIE1BQyBhZGRyZXNzIGluaXRpYWxseSAgICovCglkZXYtPmFkZHJf bGVuID0gRVRIX0FMRU47CgltZW1jcHkoZGV2LT5kZXZfYWRkciwgc3AtPmRlZk1hY0FkZHIsIEVU SF9BTEVOKTsKCi8qICBJbml0aWFsaXplIHRoZSB0YXNrbGV0IHN0YXR1cyBmbGFnICovCglhdG9t aWNfc2V0KCYoc3AtPnRhc2tsZXRfc3RhdHVzKSwgMCk7CgoKLyogSW5pdGlhbGl6ZSBzcGlubG9j a3MgKi8KCXNwaW5fbG9ja19pbml0KCZzcC0+aXNyX2xvY2spOwoJc3Bpbl9sb2NrX2luaXQoJnNw LT50eF9sb2NrKTsKCi8qIE1ha2UgTGluayBzdGF0ZSBhcyBvZmYgYXQgdGhpcyBwb2ludCwgd2hl biB0aGUgTGluayBjaGFuZ2UgaW50ZXJydXB0IGNvbWVzCiAqIHRoZSBzdGF0ZSB3aWxsIGJlIGF1 dG9tYXRpY2FsbHkgY2hhbmdlZCB0byB0aGUgcmlnaHQgc3RhdGUuCiAqLwoJbmV0aWZfY2Fycmll cl9vZmYoZGV2KTsKCglyZXR1cm4gU1VDQ0VTUzsKCnNldF9zd2FwX2ZhaWxlZDoKCXVucmVnaXN0 ZXJfbmV0ZGV2KGRldik7CnJlZ2lzdGVyX2ZhaWxlZDoKCWlvdW5tYXAoc3AtPmJhcjEpOwpiYXIx X3JlbWFwX2ZhaWxlZDoKCWlvdW5tYXAoc3AtPmJhcjApOwpiYXIwX3JlbWFwX2ZhaWxlZDoKbWVt X2FsbG9jX2ZhaWxlZDoKCWZyZWVTaGFyZWRNZW0oc3ApOwppbml0X2ZhaWxlZDoKCXBjaV9kaXNh YmxlX2RldmljZShwZGV2KTsKCXBjaV9yZWxlYXNlX3JlZ2lvbnMocGRldik7CglwY2lfc2V0X2Ry dmRhdGEocGRldiwgTlVMTCk7CglrZnJlZShkZXYpOwoKCXJldHVybiAtRU5PREVWOwp9CgovKgoq ICBJbnB1dCBBcmd1bWVudC9zOiAKKiAgIHBkZXYgLSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUg UENJIHJlbGF0ZWQgaW5mb3JtYXRpb24gb2YgdGhlIGRldmljZS4KKiAgUmV0dXJuIHZhbHVlOgoq ICB2b2lkCiogIERlc2NyaXB0aW9uOgoqICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBieSB0aGUg UGNpIHN1YnN5c3RlbSB0byByZWxlYXNlIGEgUENJIGRldmljZSAKKiAgYW5kIGZyZWUgdXAgYWxs IHJlc291cmNlIGhlbGQgdXAgYnkgdGhlIGRldmljZS4gVGhpcyBjb3VsZCBiZSBpbiByZXNwb25z ZSAKKiAgdG8gYSBIb3QgcGx1ZyBldmVudCBvciB3aGVuIHRoZSBkcml2ZXIgaXMgdG8gYmUgcmVt b3ZlZCBmcm9tIG1lbW9yeS4KKi8Kc3RhdGljIHZvaWQgX19leGl0IHMyaW9fcmVtX25pYyhzdHJ1 Y3QgcGNpX2RldiAqcGRldikKewoJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IChzdHJ1Y3QgbmV0 X2RldmljZSAqKXBjaV9nZXRfZHJ2ZGF0YShwZGV2KTsKCW5pY190ICpzcDsKCglpZihkZXYgPT0g TlVMTCkgewoJCURCR19QUklOVChFUlJfREJHLCAiRHJpdmVyIERhdGEgaXMgTlVMTCEhXG4iKTsK CQlyZXR1cm47Cgl9CglzcCA9IChuaWNfdCAqKWRldi0+cHJpdjsKCWZyZWVTaGFyZWRNZW0oc3Ap OwoJaW91bm1hcChzcC0+YmFyMCk7Cglpb3VubWFwKHNwLT5iYXIxKTsKCXBjaV9kaXNhYmxlX2Rl dmljZShwZGV2KTsKCXBjaV9yZWxlYXNlX3JlZ2lvbnMocGRldik7CglwY2lfc2V0X2RydmRhdGEo cGRldiwgTlVMTCk7CgoJdW5yZWdpc3Rlcl9uZXRkZXYoZGV2KTsKCQoJI2lmIExJTlVYX1ZFUlNJ T05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMDApCglmcmVlX25ldGRldihkZXYpOwoJI2Vs c2UKCWtmcmVlKGRldik7CgkjZW5kaWYKfQoKaW50IHMyaW9fc3RhcnRlcih2b2lkKQp7CglyZXR1 cm4gcGNpX21vZHVsZV9pbml0KCZzMmlvX2RyaXZlcikgPyAtRU5PREVWIDowOwp9Cgp2b2lkIHMy aW9fY2xvc2VyKHZvaWQpCnsKCXBjaV91bnJlZ2lzdGVyX2RyaXZlcigmczJpb19kcml2ZXIpOwoJ REJHX1BSSU5UKElOSVRfREJHLCJjbGVhbnVwIGRvbmVcbiIpOwp9CgojaWZkZWYgQVNfQV9NT0RV TEUKbW9kdWxlX2luaXQoczJpb19zdGFydGVyKTsKbW9kdWxlX2V4aXQoczJpb19jbG9zZXIpOwoj ZW5kaWYgCgovKiAgVG8gYnVpbGQgdGhlIGRyaXZlciwgCmdjYyAtRF9fS0VSTkVMX18gLURNT0RV TEUgLUkvdXNyL3NyYy9saW51eC0yLjQvaW5jbHVkZSAtV2FsbCAtV3N0cmljdC1wcm90b3R5cGVz IC1PMiAtYyBzMmlvLmMKKi8KLyoKICokTG9nOiBzMmlvLmMsdiAkCiAqUmV2aXNpb24gMS44OCAg MjAwNC8wMS8xOSAyMToxMjo0NCAgYXJhdmkKICpCdWc6IDU5OQogKkdvdCByaWQgb2YgY29tcGls YXRpb24gZXJyb3IgZHVlIHRvIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGFmdGVyIGFzc2lnbm1lbnQu CiAqCiAqQnVnOiA1OTMKICpGaXhlZCBUeCBMaW5rIGxvc3MgcHJvYmxlbSBieQogKjEuIGNoZWNr aW5nIGZvciBwdXQgcG9pbnRlciBub3QgZ29pbmcgYmV5b25kIGdldCBwb2ludGVyCiAqMi4gc2V0 IGRlZmF1bHQgdHggZGVzY3JpcHRvcnMgdG8gNDA5NiggZG9uZSBpbiBzMmlvLmgpCiAqMy4gU2V0 IHJ0c19mcm1fbGVuIHJlZ2lzdGVyIHRvIE1UVSBzaXplLgogKjQuIENvcnJlY3RlZCB0aGUgbGVu Z3RoIHVzZWQgZm9yIGFkZHJlc3MgdW5tYXBwaW5nIGluCiAqICAgIHR4IGludHIgaGFuZGxlci4K ICoKICpSZXZpc2lvbiAxLjg3ICAyMDA0LzAxLzE5IDA5OjUwOjU5ICBya291c2hpawogKkJ1Zzog NTk4CiAqIEFkZGVkIEdQTCBub3RpY2VzIG9uIHRoZSBkcml2ZXIgc291cmNlIGZpbGVzLCBuYW1l bHkKICpzMmlvLmMsIHMyaW8uaCBhbmQgcmVncy5oCiAqCiAqS291c2hpawogKgogKlJldmlzaW9u IDEuODYgIDIwMDQvMDEvMTkgMDU6MjE6NTcgIHJrb3VzaGlrCiAqQnVnOiA2MTQKICpUaGUgWEFV SSBjb25maWd1cmF0aW9uIHdhcyBiZWluZyBkb25lIHVzaW5nIG9sZCB2YWx1ZXMgbWlzdGFrZW5s eS4KICpUaGUgaW5pdE5pYyBmdW5jIHdhcyBtb2RpZmllZCB3aXRoIHRoZSBuZXcgdmFsdWVzIGZv ciBYQVVJIGNvbmZpZ3VyYXRpb24uCiAqCiAqLUtvdXNoaWsKICoKICpSZXZpc2lvbiAxLjg1ICAy MDA0LzAxLzEzIDEzOjEzOjA1ICBya291c2hpawogKkJ1ZzogNDQ5CiAqIFRoZSBkcml2ZXIgc291 cmNlIGhhcyBiZWVuIG1vZGlmaWVkIHRvIGZvbGxvdyBtb3N0IG9mIHRoZSBzdWdnZXN0aW9uIGdp dmVuCiAqYnkgdGhlIGNvZGluZ1N0eWxlIGRvY3VtZW50IGluIHRoZSBsaW51eCBEb2N1bWVudGF0 aW9uIGZvbGRlci4KICpBbHNvIHNvbWUgY29kaW5nIGVycm9ycyBpZGVudGlmaWVkIGJ5IFN0ZXZl IE1vZGljYSBtZW50aW9uZWQgaW4gYnVnICMgNTM2CiAqaGF2ZSBhbHNvIGJlZW4gc2V0IHJpZ2h0 LgogKgogKktvdXNoaWsKICoKICpSZXZpc2lvbiAxLjg0ICAyMDA0LzAxLzAyIDA5OjQzOjI4ICBy a291c2hpawogKkJ1ZzogNTgxCiAqUmVzZXR0aW5nIE5pYyBhZnRlciBwZXJmb3JtaW5nIFJsZFJh bSB0ZXN0IHNvIGFzIHRvIHJlbW92ZSBSbGRSYW0gZnJvbQogKlRlc3QgTW9kZS4KICoKICotS291 c2hpawogKgogKlJldmlzaW9uIDEuODMgIDIwMDQvMDEvMDEgMDA6MTk6NDYgIGFyYXZpCiAqQnVn OiA1NzAKICpGaXhlZCByYWNlIGNvbmRpdGlvbiBpbiBUcmFuc21pdCBwYXRoLgogKgogKlJldmlz aW9uIDEuODIgIDIwMDMvMTIvMzAgMTM6MDM6MTQgIHJrb3VzaGlrCiAqQnVnOiAxNzcKICpUaGUg ZHJpdmVyIGhhcyBiZWVuIHVwZGF0ZWQgd2l0aCBzdXBwb3J0IGZvciBmdW50aW9uYWxpdGllcyBp biBldGh0b29sCiAqdmVyc2lvbiAxLjguIEludGVycnVwdCBtb2RlcmF0aW9uIGhhcyBiZWVuIHNr aXBwZWQgYXMgdGhlIG1ldGhvZG9sb2d5IHRvCiAqc2V0IGl0IHVzaW5nIGV0aHRvb2wgaXMgZGlm ZmVyZW50IHRvIG91ciBtZXRob2RvbG9neS4KICoKICotS291c2hpawogKgogKlJldmlzaW9uIDEu ODEgIDIwMDMvMTIvMTYgMjA6NDM6MzggIHVraXJhbgogKkJ1Zzo1NDIKICpXb3JrYXJvdW5kIHRv IGFkZHJlc3MgVFggRklGTyBmdWxsIGNvbmRpdGlvbgogKgogKlJldmlzaW9uIDEuODAgIDIwMDMv MTIvMTUgMjM6Mjc6NDcgIHVraXJhbgogKkJ1ZzogNTM2CiAqQ2hhbmdlZCBidWZmZXIgcmVwbGVu aXNoaW5nIGFsZ29yaXRobS4gSW5pdGlhbGl6aW5nIHJlY2VpdmUgbWVtb3J5LgogKgogKlJldmlz aW9uIDEuNzkgIDIwMDMvMTIvMTUgMDU6MDg6MDYgIHJrb3VzaGlrCiAqQnVnOiA1MTYKICogVGhl IEZpeCBpcyBhZ2FpbnN0IHRoZSBwcm9ibGVtIHNlZW4gYnkgTGF3ZXJlbmNlIExpdmVybW9yZSBw ZW9wbGUuCiAqRnVydGhlciBkZXRhaWxzIG9uIHRoZSBwcm9ibGVtIGFuZCB0aGUgZml4IGlzIGF2 YWlsYWJsZSBpbgogKmJ1ZyAjIDUxNiBvZiBidWd0cmFrLgogKgogKi1Lb3VzaGlrCiAqCiAqUmV2 aXNpb24gMS43OCAgMjAwMy8xMi8wMiAxOTo1Njo0OCAgdWtpcmFuCiAqQnVnOjUyNAogKkZpeCBm b3IgYWxsICJGRnMiIE1BQyBhZGRyZXNzIHByb2JsZW1zIG9uIEhQL0FscGhhIHBsYXRmb3Jtcwog KgogKlJldmlzaW9uIDEuNzcgIDIwMDMvMTIvMDIgMTk6NTM6MTIgIHVraXJhbgogKkJ1Zzo1MTAK ICpDbGVhbnVwIG9mIA0gY2hhcnMKICoKICpSZXZpc2lvbiAxLjc2ICAyMDAzLzExLzE5IDAyOjIz OjAyICB1a2lyYW4KICpCdWc6NDczCiAqRml4IHRvIGFkZHJlc3MgbGluayBkb3duIGNvbmRpdGlv biB3aXRoIG1pc2JlaGF2aW5nIHN3aXRjaGVzCiAqCiAqUmV2aXNpb24gMS43NSAgMjAwMy8xMS8x NCAwMTo1MzozNiAgdWtpcmFuCiAqQnVnOjQ5MwogKnBjaV9zZXRfY29uc2lzdGVudF9kbWFfbWFz aygpIGlzIHN1cHBvcnRlZCBpbiBrZXJuZWxzID4yLjYuMC10ZXN0Ny4KICpOZWVkIHRvIGZpZ3Vy ZSBvdXQgd2hldGhlciBpdCB3aWxsIGJlIGJhY2twb3J0ZWQgdG8gMi40Lnh4IGtlcm5lbHMuCiAq CiAqUmV2aXNpb24gMS43NCAgMjAwMy8xMS8xMiAwNTozMjowNiAgcmtvdXNoaWsKICpCdWc6IDQ5 MwogKkFkZGVkIGEga2VybmVsIHZlcnNpb24gY2hlY2sgYXJvdW5kIHRoZSBwY2lfc2V0X2NvbnNp c3RlbnRfZG1hX21hc2sKICpmdW5jdGlvbiBhcyBzcGVjaWZpZWQgaW4gdGhlIGxhdGVzdCBjb21t ZW50IG9mIEJ1ZyAjIDQ5MwogKgogKi1Lb3VzaGlrCiAqCiAqUmV2aXNpb24gMS43MyAgMjAwMy8x MS8wOCAwMjoyODo1NiAgdWtpcmFuCiAqQnVnOjQ5MwogKk1hZGUgdGhlIGZpeCBzdWdnZXN0ZWQg YnkgdGhlIGN1c3RvbWVyLiBBZGRlZCBwY2lfc2V0X2NvbnNpc3RlbnRfZG1hX21hc2soKSBhZnRl ciBwY2lfc2V0X2RtYV9tYXNrKCkuIFRoaXMgbWlnaHQgaGVscCBpbiByZXNvbHZpbmcgcGNpX2Fs bG9jX2NvbnNpc3RlbnQgZmFpbHVyZXMgYXQgU0dJLgogKndlIGNhbm5vdCB2ZXJpZnkgdGhpcyBw cm9ibGVtIGluIG91ciBsYWIuIFdlIHdpbGwgdmVyaWZ5IGF0IFNHSS4KICpNb3N0IG9mIHRoZSBk cml2ZXJzIGluIHB1YmxpYyBkb21haW4gYXJlIG5vdCBpbnZva2luZyB0aGlzIGZ1bmN0aW9uLgog KlNvIHRoaXMgcHJvYmxlbSBleGlzdHMgaW4gdGhlaXIgYWRhcHRlcnMuIEhvd2V2ZXIsIHRpZ29u IGRyaXZlciBoYXMKICphIGZpeCBmb3IgaXQuCiAqCiAqLVVkYXkKICoKICpSZXZpc2lvbiAxLjcy ICAyMDAzLzExLzA3IDEwOjIyOjQwICBya291c2hpawogKkJ1ZzogNDkyCiAqQ2hhbmdlZCBhcyBw ZXIgdGhlIGluZm8gcHJvdmlkZWQgaW4gQnVnICMgNDkyLgogKgogKlJldmlzaW9uIDEuNzEgIDIw MDMvMTEvMDQgMDI6MDY6NTYgIHVraXJhbgogKkJ1Zzo0ODQKICpFbmFibGluZyBMb2dzIGluIHNv dXJjZSBjb2RlCiAqCiAqLwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4vczJpby5oAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAwMTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDA2NjQ2MwAx MDAwMzEzNDYyMQAwMTA3NDQAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAdXN0YXIgIAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALyoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiBzMmlv Lmg6IEEgTGludXggUENJLVggRXRoZXJuZXQgZHJpdmVyIGZvciBTMklPIDEwR2JFIFNlcnZlciBO SUMKICogQ29weXJpZ2h0IDIwMDIgUmFnaGF2ZW5kcmEgS291c2hpayAocmFnaGF2ZW5kcmEua291 c2hpa0BzMmlvLmNvbSkKCiAqIFRoaXMgc29mdHdhcmUgbWF5IGJlIHVzZWQgYW5kIGRpc3RyaWJ1 dGVkIGFjY29yZGluZyB0byB0aGUgdGVybXMgb2YKICogdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIChHUEwpLCBpbmNvcnBvcmF0ZWQgaGVyZWluIGJ5IHJlZmVyZW5jZS4KICogRHJpdmVy cyBiYXNlZCBvbiBvciBkZXJpdmVkIGZyb20gdGhpcyBjb2RlIGZhbGwgdW5kZXIgdGhlIEdQTCBh bmQgbXVzdAogKiByZXRhaW4gdGhlIGF1dGhvcnNoaXAsIGNvcHlyaWdodCBhbmQgbGljZW5zZSBu b3RpY2UuICBUaGlzIGZpbGUgaXMgbm90CiAqIGEgY29tcGxldGUgcHJvZ3JhbSBhbmQgbWF5IG9u bHkgYmUgdXNlZCB3aGVuIHRoZSBlbnRpcmUgb3BlcmF0aW5nCiAqIHN5c3RlbSBpcyBsaWNlbnNl ZCB1bmRlciB0aGUgR1BMLgogKiBTZWUgdGhlIGZpbGUgQ09QWUlORyBpbiB0aGlzIGRpc3RyaWJ1 dGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2lmbmRlZiBfUzJJ T19ICiNkZWZpbmUgX1MySU9fSAoKI2lmIGRlZmluZWQoQ09ORklHX0lBNjQpIHx8IGRlZmluZWQo Q09ORklHX0FMUEhBKSB8fCBkZWZpbmVkKENPTkZJR19YODZfNjQpCiNkZWZpbmUgWEVOQV9BUkNI XzY0CiNlbGlmIGRlZmluZWQoQ09ORklHX1BQQzMyKSB8fCBkZWZpbmVkKENPTkZJR19QUEM2NCkK I2RlZmluZSBYRU5BX0FSQ0hfNjQKI2RlZmluZSBBUkNIX1BQQzY0CiNlbmRpZgoKI2lmIExJTlVY X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMDApCiNkZWZpbmUgS0VSTl8yNgoj ZW5kaWYKCiNkZWZpbmUgQ09ORklHVVJFX0VUSFRPT0xfU1VQUE9SVAovLyNkZWZpbmUgQ09ORklH VVJFX05BUElfU1VQUE9SVAovLyNkZWZpbmUJQ09ORklHVVJFX0VYVEVOREVEX0VSUk9SX0hBTkRM SU5HCgojZGVmaW5lIFRCRCAwCiNkZWZpbmUgQklUKGxvYykgICAgICAgICgoKHU2NCkweDgwMDAw MDAwMDAwMDAwMDApID4+IGxvYykKI2RlZmluZSB2QklUKHZhbCwgbG9jLCBzeikgICgoKHU2NCl2 YWwpIDw8ICg2NC1sb2Mtc3opKQoKI2lmbmRlZiBFVEhfQUxFTgojZGVmaW5lIEVUSF9BTEVOICAg IDYKI2VuZGlmCgojaWZkZWYgQVJDSF9QUEM2NAoJdHlwZWRlZiB1NjQgZG1hYWRkcl90OwojZWxz ZQoJdHlwZWRlZiBkbWFfYWRkcl90IGRtYWFkZHJfdDsKI2VuZGlmCgojaWZuZGVmIEJPT0wKI2Rl ZmluZSBCT09MICAgIGludAojZW5kaWYKCiNpZm5kZWYgVFJVRQojZGVmaW5lIFRSVUUgICAgMQoj ZGVmaW5lIEZBTFNFICAgMAojZW5kaWYKCiN1bmRlZiBTVUNDRVNTICAKI2RlZmluZSBTVUNDRVNT IDAKI2RlZmluZSBGQUlMVVJFIC0xCgovKiBNYXhpbXVtIG91dHN0YW5kaW5nIHNwbGl0cyB0byBi ZSBjb25maWd1cmVkIGludG8geGVuYS4gKi8KdHlwZWRlZiBlbnVtIHhlbmFfbWF4X291dHN0YW5k aW5nX3NwbGl0cyB7CglYRU5BX09ORV9TUExJVF9UUkFOU0FDVElPTiAJCQk9IDAsCglYRU5BX1RX T19TUExJVF9UUkFOU0FDVElPTiAJCQk9IDEsCglYRU5BX1RIUkVFX1NQTElUX1RSQU5TQUNUSU9O IAkJPSAyLAoJWEVOQV9GT1VSX1NQTElUX1RSQU5TQUNUSU9OIAkJPSAzLAoJWEVOQV9FSUdIVF9T UExJVF9UUkFOU0FDVElPTiAJCT0gNCwKCVhFTkFfVFdFTFZFX1NQTElUX1RSQU5TQUNUSU9OIAkJ PSA1LAoJWEVOQV9TSVhURUVOX1NQTElUX1RSQU5TQUNUSU9OIAkJPSA2LAoJWEVOQV9USElSVFlU V09fU1BMSVRfVFJBTlNBQ1RJT04gCT0gNwp9eGVuYV9tYXhfb3V0c3RhbmRpbmdfc3BsaXRzOwoj ZGVmaW5lIFhFTkFfTUFYX09VVFNUQU5ESU5HX1NQTElUUyhuKSBuIDw8IDQKCi8qICBPUyBjb25j ZXJuZWQgdmFyaWFibGVzIGFuZCBjb25zdGFudHMgKi8KI2RlZmluZSBXQVRDSF9ET0dfVElNRU9V VCAgIAk1KkhaCiNkZWZpbmUgRUZJTEwgICAgICAgCQkJMHgxMjM0CiNkZWZpbmUgQUxJR05fU0la RSAgCQkJMTI3ICAgICAKI2RlZmluZQlQQ0lYX0NPTU1BTkRfUkVHSVNURVIJMHg2MgoKI2lmbmRl ZiBTVVBQT1JURURfMTAwMDBiYXNlVF9GdWxsCiNkZWZpbmUgU1VQUE9SVEVEXzEwMDAwYmFzZVRf RnVsbCAoMSA8PCAxMikKI2VuZGlmCgovKgogKiBEZWJ1ZyByZWxhdGVkIHZhcmlhYmxlcy4KICov CiNkZWZpbmUgREVCVUdfT04gVFJVRQoKLyogZGlmZmVyZW50IGRlYnVnIGxldmVscy4gKi8KI2Rl ZmluZQlFUlJfREJHCQkwCiNkZWZpbmUJSU5JVF9EQkcJMQojZGVmaW5lCUlORk9fREJHCTIKI2Rl ZmluZQlUWF9EQkcJCTMKI2RlZmluZQlJTlRSX0RCRwk0CgovKiBHbG9iYWwgdmFyaWFibGUgdGhh dCBkZWZpbmVzIHRoZSBwcmVzZW50IGRlYnVnIGxldmVsIG9mIHRoZSBkcml2ZXIuICovCmludCBk ZWJ1Z19sZXZlbCA9IEVSUl9EQkc7IC8qIERlZmF1bHQgbGV2ZWwuICovCgovKiBERUJVRyBtZXNz YWdlIHByaW50LiAqLwojZGVmaW5lIERCR19QUklOVChkYmdfbGV2ZWwsIGFyZ3MuLi4pICBpZigh KGRlYnVnX2xldmVsPGRiZ19sZXZlbCkpIHByaW50ayhhcmdzKQoKLyogUHJvdG9jb2wgYXNzaXN0 IGZlYXR1cmVzIG9mIHRoZSBOSUMgKi8KI2RlZmluZSBMM19DS1NVTV9PSyAweEZGRkYKI2RlZmlu ZSBMNF9DS1NVTV9PSyAweEZGRkYKI2RlZmluZSBTMklPX0pVTUJPX1NJWkUgOTYwMAoKLyogVGhl IHN0YXRpc3RpY3MgYmxvY2sgb2YgWGVuYSAqLwojZGVmaW5lIFNUQVRTX0FMTE9DRUQgMQp0eXBl ZGVmIHN0cnVjdCBzdGF0X2Jsb2NrIHsKI2lmZGVmICBfX0JJR19FTkRJQU4KLyogVHggTUFDIHN0 YXRpc3RpY3MgY291bnRlcnMuICovCiAgICB1MzIgdG1hY19mcm1zOwogICAgdTMyIHRtYWNfZGF0 YV9vY3RldHM7CiAgICB1NjQgdG1hY19kcm9wX2ZybXM7CiAgICB1MzIgdG1hY19tY3N0X2ZybXM7 CiAgICB1MzIgdG1hY19iY3N0X2ZybXM7CiAgICB1NjQgdG1hY19wYXVzZV9jdHJsX2ZybXM7CiAg ICB1MzIgdG1hY190dGxfb2N0ZXRzOwogICAgdTMyIHRtYWNfdWNzdF9mcm1zOwogICAgdTMyIHRt YWNfbnVjc3RfZnJtczsKICAgIHUzMiB0bWFjX2FueV9lcnJfZnJtczsKICAgIHU2NCB0bWFjX3R0 bF9sZXNzX2ZiX29jdGV0czsKICAgIHU2NCB0bWFjX3ZsZF9pcF9vY3RldHM7CiAgICB1MzIgdG1h Y192bGRfaXA7CiAgICB1MzIgdG1hY19kcm9wX2lwOwogICAgdTMyIHRtYWNfaWNtcDsKICAgIHUz MiB0bWFjX3JzdF90Y3A7CiAgICB1NjQgdG1hY190Y3A7CiAgICB1MzIgdG1hY191ZHA7CiAgICB1 MzIgcmVzZXJ2ZWRfMDsKCi8qIFJ4IE1BQyBTdGF0aXN0aWNzIGNvdW50ZXJzLiAqLwogICAgdTMy IHJtYWNfdmxkX2ZybXM7CiAgICB1MzIgcm1hY19kYXRhX29jdGV0czsKICAgIHU2NCBybWFjX2Zj c19lcnJfZnJtczsKICAgIHU2NCBybWFjX2Ryb3BfZnJtczsKICAgIHUzMiBybWFjX3ZsZF9tY3N0 X2ZybXM7CiAgICB1MzIgcm1hY192bGRfYmNzdF9mcm1zOwogICAgdTMyIHJtYWNfaW5fcm5nX2xl bl9lcnJfZnJtczsKICAgIHUzMiBybWFjX291dF9ybmdfbGVuX2Vycl9mcm1zOwogICAgdTY0IHJt YWNfbG9uZ19mcm1zOwogICAgdTY0IHJtYWNfcGF1c2VfY3RybF9mcm1zOwogICAgdTY0IHJtYWNf dW5zdXBfY3RybF9mcm1zOwogICAgdTMyIHJtYWNfdHRsX29jdGV0czsKICAgIHUzMiBybWFjX2Fj Y2VwdGVkX3Vjc3RfZnJtczsKICAgIHUzMiBybWFjX2FjY2VwdGVkX251Y3N0X2ZybXM7CiAgICB1 MzIgcm1hY19kaXNjYXJkZWRfZnJtczsKICAgIHUzMiBybWFjX2Ryb3BfZXZlbnRzOwoJdTMyCXJl c2VydmVkXzE7CiAgICB1NjQgcm1hY190dGxfbGVzc19mYl9vY3RldHM7CiAgICB1NjQgcm1hY190 dGxfZnJtczsKCXU2NCByZXNlcnZlZF8yOwoJdTMyIHJlc2VydmVkXzM7Cgl1MzIgcm1hY191c2l6 ZWRfZnJtczsKCXUzMiBybWFjX29zaXplZF9mcm1zOwoJdTMyIHJtYWNfZnJhZ19mcm1zOwoJdTMy IHJtYWNfamFiYmVyX2ZybXM7Cgl1MzIJcmVzZXJ2ZWRfNDsKICAgIHU2NCBybWFjX3R0bF82NF9m cm1zOwogICAgdTY0IHJtYWNfdHRsXzY1XzEyN19mcm1zOwoJdTY0CXJlc2VydmVkXzU7CiAgICB1 NjQgcm1hY190dGxfMTI4XzI1NV9mcm1zOwogICAgdTY0IHJtYWNfdHRsXzI1Nl81MTFfZnJtczsK CXU2NAlyZXNlcnZlZF82OwogICAgdTY0IHJtYWNfdHRsXzUxMl8xMDIzX2ZybXM7CiAgICB1NjQg cm1hY190dGxfMTAyNF8xNTE4X2ZybXM7Cgl1MzIJcmVzZXJ2ZWRfNzsKCXUzMglybWFjX2lwOwoJ dTY0CXJtYWNfaXBfb2N0ZXRzOwogICAgdTMyIHJtYWNfaGRyX2Vycl9pcDsKICAgIHUzMiBybWFj X2Ryb3BfaXA7CiAgICB1MzIgcm1hY19pY21wOwogICAgdTMyIHJlc2VydmVkXzg7CiAgICB1NjQg cm1hY190Y3A7CiAgICB1MzIgcm1hY191ZHA7CiAgICB1MzIgcm1hY19lcnJfZHJwX3VkcDsKICAg IHU2NCBybWFjX3hnbWlpX2Vycl9zeW07CiAgICB1NjQgcm1hY19mcm1zX3EwOwogICAgdTY0IHJt YWNfZnJtc19xMTsKICAgIHU2NCBybWFjX2ZybXNfcTI7CiAgICB1NjQgcm1hY19mcm1zX3EzOwog ICAgdTY0IHJtYWNfZnJtc19xNDsKICAgIHU2NCBybWFjX2ZybXNfcTU7CiAgICB1NjQgcm1hY19m cm1zX3E2OwogICAgdTY0IHJtYWNfZnJtc19xNzsKICAgIHUxNiBybWFjX2Z1bGxfcTA7CiAgICB1 MTYgcm1hY19mdWxsX3ExOwogICAgdTE2IHJtYWNfZnVsbF9xMjsKICAgIHUxNiBybWFjX2Z1bGxf cTM7CiAgICB1MTYgcm1hY19mdWxsX3E0OwogICAgdTE2IHJtYWNfZnVsbF9xNTsKICAgIHUxNiBy bWFjX2Z1bGxfcTY7CiAgICB1MTYgcm1hY19mdWxsX3E3OwogICAgdTMyIHJtYWNfcGF1c2VfY250 OwoJdTMyCXJlc2VydmVkXzk7CiAgICB1NjQgcm1hY194Z21paV9kYXRhX2Vycl9jbnQ7CiAgICB1 NjQgcm1hY194Z21paV9jdHJsX2Vycl9jbnQ7CiAgICB1MzIgcm1hY19hY2NlcHRlZF9pcDsKICAg IHUzMiBybWFjX2Vycl90Y3A7CgkKLyogUENJL1BDSS1YIFJlYWQgdHJhbnNhY3Rpb24gc3RhdGlz dGljcy4gKi8KICAgIHUzMiByZF9yZXFfY250OwogICAgdTMyIG5ld19yZF9yZXFfY250OyAKICAg IHUzMiBuZXdfcmRfcmVxX3J0cnlfY250OwogICAgdTMyIHJkX3J0cnlfY250OwogICAgdTMyIHdy X3J0cnlfcmRfYWNrX2NudDsKCi8qIFBDSS9QQ0ktWCB3cml0ZSB0cmFuc2FjdGlvbiBzdGF0aXN0 aWNzLiAqLwogICAgdTMyIHdyX3JlcV9jbnQ7CiAgICB1MzIgbmV3X3dyX3JlcV9jbnQ7IAogICAg dTMyIG5ld193cl9yZXFfcnRyeV9jbnQ7IAogICAgdTMyIHdyX3J0cnlfY250OwogICAgdTMyIHdy X2Rpc2NfY250OwogICAgdTMyIHJkX3J0cnlfd3JfYWNrX2NudDsKCQovKglETUEgVHJhbnNhY3Rp b24gc3RhdGlzdGljcy4gKi8KICAgIHUzMiB0eHBfd3JfY250OwogICAgdTMyIHR4ZF9yZF9jbnQ7 CiAgICB1MzIgdHhkX3dyX2NudDsKICAgIHUzMiByeGRfcmRfY250OwogICAgdTMyIHJ4ZF93cl9j bnQ7CiAgICB1MzIgdHhmX3JkX2NudDsKICAgIHUzMiByeGZfd3JfY250OwojZWxzZQovKiBUeCBN QUMgc3RhdGlzdGljcyBjb3VudGVycy4gKi8KICAgIHUzMiB0bWFjX2RhdGFfb2N0ZXRzOwogICAg dTMyIHRtYWNfZnJtczsKICAgIHU2NCB0bWFjX2Ryb3BfZnJtczsKICAgIHUzMiB0bWFjX2Jjc3Rf ZnJtczsKICAgIHUzMiB0bWFjX21jc3RfZnJtczsKICAgIHU2NCB0bWFjX3BhdXNlX2N0cmxfZnJt czsKICAgIHUzMiB0bWFjX3Vjc3RfZnJtczsKICAgIHUzMiB0bWFjX3R0bF9vY3RldHM7CiAgICB1 MzIgdG1hY19hbnlfZXJyX2ZybXM7CiAgICB1MzIgdG1hY19udWNzdF9mcm1zOwogICAgdTY0IHRt YWNfdHRsX2xlc3NfZmJfb2N0ZXRzOwogICAgdTY0IHRtYWNfdmxkX2lwX29jdGV0czsKICAgIHUz MiB0bWFjX2Ryb3BfaXA7CiAgICB1MzIgdG1hY192bGRfaXA7CiAgICB1MzIgdG1hY19yc3RfdGNw OwogICAgdTMyIHRtYWNfaWNtcDsKICAgIHU2NCB0bWFjX3RjcDsKICAgIHUzMiByZXNlcnZlZF8w OwogICAgdTMyIHRtYWNfdWRwOwoKLyogUnggTUFDIFN0YXRpc3RpY3MgY291bnRlcnMuICovCiAg ICB1MzIgcm1hY19kYXRhX29jdGV0czsKICAgIHUzMiBybWFjX3ZsZF9mcm1zOwogICAgdTY0IHJt YWNfZmNzX2Vycl9mcm1zOwogICAgdTY0IHJtYWNfZHJvcF9mcm1zOwogICAgdTMyIHJtYWNfdmxk X2Jjc3RfZnJtczsKICAgIHUzMiBybWFjX3ZsZF9tY3N0X2ZybXM7CiAgICB1MzIgcm1hY19vdXRf cm5nX2xlbl9lcnJfZnJtczsKICAgIHUzMiBybWFjX2luX3JuZ19sZW5fZXJyX2ZybXM7CiAgICB1 NjQgcm1hY19sb25nX2ZybXM7CiAgICB1NjQgcm1hY19wYXVzZV9jdHJsX2ZybXM7CiAgICB1NjQg cm1hY191bnN1cF9jdHJsX2ZybXM7CiAgICB1MzIgcm1hY19hY2NlcHRlZF91Y3N0X2ZybXM7CiAg ICB1MzIgcm1hY190dGxfb2N0ZXRzOwogICAgdTMyIHJtYWNfZGlzY2FyZGVkX2ZybXM7CiAgICB1 MzIgcm1hY19hY2NlcHRlZF9udWNzdF9mcm1zOwogICAgdTMyIHJlc2VydmVkXzE7CQogICAgdTMy IHJtYWNfZHJvcF9ldmVudHM7CiAgICB1NjQgcm1hY190dGxfbGVzc19mYl9vY3RldHM7CiAgICB1 NjQgcm1hY190dGxfZnJtczsKCXU2NAlyZXNlcnZlZF8yOwogICAgdTMyIHJtYWNfdXNpemVkX2Zy bXM7Cgl1MzIJcmVzZXJ2ZWRfMzsKICAgIHUzMiBybWFjX2ZyYWdfZnJtczsKICAgIHUzMiBybWFj X29zaXplZF9mcm1zOwoJdTMyCXJlc2VydmVkXzQ7CiAgICB1MzIgcm1hY19qYWJiZXJfZnJtczsK ICAgIHU2NCBybWFjX3R0bF82NF9mcm1zOwogICAgdTY0IHJtYWNfdHRsXzY1XzEyN19mcm1zOwoJ dTY0CXJlc2VydmVkXzU7CiAgICB1MzIgcm1hY190dGxfMTI4XzI1NV9mcm1zX29mbG93OwogICAg dTMyIHJtYWNfdHRsXzY1XzEyN19mcm1zX29mbG93OwogICAgdTY0IHJtYWNfdHRsXzEyOF8yNTVf ZnJtczsKICAgIHU2NCBybWFjX3R0bF8yNTZfNTExX2ZybXM7Cgl1NjQJcmVzZXJ2ZWRfNjsKICAg IHUzMiBybWFjX3R0bF81MTJfMTAyM19mcm1zX29mbG93OwogICAgdTMyIHJtYWNfdHRsXzI1Nl81 MTFfZnJtc19vZmxvdzsKICAgIHU2NCBybWFjX3R0bF81MTJfMTAyM19mcm1zOwogICAgdTY0IHJt YWNfdHRsXzEwMjRfMTUxOF9mcm1zOwogICAgdTMyIHJtYWNfaXA7Cgl1MzIgcmVzZXJ2ZWRfNzsK ICAgIHU2NCBybWFjX2lwX29jdGV0czsKICAgIHUzMiBybWFjX2Ryb3BfaXA7CiAgICB1MzIgcm1h Y19oZHJfZXJyX2lwOwogICAgdTMyIHJlc2VydmVkXzg7CiAgICB1MzIgcm1hY19pY21wOwogICAg dTY0IHJtYWNfdGNwOwogICAgdTMyIHJtYWNfZXJyX2RycF91ZHA7CiAgICB1MzIgcm1hY191ZHA7 CiAgICB1NjQgcm1hY194Z21paV9lcnJfc3ltOwogICAgdTY0IHJtYWNfZnJtc19xMDsKICAgIHU2 NCBybWFjX2ZybXNfcTE7CiAgICB1NjQgcm1hY19mcm1zX3EyOwogICAgdTY0IHJtYWNfZnJtc19x MzsKICAgIHU2NCBybWFjX2ZybXNfcTQ7CiAgICB1NjQgcm1hY19mcm1zX3E1OwogICAgdTY0IHJt YWNfZnJtc19xNjsKICAgIHU2NCBybWFjX2ZybXNfcTc7CiAgICB1MTYgcm1hY19mdWxsX3EzOwog ICAgdTE2IHJtYWNfZnVsbF9xMjsKICAgIHUxNiBybWFjX2Z1bGxfcTE7CiAgICB1MTYgcm1hY19m dWxsX3EwOwogICAgdTE2IHJtYWNfZnVsbF9xNzsKICAgIHUxNiBybWFjX2Z1bGxfcTY7CiAgICB1 MTYgcm1hY19mdWxsX3E1OwogICAgdTE2IHJtYWNfZnVsbF9xNDsKICAgIHUzMiByZXNlcnZlZF85 OwogICAgdTMyIHJtYWNfcGF1c2VfY250OwogICAgdTY0IHJtYWNfeGdtaWlfZGF0YV9lcnJfY250 OwogICAgdTY0IHJtYWNfeGdtaWlfY3RybF9lcnJfY250OwogICAgdTMyIHJtYWNfZXJyX3RjcDsK ICAgIHUzMiBybWFjX2FjY2VwdGVkX2lwOwoKLyogUENJL1BDSS1YIFJlYWQgdHJhbnNhY3Rpb24g c3RhdGlzdGljcy4gKi8KCXUzMiBuZXdfcmRfcmVxX2NudDsKCXUzMglyZF9yZXFfY250OwogICAg dTMyIHJkX3J0cnlfY250OwogICAgdTMyIG5ld19yZF9yZXFfcnRyeV9jbnQ7CgovKiBQQ0kvUENJ LVggV3JpdGUvUmVhZCB0cmFuc2FjdGlvbiBzdGF0aXN0aWNzLiAqLwogICAgdTMyIHdyX3JlcV9j bnQ7CiAgICB1MzIgd3JfcnRyeV9yZF9hY2tfY250OwogICAgdTMyIG5ld193cl9yZXFfcnRyeV9j bnQ7CiAgICB1MzIgbmV3X3dyX3JlcV9jbnQ7CiAgICB1MzIgd3JfZGlzY19jbnQ7CiAgICB1MzIg d3JfcnRyeV9jbnQ7CgovKglQQ0kvUENJLVggV3JpdGUgLyBETUEgVHJhbnNhY3Rpb24gc3RhdGlz dGljcy4gKi8KICAgIHUzMiB0eHBfd3JfY250OwogICAgdTMyIHJkX3J0cnlfd3JfYWNrX2NudDsK ICAgIHUzMiB0eGRfd3JfY250OwogICAgdTMyIHR4ZF9yZF9jbnQ7CiAgICB1MzIgcnhkX3dyX2Nu dDsKICAgIHUzMiByeGRfcmRfY250OwogICAgdTMyIHJ4Zl93cl9jbnQ7CiAgICB1MzIgdHhmX3Jk X2NudDsKI2VuZGlmCn1TdGF0SW5mb190OyAgCgovKiBTdHJ1Y3R1cmVzIHJlcHJlc2VudGluZyBk aWZmZXJlbnQgaW5pdCB0aW1lIGNvbmZpZ3VyYXRpb24KICogcGFyYW1ldGVycyBvZiB0aGUgTklD LgogKi8KCi8qIE1haW50YWlucyBQZXIgRklGTyByZWxhdGVkIGluZm9ybWF0aW9uLiAqLwp0eXBl ZGVmIHN0cnVjdCB0eF9maWZvX2NvbmZpZwp7CiNkZWZpbmUJTUFYX0FWQUlMQUJMRV9UWERTCTgx OTIJCiAgICB1MzIgICAgIEZpZm9MZW47ICAgICAgICAvKiBzcGVjaWZpZXMgbGVuIG9mIEZJRk8g dXB0byA4MTkyLCBpZSBubyBvZiBUeERMcyovCi8qIFByaW9yaXR5IGRlZmluaXRpb24gKi8KI2Rl ZmluZSBUWF9GSUZPX1BSSV8wICAgICAgICAgICAgICAgMCAvKkhpZ2hlc3QqLwojZGVmaW5lIFRY X0ZJRk9fUFJJXzEgICAgICAgICAgICAgICAxCiNkZWZpbmUgVFhfRklGT19QUklfMiAgICAgICAg ICAgICAgIDIKI2RlZmluZSBUWF9GSUZPX1BSSV8zICAgICAgICAgICAgICAgMwojZGVmaW5lIFRY X0ZJRk9fUFJJXzQgICAgICAgICAgICAgICA0CiNkZWZpbmUgVFhfRklGT19QUklfNSAgICAgICAg ICAgICAgIDUKI2RlZmluZSBUWF9GSUZPX1BSSV82ICAgICAgICAgICAgICAgNgojZGVmaW5lIFRY X0ZJRk9fUFJJXzcgICAgICAgICAgICAgICA3IC8qbG93ZXN0Ki8KICAgIHU4ICAgICAgRmlmb1By aW9yaXR5OyAgIC8qIHNwZWNpZmllcyBwb2ludGVyIGxldmVsIGZvciBGSUZPKi8KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIHVzZXIgc2hvdWxkIG5vdCBzZXQgdHdvcyBmaWZvcyB3aXRo IHNhbWUgcHJpICovCiAgICB1OCAgICAgIGZOb1Nub29wOyAgICAgICAgCiNkZWZpbmUgTk9fU05P T1BfVFhEICAgICAgICAgICAgICAgIDB4MDEKI2RlZmluZSBOT19TTk9PUF9UWERfQlVGRkVSICAg ICAgICAgIDB4MDIgCn0gdHhfZmlmb19jb25maWdfdDsKCgovKiBNYWludGFpbnMgcGVyIFJpbmcg cmVsYXRlZCBpbmZvcm1hdGlvbiAqLwp0eXBlZGVmIHN0cnVjdCByeF9yaW5nX2NvbmZpZwp7CiAg ICB1MzIgTnVtUnhkOyAgICAgICAgIC8qTm8gb2YgUnhEcyBwZXIgUnggUmluZyAqLwojZGVmaW5l IFJYX1JJTkdfUFJJXzAgICAgICAgICAgICAgICAwIC8qIGhpZ2hlc3QgKi8KI2RlZmluZSBSWF9S SU5HX1BSSV8xICAgICAgICAgICAgICAgMSAKI2RlZmluZSBSWF9SSU5HX1BSSV8yICAgICAgICAg ICAgICAgMiAKI2RlZmluZSBSWF9SSU5HX1BSSV8zICAgICAgICAgICAgICAgMyAKI2RlZmluZSBS WF9SSU5HX1BSSV80ICAgICAgICAgICAgICAgNCAKI2RlZmluZSBSWF9SSU5HX1BSSV81ICAgICAg ICAgICAgICAgNQojZGVmaW5lIFJYX1JJTkdfUFJJXzYgICAgICAgICAgICAgICA2IAojZGVmaW5l IFJYX1JJTkdfUFJJXzcgICAgICAgICAgICAgICA3IC8qIGxvd2VzdCAqLwoKICAgIHU4ICBSaW5n UHJpb3JpdHk7ICAgLypTcGVjaWZpZXMgc2VydmljZSBwcmlvcml0eSBvZiByaW5nKi8KICAgICAg ICAgICAgICAgICAgICAgICAgLyogT1NNIHNob3VsZCBub3Qgc2V0IGFueSB0d28gcmluZ3Mgd2l0 aCBzYW1lIHByaW9yaXR5Ki8KICAgIHU4ICBSaW5nT3JnOyAgICAgICAgLypPcmdhbml6YXRpb24g b2YgcmluZyovCiNkZWZpbmUgUklOR19PUkdfQlVGRjEgICAgICAgICAgIDB4MDEKI2RlZmluZSBS WF9SSU5HX09SR19CVUZGMyAgICAgICAgICAgMHgwMwojZGVmaW5lIFJYX1JJTkdfT1JHX0JVRkY1 ICAgICAgICAgICAweDA1CgovKiBJbiBjYXNlIG9mIDMgYnVmZmVyIHJlY3YuIG1vZGUsIHNpemUg b2YgdGhyZWUgYnVmZmVycyBpcyBleHBlY3RlZCBhcy4uICovCiNkZWZpbmUgQlVGRl9TWl8xICAg ICAgICAgICAgICAgICAgIDIyICAvKiBldGhlcm5ldCBoZWFkZXIgKi8gCiNkZWZpbmUgQlVGRl9T Wl8yICAgICAgICAgICAgICAgICAgICg2NCs2NCkgLyogbWF4LiBJUCtUQ1AgaGVhZGVyIHNpemUg Ki8KI2RlZmluZSBCVUZGX1NaXzMgICAgICAgICAgICAgICAgICAgKDE1MDAtMjAtMjApIC8qIFRD UCBwYXlsb2FkICovIAojZGVmaW5lIEJVRkZfU1pfM19KVU1CTyAgICAgICAgICAgICAoOTYwMC0y MC0yMCkgLyogSnVtYm8gVENQIHBheWxvYWQgKi8KCiAgICB1MzIgUnhkVGhyZXNoOyAgLypObyBv ZiB1c2VkIFJ4ZHMgTklDIGNhbiBzdG9yZSBiZWZvcmUgdHJhbnNmZXIgdG8gaG9zdCAqLwojZGVm aW5lIERFRkFVTFRfUlhEX1RIUkVTSE9MRCAgICAgICAweDEgLyogVE9ETyAqLwogICAgdTggIGZO b1Nub29wOyAgICAgICAgCiNkZWZpbmUgTk9fU05PT1BfUlhEICAgICAgICAgICAgICAgIDB4MDEK I2RlZmluZSBOT19TTk9PUF9SWERfQlVGRkVSICAgICAgICAgMHgwMiAKICAgIHUzMiBSeERfQmFj a09mZl9JbnRlcnZhbDsKI2RlZmluZSBSWERfQkFDS09GRl9JTlRFUlZBTF9ERUYgICAgICAgIDB4 MAojZGVmaW5lIFJYRF9CQUNLT0ZGX0lOVEVSVkFMX01JTiAgICAgICAgMHgwCiNkZWZpbmUgUlhE X0JBQ0tPRkZfSU5URVJWQUxfTUFYICAgICAgICAweDAKfSByeF9yaW5nX2NvbmZpZ190OwoKLyog VGhpcyBzdHJ1Y3R1cmUgcHJvdmlkZXMgY29udGFpbnMgdmFsdWVzIG9mIHRoZSB0dW5hYmxlIHBh cmFtZXRlcnMgCiAqIG9mIHRoZSBIL1cgCiAqLwpzdHJ1Y3QgY29uZmlnX3BhcmFtIAp7CiAgICAK LyogVHggU2lkZSAqLwogICAgdTMyICAgICBUeEZJRk9OdW07ICAgICAgLypOdW1iZXIgb2YgVHgg RklGT3MgKi8KI2RlZmluZSBNQVhfVFhfRklGT1MgOAoKICAgIHR4X2ZpZm9fY29uZmlnX3QgIFR4 Q2ZnW01BWF9UWF9GSUZPU107ICAvKlBlci1UeCBGSUZPIGNvbmZpZyAqLwogICAgdTMyICAgICBN YXhUeERzOyAgICAgICAgIC8qTWF4IG5vLiBvZiBUeCBidWZmZXIgZGVzY3JpcHRvciBwZXIgVHhE TCovCiAgICBCT09MICAgIFR4VkxBTkVuYWJsZTsgICAvKlRSVUU6IEluc2VydCBWTEFOIElELCBG QUxTRTogRG9uJ3QgaW5zZXJ0Ki8KI2RlZmluZSBUWF9SRVFfVElNRU9VVF9ERUZBVUxUICAgICAg ICAgIDB4MAojZGVmaW5lIFRYX1JFUV9USU1FT1VUX01JTiAgICAgICAgICAgICAgMHgwCiNkZWZp bmUgVFhfUkVRX1RJTUVPVVRfTUFYICAgICAgICAgICAgICAweDAKICAgIHUzMiAgICAgVHhSZXFU aW1lT3V0OyAgIAogICAgQk9PTCAgICBUeEZsb3c7ICAgICAgICAgLypUeCBmbG93IGNvbnRyb2wg ZW5hYmxlKi8KICAgIEJPT0wgICAgUnhGbG93OwogICAgQk9PTCAgICBPdmVycmlkZVR4U2Vydmlj ZVN0YXRlOyAvKiBUUlVFOiBPdmVyaWRlLCBGQUxTRTogRG8gbm90IG92ZXJyaWRlIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2UgdGhlIG5ldyBwcmlvcml0eSBpbmZv cm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBzZXJ2aWNl IHN0YXRlLiBJdCBpcyBub3QgcmVjb21tZW5kZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdG8gY2hhbmdlIGJ1dCBPU00gY2FuIG9wdCB0byBkbyBzbyAqLwojZGVmaW5l IE1BWF9TRVJWSUNFX1NUQVRFUyAgMzYKICAgIHU4ICAgICAgVHhTZXJ2aWNlU3RhdGVbTUFYX1NF UlZJQ0VfU1RBVEVTXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q IEFycmF5IGVsZW1lbnQgcmVwcmVzZW50ICdwcmlvcml0eScgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKiBhbmQgYXJyYXkgaW5kZXggcmVwcmVzZW50cwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogICdTZXJ2aWNlIHN0YXRlJyBlLmcu IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogIFR4U2VydmljZVN0 YXRlWzNdPTc7IGl0IG1lYW5zIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogIFNlcnZpY2Ugc3RhdGUgMyBpcyBhc3NvY2lhdGVkIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICogIHdpdGggcHJpb3JpdHkgNyBvZiBhIFR4IEZJRk8gKi8K LyogUnggU2lkZSAqLwogICAgdTMyICAgICBSeFJpbmdOdW07ICAgIC8qTnVtYmVyIG9mIHJlY2Vp dmUgcmluZ3MqLwojZGVmaW5lIE1BWF9SWF9SSU5HUyA4CiNkZWZpbmUgTUFYX1JYX0JMT0NLU19Q RVJfUklORyAgMTUwCgogICAgcnhfcmluZ19jb25maWdfdCAgUnhDZmdbTUFYX1JYX1JJTkdTXTsg LypQZXItUnggUmluZyBjb25maWcgKi8KICAgIEJPT0wgICAgUnhWTEFORW5hYmxlOyAgIC8qVFJV RTogU3RyaXAgb2ZmIFZMQU4gdGFnIGZyb20gdGhlIGZyYW1lLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGQUxTRTogRG9uJ3Qgc3RyaXAgb2ZmIFZMQU4gdGFnICovCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAojZGVmaW5lIEhFQURFUl9FVEhFUk5FVF9JSV84MDJfM19TSVpF IDE0CiNkZWZpbmUgSEVBREVSXzgwMl8yX1NJWkUgICAgICAgICAgICAgIDMKI2RlZmluZSBIRUFE RVJfU05BUF9TSVpFICAgICAgICAgICAgICAgNQojZGVmaW5lIEhFQURFUl9WTEFOX1NJWkUgICAg ICAgICAgICAgICA0CiNkZWZpbmUgSEVBREVSX0FMSUdOX0xBWUVSXzMgICAgICAgICAgIDIKCiNk ZWZpbmUgTUlOX01UVSAgICAgICAgICAgICAgICAgICAgICAgNDYKI2RlZmluZSBNQVhfUFlMRCAg ICAgICAgICAgICAgICAgICAgMTUwMAojZGVmaW5lIE1BWF9NVFUgICAgICAgICAgICAgICAgICAg ICAoTUFYX1BZTEQrMTgpCiNkZWZpbmUgTUFYX01UVV9WTEFOICAgICAgICAgICAgICAgIChNQVhf UFlMRCsyMikKI2RlZmluZSBNQVhfUFlMRF9KVU1CTyAgICAgICAgICAgICAgOTYwMAojZGVmaW5l IE1BWF9NVFVfSlVNQk8gICAgICAgICAgICAgICAoTUFYX1BZTERfSlVNQk8rMTgpCiNkZWZpbmUg TUFYX01UVV9KVU1CT19WTEFOICAgICAgICAgIChNQVhfUFlMRF9KVU1CTysyMikKICAgIHUzMiAg ICAgTVRVOyAgICAgICAgICAgICAgICAgICAgICAgIC8qTWF4aW11bSBQYXlsb2FkKi8KICAgIEJP T0wgICAgSnVtYm9FbmFibGU7ICAgIC8qRW5hYmxlIEp1bWJvIGZyYW1lcyByZWN2L3NlbmQqLwog ICAgQk9PTCAgICBPdmVycmlkZVJ4U2VydmljZVN0YXRlOyAvKiBUUlVFOiBPdmVyaWRlLCBGQUxT RTogRG8gbm90IG92ZXJyaWRlIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBVc2UgdGhlIG5ldyBwcmlvcml0eSBpbmZvcm1hdGlvbgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvZiBzZXJ2aWNlIHN0YXRlLiBJdCBpcyBub3QgcmVjb21tZW5kZWQK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY2hhbmdlIGJ1dCBPU00g Y2FuIG9wdCB0byBkbyBzbyAqLwojZGVmaW5lIE1BWF9TRVJWSUNFX1NUQVRFUyAgMzYKICAgIHU4 ICAgICAgUnhTZXJ2aWNlU3RhdGVbTUFYX1NFUlZJQ0VfU1RBVEVTXTsgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQXJyYXkgZWxlbWVudCByZXByZXNlbnQg J3ByaW9yaXR5JyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIGFu ZCBhcnJheSBpbmRleCByZXByZXNlbnRzIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICogJ1NlcnZpY2Ugc3RhdGUnZS5nLiAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqIFJ4U2VydmljZVN0YXRlWzNdPTc7IGl0IG1lYW5zIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICogU2VydmljZSBzdGF0ZSAzIGlzIGFz c29jaWF0ZWQgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiB3aXRo IHByaW9yaXR5IDcgb2YgYSBSeCBGSUZPICovCiAgICBCT09MICAgIFN0YXRBdXRvUmVmcmVzaDsg IC8qIFdoZW4gdHJ1ZSwgU3RhdFJlZnJlc2hUaW1lIGhhdmUgdmFsaWQgdmFsdWUgKi8KICAgIHUz MiAgICAgU3RhdFJlZnJlc2hUaW1lOyAgLypUaW1lIGZvciByZWZyZXNoaW5nIHN0YXRpc3RpY3Mq LwojZGVmaW5lICAgICBTVEFUX1RSU0ZfUEVSXzFfU0VDT05EICAgICAgMHgyMDhENQp9OwoKLyog U3RydWN0dXJlIHJlcHJlc2VudGluZyBNQUMgQWRkcnMgKi8KdHlwZWRlZiBzdHJ1Y3QgbWFjX2Fk ZHIgewogICAgdTggbWFjX2FkZHJbRVRIX0FMRU5dOwp9bWFjYWRkcl90OwoKLyogU3RydWN0dXJl IHRoYXQgcmVwcmVzZW50IGV2ZXJ5IEZJRk8gZWxlbWVudCBpbiB0aGUgQkFSMQogKiBBZGRyZXNz IGxvY2F0aW9uLiAKICovCnR5cGVkZWYgc3RydWN0IF9UeEZJRk9fZWxlbWVudAp7CiAgICBkbWFh ZGRyX3QgVHhETF9Qb2ludGVyOwojaWZuZGVmIFhFTkFfQVJDSF82NCAKICAgIHUzMiBkdW1teTsK I2VuZGlmCiAgICB1NjQgTGlzdF9Db250cm9sOwojZGVmaW5lIFRYX0ZJRk9fTEFTVF9UWERfTlVN KCB2YWwpICAgICB2QklUKHZhbCwwLDgpCiNkZWZpbmUgVFhfRklGT19GSVJTVF9MSVNUICAgICAg ICAgICAgIEJJVCgxNCkKI2RlZmluZSBUWF9GSUZPX0xBU1RfTElTVCAgICAgICAgICAgICAgQklU KDE1KQojZGVmaW5lIFRYX0ZJRk9fRklSU1ROTEFTVF9MSVNUICAgICAgICB2QklUKDMsMTQsMikK I2RlZmluZSBUWF9GSUZPX1NQRUNJQUxfRlVOQyAgICAgICAgICAgQklUKDIzKQojZGVmaW5lIFRY X0ZJRk9fRFNfTk9fU05PT1AgICAgICAgICAgICBCSVQoMzEpCiNkZWZpbmUgVFhfRklGT19CVUZG X05PX1NOT09QICAgICAgICAgIEJJVCgzMCkKfSBUeEZJRk9fZWxlbWVudF90OwoKLyogVHggZGVz Y3JpcHRvciBzdHJ1Y3R1cmUgKi8KI2RlZmluZSBUWERfQUxMT0NFRCAyCnR5cGVkZWYgc3RydWN0 IF9UeEQKewogICAgdTY0IENvbnRyb2xfMTsKLyogYml0IG1hc2sgKi8KI2RlZmluZSBUWERfTElT VF9PV05fWEVOQSAgICAgICBCSVQoNykKI2RlZmluZSBUWERfVF9DT0RFICAgICAgICAgICAgICAo QklUKDEyKXxCSVQoMTMpfEJJVCgxNCl8QklUKDE1KSkKI2RlZmluZSBUWERfVF9DT0RFX09LKHZh bCkgICAgICAofCh2YWwgJiBUWERfVF9DT0RFKSkKI2RlZmluZSBHRVRfVFhEX1RfQ09ERSh2YWwp ICAgICAoKHZhbCAmIFRYRF9UX0NPREUpPDwxMikKI2RlZmluZSBUWERfR0FUSEVSX0NPREUgICAg ICAgICAoQklUKDIyKSB8IEJJVCgyMykpCiNkZWZpbmUgVFhEX0dBVEhFUl9DT0RFX0ZJUlNUICAg QklUKDIyKQojZGVmaW5lIFRYRF9HQVRIRVJfQ09ERV9MQVNUICAgIEJJVCgyMykKI2RlZmluZSBU WERfVENQX0xTT19FTiAgICAgICAgICBCSVQoMzApIAojZGVmaW5lIFRYRF9VRFBfQ09GX0VOICAg ICAgICAgIEJJVCgzMSkKI2RlZmluZSBUWERfVENQX0xTT19NU1ModmFsKSAgICB2QklUKHZhbCwz NCwxNCkKI2RlZmluZSBUWERfQlVGRkVSMF9TSVpFKHZhbCkgICB2QklUKHZhbCw0OCwxNikKCiAg ICB1NjQgQ29udHJvbF8yOwojZGVmaW5lIFRYRF9UWF9DS09fQ09OVFJPTCAgICAgIChCSVQoNSl8 QklUKDYpfEJJVCg3KSkKI2RlZmluZSBUWERfVFhfQ0tPX0lQVjRfRU4gICAgICBCSVQoNSkKI2Rl ZmluZSBUWERfVFhfQ0tPX1RDUF9FTiAgICAgICBCSVQoNikKI2RlZmluZSBUWERfVFhfQ0tPX1VE UF9FTiAgICAgICBCSVQoNykKI2RlZmluZSBUWERfVkxBTl9FTkFCTEUgICAgICAgICBCSVQoMTUp CiNkZWZpbmUgVFhEX1ZMQU5fVEFHKHZhbCkgICAgICAgdkJJVCh2YWwsMTYsMTYpCiNkZWZpbmUg VFhEX0lOVF9OVU1CRVIodmFsKSAgICAgdkJJVCh2YWwsMzQsNikKI2RlZmluZSBUWERfSU5UX1RZ UEVfUEVSX0xJU1QgICBCSVQoNDcpCiNkZWZpbmUgVFhEX0lOVF9UWVBFX1VUSUxaICAgICAgQklU KDQ2KQojZGVmaW5lIFRYRF9TRVRfTUFSS0VSICAgICAgICAgdkJJVCgweDYsMCw0KQoKICAgIGRt YWFkZHJfdCBCdWZmZXJfUG9pbnRlcjsKI2lmbmRlZiBYRU5BX0FSQ0hfNjQgCiAgICB1MzIgZHVt bXk7CiNlbmRpZgogICAgdTY0IEhvc3RfQ29udHJvbDsgICAgICAgLyogcmVzZXJ2ZWQgZm9yIGhv c3QgKi8gCn0gVHhEX3Q7CgovKiBSeCBkZXNjcmlwdG9yIHN0cnVjdHVyZSAqLwojZGVmaW5lIFJY RF9BTExPQ0VEIDQKCnR5cGVkZWYgc3RydWN0IF9SeERfdAp7CiAgICB1NjQgSG9zdF9Db250cm9s OyAgIC8qIHJlc2VydmVkIGZvciBob3N0ICovCiAgICB1NjQgQ29udHJvbF8xOwojZGVmaW5lIFJY RF9PV05fWEVOQSAgICAgICAgICAgIEJJVCg3KQojZGVmaW5lIFJYRF9UX0NPREUgICAgICAgICAg ICAgIChCSVQoMTIpfEJJVCgxMyl8QklUKDE0KXxCSVQoMTUpKQojZGVmaW5lIFJYRF9GUkFNRV9Q Uk9UTyAgICAgICAgIHZCSVQoMHhGRkZGLDI0LDgpCiNkZWZpbmUgUlhEX0ZSQU1FX1BST1RPX0lQ VjQgICAgQklUKDI3KQojZGVmaW5lIFJYRF9GUkFNRV9QUk9UT19JUFY2ICAgIEJJVCgyOCkKI2Rl ZmluZSBSWERfRlJBTUVfUFJPVE9fVENQICAgICBCSVQoMzApCiNkZWZpbmUgUlhEX0ZSQU1FX1BS T1RPX1VEUCAgICAgQklUKDMxKQojZGVmaW5lIFRDUF9PUl9VRFBfRlJBTUUgICAgICAgIChSWERf RlJBTUVfUFJPVE9fVENQIHwgUlhEX0ZSQU1FX1BST1RPX1VEUCkgCiNkZWZpbmUgUlhEX0dFVF9M M19DS1NVTSh2YWwpICAgKCh1MTYpKHZhbD4+IDE2KSAmIDB4RkZGRikKI2RlZmluZSBSWERfR0VU X0w0X0NLU1VNKHZhbCkgICAoKHUxNikodmFsKSAmIDB4RkZGRikKCiAgICB1NjQgQ29udHJvbF8y OwojZGVmaW5lIE1BU0tfQlVGRkVSMF9TSVpFICAgICAgIHZCSVQoMHhGRkZGLDAsMTYpCiNkZWZp bmUgU0VUX0JVRkZFUjBfU0laRSh2YWwpICAgdkJJVCh2YWwsMCwxNikKI2RlZmluZSBNQVNLX1ZM QU5fVEFHICAgICAgICAgICB2QklUKDB4RkZGRiw0OCwxNikKI2RlZmluZSBTRVRfVkxBTl9UQUco dmFsKSAgICAgICB2QklUKHZhbCw0OCwxNikKI2RlZmluZSBTRVRfTlVNX1RBRyh2YWwpICAgICAg IHZCSVQodmFsLDE2LDMyKQoKI2RlZmluZSBSWERfR0VUX0JVRkZFUjBfU0laRShDb250cm9sXzIp ICh1NjQpKChDb250cm9sXzIgJiB2QklUKDB4RkZGRiwwLDE2KSkpCi8qICAgIAojZGVmaW5lIFRY RF9HRVRfQlVGRkVSMV9TSVpFKENvbnRyb2xfMikgKHUxNikoKENvbnRyb2xfMiAmIE1BU0tfQlVG RkVSMV9TSVpFKSA+PiAoNjMtMzEpKSAgCiNkZWZpbmUgVFhEX0dFVF9CVUZGRVIyX1NJWkUoQ29u dHJvbF8yKSAodTE2KSgoQ29udHJvbF8yICYgTUFTS19CVUZGRVIyX1NJWkUpID4+ICg2My00Nykp ICAKKi8KICAgIGRtYWFkZHJfdCBCdWZmZXIwX3B0cjsKI2lmbmRlZiBYRU5BX0FSQ0hfNjQKICAg IHUzMiBkdW1teTsKI2VuZGlmCn0gUnhEX3Q7CgoKLyogU3RydWN0dXJlIHRoYXQgcmVwcmVzZW50 cyB0aGUgUnggZGVzY3JpcHRvciBibG9jayB3aGljaCBjb250YWlucyAKICogMTI4IFJ4IGRlc2Ny aXB0b3JzLgogKi8KdHlwZWRlZiBzdHJ1Y3QgX1J4RF9ibG9jawp7CiNkZWZpbmUgTUFYX1JYRFNf UEVSX0JMT0NLICAgICAgICAgICAgIDEyNwogICAgUnhEX3QgICAgcnhkW01BWF9SWERTX1BFUl9C TE9DS107CiNkZWZpbmUgTk9OWkVSTyAgMHgxMjM0NTY3OAogICAgdTY0ICAgICAgcmVzZXJ2ZWRf MDsgCiAgICAKI2RlZmluZSBFTkRfT0ZfQkxPQ0sgICAgMHhGRUZGRkZGRkZGRkZGRjdGCi8vI2Rl ZmluZSBFTkRfT0ZfQkxPQ0sgICAgMHhGRkZGRkZGRkZGRkZGRjdGCiAgICB1NjQgICAgICByZXNl cnZlZF8xOyAvKiAweEZGRkZGRkZGRkZGRkZGRkYgdG8gbWFyayBsYXN0IFJ4ZCBpbiB0aGlzIGJs ayovCiAgICBSeERfdCogICByZXNlcnZlZF8yX3BOZXh0X1J4RF9ibG9jazsvKkAgMHhGRjA6IENu dGxfMiwgTG9naWNhbCBwdHIgdG8gbmV4dCovCiNpZm5kZWYgWEVOQV9BUkNIXzY0CiAgICB1MzIg ZHVtbXk7CiNlbmRpZgogICAgdTY0IHBOZXh0X1J4RF9CbGtfcGh5c2ljYWw7ICAgICAgIC8qIEJ1 ZmYwX3B0ci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhIDMy IGJpdCBhcmNoIHRoZSB1cHBlciAzMiBiaXRzIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNob3VsZCBiZSAwICovCn0gUnhEX2Jsb2NrX3Q7CgovKiBTdHJ1Y3R1cmUg d2hpY2ggc3RvcmVzIGFsbCB0aGUgTUFDIGNvbnRyb2wgcGFyYW1ldGVycyAqLwoKLyogVGhpcyBz dHJ1Y3R1cmUgc3RvcmVzIHRoZSBvZmZzZXQgb2YgdGhlIFJ4RCBpbiB0aGUgcmluZyAKICogZnJv bSB3aGljaCB0aGUgUnggSW50ZXJydXB0IHByb2Nlc3NvciBjYW4gc3RhcnQgcGlja2luZyAKICog dXAgdGhlIFJ4RHMgZm9yIHByb2Nlc3NpbmcuCiAqLwp0eXBlZGVmIHN0cnVjdCBfcnhfY3Vycl9n ZXRfaW5mb190IHsKICAgIHUzMiAgICAgYmxvY2tfaW5kZXg7CiAgICB1MzIgICAgIG9mZnNldDsK ICAgIHUzMiAgICAgcmluZ19sZW47Cn0gcnhfY3Vycl9nZXRfaW5mb190OwoKdHlwZWRlZiByeF9j dXJyX2dldF9pbmZvX3QgICAgICAgICAgICAgIHJ4X2N1cnJfcHV0X2luZm9fdDsKIAovKiBUaGlz IHN0cnVjdHVyZSBzdG9yZXMgdGhlIG9mZnNldCBvZiB0aGUgVHhEbCBpbiB0aGUgRklGTwogKiBm cm9tIHdoaWNoIHRoZSBUeCBJbnRlcnJ1cHQgcHJvY2Vzc29yIGNhbiBzdGFydCBwaWNraW5nIAog KiB1cCB0aGUgVHhETHMgZm9yIHNlbmQgY29tcGxldGUgaW50ZXJydXB0IHByb2Nlc3NpbmcuCiAq Lwp0eXBlZGVmIHN0cnVjdCB7CiAgICB1MzIgICAgIG9mZnNldDsgIAogICAgdTMyICAgICBmaWZv X2xlbjsKfSB0eF9jdXJyX2dldF9pbmZvX3Q7Cgp0eXBlZGVmIHR4X2N1cnJfZ2V0X2luZm9fdCAg ICAgICAgICAgICAgdHhfY3Vycl9wdXRfaW5mb190OwoKLyogSW5mb21hdGlvbiByZWxhdGVkIHRv IHRoZSBUeCBhbmQgUnggRklGT3MgYW5kIFJpbmdzIG9mIFhlbmEKICogaXMgbWFpbnRhaW5lZCBp biB0aGlzIHN0cnVjdHVyZS4KICovCnR5cGVkZWYgc3RydWN0IG1hY19pbmZvIHsKLyogcnggc2lk ZSBzdHVmZiAqLwogICAgdm9pZCogICByeGRfcmluZ19tZW07ICAgICAvKiBvcmlnbmFsIHBvaW50 ZXIgdG8gYWxsb2NhdGVkIG1lbSAqLwogICAgZG1hYWRkcl90IHJ4ZF9yaW5nX21lbV9waHk7CiAg ICB1MzIgICAgIHJ4ZF9yaW5nX21lbV9zejsKCiAgICBSeERfdCogIFJ4UmluZ1tNQVhfUlhfUklO R1NdOyAgICAvKiBMb2dpY2FsIFJ4IHJpbmcgcG9pbnRlcnMgKi8KICAgIGRtYWFkZHJfdCAgICAg UnhSaW5nX1BoeVtNQVhfUlhfUklOR1NdOwoKICAgIHJ4X2N1cnJfcHV0X2luZm9fdCAgcnhfY3Vy cl9wdXRfaW5mb1tNQVhfUlhfUklOR1NdOyAvKiBjb21tZW50cyBoZXJlICovIAogICAgcnhfY3Vy cl9nZXRfaW5mb190ICByeF9jdXJyX2dldF9pbmZvW01BWF9SWF9SSU5HU107IC8qIGNvbW1lbnRz IGhlcmUgKi8gCgogICAgdTE2ICAgICBybWFjX3BhdXNlX3RpbWU7IAoKICAgIC8qIHRoaXMgd2ls bCBiZSB1c2VkIGluIHJlY2VpdmUgZnVuY3Rpb24sIHRoaXMgZGVjaWRlcyB3aGljaCByaW5nIHdv dWxkCiAgICAgICAgYmUgcHJvY2Vzc2VkIGZpcnN0LiBlZzogcmluZyB3aXRoIHByaW9yaXR5IHZh bHVlIDAgKGhpZ2hlc3QpIHNob3VsZAogICAgICAgIGJlIHByb2Nlc3NlZCBmaXJzdC4gCiAgICAg ICAgCiAgICAgICAgZmlyc3QgMyBMU0IgYml0cyByZXByZXNlbnQgcmluZyBudW1iZXIgd2hpY2gg c2hvdWxkIGJlIHByb2Nlc3NlZCBmaXJzdCwKICAgICAgICBzaW1pbGFybHkgbmV4dCAzIGJpdHMg cmVwcmVzZW50IG5leHQgcmluZyB0byBiZSBwcm9jZXNzZWQuCiAgICAgICAgZWc6IHZhbHVlIG9m IF9yeF9yaW5nX3ByaV9tYXAgPSAweDAwMDAgMDAzQSBtZWFucyAKICAgICAgICAgICAgcmluZyAj MiB3b3VsZCBiZSBwcm9jZXNzZWQgZmlyc3QgYW5kICM3IHdvdWxkIGJlIHByb2Nlc3NlZCBuZXh0 CiAgICAqLwogICAgdTMyICAgICBfcnhfcmluZ19wcmlfbWFwOwogCi8qIHR4IHNpZGUgc3R1ZmYg Ki8KICAgIHZvaWQqICAgdHhkX2xpc3RfbWVtOyAgICAgLyogb3JpZ25hbCBwb2ludGVyIHRvIGFs bG9jYXRlZCBtZW0gKi8KICAgIGRtYWFkZHJfdCB0eGRfbGlzdF9tZW1fcGh5OwogICAgdTMyICAg ICB0eGRfbGlzdF9tZW1fc3o7CgogICAgLyogbG9naWNhbCBwb2ludGVyIG9mIHN0YXJ0IG9mIGVh Y2ggVHggRklGTyAqLwogICAgVHhGSUZPX2VsZW1lbnRfdCogICB0eF9GSUZPX3N0YXJ0W01BWF9U WF9GSUZPU107IAoKICAgIC8qIGxvZ2ljYWwgcG9pbnRlciBvZiBzdGFydCBvZiBUeERMIHdoaWNo IGNvcnJlc3BvbmRzIHRvIGVhY2ggVHggRklGTyAqLwogICAgVHhEX3QqICAgICAgICAgICAgICB0 eGRsX3N0YXJ0W01BWF9UWF9GSUZPU107CgogICAgLyogU2FtZSBhcyB0eGRsX3N0YXJ0IGJ1dCBw aHkgYWRkciovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICBkbWFh ZGRyX3QgdHhkbF9zdGFydF9waHlbTUFYX1RYX0ZJRk9TXTsgCgovKiBDdXJyZW50IG9mZnNldCB3 aXRoaW4gdHhfRklGT19zdGFydCwgd2hlcmUgZHJpdmVyIHdvdWxkIHdyaXRlIG5ldyBUeCBmcmFt ZSovIAogICAgdHhfY3Vycl9wdXRfaW5mb190ICAgdHhfY3Vycl9wdXRfaW5mb1tNQVhfVFhfRklG T1NdOyAgIAogICAgdHhfY3Vycl9nZXRfaW5mb190ICAgdHhfY3Vycl9nZXRfaW5mb1tNQVhfVFhf RklGT1NdOyAgIAoKICAgIHUxNiAgICAgICAgICAgICAgICAgIHR4ZGxfbGVuOyAvKiBsZW5ndGgg b2YgYSBUeERMLCBzYW1lIGZvciBhbGwqLwoKICAgIHZvaWQqICAgICAgIHN0YXRzX21lbTsgICAg ICAgIC8qIG9yaWduYWwgcG9pbnRlciB0byBhbGxvY2F0ZWQgbWVtICovCiAgICBkbWFhZGRyX3Qg ICBzdGF0c19tZW1fcGh5OwogICAgdTMyICAgICAgICAgc3RhdHNfbWVtX3N6OwogICAgU3RhdElu Zm9fdCAgKlN0YXRzSW5mbzsgIC8qIExvZ2ljYWwgYWRkcmVzcyBvZiB0aGUgc3RhdCBibG9jayAq LwogICAgZG1hYWRkcl90ICAgIFN0YXRzSW5mb1BoeTsgIC8qIFBoeXNpY2FsIGFkZHJlc3Mgb2Yg dGhlIHN0YXQgYmxvY2sgKi8KfSBtYWNfaW5mb190OwoKLyogc3RydWN0dXJlIHJlcHJlc2VudGlu ZyB0aGUgdXNlciBkZWZpbmVkIE1BQyBhZGRyZXNzZXMgKi8KdHlwZWRlZiBzdHJ1Y3QgewogICAg Y2hhciAgYWRkcltFVEhfQUxFTl07CiAgICBpbnQgdXNhZ2VfY250Owp9dXNyX2FkZHJfdDsKCi8q IFN0cnVjdHVyZSB0aGF0IGhvbGRzIHRoZSBQaHkgYW5kIHZpcnQgYWRkcmVzc2VzIG9mIHRoZSBC bG9ja3MgKi8KdHlwZWRlZiBzdHJ1Y3QgcnhfYmxvY2tfaW5mbwp7CiAgICBSeERfdCAgICpibG9j a192aXJ0X2FkZHI7CiAgICB1NjQgICAgIGJsb2NrX2RtYV9hZGRyOwp9cnhfYmxvY2tfaW5mb190 OwoKLyogU3RydWN0dXJlIHJlcHJlc2VudGluZyBvbmUgaW5zdGFuY2Ugb2YgdGhlIE5JQyAqLwp0 eXBlZGVmIHN0cnVjdCBzMmlvX25pYyB7CiNkZWZpbmUgTUFYX01BQ19TVVBQT1JURUQgICAxNgoj ZGVmaW5lIE1BWF9TVVBQT1JURURfTVVMVElDQVNUUyBNQVhfTUFDX1NVUFBPUlRFRAoKICAgIG1h Y2FkZHJfdCBkZWZNYWNBZGRyW01BWF9NQUNfU1VQUE9SVEVEXTsKICAgIG1hY2FkZHJfdCBwcmVN YWNBZGRyW01BWF9NQUNfU1VQUE9SVEVEXTsKCiAgICBzdHJ1Y3QgbmV0X2RldmljZV9zdGF0cyBz dGF0czsKICAgIGNhZGRyX3QgYmFyMDsKICAgIGNhZGRyX3QgYmFyMTsKICAgIHN0cnVjdCBjb25m aWdfcGFyYW0gY29uZmlnOwogICAgbWFjX2luZm9fdCBtYWNfY29udHJvbDsKICAgIHUzMiAgICAg X2ZSZXNvdXJjZTsgLyogVHJhY2tzIHJlc291cmNlcyBhbGxvY2VkICovCiAgICBpbnQgICAgIGhp Z2hfZG1hX2ZsYWc7CiAgICBpbnQgICAgIGRldmljZV9jbG9zZV9mbGFnOwogICAgaW50ICAgICBk ZXZpY2VfZW5hYmxlZF9vbmNlOwoKICAgIGNoYXIgbmFtZVszMl07IAogICAgc3RydWN0IHRhc2ts ZXRfc3RydWN0IHRhc2s7CiAgICBhdG9taWNfdCB0YXNrbGV0X3N0YXR1czsKICAgIHN0cnVjdCB0 aW1lcl9saXN0IHRpbWVyOwogICAgc3RydWN0IG5ldF9kZXZpY2UgKmRldjsKICAgIHN0cnVjdCBw Y2lfZGV2ICAgICpwZGV2OwoKICAgIHUxNiB2ZW5kb3JfaWQ7CiAgICB1MTYgZGV2aWNlX2lkOwog ICAgdTE2IGNjbWQ7CiAgICB1MzIgY2JhcjBfMTsKICAgIHUzMiBjYmFyMF8yOwogICAgdTMyIGNi YXIxXzE7CiAgICB1MzIgY2JhcjFfMjsKCXUzMiBjaXJxOwogICAgdTggIGNhY2hlX2xpbmU7CiAg ICB1MzIgcm9tX2V4cGFuc2lvbjsKICAgIHUxNiBwY2l4X2NtZDsKICAgIHUzMiBjb25maWdfc3Bh Y2VbMjU2L3NpemVvZih1MzIpXTsKICAgIHUzMiBpcnE7CiAgICBhdG9taWNfdCByeF9idWZzX2xl ZnRbTUFYX1JYX1JJTkdTXTsKCglzcGlubG9ja190IGlzcl9sb2NrOwoJc3BpbmxvY2tfdCB0eF9s b2NrOwoKI2RlZmluZSBQUk9NSVNDICAgICAxCiNkZWZpbmUgQUxMX01VTFRJICAgMgogICAgCiNk ZWZpbmUgTUFYX0FERFJTX1NVUFBPUlRFRCA2NAogICAgdTE2IHVzcl9hZGRyX2NvdW50OwoJdTE2 CW1jX2FkZHJfY291bnQ7CiAgICB1c3JfYWRkcl90ICB1c3JfYWRkcnNbTUFYX0FERFJTX1NVUFBP UlRFRF07CiAgICAKICAgIHUxNiBtX2Nhc3RfZmxnOwogICAgdTE2IGFsbF9tdWx0aV9wb3M7CiAg ICB1MTYgcHJvbWlzY19mbGc7CiAgICAKICAgIHUxNiB0eF9wa3RfY291bnQ7CiAgICB1MTYgcnhf cGt0X2NvdW50OwogICAgdTE2IHR4X2Vycl9jb3VudDsKICAgIHUxNiByeF9lcnJfY291bnQ7Cgoj aWYgREVCVUdfT04KCXU2NCByeHBrdF9ieXRlczsKCXU2NCB0eHBrdF9ieXRlczsKCWludCBpbnRf Y250OwoJaW50IHJ4aW50X2NudDsKCWludCB0eGludF9jbnQ7Cgl1NjQgcnhwa3RfY250OwojZW5k aWYKCi8qICBQbGFjZSBob2xkZXJzIGZvciB0aGUgdmlydHVhbCBhbmQgcGh5c2ljYWwgYWRkcmVz c2VzIG9mIGFsbCB0aGUKICogIFJ4IEJsb2NrcyAqLwogICAgc3RydWN0IHJ4X2Jsb2NrX2luZm8g cnhfYmxvY2tzW01BWF9SWF9SSU5HU11bTUFYX1JYX0JMT0NLU19QRVJfUklOR107CiAgICBpbnQg YmxvY2tfY291bnRbTUFYX1JYX1JJTkdTXTsKICAgIGludCBwa3RfY250W01BWF9SWF9SSU5HU107 Ci8qIAogICAgUG9pbnRlciB0byB0aGUgbGFzdCBidWZmZXIgdGhhdCBjb3VsZCBub3QgYmUgVHgn ZWQgYmVmb3JlIHN0b3BwaW5nIHRoZSAKICAgIFR4IFF1ZXVlCiovCiAgICB2b2lkICp0eF9wa3Rf cHRyOwoKLyogCUlkIHRpbWVyLCB1c2VkIHRvIGJsaW5rIGFkYXB0ZXIgdG8gcGh5c2ljYWxseSBp ZGVudGlmeSBOSUMuICovCglzdHJ1Y3QgdGltZXJfbGlzdCBpZF90aW1lcjsKCi8qCWFmdGVyIGJs aW5rLCB0aGUgYWRhcHRlciBtdXN0IGJlIHJlc3RvcmVkIHdpdGggb3JpZ2luYWwgdmFsdWVzLiAq LwoJdTY0CWFkYXB0X2N0cmxfb3JnOwoKLyogUGt0IGNvdW50ZXIgZm9yIGxvb3AgYmFjayBmcmFt ZXMuKi8KCWludCBsb29wX3BrdF9jbnQ7Cn1uaWNfdDsJLy8gX19jYWNoZWxpbmVfYWxpZ25lZDsK CiNkZWZpbmUgUkVTRVRfRVJST1IgMTsKI2RlZmluZSBDTURfRVJST1IgICAyOwoKLyogRGVmYXVs dCBUdW5hYmxlIHBhcmFtZXRlcnMgb2YgdGhlIE5JQy4gKi8KI2RlZmluZSBERUZBVUxUX0ZJRk9f TEVOIDQwOTYKI2RlZmluZSBTTUFMTF9SWERfQ05UCTEwICogKE1BWF9SWERTX1BFUl9CTE9DSysx KQojZGVmaW5lIExBUkdFX1JYRF9DTlQJMTUwICogKE1BWF9SWERTX1BFUl9CTE9DSysxKQoKLyog IE9TIHJlbGF0ZWQgc3lzdGVtIGNhbGxzICovCgojaWYgISBkZWZpbmVkICggWEVOQV9BUkNIXzY0 ICkgfHwgZGVmaW5lZCAoIEFSQ0hfUFBDNjQgKQpzdGF0aWMgaW5saW5lIHU2NCByZWFkNjQodm9p ZCAqYWRkcikKewogICAgdTY0IHJldCA9IDA7CiAgICByZXQgPSByZWFkbChhZGRyKzQpOwogICAg KHU2NClyZXQgPDw9IDMyOwogICAgKHU2NClyZXQgfD0gcmVhZGwoYWRkcik7CgogICAgcmV0dXJu IHJldDsKfQojZWxzZQpzdGF0aWMgaW5saW5lIHU2NCByZWFkNjQodm9pZCAqYWRkcikKewoJdTY0 IHJldCA9IHJlYWRxKGFkZHIpOwoJcmV0dXJuIHJldDsKfQojZW5kaWYKI2RlZmluZSByZWFkMzIo YWRkciwgcmV0KSAgcmV0ID0gIHJlYWRsKGFkZHIpOwojZGVmaW5lIHJlYWQxNihhZGRyLCByZXQp ICByZXQgPSAgcmVhZHcoYWRkcik7CiNkZWZpbmUgcmVhZDgoYWRkciwgcmV0KSAgIHJldCA9ICBy ZWFkYihhZGRyKTsKCiNpZiAhIGRlZmluZWQgKCBYRU5BX0FSQ0hfNjQgKSB8fCBkZWZpbmVkICgg QVJDSF9QUEM2NCApCnN0YXRpYyBpbmxpbmUgdm9pZCB3cml0ZTY0KHZvaWQgKmFkZHIsIHU2NCB2 YWwpCnsKICAgIHdyaXRlbCgodTMyKSh2YWwpLCBhZGRyKTsKICAgIHdyaXRlbCgodTMyKSh2YWwg Pj4zMiksIChhZGRyKzQpKTsKfQojZWxzZQojZGVmaW5lIHdyaXRlNjQoYWRkciwgcmV0KSB3cml0 ZXEocmV0LCh2b2lkICopYWRkcikKI2VuZGlmCiNkZWZpbmUgd3JpdGUzMihhZGRyLCByZXQpIHdy aXRlbChyZXQsKHZvaWQgKilhZGRyKTsKI2RlZmluZSB3cml0ZTE2KGFkZHIsIHJldCkgd3JpdGV3 KHJldCwodm9pZCAqKWFkZHIpOwojZGVmaW5lIHdyaXRlOChhZGRyLCByZXQpICB3cml0ZWIocmV0 LCh2b2lkICopYWRkcik7CgovKiAgSW50ZXJydXB0IHJlbGF0ZWQgdmFsdWVzIG9mIFhlbmEgKi8K CiNkZWZpbmUgRU5BQkxFX0lOVFJTICAgIDEKI2RlZmluZSBESVNBQkxFX0lOVFJTICAgMgoKLyog IEhpZ2hlc3QgbGV2ZWwgaW50ZXJydXB0IGJsb2NrcyAqLwojZGVmaW5lIFRYX1BJQ19JTlRSICAg ICAoMHgwMDAxPDwwKQojZGVmaW5lIFRYX0RNQV9JTlRSICAgICAoMHgwMDAxPDwxKQojZGVmaW5l IFRYX01BQ19JTlRSICAgICAoMHgwMDAxPDwyKSAgICAKI2RlZmluZSBUWF9YR1hTX0lOVFIgICAg KDB4MDAwMTw8MykgICAgCiNkZWZpbmUgVFhfVFJBRkZJQ19JTlRSICgweDAwMDE8PDQpICAgIAoj ZGVmaW5lIFJYX1BJQ19JTlRSICAgICAoMHgwMDAxPDw1KSAgICAKI2RlZmluZSBSWF9ETUFfSU5U UiAgICAgKDB4MDAwMTw8NikgICAgCiNkZWZpbmUgUlhfTUFDX0lOVFIgICAgICgweDAwMDE8PDcp ICAKI2RlZmluZSBSWF9YR1hTX0lOVFIgICAgKDB4MDAwMTw8OCkgICAgCiNkZWZpbmUgUlhfVFJB RkZJQ19JTlRSICgweDAwMDE8PDkpICAgIAojZGVmaW5lIE1DX0lOVFIgICAgICAgICAoMHgwMDAx PDwxMCkKI2RlZmluZSBFTkFfQUxMX0lOVFJTICAgICggICBUWF9QSUNfSU5UUiAgICAgfCBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUWF9ETUFfSU5UUiAgICAgfCBcCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBUWF9NQUNfSU5UUiAgICAgfCBcCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUWF9YR1hTX0lOVFIgICAgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBU WF9UUkFGRklDX0lOVFIgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSWF9QSUNfSU5U UiAgICAgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSWF9ETUFfSU5UUiAgICAgfCBc CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSWF9NQUNfSU5UUiAgICAgfCBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSWF9YR1hTX0lOVFIgICAgfCBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSWF9UUkFGRklDX0lOVFIgfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNQ19JTlRSICkKCi8qICBJbnRlcnJ1cHQgbWFza3MgZm9yIHRoZSBnZW5lcmFsIGludGVycnVw dCBtYXNrIHJlZ2lzdGVyICovCiNkZWZpbmUgRElTQUJMRV9BTExfSU5UUlMgICAweEZGRkZGRkZG RkZGRkZGRkZVTEwKCiNkZWZpbmUgVFhQSUNfSU5UX00gICAgICAgICBCSVQoMCkKI2RlZmluZSBU WERNQV9JTlRfTSAgICAgICAgIEJJVCgxKQojZGVmaW5lIFRYTUFDX0lOVF9NICAgICAgICAgQklU KDIpCiNkZWZpbmUgVFhYR1hTX0lOVF9NICAgICAgICBCSVQoMykKI2RlZmluZSBUWFRSQUZGSUNf SU5UX00gICAgIEJJVCg4KQojZGVmaW5lIFBJQ19SWF9JTlRfTSAgICAgICAgQklUKDMyKQojZGVm aW5lIFJYRE1BX0lOVF9NICAgICAgICAgQklUKDMzKQojZGVmaW5lIFJYTUFDX0lOVF9NICAgICAg ICAgQklUKDM0KQojZGVmaW5lIE1DX0lOVF9NICAgICAgICAgICAgQklUKDM1KQojZGVmaW5lIFJY WEdYU19JTlRfTSAgICAgICAgQklUKDM2KQojZGVmaW5lIFJYVFJBRkZJQ19JTlRfTSAgICAgQklU KDQwKQoKLyogIFBJQyBsZXZlbCBJbnRlcnJ1cHRzIFRPRE8qLwoKLyogIERNQSBsZXZlbCBJbnJl c3N1cHRzICovCiNkZWZpbmUgVFhETUFfUEZDX0lOVF9NICAgICBCSVQoMCkKICAgIC8qICBQRkMg YmxvY2sgaW50ZXJydXB0cyAqLwojZGVmaW5lIFBGQ19NSVNDX0VSUl8xICAgICAgQklUKDApIC8q IEludGVycnVwdCB0byBpbmRpY2F0ZSBGSUZPIGZ1bGwgKi8KCiNlbmRpZiAvKiBfUzJJT19IICov Ci8qCiAqJExvZzogczJpby5oLHYgJAogKlJldmlzaW9uIDEuNTMgIDIwMDQvMDEvMjAgMDU6MTY6 MDEgIHJrb3VzaGlrCiAqQnVnOiAzOTcKICpUU08gaXMgZW5hYmxlZCBieSBkZWZhdWx0IGlmIHN1 cHBvcnRlZCBieSBLZXJuZWwuCiAqVGhlIHVuZGVmIG1hY3JvIHRvIGRpc2FibGUgVFNPIHdhcyBy ZW1vdmVkIGZyb20gdGhlIHMyaW8uaCBoZWFkZXIgZmlsZS4KICoKICpLb3VzaGlrCiAqCiAqUmV2 aXNpb24gMS41MiAgMjAwNC8wMS8xOSAyMToxMzozMiAgYXJhdmkKICpCdWc6IDU5MwogKkZpeGVk IFR4IExpbmsgbG9zcyBwcm9ibGVtIGJ5CiAqMS4gY2hlY2tpbmcgZm9yIHB1dCBwb2ludGVyIG5v dCBnb2luZyBiZXlvbmQgZ2V0IHBvaW50ZXIKICoyLiBzZXQgZGVmYXVsdCB0eCBkZXNjcmlwdG9y cyB0byA0MDk2KCBkb25lIGluIHMyaW8uaCkKICozLiBTZXQgcnRzX2ZybV9sZW4gcmVnaXN0ZXIg dG8gTVRVIHNpemUuCiAqNC4gQ29ycmVjdGVkIHRoZSBsZW5ndGggdXNlZCBmb3IgYWRkcmVzcyB1 bm1hcHBpbmcgaW4KICogICAgdHggaW50ciBoYW5kbGVyLgogKgogKlJldmlzaW9uIDEuNTEgIDIw MDQvMDEvMTkgMDk6NTE6MDggIHJrb3VzaGlrCiAqQnVnOiA1OTgKICogQWRkZWQgR1BMIG5vdGlj ZXMgb24gdGhlIGRyaXZlciBzb3VyY2UgZmlsZXMsIG5hbWVseQogKnMyaW8uYywgczJpby5oIGFu ZCByZWdzLmgKICoKICpLb3VzaGlrCiAqCiAqUmV2aXNpb24gMS41MCAgMjAwMy8xMi8zMCAxMzow MzozNCAgcmtvdXNoaWsKICpCdWc6IDE3NwogKlRoZSBkcml2ZXIgaGFzIGJlZW4gdXBkYXRlZCB3 aXRoIHN1cHBvcnQgZm9yIGZ1bnRpb25hbGl0aWVzIGluIGV0aHRvb2wKICp2ZXJzaW9uIDEuOC4g SW50ZXJydXB0IG1vZGVyYXRpb24gaGFzIGJlZW4gc2tpcHBlZCBhcyB0aGUgbWV0aG9kb2xvZ3kg dG8KICpzZXQgaXQgdXNpbmcgZXRodG9vbCBpcyBkaWZmZXJlbnQgdG8gb3VyIG1ldGhvZG9sb2d5 LgogKgogKi1Lb3VzaGlrCiAqCiAqUmV2aXNpb24gMS40OSAgMjAwMy8xMi8xNiAyMToxNTozMiAg dWtpcmFuCiAqQnVnOjU0MgogKkluY3JlYXNlZCBkZWZhdWx0IEZJRk8gdG8gMTAyNCAqNgogKgog KlJldmlzaW9uIDEuNDggIDIwMDMvMTIvMDEgMjI6MDM6MDggIHVraXJhbgogKkJ1Zzo1MTAKICpD bGVhbnVwIG9mIA0gY2hhcnMKICoKICpSZXZpc2lvbiAxLjQ3ICAyMDAzLzExLzA0IDAyOjA3OjAz ICB1a2lyYW4KICpCdWc6NDg0CiAqRW5hYmxpbmcgTG9ncyBpbiBzb3VyY2UgY29kZQogKgogKi8K CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL3N5c2N0bF94ZnJhbWUuY29uZgAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDMwNDUA MTAwMDMwMjE2NDUAMDEzNDM1ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMgc29tZSBvZiB0aGUgZGVmYXVsdHMg bWF5IGJlIGRpZmZlcmVudCBmb3IgeW91ciBrZXJuZWwKIyBjYWxsIHRoaXMgZmlsZSB3aXRoIHN5 c2N0bCAtcCA8dGhpcyBmaWxlPgojIHRoZXNlIGFyZSBqdXN0IHN1Z2dlc3RlZCB2YWx1ZXMgdGhh dCB3b3JrZWQgd2VsbCB0byBpbmNyZWFzZSB0aHJvdWdocHV0IGluCiMgc2V2ZXJhbCBuZXR3b3Jr IGJlbmNobWFyayB0ZXN0cywgeW91ciBtaWxlYWdlIG1heSB2YXJ5CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiMjIyBJUFY0IHNwZWNpZmljIHNldHRpbmdzCm5ldC5pcHY0LnRjcF90aW1lc3RhbXBz ID0gMCAjIHR1cm5zIFRDUCB0aW1lc3RhbXAgc3VwcG9ydCBvZmYsIGRlZmF1bHQgMSwgcmVkdWNl cyBDUFUgdXNlCm5ldC5pcHY0LnRjcF9zYWNrID0gMCAjIHR1cm4gU0FDSyBzdXBwb3J0IG9mZiwg ZGVmYXVsdCBvbgojIG9uIHN5c3RlbXMgd2l0aCBhIFZFUlkgZmFzdCBidXMgLT4gbWVtb3J5IGlu dGVyZmFjZSB0aGlzIGlzIHRoZSBiaWcgZ2FpbmVyCm5ldC5pcHY0LnRjcF9ybWVtID0gMTAwMDAw MDAgMTAwMDAwMDAgMTAwMDAwMDAgIyBzZXRzIG1pbi9kZWZhdWx0L21heCBUQ1AgcmVhZCBidWZm ZXIsIGRlZmF1bHQgNDA5NiA4NzM4MCAxNzQ3NjAKbmV0LmlwdjQudGNwX3dtZW0gPSAxMDAwMDAw MCAxMDAwMDAwMCAxMDAwMDAwMCAjIHNldHMgbWluL3ByZXNzdXJlL21heCBUQ1Agd3JpdGUgYnVm ZmVyLCBkZWZhdWx0IDQwOTYgMTYzODQgMTMxMDcyCm5ldC5pcHY0LnRjcF9tZW0gPSAxMDAwMDAw MCAxMDAwMDAwMCAxMDAwMDAwMCAjIHNldHMgbWluL3ByZXNzdXJlL21heCBUQ1AgYnVmZmVyIHNw YWNlLCBkZWZhdWx0IDMxNzQ0IDMyMjU2IDMyNzY4CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiMj IyBDT1JFIHNldHRpbmdzIChtb3N0bHkgZm9yIHNvY2tldCBhbmQgVURQIGVmZmVjdCkKbmV0LmNv cmUucm1lbV9tYXggPSA1MjQyODcgIyBtYXhpbXVtIHJlY2VpdmUgc29ja2V0IGJ1ZmZlciBzaXpl LCBkZWZhdWx0IDEzMTA3MQpuZXQuY29yZS53bWVtX21heCA9IDUyNDI4NyAjIG1heGltdW0gc2Vu ZCBzb2NrZXQgYnVmZmVyIHNpemUsIGRlZmF1bHQgMTMxMDcxCm5ldC5jb3JlLnJtZW1fZGVmYXVs dCA9IDUyNDI4NyAjIGRlZmF1bHQgcmVjZWl2ZSBzb2NrZXQgYnVmZmVyIHNpemUsIGRlZmF1bHQg NjU1MzUKbmV0LmNvcmUud21lbV9kZWZhdWx0ID0gNTI0Mjg3ICMgZGVmYXVsdCBzZW5kIHNvY2tl dCBidWZmZXIgc2l6ZSwgZGVmYXVsdCA2NTUzNQpuZXQuY29yZS5vcHRtZW1fbWF4ID0gNTI0Mjg3 ICMgbWF4aW11bSBhbW91bnQgb2Ygb3B0aW9uIG1lbW9yeSBidWZmZXJzLCBkZWZhdWx0IDEwMjQw Cm5ldC5jb3JlLm5ldGRldl9tYXhfYmFja2xvZyA9IDMwMDAwMCAjIG51bWJlciBvZiB1bnByb2Nl c3NlZCBpbnB1dCBwYWNrZXRzIGJlZm9yZSBrZXJuZWwgc3RhcnRzIGRyb3BwaW5nIHRoZW0sIGRl ZmF1bHQgMzAwCgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi90YWdzAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAwMDAwADAwMDAwMjAxNDI2ADEwMDAw NzY3MzUzADAxMDYwMQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhX1RBR19GSUxFX0ZPUk1BVAkyCS9leHRlbmRl ZCBmb3JtYXQ7IC0tZm9ybWF0PTEgd2lsbCBub3QgYXBwZW5kIDsiIHRvIGxpbmVzLwohX1RBR19G SUxFX1NPUlRFRAkxCS8wPXVuc29ydGVkLCAxPXNvcnRlZCwgMj1mb2xkY2FzZS8KIV9UQUdfUFJP R1JBTV9BVVRIT1IJRGFycmVuIEhpZWJlcnQJL2RoaWViZXJ0QHVzZXJzLnNvdXJjZWZvcmdlLm5l dC8KIV9UQUdfUFJPR1JBTV9OQU1FCUV4dWJlcmFudCBDdGFncwkvLwohX1RBR19QUk9HUkFNX1VS TAlodHRwOi8vY3RhZ3Muc291cmNlZm9yZ2UubmV0CS9vZmZpY2lhbCBzaXRlLwohX1RBR19QUk9H UkFNX1ZFUlNJT04JNS40CS8vCkFEQVBURVJfQ05UTF9FTglyZWdzLmgJNjI7IglkCkFEQVBURVJf RUNDX0VOCXJlZ3MuaAk2NzsiCWQKQURBUFRFUl9FT0lfVFhfT04JcmVncy5oCTYzOyIJZApBREFQ VEVSX0xFRF9PTglyZWdzLmgJNjQ7IglkCkFEQVBURVJfU1RBVFVTX01DX0RSQU1fUkVBRFkJcmVn cy5oCTU2OyIJZApBREFQVEVSX1NUQVRVU19NQ19RVUVVRVNfUkVBRFkJcmVncy5oCTU3OyIJZApB REFQVEVSX1NUQVRVU19NX1BMTF9MT0NLCXJlZ3MuaAk1ODsiCWQKQURBUFRFUl9TVEFUVVNfUEZD X1JFQURZCXJlZ3MuaAk0OTsiCWQKQURBUFRFUl9TVEFUVVNfUElDX1FVSUVTQ0VOVAlyZWdzLmgJ NTE7IglkCkFEQVBURVJfU1RBVFVTX1BfUExMX0xPQ0sJcmVncy5oCTU5OyIJZApBREFQVEVSX1NU QVRVU19SQ19QUkNfUVVJRVNDRU5UCXJlZ3MuaAk1NTsiCWQKQURBUFRFUl9TVEFUVVNfUkRNQV9S RUFEWQlyZWdzLmgJNDg7IglkCkFEQVBURVJfU1RBVFVTX1JNQUNfTE9DQUxfRkFVTFQJcmVncy5o CTUzOyIJZApBREFQVEVSX1NUQVRVU19STUFDX1BDQ19JRExFCXJlZ3MuaAk1NDsiCWQKQURBUFRF Ul9TVEFUVVNfUk1BQ19SRU1PVEVfRkFVTFQJcmVncy5oCTUyOyIJZApBREFQVEVSX1NUQVRVU19U RE1BX1JFQURZCXJlZ3MuaAk0NzsiCWQKQURBUFRFUl9TVEFUVVNfVE1BQ19CVUZfRU1QVFkJcmVn cy5oCTUwOyIJZApBREFQVEVSX1VEUEkJcmVncy5oCTY1OyIJZApBREFQVEVSX1dBSVRfSU5UCXJl Z3MuaAk2NjsiCWQKQUxJR05fU0laRQlzMmlvLmgJNjI7IglkCkFMTF9NVUxUSQlzMmlvLmgJNzI1 OyIJZApBUkNIX1BQQzY0CXMyaW8uaAk4OyIJZApBU19BX01PRFVMRQlzMmlvLmMJNTE7IglkCWZp bGU6CkJJVAlzMmlvLmgJMjA7IglkCkJPT0wJczJpby5oCTM0OyIJZApCVUZGX1NaXzEJczJpby5o CTM4MDsiCWQKQlVGRl9TWl8yCXMyaW8uaAkzODE7IglkCkJVRkZfU1pfMwlzMmlvLmgJMzgyOyIJ ZApCVUZGX1NaXzNfSlVNQk8JczJpby5oCTM4MzsiCWQKQnVmZmVyMF9wdHIJczJpby5oCS9eICAg IGRtYWFkZHJfdCBCdWZmZXIwX3B0cjskLzsiCW0Jc3RydWN0Ol9SeERfdApCdWZmZXJfUG9pbnRl cglzMmlvLmgJL14gICAgZG1hYWRkcl90IEJ1ZmZlcl9Qb2ludGVyOyQvOyIJbQlzdHJ1Y3Q6X1R4 RApDTURfRVJST1IJczJpby5oCTc3MjsiCWQKQ09ORklHVVJFX0VUSFRPT0xfU1VQUE9SVAlzMmlv LmgJMTU7IglkCkNvbnRyb2xfMQlzMmlvLmgJL14gICAgdTY0IENvbnRyb2xfMTskLzsiCW0Jc3Ry dWN0Ol9SeERfdApDb250cm9sXzEJczJpby5oCS9eICAgIHU2NCBDb250cm9sXzE7JC87IgltCXN0 cnVjdDpfVHhECkNvbnRyb2xfMglzMmlvLmgJL14gICAgdTY0IENvbnRyb2xfMjskLzsiCW0Jc3Ry dWN0Ol9SeERfdApDb250cm9sXzIJczJpby5oCS9eICAgIHU2NCBDb250cm9sXzI7JC87IgltCXN0 cnVjdDpfVHhECkRCR19QUklOVAlzMmlvLmgJODg7IglkCkRFQlVHX09OCXMyaW8uaAk3MjsiCWQK REVGQVVMVF9GSUZPX0xFTglzMmlvLmgJNzc1OyIJZApERUZBVUxUX1JYRF9USFJFU0hPTEQJczJp by5oCTM4NjsiCWQKRElTQUJMRV9BTExfSU5UUlMJczJpby5oCTg0NTsiCWQKRElTQUJMRV9JTlRS UwlzMmlvLmgJODE4OyIJZApFRklMTAlzMmlvLmgJNjE7IglkCkVOQUJMRV9JTlRSUwlzMmlvLmgJ ODE3OyIJZApFTkFfQUxMX0lOVFJTCXMyaW8uaAk4MzI7IglkCkVORF9PRl9CTE9DSwlzMmlvLmgJ NTc2OyIJZApFUlJfREJHCXMyaW8uaAk3ODsiCWQKRVRIX0FMRU4JczJpby5oCTI0OyIJZApFVEhf TE9PUF9URVNUX0NOVAlzMmlvLmMJMTIwOyIJZAlmaWxlOgpFVEhfTE9PUF9URVNUX0RFTEFZCXMy aW8uYwkxMjE7IglkCWZpbGU6CkVUSF9MT09QX1RFU1RfVFlQRQlzMmlvLmMJMTE3OyIJZAlmaWxl OgpGQUlMVVJFCXMyaW8uaAk0NDsiCWQKRkFMU0UJczJpby5oCTM5OyIJZApGaWZvTGVuCXMyaW8u aAkvXiAgICB1MzIgICAgIEZpZm9MZW47ICAgICAgICBcLyogc3BlY2lmaWVzIGxlbiBvZiBGSUZP IHVwdG8gODE5MiwgaWUgbm8gb2YgVHhETHMqXC8kLzsiCW0Jc3RydWN0OnR4X2ZpZm9fY29uZmln CkZpZm9Qcmlvcml0eQlzMmlvLmgJL14gICAgdTggICAgICBGaWZvUHJpb3JpdHk7ICAgXC8qIHNw ZWNpZmllcyBwb2ludGVyIGxldmVsIGZvciBGSUZPKlwvJC87IgltCXN0cnVjdDp0eF9maWZvX2Nv bmZpZwpGaXhNYWNBZGRyZXNzCXMyaW8uYwkvXnZvaWQgRml4TWFjQWRkcmVzcyhuaWNfdCAqc3Ap JC87IglmCkdFTl9FUlJPUl9JTlRSCXJlZ3MuaAkyMzsiCWQKR0VOX0lOVFJfTUMJcmVncy5oCTIw OyIJZApHRU5fSU5UUl9SWERNQQlyZWdzLmgJMTg7IglkCkdFTl9JTlRSX1JYTUFDCXJlZ3MuaAkx OTsiCWQKR0VOX0lOVFJfUlhQSUMJcmVncy5oCTE3OyIJZApHRU5fSU5UUl9SWFRSQUZGSUMJcmVn cy5oCTIyOyIJZApHRU5fSU5UUl9SWFhHWFMJcmVncy5oCTIxOyIJZApHRU5fSU5UUl9UWERNQQly ZWdzLmgJMTM7IglkCkdFTl9JTlRSX1RYTUFDCXJlZ3MuaAkxNDsiCWQKR0VOX0lOVFJfVFhQSUMJ cmVncy5oCTEyOyIJZApHRU5fSU5UUl9UWFRSQUZGSUMJcmVncy5oCTE2OyIJZApHRU5fSU5UUl9U WFhHWFMJcmVncy5oCTE1OyIJZApHRVRfVFhEX1RfQ09ERQlzMmlvLmgJNTAxOyIJZApIRUFERVJf ODAyXzJfU0laRQlzMmlvLmgJNDM3OyIJZApIRUFERVJfQUxJR05fTEFZRVJfMwlzMmlvLmgJNDQw OyIJZApIRUFERVJfRVRIRVJORVRfSUlfODAyXzNfU0laRQlzMmlvLmgJNDM2OyIJZApIRUFERVJf U05BUF9TSVpFCXMyaW8uaAk0Mzg7IglkCkhFQURFUl9WTEFOX1NJWkUJczJpby5oCTQzOTsiCWQK SG9zdF9Db250cm9sCXMyaW8uaAkvXiAgICB1NjQgSG9zdF9Db250cm9sOyAgICAgICBcLyogcmVz ZXJ2ZWQgZm9yIGhvc3QgKlwvICQvOyIJbQlzdHJ1Y3Q6X1R4RApIb3N0X0NvbnRyb2wJczJpby5o CS9eICAgIHU2NCBIb3N0X0NvbnRyb2w7ICAgXC8qIHJlc2VydmVkIGZvciBob3N0ICpcLyQvOyIJ bQlzdHJ1Y3Q6X1J4RF90CkkyQ19DT05UUk9MX0FERFIJcmVncy5oCTI0OTsiCWQKSTJDX0NPTlRS T0xfQllURV9DTlQJcmVncy5oCTI1MDsiCWQKSTJDX0NPTlRST0xfQ05UTF9FTkQJcmVncy5oCTI1 NDsiCWQKSTJDX0NPTlRST0xfQ05UTF9TVEFSVAlyZWdzLmgJMjUzOyIJZApJMkNfQ09OVFJPTF9E RVZfSUQJcmVncy5oCTI0ODsiCWQKSTJDX0NPTlRST0xfR0VUX0RBVEEJcmVncy5oCTI1NTsiCWQK STJDX0NPTlRST0xfTkFDSwlyZWdzLmgJMjUyOyIJZApJMkNfQ09OVFJPTF9SRUFECXJlZ3MuaAky NTE7IglkCkkyQ19DT05UUk9MX1NFVF9EQVRBCXJlZ3MuaAkyNTY7IglkCklGX1JEX1NXQVBQRVJf RkIJcmVncy5oCTE4OTsiCWQKSUlDX0lOVF9SRUdfQUNLX0VSUglyZWdzLmgJMTQwOyIJZApJSUNf SU5UX1JFR19CSVRfRlNNX0VSUglyZWdzLmgJMTM3OyIJZApJSUNfSU5UX1JFR19CVVNfRlNNX0VS UglyZWdzLmgJMTM2OyIJZApJSUNfSU5UX1JFR19DWUNMRV9GU01fRVJSCXJlZ3MuaAkxMzg7Iglk CklJQ19JTlRfUkVHX1JFUV9GU01fRVJSCXJlZ3MuaAkxMzk7IglkCklORk9fREJHCXMyaW8uaAk4 MDsiCWQKSU5JVF9EQkcJczJpby5oCTc5OyIJZApJTlRSX0RCRwlzMmlvLmgJODI7IglkCkp1bWJv RW5hYmxlCXMyaW8uaAkvXiAgICBCT09MICAgIEp1bWJvRW5hYmxlOyAgICBcLypFbmFibGUgSnVt Ym8gZnJhbWVzIHJlY3ZcL3NlbmQqXC8kLzsiCW0Jc3RydWN0OmNvbmZpZ19wYXJhbQpLRVJOXzI2 CXMyaW8uaAkxMjsiCWQKTDNfQ0tTVU1fT0sJczJpby5oCTkxOyIJZApMNF9DS1NVTV9PSwlzMmlv LmgJOTI7IglkCkxBUkdFX1JYRF9DTlQJczJpby5oCTc3NzsiCWQKTE9XCXMyaW8uYwkxMDA7Iglk CWZpbGU6Ckxpc3RfQ29udHJvbAlzMmlvLmgJL14gICAgdTY0IExpc3RfQ29udHJvbDskLzsiCW0J c3RydWN0Ol9UeEZJRk9fZWxlbWVudApNQUNfQ0ZHX0xBTl9OT1RfV0FOCXJlZ3MuaAk1Mzc7Iglk Ck1BQ19DRkdfUk1BQ19FTkFCTEUJcmVncy5oCTUzNjsiCWQKTUFDX0NGR19STUFDX1BST01fRU5B QkxFCXJlZ3MuaAk1NDI7IglkCk1BQ19DRkdfUk1BQ19TVFJJUF9GQ1MJcmVncy5oCTU0MDsiCWQK TUFDX0NGR19STUFDX1NUUklQX1BBRAlyZWdzLmgJNTQxOyIJZApNQUNfQ0ZHX1RNQUNfQVBQRU5E X1BBRAlyZWdzLmgJNTM5OyIJZApNQUNfQ0ZHX1RNQUNfRU5BQkxFCXJlZ3MuaAk1MzU7IglkCk1B Q19DRkdfVE1BQ19MT09QQkFDSwlyZWdzLmgJNTM4OyIJZApNQUNfSU5UX1NUQVRVU19STUFDX0lO VAlyZWdzLmgJNTE1OyIJZApNQUNfSU5UX1NUQVRVU19UTUFDX0lOVAlyZWdzLmgJNTE0OyIJZApN QUNfTElOS19VVElMX0RJU0FCTEUJcmVncy5oCTYyMDsiCWQKTUFDX01BQ19BRERSX1NUQVJUX09G RlNFVAlyZWdzLmgJNTcxOyIJZApNQUNfTUNfQUREUl9TVEFSVF9PRkZTRVQJcmVncy5oCTU3Mjsi CWQKTUFDX01DX0FMTF9NQ19BRERSX09GRlNFVAlyZWdzLmgJNTczOyIJZApNQUNfUk1BQ19BTExf QUREUl9FTkFCTEUJcmVncy5oCTU0NTsiCWQKTUFDX1JNQUNfQkNBU1RfRU5BQkxFCXJlZ3MuaAk1 NDQ7IglkCk1BQ19STUFDX0RJU0NBUkRfUEZSTQlyZWdzLmgJNTQzOyIJZApNQUNfUk1BQ19JTlZM RF9JUEdfVEhSCXJlZ3MuaAk1NDY7IglkCk1BQ19SVFNfRlJNX0xFTl9TRVQJcmVncy5oCTYyNjsi CWQKTUFDX1JYX0xJTktfVVRJTAlyZWdzLmgJNjE2OyIJZApNQUNfUlhfTElOS19VVElMX0RJU0FC TEUJcmVncy5oCTYxNzsiCWQKTUFDX1JYX0xJTktfVVRJTF9WQUwJcmVncy5oCTYxODsiCWQKTUFD X1RYX0xJTktfVVRJTAlyZWdzLmgJNjEzOyIJZApNQUNfVFhfTElOS19VVElMX0RJU0FCTEUJcmVn cy5oCTYxNDsiCWQKTUFDX1RYX0xJTktfVVRJTF9WQUwJcmVncy5oCTYxNTsiCWQKTUFTS19CVUZG RVIwX1NJWkUJczJpby5oCTU0ODsiCWQKTUFTS19WTEFOX1RBRwlzMmlvLmgJNTUwOyIJZApNQVhf QUREUlNfU1VQUE9SVEVECXMyaW8uaAk3Mjc7IglkCk1BWF9BVkFJTEFCTEVfVFhEUwlzMmlvLmgJ MzQwOyIJZApNQVhfRElYX01BUAlyZWdzLmgJNjMxOyIJZApNQVhfTUFDX0FERFJFU1NFUwlyZWdz LmgJNTY5OyIJZApNQVhfTUFDX1NVUFBPUlRFRAlzMmlvLmgJNjgzOyIJZApNQVhfTUNfQUREUkVT U0VTCXJlZ3MuaAk1NzA7IglkCk1BWF9NVFUJczJpby5oCTQ0NDsiCWQKTUFYX01UVV9KVU1CTwlz MmlvLmgJNDQ3OyIJZApNQVhfTVRVX0pVTUJPX1ZMQU4JczJpby5oCTQ0ODsiCWQKTUFYX01UVV9W TEFOCXMyaW8uaAk0NDU7IglkCk1BWF9QWUxECXMyaW8uaAk0NDM7IglkCk1BWF9QWUxEX0pVTUJP CXMyaW8uaAk0NDY7IglkCk1BWF9SWERTX1BFUl9CTE9DSwlzMmlvLmgJNTcxOyIJZApNQVhfUlhf QkxPQ0tTX1BFUl9SSU5HCXMyaW8uaAk0MzA7IglkCk1BWF9SWF9SSU5HUwlzMmlvLmgJNDI5OyIJ ZApNQVhfU0VSVklDRV9TVEFURVMJczJpby5oCTQxOTsiCWQKTUFYX1NFUlZJQ0VfU1RBVEVTCXMy aW8uaAk0NTU7IglkCk1BWF9TVVBQT1JURURfTVVMVElDQVNUUwlzMmlvLmgJNjg0OyIJZApNQVhf VFhfRklGT1MJczJpby5oCTQwNDsiCWQKTUNfRVJSX1JFR19FQ0NfREJfRVJSX0wJcmVncy5oCTY3 NDsiCWQKTUNfRVJSX1JFR19FQ0NfREJfRVJSX1UJcmVncy5oCTY3NTsiCWQKTUNfRVJSX1JFR19N SVJJX0NSSV9FUlJfMAlyZWdzLmgJNjc2OyIJZApNQ19FUlJfUkVHX01JUklfQ1JJX0VSUl8xCXJl Z3MuaAk2Nzc7IglkCk1DX0VSUl9SRUdfU01fRVJSCXJlZ3MuaAk2Nzg7IglkCk1DX0lOVFIJczJp by5oCTgzMTsiCWQKTUNfSU5UX00JczJpby5oCTg1NTsiCWQKTUNfSU5UX01BU0tfTUNfSU5UCXJl Z3MuaAk2NzE7IglkCk1DX0lOVF9TVEFUVVNfTUNfSU5UCXJlZ3MuaAk2Njk7IglkCk1DX1JMRFJB TV9NUlNfRU5BQkxFCXJlZ3MuaAk2OTc7IglkCk1DX1JMRFJBTV9RVUVVRV9TSVpFX0VOQUJMRQly ZWdzLmgJNjk2OyIJZApNQ19STERSQU1fVEVTVF9ET05FCXJlZ3MuaAk3MTM7IglkCk1DX1JMRFJB TV9URVNUX0dPCXJlZ3MuaAk3MTI7IglkCk1DX1JMRFJBTV9URVNUX01PREUJcmVncy5oCTcxMDsi CWQKTUNfUkxEUkFNX1RFU1RfUEFTUwlyZWdzLmgJNzE0OyIJZApNQ19STERSQU1fVEVTVF9XUklU RQlyZWdzLmgJNzExOyIJZApNRElPX0lOVF9SRUdfRFRYX0JVU19FUlIJcmVncy5oCTEzMDsiCWQK TURJT19JTlRfUkVHX0xBU0kJcmVncy5oCTEzMTsiCWQKTURJT19JTlRfUkVHX01ESU9fQlVTX0VS UglyZWdzLmgJMTI5OyIJZApNSU5fTVRVCXMyaW8uaAk0NDI7IglkCk1UVQlzMmlvLmgJL14gICAg dTMyICAgICBNVFU7ICAgICAgICAgICAgICAgICAgICAgICAgXC8qTWF4aW11bSBQYXlsb2FkKlwv JC87IgltCXN0cnVjdDpjb25maWdfcGFyYW0KTWF4VHhEcwlzMmlvLmgJL14gICAgdTMyICAgICBN YXhUeERzOyAgICAgICAgIFwvKk1heCBuby4gb2YgVHggYnVmZmVyIGRlc2NyaXB0b3IgcGVyIFR4 REwqXC8kLzsiCW0Jc3RydWN0OmNvbmZpZ19wYXJhbQpORVRJRl9GX1RTTwlzMmlvLmgJNzQ7Iglk Ck5PTlpFUk8JczJpby5oCTU3MzsiCWQKTk9fU05PT1BfUlhECXMyaW8uaAkzODg7IglkCk5PX1NO T09QX1JYRF9CVUZGRVIJczJpby5oCTM4OTsiCWQKTk9fU05PT1BfVFhECXMyaW8uaAkzNTQ7Iglk Ck5PX1NOT09QX1RYRF9CVUZGRVIJczJpby5oCTM1NTsiCWQKTnVtUnhkCXMyaW8uaAkvXiAgICB1 MzIgTnVtUnhkOyAgICAgICAgIFwvKk5vIG9mIFJ4RHMgcGVyIFJ4IFJpbmcgKlwvJC87IgltCXN0 cnVjdDpyeF9yaW5nX2NvbmZpZwpPdmVycmlkZVJ4U2VydmljZVN0YXRlCXMyaW8uaAkvXiAgICBC T09MICAgIE92ZXJyaWRlUnhTZXJ2aWNlU3RhdGU7IFwvKiBUUlVFOiBPdmVyaWRlLCBGQUxTRTog RG8gbm90IG92ZXJyaWRlICQvOyIJbQlzdHJ1Y3Q6Y29uZmlnX3BhcmFtCk92ZXJyaWRlVHhTZXJ2 aWNlU3RhdGUJczJpby5oCS9eICAgIEJPT0wgICAgT3ZlcnJpZGVUeFNlcnZpY2VTdGF0ZTsgXC8q IFRSVUU6IE92ZXJpZGUsIEZBTFNFOiBEbyBub3Qgb3ZlcnJpZGUgJC87IgltCXN0cnVjdDpjb25m aWdfcGFyYW0KUEFOSUMJczJpby5jCTk5OyIJZAlmaWxlOgpQQ0lYX0NPTU1BTkRfUkVHSVNURVIJ czJpby5oCTYzOyIJZApQQ0lYX0lOVF9SRUdfRUNDX0RCX0VSUglyZWdzLmgJOTk7IglkClBDSVhf SU5UX1JFR19FQ0NfU0dfRVJSCXJlZ3MuaAk5ODsiCWQKUENJWF9JTlRfUkVHX0ZMQVNIUl9SX0ZT TV9FUlIJcmVncy5oCTEwMDsiCWQKUENJWF9JTlRfUkVHX0ZMQVNIUl9XX0ZTTV9FUlIJcmVncy5o CTEwMTsiCWQKUENJWF9JTlRfUkVHX0lOSV9SWF9GU01fU0VSUglyZWdzLmgJMTA5OyIJZApQQ0lY X0lOVF9SRUdfSU5JX1RYT19GU01fRVJSCXJlZ3MuaAkxMDM7IglkClBDSVhfSU5UX1JFR19JTklf VFhfRlNNX1NFUlIJcmVncy5oCTEwMjsiCWQKUENJWF9JTlRfUkVHX1BJRlJfRlNNX1NFUlIJcmVn cy5oCTEwNjsiCWQKUENJWF9JTlRfUkVHX1JBX1JYX0ZTTV9TRVJSCXJlZ3MuaAkxMTA7IglkClBD SVhfSU5UX1JFR19SUkNfVFhfUkVRX0ZTTV9TRVJSCXJlZ3MuaAkxMDg7IglkClBDSVhfSU5UX1JF R19TUlRfRlNNX1NFUlIJcmVncy5oCTEwNTsiCWQKUENJWF9JTlRfUkVHX1RSVF9GU01fU0VSUgly ZWdzLmgJMTA0OyIJZApQQ0lYX0lOVF9SRUdfV1JDX1RYX1NFTkRfRlNNX1NFUlIJcmVncy5oCTEw NzsiCWQKUENJX0RFVklDRV9JRF9TMklPX1VOSQlzMmlvLmMJNTY7IglkCWZpbGU6ClBDSV9ERVZJ Q0VfSURfUzJJT19XSU4JczJpby5jCTU1OyIJZAlmaWxlOgpQQ0lfVkVORE9SX0lEX1MySU8JczJp by5jCTU0OyIJZAlmaWxlOgpQRVJfU0VDCXJlZ3MuaAkyMzc7IglkClBGQ19NSVNDX0VSUl8xCXMy aW8uaAk4NjQ7IglkClBJQ19DTlRMX1JYX0FMQVJNX01BUF8xCXJlZ3MuaAkxNjE7IglkClBJQ19D TlRMX1NIQVJFRF9TUExJVFMJcmVncy5oCTE2MjsiCWQKUElDX0ZMU0hfSU5UX1JFR19DWUNMRV9G U01fRVJSCXJlZ3MuaAkxMjM7IglkClBJQ19GTFNIX0lOVF9SRUdfRVJSCXJlZ3MuaAkxMjQ7Iglk ClBJQ19JTlRfRkxTSAlyZWdzLmgJOTA7IglkClBJQ19JTlRfR1BJTwlyZWdzLmgJOTM7IglkClBJ Q19JTlRfSUlDCXJlZ3MuaAk5MjsiCWQKUElDX0lOVF9NRElPCXJlZ3MuaAk5MTsiCWQKUElDX0lO VF9SWAlyZWdzLmgJOTQ7IglkClBJQ19JTlRfVFgJcmVncy5oCTg5OyIJZApQSUNfUlhfSU5UX00J czJpby5oCTg1MjsiCWQKUFJDX0FMQVJNX0FDVElPTl9SUl9SMF9TVE9QCXJlZ3MuaAk0NjE7Iglk ClBSQ19BTEFSTV9BQ1RJT05fUlJfUjFfU1RPUAlyZWdzLmgJNDYzOyIJZApQUkNfQUxBUk1fQUNU SU9OX1JSX1IyX1NUT1AJcmVncy5oCTQ2NTsiCWQKUFJDX0FMQVJNX0FDVElPTl9SUl9SM19TVE9Q CXJlZ3MuaAk0Njc7IglkClBSQ19BTEFSTV9BQ1RJT05fUlJfUjRfU1RPUAlyZWdzLmgJNDY5OyIJ ZApQUkNfQUxBUk1fQUNUSU9OX1JSX1I1X1NUT1AJcmVncy5oCTQ3MTsiCWQKUFJDX0FMQVJNX0FD VElPTl9SUl9SNl9TVE9QCXJlZ3MuaAk0NzM7IglkClBSQ19BTEFSTV9BQ1RJT05fUlJfUjdfU1RP UAlyZWdzLmgJNDc1OyIJZApQUkNfQUxBUk1fQUNUSU9OX1JXX1IwX1NUT1AJcmVncy5oCTQ2Mjsi CWQKUFJDX0FMQVJNX0FDVElPTl9SV19SMV9TVE9QCXJlZ3MuaAk0NjQ7IglkClBSQ19BTEFSTV9B Q1RJT05fUldfUjJfU1RPUAlyZWdzLmgJNDY2OyIJZApQUkNfQUxBUk1fQUNUSU9OX1JXX1IzX1NU T1AJcmVncy5oCTQ2ODsiCWQKUFJDX0FMQVJNX0FDVElPTl9SV19SNF9TVE9QCXJlZ3MuaAk0NzA7 IglkClBSQ19BTEFSTV9BQ1RJT05fUldfUjVfU1RPUAlyZWdzLmgJNDcyOyIJZApQUkNfQUxBUk1f QUNUSU9OX1JXX1I2X1NUT1AJcmVncy5oCTQ3NDsiCWQKUFJDX0FMQVJNX0FDVElPTl9SV19SN19T VE9QCXJlZ3MuaAk0NzY7IglkClBSQ19DVFJMX05PX1NOT09QCXJlZ3MuaAk0NTU7IglkClBSQ19D VFJMX05PX1NOT09QX0JVRkYJcmVncy5oCTQ1NzsiCWQKUFJDX0NUUkxfTk9fU05PT1BfREVTQwly ZWdzLmgJNDU2OyIJZApQUkNfQ1RSTF9SQ19FTkFCTEVECXJlZ3MuaAk0NDk7IglkClBSQ19DVFJM X1JJTkdfTU9ERQlyZWdzLmgJNDUwOyIJZApQUkNfQ1RSTF9SSU5HX01PREVfMQlyZWdzLmgJNDUx OyIJZApQUkNfQ1RSTF9SSU5HX01PREVfMwlyZWdzLmgJNDUyOyIJZApQUkNfQ1RSTF9SSU5HX01P REVfNQlyZWdzLmgJNDUzOyIJZApQUkNfQ1RSTF9SSU5HX01PREVfeAlyZWdzLmgJNDU0OyIJZApQ UkNfQ1RSTF9SWERfQkFDS09GRl9JTlRFUlZBTAlyZWdzLmgJNDU4OyIJZApQUk9NSVNDCXMyaW8u aAk3MjQ7IglkClJFU0VUX0VSUk9SCXMyaW8uaAk3NzE7IglkClJJTkdfT1JHX0JVRkYxCXMyaW8u aAkzNzU7IglkClJNQUNfQUREUl9DTURfTUVNX09GRlNFVAlyZWdzLmgJNTc5OyIJZApSTUFDX0FE RFJfQ01EX01FTV9SRAlyZWdzLmgJNTc2OyIJZApSTUFDX0FERFJfQ01EX01FTV9TVFJPQkVfQ01E X0VYRUNVVElORwlyZWdzLmgJNTc4OyIJZApSTUFDX0FERFJfQ01EX01FTV9TVFJPQkVfTkVXX0NN RAlyZWdzLmgJNTc3OyIJZApSTUFDX0FERFJfQ01EX01FTV9XRQlyZWdzLmgJNTc1OyIJZApSTUFD X0FERFJfREFUQTBfTUVNX0FERFIJcmVncy5oCTU4MjsiCWQKUk1BQ19BRERSX0RBVEEwX01FTV9V U0VSCXJlZ3MuaAk1ODM7IglkClJNQUNfQUREUl9EQVRBMV9NRU1fTUFTSwlyZWdzLmgJNTg2OyIJ ZApSTUFDX0NGR19LRVkJcmVncy5oCTU2NzsiCWQKUk1BQ19FUlJfRkNTCXJlZ3MuaAk1NTc7Iglk ClJNQUNfRVJSX0ZDU19BQ0NFUFQJcmVncy5oCTU1ODsiCWQKUk1BQ19FUlJfTEVOX01JU01BVENI CXJlZ3MuaAk1NjM7IglkClJNQUNfRVJSX0xFTl9NSVNNQVRDSF9BQ0NFUFQJcmVncy5oCTU2NDsi CWQKUk1BQ19FUlJfUkVHX0VDQ19EQl9FUlIJcmVncy5oCTUyNzsiCWQKUk1BQ19FUlJfUkVHX1JU U19FQ0NfREJfRVJSCXJlZ3MuaAk1MjY7IglkClJNQUNfRVJSX1JFR19SWF9CVUZGX09WUk4JcmVn cy5oCTUyNTsiCWQKUk1BQ19FUlJfUlVOVAlyZWdzLmgJNTYxOyIJZApSTUFDX0VSUl9SVU5UX0FD Q0VQVAlyZWdzLmgJNTYyOyIJZApSTUFDX0VSUl9UT09fTE9ORwlyZWdzLmgJNTU5OyIJZApSTUFD X0VSUl9UT09fTE9OR19BQ0NFUFQJcmVncy5oCTU2MDsiCWQKUk1BQ19MSU5LX1NUQVRFX0NIQU5H RV9JTlQJcmVncy5oCTUyODsiCWQKUk1BQ19NQVhfUFlMRF9MRU4JcmVncy5oCTU1MjsiCWQKUk1B Q19NQVhfUFlMRF9MRU5fREVGCXJlZ3MuaAk1NTM7IglkClJNQUNfTUFYX1BZTERfTEVOX0pVTUJP X0RFRglyZWdzLmgJNTU0OyIJZApSTUFDX1BBVVNFX0dFTglyZWdzLmgJNjAwOyIJZApSTUFDX1BB VVNFX0dFTl9FTkFCTEUJcmVncy5oCTYwMTsiCWQKUk1BQ19QQVVTRV9IR19QVElNRQlyZWdzLmgJ NjA1OyIJZApSTUFDX1BBVVNFX0hHX1BUSU1FX0RFRglyZWdzLmgJNjA0OyIJZApSTUFDX1BBVVNF X1JYCXJlZ3MuaAk2MDI7IglkClJNQUNfUEFVU0VfUlhfRU5BQkxFCXJlZ3MuaAk2MDM7IglkClJU SV9DTURfTUVNX09GRlNFVAlyZWdzLmgJNDg0OyIJZApSVElfQ01EX01FTV9TVFJPQkUJcmVncy5o CTQ4MTsiCWQKUlRJX0NNRF9NRU1fU1RST0JFX0NNRF9CRUlOR19FWEVDVVRFRAlyZWdzLmgJNDgz OyIJZApSVElfQ01EX01FTV9TVFJPQkVfTkVXX0NNRAlyZWdzLmgJNDgyOyIJZApSVElfQ01EX01F TV9XRQlyZWdzLmgJNDgwOyIJZApSVElfREFUQTFfTUVNX1JYX1RJTUVSX0FDX0VOCXJlZ3MuaAk0 ODg7IglkClJUSV9EQVRBMV9NRU1fUlhfVElNRVJfQ0lfRU4JcmVncy5oCTQ4OTsiCWQKUlRJX0RB VEExX01FTV9SWF9USU1FUl9WQUwJcmVncy5oCTQ4NzsiCWQKUlRJX0RBVEExX01FTV9SWF9VUk5H X0EJcmVncy5oCTQ5MDsiCWQKUlRJX0RBVEExX01FTV9SWF9VUk5HX0IJcmVncy5oCTQ5MTsiCWQK UlRJX0RBVEExX01FTV9SWF9VUk5HX0MJcmVncy5oCTQ5MjsiCWQKUlRJX0RBVEEyX01FTV9SWF9V RkNfQQlyZWdzLmgJNDk1OyIJZApSVElfREFUQTJfTUVNX1JYX1VGQ19CCXJlZ3MuaAk0OTY7Iglk ClJUSV9EQVRBMl9NRU1fUlhfVUZDX0MJcmVncy5oCTQ5NzsiCWQKUlRJX0RBVEEyX01FTV9SWF9V RkNfRAlyZWdzLmgJNDk4OyIJZApSVFNfQ1RSTF9JR05PUkVfTExDX0NUUkwJcmVncy5oCTY0MTsi CWQKUlRTX0NUUkxfSUdOT1JFX1NOQVBfT1VJCXJlZ3MuaAk2NDA7IglkClJUU19ESVhfTUFQX0VU WVBFCXJlZ3MuaAk2MzM7IglkClJUU19ESVhfTUFQX1NDVwlyZWdzLmgJNjM0OyIJZApSVFNfRFNf TUVNX0NUUkxfT0ZGU0VUCXJlZ3MuaAk2NTc7IglkClJUU19EU19NRU1fQ1RSTF9TVFJPQkVfQ01E X0JFSU5HX0VYRUNVVEVECXJlZ3MuaAk2NTY7IglkClJUU19EU19NRU1fQ1RSTF9TVFJPQkVfTkVX X0NNRAlyZWdzLmgJNjU1OyIJZApSVFNfRFNfTUVNX0NUUkxfV0UJcmVncy5oCTY1NDsiCWQKUlRT X0RTX01FTV9EQVRBCXJlZ3MuaAk2NTk7IglkClJUU19QTl9DQU1fQ1RSTF9PRkZTRVQJcmVncy5o CTY0NzsiCWQKUlRTX1BOX0NBTV9DVFJMX1NUUk9CRV9CRUlOR19FWEVDVVRFRAlyZWdzLmgJNjQ2 OyIJZApSVFNfUE5fQ0FNX0NUUkxfU1RST0JFX05FV19DTUQJcmVncy5oCTY0NTsiCWQKUlRTX1BO X0NBTV9DVFJMX1dFCXJlZ3MuaAk2NDQ7IglkClJUU19QTl9DQU1fREFUQV9QT1JUCXJlZ3MuaAk2 NTA7IglkClJUU19QTl9DQU1fREFUQV9TQ1cJcmVncy5oCTY1MTsiCWQKUlRTX1BOX0NBTV9EQVRB X1RDUF9TRUxFQ1QJcmVncy5oCTY0OTsiCWQKUlhETUFfSU5UX00JczJpby5oCTg1MzsiCWQKUlhE TUFfSU5UX1JDX0lOVF9NCXJlZ3MuaAkzODg7IglkClJYRE1BX0lOVF9SREFfSU5UX00JcmVncy5o CTM5MDsiCWQKUlhETUFfSU5UX1JQQV9JTlRfTQlyZWdzLmgJMzg5OyIJZApSWERNQV9JTlRfUlRJ X0lOVF9NCXJlZ3MuaAkzOTE7IglkClJYRF9BTExPQ0VECXMyaW8uaAk1MzA7IglkClJYRF9CQUNL T0ZGX0lOVEVSVkFMX0RFRglzMmlvLmgJMzkxOyIJZApSWERfQkFDS09GRl9JTlRFUlZBTF9NQVgJ czJpby5oCTM5MzsiCWQKUlhEX0JBQ0tPRkZfSU5URVJWQUxfTUlOCXMyaW8uaAkzOTI7IglkClJY RF9GUkFNRV9QUk9UTwlzMmlvLmgJNTM4OyIJZApSWERfRlJBTUVfUFJPVE9fSVBWNAlzMmlvLmgJ NTM5OyIJZApSWERfRlJBTUVfUFJPVE9fSVBWNglzMmlvLmgJNTQwOyIJZApSWERfRlJBTUVfUFJP VE9fVENQCXMyaW8uaAk1NDE7IglkClJYRF9GUkFNRV9QUk9UT19VRFAJczJpby5oCTU0MjsiCWQK UlhEX0dFVF9CVUZGRVIwX1NJWkUJczJpby5oCTU1NDsiCWQKUlhEX0dFVF9MM19DS1NVTQlzMmlv LmgJNTQ0OyIJZApSWERfR0VUX0w0X0NLU1VNCXMyaW8uaAk1NDU7IglkClJYRF9PV05fWEVOQQlz MmlvLmgJNTM2OyIJZApSWERfVF9DT0RFCXMyaW8uaAk1Mzc7IglkClJYTUFDX0lOVF9NCXMyaW8u aAk4NTQ7IglkClJYVFJBRkZJQ19JTlRfTQlzMmlvLmgJODU3OyIJZApSWFhHWFNfSU5UX00JczJp by5oCTg1NjsiCWQKUlhfRE1BX0lOVFIJczJpby5oCTgyNzsiCWQKUlhfTUFDX0lOVFIJczJpby5o CTgyODsiCWQKUlhfTUFYX1JJTkdTCXJlZ3MuaAk0NDI7IglkClJYX01BWF9SSU5HU19TWglyZWdz LmgJNDQ0OyIJZApSWF9NSU5fUklOR1NfU1oJcmVncy5oCTQ0NTsiCWQKUlhfUEFfQ0ZHX0lHTk9S RV9GUk1fRVJSCXJlZ3MuaAk1MDE7IglkClJYX1BBX0NGR19JR05PUkVfTExDX0NUUkwJcmVncy5o CTUwMzsiCWQKUlhfUEFfQ0ZHX0lHTk9SRV9TTkFQX09VSQlyZWdzLmgJNTAyOyIJZApSWF9QSUNf SU5UUglzMmlvLmgJODI2OyIJZApSWF9RVUVVRV8wX1BSSU9SSVRZCXJlZ3MuaAk0MTc7IglkClJY X1FVRVVFXzFfUFJJT1JJVFkJcmVncy5oCTQxODsiCWQKUlhfUVVFVUVfMl9QUklPUklUWQlyZWdz LmgJNDE5OyIJZApSWF9RVUVVRV8zX1BSSU9SSVRZCXJlZ3MuaAk0MjA7IglkClJYX1FVRVVFXzRf UFJJT1JJVFkJcmVncy5oCTQyMTsiCWQKUlhfUVVFVUVfNV9QUklPUklUWQlyZWdzLmgJNDIyOyIJ ZApSWF9RVUVVRV82X1BSSU9SSVRZCXJlZ3MuaAk0MjM7IglkClJYX1FVRVVFXzdfUFJJT1JJVFkJ cmVncy5oCTQyNDsiCWQKUlhfUVVFVUVfQ0ZHX1EwX1NaCXJlZ3MuaAk2ODY7IglkClJYX1FVRVVF X0NGR19RMV9TWglyZWdzLmgJNjg3OyIJZApSWF9RVUVVRV9DRkdfUTJfU1oJcmVncy5oCTY4ODsi CWQKUlhfUVVFVUVfQ0ZHX1EzX1NaCXJlZ3MuaAk2ODk7IglkClJYX1FVRVVFX0NGR19RNF9TWgly ZWdzLmgJNjkwOyIJZApSWF9RVUVVRV9DRkdfUTVfU1oJcmVncy5oCTY5MTsiCWQKUlhfUVVFVUVf Q0ZHX1E2X1NaCXJlZ3MuaAk2OTI7IglkClJYX1FVRVVFX0NGR19RN19TWglyZWdzLmgJNjkzOyIJ ZApSWF9RVUVVRV9QUklfMAlyZWdzLmgJNDI2OyIJZApSWF9RVUVVRV9QUklfMQlyZWdzLmgJNDI3 OyIJZApSWF9RVUVVRV9QUklfMglyZWdzLmgJNDI4OyIJZApSWF9RVUVVRV9QUklfMwlyZWdzLmgJ NDI5OyIJZApSWF9RVUVVRV9QUklfNAlyZWdzLmgJNDMwOyIJZApSWF9RVUVVRV9QUklfNQlyZWdz LmgJNDMxOyIJZApSWF9RVUVVRV9QUklfNglyZWdzLmgJNDMyOyIJZApSWF9RVUVVRV9QUklfNwly ZWdzLmgJNDMzOyIJZApSWF9SSU5HX09SR19CVUZGMwlzMmlvLmgJMzc2OyIJZApSWF9SSU5HX09S R19CVUZGNQlzMmlvLmgJMzc3OyIJZApSWF9SSU5HX1BSSV8wCXMyaW8uaAkzNjM7IglkClJYX1JJ TkdfUFJJXzEJczJpby5oCTM2NDsiCWQKUlhfUklOR19QUklfMglzMmlvLmgJMzY1OyIJZApSWF9S SU5HX1BSSV8zCXMyaW8uaAkzNjY7IglkClJYX1JJTkdfUFJJXzQJczJpby5oCTM2NzsiCWQKUlhf UklOR19QUklfNQlzMmlvLmgJMzY4OyIJZApSWF9SSU5HX1BSSV82CXMyaW8uaAkzNjk7IglkClJY X1JJTkdfUFJJXzcJczJpby5oCTM3MDsiCWQKUlhfVFJBRkZJQ19JTlRSCXMyaW8uaAk4MzA7Iglk ClJYX1RSQUZGSUNfSU5UX24JcmVncy5oCTE1NjsiCWQKUlhfWEdYU19JTlRSCXMyaW8uaAk4Mjk7 IglkClJpbmdPcmcJczJpby5oCS9eICAgIHU4ICBSaW5nT3JnOyAgICAgICAgXC8qT3JnYW5pemF0 aW9uIG9mIHJpbmcqXC8kLzsiCW0Jc3RydWN0OnJ4X3JpbmdfY29uZmlnClJpbmdQcmlvcml0eQlz MmlvLmgJL14gICAgdTggIFJpbmdQcmlvcml0eTsgICBcLypTcGVjaWZpZXMgc2VydmljZSBwcmlv cml0eSBvZiByaW5nKlwvJC87IgltCXN0cnVjdDpyeF9yaW5nX2NvbmZpZwpSeENmZwlzMmlvLmgJ L14gICAgcnhfcmluZ19jb25maWdfdCAgUnhDZmdbTUFYX1JYX1JJTkdTXTsgXC8qUGVyLVJ4IFJp bmcgY29uZmlnICpcLyQvOyIJbQlzdHJ1Y3Q6Y29uZmlnX3BhcmFtClJ4RF9CYWNrT2ZmX0ludGVy dmFsCXMyaW8uaAkvXiAgICB1MzIgUnhEX0JhY2tPZmZfSW50ZXJ2YWw7JC87IgltCXN0cnVjdDpy eF9yaW5nX2NvbmZpZwpSeERfYmxvY2tfdAlzMmlvLmgJL159IFJ4RF9ibG9ja190OyQvOyIJdApS eERfdAlzMmlvLmgJL159IFJ4RF90OyQvOyIJdApSeEZsb3cJczJpby5oCS9eICAgIEJPT0wgICAg UnhGbG93OyQvOyIJbQlzdHJ1Y3Q6Y29uZmlnX3BhcmFtClJ4UmluZwlzMmlvLmgJL14gICAgUnhE X3QqICBSeFJpbmdbTUFYX1JYX1JJTkdTXTsgICAgXC8qIExvZ2ljYWwgUnggcmluZyBwb2ludGVy cyAqXC8kLzsiCW0Jc3RydWN0Om1hY19pbmZvClJ4UmluZ051bQlzMmlvLmgJL14gICAgdTMyICAg ICBSeFJpbmdOdW07ICAgIFwvKk51bWJlciBvZiByZWNlaXZlIHJpbmdzKlwvJC87IgltCXN0cnVj dDpjb25maWdfcGFyYW0KUnhSaW5nX1BoeQlzMmlvLmgJL14gICAgZG1hYWRkcl90ICAgICBSeFJp bmdfUGh5W01BWF9SWF9SSU5HU107JC87IgltCXN0cnVjdDptYWNfaW5mbwpSeFNlcnZpY2VTdGF0 ZQlzMmlvLmgJL14gICAgdTggICAgICBSeFNlcnZpY2VTdGF0ZVtNQVhfU0VSVklDRV9TVEFURVNd OyAgICAgJC87IgltCXN0cnVjdDpjb25maWdfcGFyYW0KUnhWTEFORW5hYmxlCXMyaW8uaAkvXiAg ICBCT09MICAgIFJ4VkxBTkVuYWJsZTsgICBcLypUUlVFOiBTdHJpcCBvZmYgVkxBTiB0YWcgZnJv bSB0aGUgZnJhbWUsJC87IgltCXN0cnVjdDpjb25maWdfcGFyYW0KUnhkVGhyZXNoCXMyaW8uaAkv XiAgICB1MzIgUnhkVGhyZXNoOyAgXC8qTm8gb2YgdXNlZCBSeGRzIE5JQyBjYW4gc3RvcmUgYmVm b3JlIHRyYW5zZmVyIHRvIGhvc3QgKlwvJC87IgltCXN0cnVjdDpyeF9yaW5nX2NvbmZpZwpTMklP X0RFVl9JRAlzMmlvLmMJMjk1MjsiCWQJZmlsZToKUzJJT19KVU1CT19TSVpFCXMyaW8uaAk5Mzsi CWQKUzJJT19TVFJJTkdTX0xFTglzMmlvLmMJMTM4OyIJZAlmaWxlOgpTMklPX1RFU1RfTEVOCXMy aW8uYwkxMzc7IglkCWZpbGU6ClNDSEVEX0lOVF9DVFJMX0lOVDJNU0kJcmVncy5oCTE5NDsiCWQK U0NIRURfSU5UX0NUUkxfT05FX1NIT1QJcmVncy5oCTE5MzsiCWQKU0NIRURfSU5UX0NUUkxfVElN RVJfRU4JcmVncy5oCTE5MjsiCWQKU0NIRURfSU5UX1BFUklPRAlyZWdzLmgJMTk1OyIJZApTRVJS X1NPVVJDRV9BTlkJcmVncy5oCTc2OyIJZApTRVJSX1NPVVJDRV9NQUMJcmVncy5oCTczOyIJZApT RVJSX1NPVVJDRV9NQwlyZWdzLmgJNzQ7IglkClNFUlJfU09VUkNFX1BJQwlyZWdzLmgJNzA7Iglk ClNFUlJfU09VUkNFX1JYRE1BCXJlZ3MuaAk3MjsiCWQKU0VSUl9TT1VSQ0VfVFhETUEJcmVncy5o CTcxOyIJZApTRVJSX1NPVVJDRV9YR1hTCXJlZ3MuaAk3NTsiCWQKU0VUX0JVRkZFUjBfU0laRQlz MmlvLmgJNTQ5OyIJZApTRVRfTkVUREVWX0RFVglzMmlvLmMJNjA7IglkCWZpbGU6ClNFVF9OVU1f VEFHCXMyaW8uaAk1NTI7IglkClNFVF9VUERUX1BFUklPRAlyZWdzLmgJMjM4OyIJZApTRVRfVkxB Tl9UQUcJczJpby5oCTU1MTsiCWQKU01BTExfUlhEX0NOVAlzMmlvLmgJNzc2OyIJZApTUEVFRF8x MDAwMAlzMmlvLmMJMjcxOTsiCWQJZmlsZToKU1RBVFJFUVRPX0VOCXJlZ3MuaAkyMDM7IglkClNU QVRSRVFUT19WQUwJcmVncy5oCTIwMjsiCWQKU1RBVFNfQUxMT0NFRAlzMmlvLmgJOTY7IglkClNU QVRfQ0ZHX09ORV9TSE9UX0VOCXJlZ3MuaAkyMzM7IglkClNUQVRfQ0ZHX1NUQVRfRU4JcmVncy5o CTIzMjsiCWQKU1RBVF9DRkdfU1RBVF9OU19FTglyZWdzLmgJMjM0OyIJZApTVEFUX0NGR19TVEFU X1JPCXJlZ3MuaAkyMzU7IglkClNUQVRfVFJTRl9QRVIJcmVncy5oCTIzNjsiCWQKU1RBVF9UUlNG X1BFUl8xX1NFQ09ORAlzMmlvLmgJNDY1OyIJZApTVUNDRVNTCXMyaW8uaAk0MjsiCWQKU1VDQ0VT UwlzMmlvLmgJNDM7IglkClNVUFBPUlRFRF8xMDAwMGJhc2VUX0Z1bGwJczJpby5oCTY2OyIJZApT V0FQUEVSX0NUUkxfUElGX1JfRkUJcmVncy5oCTE2NTsiCWQKU1dBUFBFUl9DVFJMX1BJRl9SX1NF CXJlZ3MuaAkxNjY7IglkClNXQVBQRVJfQ1RSTF9QSUZfV19GRQlyZWdzLmgJMTY3OyIJZApTV0FQ UEVSX0NUUkxfUElGX1dfU0UJcmVncy5oCTE2ODsiCWQKU1dBUFBFUl9DVFJMX1JYRF9SX0ZFCXJl Z3MuaAkxNzc7IglkClNXQVBQRVJfQ1RSTF9SWERfUl9TRQlyZWdzLmgJMTc4OyIJZApTV0FQUEVS X0NUUkxfUlhEX1dfRkUJcmVncy5oCTE3OTsiCWQKU1dBUFBFUl9DVFJMX1JYRF9XX1NFCXJlZ3Mu aAkxODA7IglkClNXQVBQRVJfQ1RSTF9SWEZfV19GRQlyZWdzLmgJMTgxOyIJZApTV0FQUEVSX0NU UkxfUlhGX1dfU0UJcmVncy5oCTE4MjsiCWQKU1dBUFBFUl9DVFJMX1NUQVRTX0ZFCXJlZ3MuaAkx ODU7IglkClNXQVBQRVJfQ1RSTF9TVEFUU19TRQlyZWdzLmgJMTg2OyIJZApTV0FQUEVSX0NUUkxf VFhEX1JfRkUJcmVncy5oCTE3MTsiCWQKU1dBUFBFUl9DVFJMX1RYRF9SX1NFCXJlZ3MuaAkxNzI7 IglkClNXQVBQRVJfQ1RSTF9UWERfV19GRQlyZWdzLmgJMTczOyIJZApTV0FQUEVSX0NUUkxfVFhE X1dfU0UJcmVncy5oCTE3NDsiCWQKU1dBUFBFUl9DVFJMX1RYRl9SX0ZFCXJlZ3MuaAkxNzU7Iglk ClNXQVBQRVJfQ1RSTF9UWEZfUl9TRQlyZWdzLmgJMTc2OyIJZApTV0FQUEVSX0NUUkxfVFhQX0ZF CXJlZ3MuaAkxNjk7IglkClNXQVBQRVJfQ1RSTF9UWFBfU0UJcmVncy5oCTE3MDsiCWQKU1dBUFBF Ul9DVFJMX1hNU0lfRkUJcmVncy5oCTE4MzsiCWQKU1dBUFBFUl9DVFJMX1hNU0lfU0UJcmVncy5o CTE4NDsiCWQKU1dfUkVTRVRfQUxMCXJlZ3MuaAkzODsiCWQKU1dfUkVTRVRfRU9JCXJlZ3MuaAkz NzsiCWQKU1dfUkVTRVRfRkxBU0gJcmVncy5oCTM2OyIJZApTV19SRVNFVF9SQVdfVkFMCXJlZ3Mu aAk0MTsiCWQKU1dfUkVTRVRfWEVOQQlyZWdzLmgJMzU7IglkClN0YXRBdXRvUmVmcmVzaAlzMmlv LmgJL14gICAgQk9PTCAgICBTdGF0QXV0b1JlZnJlc2g7ICBcLyogV2hlbiB0cnVlLCBTdGF0UmVm cmVzaFRpbWUgaGF2ZSB2YWxpZCB2YWx1ZSAqXC8kLzsiCW0Jc3RydWN0OmNvbmZpZ19wYXJhbQpT dGF0SW5mb190CXMyaW8uaAkvXn1TdGF0SW5mb190OyAgJC87Igl0ClN0YXRSZWZyZXNoVGltZQlz MmlvLmgJL14gICAgdTMyICAgICBTdGF0UmVmcmVzaFRpbWU7ICBcLypUaW1lIGZvciByZWZyZXNo aW5nIHN0YXRpc3RpY3MqXC8kLzsiCW0Jc3RydWN0OmNvbmZpZ19wYXJhbQpTdGF0c0luZm8JczJp by5oCS9eICAgIFN0YXRJbmZvX3QgICpTdGF0c0luZm87ICBcLyogTG9naWNhbCBhZGRyZXNzIG9m IHRoZSBzdGF0IGJsb2NrICpcLyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KU3RhdHNJbmZvUGh5CXMy aW8uaAkvXiAgICBkbWFhZGRyX3QgICAgU3RhdHNJbmZvUGh5OyAgXC8qIFBoeXNpY2FsIGFkZHJl c3Mgb2YgdGhlIHN0YXQgYmxvY2sgKlwvJC87IgltCXN0cnVjdDptYWNfaW5mbwpUQVNLTEVUX0lO X1VTRQlzMmlvLmMJOTg7IglkCWZpbGU6ClRCRAlyZWdzLmgJNDsiCWQKVEJECXMyaW8uaAkxOTsi CWQKVENQX09SX1VEUF9GUkFNRQlzMmlvLmgJNTQzOyIJZApURVNUX0ZSTV9TSVpFCXMyaW8uYwkx MjI7IglkCWZpbGU6ClRFU1RfU0VRX1NJWkUJczJpby5jCTEyMzsiCWQJZmlsZToKVE1BQ19BVkdf SVBHCXJlZ3MuaAk1NDk7IglkClRNQUNfRVJSX1JFR19UTUFDX0VDQ19EQl9FUlIJcmVncy5oCTUx ODsiCWQKVE1BQ19FUlJfUkVHX1RNQUNfVFhfQlVGX09WUk4JcmVncy5oCTUxOTsiCWQKVE1BQ19F UlJfUkVHX1RNQUNfVFhfQ1JJX0VSUglyZWdzLmgJNTIwOyIJZApUUlVFCXMyaW8uaAkzODsiCWQK VFRJX0NNRF9NRU1fT0ZGU0VUCXJlZ3MuaAkzNTI7IglkClRUSV9DTURfTUVNX1NUUk9CRV9CRUlO R19FWEVDVVRFRAlyZWdzLmgJMzUxOyIJZApUVElfQ01EX01FTV9TVFJPQkVfTkVXX0NNRAlyZWdz LmgJMzUwOyIJZApUVElfQ01EX01FTV9XRQlyZWdzLmgJMzQ5OyIJZApUVElfREFUQTFfTUVNX1RY X1RJTUVSX0FDX0NJCXJlZ3MuaAkzNTY7IglkClRUSV9EQVRBMV9NRU1fVFhfVElNRVJfQUNfRU4J cmVncy5oCTM1NzsiCWQKVFRJX0RBVEExX01FTV9UWF9USU1FUl9DSV9FTglyZWdzLmgJMzU4OyIJ ZApUVElfREFUQTFfTUVNX1RYX1RJTUVSX1ZBTAlyZWdzLmgJMzU1OyIJZApUVElfREFUQTFfTUVN X1RYX1VSTkdfQQlyZWdzLmgJMzU5OyIJZApUVElfREFUQTFfTUVNX1RYX1VSTkdfQglyZWdzLmgJ MzYwOyIJZApUVElfREFUQTFfTUVNX1RYX1VSTkdfQwlyZWdzLmgJMzYxOyIJZApUVElfREFUQTJf TUVNX1RYX1VGQ19BCXJlZ3MuaAkzNjQ7IglkClRUSV9EQVRBMl9NRU1fVFhfVUZDX0IJcmVncy5o CTM2NTsiCWQKVFRJX0RBVEEyX01FTV9UWF9VRkNfQwlyZWdzLmgJMzY2OyIJZApUVElfREFUQTJf TUVNX1RYX1VGQ19ECXJlZ3MuaAkzNjc7IglkClRYRE1BX0lOVF9NCXMyaW8uaAk4NDg7IglkClRY RE1BX0xTT19JTlQJcmVncy5oCTI2OTsiCWQKVFhETUFfUENDX0lOVAlyZWdzLmgJMjY3OyIJZApU WERNQV9QRkNfSU5UCXJlZ3MuaAkyNjU7IglkClRYRE1BX1BGQ19JTlRfTQlzMmlvLmgJODYyOyIJ ZApUWERNQV9TTV9JTlQJcmVncy5oCTI3MTsiCWQKVFhETUFfVERBX0lOVAlyZWdzLmgJMjY2OyIJ ZApUWERNQV9UUEFfSU5UCXJlZ3MuaAkyNzA7IglkClRYRE1BX1RUSV9JTlQJcmVncy5oCTI2ODsi CWQKVFhEX0FMTE9DRUQJczJpby5oCTQ5MzsiCWQKVFhEX0JVRkZFUjBfU0laRQlzMmlvLmgJNTA4 OyIJZApUWERfR0FUSEVSX0NPREUJczJpby5oCTUwMjsiCWQKVFhEX0dBVEhFUl9DT0RFX0ZJUlNU CXMyaW8uaAk1MDM7IglkClRYRF9HQVRIRVJfQ09ERV9MQVNUCXMyaW8uaAk1MDQ7IglkClRYRF9J TlRfTlVNQkVSCXMyaW8uaAk1MTc7IglkClRYRF9JTlRfVFlQRV9QRVJfTElTVAlzMmlvLmgJNTE4 OyIJZApUWERfSU5UX1RZUEVfVVRJTFoJczJpby5oCTUxOTsiCWQKVFhEX0xJU1RfT1dOX1hFTkEJ czJpby5oCTQ5ODsiCWQKVFhEX1NFVF9NQVJLRVIJczJpby5oCTUyMDsiCWQKVFhEX1RDUF9MU09f RU4JczJpby5oCTUwNTsiCWQKVFhEX1RDUF9MU09fTVNTCXMyaW8uaAk1MDc7IglkClRYRF9UWF9D S09fQ09OVFJPTAlzMmlvLmgJNTExOyIJZApUWERfVFhfQ0tPX0lQVjRfRU4JczJpby5oCTUxMjsi CWQKVFhEX1RYX0NLT19UQ1BfRU4JczJpby5oCTUxMzsiCWQKVFhEX1RYX0NLT19VRFBfRU4JczJp by5oCTUxNDsiCWQKVFhEX1RfQ09ERQlzMmlvLmgJNDk5OyIJZApUWERfVF9DT0RFX09LCXMyaW8u aAk1MDA7IglkClRYRF9VRFBfQ09GX0VOCXMyaW8uaAk1MDY7IglkClRYRF9WTEFOX0VOQUJMRQlz MmlvLmgJNTE1OyIJZApUWERfVkxBTl9UQUcJczJpby5oCTUxNjsiCWQKVFhHWFNfRUNDX0RCX0VS UglyZWdzLmgJNzQxOyIJZApUWE1BQ19JTlRfTQlzMmlvLmgJODQ5OyIJZApUWFBJQ19JTlRfTQlz MmlvLmgJODQ3OyIJZApUWFJFUVRPX0VOCXJlZ3MuaAkxOTk7IglkClRYUkVRVE9fVkFMCXJlZ3Mu aAkxOTg7IglkClRYVFJBRkZJQ19JTlRfTQlzMmlvLmgJODUxOyIJZApUWFhHWFNfSU5UX00JczJp by5oCTg1MDsiCWQKVFhfREJHCXMyaW8uaAk4MTsiCWQKVFhfRE1BX0lOVFIJczJpby5oCTgyMjsi CWQKVFhfRklGT19CVUZGX05PX1NOT09QCXMyaW8uaAk0ODk7IglkClRYX0ZJRk9fRFNfTk9fU05P T1AJczJpby5oCTQ4ODsiCWQKVFhfRklGT19GSVJTVE5MQVNUX0xJU1QJczJpby5oCTQ4NjsiCWQK VFhfRklGT19GSVJTVF9MSVNUCXMyaW8uaAk0ODQ7IglkClRYX0ZJRk9fTEFTVF9MSVNUCXMyaW8u aAk0ODU7IglkClRYX0ZJRk9fTEFTVF9UWERfTlVNCXMyaW8uaAk0ODM7IglkClRYX0ZJRk9fUEFS VElUSU9OXzBfTEVOCXJlZ3MuaAkzMTE7IglkClRYX0ZJRk9fUEFSVElUSU9OXzBfUFJJCXJlZ3Mu aAkzMTA7IglkClRYX0ZJRk9fUEFSVElUSU9OXzFfTEVOCXJlZ3MuaAkzMTM7IglkClRYX0ZJRk9f UEFSVElUSU9OXzFfUFJJCXJlZ3MuaAkzMTI7IglkClRYX0ZJRk9fUEFSVElUSU9OXzJfTEVOCXJl Z3MuaAkzMTc7IglkClRYX0ZJRk9fUEFSVElUSU9OXzJfUFJJCXJlZ3MuaAkzMTY7IglkClRYX0ZJ Rk9fUEFSVElUSU9OXzNfTEVOCXJlZ3MuaAkzMTk7IglkClRYX0ZJRk9fUEFSVElUSU9OXzNfUFJJ CXJlZ3MuaAkzMTg7IglkClRYX0ZJRk9fUEFSVElUSU9OXzRfTEVOCXJlZ3MuaAkzMjM7IglkClRY X0ZJRk9fUEFSVElUSU9OXzRfUFJJCXJlZ3MuaAkzMjI7IglkClRYX0ZJRk9fUEFSVElUSU9OXzVf TEVOCXJlZ3MuaAkzMjU7IglkClRYX0ZJRk9fUEFSVElUSU9OXzVfUFJJCXJlZ3MuaAkzMjQ7Iglk ClRYX0ZJRk9fUEFSVElUSU9OXzZfTEVOCXJlZ3MuaAkzMjk7IglkClRYX0ZJRk9fUEFSVElUSU9O XzZfUFJJCXJlZ3MuaAkzMjg7IglkClRYX0ZJRk9fUEFSVElUSU9OXzdfTEVOCXJlZ3MuaAkzMzE7 IglkClRYX0ZJRk9fUEFSVElUSU9OXzdfUFJJCXJlZ3MuaAkzMzA7IglkClRYX0ZJRk9fUEFSVElU SU9OX0VOCXJlZ3MuaAkzMDk7IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV8wCXJlZ3MuaAkzMzM7 IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV8xCXJlZ3MuaAkzMzQ7IglkClRYX0ZJRk9fUEFSVElU SU9OX1BSSV8yCXJlZ3MuaAkzMzU7IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV8zCXJlZ3MuaAkz MzY7IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV80CXJlZ3MuaAkzMzc7IglkClRYX0ZJRk9fUEFS VElUSU9OX1BSSV81CXJlZ3MuaAkzMzg7IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV82CXJlZ3Mu aAkzMzk7IglkClRYX0ZJRk9fUEFSVElUSU9OX1BSSV83CXJlZ3MuaAkzNDA7IglkClRYX0ZJRk9f UFJJXzAJczJpby5oCTM0MzsiCWQKVFhfRklGT19QUklfMQlzMmlvLmgJMzQ0OyIJZApUWF9GSUZP X1BSSV8yCXMyaW8uaAkzNDU7IglkClRYX0ZJRk9fUFJJXzMJczJpby5oCTM0NjsiCWQKVFhfRklG T19QUklfNAlzMmlvLmgJMzQ3OyIJZApUWF9GSUZPX1BSSV81CXMyaW8uaAkzNDg7IglkClRYX0ZJ Rk9fUFJJXzYJczJpby5oCTM0OTsiCWQKVFhfRklGT19QUklfNwlzMmlvLmgJMzUwOyIJZApUWF9G SUZPX1NQRUNJQUxfRlVOQwlzMmlvLmgJNDg3OyIJZApUWF9NQUNfSU5UUglzMmlvLmgJODIzOyIJ ZApUWF9QQV9DRkdfSUdOT1JFX0ZSTV9FUlIJcmVncy5oCTM3MTsiCWQKVFhfUEFfQ0ZHX0lHTk9S RV9MMl9FUlIJcmVncy5oCTM3NDsiCWQKVFhfUEFfQ0ZHX0lHTk9SRV9MTENfQ1RSTAlyZWdzLmgJ MzczOyIJZApUWF9QQV9DRkdfSUdOT1JFX1NOQVBfT1VJCXJlZ3MuaAkzNzI7IglkClRYX1BJQ19J TlRSCXMyaW8uaAk4MjE7IglkClRYX1JFUV9USU1FT1VUX0RFRkFVTFQJczJpby5oCTQwOTsiCWQK VFhfUkVRX1RJTUVPVVRfTUFYCXMyaW8uaAk0MTE7IglkClRYX1JFUV9USU1FT1VUX01JTglzMmlv LmgJNDEwOyIJZApUWF9UUkFGRklDX0lOVFIJczJpby5oCTgyNTsiCWQKVFhfVFJBRkZJQ19JTlRf bglyZWdzLmgJMTUyOyIJZApUWF9YR1hTX0lOVFIJczJpby5oCTgyNDsiCWQKVHhDZmcJczJpby5o CS9eICAgIHR4X2ZpZm9fY29uZmlnX3QgIFR4Q2ZnW01BWF9UWF9GSUZPU107ICBcLypQZXItVHgg RklGTyBjb25maWcgKlwvJC87IgltCXN0cnVjdDpjb25maWdfcGFyYW0KVHhETF9Qb2ludGVyCXMy aW8uaAkvXiAgICBkbWFhZGRyX3QgVHhETF9Qb2ludGVyOyQvOyIJbQlzdHJ1Y3Q6X1R4RklGT19l bGVtZW50ClR4RF90CXMyaW8uaAkvXn0gVHhEX3Q7JC87Igl0ClR4RklGT051bQlzMmlvLmgJL14g ICAgdTMyICAgICBUeEZJRk9OdW07ICAgICAgXC8qTnVtYmVyIG9mIFR4IEZJRk9zICpcLyQvOyIJ bQlzdHJ1Y3Q6Y29uZmlnX3BhcmFtClR4RklGT19lbGVtZW50X3QJczJpby5oCS9efSBUeEZJRk9f ZWxlbWVudF90OyQvOyIJdApUeEZsb3cJczJpby5oCS9eICAgIEJPT0wgICAgVHhGbG93OyAgICAg ICAgIFwvKlR4IGZsb3cgY29udHJvbCBlbmFibGUqXC8kLzsiCW0Jc3RydWN0OmNvbmZpZ19wYXJh bQpUeFJlcVRpbWVPdXQJczJpby5oCS9eICAgIHUzMiAgICAgVHhSZXFUaW1lT3V0OyAgICQvOyIJ bQlzdHJ1Y3Q6Y29uZmlnX3BhcmFtClR4U2VydmljZVN0YXRlCXMyaW8uaAkvXiAgICB1OCAgICAg IFR4U2VydmljZVN0YXRlW01BWF9TRVJWSUNFX1NUQVRFU107JC87IgltCXN0cnVjdDpjb25maWdf cGFyYW0KVHhWTEFORW5hYmxlCXMyaW8uaAkvXiAgICBCT09MICAgIFR4VkxBTkVuYWJsZTsgICBc LypUUlVFOiBJbnNlcnQgVkxBTiBJRCwgRkFMU0U6IERvbid0IGluc2VydCpcLyQvOyIJbQlzdHJ1 Y3Q6Y29uZmlnX3BhcmFtCldBVENIX0RPR19USU1FT1VUCXMyaW8uaAk2MDsiCWQKWEVOQV9BUkNI XzY0CXMyaW8uaAk1OyIJZApYRU5BX0FSQ0hfNjQJczJpby5oCTc7IglkClhFTkFfRUVQUk9NX1NQ QUNFCXJlZ3MuaAk3NjI7IglkClhFTkFfRUlHSFRfU1BMSVRfVFJBTlNBQ1RJT04JczJpby5oCS9e CVhFTkFfRUlHSFRfU1BMSVRfVFJBTlNBQ1RJT04gCQk9IDQsJC87IgllCWVudW06eGVuYV9tYXhf b3V0c3RhbmRpbmdfc3BsaXRzClhFTkFfRk9VUl9TUExJVF9UUkFOU0FDVElPTglzMmlvLmgJL14J WEVOQV9GT1VSX1NQTElUX1RSQU5TQUNUSU9OIAkJPSAzLCQvOyIJZQllbnVtOnhlbmFfbWF4X291 dHN0YW5kaW5nX3NwbGl0cwpYRU5BX01BWF9PVVRTVEFORElOR19TUExJVFMJczJpby5oCTU3OyIJ ZApYRU5BX09ORV9TUExJVF9UUkFOU0FDVElPTglzMmlvLmgJL14JWEVOQV9PTkVfU1BMSVRfVFJB TlNBQ1RJT04gCQkJPSAwLCQvOyIJZQllbnVtOnhlbmFfbWF4X291dHN0YW5kaW5nX3NwbGl0cwpY RU5BX1JFR19TUEFDRQlyZWdzLmgJNzYxOyIJZApYRU5BX1NJWFRFRU5fU1BMSVRfVFJBTlNBQ1RJ T04JczJpby5oCS9eCVhFTkFfU0lYVEVFTl9TUExJVF9UUkFOU0FDVElPTiAJCT0gNiwkLzsiCWUJ ZW51bTp4ZW5hX21heF9vdXRzdGFuZGluZ19zcGxpdHMKWEVOQV9USElSVFlUV09fU1BMSVRfVFJB TlNBQ1RJT04JczJpby5oCS9eCVhFTkFfVEhJUlRZVFdPX1NQTElUX1RSQU5TQUNUSU9OIAk9IDck LzsiCWUJZW51bTp4ZW5hX21heF9vdXRzdGFuZGluZ19zcGxpdHMKWEVOQV9USFJFRV9TUExJVF9U UkFOU0FDVElPTglzMmlvLmgJL14JWEVOQV9USFJFRV9TUExJVF9UUkFOU0FDVElPTiAJCT0gMiwk LzsiCWUJZW51bTp4ZW5hX21heF9vdXRzdGFuZGluZ19zcGxpdHMKWEVOQV9UV0VMVkVfU1BMSVRf VFJBTlNBQ1RJT04JczJpby5oCS9eCVhFTkFfVFdFTFZFX1NQTElUX1RSQU5TQUNUSU9OIAkJPSA1 LCQvOyIJZQllbnVtOnhlbmFfbWF4X291dHN0YW5kaW5nX3NwbGl0cwpYRU5BX1RXT19TUExJVF9U UkFOU0FDVElPTglzMmlvLmgJL14JWEVOQV9UV09fU1BMSVRfVFJBTlNBQ1RJT04gCQkJPSAxLCQv OyIJZQllbnVtOnhlbmFfbWF4X291dHN0YW5kaW5nX3NwbGl0cwpYRU5BX2Rldl9jb25maWdfdAly ZWdzLmgJL159IFhFTkFfZGV2X2NvbmZpZ190OyQvOyIJdApYR1hTX0lOVF9NQVNLX1JYR1hTCXJl Z3MuaAk3Mzg7IglkClhHWFNfSU5UX01BU0tfVFhHWFMJcmVncy5oCTczNzsiCWQKWEdYU19JTlRf U1RBVFVTX1JYR1hTCXJlZ3MuaAk3MzU7IglkClhHWFNfSU5UX1NUQVRVU19UWEdYUwlyZWdzLmgJ NzM0OyIJZApYX0ZJRk9fTUFYX0xFTglyZWdzLmgJMzA3OyIJZApYX01BWF9GSUZPUwlyZWdzLmgJ MzA2OyIJZApfUkVHU19ICXJlZ3MuaAkyOyIJZApfUnhEX2Jsb2NrCXMyaW8uaAkvXnR5cGVkZWYg c3RydWN0IF9SeERfYmxvY2skLzsiCXMKX1J4RF90CXMyaW8uaAkvXnR5cGVkZWYgc3RydWN0IF9S eERfdCQvOyIJcwpfUzJJT19ICXMyaW8uaAkyOyIJZApfVHhECXMyaW8uaAkvXnR5cGVkZWYgc3Ry dWN0IF9UeEQkLzsiCXMKX1R4RklGT19lbGVtZW50CXMyaW8uaAkvXnR5cGVkZWYgc3RydWN0IF9U eEZJRk9fZWxlbWVudCQvOyIJcwpfWEVOQV9kZXZfY29uZmlnCXJlZ3MuaAkvXnR5cGVkZWYgc3Ry dWN0IF9YRU5BX2Rldl9jb25maWcgJC87IglzCl9fZGV2aW5pdGRhdGEJczJpby5jCS9ec3RhdGlj IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHMyaW9fdGJsW10gX19kZXZpbml0ZGF0YT0geyQvOyIJdglm aWxlOgpfZlJlc291cmNlCXMyaW8uaAkvXiAgICB1MzIgICAgIF9mUmVzb3VyY2U7IFwvKiBUcmFj a3MgcmVzb3VyY2VzIGFsbG9jZWQgKlwvJC87IgltCXN0cnVjdDpzMmlvX25pYwpfcnhfY3Vycl9n ZXRfaW5mb190CXMyaW8uaAkvXnR5cGVkZWYgc3RydWN0IF9yeF9jdXJyX2dldF9pbmZvX3QgeyQv OyIJcwpfcnhfcmluZ19wcmlfbWFwCXMyaW8uaAkvXiAgICB1MzIgICAgIF9yeF9yaW5nX3ByaV9t YXA7JC87IgltCXN0cnVjdDptYWNfaW5mbwphZGFwdF9jdHJsX29yZwlzMmlvLmgJL14JdTY0CWFk YXB0X2N0cmxfb3JnOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKYWRhcHRlcl9jb250cm9sCXJlZ3Mu aAkvXiAgICB1NjQgYWRhcHRlcl9jb250cm9sOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZp ZwphZGFwdGVyX3N0YXR1cwlyZWdzLmgJL14gICAgdTY0IGFkYXB0ZXJfc3RhdHVzOyQvOyIJbQlz dHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwphZGRyCXMyaW8uaAkvXiAgICBjaGFyICBhZGRyW0VUSF9B TEVOXTskLzsiCW0Jc3RydWN0OgphbGFybUludHJIYW5kbGVyCXMyaW8uYwkvXnN0YXRpYyB2b2lk IGFsYXJtSW50ckhhbmRsZXIoc3RydWN0IHMyaW9fbmljICpuaWMpJC87IglmCWZpbGU6CmFsbF9t dWx0aV9wb3MJczJpby5oCS9eICAgIHUxNiBhbGxfbXVsdGlfcG9zOyQvOyIJbQlzdHJ1Y3Q6czJp b19uaWMKYmFyMAlzMmlvLmgJL14gICAgY2FkZHJfdCBiYXIwOyQvOyIJbQlzdHJ1Y3Q6czJpb19u aWMKYmFyMQlzMmlvLmgJL14gICAgY2FkZHJfdCBiYXIxOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMK YmxvY2tfY291bnQJczJpby5oCS9eICAgIGludCBibG9ja19jb3VudFtNQVhfUlhfUklOR1NdOyQv OyIJbQlzdHJ1Y3Q6czJpb19uaWMKYmxvY2tfZG1hX2FkZHIJczJpby5oCS9eICAgIHU2NCAgICAg YmxvY2tfZG1hX2FkZHI7JC87IgltCXN0cnVjdDpyeF9ibG9ja19pbmZvCmJsb2NrX2luZGV4CXMy aW8uaAkvXiAgICB1MzIgICAgIGJsb2NrX2luZGV4OyQvOyIJbQlzdHJ1Y3Q6X3J4X2N1cnJfZ2V0 X2luZm9fdApibG9ja192aXJ0X2FkZHIJczJpby5oCS9eICAgIFJ4RF90ICAgKmJsb2NrX3ZpcnRf YWRkcjskLzsiCW0Jc3RydWN0OnJ4X2Jsb2NrX2luZm8KYnVmZmVyCXV0aWwuaAkvXgl1bnNpZ25l ZCBjaGFyICpidWZmZXI7JC87IgltCXN0cnVjdDppb2N0bEluZm8KYnVmZmVyMQl1dGlsLmgJL14J dW5zaWduZWQgY2hhciAqYnVmZmVyMTskLzsiCW0Jc3RydWN0OmlvY3RsSW5mbwpidWZmZXIyCXV0 aWwuaAkvXgl1bnNpZ25lZCBjaGFyICpidWZmZXIyOyQvOyIJbQlzdHJ1Y3Q6aW9jdGxJbmZvCmJ1 ZmZlcjMJdXRpbC5oCS9eCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjM7JC87IgltCXN0cnVjdDppb2N0 bEluZm8KYnVmZmVyNAl1dGlsLmgJL14JdW5zaWduZWQgY2hhciAqYnVmZmVyNDskLzsiCW0Jc3Ry dWN0OmlvY3RsSW5mbwpidWZmZXI1CXV0aWwuaAkvXgl1bnNpZ25lZCBjaGFyICpidWZmZXI1OyQv OyIJbQlzdHJ1Y3Q6aW9jdGxJbmZvCmJ1ZmZlcjYJdXRpbC5oCS9eCXVuc2lnbmVkIGNoYXIgKmJ1 ZmZlcjY7JC87IgltCXN0cnVjdDppb2N0bEluZm8KY2FjaGVfbGluZQlzMmlvLmgJL14gICAgdTgg IGNhY2hlX2xpbmU7JC87IgltCXN0cnVjdDpzMmlvX25pYwpjYmFyMF8xCXMyaW8uaAkvXiAgICB1 MzIgY2JhcjBfMTskLzsiCW0Jc3RydWN0OnMyaW9fbmljCmNiYXIwXzIJczJpby5oCS9eICAgIHUz MiBjYmFyMF8yOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKY2JhcjFfMQlzMmlvLmgJL14gICAgdTMy IGNiYXIxXzE7JC87IgltCXN0cnVjdDpzMmlvX25pYwpjYmFyMV8yCXMyaW8uaAkvXiAgICB1MzIg Y2JhcjFfMjskLzsiCW0Jc3RydWN0OnMyaW9fbmljCmNjbWQJczJpby5oCS9eICAgIHUxNiBjY21k OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKY2lycQlzMmlvLmgJL14JdTMyIGNpcnE7JC87IgltCXN0 cnVjdDpzMmlvX25pYwpjb25maWcJczJpby5oCS9eICAgIHN0cnVjdCBjb25maWdfcGFyYW0gY29u ZmlnOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKY29uZmlnX3BhcmFtCXMyaW8uaAkvXnN0cnVjdCBj b25maWdfcGFyYW0gJC87IglzCmNvbmZpZ19zcGFjZQlzMmlvLmgJL14gICAgdTMyIGNvbmZpZ19z cGFjZVsyNTZcL3NpemVvZih1MzIpXTskLzsiCW0Jc3RydWN0OnMyaW9fbmljCmRlYnVnX2xldmVs CXMyaW8uaAkvXmludCBkZWJ1Z19sZXZlbCA9IEVSUl9EQkc7IFwvKiBEZWZhdWx0IGxldmVsLiAq XC8kLzsiCXYKZGVmTWFjQWRkcglzMmlvLmgJL14gICAgbWFjYWRkcl90IGRlZk1hY0FkZHJbTUFY X01BQ19TVVBQT1JURURdOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKZGV2CXMyaW8uaAkvXiAgICBz dHJ1Y3QgbmV0X2RldmljZSAqZGV2OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKZGV2aWNlX2Nsb3Nl X2ZsYWcJczJpby5oCS9eICAgIGludCAgICAgZGV2aWNlX2Nsb3NlX2ZsYWc7JC87IgltCXN0cnVj dDpzMmlvX25pYwpkZXZpY2VfZW5hYmxlZF9vbmNlCXMyaW8uaAkvXiAgICBpbnQgICAgIGRldmlj ZV9lbmFibGVkX29uY2U7JC87IgltCXN0cnVjdDpzMmlvX25pYwpkZXZpY2VfaWQJczJpby5oCS9e ICAgIHUxNiBkZXZpY2VfaWQ7JC87IgltCXN0cnVjdDpzMmlvX25pYwpkbWFhZGRyX3QJczJpby5o CS9eCXR5cGVkZWYgZG1hX2FkZHJfdCBkbWFhZGRyX3Q7JC87Igl0CmRtYWFkZHJfdAlzMmlvLmgJ L14JdHlwZWRlZiB1NjQgZG1hYWRkcl90OyQvOyIJdApkdHhfY29udHJvbAlyZWdzLmgJL14gICAg dTY0IGR0eF9jb250cm9sOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpkdW1teQlzMmlv LmgJL14gICAgdTMyIGR1bW15OyQvOyIJbQlzdHJ1Y3Q6X1J4RF9ibG9jawpkdW1teQlzMmlvLmgJ L14gICAgdTMyIGR1bW15OyQvOyIJbQlzdHJ1Y3Q6X1J4RF90CmR1bW15CXMyaW8uaAkvXiAgICB1 MzIgZHVtbXk7JC87IgltCXN0cnVjdDpfVHhECmR1bW15CXMyaW8uaAkvXiAgICB1MzIgZHVtbXk7 JC87IgltCXN0cnVjdDpfVHhGSUZPX2VsZW1lbnQKZW5fZGlzX2FibGVfTmljSW50cnMJczJpby5j CS9ec3RhdGljIHZvaWQgZW5fZGlzX2FibGVfTmljSW50cnMoc3RydWN0IHMyaW9fbmljICpuaWMs IHUxNiBtYXNrLCBpbnQgZmxhZykkLzsiCWYJZmlsZToKZXRoX3Rlc3RfcmN2cglzMmlvLmMJL15p bnQgZXRoX3Rlc3RfcmN2cihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LCAkLzsiCWYKZXRodG9vbF90ZXN0CXMyaW8uYwkvXnN0YXRpYyBzdHJ1Y3QgcGFja2V0X3R5 cGUgZXRodG9vbF90ZXN0ID0gJC87Igl2CWZpbGU6CmZOb1Nub29wCXMyaW8uaAkvXiAgICB1OCAg ICAgIGZOb1Nub29wOyAgICAgICAgJC87IgltCXN0cnVjdDp0eF9maWZvX2NvbmZpZwpmTm9Tbm9v cAlzMmlvLmgJL14gICAgdTggIGZOb1Nub29wOyAgICAgICAgJC87IgltCXN0cnVjdDpyeF9yaW5n X2NvbmZpZwpmaWZvX2xlbglzMmlvLmMJL15zdGF0aWMgdTMyIGZpZm9fbGVuW01BWF9UWF9GSUZP U107ICQvOyIJdglmaWxlOgpmaWZvX2xlbglzMmlvLmgJL14gICAgdTMyICAgICBmaWZvX2xlbjsk LzsiCW0Jc3RydWN0OgpmaWZvX251bQlzMmlvLmMJL15zdGF0aWMgdTMyIGZpZm9fbnVtOyQvOyIJ dglmaWxlOgpmaWxsX3J4X2J1ZmZlcnMJczJpby5jCS9eaW50IGZpbGxfcnhfYnVmZmVycyhzdHJ1 Y3QgczJpb19uaWMgKm5pYywgaW50IHJpbmdfbm8pJC87IglmCmZsYXNoX2FsYXJtcwlyZWdzLmgJ L14gICAgdTY0IGZsYXNoX2FsYXJtczskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKZmxz aF9pbnRfbWFzawlyZWdzLmgJL14gICAgdTY0IGZsc2hfaW50X21hc2s7JC87IgltCXN0cnVjdDpf WEVOQV9kZXZfY29uZmlnCmZsc2hfaW50X3JlZwlyZWdzLmgJL14gICAgdTY0IGZsc2hfaW50X3Jl ZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKZnJhbWVfbGVuCXMyaW8uYwkvXnN0YXRp YyB1MzIgZnJhbWVfbGVuW01BWF9SWF9SSU5HU107JC87Igl2CWZpbGU6CmZyZWVSeEJ1ZmZlcnMJ czJpby5jCS9ec3RhdGljIHZvaWQgZnJlZVJ4QnVmZmVycyhzdHJ1Y3QgczJpb19uaWMgKnNwKSQv OyIJZglmaWxlOgpmcmVlU2hhcmVkTWVtCXMyaW8uYwkvXnN0YXRpYyB2b2lkIGZyZWVTaGFyZWRN ZW0oc3RydWN0IHMyaW9fbmljICpuaWMpJC87IglmCWZpbGU6CmZyZWVUeEJ1ZmZlcnMJczJpby5j CS9edm9pZCBmcmVlVHhCdWZmZXJzKHN0cnVjdCBzMmlvX25pYyAqbmljKSQvOyIJZgpnZW5lcmFs X2ludF9tYXNrCXJlZ3MuaAkvXiAgICB1NjQgZ2VuZXJhbF9pbnRfbWFzazskLzsiCW0Jc3RydWN0 Ol9YRU5BX2Rldl9jb25maWcKZ2VuZXJhbF9pbnRfc3RhdHVzCXJlZ3MuaAkvXiAgICB1NjQgZ2Vu ZXJhbF9pbnRfc3RhdHVzOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpnZXRfeGVuYV9y ZXZfaWQJczJpby5jCS9eaW50IGdldF94ZW5hX3Jldl9pZChzdHJ1Y3QgcGNpX2RldiAqcGRldikk LzsiCWYKZ3Bpb19hbGFybXMJcmVncy5oCS9eICAgIHU2NCBncGlvX2FsYXJtczskLzsiCW0Jc3Ry dWN0Ol9YRU5BX2Rldl9jb25maWcKZ3Bpb19jb250cm9sCXJlZ3MuaAkvXiAgICB1NjQgZ3Bpb19j b250cm9sOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpncGlvX2ludF9tYXNrCXJlZ3Mu aAkvXiAgICB1NjQgZ3Bpb19pbnRfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcK Z3Bpb19pbnRfcmVnCXJlZ3MuaAkvXiAgICB1NjQgZ3Bpb19pbnRfcmVnOyQvOyIJbQlzdHJ1Y3Q6 X1hFTkFfZGV2X2NvbmZpZwpoaWdoX2RtYV9mbGFnCXMyaW8uaAkvXiAgICBpbnQgICAgIGhpZ2hf ZG1hX2ZsYWc7JC87IgltCXN0cnVjdDpzMmlvX25pYwppMmNfY29udHJvbAlyZWdzLmgJL14gICAg dTY0IGkyY19jb250cm9sOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwppZF90aW1lcglz MmlvLmgJL14Jc3RydWN0IHRpbWVyX2xpc3QgaWRfdGltZXI7JC87IgltCXN0cnVjdDpzMmlvX25p YwppaWNfYWxhcm1zCXJlZ3MuaAkvXiAgICB1NjQgaWljX2FsYXJtczsgJC87IgltCXN0cnVjdDpf WEVOQV9kZXZfY29uZmlnCmlpY19pbnRfbWFzawlyZWdzLmgJL14gICAgdTY0IGlpY19pbnRfbWFz azsgJC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCmlpY19pbnRfcmVnCXJlZ3MuaAkvXiAg ICB1NjQgaWljX2ludF9yZWc7ICQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwppbml0Tmlj CXMyaW8uYwkvXnN0YXRpYyBpbnQgaW5pdE5pYyhzdHJ1Y3QgczJpb19uaWMgKm5pYykkLzsiCWYJ ZmlsZToKaW5pdFNoYXJlZE1lbQlzMmlvLmMJL15zdGF0aWMgaW50IGluaXRTaGFyZWRNZW0oc3Ry dWN0IHMyaW9fbmljICpuaWMpJC87IglmCWZpbGU6CmludF9jbnQJczJpby5oCS9eCWludCBpbnRf Y250OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKaW52CXMyaW8uYwkvXnUzMiBpbnYodTMyIGRhdGEp JC87IglmCmlvY3RsSW5mbwl1dGlsLmgJL150eXBlZGVmIHN0cnVjdCBpb2N0bEluZm8geyQvOyIJ cwppb2N0bEluZm9fdAl1dGlsLmgJL159aW9jdGxJbmZvX3Q7CSQvOyIJdAppcnEJczJpby5oCS9e ICAgIHUzMiBpcnE7JC87IgltCXN0cnVjdDpzMmlvX25pYwppc3JfbG9jawlzMmlvLmgJL14Jc3Bp bmxvY2tfdCBpc3JfbG9jazskLzsiCW0Jc3RydWN0OnMyaW9fbmljCmxhdGVuY3lfdGltZXIJczJp by5jCS9ec3RhdGljIHU4IGxhdGVuY3lfdGltZXI9MHhmZjskLzsiCXYJZmlsZToKbG9vcF9wa3Rf Y250CXMyaW8uaAkvXglpbnQgbG9vcF9wa3RfY250OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKbHNv X2Vycl9hbGFybQlyZWdzLmgJL14gICAgdTY0IGxzb19lcnJfYWxhcm07JC87IgltCXN0cnVjdDpf WEVOQV9kZXZfY29uZmlnCmxzb19lcnJfbWFzawlyZWdzLmgJL14gICAgdTY0IGxzb19lcnJfbWFz azskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbHNvX2Vycl9yZWcJcmVncy5oCS9eICAg IHU2NCBsc29fZXJyX3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbV9jYXN0X2Zs ZwlzMmlvLmgJL14gICAgdTE2IG1fY2FzdF9mbGc7JC87IgltCXN0cnVjdDpzMmlvX25pYwptYWNf YWRkcglzMmlvLmgJL14gICAgdTggbWFjX2FkZHJbRVRIX0FMRU5dOyQvOyIJbQlzdHJ1Y3Q6bWFj X2FkZHIKbWFjX2FkZHIJczJpby5oCS9edHlwZWRlZiBzdHJ1Y3QgbWFjX2FkZHIgeyQvOyIJcwpt YWNfY2ZnCXJlZ3MuaAkvXiAgICAgICAgdTY0IG1hY19jZmc7JC87IgltCXN0cnVjdDpfWEVOQV9k ZXZfY29uZmlnCm1hY19jb250cm9sCXMyaW8uaAkvXiAgICBtYWNfaW5mb190IG1hY19jb250cm9s OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKbWFjX2RlYnVnX2N0cmwJcmVncy5oCS9eICAgICAgICB1 NjQgbWFjX2RlYnVnX2N0cmw7CVwvKiBUT0RPOiBJbiAxLjUgc3BlYyB0aGlzIHJlZ2lzdGVyIGlz IG1pc3NpbmcuICpcLyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptYWNfaW5mbwlzMmlv LmgJL150eXBlZGVmIHN0cnVjdCBtYWNfaW5mbyB7JC87IglzCm1hY19pbmZvX3QJczJpby5oCS9e fSBtYWNfaW5mb190OyQvOyIJdAptYWNfaW50X21hc2sJcmVncy5oCS9eICAgICAgICB1NjQgbWFj X2ludF9tYXNrOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptYWNfaW50X3N0YXR1cwly ZWdzLmgJL14gICAgICAgIHU2NCBtYWNfaW50X3N0YXR1czskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rl dl9jb25maWcKbWFjX2xpbmtfdXRpbAlyZWdzLmgJL14gICAgICAgIHU2NCBtYWNfbGlua191dGls OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptYWNfcm1hY19lcnJfYWxhcm0JcmVncy5o CS9eICAgICAgICB1NjQgbWFjX3JtYWNfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2 X2NvbmZpZwptYWNfcm1hY19lcnJfbWFzawlyZWdzLmgJL14gICAgICAgIHU2NCBtYWNfcm1hY19l cnJfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbWFjX3JtYWNfZXJyX3JlZwly ZWdzLmgJL14gICAgICAgIHU2NCBtYWNfcm1hY19lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFf ZGV2X2NvbmZpZwptYWNfdG1hY19lcnJfYWxhcm0JcmVncy5oCS9eICAgICAgICB1NjQgbWFjX3Rt YWNfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptYWNfdG1hY19lcnJf bWFzawlyZWdzLmgJL14gICAgICAgIHU2NCBtYWNfdG1hY19lcnJfbWFzazskLzsiCW0Jc3RydWN0 Ol9YRU5BX2Rldl9jb25maWcKbWFjX3RtYWNfZXJyX3JlZwlyZWdzLmgJL14gICAgICAgIHU2NCBt YWNfdG1hY19lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptYWNhZGRyX3QJ czJpby5oCS9efW1hY2FkZHJfdDskLzsiCXQKbWFpbglyZWdkdW1wLmMJL15pbnQgbWFpbih2b2lk KSQvOyIJZgptYWluCXV0aWwuYwkvXmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikkLzsi CWYKbWNfYWRkcl9jb3VudAlzMmlvLmgJL14JdTE2CW1jX2FkZHJfY291bnQ7JC87IgltCXN0cnVj dDpzMmlvX25pYwptY19kZWJ1Z19jdHJsCXJlZ3MuaAkvXiAgICAgICAgdTY0IG1jX2RlYnVnX2N0 cmw7CVwvKiBUT0RPOiBJbiAxLjUgc3BlYyB0aGlzIHJlZ2lzdGVyIGlzIG1pc3NpbmcuICpcLyQv OyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptY19lcnJfYWxhcm0JcmVncy5oCS9eICAgICAg ICB1NjQgbWNfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptY19lcnJf bWFzawlyZWdzLmgJL14gICAgICAgIHU2NCBtY19lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKbWNfZXJyX3JlZwlyZWdzLmgJL14gICAgICAgIHU2NCBtY19lcnJfcmVnOyQv OyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptY19pbnRfbWFzawlyZWdzLmgJL14gICAgICAg IHU2NCBtY19pbnRfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbWNfaW50X3N0 YXR1cwlyZWdzLmgJL14gICAgICAgIHU2NCBtY19pbnRfc3RhdHVzOyQvOyIJbQlzdHJ1Y3Q6X1hF TkFfZGV2X2NvbmZpZwptY19wYXVzZV90aHJlc2hfcTBxMwlyZWdzLmgJL14gICAgICAgIHU2NCBt Y19wYXVzZV90aHJlc2hfcTBxMzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbWNfcGF1 c2VfdGhyZXNoX3E0cTcJcmVncy5oCS9eICAgICAgICB1NjQgbWNfcGF1c2VfdGhyZXNoX3E0cTc7 JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCm1jX3JlZF90aHJlc2hfcQlyZWdzLmgJL14g ICAgICAgIHU2NCBtY19yZWRfdGhyZXNoX3FbOF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29u ZmlnCm1jX3JsZHJhbV9pbnRlcmxlYXZlCXJlZ3MuaAkvXiAgICAgICAgdTY0IG1jX3JsZHJhbV9p bnRlcmxlYXZlOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptY19ybGRyYW1fbXJzCXJl Z3MuaAkvXiAgICAgICAgdTY0IG1jX3JsZHJhbV9tcnM7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCm1jX3JsZHJhbV9yZWZfcGVyCXJlZ3MuaAkvXgkJdTY0IG1jX3JsZHJhbV9yZWZfcGVy OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwptY19ybGRyYW1fdGVzdF9hZGQJcmVncy5o CS9eCQl1NjQgbWNfcmxkcmFtX3Rlc3RfYWRkOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZp ZwptY19ybGRyYW1fdGVzdF9jdHJsCXJlZ3MuaAkvXgkJdTY0IG1jX3JsZHJhbV90ZXN0X2N0cmw7 JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCm1jX3JsZHJhbV90ZXN0X2QwCXJlZ3MuaAkv XgkJdTY0IG1jX3JsZHJhbV90ZXN0X2QwOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpt Y19ybGRyYW1fdGVzdF9kMQlyZWdzLmgJL14JCXU2NCBtY19ybGRyYW1fdGVzdF9kMTskLzsiCW0J c3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbWNfcmxkcmFtX3Rlc3RfZDIJcmVncy5oCS9eCQl1NjQg bWNfcmxkcmFtX3Rlc3RfZDI7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCm1kaW9fYWxh cm1zCXJlZ3MuaAkvXiAgICB1NjQgbWRpb19hbGFybXM7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCm1kaW9fY29udHJvbAlyZWdzLmgJL14gICAgdTY0IG1kaW9fY29udHJvbDskLzsiCW0J c3RydWN0Ol9YRU5BX2Rldl9jb25maWcKbWRpb19pbnRfbWFzawlyZWdzLmgJL14gICAgdTY0IG1k aW9faW50X21hc2s7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCm1kaW9faW50X3JlZwly ZWdzLmgJL14gICAgdTY0IG1kaW9faW50X3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25m aWcKbmFtZQlzMmlvLmgJL14gICAgY2hhciBuYW1lWzMyXTsgJC87IgltCXN0cnVjdDpzMmlvX25p YwpuZXdfcmRfcmVxX2NudAlzMmlvLmgJL14gICAgdTMyIG5ld19yZF9yZXFfY250OyAkLzsiCW0J c3RydWN0OnN0YXRfYmxvY2sKbmV3X3JkX3JlcV9ydHJ5X2NudAlzMmlvLmgJL14gICAgdTMyIG5l d19yZF9yZXFfcnRyeV9jbnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCm5ld193cl9yZXFfY250 CXMyaW8uaAkvXiAgICB1MzIgbmV3X3dyX3JlcV9jbnQ7ICQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9j awpuZXdfd3JfcmVxX3J0cnlfY250CXMyaW8uaAkvXiAgICB1MzIgbmV3X3dyX3JlcV9ydHJ5X2Nu dDsgJC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCm5pY190CXMyaW8uaAkvXn1uaWNfdDsJXC9cLyBf X2NhY2hlbGluZV9hbGlnbmVkOyQvOyIJdApvZmZzZXQJczJpby5oCS9eICAgIHUzMiAgICAgb2Zm c2V0OyAgJC87IgltCXN0cnVjdDoKb2Zmc2V0CXMyaW8uaAkvXiAgICB1MzIgICAgIG9mZnNldDsk LzsiCW0Jc3RydWN0Ol9yeF9jdXJyX2dldF9pbmZvX3QKb2Zmc2V0CXV0aWwuaAkvXglpbnQgb2Zm c2V0OyQvOyIJbQlzdHJ1Y3Q6aW9jdGxJbmZvCnBOZXh0X1J4RF9CbGtfcGh5c2ljYWwJczJpby5o CS9eICAgIHU2NCBwTmV4dF9SeERfQmxrX3BoeXNpY2FsOyAgICAgICBcLyogQnVmZjBfcHRyLiQv OyIJbQlzdHJ1Y3Q6X1J4RF9ibG9jawpwY2NfZW5hYmxlCXJlZ3MuaAkvXgl1NjQgcGNjX2VuYWJs ZTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcGNjX2Vycl9hbGFybQlyZWdzLmgJL14g ICAgdTY0IHBjY19lcnJfYWxhcm07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnBjY19l cnJfbWFzawlyZWdzLmgJL14gICAgdTY0IHBjY19lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKcGNjX2Vycl9yZWcJcmVncy5oCS9eICAgIHU2NCBwY2NfZXJyX3JlZzskLzsi CW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcGNpeF9jbWQJczJpby5oCS9eICAgIHUxNiBwY2l4 X2NtZDskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnBkZXYJczJpby5oCS9eICAgIHN0cnVjdCBwY2lf ZGV2ICAgICpwZGV2OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKcGZjX2Vycl9hbGFybQlyZWdzLmgJ L14gICAgdTY0IHBmY19lcnJfYWxhcm07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnBm Y19lcnJfbWFzawlyZWdzLmgJL14gICAgdTY0IHBmY19lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9Y RU5BX2Rldl9jb25maWcKcGZjX2Vycl9yZWcJcmVncy5oCS9eICAgIHU2NCBwZmNfZXJyX3JlZzsk LzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcGljX2NvbnRyb2wJcmVncy5oCS9eICAgIHU2 NCBwaWNfY29udHJvbDskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcGljX2ludF9tYXNr CXJlZ3MuaAkvXiAgICB1NjQgcGljX2ludF9tYXNrOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2Nv bmZpZwpwaWNfaW50X3N0YXR1cwlyZWdzLmgJL14gICAgdTY0IHBpY19pbnRfc3RhdHVzOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpwaWZfcmRfc3dhcHBlcl9mYglyZWdzLmgJL14gICAg dTY0IHBpZl9yZF9zd2FwcGVyX2ZiOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpwa3Rf Y250CXMyaW8uaAkvXiAgICBpbnQgcGt0X2NudFtNQVhfUlhfUklOR1NdOyQvOyIJbQlzdHJ1Y3Q6 czJpb19uaWMKcHJjX2FsYXJtX2FjdGlvbglyZWdzLmgJL14gICAgICAgIHU2NCBwcmNfYWxhcm1f YWN0aW9uOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpwcmNfY3RybF9uCXJlZ3MuaAkv XiAgICAgICAgdTY0IHByY19jdHJsX25bUlhfTUFYX1JJTkdTXTskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKcHJjX3BjaXhfZXJyX2FsYXJtCXJlZ3MuaAkvXiAgICAgICAgdTY0IHByY19w Y2l4X2Vycl9hbGFybTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcHJjX3BjaXhfZXJy X21hc2sJcmVncy5oCS9eICAgICAgICB1NjQgcHJjX3BjaXhfZXJyX21hc2s7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnByY19wY2l4X2Vycl9yZWcJcmVncy5oCS9eICAgICAgICB1NjQg cHJjX3BjaXhfZXJyX3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcHJjX3J4ZDBf bglyZWdzLmgJL14gICAgICAgIHU2NCBwcmNfcnhkMF9uW1JYX01BWF9SSU5HU107JC87IgltCXN0 cnVjdDpfWEVOQV9kZXZfY29uZmlnCnByZU1hY0FkZHIJczJpby5oCS9eICAgIG1hY2FkZHJfdCBw cmVNYWNBZGRyW01BWF9NQUNfU1VQUE9SVEVEXTskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnByb21p c2NfZmxnCXMyaW8uaAkvXiAgICB1MTYgcHJvbWlzY19mbGc7JC87IgltCXN0cnVjdDpzMmlvX25p YwpyY19lcnJfYWxhcm0JcmVncy5oCS9eICAgICAgICB1NjQgcmNfZXJyX2FsYXJtOyQvOyIJbQlz dHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyY19lcnJfbWFzawlyZWdzLmgJL14gICAgICAgIHU2NCBy Y19lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcmNfZXJyX3JlZwlyZWdz LmgJL14gICAgICAgIHU2NCByY19lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZp ZwpyZF9yZXFfY250CXMyaW8uaAkvXiAgICB1MzIgcmRfcmVxX2NudDskLzsiCW0Jc3RydWN0OnN0 YXRfYmxvY2sKcmRfcnRyeV9jbnQJczJpby5oCS9eICAgIHUzMiByZF9ydHJ5X2NudDskLzsiCW0J c3RydWN0OnN0YXRfYmxvY2sKcmRfcnRyeV93cl9hY2tfY250CXMyaW8uaAkvXiAgICB1MzIgcmRf cnRyeV93cl9hY2tfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpyZGFfZXJyX2FsYXJtCXJl Z3MuaAkvXiAgICAgICAgdTY0IHJkYV9lcnJfYWxhcm07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCnJkYV9lcnJfbWFzawlyZWdzLmgJL14gICAgICAgIHU2NCByZGFfZXJyX21hc2s7JC87 IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJkYV9lcnJfcmVnCXJlZ3MuaAkvXiAgICAgICAg dTY0IHJkYV9lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyZWFkMTYJczJp by5oCTc5OTsiCWQKcmVhZDMyCXMyaW8uaAk3OTg7IglkCnJlYWQ2NAlzMmlvLmgJL15zdGF0aWMg aW5saW5lIHU2NCByZWFkNjQodm9pZCAqYWRkcikkLzsiCWYKcmVhZDgJczJpby5oCTgwMDsiCWQK cmVhZEVlcHJvbQlzMmlvLmMJL15zdGF0aWMgdTMyIHJlYWRFZXByb20obmljX3QgKnNwLCBpbnQg b2ZmKSQvOyIJZglmaWxlOgpyZWFkX3JldHJ5X2FjY2VsZXJhdGlvbglyZWdzLmgJL14gICAgdTY0 IHJlYWRfcmV0cnlfYWNjZWxlcmF0aW9uOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpy ZWFkX3JldHJ5X2RlbGF5CXJlZ3MuaAkvXiAgICB1NjQgcmVhZF9yZXRyeV9kZWxheTskLzsiCW0J c3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcmVzZXJ2ZWRfMAlzMmlvLmgJL14gICAgdTMyIHJlc2Vy dmVkXzA7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJlc2VydmVkXzAJczJpby5oCS9eICAgIHU2 NCAgICAgIHJlc2VydmVkXzA7ICQvOyIJbQlzdHJ1Y3Q6X1J4RF9ibG9jawpyZXNlcnZlZF8xCXMy aW8uaAkvXgl1MzIJcmVzZXJ2ZWRfMTskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcmVzZXJ2ZWRf MQlzMmlvLmgJL14gICAgdTY0ICAgICAgcmVzZXJ2ZWRfMTsgXC8qIDB4RkZGRkZGRkZGRkZGRkZG RiB0byBtYXJrIGxhc3QgUnhkIGluIHRoaXMgYmxrKlwvJC87IgltCXN0cnVjdDpfUnhEX2Jsb2Nr CnJlc2VydmVkXzIJczJpby5oCS9eCXU2NCByZXNlcnZlZF8yOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9i bG9jawpyZXNlcnZlZF8yX3BOZXh0X1J4RF9ibG9jawlzMmlvLmgJL14gICAgUnhEX3QqICAgcmVz ZXJ2ZWRfMl9wTmV4dF9SeERfYmxvY2s7XC8qQCAweEZGMDogQ250bF8yLCBMb2dpY2FsIHB0ciB0 byBuZXh0KlwvJC87IgltCXN0cnVjdDpfUnhEX2Jsb2NrCnJlc2VydmVkXzMJczJpby5oCS9eCXUz MiByZXNlcnZlZF8zOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpyZXNlcnZlZF80CXMyaW8uaAkv Xgl1MzIJcmVzZXJ2ZWRfNDskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcmVzZXJ2ZWRfNQlzMmlv LmgJL14JdTY0CXJlc2VydmVkXzU7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJlc2VydmVkXzYJ czJpby5oCS9eCXU2NAlyZXNlcnZlZF82OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpyZXNlcnZl ZF83CXMyaW8uaAkvXgl1MzIJcmVzZXJ2ZWRfNzskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcmVz ZXJ2ZWRfOAlzMmlvLmgJL14gICAgdTMyIHJlc2VydmVkXzg7JC87IgltCXN0cnVjdDpzdGF0X2Js b2NrCnJlc2VydmVkXzkJczJpby5oCS9eCXUzMglyZXNlcnZlZF85OyQvOyIJbQlzdHJ1Y3Q6c3Rh dF9ibG9jawpyZXNldF9sb29wYmFjawlzMmlvLmMJL152b2lkIHJlc2V0X2xvb3BiYWNrKG5pY190 ICpzcCkkLzsiCWYKcmluZ19sZW4JczJpby5jCS9ec3RhdGljIHUzMiByaW5nX2xlbltNQVhfUlhf UklOR1NdOyQvOyIJdglmaWxlOgpyaW5nX2xlbglzMmlvLmgJL14gICAgdTMyICAgICByaW5nX2xl bjskLzsiCW0Jc3RydWN0Ol9yeF9jdXJyX2dldF9pbmZvX3QKcmluZ19udW0JczJpby5jCS9ec3Rh dGljIHUzMiByaW5nX251bTskLzsiCXYJZmlsZToKcm1hY19hY2NlcHRlZF9pcAlzMmlvLmgJL14g ICAgdTMyIHJtYWNfYWNjZXB0ZWRfaXA7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfYWNj ZXB0ZWRfbnVjc3RfZnJtcwlzMmlvLmgJL14gICAgdTMyIHJtYWNfYWNjZXB0ZWRfbnVjc3RfZnJt czskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19hY2NlcHRlZF91Y3N0X2ZybXMJczJpby5o CS9eICAgIHUzMiBybWFjX2FjY2VwdGVkX3Vjc3RfZnJtczskLzsiCW0Jc3RydWN0OnN0YXRfYmxv Y2sKcm1hY19hZGRyX2NtZF9tZW0JcmVncy5oCS9eICAgICAgICB1NjQgcm1hY19hZGRyX2NtZF9t ZW07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJtYWNfYWRkcl9kYXRhMF9tZW0JcmVn cy5oCS9eICAgICAgICB1NjQgcm1hY19hZGRyX2RhdGEwX21lbTskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKcm1hY19hZGRyX2RhdGExX21lbQlyZWdzLmgJL14gICAgICAgIHU2NCBybWFj X2FkZHJfZGF0YTFfbWVtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpybWFjX2NmZ19r ZXkJcmVncy5oCS9eICAgICAgICB1NjQgcm1hY19jZmdfa2V5OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFf ZGV2X2NvbmZpZwpybWFjX2RhdGFfb2N0ZXRzCXMyaW8uaAkvXiAgICB1MzIgcm1hY19kYXRhX29j dGV0czskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19kaXNjYXJkZWRfZnJtcwlzMmlvLmgJ L14gICAgdTMyIHJtYWNfZGlzY2FyZGVkX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJt YWNfZHJvcF9ldmVudHMJczJpby5oCS9eICAgIHUzMiBybWFjX2Ryb3BfZXZlbnRzOyQvOyIJbQlz dHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2Ryb3BfZnJtcwlzMmlvLmgJL14gICAgdTY0IHJtYWNfZHJv cF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2Ryb3BfaXAJczJpby5oCS9eICAg IHUzMiBybWFjX2Ryb3BfaXA7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfZXJyX2NmZwly ZWdzLmgJL14gICAgICAgIHU2NCBybWFjX2Vycl9jZmc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCnJtYWNfZXJyX2RycF91ZHAJczJpby5oCS9eICAgIHUzMiBybWFjX2Vycl9kcnBfdWRw OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2Vycl90Y3AJczJpby5oCS9eICAgIHUzMiBy bWFjX2Vycl90Y3A7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfZmNzX2Vycl9mcm1zCXMy aW8uaAkvXiAgICB1NjQgcm1hY19mY3NfZXJyX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2Nr CnJtYWNfZnJhZ19mcm1zCXMyaW8uaAkvXgl1MzIgcm1hY19mcmFnX2ZybXM7JC87IgltCXN0cnVj dDpzdGF0X2Jsb2NrCnJtYWNfZnJtc19xMAlzMmlvLmgJL14gICAgdTY0IHJtYWNfZnJtc19xMDsk LzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19mcm1zX3ExCXMyaW8uaAkvXiAgICB1NjQgcm1h Y19mcm1zX3ExOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2ZybXNfcTIJczJpby5oCS9e ICAgIHU2NCBybWFjX2ZybXNfcTI7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfZnJtc19x MwlzMmlvLmgJL14gICAgdTY0IHJtYWNfZnJtc19xMzskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sK cm1hY19mcm1zX3E0CXMyaW8uaAkvXiAgICB1NjQgcm1hY19mcm1zX3E0OyQvOyIJbQlzdHJ1Y3Q6 c3RhdF9ibG9jawpybWFjX2ZybXNfcTUJczJpby5oCS9eICAgIHU2NCBybWFjX2ZybXNfcTU7JC87 IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfZnJtc19xNglzMmlvLmgJL14gICAgdTY0IHJtYWNf ZnJtc19xNjskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19mcm1zX3E3CXMyaW8uaAkvXiAg ICB1NjQgcm1hY19mcm1zX3E3OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2Z1bGxfcTAJ czJpby5oCS9eICAgIHUxNiBybWFjX2Z1bGxfcTA7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJt YWNfZnVsbF9xMQlzMmlvLmgJL14gICAgdTE2IHJtYWNfZnVsbF9xMTskLzsiCW0Jc3RydWN0OnN0 YXRfYmxvY2sKcm1hY19mdWxsX3EyCXMyaW8uaAkvXiAgICB1MTYgcm1hY19mdWxsX3EyOyQvOyIJ bQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2Z1bGxfcTMJczJpby5oCS9eICAgIHUxNiBybWFjX2Z1 bGxfcTM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfZnVsbF9xNAlzMmlvLmgJL14gICAg dTE2IHJtYWNfZnVsbF9xNDskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19mdWxsX3E1CXMy aW8uaAkvXiAgICB1MTYgcm1hY19mdWxsX3E1OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFj X2Z1bGxfcTYJczJpby5oCS9eICAgIHUxNiBybWFjX2Z1bGxfcTY7JC87IgltCXN0cnVjdDpzdGF0 X2Jsb2NrCnJtYWNfZnVsbF9xNwlzMmlvLmgJL14gICAgdTE2IHJtYWNfZnVsbF9xNzskLzsiCW0J c3RydWN0OnN0YXRfYmxvY2sKcm1hY19oZHJfZXJyX2lwCXMyaW8uaAkvXiAgICB1MzIgcm1hY19o ZHJfZXJyX2lwOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX2ljbXAJczJpby5oCS9eICAg IHUzMiBybWFjX2ljbXA7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfaW5fcm5nX2xlbl9l cnJfZnJtcwlzMmlvLmgJL14gICAgdTMyIHJtYWNfaW5fcm5nX2xlbl9lcnJfZnJtczskLzsiCW0J c3RydWN0OnN0YXRfYmxvY2sKcm1hY19pbnZhbGlkX2lwZwlyZWdzLmgJL14gICAgICAgIHU2NCBy bWFjX2ludmFsaWRfaXBnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpybWFjX2lwCXMy aW8uaAkvXgl1MzIJcm1hY19pcDskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19pcF9vY3Rl dHMJczJpby5oCS9eCXU2NAlybWFjX2lwX29jdGV0czskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sK cm1hY19qYWJiZXJfZnJtcwlzMmlvLmgJL14JdTMyIHJtYWNfamFiYmVyX2ZybXM7JC87IgltCXN0 cnVjdDpzdGF0X2Jsb2NrCnJtYWNfbG9uZ19mcm1zCXMyaW8uaAkvXiAgICB1NjQgcm1hY19sb25n X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfbWF4X3B5bGRfbGVuCXJlZ3MuaAkv XiAgICAgICAgdTY0IHJtYWNfbWF4X3B5bGRfbGVuOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2Nv bmZpZwpybWFjX29zaXplZF9mcm1zCXMyaW8uaAkvXgl1MzIgcm1hY19vc2l6ZWRfZnJtczskLzsi CW0Jc3RydWN0OnN0YXRfYmxvY2sKcm1hY19vdXRfcm5nX2xlbl9lcnJfZnJtcwlzMmlvLmgJL14g ICAgdTMyIHJtYWNfb3V0X3JuZ19sZW5fZXJyX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2Nr CnJtYWNfcGF1c2VfY2ZnCXJlZ3MuaAkvXiAgICAgICAgdTY0IHJtYWNfcGF1c2VfY2ZnOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpybWFjX3BhdXNlX2NudAlzMmlvLmgJL14gICAgdTMy IHJtYWNfcGF1c2VfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX3BhdXNlX2N0cmxf ZnJtcwlzMmlvLmgJL14gICAgdTY0IHJtYWNfcGF1c2VfY3RybF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6 c3RhdF9ibG9jawpybWFjX3BhdXNlX3RpbWUJczJpby5oCS9eICAgIHUxNiAgICAgcm1hY19wYXVz ZV90aW1lOyAkLzsiCW0Jc3RydWN0Om1hY19pbmZvCnJtYWNfcmVkX2NmZwlyZWdzLmgJL14gICAg ICAgIHU2NCBybWFjX3JlZF9jZmc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJtYWNf cmVkX3JhdGVfcTBxMwlyZWdzLmgJL14gICAgICAgIHU2NCBybWFjX3JlZF9yYXRlX3EwcTM7JC87 IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJtYWNfcmVkX3JhdGVfcTRxNwlyZWdzLmgJL14g ICAgICAgIHU2NCBybWFjX3JlZF9yYXRlX3E0cTc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29u ZmlnCnJtYWNfdGNwCXMyaW8uaAkvXiAgICB1NjQgcm1hY190Y3A7JC87IgltCXN0cnVjdDpzdGF0 X2Jsb2NrCnJtYWNfdHRsXzEwMjRfMTUxOF9mcm1zCXMyaW8uaAkvXiAgICB1NjQgcm1hY190dGxf MTAyNF8xNTE4X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfdHRsXzEyOF8yNTVf ZnJtcwlzMmlvLmgJL14gICAgdTY0IHJtYWNfdHRsXzEyOF8yNTVfZnJtczskLzsiCW0Jc3RydWN0 OnN0YXRfYmxvY2sKcm1hY190dGxfMjU2XzUxMV9mcm1zCXMyaW8uaAkvXiAgICB1NjQgcm1hY190 dGxfMjU2XzUxMV9mcm1zOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX3R0bF81MTJfMTAy M19mcm1zCXMyaW8uaAkvXiAgICB1NjQgcm1hY190dGxfNTEyXzEwMjNfZnJtczskLzsiCW0Jc3Ry dWN0OnN0YXRfYmxvY2sKcm1hY190dGxfNjRfZnJtcwlzMmlvLmgJL14gICAgdTY0IHJtYWNfdHRs XzY0X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfdHRsXzY1XzEyN19mcm1zCXMy aW8uaAkvXiAgICB1NjQgcm1hY190dGxfNjVfMTI3X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Js b2NrCnJtYWNfdHRsX2ZybXMJczJpby5oCS9eICAgIHU2NCBybWFjX3R0bF9mcm1zOyQvOyIJbQlz dHJ1Y3Q6c3RhdF9ibG9jawpybWFjX3R0bF9sZXNzX2ZiX29jdGV0cwlzMmlvLmgJL14gICAgdTY0 IHJtYWNfdHRsX2xlc3NfZmJfb2N0ZXRzOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX3R0 bF9vY3RldHMJczJpby5oCS9eICAgIHUzMiBybWFjX3R0bF9vY3RldHM7JC87IgltCXN0cnVjdDpz dGF0X2Jsb2NrCnJtYWNfdWRwCXMyaW8uaAkvXiAgICB1MzIgcm1hY191ZHA7JC87IgltCXN0cnVj dDpzdGF0X2Jsb2NrCnJtYWNfdW5zdXBfY3RybF9mcm1zCXMyaW8uaAkvXiAgICB1NjQgcm1hY191 bnN1cF9jdHJsX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfdXNpemVkX2ZybXMJ czJpby5oCS9eCXUzMiBybWFjX3VzaXplZF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpy bWFjX3ZsZF9iY3N0X2ZybXMJczJpby5oCS9eICAgIHUzMiBybWFjX3ZsZF9iY3N0X2ZybXM7JC87 IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfdmxkX2ZybXMJczJpby5oCS9eICAgIHUzMiBybWFj X3ZsZF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpybWFjX3ZsZF9tY3N0X2ZybXMJczJp by5oCS9eICAgIHUzMiBybWFjX3ZsZF9tY3N0X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2Nr CnJtYWNfeGdtaWlfY3RybF9lcnJfY250CXMyaW8uaAkvXiAgICB1NjQgcm1hY194Z21paV9jdHJs X2Vycl9jbnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJtYWNfeGdtaWlfZGF0YV9lcnJfY250 CXMyaW8uaAkvXiAgICB1NjQgcm1hY194Z21paV9kYXRhX2Vycl9jbnQ7JC87IgltCXN0cnVjdDpz dGF0X2Jsb2NrCnJtYWNfeGdtaWlfZXJyX3N5bQlzMmlvLmgJL14gICAgdTY0IHJtYWNfeGdtaWlf ZXJyX3N5bTskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcm9tX2V4cGFuc2lvbglzMmlvLmgJL14g ICAgdTMyIHJvbV9leHBhbnNpb247JC87IgltCXN0cnVjdDpzMmlvX25pYwpyb3VuZF9yb2Jpbl9y ZWcwCXMyaW8uYwkvXnN0YXRpYyB1NjQgcm91bmRfcm9iaW5fcmVnMCA9IDB4MDAwMTAyMDMwNDAw MDEwNTskLzsiCXYJZmlsZToKcm91bmRfcm9iaW5fcmVnMQlzMmlvLmMJL15zdGF0aWMgdTY0IHJv dW5kX3JvYmluX3JlZzEgPSAweDAyMDAwMzAxMDYwMDAyMDQ7JC87Igl2CWZpbGU6CnJvdW5kX3Jv YmluX3JlZzIJczJpby5jCS9ec3RhdGljIHU2NCByb3VuZF9yb2Jpbl9yZWcyID0gMHgwMTAzMDAw NTAyMDEwMDA3OyQvOyIJdglmaWxlOgpyb3VuZF9yb2Jpbl9yZWczCXMyaW8uYwkvXnN0YXRpYyB1 NjQgcm91bmRfcm9iaW5fcmVnMyA9IDB4MDMwNDAxMDAwMjA2MDUwMDskLzsiCXYJZmlsZToKcm91 bmRfcm9iaW5fcmVnNAlzMmlvLmMJL15zdGF0aWMgdTY0IHJvdW5kX3JvYmluX3JlZzQgPSAweDAx MDMwMjA0MDAwMDAwMDA7JC87Igl2CWZpbGU6CnJwYV9lcnJfYWxhcm0JcmVncy5oCS9eICAgICAg ICB1NjQgcnBhX2Vycl9hbGFybTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcnBhX2Vy cl9tYXNrCXJlZ3MuaAkvXiAgICAgICAgdTY0IHJwYV9lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9Y RU5BX2Rldl9jb25maWcKcnBhX2Vycl9yZWcJcmVncy5oCS9eICAgICAgICB1NjQgcnBhX2Vycl9y ZWc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ0aV9jb21tYW5kX21lbQlyZWdzLmgJ L14gICAgICAgIHU2NCBydGlfY29tbWFuZF9tZW07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29u ZmlnCnJ0aV9kYXRhMV9tZW0JcmVncy5oCS9eICAgICAgICB1NjQgcnRpX2RhdGExX21lbTskLzsi CW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcnRpX2RhdGEyX21lbQlyZWdzLmgJL14gICAgICAg IHU2NCBydGlfZGF0YTJfbWVtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpydGlfZXJy X2FsYXJtCXJlZ3MuaAkvXiAgICAgICAgdTY0IHJ0aV9lcnJfYWxhcm07JC87IgltCXN0cnVjdDpf WEVOQV9kZXZfY29uZmlnCnJ0aV9lcnJfbWFzawlyZWdzLmgJL14gICAgICAgIHU2NCBydGlfZXJy X21hc2s7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ0aV9lcnJfcmVnCXJlZ3MuaAkv XiAgICAgICAgdTY0IHJ0aV9lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpy dHNfY3RybAlyZWdzLmgJL14gICAgICAgIHU2NCBydHNfY3RybDskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKcnRzX2RlZmF1bHRfcQlyZWdzLmgJL14gICAgICAgIHU2NCBydHNfZGVmYXVs dF9xOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpydHNfZGl4X21hcF9uCXJlZ3MuaAkv XiAgICAgICAgdTY0IHJ0c19kaXhfbWFwX25bTUFYX0RJWF9NQVBdOyQvOyIJbQlzdHJ1Y3Q6X1hF TkFfZGV2X2NvbmZpZwpydHNfZHNfbWVtX2N0cmwJcmVncy5oCS9eICAgICAgICB1NjQgcnRzX2Rz X21lbV9jdHJsOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpydHNfZHNfbWVtX2RhdGEJ cmVncy5oCS9eICAgICAgICB1NjQgcnRzX2RzX21lbV9kYXRhOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFf ZGV2X2NvbmZpZwpydHNfZnJtX2xlbl9uCXJlZ3MuaAkvXiAgICAgICAgdTY0IHJ0c19mcm1fbGVu X25bOF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ0c19wbl9jYW1fY3RybAlyZWdz LmgJL14gICAgICAgIHU2NCBydHNfcG5fY2FtX2N0cmw7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCnJ0c19wbl9jYW1fZGF0YQlyZWdzLmgJL14gICAgICAgIHU2NCBydHNfcG5fY2FtX2Rh dGE7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ0c19xX2FsdGVybmF0ZXMJcmVncy5o CS9eICAgICAgICB1NjQgcnRzX3FfYWx0ZXJuYXRlczskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9j b25maWcKcnRzX3Fvc19zdGVlcmluZwlyZWdzLmgJL14gICAgICAgIHU2NCBydHNfcW9zX3N0ZWVy aW5nOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyeEludHJIYW5kbGVyCXMyaW8uYwkv XnN0YXRpYyB2b2lkIHJ4SW50ckhhbmRsZXIoc3RydWN0IHMyaW9fbmljICpuaWMpJC87IglmCWZp bGU6CnJ4T3NtSGFuZGxlcglzMmlvLmMJL15pbnQgcnhPc21IYW5kbGVyKG5pY190ICpzcCx1MTYg bGVuLFJ4RF90ICpyeGRwLGludCByaW5nX25vKSQvOyIJZgpyeF9ibG9ja19pbmZvCXMyaW8uaAkv XnR5cGVkZWYgc3RydWN0IHJ4X2Jsb2NrX2luZm8kLzsiCXMKcnhfYmxvY2tfaW5mb190CXMyaW8u aAkvXn1yeF9ibG9ja19pbmZvX3Q7JC87Igl0CnJ4X2Jsb2NrcwlzMmlvLmgJL14gICAgc3RydWN0 IHJ4X2Jsb2NrX2luZm8gcnhfYmxvY2tzW01BWF9SWF9SSU5HU11bTUFYX1JYX0JMT0NLU19QRVJf UklOR107JC87IgltCXN0cnVjdDpzMmlvX25pYwpyeF9idWZmZXJfbGV2ZWwJczJpby5jCS9ec3Rh dGljIGlubGluZSBpbnQgcnhfYnVmZmVyX2xldmVsKG5pY190ICpzcCwgaW50IHJ4Yl9zaXplLCBp bnQgcmluZykkLzsiCWYJZmlsZToKcnhfYnVmc19sZWZ0CXMyaW8uaAkvXiAgICBhdG9taWNfdCBy eF9idWZzX2xlZnRbTUFYX1JYX1JJTkdTXTskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnJ4X2N1cnJf Z2V0X2luZm8JczJpby5oCS9eICAgIHJ4X2N1cnJfZ2V0X2luZm9fdCAgcnhfY3Vycl9nZXRfaW5m b1tNQVhfUlhfUklOR1NdOyBcLyogY29tbWVudHMgaGVyZSAqXC8gJC87IgltCXN0cnVjdDptYWNf aW5mbwpyeF9jdXJyX2dldF9pbmZvX3QJczJpby5oCS9efSByeF9jdXJyX2dldF9pbmZvX3Q7JC87 Igl0CnJ4X2N1cnJfcHV0X2luZm8JczJpby5oCS9eICAgIHJ4X2N1cnJfcHV0X2luZm9fdCAgcnhf Y3Vycl9wdXRfaW5mb1tNQVhfUlhfUklOR1NdOyBcLyogY29tbWVudHMgaGVyZSAqXC8gJC87Iglt CXN0cnVjdDptYWNfaW5mbwpyeF9jdXJyX3B1dF9pbmZvX3QJczJpby5oCS9edHlwZWRlZiByeF9j dXJyX2dldF9pbmZvX3QgICAgICAgICAgICAgIHJ4X2N1cnJfcHV0X2luZm9fdDskLzsiCXQKcnhf ZXJyX2NvdW50CXMyaW8uaAkvXiAgICB1MTYgcnhfZXJyX2NvdW50OyQvOyIJbQlzdHJ1Y3Q6czJp b19uaWMKcnhfbWF0CXJlZ3MuaAkvXiAgICB1NjQgcnhfbWF0OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFf ZGV2X2NvbmZpZwpyeF9wYV9jZmcJcmVncy5oCS9eICAgICAgICB1NjQgcnhfcGFfY2ZnOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyeF9wa3RfY291bnQJczJpby5oCS9eICAgIHUxNiBy eF9wa3RfY291bnQ7JC87IgltCXN0cnVjdDpzMmlvX25pYwpyeF9wcmlvCXMyaW8uYwkvXnN0YXRp YyB1MzIgcnhfcHJpbzskLzsiCXYJZmlsZToKcnhfcXVldWVfY2ZnCXJlZ3MuaAkvXiAgICAgICAg dTY0IHJ4X3F1ZXVlX2NmZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKcnhfcXVldWVf cHJpb3JpdHkJcmVncy5oCS9eICAgICAgICB1NjQgcnhfcXVldWVfcHJpb3JpdHk7JC87IgltCXN0 cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4X3JpbmdfY29uZmlnCXMyaW8uaAkvXnR5cGVkZWYgc3Ry dWN0IHJ4X3JpbmdfY29uZmlnJC87IglzCnJ4X3JpbmdfY29uZmlnX3QJczJpby5oCS9efSByeF9y aW5nX2NvbmZpZ190OyQvOyIJdApyeF90cmFmZmljX2ludAlyZWdzLmgJL14gICAgdTY0IHJ4X3Ry YWZmaWNfaW50OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyeF90cmFmZmljX21hc2sJ cmVncy5oCS9eICAgIHU2NCByeF90cmFmZmljX21hc2s7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCnJ4X3dfcm91bmRfcm9iaW5fMAlyZWdzLmgJL14gICAgICAgIHU2NCByeF93X3JvdW5k X3JvYmluXzA7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4X3dfcm91bmRfcm9iaW5f MQlyZWdzLmgJL14gICAgICAgIHU2NCByeF93X3JvdW5kX3JvYmluXzE7JC87IgltCXN0cnVjdDpf WEVOQV9kZXZfY29uZmlnCnJ4X3dfcm91bmRfcm9iaW5fMglyZWdzLmgJL14gICAgICAgIHU2NCBy eF93X3JvdW5kX3JvYmluXzI7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4X3dfcm91 bmRfcm9iaW5fMwlyZWdzLmgJL14gICAgICAgIHU2NCByeF93X3JvdW5kX3JvYmluXzM7JC87Iglt CXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4X3dfcm91bmRfcm9iaW5fNAlyZWdzLmgJL14gICAg ICAgIHU2NCByeF93X3JvdW5kX3JvYmluXzQ7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmln CnJ4Ynl0ZXMJdXRpbC5oCS9eCXVuc2lnbmVkIGxvbmcgbG9uZyByeGJ5dGVzOyQvOyIJbQlzdHJ1 Y3Q6aW9jdGxJbmZvCnJ4ZAlzMmlvLmgJL14gICAgUnhEX3QgICAgcnhkW01BWF9SWERTX1BFUl9C TE9DS107JC87IgltCXN0cnVjdDpfUnhEX2Jsb2NrCnJ4ZF9yZF9jbnQJczJpby5oCS9eICAgIHUz MiByeGRfcmRfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawpyeGRfcmluZ19tZW0JczJpby5o CS9eICAgIHZvaWQqICAgcnhkX3JpbmdfbWVtOyAgICAgXC8qIG9yaWduYWwgcG9pbnRlciB0byBh bGxvY2F0ZWQgbWVtICpcLyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KcnhkX3JpbmdfbWVtX3BoeQlz MmlvLmgJL14gICAgZG1hYWRkcl90IHJ4ZF9yaW5nX21lbV9waHk7JC87IgltCXN0cnVjdDptYWNf aW5mbwpyeGRfcmluZ19tZW1fc3oJczJpby5oCS9eICAgIHUzMiAgICAgcnhkX3JpbmdfbWVtX3N6 OyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KcnhkX3dyX2NudAlzMmlvLmgJL14gICAgdTMyIHJ4ZF93 cl9jbnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnJ4ZG1hX2RlYnVnX2N0cmwJcmVncy5oCS9e ICAgICAgICB1NjQgcnhkbWFfZGVidWdfY3RybDsgXC8qIFRPRE86IEluIDEuNSBzcGVjIHRoaXMg cmVnaXN0ZXIgaXMgbWlzc2luZy4gKlwvJC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4 ZG1hX2ludF9tYXNrCXJlZ3MuaAkvXiAgICB1NjQgcnhkbWFfaW50X21hc2s7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnJ4ZG1hX2ludF9zdGF0dXMJcmVncy5oCS9eICAgIHU2NCByeGRt YV9pbnRfc3RhdHVzOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyeGZfd3JfY250CXMy aW8uaAkvXiAgICB1MzIgcnhmX3dyX2NudDskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKcnhneHNf YmVyXzAJcmVncy5oCS9eCXU2NCByeGd4c19iZXJfMDsJXC8qIENIQU5HRUQgKlwvJC87IgltCXN0 cnVjdDpfWEVOQV9kZXZfY29uZmlnCnJ4Z3hzX2Jlcl8xCXJlZ3MuaAkvXiAgICAgICAgdTY0IHJ4 Z3hzX2Jlcl8xOwlcLyogQ0hBTkdFRCAqXC8kLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcK cnhpbnRfY250CXMyaW8uaAkvXglpbnQgcnhpbnRfY250OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMK cnhwaWNfYWxhcm1zCXJlZ3MuaAkvXiAgICB1NjQgcnhwaWNfYWxhcm1zOyQvOyIJbQlzdHJ1Y3Q6 X1hFTkFfZGV2X2NvbmZpZwpyeHBpY19pbnRfbWFzawlyZWdzLmgJL14gICAgdTY0IHJ4cGljX2lu dF9tYXNrOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpyeHBpY19pbnRfcmVnCXJlZ3Mu aAkvXiAgICB1NjQgcnhwaWNfaW50X3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcK cnhwa3RfYnl0ZXMJczJpby5oCS9eCXU2NCByeHBrdF9ieXRlczskLzsiCW0Jc3RydWN0OnMyaW9f bmljCnJ4cGt0X2NudAlzMmlvLmgJL14JdTY0IHJ4cGt0X2NudDskLzsiCW0Jc3RydWN0OnMyaW9f bmljCnMyaW9fYmlzdFRlc3QJczJpby5jCS9ec3RhdGljIGludCBzMmlvX2Jpc3RUZXN0KG5pY190 ICpzcCwgdWludDY0X3QgKmRhdGEpJC87IglmCWZpbGU6CnMyaW9fY2hhbmdlX210dQlzMmlvLmMJ L15pbnQgczJpb19jaGFuZ2VfbXR1KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIGludCBuZXdfbXR1 KSQvOyIJZgpzMmlvX2Nsb3NlCXMyaW8uYwkvXmludCBzMmlvX2Nsb3NlKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpJC87IglmCnMyaW9fY2xvc2VyCXMyaW8uYwkvXm1vZHVsZV9leGl0KHMyaW9fY2xv c2VyKTskLzsiCXYKczJpb19jbG9zZXIJczJpby5jCS9edm9pZCBzMmlvX2Nsb3Nlcih2b2lkKSQv OyIJZgpzMmlvX2RyaXZlcglzMmlvLmMJL15zdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgczJpb19k cml2ZXIgPSB7JC87Igl2CWZpbGU6CnMyaW9fZHJpdmVyX25hbWUJczJpby5jCS9ec3RhdGljIGNo YXIgczJpb19kcml2ZXJfbmFtZVtdID0gIlMySU8iOyQvOyIJdglmaWxlOgpzMmlvX2VlcHJvbVRl c3QJczJpby5jCS9ec3RhdGljIGludCBzMmlvX2VlcHJvbVRlc3QobmljX3QgKnNwLCB1aW50NjRf dCAqZGF0YSkkLzsiCWYJZmlsZToKczJpb19ldGh0b29sCXMyaW8uYwkvXnN0YXRpYyBpbnQgczJp b19ldGh0b29sKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBpZnJlcSAqcnEpJC87Iglm CWZpbGU6CnMyaW9fZXRodG9vbF9nZHJ2aW5mbwlzMmlvLmMJL15zdGF0aWMgdm9pZCBzMmlvX2V0 aHRvb2xfZ2RydmluZm8obmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9vbF9kcnZpbmZvICppbmZvKSQv OyIJZglmaWxlOgpzMmlvX2V0aHRvb2xfZ2VlcHJvbQlzMmlvLmMJL15zdGF0aWMgdm9pZCBzMmlv X2V0aHRvb2xfZ2VlcHJvbShuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX2VlcHJvbSAqZWVwcm9t LCAkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX2dldHBhdXNlX2RhdGEJczJpby5jCS9ec3RhdGlj IHZvaWQgczJpb19ldGh0b29sX2dldHBhdXNlX2RhdGEobmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9v bF9wYXVzZXBhcmFtICplcCkkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX2dyZWdzCXMyaW8uYwkv XnN0YXRpYyB2b2lkIHMyaW9fZXRodG9vbF9ncmVncyhuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29s X3JlZ3MgKnJlZ3MsICQvOyIJZglmaWxlOgpzMmlvX2V0aHRvb2xfZ3NldAlzMmlvLmMJL15zdGF0 aWMgdm9pZCBzMmlvX2V0aHRvb2xfZ3NldChuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX2NtZCAq aW5mbykkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX2lkbmljCXMyaW8uYwkvXnN0YXRpYyB2b2lk IHMyaW9fZXRodG9vbF9pZG5pYyhuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX3ZhbHVlICppZCkk LzsiCWYJZmlsZToKczJpb19ldGh0b29sX3NlZXByb20JczJpby5jCS9ec3RhdGljIGludCBzMmlv X2V0aHRvb2xfc2VlcHJvbShuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX2VlcHJvbSAqZWVwcm9t LCAkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX3NldHBhdXNlX2RhdGEJczJpby5jCS9ec3RhdGlj IHZvaWQgczJpb19ldGh0b29sX3NldHBhdXNlX2RhdGEobmljX3QgKnNwLCBzdHJ1Y3QgZXRodG9v bF9wYXVzZXBhcmFtICplcCkkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX3NzZXQJczJpby5jCS9e c3RhdGljIGludCBzMmlvX2V0aHRvb2xfc3NldChuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX2Nt ZCAqaW5mbykkLzsiCWYJZmlsZToKczJpb19ldGh0b29sX3Rlc3QJczJpby5jCS9ec3RhdGljIGlu dCBzMmlvX2V0aHRvb2xfdGVzdChuaWNfdCAqc3AsIHN0cnVjdCBldGh0b29sX3Rlc3QgKmV0aHRl c3QsICQvOyIJZglmaWxlOgpzMmlvX2dldF9zdGF0cwlzMmlvLmMJL15zdHJ1Y3QgbmV0X2Rldmlj ZV9zdGF0cyAqczJpb19nZXRfc3RhdHMoc3RydWN0IG5ldF9kZXZpY2UgKmRldikkLzsiCWYKczJp b19nc3RyaW5ncwlzMmlvLmMJL15zdGF0aWMgY2hhciBzMmlvX2dzdHJpbmdzW11bRVRIX0dTVFJJ TkdfTEVOXSA9IHskLzsiCXYJZmlsZToKczJpb19pbml0X25pYwlzMmlvLmMJL15zMmlvX2luaXRf bmljKHN0cnVjdCBwY2lfZGV2ICpwZGV2LGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkICpwcmUp JC87IglmCWZpbGU6CnMyaW9faW5pdF9wY2kJczJpby5jCS9ec3RhdGljIHZvaWQgczJpb19pbml0 X3BjaShuaWNfdCAqc3ApJC87IglmCWZpbGU6CnMyaW9faW9jdGwJczJpby5jCS9eaW50IHMyaW9f aW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGlmcmVxICpycSwgaW50IGNtZCkk LzsiCWYKczJpb19pc3IJczJpby5jCS9ec3RhdGljIGlycXJldHVybl90IHMyaW9faXNyKGludCBp cnEsIHZvaWQgKmRldl9pZCwgc3RydWN0IHB0X3JlZ3MgKnJlZ3MpJC87IglmCWZpbGU6CnMyaW9f bGluawlzMmlvLmMJL152b2lkIHMyaW9fbGluayhuaWNfdCAqc3AsIGludCBsaW5rKSQvOyIJZgpz MmlvX2xpbmtUZXN0CXMyaW8uYwkvXnN0YXRpYyBpbnQgczJpb19saW5rVGVzdChuaWNfdCAqc3As IHVpbnQ2NF90ICpkYXRhKSQvOyIJZglmaWxlOgpzMmlvX2xvb3BiYWNrVGVzdAlzMmlvLmMJL15z dGF0aWMgaW50IHMyaW9fbG9vcGJhY2tUZXN0KG5pY190ICpzcCwgdWludDY0X3QgKmRhdGEpJC87 IglmCWZpbGU6CnMyaW9fbmljCXMyaW8uaAkvXnR5cGVkZWYgc3RydWN0IHMyaW9fbmljIHskLzsi CXMKczJpb19vcGVuCXMyaW8uYwkvXmludCBzMmlvX29wZW4oc3RydWN0IG5ldF9kZXZpY2UgKmRl dikkLzsiCWYKczJpb19waHlfaWQJczJpby5jCS9ec3RhdGljIHZvaWQgczJpb19waHlfaWQodW5z aWduZWQgbG9uZyBkYXRhKSQvOyIJZglmaWxlOgpzMmlvX3BvbGwJczJpby5jCS9ec3RhdGljIGlu dCBzMmlvX3BvbGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50ICpidWRnZXQpJC87IglmCWZp bGU6CnMyaW9fcmVnaXN0ZXJUZXN0CXMyaW8uYwkvXnN0YXRpYyBpbnQgczJpb19yZWdpc3RlclRl c3QobmljX3QgKnNwLCB1aW50NjRfdCAqZGF0YSkkLzsiCWYJZmlsZToKczJpb19yZW1fbmljCXMy aW8uYwkvXnN0YXRpYyB2b2lkIF9fZXhpdCBzMmlvX3JlbV9uaWMoc3RydWN0IHBjaV9kZXYgKnBk ZXYpJC87IglmCWZpbGU6CnMyaW9fcmVzZXQJczJpby5jCS9edm9pZCBzMmlvX3Jlc2V0KG5pY190 ICpzcCkkLzsiCWYKczJpb19ybGRyYW1UZXN0CXMyaW8uYwkvXnN0YXRpYyBpbnQgczJpb19ybGRy YW1UZXN0KG5pY190ICpzcCwgdWludDY0X3QgKmRhdGEpJC87IglmCWZpbGU6CnMyaW9fc2V0X21h Y19hZGRyCXMyaW8uYwkvXmludCBzMmlvX3NldF9tYWNfYWRkcihzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2LCB2b2lkICpuZXdfbWFjKSQvOyIJZgpzMmlvX3NldF9tdWx0aWNhc3QJczJpby5jCS9edm9p ZCBzMmlvX3NldF9tdWx0aWNhc3Qoc3RydWN0IG5ldF9kZXZpY2UgKmRldikkLzsiCWYKczJpb19z ZXRfc3dhcHBlcglzMmlvLmMJL15pbnQgczJpb19zZXRfc3dhcHBlcihuaWNfdCAqc3ApJC87Iglm CnMyaW9fc3RhcnRlcglzMmlvLmMJL15pbnQgczJpb19zdGFydGVyKHZvaWQpJC87IglmCnMyaW9f c3RhcnRlcglzMmlvLmMJL15tb2R1bGVfaW5pdChzMmlvX3N0YXJ0ZXIpOyQvOyIJdgpzMmlvX3Rh c2tsZXQJczJpby5jCS9edm9pZCBzMmlvX3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkZXZfYWRkcikk LzsiCWYKczJpb190eF93YXRjaGRvZwlzMmlvLmMJL152b2lkIHMyaW9fdHhfd2F0Y2hkb2coc3Ry dWN0IG5ldF9kZXZpY2UgKmRldikkLzsiCWYKczJpb194bWl0CXMyaW8uYwkvXmludCBzMmlvX3ht aXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikkLzsiCWYKc2No ZWR1bGVkX2ludF9jdHJsCXJlZ3MuaAkvXiAgICB1NjQgc2NoZWR1bGVkX2ludF9jdHJsOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwpzZW5kX3Rlc3RGcm1zCXMyaW8uYwkvXmludCBzZW5k X3Rlc3RGcm1zKG5pY190ICpzcCkkLzsiCWYKc2Vycl9zb3VyY2UJcmVncy5oCS9eICAgIHU2NCBz ZXJyX3NvdXJjZTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKc2V0dXBfbG9vcGJhY2sJ czJpby5jCS9edm9pZCBzZXR1cF9sb29wYmFjayhuaWNfdCAqc3ApJC87IglmCnNpemUJdXRpbC5o CS9eCWludCBzaXplOyQvOyIJbQlzdHJ1Y3Q6aW9jdGxJbmZvCnNtX2Vycl9hbGFybQlyZWdzLmgJ L14gICAgdTY0IHNtX2Vycl9hbGFybTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKc21f ZXJyX21hc2sJcmVncy5oCS9eICAgIHU2NCBzbV9lcnJfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKc21fZXJyX3JlZwlyZWdzLmgJL14gICAgdTY0IHNtX2Vycl9yZWc7JC87Iglt CXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnN0YXJ0TmljCXMyaW8uYwkvXnN0YXRpYyBpbnQgc3Rh cnROaWMoc3RydWN0IHMyaW9fbmljICpuaWMpJC87IglmCWZpbGU6CnN0YXRfYWRkcglyZWdzLmgJ L14gICAgdTY0IHN0YXRfYWRkcjskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKc3RhdF9i bG9jawlzMmlvLmgJL150eXBlZGVmIHN0cnVjdCBzdGF0X2Jsb2NrIHskLzsiCXMKc3RhdF9jZmcJ cmVncy5oCS9eICAgIHU2NCBzdGF0X2NmZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcK c3RhdHMJczJpby5oCS9eICAgIHN0cnVjdCBuZXRfZGV2aWNlX3N0YXRzIHN0YXRzOyQvOyIJbQlz dHJ1Y3Q6czJpb19uaWMKc3RhdHNfbWVtCXMyaW8uaAkvXiAgICB2b2lkKiAgICAgICBzdGF0c19t ZW07ICAgICAgICBcLyogb3JpZ25hbCBwb2ludGVyIHRvIGFsbG9jYXRlZCBtZW0gKlwvJC87Iglt CXN0cnVjdDptYWNfaW5mbwpzdGF0c19tZW1fcGh5CXMyaW8uaAkvXiAgICBkbWFhZGRyX3QgICBz dGF0c19tZW1fcGh5OyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8Kc3RhdHNfbWVtX3N6CXMyaW8uaAkv XiAgICB1MzIgICAgICAgICBzdGF0c19tZW1fc3o7JC87IgltCXN0cnVjdDptYWNfaW5mbwpzdGF0 c3JlcXRpbWVvdXQJcmVncy5oCS9eICAgIHU2NCBzdGF0c3JlcXRpbWVvdXQ7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnN0b3BOaWMJczJpby5jCS9ec3RhdGljIHZvaWQgc3RvcE5pYyhz dHJ1Y3QgczJpb19uaWMgKm5pYykkLzsiCWYJZmlsZToKc3dfcmVzZXQJcmVncy5oCS9eICAgIHU2 NCBzd19yZXNldDskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKc3dhcHBlcl9jdHJsCXJl Z3MuaAkvXiAgICB1NjQgc3dhcHBlcl9jdHJsOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZp Zwp0YXNrCXMyaW8uaAkvXiAgICBzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgdGFzazskLzsiCW0Jc3Ry dWN0OnMyaW9fbmljCnRhc2tsZXRfc3RhdHVzCXMyaW8uaAkvXiAgICBhdG9taWNfdCB0YXNrbGV0 X3N0YXR1czskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnRkYV9lcnJfYWxhcm0JcmVncy5oCS9eICAg IHU2NCB0ZGFfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0ZGFfZXJy X21hc2sJcmVncy5oCS9eICAgIHU2NCB0ZGFfZXJyX21hc2s7JC87IgltCXN0cnVjdDpfWEVOQV9k ZXZfY29uZmlnCnRkYV9lcnJfcmVnCXJlZ3MuaAkvXiAgICB1NjQgdGRhX2Vycl9yZWc7JC87Iglt CXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnRpbWVyCXMyaW8uaAkvXiAgICBzdHJ1Y3QgdGltZXJf bGlzdCB0aW1lcjskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnRtYWNfYW55X2Vycl9mcm1zCXMyaW8u aAkvXiAgICB1MzIgdG1hY19hbnlfZXJyX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRt YWNfYXZnX2lwZwlyZWdzLmgJL14gICAgICAgIHU2NCB0bWFjX2F2Z19pcGc7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnRtYWNfYmNzdF9mcm1zCXMyaW8uaAkvXiAgICB1MzIgdG1hY19i Y3N0X2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRtYWNfZGF0YV9vY3RldHMJczJpby5o CS9eICAgIHUzMiB0bWFjX2RhdGFfb2N0ZXRzOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp0bWFj X2Ryb3BfZnJtcwlzMmlvLmgJL14gICAgdTY0IHRtYWNfZHJvcF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6 c3RhdF9ibG9jawp0bWFjX2Ryb3BfaXAJczJpby5oCS9eICAgIHUzMiB0bWFjX2Ryb3BfaXA7JC87 IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRtYWNfZnJtcwlzMmlvLmgJL14gICAgdTMyIHRtYWNfZnJt czskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKdG1hY19pY21wCXMyaW8uaAkvXiAgICB1MzIgdG1h Y19pY21wOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp0bWFjX2lwZ19jZmcJcmVncy5oCS9eICAg ICAgICB1NjQgdG1hY19pcGdfY2ZnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0bWFj X21jc3RfZnJtcwlzMmlvLmgJL14gICAgdTMyIHRtYWNfbWNzdF9mcm1zOyQvOyIJbQlzdHJ1Y3Q6 c3RhdF9ibG9jawp0bWFjX251Y3N0X2ZybXMJczJpby5oCS9eICAgIHUzMiB0bWFjX251Y3N0X2Zy bXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRtYWNfcGF1c2VfY3RybF9mcm1zCXMyaW8uaAkv XiAgICB1NjQgdG1hY19wYXVzZV9jdHJsX2ZybXM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRt YWNfcnN0X3RjcAlzMmlvLmgJL14gICAgdTMyIHRtYWNfcnN0X3RjcDskLzsiCW0Jc3RydWN0OnN0 YXRfYmxvY2sKdG1hY190Y3AJczJpby5oCS9eICAgIHU2NCB0bWFjX3RjcDskLzsiCW0Jc3RydWN0 OnN0YXRfYmxvY2sKdG1hY190dGxfbGVzc19mYl9vY3RldHMJczJpby5oCS9eICAgIHU2NCB0bWFj X3R0bF9sZXNzX2ZiX29jdGV0czskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKdG1hY190dGxfb2N0 ZXRzCXMyaW8uaAkvXiAgICB1MzIgdG1hY190dGxfb2N0ZXRzOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9i bG9jawp0bWFjX3Vjc3RfZnJtcwlzMmlvLmgJL14gICAgdTMyIHRtYWNfdWNzdF9mcm1zOyQvOyIJ bQlzdHJ1Y3Q6c3RhdF9ibG9jawp0bWFjX3VkcAlzMmlvLmgJL14gICAgdTMyIHRtYWNfdWRwOyQv OyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp0bWFjX3ZsZF9pcAlzMmlvLmgJL14gICAgdTMyIHRtYWNf dmxkX2lwOyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp0bWFjX3ZsZF9pcF9vY3RldHMJczJpby5o CS9eICAgIHU2NCB0bWFjX3ZsZF9pcF9vY3RldHM7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnRw YV9lcnJfYWxhcm0JcmVncy5oCS9eICAgIHU2NCB0cGFfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6 X1hFTkFfZGV2X2NvbmZpZwp0cGFfZXJyX21hc2sJcmVncy5oCS9eICAgIHU2NCB0cGFfZXJyX21h c2s7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnRwYV9lcnJfcmVnCXJlZ3MuaAkvXiAg ICB1NjQgdHBhX2Vycl9yZWc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnR0aV9jb21t YW5kX21lbQlyZWdzLmgJL14gICAgdTY0IHR0aV9jb21tYW5kX21lbTskLzsiCW0Jc3RydWN0Ol9Y RU5BX2Rldl9jb25maWcKdHRpX2RhdGExX21lbQlyZWdzLmgJL14gICAgdTY0IHR0aV9kYXRhMV9t ZW07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnR0aV9kYXRhMl9tZW0JcmVncy5oCS9e ICAgIHU2NCB0dGlfZGF0YTJfbWVtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0dGlf ZXJyX2FsYXJtCXJlZ3MuaAkvXiAgICB1NjQgdHRpX2Vycl9hbGFybTskLzsiCW0Jc3RydWN0Ol9Y RU5BX2Rldl9jb25maWcKdHRpX2Vycl9tYXNrCXJlZ3MuaAkvXiAgICB1NjQgdHRpX2Vycl9tYXNr OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0dGlfZXJyX3JlZwlyZWdzLmgJL14gICAg dTY0IHR0aV9lcnJfcmVnOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eEludHJIYW5k bGVyCXMyaW8uYwkvXnN0YXRpYyB2b2lkIHR4SW50ckhhbmRsZXIoc3RydWN0IHMyaW9fbmljICpu aWMpJC87IglmCWZpbGU6CnR4X0ZJRk9fc3RhcnQJczJpby5oCS9eICAgIFR4RklGT19lbGVtZW50 X3QqICAgdHhfRklGT19zdGFydFtNQVhfVFhfRklGT1NdOyAkLzsiCW0Jc3RydWN0Om1hY19pbmZv CnR4X2N1cnJfZ2V0X2luZm8JczJpby5oCS9eICAgIHR4X2N1cnJfZ2V0X2luZm9fdCAgIHR4X2N1 cnJfZ2V0X2luZm9bTUFYX1RYX0ZJRk9TXTsgICAkLzsiCW0Jc3RydWN0Om1hY19pbmZvCnR4X2N1 cnJfZ2V0X2luZm9fdAlzMmlvLmgJL159IHR4X2N1cnJfZ2V0X2luZm9fdDskLzsiCXQKdHhfY3Vy cl9wdXRfaW5mbwlzMmlvLmgJL14gICAgdHhfY3Vycl9wdXRfaW5mb190ICAgdHhfY3Vycl9wdXRf aW5mb1tNQVhfVFhfRklGT1NdOyAgICQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KdHhfY3Vycl9wdXRf aW5mb190CXMyaW8uaAkvXnR5cGVkZWYgdHhfY3Vycl9nZXRfaW5mb190ICAgICAgICAgICAgICB0 eF9jdXJyX3B1dF9pbmZvX3Q7JC87Igl0CnR4X2RtYV93cmFwX3N0YXQJcmVncy5oCS9eICAgIHU2 NCB0eF9kbWFfd3JhcF9zdGF0OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eF9lcnJf Y291bnQJczJpby5oCS9eICAgIHUxNiB0eF9lcnJfY291bnQ7JC87IgltCXN0cnVjdDpzMmlvX25p Ywp0eF9maWZvX2NvbmZpZwlzMmlvLmgJL150eXBlZGVmIHN0cnVjdCB0eF9maWZvX2NvbmZpZyQv OyIJcwp0eF9maWZvX2NvbmZpZ190CXMyaW8uaAkvXn0gdHhfZmlmb19jb25maWdfdDskLzsiCXQK dHhfZmlmb19wYXJ0aXRpb25fMAlyZWdzLmgJL14gICAgdTY0IHR4X2ZpZm9fcGFydGl0aW9uXzA7 JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnR4X2ZpZm9fcGFydGl0aW9uXzEJcmVncy5o CS9eICAgIHU2NCB0eF9maWZvX3BhcnRpdGlvbl8xOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2Nv bmZpZwp0eF9maWZvX3BhcnRpdGlvbl8yCXJlZ3MuaAkvXiAgICB1NjQgdHhfZmlmb19wYXJ0aXRp b25fMjskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfZmlmb19wYXJ0aXRpb25fMwly ZWdzLmgJL14gICAgdTY0IHR4X2ZpZm9fcGFydGl0aW9uXzM7JC87IgltCXN0cnVjdDpfWEVOQV9k ZXZfY29uZmlnCnR4X2xvY2sJczJpby5oCS9eCXNwaW5sb2NrX3QgdHhfbG9jazskLzsiCW0Jc3Ry dWN0OnMyaW9fbmljCnR4X21hdDBfNwlyZWdzLmgJL14gICAgdTY0IHR4X21hdDBfNzskLzsiCW0J c3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfbWF0MTZfMjMJcmVncy5oCS9eICAgIHU2NCB0eF9t YXQxNl8yMzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfbWF0MjRfMzEJcmVncy5o CS9eICAgIHU2NCB0eF9tYXQyNF8zMTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhf bWF0MzJfMzkJcmVncy5oCS9eICAgIHU2NCB0eF9tYXQzMl8zOTskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKdHhfbWF0NDBfNDcJcmVncy5oCS9eICAgIHU2NCB0eF9tYXQ0MF80NzskLzsi CW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfbWF0NDhfNTUJcmVncy5oCS9eICAgIHU2NCB0 eF9tYXQ0OF81NTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfbWF0NTZfNjMJcmVn cy5oCS9eICAgIHU2NCB0eF9tYXQ1Nl82MzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcK dHhfbWF0OF8xNQlyZWdzLmgJL14gICAgdTY0IHR4X21hdDhfMTU7JC87IgltCXN0cnVjdDpfWEVO QV9kZXZfY29uZmlnCnR4X3BhX2NmZwlyZWdzLmgJL14gICAgdTY0IHR4X3BhX2NmZzskLzsiCW0J c3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfcGt0X2NvdW50CXMyaW8uaAkvXiAgICB1MTYgdHhf cGt0X2NvdW50OyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKdHhfcGt0X3B0cglzMmlvLmgJL14gICAg dm9pZCAqdHhfcGt0X3B0cjskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnR4X3ByaW8JczJpby5jCS9e c3RhdGljIHUzMiB0eF9wcmlvOyQvOyIJdglmaWxlOgp0eF90cmFmZmljX2ludAlyZWdzLmgJL14g ICAgdTY0IHR4X3RyYWZmaWNfaW50OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eF90 cmFmZmljX21hc2sJcmVncy5oCS9eICAgIHU2NCB0eF90cmFmZmljX21hc2s7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnR4X3dfcm91bmRfcm9iaW5fMAlyZWdzLmgJL14gICAgdTY0IHR4 X3dfcm91bmRfcm9iaW5fMDskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfd19yb3Vu ZF9yb2Jpbl8xCXJlZ3MuaAkvXiAgICB1NjQgdHhfd19yb3VuZF9yb2Jpbl8xOyQvOyIJbQlzdHJ1 Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eF93X3JvdW5kX3JvYmluXzIJcmVncy5oCS9eICAgIHU2NCB0 eF93X3JvdW5kX3JvYmluXzI7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnR4X3dfcm91 bmRfcm9iaW5fMwlyZWdzLmgJL14gICAgdTY0IHR4X3dfcm91bmRfcm9iaW5fMzskLzsiCW0Jc3Ry dWN0Ol9YRU5BX2Rldl9jb25maWcKdHhfd19yb3VuZF9yb2Jpbl80CXJlZ3MuaAkvXiAgICB1NjQg dHhfd19yb3VuZF9yb2Jpbl80OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eGJ5dGVz CXV0aWwuaAkvXgl1bnNpZ25lZCBsb25nIGxvbmcgdHhieXRlczskLzsiCW0Jc3RydWN0OmlvY3Rs SW5mbwp0eGRfbGlzdF9tZW0JczJpby5oCS9eICAgIHZvaWQqICAgdHhkX2xpc3RfbWVtOyAgICAg XC8qIG9yaWduYWwgcG9pbnRlciB0byBhbGxvY2F0ZWQgbWVtICpcLyQvOyIJbQlzdHJ1Y3Q6bWFj X2luZm8KdHhkX2xpc3RfbWVtX3BoeQlzMmlvLmgJL14gICAgZG1hYWRkcl90IHR4ZF9saXN0X21l bV9waHk7JC87IgltCXN0cnVjdDptYWNfaW5mbwp0eGRfbGlzdF9tZW1fc3oJczJpby5oCS9eICAg IHUzMiAgICAgdHhkX2xpc3RfbWVtX3N6OyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KdHhkX3JkX2Nu dAlzMmlvLmgJL14gICAgdTMyIHR4ZF9yZF9jbnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCnR4 ZF93cl9jbnQJczJpby5oCS9eICAgIHUzMiB0eGRfd3JfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9i bG9jawp0eGRsX2xlbglzMmlvLmgJL14gICAgdTE2ICAgICAgICAgICAgICAgICAgdHhkbF9sZW47 IFwvKiBsZW5ndGggb2YgYSBUeERMLCBzYW1lIGZvciBhbGwqXC8kLzsiCW0Jc3RydWN0Om1hY19p bmZvCnR4ZGxfc3RhcnQJczJpby5oCS9eICAgIFR4RF90KiAgICAgICAgICAgICAgdHhkbF9zdGFy dFtNQVhfVFhfRklGT1NdOyQvOyIJbQlzdHJ1Y3Q6bWFjX2luZm8KdHhkbF9zdGFydF9waHkJczJp by5oCS9eICAgIGRtYWFkZHJfdCB0eGRsX3N0YXJ0X3BoeVtNQVhfVFhfRklGT1NdOyAkLzsiCW0J c3RydWN0Om1hY19pbmZvCnR4ZG1hX2RlYnVnX2N0cmwJcmVncy5oCS9eICAgIHU2NCB0eGRtYV9k ZWJ1Z19jdHJsOyBcLypUT0RPOiAxLjUgU3BlYyBkb2VzIG5vdCBtZW50aW9uIHRoaXMgcmVnaXN0 ZXIgYW55IG1vcmUqXC8kLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhkbWFfaW50X21h c2sJcmVncy5oCS9eICAgIHU2NCB0eGRtYV9pbnRfbWFzazskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rl dl9jb25maWcKdHhkbWFfaW50X3N0YXR1cwlyZWdzLmgJL14gICAgdTY0IHR4ZG1hX2ludF9zdGF0 dXM7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnR4Zl9yZF9jbnQJczJpby5oCS9eICAg IHUzMiB0eGZfcmRfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp0eGludF9jbnQJczJpby5o CS9eCWludCB0eGludF9jbnQ7JC87IgltCXN0cnVjdDpzMmlvX25pYwp0eHBfd3JfY250CXMyaW8u aAkvXiAgICB1MzIgdHhwX3dyX2NudDskLzsiCW0Jc3RydWN0OnN0YXRfYmxvY2sKdHhwaWNfYWxh cm1zCXJlZ3MuaAkvXiAgICB1NjQgdHhwaWNfYWxhcm1zOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2 X2NvbmZpZwp0eHBpY19pbnRfbWFzawlyZWdzLmgJL14gICAgdTY0IHR4cGljX2ludF9tYXNrOyQv OyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp0eHBpY19pbnRfcmVnCXJlZ3MuaAkvXiAgICB1 NjQgdHhwaWNfaW50X3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdHhwa3RfYnl0 ZXMJczJpby5oCS9eCXU2NCB0eHBrdF9ieXRlczskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnR4cmVx dGltZW91dAlyZWdzLmgJL14gICAgdTY0IHR4cmVxdGltZW91dDskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKdW51c2VkMAlyZWdzLmgJL14gICAgdTgJdW51c2VkMFsweDEwMCAtIDB4MTBd OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQxMAlyZWdzLmgJL14gICAgdTgg dW51c2VkMTBbMHgxODAwLTB4MTcwOF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnVu dXNlZDExCXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2VkMTFbMHgxMDAtMHg4OF07JC87IgltCXN0 cnVjdDpfWEVOQV9kZXZfY29uZmlnCnVudXNlZDEyCXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2Vk MTJbMHg3MDAtMHgxRDhdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQxMwly ZWdzLmgJL14gICAgICAgIHU4IHVudXNlZDEzWzB4MjAwMC0weDFmMDhdOyQvOyIJbQlzdHJ1Y3Q6 X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQxNAlyZWdzLmgJL14gICAgICAgIHU4IHVudXNlZDE0WzB4 MTAwLTB4NDBdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQxNQlyZWdzLmgJ L14gICAgICAgIHU4IHVudXNlZDE1WzB4OF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmln CnVudXNlZDE2CXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2VkMTZbMHg3MDAtMHgyMjBdOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQxNwlyZWdzLmgJL14gICAgICAgIHU4IHVu dXNlZDE3WzB4MjgwMC0weDI3MDhdOwlcLyogQ0hBTkdFRCAqXC8kLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKdW51c2VkMTgJcmVncy5oCS9eICAgICAgICB1OCB1bnVzZWQxOFsweDEwMC0w eDI4XTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdW51c2VkMTkJcmVncy5oCS9eICAg ICAgICB1OCB1bnVzZWQxOVsweDIwMC0weDE2OF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29u ZmlnCnVudXNlZDIwCXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2VkMjBbMHgyMjAtMHgyMDhdOyQv OyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQyMQlyZWdzLmgJL14gICAgICAgIHU4 IHVudXNlZDIxWzB4MjQwLTB4MjI4XTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdW51 c2VkMjIJcmVncy5oCS9eICAgICAgICB1OCB1bnVzZWQyMlsweDI2MC0weDI0OF07JC87IgltCXN0 cnVjdDpfWEVOQV9kZXZfY29uZmlnCnVudXNlZDIzCXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2Vk MjNbMHgyODAtMHgyNjhdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQyNAly ZWdzLmgJL14gICAgICAgIHU4IHVudXNlZDI0WzB4MzAwLTB4Mjg4XTskLzsiCW0Jc3RydWN0Ol9Y RU5BX2Rldl9jb25maWcKdW51c2VkMjUJcmVncy5oCS9eICAgICAgICB1OCB1bnVzZWQyNVsweDcw MC0weDMwOF07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnVudXNlZDI2CXJlZ3MuaAkv XiAgICAgICAgdTggdW51c2VkMjZbMHgzMDAwLTB4MmYwOF07JC87IgltCXN0cnVjdDpfWEVOQV9k ZXZfY29uZmlnCnVudXNlZDI3CXJlZ3MuaAkvXiAgICAgICAgdTggdW51c2VkMjdbMHgxMDAtMHg0 MF07ICQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQ0CXJlZ3MuaAkvXiAgICB1 OAl1bnVzZWQ0WzB4MDhdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQ1CXJl Z3MuaAkvXiAgICB1OAl1bnVzZWQ1WzB4MzhdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZp Zwp1bnVzZWQ2CXJlZ3MuaAkvXiAgICB1OAl1bnVzZWQ2WzB4OF07JC87IgltCXN0cnVjdDpfWEVO QV9kZXZfY29uZmlnCnVudXNlZDcJcmVncy5oCS9eICAgIHU4CXVudXNlZDdbMHg2MDBdOyQvOyIJ bQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQ4CXJlZ3MuaAkvXiAgICB1OCB1bnVzZWQ4 WzB4MTAwLTB4QjhdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1bnVzZWQ5CXJlZ3Mu aAkvXiAgICB1OCB1bnVzZWQ5WzB4NzAwLTB4MTc4XTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9j b25maWcKdW51c2VkXzAJcmVncy5oCS9eICAgIHU4CXVudXNlZF8wWzB4ODAwLTB4MTIwXTskLzsi CW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKdW51c2VkXzEJcmVncy5oCS9eICAgIHU4CXVudXNl ZF8xWzB4MTBdOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp1c2FnZV9jbnQJczJpby5o CS9eICAgIGludCB1c2FnZV9jbnQ7JC87IgltCXN0cnVjdDoKdXNyX2FkZHJfY291bnQJczJpby5o CS9eICAgIHUxNiB1c3JfYWRkcl9jb3VudDskLzsiCW0Jc3RydWN0OnMyaW9fbmljCnVzcl9hZGRy X3QJczJpby5oCS9efXVzcl9hZGRyX3Q7JC87Igl0CnVzcl9hZGRycwlzMmlvLmgJL14gICAgdXNy X2FkZHJfdCAgdXNyX2FkZHJzW01BWF9BRERSU19TVVBQT1JURURdOyQvOyIJbQlzdHJ1Y3Q6czJp b19uaWMKdkJJVAlzMmlvLmgJMjE7IglkCnZhbHVlCXV0aWwuaAkvXgl1bnNpZ25lZCBsb25nIGxv bmcgdmFsdWU7JC87IgltCXN0cnVjdDppb2N0bEluZm8KdmVuZG9yX2lkCXMyaW8uaAkvXiAgICB1 MTYgdmVuZG9yX2lkOyQvOyIJbQlzdHJ1Y3Q6czJpb19uaWMKdmVyaWZ5X3Rlc3RGcm1zCXMyaW8u YwkvXmludCB2ZXJpZnlfdGVzdEZybXMobmljX3QgKnNwKSQvOyIJZgp2ZXJpZnlfeGVuYV9xdWll c2NlbmNlCXMyaW8uYwkvXnN0YXRpYyBpbnQgdmVyaWZ5X3hlbmFfcXVpZXNjZW5jZSh1NjQgdmFs NjQsIGludCBmbGFnKSQvOyIJZglmaWxlOgp3YWl0Rm9yQ21kQ29tcGxldGUJczJpby5jCS9eaW50 IHdhaXRGb3JDbWRDb21wbGV0ZShuaWNfdCAqc3ApJC87IglmCndyX2Rpc2NfY250CXMyaW8uaAkv XiAgICB1MzIgd3JfZGlzY19jbnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCndyX3JlcV9jbnQJ czJpby5oCS9eICAgIHUzMiB3cl9yZXFfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9ibG9jawp3cl9y dHJ5X2NudAlzMmlvLmgJL14gICAgdTMyIHdyX3J0cnlfY250OyQvOyIJbQlzdHJ1Y3Q6c3RhdF9i bG9jawp3cl9ydHJ5X3JkX2Fja19jbnQJczJpby5oCS9eICAgIHUzMiB3cl9ydHJ5X3JkX2Fja19j bnQ7JC87IgltCXN0cnVjdDpzdGF0X2Jsb2NrCndyaXRlMTYJczJpby5oCTgxMjsiCWQKd3JpdGUz MglzMmlvLmgJODExOyIJZAp3cml0ZTY0CXMyaW8uaAkvXnN0YXRpYyBpbmxpbmUgdm9pZCB3cml0 ZTY0KHZvaWQgKmFkZHIsIHU2NCB2YWwpJC87IglmCndyaXRlNjQJczJpby5oCTgwOTsiCWQKd3Jp dGU4CXMyaW8uaAk4MTM7IglkCndyaXRlRWVwcm9tCXMyaW8uYwkvXnN0YXRpYyBpbnQgd3JpdGVF ZXByb20obmljX3QgKnNwLCBpbnQgb2ZmLCB1MzIgZGF0YSwgaW50IGNudCkkLzsiCWYJZmlsZToK d3JpdGVfcmV0cnlfYWNjZWxlcmF0aW9uCXJlZ3MuaAkvXiAgICB1NjQgd3JpdGVfcmV0cnlfYWNj ZWxlcmF0aW9uOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp3cml0ZV9yZXRyeV9kZWxh eQlyZWdzLmgJL14gICAgdTY0IHdyaXRlX3JldHJ5X2RlbGF5OyQvOyIJbQlzdHJ1Y3Q6X1hFTkFf ZGV2X2NvbmZpZwp4ZW5hX21heF9vdXRzdGFuZGluZ19zcGxpdHMJczJpby5oCS9edHlwZWRlZiBl bnVtIHhlbmFfbWF4X291dHN0YW5kaW5nX3NwbGl0cyB7JC87IglnCnhlbmFfbWF4X291dHN0YW5k aW5nX3NwbGl0cwlzMmlvLmgJL159eGVuYV9tYXhfb3V0c3RhbmRpbmdfc3BsaXRzOyQvOyIJdAp4 Z3hzX2NmZwlyZWdzLmgJL14gICAgICAgIHU2NCB4Z3hzX2NmZzskLzsiCW0Jc3RydWN0Ol9YRU5B X2Rldl9jb25maWcKeGd4c19jZmdfa2V5CXJlZ3MuaAkvXiAgICAgICAgdTY0IHhneHNfY2ZnX2tl eTskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKeGd4c19lZmlmb19jZmcJcmVncy5oCS9e CXU2NCB4Z3hzX2VmaWZvX2NmZzsJXC8qIENIQU5HRUQgKlwvJC87IgltCXN0cnVjdDpfWEVOQV9k ZXZfY29uZmlnCnhneHNfaW50X21hc2sJcmVncy5oCS9eICAgICAgICB1NjQgeGd4c19pbnRfbWFz azskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKeGd4c19pbnRfc3RhdHVzCXJlZ3MuaAkv XiAgICAgICAgdTY0IHhneHNfaW50X3N0YXR1czskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25m aWcKeGd4c19yeGd4c19lcnJfYWxhcm0JcmVncy5oCS9eICAgICAgICB1NjQgeGd4c19yeGd4c19l cnJfYWxhcm07JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnhneHNfcnhneHNfZXJyX21h c2sJcmVncy5oCS9eICAgICAgICB1NjQgeGd4c19yeGd4c19lcnJfbWFzazskLzsiCW0Jc3RydWN0 Ol9YRU5BX2Rldl9jb25maWcKeGd4c19yeGd4c19lcnJfcmVnCXJlZ3MuaAkvXiAgICAgICAgdTY0 IHhneHNfcnhneHNfZXJyX3JlZzskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKeGd4c19z dGF0dXMJcmVncy5oCS9eICAgICAgICB1NjQgeGd4c19zdGF0dXM7JC87IgltCXN0cnVjdDpfWEVO QV9kZXZfY29uZmlnCnhneHNfdHhneHNfZXJyX2FsYXJtCXJlZ3MuaAkvXiAgICAgICAgdTY0IHhn eHNfdHhneHNfZXJyX2FsYXJtOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp4Z3hzX3R4 Z3hzX2Vycl9tYXNrCXJlZ3MuaAkvXiAgICAgICAgdTY0IHhneHNfdHhneHNfZXJyX21hc2s7JC87 IgltCXN0cnVjdDpfWEVOQV9kZXZfY29uZmlnCnhneHNfdHhneHNfZXJyX3JlZwlyZWdzLmgJL14g ICAgICAgIHU2NCB4Z3hzX3R4Z3hzX2Vycl9yZWc7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZfY29u ZmlnCnhtc2lfYWNjZXNzCXJlZ3MuaAkvXiAgICB1NjQgeG1zaV9hY2Nlc3M7JC87IgltCXN0cnVj dDpfWEVOQV9kZXZfY29uZmlnCnhtc2lfYWRkcmVzcwlyZWdzLmgJL14gICAgdTY0IHhtc2lfYWRk cmVzczskLzsiCW0Jc3RydWN0Ol9YRU5BX2Rldl9jb25maWcKeG1zaV9jb250cm9sCXJlZ3MuaAkv XiAgICB1NjQgeG1zaV9jb250cm9sOyQvOyIJbQlzdHJ1Y3Q6X1hFTkFfZGV2X2NvbmZpZwp4bXNp X2RhdGEJcmVncy5oCS9eICAgIHU2NCB4bXNpX2RhdGE7JC87IgltCXN0cnVjdDpfWEVOQV9kZXZf Y29uZmlnCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAC4vdHVuZV9kcml2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw MTAwNjQ0ADAwMDAwMDAAMDAwMDAwMAAwMDAwMDAwMjQ2MQAwNzc3NjYzNTMzMAAwMTIyMDYAIDAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIAByb290AAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAIyBSZWNlaXZlCiN0aW1lcj0wIC0gN0ZGRiAKcl90aW1lcj0iMUZGRiIKCiNS WF9VUk5HX0EsIFJYX1VSTkdfQiwgUlhfVVJOR19DCiMweDAtMHg2NApyX3Jhbmdlcz0iMGIxMDMw IgoKI0ZyYW1lIGNvdW50CiNSX1VGQ19BLFJfVUZDX0IsUl9VRkNfQyxSX1VGQ19ECiMweDAtMHhG RkZGCnJmY291bnRhPSIwMDAxIgpyZmNvdW50Yj0iMDAwMyIKcmZjb3VudGM9IjAwNDAiCnJmY291 bnRkPSIwMDkwIgoKIyBUcmFuc21pdAojdGltZXI9MCAtIDdGRkYgCnRfdGltZXI9IjFGRkYiCgoj VFhfVVJOR19BLCBUWF9VUk5HX0IsIFRYX1VSTkdfQwojMHgwLTB4NjQKdF9yYW5nZXM9IjBiMTAz MCIKCiNGcmFtZSBjb3VudAojVF9VRkNfQSxUX1VGQ19CLFRfVUZDX0MsVF9VRkNfRAojMHgwLTB4 RkZGRgp0ZmNvdW50YT0iMDAxMCIKdGZjb3VudGI9IjAwMjAiCnRmY291bnRjPSIwMDQwIgp0ZmNv dW50ZD0iMDA4MCIKCiMKIyBEb25vdCBtb2RpZnkgYmV5b25kIHRoaXMgbGluZQojCiMKIyBUdW5l IFJlY2VpdmUgY29hbGVzY2luZwojQUMgZW5hYmxlCmFjPTAyCnJ0aV9kYXRhMV9tZW1fdmFsPSIw eCRyX3RpbWVyJGFjJHJfcmFuZ2VzIgpydGlfZGF0YTJfbWVtX3ZhbD0iMHgkcmZjb3VudGEkcmZj b3VudGIkcmZjb3VudGMkcmZjb3VudGQiCgojV3JpdGUgdG8gUlRJX0RBVEExX01FTQouL3V0aWwg LWlldGgyIC1mL3RtcC9kdW1wIDcgMHgxOWMwICAkcnRpX2RhdGExX21lbV92YWwKLi91dGlsIC1p ZXRoMiAtZi90bXAvZHVtcCA2IDB4MTljMAoKI1dyaXRlIHRvIFJUSV9EQVRBMl9NRU0KLi91dGls IC1pZXRoMiAtZi90bXAvZHVtcCA3IDB4MTljOCAkcnRpX2RhdGEyX21lbV92YWwKLi91dGlsIC1p ZXRoMiAtZi90bXAvZHVtcCA2IDB4MTljOAoKI3N0cm9iZQouL3V0aWwgLWlldGgyIC1mL3RtcC9k dW1wIDcgMHgxOWI4IDEwMTAwMDAwMDAwMDAwMAoKCgphYz0wMgp0dGlfZGF0YTFfbWVtX3ZhbD0i MHgkdF90aW1lciRhYyR0X3JhbmdlcyIKdHRpX2RhdGEyX21lbV92YWw9IjB4JHRmY291bnRhJHRm Y291bnRiJHRmY291bnRjJHRmY291bnRkIgoKI1dyaXRlIHRvIFRUSV9EQVRBMV9NRU0KLi91dGls IC1pZXRoMiAtZi90bXAvZHVtcCA3IDB4MTE1OCAgJHR0aV9kYXRhMV9tZW1fdmFsCi4vdXRpbCAt aWV0aDIgLWYvdG1wL2R1bXAgNiAweDExNTgKCiNXcml0ZSB0byBUVElfREFUQTJfTUVNCi4vdXRp bCAtaWV0aDIgLWYvdG1wL2R1bXAgNyAweDExNjAgJHR0aV9kYXRhMl9tZW1fdmFsCi4vdXRpbCAt aWV0aDIgLWYvdG1wL2R1bXAgNiAweDExNjAKCiNzdHJvYmUKLi91dGlsIC1pZXRoMiAtZi90bXAv ZHVtcCA3IDB4MTE1MCAxMDEwMDAwMDAwMDAwMDAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAALi91dGlsLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2 NDQAMDAwMDAwMAAwMDAwMDAwADAwMDAwMDEyMjcyADA3NzUxNjA1MjA2ADAxMTA0NwAgMAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAjaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxz eXMvaW9jdGwuaD4KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KI2luY2x1ZGUgPG5ldC9pZi5oPgoj aW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlICJ1dGlsLmgiCgppbnQgbWFpbihpbnQgYXJnYywg Y2hhciAqKmFyZ3YpCnsKCWludCBzb2NrID0gc29ja2V0KEFGX0lORVQsU09DS19ER1JBTSwwKSxp OwoJaW50IGZwLGosIGZpbGVfZmxhZyA9IDA7CSAKCXN0cnVjdCBpZnJlcSBycTsKCWlvY3RsSW5m b190IGlvOwoJdW5zaWduZWQgY2hhciAqYywgZGV2WzEwXSxwYXRoWzMwXTsKCglpZigoYXJnYyA8 IDQpIHx8IChhcmdjID4gNikpIHsKCQlwcmludGYoIlVzYWdlOiAuL3V0aWwgLWk8SS9GIG5hbWU+ IC1mPG8vcCBmaWxlPiBvcHRpb25zXG4iKTsKCQlwcmludGYoIk9wdGlvbnMsIDE9VHhELCAyPXN0 YXRzLCAzPWdldCBHZW4gaW50IHN0YXR1cyByZWcsIDQ9UnhEIik7IAoJCXByaW50ZigiLCA1PVJ4 IEJ1ZmZlciwgNj1SZWcgPG9mZnNldD4sIDc9d3JpdGUgPG9mZnNldD4gPHZhbHVlPiIpOwoJCXBy aW50ZigiLCA4PXJlc2V0XG4iKTsKCQlyZXR1cm4gMDsKCX0KCWlmKChhcmdjID4gMykgJiYgKGFy Z2MgPCA3KSkgewoJCWlmKChhcmd2WzFdWzBdICE9ICctJyl8fChhcmd2WzFdWzFdICE9ICdpJykp IHsKCQkJcHJpbnRmKCJQbGVhc2UgZW50ZXIgdGhlIHRhcmdldCBkZXZpY2UgbmFtZSBwcmVmaXhl ZCB3aXRoIGEgJy1pJyIpOwoJCQlwcmludGYoIiB0byBydW4gYSBwYXJ0aWN1bGFyIG9wdGlvbiBv IHV0aWwgb24gdGhhdCBkZXZpY2UuXG4iKTsKCQkJcHJpbnRmKCJFZzogLi91dGlsIC1pZXRoMCAt Zi90bXAvZHVtbXkgNiAxMDhcbiIpOwoJCQlyZXR1cm4gMDsKCQl9CgkJaWYoKGFyZ3ZbMl1bMF0g IT0gJy0nKXx8KGFyZ3ZbMl1bMV0gIT0gJ2YnKSkgewoJCQlwcmludGYoIkVudGVyIHRoZSBvdXRw dXQgZmlsZSBuYW1lLiBOb3QgbGwgb3B0aW9ucyBkdW1wIGRhdGEgIik7CgkJCXByaW50ZigiLCBi dXQgaXRzIG1hbmRhdG9yeSB0byBnaXZlIGFuIG91dHB1dCBmaWxlXG4iKTsKCQkJcHJpbnRmKCJF ZzogLi91dGlsIC1pZXRoMCAtZi90bXAvZHVtbXkgNiAxMDhcbiIpOwoJCQlyZXR1cm4gMDsKCQl9 CgkJZmlsZV9mbGFnID0gMTsKCQlmb3IoaT0yOyBhcmd2WzJdW2ldOyBpKyspCgkJCXBhdGhbaS0y XSA9IGFyZ3ZbMl1baV07CgkJaWYoaSA9PSAyKSB7CgkJCXByaW50ZigiRW50ZXIgdGhlIG91dHB1 dCBmaWxlIG5hbWUuIE5vdCBsbCBvcHRpb25zIGR1bXAgZGF0YSAiKTsKCQkJcHJpbnRmKCIsIGJ1 dCBpdHMgbWFuZGF0b3J5IHRvIGdpdmUgYW4gb3V0cHV0IGZpbGVcbiIpOwoJCQlwcmludGYoIkVn OiAuL3V0aWwgLWlldGgwIC1mL3RtcC9kdW1teSA2IDEwOFxuIik7CgkJCXJldHVybiAwOwoJCX0K CQlwYXRoW2ktMl0gPSAnXDAnOwoJCWlmKChhcmdjICE9IDUpJiYoYXJndlszXVswXSA9PSAnNicp KQoJCQlyZXR1cm4gMDsKCQlpZigoYXJnYyAhPSA2KSYmKGFyZ3ZbM11bMF0gPT0gJzcnKSkKCQkJ cmV0dXJuIDA7Ci8qCgkJcHJpbnRmKCJPcHRpb25zLCAxPVR4RCwgMj1zdGF0cywgMz1nZXQgR2Vu IGludCBzdGF0dXMgcmVnLCA0PVJ4RCIpOyAKCQlwcmludGYoIiwgNT1SeCBCdWZmZXIsIDY9UmVn IDxvZmZzZXQ+LCA3PXdyaXRlIDxvZmZzZXQ+IDx2YWx1ZT4iKTsKCQlwcmludGYoIiwgOD1yZXNl dFxuIik7CgkJcmV0dXJuIDA7CglvdXQ6CiovCgl9CgoJaWYoZmlsZV9mbGFnKSB7CglmcCA9IG9w ZW4ocGF0aCwgIE9fQ1JFQVR8IE9fUkRXUiksajsKCX0KCWVsc2UgewoJZnAgPSBvcGVuKCIvdG1w L2R1bXAiLCAgT19DUkVBVHwgT19SRFdSKSxqOwoJfQkKCglmb3IoaT0yOyBhcmd2WzJdW2ldOyBp KyspCgkJcnEuaWZyX25hbWVbaS0yXSA9IGFyZ3ZbMV1baV07CglpZihpPT0yKSB7CgkJcHJpbnRm KCJQbGVhc2UgZW50ZXIgdGhlIGRldmljZSBuYW1lXG4iKTsKCQlwcmludGYoIkVnOiAuL3V0aWwg LWlldGgwIDYgMTA4XG4iKTsKCQljbG9zZShmcCk7CgkJcmV0dXJuIDA7Cgl9CglycS5pZnJfbmFt ZVtpLTJdID0gJ1wwJzsKCglwcmludGYoIkRldjogJXNcbiIscnEuaWZyX25hbWUpOwoJYyAgICAg ICAgICA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKDB4MTQwMDAwKTsKCWlvLmJ1ZmZlciAgPSAo dW5zaWduZWQgY2hhciAqKW1hbGxvYygweDQwMDAwKTsKCWlvLmJ1ZmZlcjEgPSAodW5zaWduZWQg Y2hhciAqKW1hbGxvYygweDQwMDAwKTsKCWlvLmJ1ZmZlcjIgPSAodW5zaWduZWQgY2hhciAqKW1h bGxvYygweDQwMDAwKTsKCWlvLmJ1ZmZlcjMgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygweDQw MDAwKTsKCWlvLmJ1ZmZlcjQgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygweDQwMDAwKTsKCWlv LmJ1ZmZlcjUgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygweDQwMDAwKTsKCWlvLmJ1ZmZlcjYg PSAodW5zaWduZWQgY2hhciAqKW1hbGxvYygweDQwMDAwKTsKCglpZighaW8uYnVmZmVyKSB7Cglw cmludGYoIkVFUlJPUiBpbiBhbGxvYyIpOwoJY2xvc2UoZnApOwoJcmV0dXJuIC0xOwoJfQkKCXJx Lmlmcl9kYXRhID0gKGNoYXIgKikmaW87CglpZihhcmd2WzNdWzBdID09ICcxJykgewoJCWlmKCEo aW9jdGwoc29jaywgU0lPQ0RFVlBSSVZBVEUrNCwgJnJxKSkpIHsKCQkJcHJpbnRmKCJUWEQgZGF0 YSwgc2l6ZTogJWRcbiIsIGlvLnNpemUpOwoJCQl3cml0ZShmcCwgaW8uYnVmZmVyLCBpby5zaXpl KTsKCQl9CgkJZWxzZQoJCQlwcmludGYoIklvY3RsIGZhaWxlZFxuIik7Cgl9CgllbHNlIGlmKGFy Z3ZbM11bMF0gPT0gJzInKSB7CgkJaWYoIShpb2N0bChzb2NrLCBTSU9DREVWUFJJVkFURSs1LCAm cnEpKSkgewoJCQlwcmludGYoIlN0YXQgZGF0YSwgc2l6ZTogJWRcbiIsaW8uc2l6ZSk7CgkJCWlm ICgxKXsKCQkJfQoJCQlmb3IgKGogPTAgOyBqPDE2O2orKyl7CgkJCQkJcHJpbnRmKCIlMDJ4Iiwo aW8uYnVmZmVyW2pdKSk7IAoJCQl9CQkJCQoKCQkJd3JpdGUoZnAsIGlvLmJ1ZmZlciwgaW8uc2l6 ZSk7CgkJfQoJCWVsc2UKCQkJcHJpbnRmKCJJb2N0bCBmYWlsZWRcbiIpOwoJfQkKCWVsc2UgaWYo YXJndlszXVswXSA9PSAnMycpIHsKCQlpZighKGlvY3RsKHNvY2ssIFNJT0NERVZQUklWQVRFKzYs ICZycSkpKSB7CgkJCXByaW50ZigiR2VuIEludCBzdGF0dXM6IDB4JWxseFxuIiwgaW8udmFsdWUp OwoJCX0KCQllbHNlCgkJCXByaW50ZigiSW9jdGwgZmFpbGVkXG4iKTsKCX0KCWVsc2UgaWYoYXJn dlszXVswXSA9PSAnNCcpIHsKCQlpZighKGlvY3RsKHNvY2ssIFNJT0NERVZQUklWQVRFKzcsICZy cSkpKSB7CgkJCXByaW50ZigiUnhEIGRhdGEsIHNpemU6ICVkXG4iLCBpby5zaXplKTsKICAgICAg ICAgICAgbWVtY3B5KGMsIGlvLmJ1ZmZlciwgMHg0MDAwMCk7CiAgICAgICAgICAgIG1lbWNweSgo YysweDQwMDAwKSwgaW8uYnVmZmVyMSwgMHg0MDAwMCk7CiAgICAgICAgICAgIG1lbWNweSgoYysw eDgwMDAwKSwgaW8uYnVmZmVyMiwgMHg0MDAwMCk7CiAgICAgICAgICAgIG1lbWNweSgoYysweGMw MDAwKSwgaW8uYnVmZmVyMywgMHg0MDAwMCk7CiAgICAgICAgICAgIG1lbWNweSgoYysweDEwMDAw MCksIGlvLmJ1ZmZlcjQsIDB4NDAwMDApOwoJCQl3cml0ZShmcCwgYywgaW8uc2l6ZSk7CgkJfQoJ CWVsc2UKCQkJcHJpbnRmKCJJb2N0bCBmYWlsZWRcbiIpOwoJfQoJZWxzZSBpZihhcmd2WzNdWzBd ID09ICc1JykgewoJCWlmKCEoaW9jdGwoc29jaywgU0lPQ0RFVlBSSVZBVEUrOCwgJnJxKSkpIHsK CQkJcHJpbnRmKCJSeEQgYnVmZmVyLCBzaXplOiAlZFxuIiwgaW8uc2l6ZSk7CgkJCXdyaXRlKGZw LCBpby5idWZmZXIsIGlvLnNpemUpOwoJCX0KCQllbHNlCgkJCXByaW50ZigiSW9jdGwgZmFpbGVk XG4iKTsKCX0KCWVsc2UgaWYoYXJndlszXVswXSA9PSAnNicpIHsKCQlpby5vZmZzZXQgPSBzdHJ0 b3VsbChhcmd2WzRdLCBOVUxMLCAxNik7CgkJaWYoIShpb2N0bChzb2NrLCBTSU9DREVWUFJJVkFU RSs5LCAmcnEpKSkgewoJCQlwcmludGYoIlJlZyBhdCBvZmZzZXQ6IDB4JXggaXM6IDB4JWxseFxu IiwgaW8ub2Zmc2V0LGlvLnZhbHVlKTsKCQl9CgkJZWxzZQoJCQlwcmludGYoIklvY3RsIGZhaWxl ZFxuIik7Cgl9CgllbHNlIGlmKGFyZ3ZbM11bMF0gPT0gJzcnKSB7CgkJY2hhciAqYyA9IGFyZ3Zb NV07CgkJaW50IGxlbiA9IHN0cmxlbihjKTsKCQl1bnNpZ25lZCBsb25nIGxvbmcgdmFsNjQsIHRt cDY0OwoKCQlpby5vZmZzZXQgPSBzdHJ0b3VsbChhcmd2WzRdLCBOVUxMLCAxNik7CgkJCgkJaWYo bGVuID4gOCkgewoJCQljaGFyIGxvWzldLCBoaVs5XTsKCQkJbWVtY3B5KGhpLCBjLCAobGVuLTgp KTsJCgkJCWhpW2xlbi04XSA9ICdcMCc7CgkJCW1lbWNweShsbywgKGMrKGxlbi04KSksIDgpOwkK CQkJbG9bOF0gPSAnXDAnOwoKCQkJcHJpbnRmKCJkYXRhaSBoaTogMHglc1xuIixoaSk7CgkJCXBy aW50ZigiZGF0YWkgbG86IDB4JXNcbiIsbG8pOwoJCQl2YWw2NCA9IHN0cnRvdWxsKGhpLCBOVUxM LCAxNik7CgkJCXRtcDY0ID0gc3RydG91bGwobG8sIE5VTEwsIDE2KTsKCgkJCXZhbDY0IDw8PSAo MzIpOwoJCQl2YWw2NCB8PSAodW5zaWduZWQgbG9uZyl0bXA2NDsKCQl9CgkJZWxzZQoJCQl2YWw2 NCA9IHN0cnRvdWxsKGFyZ3ZbNV0sIE5VTEwsIDE2KTsKCQlpby52YWx1ZSA9IHZhbDY0OwoJCXBy aW50ZigiUmVnIGF0IG9mZnNldDogMHgleCBpczogMHglbGx4XG4iLCBpby5vZmZzZXQsaW8udmFs dWUpOwoJCWlmKCEoaW9jdGwoc29jaywgU0lPQ0RFVlBSSVZBVEUrMTAsICZycSkpKSB7CgkJCXBy aW50ZigiUmVnIGF0IG9mZnNldDogMHgleCBpczogMHglbGx4XG4iLCBpby5vZmZzZXQsaW8udmFs dWUpOwoJCX0KCQllbHNlCgkJCXByaW50ZigiSW9jdGwgZmFpbGVkXG4iKTsKCX0KCWVsc2UgaWYo YXJndlszXVswXSA9PSAnOCcpIHsKCQlpZighKGlvY3RsKHNvY2ssIFNJT0NERVZQUklWQVRFKzEx LCAmcnEpKSkgewoJCQlwcmludGYoIlJlc2V0dGluZyB0aGUgQ2FyZFxuIik7CgkJfQoJCWVsc2UK CQkJcHJpbnRmKCJJb2N0bCBmYWlsZWRcbiIpOwoJfQoJZWxzZQoJCXByaW50ZigiV3Jvbmcgb3B0 aW9uXG4iKTsJCgoJY2xvc2UoZnApOwoJcmV0dXJuIDA7Cn0KLyoKICokTG9nOiB1dGlsLmMsdiAk CiAqUmV2aXNpb24gMS4xMiAgMjAwMy8xMS8wNCAwMjoxMDoxNCAgdWtpcmFuCiAqQnVnOjQ4NAog KkVuYWJsaW5nIExvZ3MgaW4gc291cmNlIGNvZGUKICoKICpSZXZpc2lvbiAxLjExICAyMDAzLzEx LzA0IDAyOjA3OjEwICB1a2lyYW4KICpCdWc6NDg0CiAqRW5hYmxpbmcgTG9ncyBpbiBzb3VyY2Ug Y29kZQogKgogKi8KCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi91 dGlsLmgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAw MDAwMDAwADAwMDAwMDAxMDA2ADA3NzYyNzM1MjUzADAxMTA1NQAgMAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0eXBl ZGVmIHN0cnVjdCBpb2N0bEluZm8gewoJdW5zaWduZWQgbG9uZyBsb25nIHZhbHVlOwoJdW5zaWdu ZWQgbG9uZyBsb25nIHR4Ynl0ZXM7Cgl1bnNpZ25lZCBsb25nIGxvbmcgcnhieXRlczsKCWludCBv ZmZzZXQ7Cgl1bnNpZ25lZCBjaGFyICpidWZmZXI7Cgl1bnNpZ25lZCBjaGFyICpidWZmZXIxOwoJ dW5zaWduZWQgY2hhciAqYnVmZmVyMjsKCXVuc2lnbmVkIGNoYXIgKmJ1ZmZlcjM7Cgl1bnNpZ25l ZCBjaGFyICpidWZmZXI0OwoJdW5zaWduZWQgY2hhciAqYnVmZmVyNTsKCXVuc2lnbmVkIGNoYXIg KmJ1ZmZlcjY7CglpbnQgc2l6ZTsKfWlvY3RsSW5mb190OwkKLyoKICokTG9nOiB1dGlsLmgsdiAk CiAqUmV2aXNpb24gMS41ICAyMDAzLzEyLzAxIDIyOjAzOjIzICB1a2lyYW4KICpCdWc6NTEwCiAq Q2xlYW51cCBvZiANIGNoYXJzCiAqCiAqUmV2aXNpb24gMS40ICAyMDAzLzExLzA0IDAyOjA3OjE2 ICB1a2lyYW4KICpCdWc6NDg0CiAqRW5hYmxpbmcgTG9ncyBpbiBzb3VyY2UgY29kZQogKgogKi8K CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALi8uczJp by5vLmNtZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAxMDA2NDQAMDAwMDAwMAAwMDAw MDAwADAwMDAwMDI0MDA1ADEwMDAzMzYzNjE2ADAxMTU2NQAgMAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHJvb3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjbWRfL2hv bWUveGZyYW1lX2Rydi8wMTIwMDQvczJpby9saW51eC9tb25vbGl0aC9zcmMvczJpby5vIDo9IGdj YyAtV3AsLU1ELC9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3Jj Ly5zMmlvLm8uZCAtbm9zdGRpbmMgLWl3aXRocHJlZml4IGluY2x1ZGUgLURfX0tFUk5FTF9fIC1J aW5jbHVkZSAgIC1EX19LRVJORUxfXyAtSWluY2x1ZGUgICAtV2FsbCAtV3N0cmljdC1wcm90b3R5 cGVzIC1Xbm8tdHJpZ3JhcGhzIC1PMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZm5vLWNvbW1vbiAt cGlwZSAgLWZmaXhlZC1yMTMgLW1maXhlZC1yYW5nZT1mMTItZjE1LGYzMi1mMTI3IC1mYWxpZ24t ZnVuY3Rpb25zPTMyIC1mcmVuYW1lLXJlZ2lzdGVycyAtZm9taXQtZnJhbWUtcG9pbnRlciAtV2Rl Y2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudCAgIC1ETU9EVUxFIC1ES0JVSUxEX0JBU0VOQU1FPXMy aW8gLURLQlVJTERfTU9ETkFNRT1zMmlvIC1jIC1vIC9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3My aW8vbGludXgvbW9ub2xpdGgvc3JjLy50bXBfczJpby5vIC9ob21lL3hmcmFtZV9kcnYvMDEyMDA0 L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8uYwoKZGVwc18vaG9tZS94ZnJhbWVfZHJ2LzAx MjAwNC9zMmlvL2xpbnV4L21vbm9saXRoL3NyYy9zMmlvLm8gOj0gXAogIC9ob21lL3hmcmFtZV9k cnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8uYyBcCiAgaW5jbHVkZS9saW51 eC9jb25maWcuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2guaCkgXAogIGluY2x1 ZGUvbGludXgvbW9kdWxlLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9tb2R1bGVz LmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbW9kdmVyc2lvbnMuaCkgXAogICAg JCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9tb2R1bGUvdW5sb2FkLmgpIFwKICAgICQod2lsZGNh cmQgaW5jbHVkZS9jb25maWcva2FsbHN5bXMuaCkgXAogIGluY2x1ZGUvbGludXgvc2NoZWQuaCBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFnZS5oKSBcCiAgICAkKHdp bGRjYXJkIGluY2x1ZGUvY29uZmlnL3NtcC5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29u ZmlnL251bWEuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9zZWN1cml0eS5oKSBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3ByZWVtcHQuaCkgXAogIGluY2x1ZGUvYXNt L3BhcmFtLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0L2hwL3NpbS5oKSBc CiAgaW5jbHVkZS9saW51eC9jYXBhYmlsaXR5LmggXAogIGluY2x1ZGUvbGludXgvdHlwZXMuaCBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3VpZDE2LmgpIFwKICBpbmNsdWRlL2xpbnV4 L3Bvc2l4X3R5cGVzLmggXAogIGluY2x1ZGUvbGludXgvc3RkZGVmLmggXAogIGluY2x1ZGUvYXNt L3Bvc2l4X3R5cGVzLmggXAogIGluY2x1ZGUvYXNtL3R5cGVzLmggXAogIGluY2x1ZGUvbGludXgv Y29tcGlsZXIuaCBcCiAgaW5jbHVkZS9saW51eC9jb21waWxlci1nY2MzLmggXAogIGluY2x1ZGUv bGludXgvY29tcGlsZXItZ2NjLmggXAogIGluY2x1ZGUvbGludXgvc3BpbmxvY2suaCBcCiAgICAk KHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2RlYnVnL3NwaW5sb2NrLmgpIFwKICBpbmNsdWRlL2xp bnV4L3ByZWVtcHQuaCBcCiAgaW5jbHVkZS9saW51eC9saW5rYWdlLmggXAogIGluY2x1ZGUvYXNt L2xpbmthZ2UuaCBcCiAgaW5jbHVkZS9saW51eC90aHJlYWRfaW5mby5oIFwKICBpbmNsdWRlL2xp bnV4L2JpdG9wcy5oIFwKICBpbmNsdWRlL2FzbS9iaXRvcHMuaCBcCiAgaW5jbHVkZS9hc20vaW50 cmluc2ljcy5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9kZWJ1Zy9jbXB4 Y2hnLmgpIFwKICBpbmNsdWRlL2FzbS9pYTY0cmVncy5oIFwKICBpbmNsdWRlL2FzbS9nY2NfaW50 cmluLmggXAogIGluY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmggXAogIGluY2x1ZGUvYXNtL29mZnNl dHMuaCBcCiAgaW5jbHVkZS9hc20vcHJvY2Vzc29yLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRl L2NvbmZpZy9pYTMyL3N1cHBvcnQuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9w ZXJmbW9uLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaXRhbml1bS5oKSBcCiAg aW5jbHVkZS9hc20va3JlZ3MuaCBcCiAgaW5jbHVkZS9hc20vcHRyYWNlLmggXAogICAgJCh3aWxk Y2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0L3BhZ2Uvc2l6ZS80a2IuaCkgXAogICAgJCh3aWxkY2Fy ZCBpbmNsdWRlL2NvbmZpZy9pYTY0L3BhZ2Uvc2l6ZS84a2IuaCkgXAogICAgJCh3aWxkY2FyZCBp bmNsdWRlL2NvbmZpZy9pYTY0L3BhZ2Uvc2l6ZS8xNmtiLmgpIFwKICBpbmNsdWRlL2FzbS9mcHUu aCBcCiAgaW5jbHVkZS9hc20vY3VycmVudC5oIFwKICBpbmNsdWRlL2FzbS9wYWdlLmggXAogICAg JCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0L3BhZ2Uvc2l6ZS82NGtiLmgpIFwKICAgICQo d2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaHVnZXRsYi9wYWdlL3NpemUvNGdiLmgpIFwKICAgICQo d2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaHVnZXRsYi9wYWdlL3NpemUvMWdiLmgpIFwKICAgICQo d2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaHVnZXRsYi9wYWdlL3NpemUvMjU2bWIuaCkgXAogICAg JCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9odWdldGxiL3BhZ2Uvc2l6ZS82NG1iLmgpIFwKICAg ICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaHVnZXRsYi9wYWdlL3NpemUvMTZtYi5oKSBcCiAg ICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFnZS9zaXplLzRtYi5oKSBcCiAg ICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFnZS9zaXplLzFtYi5oKSBcCiAg ICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFnZS9zaXplLzI1NmtiLmgpIFwK ICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvdmlydHVhbC9tZW0vbWFwLmgpIFwKICAgICQo d2lsZGNhcmQgaW5jbHVkZS9jb25maWcvZGlzY29udGlnbWVtLmgpIFwKICBpbmNsdWRlL2FzbS91 c3RhY2suaCBcCiAgaW5jbHVkZS9saW51eC9jYWNoZS5oIFwKICBpbmNsdWRlL2xpbnV4L2tlcm5l bC5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvZGVidWcvc3BpbmxvY2svc2xlZXAu aCkgXAogIC9ob21lL2djYy0zLjMuMS91c3IvbGliL2djYy1saWIvaWE2NC1yZWRoYXQtbGludXgv My4zLjEvaW5jbHVkZS9zdGRhcmcuaCBcCiAgaW5jbHVkZS9hc20vYnl0ZW9yZGVyLmggXAogIGlu Y2x1ZGUvbGludXgvYnl0ZW9yZGVyL2xpdHRsZV9lbmRpYW4uaCBcCiAgaW5jbHVkZS9saW51eC9i eXRlb3JkZXIvc3dhYi5oIFwKICBpbmNsdWRlL2xpbnV4L2J5dGVvcmRlci9nZW5lcmljLmggXAog IGluY2x1ZGUvYXNtL2J1Zy5oIFwKICBpbmNsdWRlL2FzbS9jYWNoZS5oIFwKICAgICQod2lsZGNh cmQgaW5jbHVkZS9jb25maWcvaWE2NC9sMS9jYWNoZS9zaGlmdC5oKSBcCiAgaW5jbHVkZS9saW51 eC90aHJlYWRzLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9uci9jcHVzLmgpIFwK ICBpbmNsdWRlL2FzbS9wZXJjcHUuaCBcCiAgaW5jbHVkZS9hc20vcnNlLmggXAogIGluY2x1ZGUv YXNtL3Vud2luZC5oIFwKICBpbmNsdWRlL2FzbS9hdG9taWMuaCBcCiAgaW5jbHVkZS9saW51eC9z dHJpbmdpZnkuaCBcCiAgaW5jbHVkZS9hc20vc3lzdGVtLmggXAogICAgJCh3aWxkY2FyZCBpbmNs dWRlL2NvbmZpZy9pYTY0L2RlYnVnL2lycS5oKSBcCiAgaW5jbHVkZS9hc20vcGFsLmggXAogIGlu Y2x1ZGUvYXNtL3NwaW5sb2NrLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9tY2tp bmxleS5oKSBcCiAgaW5jbHVkZS9saW51eC90aW1leC5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVk ZS9jb25maWcvdGltZS9pbnRlcnBvbGF0aW9uLmgpIFwKICBpbmNsdWRlL2FzbS90aW1leC5oIFwK ICBpbmNsdWRlL2xpbnV4L3RpbWUuaCBcCiAgaW5jbHVkZS9saW51eC9zZXFsb2NrLmggXAogIGlu Y2x1ZGUvYXNtL2RpdjY0LmggXAogIGluY2x1ZGUvYXNtLWdlbmVyaWMvZGl2NjQuaCBcCiAgaW5j bHVkZS9saW51eC9qaWZmaWVzLmggXAogIGluY2x1ZGUvbGludXgvcmJ0cmVlLmggXAogIGluY2x1 ZGUvbGludXgvY3B1bWFzay5oIFwKICBpbmNsdWRlL2xpbnV4L2JpdG1hcC5oIFwKICBpbmNsdWRl L2xpbnV4L3N0cmluZy5oIFwKICBpbmNsdWRlL2FzbS9zdHJpbmcuaCBcCiAgaW5jbHVkZS9hc20t Z2VuZXJpYy9jcHVtYXNrX2FyaXRoLmggXAogIGluY2x1ZGUvYXNtLWdlbmVyaWMvY3B1bWFza19j b25zdF92YWx1ZS5oIFwKICBpbmNsdWRlL2FzbS9zZW1hcGhvcmUuaCBcCiAgaW5jbHVkZS9saW51 eC93YWl0LmggXAogIGluY2x1ZGUvbGludXgvbGlzdC5oIFwKICBpbmNsdWRlL2xpbnV4L3ByZWZl dGNoLmggXAogIGluY2x1ZGUvbGludXgvcndzZW0uaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUv Y29uZmlnL3J3c2VtL2dlbmVyaWMvc3BpbmxvY2suaCkgXAogIGluY2x1ZGUvYXNtL3J3c2VtLmgg XAogIGluY2x1ZGUvYXNtL21tdS5oIFwKICBpbmNsdWRlL2xpbnV4L3NtcC5oIFwKICBpbmNsdWRl L2FzbS9zbXAuaCBcCiAgaW5jbHVkZS9saW51eC9pbml0LmggXAogICAgJCh3aWxkY2FyZCBpbmNs dWRlL2NvbmZpZy9ob3RwbHVnLmgpIFwKICBpbmNsdWRlL2FzbS9pby5oIFwKICBpbmNsdWRlL2Fz bS9tYWNodmVjLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0L2RpZy5oKSBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lhNjQvaHAvengxLmgpIFwKICAgICQod2ls ZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9zZ2kvc24yLmgpIFwKICAgICQod2lsZGNhcmQgaW5j bHVkZS9jb25maWcvaWE2NC9nZW5lcmljLmgpIFwKICBpbmNsdWRlL2FzbS9tYWNodmVjX2hwengx LmggXAogIGluY2x1ZGUvbGludXgvc2VtLmggXAogIGluY2x1ZGUvbGludXgvaXBjLmggXAogIGlu Y2x1ZGUvYXNtL2lwY2J1Zi5oIFwKICBpbmNsdWRlL2FzbS9zZW1idWYuaCBcCiAgaW5jbHVkZS9s aW51eC9zaWduYWwuaCBcCiAgaW5jbHVkZS9hc20vc2lnbmFsLmggXAogIGluY2x1ZGUvYXNtL3Np Z2NvbnRleHQuaCBcCiAgaW5jbHVkZS9hc20vc2lnaW5mby5oIFwKICBpbmNsdWRlL2FzbS1nZW5l cmljL3NpZ2luZm8uaCBcCiAgaW5jbHVkZS9saW51eC9zZWN1cmViaXRzLmggXAogIGluY2x1ZGUv bGludXgvZnNfc3RydWN0LmggXAogIGluY2x1ZGUvbGludXgvY29tcGxldGlvbi5oIFwKICBpbmNs dWRlL2xpbnV4L3BpZC5oIFwKICBpbmNsdWRlL2xpbnV4L3BlcmNwdS5oIFwKICBpbmNsdWRlL2xp bnV4L3NsYWIuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnLy5oKSBcCiAgaW5jbHVk ZS9saW51eC9nZnAuaCBcCiAgaW5jbHVkZS9saW51eC9tbXpvbmUuaCBcCiAgICAkKHdpbGRjYXJk IGluY2x1ZGUvY29uZmlnL2ZvcmNlL21heC96b25lb3JkZXIuaCkgXAogIGluY2x1ZGUvbGludXgv bnVtYS5oIFwKICBpbmNsdWRlL2xpbnV4L3RvcG9sb2d5LmggXAogIGluY2x1ZGUvYXNtL3RvcG9s b2d5LmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9hY3BpL251bWEuaCkgXAogIGlu Y2x1ZGUvYXNtL2FjcGkuaCBcCiAgaW5jbHVkZS9hc20vbnVtYS5oIFwKICBpbmNsdWRlL2FzbS1n ZW5lcmljL3RvcG9sb2d5LmggXAogIGluY2x1ZGUvbGludXgva21hbGxvY19zaXplcy5oIFwKICAg ICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbW11LmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVk ZS9jb25maWcvbGFyZ2UvYWxsb2NzLmgpIFwKICBpbmNsdWRlL2xpbnV4L3BhcmFtLmggXAogIGlu Y2x1ZGUvbGludXgvcmVzb3VyY2UuaCBcCiAgaW5jbHVkZS9hc20vcmVzb3VyY2UuaCBcCiAgaW5j bHVkZS9saW51eC90aW1lci5oIFwKICBpbmNsdWRlL2xpbnV4L2Fpby5oIFwKICBpbmNsdWRlL2xp bnV4L3dvcmtxdWV1ZS5oIFwKICBpbmNsdWRlL2xpbnV4L2Fpb19hYmkuaCBcCiAgaW5jbHVkZS9s aW51eC9zdGF0LmggXAogIGluY2x1ZGUvYXNtL3N0YXQuaCBcCiAgaW5jbHVkZS9saW51eC9rbW9k LmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9rbW9kLmgpIFwKICBpbmNsdWRlL2xp bnV4L2Vycm5vLmggXAogIGluY2x1ZGUvYXNtL2Vycm5vLmggXAogIGluY2x1ZGUvYXNtLWdlbmVy aWMvZXJybm8uaCBcCiAgaW5jbHVkZS9hc20tZ2VuZXJpYy9lcnJuby1iYXNlLmggXAogIGluY2x1 ZGUvbGludXgvZWxmLmggXAogIGluY2x1ZGUvYXNtL2VsZi5oIFwKICBpbmNsdWRlL2FzbS9sb2Nh bC5oIFwKICBpbmNsdWRlL2FzbS9tb2R1bGUuaCBcCiAgaW5jbHVkZS9saW51eC9pb3BvcnQuaCBc CiAgaW5jbHVkZS9saW51eC9wY2kuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3Bj aS9uYW1lcy5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3BjaS5oKSBcCiAgICAk KHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lzYS5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUv Y29uZmlnL2Vpc2EuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9wY2kvZG9tYWlu cy5oKSBcCiAgaW5jbHVkZS9saW51eC9tb2RfZGV2aWNldGFibGUuaCBcCiAgaW5jbHVkZS9saW51 eC9wY2lfaWRzLmggXAogIGluY2x1ZGUvbGludXgvZGV2aWNlLmggXAogIGluY2x1ZGUvbGludXgv a29iamVjdC5oIFwKICBpbmNsdWRlL2xpbnV4L3N5c2ZzLmggXAogIGluY2x1ZGUvbGludXgvcG0u aCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3BtLmgpIFwKICBpbmNsdWRlL2FzbS9w Y2kuaCBcCiAgaW5jbHVkZS9saW51eC9tbS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25m aWcvc3RhY2svZ3Jvd3N1cC5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2hpZ2ht ZW0uaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9kZWJ1Zy9wYWdlYWxsb2MuaCkg XAogIGluY2x1ZGUvbGludXgvZnMuaCBcCiAgaW5jbHVkZS9saW51eC9saW1pdHMuaCBcCiAgaW5j bHVkZS9saW51eC9rZGV2X3QuaCBcCiAgaW5jbHVkZS9saW51eC9pb2N0bC5oIFwKICBpbmNsdWRl L2FzbS9pb2N0bC5oIFwKICBpbmNsdWRlL2xpbnV4L2RjYWNoZS5oIFwKICBpbmNsdWRlL2xpbnV4 L3JjdXBkYXRlLmggXAogIGluY2x1ZGUvbGludXgvcmFkaXgtdHJlZS5oIFwKICBpbmNsdWRlL2xp bnV4L3F1b3RhLmggXAogIGluY2x1ZGUvbGludXgvZHFibGtfeGZzLmggXAogIGluY2x1ZGUvbGlu dXgvZHFibGtfdjEuaCBcCiAgaW5jbHVkZS9saW51eC9kcWJsa192Mi5oIFwKICBpbmNsdWRlL2xp bnV4L25mc19mc19pLmggXAogIGluY2x1ZGUvbGludXgvbmZzLmggXAogIGluY2x1ZGUvbGludXgv c3VucnBjL21zZ19wcm90LmggXAogIGluY2x1ZGUvbGludXgvZmNudGwuaCBcCiAgaW5jbHVkZS9h c20vZmNudGwuaCBcCiAgaW5jbHVkZS9saW51eC9lcnIuaCBcCiAgaW5jbHVkZS9hc20vcGd0YWJs ZS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbWNraW5sZXkvYTAvc3BlY2lmaWMu aCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0L2dyYW51bGUvNjRtYi5oKSBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lhNjQvZ3JhbnVsZS8xNm1iLmgpIFwKICBp bmNsdWRlL2FzbS9tbWFuLmggXAogIGluY2x1ZGUvYXNtL2NhY2hlZmx1c2guaCBcCiAgaW5jbHVk ZS9saW51eC9wYWdlLWZsYWdzLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9zd2Fw LmgpIFwKICBpbmNsdWRlL2FzbS9tbXVfY29udGV4dC5oIFwKICBpbmNsdWRlL2FzbS9zY2F0dGVy bGlzdC5oIFwKICBpbmNsdWRlL2FzbS1nZW5lcmljL3BjaS1kbWEtY29tcGF0LmggXAogIGluY2x1 ZGUvbGludXgvZG1hLW1hcHBpbmcuaCBcCiAgaW5jbHVkZS9hc20vZG1hLW1hcHBpbmcuaCBcCiAg aW5jbHVkZS9hc20tZ2VuZXJpYy9wY2kuaCBcCiAgaW5jbHVkZS9saW51eC9uZXRkZXZpY2UuaCBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2F4MjUuaCkgXAogICAgJCh3aWxkY2FyZCBp bmNsdWRlL2NvbmZpZy9heDI1L21vZHVsZS5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29u ZmlnL3RyLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbmV0L2lwaXAuaCkgXAog ICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pcHY2LmgpIFwKICAgICQod2lsZGNhcmQgaW5j bHVkZS9jb25maWcvaXB2Ni9tb2R1bGUuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZp Zy9uZXQvZmFzdHJvdXRlLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbmV0L2Rp dmVydC5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3N5c2N0bC5oKSBcCiAgaW5j bHVkZS9saW51eC9pZi5oIFwKICBpbmNsdWRlL2xpbnV4L3NvY2tldC5oIFwKICAgICQod2lsZGNh cmQgaW5jbHVkZS9jb25maWcvY29tcGF0LmgpIFwKICBpbmNsdWRlL2FzbS9zb2NrZXQuaCBcCiAg aW5jbHVkZS9hc20vc29ja2lvcy5oIFwKICBpbmNsdWRlL2xpbnV4L3NvY2tpb3MuaCBcCiAgaW5j bHVkZS9saW51eC91aW8uaCBcCiAgaW5jbHVkZS9saW51eC9oZGxjL2lvY3RsLmggXAogIGluY2x1 ZGUvbGludXgvaWZfZXRoZXIuaCBcCiAgaW5jbHVkZS9saW51eC9pZl9wYWNrZXQuaCBcCiAgaW5j bHVkZS9saW51eC9za2J1ZmYuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL25ldGZp bHRlci5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2JyaWRnZS9uZXRmaWx0ZXIu aCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy92bGFuLzgwMjFxLmgpIFwKICAgICQo d2lsZGNhcmQgaW5jbHVkZS9jb25maWcvdmxhbi84MDIxcS9tb2R1bGUuaCkgXAogICAgJCh3aWxk Y2FyZCBpbmNsdWRlL2NvbmZpZy9uZXRmaWx0ZXIvZGVidWcuaCkgXAogICAgJCh3aWxkY2FyZCBp bmNsdWRlL2NvbmZpZy9oaXBwaS5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL25l dC9zY2hlZC5oKSBcCiAgaW5jbHVkZS9saW51eC9oaWdobWVtLmggXAogIGluY2x1ZGUvbGludXgv cG9sbC5oIFwKICBpbmNsdWRlL2FzbS9wb2xsLmggXAogIGluY2x1ZGUvYXNtL3VhY2Nlc3MuaCBc CiAgaW5jbHVkZS9saW51eC9uZXQuaCBcCiAgaW5jbHVkZS9saW51eC9pbnRlcnJ1cHQuaCBcCiAg aW5jbHVkZS9hc20vaGFyZGlycS5oIFwKICBpbmNsdWRlL2xpbnV4L2lycS5oIFwKICAgICQod2ls ZGNhcmQgaW5jbHVkZS9jb25maWcvYXJjaC9zMzkwLmgpIFwKICBpbmNsdWRlL2FzbS9pcnEuaCBc CiAgaW5jbHVkZS9hc20vaHdfaXJxLmggXAogIGluY2x1ZGUvbGludXgvcHJvZmlsZS5oIFwKICAg ICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvcHJvZmlsaW5nLmgpIFwKICBpbmNsdWRlL2xpbnV4 L25vdGlmaWVyLmggXAogIGluY2x1ZGUvbGludXgvZXRoZXJkZXZpY2UuaCBcCiAgaW5jbHVkZS9s aW51eC9kZWxheS5oIFwKICBpbmNsdWRlL2FzbS9kZWxheS5oIFwKICBpbmNsdWRlL2xpbnV4L2V0 aHRvb2wuaCBcCiAgaW5jbHVkZS9saW51eC92ZXJzaW9uLmggXAogIC9ob21lL3hmcmFtZV9kcnYv MDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8uaCBcCiAgICAkKHdpbGRjYXJkIGlu Y2x1ZGUvY29uZmlnL2lhNjQuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9hbHBo YS5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3g4Ni82NC5oKSBcCiAgICAkKHdp bGRjYXJkIGluY2x1ZGUvY29uZmlnL3BwYzMyLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9j b25maWcvcHBjNjQuaCkgXAogIC9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9u b2xpdGgvc3JjL3JlZ3MuaCBcCiAgL2hvbWUveGZyYW1lX2Rydi8wMTIwMDQvczJpby9saW51eC9t b25vbGl0aC9zcmMvdXRpbC5oIFwKCi9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgv bW9ub2xpdGgvc3JjL3MyaW8ubzogJChkZXBzXy9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8v bGludXgvbW9ub2xpdGgvc3JjL3MyaW8ubykKCiQoZGVwc18vaG9tZS94ZnJhbWVfZHJ2LzAxMjAw NC9zMmlvL2xpbnV4L21vbm9saXRoL3NyYy9zMmlvLm8pOgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAuL3MyaW8ubW9kLm8AAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMTI1NTIAMTAwMDMz NjM2MTYAMDExNTI3ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AHVzdGFyICAAcm9vdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH9FTEYCAQEAAAAAAAAAAAABADIAAQAAAAAAAAAA AAAAAAAAAAAAAAAYEQAAAAAAABAAAABAAAAAAABAAAoABwB2ZXJtYWdpYz0yLjYuMC10ZXN0OSBT TVAgaWE2NGdjYy0zLjMAAAAAZGVwZW5kcz0AAAAAAAAAAGFsaWFzPXBjaTp2MDAwMDE3RDVkMDAw MDU3MzFzdipzZCpiYypzYyppKgAAAAAAAGFsaWFzPXBjaTp2MDAwMDE3RDVkMDAwMDU4MzFzdipz ZCpiYypzYyppKgAAAAAAADtQYBMAAAAAc3RydWN0X21vZHVsZQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAADHPAkyAAAAAF9fdWRpdmRpMwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKh5USgAAAABfX3Vtb2RkaTMAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAK61f5gAAAAAcGNpX3VucmVnaXN0 ZXJfZHJpdmVyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACJWJ7tAAAAAHBjaV9y ZWdpc3Rlcl9kcml2ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArva0AAA AABmcmVlX25ldGRldgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAlaFz4AAAAAdW5yZWdpc3Rlcl9uZXRkZXYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAC7uRIaAAAAAHBjaV9zYXZlX3N0YXRlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAANuy7AQAAAABwY2lfcmVsZWFzZV9yZWdpb25zAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAF0o78cAAAAAcGNpX2Rpc2FibGVfZGV2aWNlAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADvGauiAAAAAHJlZ2lzdGVyX25ldGRldgAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHuQU6QAAAABzdHJjcHkAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJAzupMAAAAAcGNpX3Nl dF9tYXN0ZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASBppAAAAA AGFsbG9jX2V0aGVyZGV2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ifJcwAAAAABwY2lfcmVxdWVzdF9yZWdpb25zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAALz1L5EAAAAAcGNpX3NldF9jb25zaXN0ZW50X2RtYV9tYXNrAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAABtDd/WAAAAAHBjaV9zZXRfZG1hX21hc2sAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAugHN/gAAAABwY2lfZW5hYmxlX2RldmljZQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFnDIqIAAAAAcGNpX2J1c193cml0ZV9jb25maWdf Ynl0ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADTvY71AAAAAHBjaV9idXNfcmVhZF9j b25maWdfd29yZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUK+KEQAAAABfX25ldGRl dl93YXRjaGRvZ191cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPcf9skAAAAA bGlua3dhdGNoX2ZpcmVfZXZlbnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs najYAAAAAG5ldGlmX3J4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAA7VpEhgAAAABldGhfdHlwZV90cmFucwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAD9r4YwAAAAAX19rbWFsbG9jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAC6DHoDAAAAAGtmcmVlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAonHQZQAAAABrbWVtX2NhY2hlX2FsbG9jAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN21FmEAAAAAbWFsbG9jX3NpemVzAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGoWdgAAAAAG1lbWNweQAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANvEm5QAAAABf X2NvcHlfdXNlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGcq V/UAAAAAZGV2X3JlbW92ZV9wYWNrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAABQe3N2AAAAAHNrYl9vdmVyX3BhbmljAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAArQU6hQAAAABkZXZfcXVldWVfeG1pdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAJ357KUAAAAAZGV2X2FkZF9wYWNrAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJWHPoAAAAAHBjaV9idXNfd3JpdGVfY29uZmlnX3dv cmQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmtWd6gAAAABwY2lfYnVzX3JlYWRfY29u ZmlnX2J5dGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPqkITkAAAAAZGVsX3RpbWVy X3N5bmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gyzWAAAAAHNj aGVkdWxlX3RpbWVvdXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEZS RAAAAABtb2RfdGltZXIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAALy/yX4AAAAAc3RybmNweQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACBgsX5AAAAAF9fdGFza2xldF9zY2hlZHVsZQAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAJzFWnAAAAABtZW1fbWFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANirDfIAAAAAZnJlZV9pcnEAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMXeB0AAAAAHRhc2tsZXRfa2lsbAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzFtXaQAAAAB0YXNrbGV0X2lu aXQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALARL1EAAAAAcmVx dWVzdF9pcnEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACoVbnH AAAAAHBjaV9yZXN0b3JlX3N0YXRlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAG1h2aAAAAAByYWlzZV9zb2Z0aXJxX2lycW9mZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAJ82v0oAAAAAcGVyX2NwdV9fc29mdG5ldF9kYXRhAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAATEs5NAAAAAHNiYV91bm1hcF9zaW5nbGUAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhBAbpQAAAABzYmFfbWFwX3NpbmdsZQAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFurAZAAAAAAYWxsb2Nfc2tiAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFxiFKAAAAAF9fa2ZyZWVfc2ti AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9z8+VQAAAABpYTY0 X3NwaW5sb2NrX2NvbnRlbnRpb25fcHJlM180AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGctoA0A AAAAamlmZmllcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAxTK2kAAAAAHBlcl9jcHVfX2NwdV9pbmZvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAqL4ggwAAAABfX3Vtb2RzaTMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAEWcffsAAAAAX191ZGl2c2kzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABN4dDiAAAAAHNiYV9mcmVlX2NvaGVyZW50AAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1h9ggAAAABwcmludGsAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJc6oD8AAAAAbWVtc2V0AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9PeWnAAAAAHNiYV9h bGxvY19jb2hlcmVudAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFxNOWQAA AABfX21vZHNpMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABHQ0M6IChHTlUpIDMuMy4xIDIwMDMwODExIChSZWQgSGF0IExpbnV4IDMuMy4xLTEpAAAuc3lt dGFiAC5zdHJ0YWIALnNoc3RydGFiAC50ZXh0AC5kYXRhAC5ic3MALm1vZGluZm8AX192ZXJzaW9u cwAuY29tbWVudAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAABAAAABgAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAhAAAAAQAAAAMAAAAAAAAAAAAAAAAAAABAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAJwAAAAgAAAADAAAAAAAAAAAAAAAA AAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACwAAAABAAAAAgAAAAAA AAAAAAAAAAAAAEAAAAAAAAAAkwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAA1AAAAAQAA AAIAAAAAAAAAAAAAAAAAAADYAAAAAAAAAMAPAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAA QAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAmBAAAAAAAAAzAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAA AAAAAAAAABEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAMsQAAAAAAAASQAAAAAAAAAAAAAAAAAAAAEA AAAAAAAAAAAAAAAAAAABAAAAAgAAAAAAAAAAAAAAAAAAAAAAAACYEwAAAAAAAGgBAAAAAAAACQAA AA0AAAAIAAAAAAAAABgAAAAAAAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAABqAAAA AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAE APH/AAAAAAAAAAAAAAAAAAAAAAAAAAADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAIAAAAAAAAA AAAAAAAAAAAAAAAAAAADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAQAAAAAAAAAAAAAAAAAAAAA AAwAAAABAAQAAAAAAAAAAAAlAAAAAAAAAAAAAAADAAUAAAAAAAAAAAAAAAAAAAAAABwAAAABAAUA AAAAAAAAAADADwAAAAAAACkAAAABAAQAKAAAAAAAAAAJAAAAAAAAADoAAAABAAQAOAAAAAAAAAAr AAAAAAAAAEgAAAABAAQAaAAAAAAAAAArAAAAAAAAAAAAAAADAAYAAAAAAAAAAAAAAAAAAAAAAFYA AAAQAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAABzMmlvLm1vZC5j AF9fbW9kX3Zlcm1hZ2ljNQBfX19fdmVyc2lvbnMAX19tb2R1bGVfZGVwZW5kcwBfX21vZF9hbGlh czc5AF9fbW9kX2FsaWFzODAAX191bW9kZGkzAF9fdWRpdmRpMwAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAuLy5zMmlvLm1vZC5vLmNtZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAMDEwMDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMTUwMjMAMTAwMDMzNjM2MTYAMDEyMzQz ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9v dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAGNtZF8vaG9tZS94ZnJhbWVfZHJ2LzAxMjAwNC9zMmlvL2xpbnV4L21v bm9saXRoL3NyYy9zMmlvLm1vZC5vIDo9IGdjYyAtV3AsLU1ELC9ob21lL3hmcmFtZV9kcnYvMDEy MDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjLy5zMmlvLm1vZC5vLmQgLW5vc3RkaW5jIC1pd2l0 aHByZWZpeCBpbmNsdWRlIC1EX19LRVJORUxfXyAtSWluY2x1ZGUgICAtRF9fS0VSTkVMX18gLUlp bmNsdWRlICAgLVdhbGwgLVdzdHJpY3QtcHJvdG90eXBlcyAtV25vLXRyaWdyYXBocyAtTzIgLWZu by1zdHJpY3QtYWxpYXNpbmcgLWZuby1jb21tb24gLXBpcGUgIC1mZml4ZWQtcjEzIC1tZml4ZWQt cmFuZ2U9ZjEyLWYxNSxmMzItZjEyNyAtZmFsaWduLWZ1bmN0aW9ucz0zMiAtZnJlbmFtZS1yZWdp c3RlcnMgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQg ICAgLURLQlVJTERfQkFTRU5BTUU9czJpbyAgLURNT0RVTEUgLWMgLW8gL2hvbWUveGZyYW1lX2Ry di8wMTIwMDQvczJpby9saW51eC9tb25vbGl0aC9zcmMvczJpby5tb2QubyAvaG9tZS94ZnJhbWVf ZHJ2LzAxMjAwNC9zMmlvL2xpbnV4L21vbm9saXRoL3NyYy9zMmlvLm1vZC5jCgpkZXBzXy9ob21l L3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8ubW9kLm8gOj0g XAogIC9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8u bW9kLmMgXAogIGluY2x1ZGUvbGludXgvbW9kdWxlLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRl L2NvbmZpZy9tb2R1bGVzLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvbW9kdmVy c2lvbnMuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9tb2R1bGUvdW5sb2FkLmgp IFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcva2FsbHN5bXMuaCkgXAogIGluY2x1ZGUv bGludXgvY29uZmlnLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9oLmgpIFwKICBp bmNsdWRlL2xpbnV4L3NjaGVkLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9odWdl dGxiL3BhZ2UuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9zbXAuaCkgXAogICAg JCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9udW1hLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVk ZS9jb25maWcvc2VjdXJpdHkuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9wcmVl bXB0LmgpIFwKICBpbmNsdWRlL2FzbS9wYXJhbS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9j b25maWcvaWE2NC9ocC9zaW0uaCkgXAogIGluY2x1ZGUvbGludXgvY2FwYWJpbGl0eS5oIFwKICBp bmNsdWRlL2xpbnV4L3R5cGVzLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy91aWQx Ni5oKSBcCiAgaW5jbHVkZS9saW51eC9wb3NpeF90eXBlcy5oIFwKICBpbmNsdWRlL2xpbnV4L3N0 ZGRlZi5oIFwKICBpbmNsdWRlL2FzbS9wb3NpeF90eXBlcy5oIFwKICBpbmNsdWRlL2FzbS90eXBl cy5oIFwKICBpbmNsdWRlL2xpbnV4L2NvbXBpbGVyLmggXAogIGluY2x1ZGUvbGludXgvY29tcGls ZXItZ2NjMy5oIFwKICBpbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdjYy5oIFwKICBpbmNsdWRlL2xp bnV4L3NwaW5sb2NrLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9kZWJ1Zy9zcGlu bG9jay5oKSBcCiAgaW5jbHVkZS9saW51eC9wcmVlbXB0LmggXAogIGluY2x1ZGUvbGludXgvbGlu a2FnZS5oIFwKICBpbmNsdWRlL2FzbS9saW5rYWdlLmggXAogIGluY2x1ZGUvbGludXgvdGhyZWFk X2luZm8uaCBcCiAgaW5jbHVkZS9saW51eC9iaXRvcHMuaCBcCiAgaW5jbHVkZS9hc20vYml0b3Bz LmggXAogIGluY2x1ZGUvYXNtL2ludHJpbnNpY3MuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUv Y29uZmlnL2lhNjQvZGVidWcvY21weGNoZy5oKSBcCiAgaW5jbHVkZS9hc20vaWE2NHJlZ3MuaCBc CiAgaW5jbHVkZS9hc20vZ2NjX2ludHJpbi5oIFwKICBpbmNsdWRlL2FzbS90aHJlYWRfaW5mby5o IFwKICBpbmNsdWRlL2FzbS9vZmZzZXRzLmggXAogIGluY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIFwK ICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWEzMi9zdXBwb3J0LmgpIFwKICAgICQod2ls ZGNhcmQgaW5jbHVkZS9jb25maWcvcGVyZm1vbi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUv Y29uZmlnL2l0YW5pdW0uaCkgXAogIGluY2x1ZGUvYXNtL2tyZWdzLmggXAogIGluY2x1ZGUvYXNt L3B0cmFjZS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9wYWdlL3NpemUv NGtiLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9wYWdlL3NpemUvOGti LmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9wYWdlL3NpemUvMTZrYi5o KSBcCiAgaW5jbHVkZS9hc20vZnB1LmggXAogIGluY2x1ZGUvYXNtL2N1cnJlbnQuaCBcCiAgaW5j bHVkZS9hc20vcGFnZS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9wYWdl L3NpemUvNjRrYi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFn ZS9zaXplLzRnYi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFn ZS9zaXplLzFnYi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIvcGFn ZS9zaXplLzI1Nm1iLmgpIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaHVnZXRsYi9w YWdlL3NpemUvNjRtYi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2h1Z2V0bGIv cGFnZS9zaXplLzE2bWIuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9odWdldGxi L3BhZ2Uvc2l6ZS80bWIuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9odWdldGxi L3BhZ2Uvc2l6ZS8xbWIuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9odWdldGxi L3BhZ2Uvc2l6ZS8yNTZrYi5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3ZpcnR1 YWwvbWVtL21hcC5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2Rpc2NvbnRpZ21l bS5oKSBcCiAgaW5jbHVkZS9hc20vdXN0YWNrLmggXAogIGluY2x1ZGUvbGludXgvY2FjaGUuaCBc CiAgaW5jbHVkZS9saW51eC9rZXJuZWwuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmln L2RlYnVnL3NwaW5sb2NrL3NsZWVwLmgpIFwKICAvaG9tZS9nY2MtMy4zLjEvdXNyL2xpYi9nY2Mt bGliL2lhNjQtcmVkaGF0LWxpbnV4LzMuMy4xL2luY2x1ZGUvc3RkYXJnLmggXAogIGluY2x1ZGUv YXNtL2J5dGVvcmRlci5oIFwKICBpbmNsdWRlL2xpbnV4L2J5dGVvcmRlci9saXR0bGVfZW5kaWFu LmggXAogIGluY2x1ZGUvbGludXgvYnl0ZW9yZGVyL3N3YWIuaCBcCiAgaW5jbHVkZS9saW51eC9i eXRlb3JkZXIvZ2VuZXJpYy5oIFwKICBpbmNsdWRlL2FzbS9idWcuaCBcCiAgaW5jbHVkZS9hc20v Y2FjaGUuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lhNjQvbDEvY2FjaGUvc2hp ZnQuaCkgXAogIGluY2x1ZGUvbGludXgvdGhyZWFkcy5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVk ZS9jb25maWcvbnIvY3B1cy5oKSBcCiAgaW5jbHVkZS9hc20vcGVyY3B1LmggXAogIGluY2x1ZGUv YXNtL3JzZS5oIFwKICBpbmNsdWRlL2FzbS91bndpbmQuaCBcCiAgaW5jbHVkZS9hc20vYXRvbWlj LmggXAogIGluY2x1ZGUvbGludXgvc3RyaW5naWZ5LmggXAogIGluY2x1ZGUvYXNtL3N5c3RlbS5o IFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaWE2NC9kZWJ1Zy9pcnEuaCkgXAogIGlu Y2x1ZGUvYXNtL3BhbC5oIFwKICBpbmNsdWRlL2FzbS9zcGlubG9jay5oIFwKICAgICQod2lsZGNh cmQgaW5jbHVkZS9jb25maWcvbWNraW5sZXkuaCkgXAogIGluY2x1ZGUvbGludXgvdGltZXguaCBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL3RpbWUvaW50ZXJwb2xhdGlvbi5oKSBcCiAg aW5jbHVkZS9hc20vdGltZXguaCBcCiAgaW5jbHVkZS9saW51eC90aW1lLmggXAogIGluY2x1ZGUv bGludXgvc2VxbG9jay5oIFwKICBpbmNsdWRlL2FzbS9kaXY2NC5oIFwKICBpbmNsdWRlL2FzbS1n ZW5lcmljL2RpdjY0LmggXAogIGluY2x1ZGUvbGludXgvamlmZmllcy5oIFwKICBpbmNsdWRlL2xp bnV4L3JidHJlZS5oIFwKICBpbmNsdWRlL2xpbnV4L2NwdW1hc2suaCBcCiAgaW5jbHVkZS9saW51 eC9iaXRtYXAuaCBcCiAgaW5jbHVkZS9saW51eC9zdHJpbmcuaCBcCiAgaW5jbHVkZS9hc20vc3Ry aW5nLmggXAogIGluY2x1ZGUvYXNtLWdlbmVyaWMvY3B1bWFza19hcml0aC5oIFwKICBpbmNsdWRl L2FzbS1nZW5lcmljL2NwdW1hc2tfY29uc3RfdmFsdWUuaCBcCiAgaW5jbHVkZS9hc20vc2VtYXBo b3JlLmggXAogIGluY2x1ZGUvbGludXgvd2FpdC5oIFwKICBpbmNsdWRlL2xpbnV4L2xpc3QuaCBc CiAgaW5jbHVkZS9saW51eC9wcmVmZXRjaC5oIFwKICBpbmNsdWRlL2xpbnV4L3J3c2VtLmggXAog ICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9yd3NlbS9nZW5lcmljL3NwaW5sb2NrLmgpIFwK ICBpbmNsdWRlL2FzbS9yd3NlbS5oIFwKICBpbmNsdWRlL2FzbS9tbXUuaCBcCiAgaW5jbHVkZS9s aW51eC9zbXAuaCBcCiAgaW5jbHVkZS9hc20vc21wLmggXAogIGluY2x1ZGUvbGludXgvaW5pdC5o IFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcvaG90cGx1Zy5oKSBcCiAgaW5jbHVkZS9h c20vaW8uaCBcCiAgaW5jbHVkZS9hc20vbWFjaHZlYy5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVk ZS9jb25maWcvaWE2NC9kaWcuaCkgXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9pYTY0 L2hwL3p4MS5oKSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lhNjQvc2dpL3NuMi5o KSBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2lhNjQvZ2VuZXJpYy5oKSBcCiAgaW5j bHVkZS9hc20vbWFjaHZlY19ocHp4MS5oIFwKICBpbmNsdWRlL2xpbnV4L3NlbS5oIFwKICBpbmNs dWRlL2xpbnV4L2lwYy5oIFwKICBpbmNsdWRlL2FzbS9pcGNidWYuaCBcCiAgaW5jbHVkZS9hc20v c2VtYnVmLmggXAogIGluY2x1ZGUvbGludXgvc2lnbmFsLmggXAogIGluY2x1ZGUvYXNtL3NpZ25h bC5oIFwKICBpbmNsdWRlL2FzbS9zaWdjb250ZXh0LmggXAogIGluY2x1ZGUvYXNtL3NpZ2luZm8u aCBcCiAgaW5jbHVkZS9hc20tZ2VuZXJpYy9zaWdpbmZvLmggXAogIGluY2x1ZGUvbGludXgvc2Vj dXJlYml0cy5oIFwKICBpbmNsdWRlL2xpbnV4L2ZzX3N0cnVjdC5oIFwKICBpbmNsdWRlL2xpbnV4 L2NvbXBsZXRpb24uaCBcCiAgaW5jbHVkZS9saW51eC9waWQuaCBcCiAgaW5jbHVkZS9saW51eC9w ZXJjcHUuaCBcCiAgaW5jbHVkZS9saW51eC9zbGFiLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRl L2NvbmZpZy8uaCkgXAogIGluY2x1ZGUvbGludXgvZ2ZwLmggXAogIGluY2x1ZGUvbGludXgvbW16 b25lLmggXAogICAgJCh3aWxkY2FyZCBpbmNsdWRlL2NvbmZpZy9mb3JjZS9tYXgvem9uZW9yZGVy LmgpIFwKICBpbmNsdWRlL2xpbnV4L251bWEuaCBcCiAgaW5jbHVkZS9saW51eC90b3BvbG9neS5o IFwKICBpbmNsdWRlL2FzbS90b3BvbG9neS5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25m aWcvYWNwaS9udW1hLmgpIFwKICBpbmNsdWRlL2FzbS9hY3BpLmggXAogIGluY2x1ZGUvYXNtL251 bWEuaCBcCiAgaW5jbHVkZS9hc20tZ2VuZXJpYy90b3BvbG9neS5oIFwKICBpbmNsdWRlL2xpbnV4 L2ttYWxsb2Nfc2l6ZXMuaCBcCiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL21tdS5oKSBc CiAgICAkKHdpbGRjYXJkIGluY2x1ZGUvY29uZmlnL2xhcmdlL2FsbG9jcy5oKSBcCiAgaW5jbHVk ZS9saW51eC9wYXJhbS5oIFwKICBpbmNsdWRlL2xpbnV4L3Jlc291cmNlLmggXAogIGluY2x1ZGUv YXNtL3Jlc291cmNlLmggXAogIGluY2x1ZGUvbGludXgvdGltZXIuaCBcCiAgaW5jbHVkZS9saW51 eC9haW8uaCBcCiAgaW5jbHVkZS9saW51eC93b3JrcXVldWUuaCBcCiAgaW5jbHVkZS9saW51eC9h aW9fYWJpLmggXAogIGluY2x1ZGUvbGludXgvc3RhdC5oIFwKICBpbmNsdWRlL2FzbS9zdGF0Lmgg XAogIGluY2x1ZGUvbGludXgva21vZC5oIFwKICAgICQod2lsZGNhcmQgaW5jbHVkZS9jb25maWcv a21vZC5oKSBcCiAgaW5jbHVkZS9saW51eC9lcnJuby5oIFwKICBpbmNsdWRlL2FzbS9lcnJuby5o IFwKICBpbmNsdWRlL2FzbS1nZW5lcmljL2Vycm5vLmggXAogIGluY2x1ZGUvYXNtLWdlbmVyaWMv ZXJybm8tYmFzZS5oIFwKICBpbmNsdWRlL2xpbnV4L2VsZi5oIFwKICBpbmNsdWRlL2FzbS9lbGYu aCBcCiAgaW5jbHVkZS9hc20vbG9jYWwuaCBcCiAgaW5jbHVkZS9hc20vbW9kdWxlLmggXAogIGlu Y2x1ZGUvbGludXgvdmVybWFnaWMuaCBcCiAgaW5jbHVkZS9saW51eC92ZXJzaW9uLmggXAoKL2hv bWUveGZyYW1lX2Rydi8wMTIwMDQvczJpby9saW51eC9tb25vbGl0aC9zcmMvczJpby5tb2Qubzog JChkZXBzXy9ob21lL3hmcmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3My aW8ubW9kLm8pCgokKGRlcHNfL2hvbWUveGZyYW1lX2Rydi8wMTIwMDQvczJpby9saW51eC9tb25v bGl0aC9zcmMvczJpby5tb2Qubyk6CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAuL3MyaW8ua28AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEwMDY0NAAwMDAw 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 gQEAAAAAAAAAAAAAAAAAAAIAAAAAAAEARiIG5gDkBWFdAAAAAAAAAAAAAAAAAAAAAgAAAAAAAQBG IQjmAOABAeQHMMACAAAAAAAAAAAAAAADAAAAAAABAEYjCeYA4AEB5AhhcoHAAj6hAAAAAAAAAAAA AAAAAAAAAgAAAAAAAQBGKQjmAOQF6geyrGHyBQAAAAAAAAAAAAABAAAAAAABAEYiBeYA5AQ/AAAA AAAAAAABAAAAAAABAEYgBeYA5AQ5AAAAAAAAAAACAAAAAAABAEYjBeYA5ARhLgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA gGEogAXAgDN+RiAEAACEADgBAAAhUEKABkKABQUthAkQwEEMIRADBABCQAYAzAAIeABKEBDQAggw IGAGCMoAAgAAWJAR8AIAYgAAAXhYABEQAB6DNQAAAAKAAWAAAEMKGPwRPyMAAAACAAAwCKoAAQAA AAEA8ACcLADgFDgBhAtYPEASIKBgLAZCAAAABAAdSAAUEBAAAAACAAAAAAAgEQiFEgAgAAAAAgCg 0P//SAAYMUEDIQABAIBIoAIISQAKSOFBDCEwgIQEaUCEBCGEEUhUAOEYYIKCEMIBwAgAQwCgAEYQ EHADAQBIwAYwAYQLoAFSGBBgoADCMYABoDXkoKEhaAEhQwMAAEIAAAAEAA0AAAABAIAAJAx0AAAA BAALmCAA4RAAAAACACA00WlTAgAAAAEAQAKEJACgBiABhBEAAAABAAAAAAIAAAgAAFAAACBEmBEQ AMQAQuABQDjkHNBgQQghAAAAAoAHcAcAQwDYAFgQEHCBMABCQARAAIQKwABMGBAACGkgI8AGIAGE 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 EAAAAAEAAAAAAgAAwPr/SAmYAAIAJCABoCAgAAAABAAQaAEmGBCAkAASYQSw+v9LEQAAAAEAAAAA AgAACAAAUBEIAFYAIdACgABCAAgAAFAQAAAAAQAAAAACAABw+v9IAngAUBAQ4AAEAEgA8QAkwhBo ARwYEAAAAAIABDAAAEMQAAAAAQAAAAACAAAIAABQAAgAVgAhAAAAAgAAAAAEABFA0Pn/JwAAAAIA AHDx/0gEaAFAAOH/AAAAAMD19/9nEQAAAAEAAAAAAgAACAAAUBEIAFYAIbAAIBRzBWAAAEECQAEC ACQQAQQASAAAAAQACYAAUBAQ0AJEMCAAAAAEABBoACCMMQAAAAIABtDx/0sRAAAAAQAAAAACAAAI AABQEAgAVgAhAAAAAgAAsPH/SBFoAUAAIQAAAAIAAAgAAFARAAAAAQAAAAACAABQ//9IGBgZCoAF IAAEAEgAAAAAIAIgAQIAISACAGIAAAAABAAKAAEEGBBQAoAAQgAAAAQAEQAAAAEAAAAAAgAACAAA UAAIARAAIRAAkABCoAQAAYQQSAAQiDmwACAUYwVAAABDAEAAAAAhAAAAAgAAAAAEAAAAAAABAAAY AVUAACAKAAcRAAAAAQAAAAACAIAIAIQAMQm1+f8nAAAAAgAACAAAUAAIAEgAIYAAhBJzANHm/58T AAAAAUAC4P9/JQCw//9IGAgRBoAFkAAEAEgAAAAAIAIQAQIAIQACAGIAAAAABAARGAESGBAAAAAC AAAIAABQCwgARAAhgAAEAEhgAAgAkAkQABAQEDACDDAgAAAABAAQSAAEiDEAAAACAAQwAABDEQAA AAEAAAAAAgAACAAAUAAIAEQAIQAAAAIAAAAABAAAAAAAAQAACAFVAAAACgAHEQAAAAEAAAAAAgCA CACEAAAgHQyABSCCggRCoAQIAIQCcAACACQwAgBiAAAAAAQAHQgBRBgQAAAAAgAAAAAAIBEwYUIB IZAAhBDyBKAAAEMRMAFMGBAAAAACAAAIAABQEQgASgAhYAKAAEIACAAAUBEIAEoAIWACgABCAAgA AFAACABKACFgAoQAQgAAAAQAHQAARJgRAAAAAgAACAAAUBEIAEoAIWAChABCAAgAAFAACABKACEA AAACAAAAAAQAAAAAAAEAACABVQAAMAoABxEAAAABAAAAAAIAgAgAhAAJEAACACQwADggIAAAAAQA EDABBBgQgBgAEmEE0P//SxEAAAABAAAAAAIAAAgAAFARAAAAAQAAAAACAACg//9I1RcAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUmVnaXN0ZXIgdGVzdAkob2Zm bGluZSkAAAAAAAAAAABFZXByb20gdGVzdAkob2ZmbGluZSkAAAAAAAAAAAAAAExvb3AgYmFjayB0 ZXN0CShvbmxpbmUpAAAAAAAAAAAATGluayB0ZXN0CShvbmxpbmUpAAAAAAAAAAAAAAAAAABSTERS QU0gdGVzdAkob2ZmbGluZSkAAAAAAAAAAAAAAEJJU1QgVGVzdAkob2ZmbGluZSkAAAAAAAAAAAAA AAAA1RcAADFXAAD//////////wAAAAAAAAAAAAAAAAAAAADVFwAAMVgAAP//////////AAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAHMyaW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFMy SU8AAAAABQEABAMCAQAEAgAGAQMAAgcAAQIFAAMBAAUGAgABBAMAAAAABAIDAf8AAAAAAAAAcmlu Z19udW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAADEtMWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABmcmFtZV9sZW4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAMS04aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJpbmdfbGVuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxLThpAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZmlmb19udW0AAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEtMWkAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmaWZv X2xlbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAMS04aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAHJ4X3ByaW8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAxLTFpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHhfcHJpbwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEtMWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsYXRlbmN5X3RpbWVyAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMS0xaQAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAUzJJTwAAAAAlczpMaXN0IE1lbSBQSFk6IDB4JWx4CgAlczogUnhEIGNvdW50IG9mIAAAAAAA AABSeERzIHBlciBCbG9jawAAUmluZyVkIGlzIG5vdCBhIG11bHRpcGxlIG9mIAAAAAAlczpSaW5n IE1lbSBQSFk6IDB4JWx4CgAlczogVG90YWwgbnVtYmVyIG9mIFR4IEZJRk9zIAAAAGV4Y2VlZHMg dGhlIG1heGltdW0gdmFsdWUgAAAAAAAAdGhhdCBjYW4gYmUgdXNlZAoAAAAAAAAARmlmbyBwYXJ0 aXRpb24gYXQ6IDB4JXAgaXM6IDB4JWx4CgAAAAAAACVzOiBUVEkgaW5pdCBGYWlsZWQKAAAAACVz OiBSVEkgaW5pdCBGYWlsZWQKAAAAACVzOiBFbmRpYW4gc2V0dGluZ3MgYXJlIHdyb25nAAAALCBm ZWVkYmFjayByZWFkICVseAoAAAAAJXM6IGRldmljZSBpcyBub3QgcmVhZHksIAAAAAAAAABBZGFw dGVyIHN0YXR1cyByZWFkczogMHglbHgKAAAAACVzOmZvcmNpYmx5IGZyZWVpbmcgJWQgc2ticyBv biBGSUZPJWQKAAAlczogTlVMTCBza2IgAAAAaW4gVHggSW50CgAAAAAAACVzOiBHZXQgYW5kIFB1 dAAgaW5mbyBlcXVhdGVkCgAAJXM6IE5leHQgYmxvY2sgYXQ6ICVwCgAAJXM6IE91dCBvZiAAAAAA AG1lbW9yeSB0byBhbGxvY2F0ZSBTS0JzCgAAAAAAAAAAJXM6IEZyZWVkIDB4JXggUnhEcyBvbiBy aW5nJWQKAAAlczogVGhlIHNrYiBpcyAATnVsbCBpbiBSeCBJbnRyCgAAAAAAAAAAJXM6IGZyZWVk ICVkIFR4IFBrdHMKAAAAKioqVHhEIGVycm9yICVsbHgKAAAAAAAAJXM6IE51bGwgc2tiIAAAAGlu IFR4IEZyZWUgSW50cgoAAAAAAAAAACVzOiBmcm9tIExpbmsgSW50ciwgAAAAAGRldmljZSBpcyBu b3QgUXVpZXNjZW50CgAAAAAAAAAAJXM6AAAAAAAgTGluayBkb3duAAAAAAAAYWZ0ZXIgAABlbmFi bGluZyAAAAAAAAAAZGV2aWNlIAoAAAAAAAAAACVzOiBFbmRpYW4gc2V0dGluZ3MgYXJlIHdyb25n LCAAZmVlZGJhY2sgcmVhZCAlbHgKAAAAAAAAJXM6IE91dCBvZiBtZW1vcnkgaW4gT3BlbgoAAAAA AABCdWYgaW4gcmluZzolZCBpcyAlZDoKAAAlczogU3RhcnRpbmcgTklDIGZhaWxlZAoAAAAAAAAA ACVzOiBJU1IgcmVnaXN0cmF0aW9uIGZhaWxlZAoAAAAAJXM6IEgvVyBpbml0aWFsaXphdGlvbiBm YWlsZWQKAABzMmlvX2Nsb3NlOkRldmljZSBub3QgUXVpZXNjZW50IAAAAAAAAAAAYWRhcGVyIHN0 YXR1cyByZWFkcyAweCVseAoAAAAAAAAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKAAAAAAAAAE5vIGZyZWUgVFhEcyBmb3Igbm93LCBwdXQ6IDB4JXgsIGdl dDoweCV4CgAAAAAAAFF1ZXVlIGZ1bGwgY29uZGl0aW9uCgAAACVzOiBSeCBCRCBoaXQgAABQQU5J QyBsZXZlbHMKAAAAJXM6T3V0IG9mIG1lbW9yeQAAAAAAAAAAIGluIElTUiEhCgAAAAAAACVzOiBl bnRlcmVkIHByb21pc2N1b3VzIG1vZGUKAAAAJXM6IGxlZnQgcHJvbWlzY3VvdXMgbW9kZQoAAAAA AAAlczogTm8gbW9yZSBSeCBmaWx0ZXJzIABjYW4gYmUgYWRkZWQsIHBsZWFzZSBlbmFibGUgAAAA AEFMTF9NVUxUSSBpbnN0ZWFkCgAAAAAAACVzOiBBZGRpbmcgAAAAAABNdWx0aWNhc3RzIGZhaWxl ZAoAAAAAAAAlczogc2V0X21hY19hZGRyIGZhaWxlZAoAAAAAAAAAADwzPkFkYXB0ZXIgTGluayBk b3duLCBjYW5ub3QgYmxpbmsgTEVECgBFVEhUT09MX1dSSVRFX0VFUFJPTSBFcnI6IENhbm5vdCAA AAAAAAAAd3JpdGUgaW50byB0aGUgc3BlY2lmaWVkIG9mZnNldAoAAAAAAAAAAEVUSFRPT0xfV1JJ VEVfRUVQUk9NIEVycjogTWFnaWMgdmFsdWUgAABpcyB3cm9uZywgSXRzIG5vdCAweCV4CgBXcml0 ZSBUZXN0IGxldmVsIDEgZmFpbHMKAAAAAAAAAFdyaXRlIFRlc3QgbGV2ZWwgMiBmYWlscwoAAAAA AAAAUmVhZCBUZXN0IGxldmVsIDQgZmFpbHMKAAAAAAAAAABSZWFkIFRlc3QgbGV2ZWwgMyBmYWls cwoAAAAAAAAAAFJlYWQgVGVzdCBsZXZlbCAyIGZhaWxzCgAAAAAAAAAAUmVhZCBUZXN0IGxldmVs IDEgZmFpbHMKAAAAAAAAAABXYXMgaW4gTG9vcGJhY2sgUmN2ICVkIHRpbWVzCgAAAGtlcm5lbCBC VUcgYXQgJXM6JWQhCgAAAGluY2x1ZGUvbGludXgvc2tidWZmLmgAAFBrdHMgcmVjZWl2ZWQ6ICVk CgAAAAAAAE91dCBvZiBtZW1vcnksIGNhbnQgYWxsb2NhdGUgbG9vcCAAAAAAAABiYWNrIGZyYW1l cwoAAAAATWVtb3J5IGFsbG9jYXRpb24gdG8gZHVtcCAAAAAAAAByZWdpc3RlcnMgZmFpbGVkCgAA AAAAAABDYXJkIHJlc2V0IHRocm91Z2ggRXRoVG9vbAoAAAAAACVzOkZvciBPbmxpbmUAAAAgdGVz dHMsIHRoZSBJbnRlcmZhY2UgbXVzdAAAAAAAACBiZSBVcAoAJXM6IFBvc2l0aW9uICVkIGFscmVh ZHkgaW4gdXNlCgAlMDJ4AAAAADw2PkludGVycnVwdCBjbnQ6IDB4JXgKADw2PlJ4SW50IGNudDog MHgleAoAAAAAADw2PlR4SW50IGNudDogMHgleAoAAAAAADw2PlJ4IFBrdCBDbnQ6IDB4JWx4CgAA ACVzOiBNVFUgc2l6ZSBpcyBpbnZhbGlkLgoAAAAAAAAAJXM6IE11c3QgYmUgc3RvcHBlZCB0byAA Y2hhbmdlIGl0cyBNVFUgCgAAAAAAAAAAbWVtb3J5IGluIHRhc2tsZXQKAAAAAAAAJXM6IFJ4IFJp bmcgJWQgaXMgZnVsbAoAJXM6IERldmljZSB3YXMgcmVzZXQgYnkgVHggd2F0Y2hkb2cgdGltZXIu CgAAAAAAJXM6IEhpdCB0aGUgd2F0Y2ggZG9nIHJvdXRpbmUKAAAlczogTGluayBkb3duCgAAJXM6 IExpbmsgVXAKAAAAAFMySU8gMTBHRSBOSUMAAABzMmlvX2luaXRfbmljOiBwY2lfZW5hYmxlX2Rl dmljZSBmYWlsZWQKAAAAAAAAAABzMmlvX2luaXRfbmljOiBVc2luZyA2NGJpdCBETUEKADwzPkZp Zm8gTGVucyBub3Qgc3BlY2lmaWVkIGZvciBhbGwgRklGT3MKAAAAAAAAAERldmljZSByZWdpc3Ry YXRpb24gZmFpbGVkCgAAAAAAJXM6c3dhcHBlciBzZXR0aW5ncyBhcmUgd3JvbmcKAABERUZBVUxU IE1BQyBBRERSOjB4JTAyeC0lMDJ4LSUwMngtJTAyeC0lMDJ4LSUwMngKAAAAAAAAACVzOiBTMklP OiBzd2FwcGVyIHNldHRpbmdzIGFyZSB3cm9uZwoAAAAlczogTWVtb3J5IGFsbG9jYXRpb24gZmFp bGVkCgAAADwzPkZpZm8gTGVucyBub3Qgc3BlY2lmaWVkIGZvciAAPDM+YWxsIEZJRk9zCgAAAERl dmljZSBhbGxvY2F0aW9uIGZhaWxlZAoAAAAAAAAAUmVxdWVzdCBSZWdpb25zIGZhaWxlZAoAVW5h YmxlIHRvIG9idGFpbiA2NGJpdCBETUEgZm9yIAkJCQkJY29uc2lzdGVudCBhbGxvY2F0aW9ucwoA AAAAAHMyaW9faW5pdF9uaWM6IFVzaW5nIDMyYml0IERNQQoARHJpdmVyIERhdGEgaXMgTlVMTCEh CgAAY2xlYW51cCBkb25lCgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAGF1dGhvcj1SYWdoYXZlbmRyYSBLb3VzaGlrIDxyYWdoYXZlbmRy YS5rb3VzaGlrQHMyaW8uY29tPgAAAAAAAABsaWNlbnNlPUdQTAAAAAAAdmVybWFnaWM9Mi42LjAt dGVzdDkgU01QIGlhNjRnY2MtMy4zAAAAAGRlcGVuZHM9AAAAAAAAAABhbGlhcz1wY2k6djAwMDAx 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 AAAAAAAAAAAAAAAAAAAAAKi+IIMAAAAAX191bW9kc2kzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFnH37AAAAAF9fdWRpdnNpMwAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATeHQ4gAAAABzYmFfZnJlZV9jb2hlcmVudAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdYfYIAAAAAcHJpbnRrAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXOqA/AAAAAG1lbXNl dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvT3lpwAA AABzYmFfYWxsb2NfY29oZXJlbnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ABcTTlkAAAAAX19tb2RzaTMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAR0NDOiAoR05VKSAzLjMuMSAyMDAzMDgxMSAoUmVkIEhhdCBMaW51eCAzLjMuMS0x KQAAR0NDOiAoR05VKSAzLjMuMSAyMDAzMDgxMSAoUmVkIEhhdCBMaW51eCAzLjMuMS0xKQAALnN5 bXRhYgAuc3RydGFiAC5zaHN0cnRhYgAuSUFfNjQudW53aW5kX2luZm8ALnJlbGEuSUFfNjQudW53 aW5kAC5jb3JlLnBsdAAuaW5pdC5wbHQALmdvdAAub3BkAC5yZWxhLnRleHQALnJlbGEuZXhpdC50 ZXh0AC5yZWxhLmRhdGEALmJzcwAuc2JzcwAucmVsYS5nbnUubGlua29uY2UudGhpc19tb2R1bGUA LnNkYXRhAF9fb2JzcGFybQAucmVsYV9fZXhfdGFibGUALnJvZGF0YS5zdHIxLjgALnJlbGEucm9k YXRhAC5tb2RpbmZvAF9fdmVyc2lvbnMALmNvbW1lbnQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbAAAAAQAAAAIAAAAAAAAA AAAAAAAAAABAAAAAAAAAADgGAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAMwAAAAEAAHCC AAAAAAAAADgGAAAAAAAAeAYAAAAAAACYBAAAAAAAAAgAAAAIAAAACAAAAAAAAAAAAAAAAAAAAC4A AAAEAAAAAAAAAAAAAAAAAAAAAAAAAPBCAQAAAAAAyA0AAAAAAAAdAAAAAgAAAAgAAAAAAAAAGAAA AAAAAABBAAAAAQAAAAMAAAAAAAAA0AoAAAAAAAAQCwAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAA AAAAAAAAAAAAAAAASwAAAAEAAAADAAAAAAAAANEKAAAAAAAAEQsAAAAAAAABAAAAAAAAAAAAAAAA AAAAAQAAAAAAAAAAAAAAAAAAAFUAAAABAAAAAwAAAAAAAADSCgAAAAAAABILAAAAAAAAAQAAAAAA AAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAABaAAAAAQAAAAMAAAAAAAAA0woAAAAAAAATCwAAAAAA AAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAdAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAA IAsAAAAAAACg/QAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAF8AAAAEAAAAAAAAAAAAAAAA AAAAAAAAALhQAQAAAAAA4EAAAAAAAAAdAAAACAAAAAgAAAAAAAAAGAAAAAAAAABvAAAAAQAAAAYA AAAAAAAAAAAAAAAAAADACAEAAAAAABABAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAagAA AAQAAAAAAAAAAAAAAAAAAAAAAAAAmJEBAAAAAADYAAAAAAAAAB0AAAAKAAAACAAAAAAAAAAYAAAA AAAAAH8AAAABAAAAAwAAAAAAAAAAAAAAAAAAANAJAQAAAAAAcAIAAAAAAAAAAAAAAAAAAAgAAAAA AAAAAAAAAAAAAAB6AAAABAAAAAAAAAAAAAAAAAAAAAAAAABwkgEAAAAAAHgAAAAAAAAAHQAAAAwA AAAIAAAAAAAAABgAAAAAAAAAhQAAAAgAAAADAAAAAAAAAAAAAAAAAAAAQAwBAAAAAABgAAAAAAAA AAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAIoAAAAIAAAAAwAAEAAAAAAAAAAAAAAAAEAMAQAAAAAA FAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAACVAAAAAQAAAAMAAAAAAAAAAAAAAAAAAACA DAEAAAAAAAAKAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAkAAAAAQAAAAAAAAAAAAAAAAA AAAAAAAA6JIBAAAAAAAwAAAAAAAAAB0AAAAQAAAACAAAAAAAAAAYAAAAAAAAAK8AAAABAAAAAwAA EAAAAAAAAAAAAAAAAIAWAQAAAAAAOQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAC2AAAA AQAAAAMAAAAAAAAAAAAAAAAAAADAFgEAAAAAAAAEAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAA AAAAxQAAAAEAAAACAAAAAAAAAAAAAAAAAAAAwBoBAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAA AAAAAAAAAAAAAMAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAABiTAQAAAAAAMAAAAAAAAAAdAAAAFAAA AAgAAAAAAAAAGAAAAAAAAADQAAAAAQAAADIAAAAAAAAAAAAAAAAAAADIGgEAAAAAAIYMAAAAAAAA AAAAAAAAAAAIAAAAAAAAAAEAAAAAAAAA5AAAAAEAAAACAAAAAAAAAAAAAAAAAAAAUCcBAAAAAADI AQAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAN8AAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEiT AQAAAAAAAAMAAAAAAAAdAAAAFwAAAAgAAAAAAAAAGAAAAAAAAADsAAAAAQAAAAIAAAAAAAAAAAAA AAAAAAAYKQEAAAAAAOMAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAA9QAAAAEAAAACAAAA AAAAAAAAAAAAAAAAACoBAAAAAADADwAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAABAAAB AAAAAAAAAAAAAAAAAAAAAAAAAMA5AQAAAAAAZgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAA AAARAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAmOgEAAAAAAAkBAAAAAAAAAAAAAAAAAAABAAAAAAAA AAAAAAAAAAAAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAAASJYBAAAAAAB4EgAAAAAAAB4AAABeAAAA CAAAAAAAAAAYAAAAAAAAAAkAAAADAAAAAAAAAAAAAAAAAAAAAAAAAMCoAQAAAAAAsgkAAAAAAAAA AAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAAAIAAAAAAAAAAAAAAAIAAAAAAAAAF8A AAAIAAAAUAoAAAAAAAAQAAAAAAAAAF8AAAABAAAAAAAAAAAAAAAYAAAAAAAAAF8AAAAIAAAAYAoA AAAAAAAgAAAAAAAAAF8AAAAIAAAAAA0AAAAAAAAoAAAAAAAAAF8AAAABAAAAMAAAAAAAAAAwAAAA AAAAAF8AAAAIAAAAAA0AAAAAAAA4AAAAAAAAAF8AAAAIAAAAUDQAAAAAAABAAAAAAAAAAF8AAAAB AAAAUAAAAAAAAABIAAAAAAAAAF8AAAAIAAAAAE8AAAAAAABQAAAAAAAAAF8AAAAIAAAAgFQAAAAA AABYAAAAAAAAAF8AAAABAAAAeAAAAAAAAABgAAAAAAAAAF8AAAAIAAAAgFQAAAAAAABoAAAAAAAA AF8AAAAIAAAA0FcAAAAAAABwAAAAAAAAAF8AAAABAAAAmAAAAAAAAAB4AAAAAAAAAF8AAAAIAAAA 4FcAAAAAAACAAAAAAAAAAF8AAAAIAAAA0FgAAAAAAACIAAAAAAAAAF8AAAABAAAAuAAAAAAAAACQ AAAAAAAAAF8AAAAIAAAA4FgAAAAAAACYAAAAAAAAAF8AAAAIAAAAEF8AAAAAAACgAAAAAAAAAF8A AAABAAAA2AAAAAAAAACoAAAAAAAAAF8AAAAIAAAAIF8AAAAAAACwAAAAAAAAAF8AAAAIAAAAoGIA AAAAAAC4AAAAAAAAAF8AAAABAAAA+AAAAAAAAADAAAAAAAAAAF8AAAAIAAAAoGIAAAAAAADIAAAA AAAAAF8AAAAIAAAAoGYAAAAAAADQAAAAAAAAAF8AAAABAAAAGAEAAAAAAADYAAAAAAAAAF8AAAAI AAAAoGYAAAAAAADgAAAAAAAAAF8AAAAIAAAAIG4AAAAAAADoAAAAAAAAAF8AAAABAAAAQAEAAAAA AADwAAAAAAAAAF8AAAAIAAAAIG4AAAAAAAD4AAAAAAAAAF8AAAAIAAAAcHIAAAAAAAAAAQAAAAAA AF8AAAABAAAAaAEAAAAAAAAIAQAAAAAAAF8AAAAIAAAAwHMAAAAAAAAQAQAAAAAAAF8AAAAIAAAA 0HUAAAAAAAAYAQAAAAAAAF8AAAABAAAAiAEAAAAAAAAgAQAAAAAAAF8AAAAIAAAA4HUAAAAAAAAo AQAAAAAAAF8AAAAIAAAAMHcAAAAAAAAwAQAAAAAAAF8AAAABAAAAqAEAAAAAAAA4AQAAAAAAAF8A AAAIAAAAQHcAAAAAAABAAQAAAAAAAF8AAAAIAAAAcHsAAAAAAABIAQAAAAAAAF8AAAABAAAAyAEA AAAAAABQAQAAAAAAAF8AAAAIAAAAgHsAAAAAAABYAQAAAAAAAF8AAAAIAAAAoH8AAAAAAABgAQAA AAAAAF8AAAABAAAA6AEAAAAAAABoAQAAAAAAAF8AAAAIAAAAoH8AAAAAAABwAQAAAAAAAF8AAAAI AAAAkIYAAAAAAAB4AQAAAAAAAF8AAAABAAAACAIAAAAAAACAAQAAAAAAAF8AAAAIAAAAoIYAAAAA AACIAQAAAAAAAF8AAAAIAAAAoIwAAAAAAACQAQAAAAAAAF8AAAABAAAAOAIAAAAAAACYAQAAAAAA AF8AAAAIAAAAQI0AAAAAAACgAQAAAAAAAF8AAAAIAAAA4JQAAAAAAACoAQAAAAAAAF8AAAABAAAA WAIAAAAAAACwAQAAAAAAAF8AAAAIAAAA4JQAAAAAAAC4AQAAAAAAAF8AAAAIAAAAIJgAAAAAAADA AQAAAAAAAF8AAAABAAAAgAIAAAAAAADIAQAAAAAAAF8AAAAIAAAAIJgAAAAAAADQAQAAAAAAAF8A AAAIAAAA8JgAAAAAAADYAQAAAAAAAF8AAAABAAAAoAIAAAAAAADgAQAAAAAAAF8AAAAIAAAAwJkA AAAAAADoAQAAAAAAAF8AAAAIAAAAUJsAAAAAAADwAQAAAAAAAF8AAAABAAAAuAIAAAAAAAD4AQAA AAAAAF8AAAAIAAAAoJwAAAAAAAAAAgAAAAAAAF8AAAAIAAAAcJ0AAAAAAAAIAgAAAAAAAF8AAAAB AAAA2AIAAAAAAAAQAgAAAAAAAF8AAAAIAAAAgJ0AAAAAAAAYAgAAAAAAAF8AAAAIAAAAUJ8AAAAA AAAgAgAAAAAAAF8AAAABAAAA8AIAAAAAAAAoAgAAAAAAAF8AAAAIAAAAgKMAAAAAAAAwAgAAAAAA AF8AAAAIAAAAEKQAAAAAAAA4AgAAAAAAAF8AAAABAAAAEAMAAAAAAABAAgAAAAAAAF8AAAAIAAAA IKQAAAAAAABIAgAAAAAAAF8AAAAIAAAAsKUAAAAAAABQAgAAAAAAAF8AAAABAAAAKAMAAAAAAABY AgAAAAAAAF8AAAAIAAAAwKUAAAAAAABgAgAAAAAAAF8AAAAIAAAAMKgAAAAAAABoAgAAAAAAAF8A AAABAAAAUAMAAAAAAABwAgAAAAAAAF8AAAAIAAAAQKgAAAAAAAB4AgAAAAAAAF8AAAAIAAAA0KsA AAAAAACAAgAAAAAAAF8AAAABAAAAcAMAAAAAAACIAgAAAAAAAF8AAAAIAAAA4KsAAAAAAACQAgAA AAAAAF8AAAAIAAAAcK4AAAAAAACYAgAAAAAAAF8AAAABAAAAkAMAAAAAAACgAgAAAAAAAF8AAAAI AAAAgK4AAAAAAACoAgAAAAAAAF8AAAAIAAAAoLAAAAAAAACwAgAAAAAAAF8AAAABAAAAsAMAAAAA AAC4AgAAAAAAAF8AAAAIAAAAALEAAAAAAADAAgAAAAAAAF8AAAAIAAAAELIAAAAAAADIAgAAAAAA AF8AAAABAAAA0AMAAAAAAADQAgAAAAAAAF8AAAAIAAAAILIAAAAAAADYAgAAAAAAAF8AAAAIAAAA 4LIAAAAAAADgAgAAAAAAAF8AAAABAAAA8AMAAAAAAADoAgAAAAAAAF8AAAAIAAAA4LIAAAAAAADw AgAAAAAAAF8AAAAIAAAAcLYAAAAAAAD4AgAAAAAAAF8AAAABAAAACAQAAAAAAAAAAwAAAAAAAF8A AAAIAAAAgLYAAAAAAAAIAwAAAAAAAF8AAAAIAAAAQLcAAAAAAAAQAwAAAAAAAF8AAAABAAAAKAQA AAAAAAAYAwAAAAAAAF8AAAAIAAAAQLcAAAAAAAAgAwAAAAAAAF8AAAAIAAAAALgAAAAAAAAoAwAA AAAAAF8AAAABAAAAQAQAAAAAAAAwAwAAAAAAAF8AAAAIAAAAALgAAAAAAAA4AwAAAAAAAF8AAAAI AAAAgLkAAAAAAABAAwAAAAAAAF8AAAABAAAAWAQAAAAAAABIAwAAAAAAAF8AAAAIAAAAQL4AAAAA AABQAwAAAAAAAF8AAAAIAAAAYMEAAAAAAABYAwAAAAAAAF8AAAABAAAAeAQAAAAAAABgAwAAAAAA AF8AAAAIAAAAYMEAAAAAAABoAwAAAAAAAF8AAAAIAAAAgNYAAAAAAABwAwAAAAAAAF8AAAABAAAA mAQAAAAAAAB4AwAAAAAAAF8AAAAIAAAAgNYAAAAAAACAAwAAAAAAAF8AAAAIAAAAgN4AAAAAAACI AwAAAAAAAF8AAAABAAAAwAQAAAAAAACQAwAAAAAAAF8AAAAIAAAAgN4AAAAAAACYAwAAAAAAAF8A AAAIAAAAEOAAAAAAAACgAwAAAAAAAF8AAAABAAAA4AQAAAAAAACoAwAAAAAAAF8AAAAIAAAAIOAA AAAAAACwAwAAAAAAAF8AAAAIAAAAQOIAAAAAAAC4AwAAAAAAAF8AAAABAAAAAAUAAAAAAADAAwAA AAAAAF8AAAAIAAAAQOIAAAAAAADIAwAAAAAAAF8AAAAIAAAAoOMAAAAAAADQAwAAAAAAAF8AAAAB AAAAIAUAAAAAAADYAwAAAAAAAF8AAAAIAAAAoOMAAAAAAADgAwAAAAAAAF8AAAAIAAAAgOYAAAAA AADoAwAAAAAAAF8AAAABAAAAQAUAAAAAAADwAwAAAAAAAF8AAAAIAAAAgOYAAAAAAAD4AwAAAAAA AF8AAAAIAAAAkOgAAAAAAAAABAAAAAAAAF8AAAABAAAAYAUAAAAAAAAIBAAAAAAAAF8AAAAIAAAA oOgAAAAAAAAQBAAAAAAAAF8AAAAIAAAAIOkAAAAAAAAYBAAAAAAAAF8AAAABAAAAgAUAAAAAAAAg BAAAAAAAAF8AAAAIAAAAIOkAAAAAAAAoBAAAAAAAAF8AAAAIAAAAUOwAAAAAAAAwBAAAAAAAAF8A AAABAAAAoAUAAAAAAAA4BAAAAAAAAF8AAAAIAAAAYOwAAAAAAABABAAAAAAAAF8AAAAIAAAAQPwA AAAAAABIBAAAAAAAAF8AAAABAAAAyAUAAAAAAABQBAAAAAAAAF8AAAAIAAAAQPwAAAAAAABYBAAA AAAAAF8AAAAIAAAAAP0AAAAAAABgBAAAAAAAAF8AAAABAAAA6AUAAAAAAABoBAAAAAAAAF8AAAAI AAAAAP0AAAAAAABwBAAAAAAAAF8AAAAIAAAAoP0AAAAAAAB4BAAAAAAAAF8AAAABAAAAAAYAAAAA AACABAAAAAAAAF8AAAAKAAAAAAAAAAAAAACIBAAAAAAAAF8AAAAKAAAAEAEAAAAAAACQBAAAAAAA AF8AAAABAAAAGAYAAAAAAABCAQAAAAAAAEkAAACKAAAAAAAAAAAAAACiAQAAAAAAAEkAAACfAAAA AAAAAAAAAADAAQAAAAAAACoAAABqAAAAAAAAAAAAAADBAQAAAAAAAIYAAAAWAAAACAAAAAAAAADR AQAAAAAAAIcAAAAWAAAACAAAAAAAAADyAQAAAAAAAEkAAACaAAAAAAAAAAAAAACgAwAAAAAAAIYA AAAWAAAAIAAAAAAAAAChAwAAAAAAAIYAAAAWAAAAOAAAAAAAAADBAwAAAAAAAIYAAAAWAAAASAAA AAAAAACiBQAAAAAAAEkAAACKAAAAAAAAAAAAAADCBQAAAAAAAEkAAACfAAAAAAAAAAAAAACyBgAA AAAAAEkAAAC5AAAAAAAAAAAAAADCBwAAAAAAAEkAAACKAAAAAAAAAAAAAAAiCAAAAAAAAEkAAACf AAAAAAAAAAAAAABSCAAAAAAAAIYAAAAWAAAAaAAAAAAAAABhCAAAAAAAAIcAAAAWAAAAaAAAAAAA AAByCAAAAAAAAEkAAACaAAAAAAAAAAAAAADhCAAAAAAAAIcAAAAWAAAAIAAAAAAAAAACCQAAAAAA AEkAAACaAAAAAAAAAAAAAAAwCQAAAAAAAIcAAAAWAAAASAAAAAAAAAAyCQAAAAAAAEkAAACaAAAA AAAAAAAAAABQCQAAAAAAAIcAAAAWAAAAOAAAAAAAAABiCQAAAAAAAEkAAACaAAAAAAAAAAAAAACQ CQAAAAAAACoAAABqAAAAAAAAAAAAAADACQAAAAAAAIYAAAAWAAAAgAAAAAAAAADBCQAAAAAAAIcA AAAWAAAAgAAAAAAAAADSCQAAAAAAAEkAAACaAAAAAAAAAAAAAADwCQAAAAAAAIYAAAAWAAAAoAAA AAAAAAAACgAAAAAAAIcAAAAWAAAAoAAAAAAAAAACCgAAAAAAAEkAAACaAAAAAAAAAAAAAAAhCgAA AAAAAIYAAAAWAAAAwAAAAAAAAAAwCgAAAAAAAIcAAAAWAAAAwAAAAAAAAADyCgAAAAAAAEkAAABn AAAAAAAAAAAAAAASDAAAAAAAAEkAAABnAAAAAAAAAAAAAADCDAAAAAAAAEkAAABnAAAAAAAAAAAA AAAhDQAAAAAAAIYAAABtAAAAAAAAAAAAAABwDQAAAAAAAIcAAABtAAAAAAAAAAAAAADxKgAAAAAA ACoAAABqAAAAAAAAAAAAAADyKgAAAAAAAIYAAAAWAAAA2AAAAAAAAAARKwAAAAAAAIcAAAAWAAAA 2AAAAAAAAABSKwAAAAAAAEkAAACaAAAAAAAAAAAAAAChLAAAAAAAACoAAAASAAAAEAAAAAAAAACi LAAAAAAAACoAAAASAAAAGAAAAAAAAADALAAAAAAAACoAAAASAAAAIAAAAAAAAADCLAAAAAAAACoA AAASAAAAKAAAAAAAAADSLAAAAAAAACoAAAASAAAAMAAAAAAAAADiLAAAAAAAACoAAAAPAAAADAAA AAAAAACyLQAAAAAAAEkAAACJAAAAAAAAAAAAAACRLgAAAAAAAIYAAACmAAAAAAAAAAAAAADgLgAA AAAAAIcAAACmAAAAAAAAAAAAAADwLgAAAAAAAIYAAABtAAAAAAAAAAAAAADyLgAAAAAAAIYAAAAW AAAAAAEAAAAAAAAwLwAAAAAAAIcAAABtAAAAAAAAAAAAAACgMAAAAAAAAIcAAAAWAAAAAAEAAAAA AADCMAAAAAAAAEkAAACaAAAAAAAAAAAAAAAwMQAAAAAAAIYAAABtAAAAAAAAAAAAAABAMQAAAAAA AIYAAAAWAAAAGAEAAAAAAACBMQAAAAAAAIcAAABtAAAAAAAAAAAAAAChMgAAAAAAAIcAAAAWAAAA GAEAAAAAAADQMwAAAAAAACoAAABqAAAAAAAAAAAAAADRMwAAAAAAAIYAAAAWAAAAMAEAAAAAAADh MwAAAAAAAIcAAAAWAAAAMAEAAAAAAAACNAAAAAAAAEkAAACaAAAAAAAAAAAAAAAhNAAAAAAAAIYA AAAWAAAAUAEAAAAAAAAwNAAAAAAAAIcAAAAWAAAAUAEAAAAAAACxOwAAAAAAAIYAAABtAAAAAAAA AAAAAADROwAAAAAAAIcAAABtAAAAAAAAAAAAAADyTwAAAAAAAIYAAABtAAAAAAAAAAAAAAAgUAAA AAAAAIcAAABtAAAAAAAAAAAAAADgUwAAAAAAACoAAABqAAAAAAAAAAAAAADhUwAAAAAAAIYAAAAW AAAAaAEAAAAAAADxUwAAAAAAAIcAAAAWAAAAaAEAAAAAAAASVAAAAAAAAEkAAACaAAAAAAAAAAAA AAAwVAAAAAAAAIYAAAAWAAAAiAEAAAAAAABBVAAAAAAAAIcAAAAWAAAAiAEAAAAAAABSVAAAAAAA AEkAAACaAAAAAAAAAAAAAADSVAAAAAAAAEgAAACBAAAAAAAAAAAAAADiVAAAAAAAACoAAABqAAAA AAAAAAAAAADwVAAAAAAAAIYAAAAWAAAAqAEAAAAAAAAxVQAAAAAAAIYAAAAWAAAA0AEAAAAAAAAy VQAAAAAAAIYAAAAWAAAA4AEAAAAAAABwVgAAAAAAAIcAAAAWAAAAqAEAAAAAAACCVgAAAAAAAEkA AACaAAAAAAAAAAAAAAACVwAAAAAAAEkAAADAAAAAAAAAAAAAAABRVwAAAAAAAIcAAAAWAAAA0AEA AAAAAAByVwAAAAAAAEkAAACaAAAAAAAAAAAAAACRVwAAAAAAAIcAAAAWAAAA4AEAAAAAAACiVwAA AAAAAEkAAACaAAAAAAAAAAAAAADiWAAAAAAAAIYAAAAOAAAAAAAAAAAAAAAQWQAAAAAAAIcAAAAO AAAAAAAAAAAAAADAWQAAAAAAAIYAAAAWAAAA8AEAAAAAAADgWQAAAAAAAIYAAAAWAAAAAAIAAAAA AADyWQAAAAAAACoAAABqAAAAAAAAAAAAAAAyWgAAAAAAAIYAAAAWAAAAEAIAAAAAAABAWgAAAAAA AIYAAAAWAAAAKAIAAAAAAABBWgAAAAAAAIYAAAAWAAAAOAIAAAAAAAASWwAAAAAAAEkAAACZAAAA AAAAAAAAAADyWwAAAAAAAEkAAABzAAAAAAAAAAAAAADQXAAAAAAAACoAAABqAAAAAAAAAAAAAADR XAAAAAAAAIcAAAAWAAAAKAIAAAAAAAACXQAAAAAAAEkAAACaAAAAAAAAAAAAAAAhXQAAAAAAAIcA AAAWAAAAOAIAAAAAAAAyXQAAAAAAAEkAAACaAAAAAAAAAAAAAADCXQAAAAAAAEkAAACJAAAAAAAA AAAAAABQXgAAAAAAAIcAAAAWAAAAEAIAAAAAAABiXgAAAAAAAEkAAACaAAAAAAAAAAAAAACgXgAA AAAAACoAAABqAAAAAAAAAAAAAADQXgAAAAAAAIcAAAAWAAAAAAIAAAAAAADSXgAAAAAAAEkAAACa AAAAAAAAAAAAAADwXgAAAAAAAIcAAAAWAAAA8AEAAAAAAADyXgAAAAAAAEkAAACaAAAAAAAAAAAA AABAXwAAAAAAACoAAABqAAAAAAAAAAAAAABCXwAAAAAAAIYAAAAWAAAAWAIAAAAAAADSYAAAAAAA AEkAAACTAAAAAAAAAAAAAAAyYQAAAAAAAEkAAADAAAAAAAAAAAAAAADQYQAAAAAAAIcAAAAWAAAA WAIAAAAAAABCYgAAAAAAAEkAAACaAAAAAAAAAAAAAABCYwAAAAAAAIYAAAAWAAAAeAIAAAAAAABQ YwAAAAAAAIYAAAAWAAAAiAIAAAAAAADSZAAAAAAAAEkAAACTAAAAAAAAAAAAAADyZAAAAAAAAEkA AAClAAAAAAAAAAAAAADAZQAAAAAAACoAAABqAAAAAAAAAAAAAADBZQAAAAAAAIcAAAAWAAAAeAIA AAAAAADyZQAAAAAAAEkAAACaAAAAAAAAAAAAAAARZgAAAAAAAIcAAAAWAAAAiAIAAAAAAAAiZgAA AAAAAEkAAACaAAAAAAAAAAAAAAByZgAAAAAAAEkAAAC5AAAAAAAAAAAAAADyZgAAAAAAACoAAABq AAAAAAAAAAAAAAABZwAAAAAAAIYAAAAWAAAAoAIAAAAAAAACZwAAAAAAAIYAAACGAAAAAAAAAAAA AABSZwAAAAAAAIYAAABeAAAAAAAAAAAAAABgZwAAAAAAAIcAAACGAAAAAAAAAAAAAABxZwAAAAAA AIYAAAAWAAAAuAIAAAAAAAByZwAAAAAAAIYAAAAWAAAA0AIAAAAAAACAZwAAAAAAAIYAAAAWAAAA 4AIAAAAAAADgZwAAAAAAAIcAAABeAAAAAAAAAAAAAABSaQAAAAAAAEkAAACTAAAAAAAAAAAAAACy aQAAAAAAAEkAAACfAAAAAAAAAAAAAAAyagAAAAAAAEkAAACJAAAAAAAAAAAAAAAybAAAAAAAAIYA AACGAAAAAAAAAAAAAABAbAAAAAAAAIYAAABeAAAAAAAAAAAAAABgbAAAAAAAAIcAAACGAAAAAAAA AAAAAABhbAAAAAAAAIcAAABeAAAAAAAAAAAAAACSbAAAAAAAAEkAAACrAAAAAAAAAAAAAADgbAAA AAAAAIcAAAAWAAAAoAIAAAAAAADybAAAAAAAAEkAAACaAAAAAAAAAAAAAABCbQAAAAAAAEkAAACr AAAAAAAAAAAAAACRbQAAAAAAAIcAAAAWAAAA0AIAAAAAAACybQAAAAAAAEkAAACaAAAAAAAAAAAA AADRbQAAAAAAAIcAAAAWAAAA4AIAAAAAAADibQAAAAAAAEkAAACaAAAAAAAAAAAAAAAAbgAAAAAA AIcAAAAWAAAAuAIAAAAAAAACbgAAAAAAAEkAAACaAAAAAAAAAAAAAACxbgAAAAAAACoAAABqAAAA AAAAAAAAAACybgAAAAAAAIYAAAAWAAAA+AIAAAAAAADRbgAAAAAAAIcAAAAWAAAA+AIAAAAAAAAC bwAAAAAAAEkAAACaAAAAAAAAAAAAAAAgbwAAAAAAAIYAAAAWAAAAEAMAAAAAAAAwbwAAAAAAAIcA AAAWAAAAEAMAAAAAAAAybwAAAAAAAEkAAACaAAAAAAAAAAAAAABwbwAAAAAAAIYAAABtAAAAAAAA AAAAAABybwAAAAAAAIYAAAAWAAAAMAMAAAAAAACAbwAAAAAAAIYAAAAWAAAAOAMAAAAAAACQbwAA AAAAAIYAAAAWAAAASAMAAAAAAACRbwAAAAAAAIYAAAAWAAAAUAMAAAAAAACSbwAAAAAAAIYAAAAW AAAAYAMAAAAAAACwbwAAAAAAAIcAAABtAAAAAAAAAAAAAADBbwAAAAAAACoAAABqAAAAAAAAAAAA AADQbwAAAAAAAIcAAAAWAAAAMAMAAAAAAABicAAAAAAAAEkAAACaAAAAAAAAAAAAAACBcAAAAAAA AIcAAAAWAAAAOAMAAAAAAACScAAAAAAAAEkAAACaAAAAAAAAAAAAAACxcAAAAAAAAIcAAAAWAAAA SAMAAAAAAADCcAAAAAAAAEkAAACaAAAAAAAAAAAAAADhcAAAAAAAAIcAAAAWAAAAUAMAAAAAAADy cAAAAAAAAEkAAACaAAAAAAAAAAAAAAARcQAAAAAAAIcAAAAWAAAAYAMAAAAAAAAicQAAAAAAAEkA AACaAAAAAAAAAAAAAACCcQAAAAAAAEkAAABpAAAAAAAAAAAAAACAcgAAAAAAAIYAAABtAAAAAAAA AAAAAACRcgAAAAAAAIcAAABtAAAAAAAAAAAAAADhcwAAAAAAAIYAAABtAAAAAAAAAAAAAAAAdAAA AAAAAIcAAABtAAAAAAAAAAAAAADSdAAAAAAAAEkAAACcAAAAAAAAAAAAAADwdAAAAAAAAIYAAABt AAAAAAAAAAAAAAAAdQAAAAAAAIcAAABtAAAAAAAAAAAAAAAQdgAAAAAAACoAAABqAAAAAAAAAAAA AAChdgAAAAAAAIYAAAAWAAAAcAMAAAAAAACwdgAAAAAAAIcAAAAWAAAAcAMAAAAAAADCdgAAAAAA AEkAAACaAAAAAAAAAAAAAADgdgAAAAAAAIYAAAAWAAAAkAMAAAAAAADxdgAAAAAAAIcAAAAWAAAA kAMAAAAAAAACdwAAAAAAAEkAAACaAAAAAAAAAAAAAACgdwAAAAAAAFIAAAA6AAAAAAAAAAAAAADC dwAAAAAAAEkAAAB/AAAAAAAAAAAAAADidwAAAAAAAEkAAAC2AAAAAAAAAAAAAADydwAAAAAAACoA AABqAAAAAAAAAAAAAAAAeAAAAAAAAIYAAAAWAAAAqAMAAAAAAAABeAAAAAAAAIYAAAAWAAAAyAMA AAAAAAAieAAAAAAAAEkAAAC/AAAAAAAAAAAAAABReAAAAAAAAIcAAAAWAAAAyAMAAAAAAACQeAAA AAAAAFIAAAC7AAAAAAAAAAAAAACieAAAAAAAAEkAAACPAAAAAAAAAAAAAABQeQAAAAAAACoAAABq AAAAAAAAAAAAAABReQAAAAAAAIYAAAAWAAAA4AMAAAAAAABheQAAAAAAAIcAAAAWAAAA4AMAAAAA AACCeQAAAAAAAEkAAACaAAAAAAAAAAAAAACieQAAAAAAAEkAAACIAAAAAAAAAAAAAACyeQAAAAAA AEkAAACNAAAAAAAAAAAAAADSeQAAAAAAAEkAAABjAAAAAAAAAAAAAAASegAAAAAAAEkAAACaAAAA AAAAAAAAAAAxegAAAAAAAIcAAAAWAAAAqAMAAAAAAABSegAAAAAAAEkAAACaAAAAAAAAAAAAAABy egAAAAAAAEkAAACNAAAAAAAAAAAAAACSegAAAAAAAEkAAABjAAAAAAAAAAAAAADCegAAAAAAAEkA AACNAAAAAAAAAAAAAADSegAAAAAAACoAAABqAAAAAAAAAAAAAADgegAAAAAAAIYAAAAWAAAAAAQA AAAAAADwegAAAAAAAIcAAAAWAAAAAAQAAAAAAAASewAAAAAAAEkAAACaAAAAAAAAAAAAAAAwewAA AAAAACoAAABqAAAAAAAAAAAAAABBewAAAAAAAIYAAAAWAAAAIAQAAAAAAABQewAAAAAAAIcAAAAW AAAAIAQAAAAAAADiewAAAAAAAEgAAACBAAAAAAAAAAAAAABRfAAAAAAAAIYAAABtAAAAAAAAAAAA AABhfAAAAAAAAIcAAABtAAAAAAAAAAAAAABSfQAAAAAAAEkAAACIAAAAAAAAAAAAAABifQAAAAAA AIYAAABtAAAAAAAAAAAAAABwfQAAAAAAAIYAAAAWAAAAQAQAAAAAAABxfQAAAAAAAIYAAAAWAAAA aAQAAAAAAACAfQAAAAAAAIcAAABtAAAAAAAAAAAAAACQfgAAAAAAACoAAABqAAAAAAAAAAAAAACR fgAAAAAAAIcAAAAWAAAAQAQAAAAAAADCfgAAAAAAAEkAAACaAAAAAAAAAAAAAADwfgAAAAAAAIcA AAAWAAAAaAQAAAAAAADyfgAAAAAAAEkAAACaAAAAAAAAAAAAAAASfwAAAAAAAEkAAACNAAAAAAAA AAAAAAAyfwAAAAAAAEkAAABjAAAAAAAAAAAAAABCfwAAAAAAAEkAAAC9AAAAAAAAAAAAAAASgAAA AAAAAEgAAACBAAAAAAAAAAAAAAAggAAAAAAAACoAAAAPAAAAEAAAAAAAAABygAAAAAAAAEkAAACJ AAAAAAAAAAAAAACCgQAAAAAAAEkAAACJAAAAAAAAAAAAAABiggAAAAAAAEkAAABzAAAAAAAAAAAA AACRggAAAAAAAIYAAAC+AAAAAAAAAAAAAADQggAAAAAAAIcAAAC+AAAAAAAAAAAAAADygwAAAAAA AEkAAABzAAAAAAAAAAAAAAAihQAAAAAAAEkAAACJAAAAAAAAAAAAAABAhQAAAAAAAIYAAACmAAAA AAAAAAAAAABQhQAAAAAAAIcAAACmAAAAAAAAAAAAAACwhQAAAAAAAIYAAAAWAAAAiAQAAAAAAADA hQAAAAAAAIcAAAAWAAAAiAQAAAAAAADShQAAAAAAAEkAAACaAAAAAAAAAAAAAADwhQAAAAAAAIYA AAAWAAAAwAQAAAAAAADxhQAAAAAAAIcAAAAWAAAAwAQAAAAAAAAChgAAAAAAAEkAAACaAAAAAAAA AAAAAAAShgAAAAAAAEkAAACaAAAAAAAAAAAAAAAhhgAAAAAAAIYAAAAWAAAA8AQAAAAAAAAwhgAA AAAAAIcAAAAWAAAA8AQAAAAAAAAyhgAAAAAAAEkAAACaAAAAAAAAAAAAAAAihwAAAAAAAEgAAACB AAAAAAAAAAAAAABhiAAAAAAAAIYAAAAWAAAACAUAAAAAAABiiAAAAAAAAIYAAAAWAAAAGAUAAAAA AABxiAAAAAAAAIYAAAAWAAAAKAUAAAAAAAByiAAAAAAAAIYAAAAWAAAAQAUAAAAAAAAiigAAAAAA AEkAAACXAAAAAAAAAAAAAACAigAAAAAAACoAAABqAAAAAAAAAAAAAACQigAAAAAAAIcAAAAWAAAA CAUAAAAAAADSigAAAAAAAEkAAACaAAAAAAAAAAAAAADxigAAAAAAAIcAAAAWAAAAGAUAAAAAAAAC iwAAAAAAAEkAAACaAAAAAAAAAAAAAAAiiwAAAAAAAEkAAAC/AAAAAAAAAAAAAACBiwAAAAAAAIcA AAAWAAAAKAUAAAAAAACiiwAAAAAAAEkAAACaAAAAAAAAAAAAAADBiwAAAAAAAIcAAAAWAAAAQAUA AAAAAADSiwAAAAAAAEkAAACaAAAAAAAAAAAAAAAwjgAAAAAAACoAAABqAAAAAAAAAAAAAACgjgAA AAAAAIYAAAAWAAAAUAUAAAAAAACwjgAAAAAAAIcAAAAWAAAAUAUAAAAAAADCjgAAAAAAAEkAAACa AAAAAAAAAAAAAAAwjwAAAAAAACoAAABqAAAAAAAAAAAAAACBjwAAAAAAAIYAAAAWAAAAcAUAAAAA AACRjwAAAAAAAIcAAAAWAAAAcAUAAAAAAACyjwAAAAAAACoAAABqAAAAAAAAAAAAAADAjwAAAAAA AIYAAAAWAAAAkAUAAAAAAABAkAAAAAAAAIcAAAAWAAAAkAUAAAAAAABCkAAAAAAAAEkAAACaAAAA AAAAAAAAAABgkAAAAAAAAIYAAAAWAAAAqAUAAAAAAABwkAAAAAAAAIcAAAAWAAAAqAUAAAAAAABy kAAAAAAAAEkAAACaAAAAAAAAAAAAAACRkAAAAAAAAIYAAAAWAAAAyAUAAAAAAACgkAAAAAAAAIcA AAAWAAAAyAUAAAAAAADCkAAAAAAAAEkAAACaAAAAAAAAAAAAAAACkQAAAAAAAIYAAAAWAAAA4AUA AAAAAAAQkQAAAAAAAIYAAAAWAAAA8AUAAAAAAABykQAAAAAAAEkAAABwAAAAAAAAAAAAAADRkQAA AAAAAIYAAAAWAAAA4AUAAAAAAADSkQAAAAAAAIYAAAAWAAAA8AUAAAAAAACikgAAAAAAAEkAAABw AAAAAAAAAAAAAADwkgAAAAAAACoAAABqAAAAAAAAAAAAAADxkgAAAAAAAIcAAAAWAAAA4AUAAAAA AAAikwAAAAAAAEkAAACaAAAAAAAAAAAAAABQkwAAAAAAAIcAAAAWAAAA8AUAAAAAAABgkwAAAAAA ACoAAABqAAAAAAAAAAAAAACQkwAAAAAAAIcAAAAWAAAA4AUAAAAAAACSkwAAAAAAAEkAAACaAAAA AAAAAAAAAADAkwAAAAAAAIcAAAAWAAAA8AUAAAAAAAAilAAAAAAAAEkAAABwAAAAAAAAAAAAAACi lAAAAAAAAEkAAABwAAAAAAAAAAAAAACylQAAAAAAAEkAAABwAAAAAAAAAAAAAAAClwAAAAAAAIYA AACGAAAAAAAAAAAAAAAQlwAAAAAAAIYAAABeAAAAAAAAAAAAAAAwlwAAAAAAAIcAAACGAAAAAAAA AAAAAAAxlwAAAAAAAIcAAABeAAAAAAAAAAAAAABylwAAAAAAAEkAAACrAAAAAAAAAAAAAADAlwAA AAAAACoAAABqAAAAAAAAAAAAAADBlwAAAAAAAIYAAAAWAAAACAYAAAAAAADRlwAAAAAAAIcAAAAW AAAACAYAAAAAAADylwAAAAAAAEkAAACaAAAAAAAAAAAAAADCmAAAAAAAAEkAAAB3AAAAAAAAAAAA AADSmAAAAAAAAEkAAAB8AAAAAAAAAAAAAADimQAAAAAAAEkAAACWAAAAAAAAAAAAAADymgAAAAAA AEkAAACWAAAAAAAAAAAAAACinAAAAAAAAIYAAACmAAAAAAAAAAAAAADRnAAAAAAAAIcAAACmAAAA AAAAAAAAAABCnQAAAAAAAEkAAACOAAAAAAAAAAAAAACBnQAAAAAAAIYAAACmAAAAAAAAAAAAAACQ nQAAAAAAAFIAAABAAAAAAAAAAAAAAACRnQAAAAAAAIYAAAAWAAAAKAYAAAAAAACwnQAAAAAAAIcA AACmAAAAAAAAAAAAAADgnQAAAAAAAIcAAAAWAAAAKAYAAAAAAABingAAAAAAAEkAAACaAAAAAAAA AAAAAACingAAAAAAAEkAAACOAAAAAAAAAAAAAAACnwAAAAAAAEkAAAB+AAAAAAAAAAAAAAASnwAA AAAAAEkAAACgAAAAAAAAAAAAAACCoAAAAAAAAIYAAABtAAAAAAAAAAAAAACxoAAAAAAAAIcAAABt AAAAAAAAAAAAAADwoQAAAAAAAIYAAABtAAAAAAAAAAAAAAAhogAAAAAAAIcAAABtAAAAAAAAAAAA AACCowAAAAAAACoAAAAPAAAAAAAAAAAAAACgowAAAAAAACoAAAAPAAAAAAAAAAAAAADyowAAAAAA AEkAAACUAAAAAAAAAAAAAAASpQAAAAAAAEkAAACUAAAAAAAAAAAAAADipQAAAAAAAIYAAAAWAAAA UAYAAAAAAADwpQAAAAAAAIYAAAAWAAAAeAYAAAAAAAAQpwAAAAAAACoAAABqAAAAAAAAAAAAAAAR pwAAAAAAAIcAAAAWAAAAUAYAAAAAAABCpwAAAAAAAEkAAACaAAAAAAAAAAAAAABhpwAAAAAAAIcA AAAWAAAAeAYAAAAAAABypwAAAAAAAEkAAACaAAAAAAAAAAAAAACgpwAAAAAAACoAAABqAAAAAAAA AAAAAADApwAAAAAAAIYAAAAWAAAAoAYAAAAAAADBpwAAAAAAAIcAAAAWAAAAoAYAAAAAAADSpwAA AAAAAEkAAACaAAAAAAAAAAAAAADwpwAAAAAAAIYAAAAWAAAAyAYAAAAAAAABqAAAAAAAAIcAAAAW AAAAyAYAAAAAAAASqAAAAAAAAEkAAACaAAAAAAAAAAAAAABSqAAAAAAAACoAAABqAAAAAAAAAAAA AADQqAAAAAAAACoAAABqAAAAAAAAAAAAAAAwqQAAAAAAACoAAABqAAAAAAAAAAAAAACQqQAAAAAA ACoAAABqAAAAAAAAAAAAAADhqQAAAAAAACoAAABqAAAAAAAAAAAAAADiqQAAAAAAAIYAAAAWAAAA 4AYAAAAAAAAQqgAAAAAAAIcAAAAWAAAA4AYAAAAAAABSqgAAAAAAAEkAAACaAAAAAAAAAAAAAABw qgAAAAAAACoAAABqAAAAAAAAAAAAAACAqgAAAAAAAIYAAAAWAAAAAAcAAAAAAACRqgAAAAAAAIcA AAAWAAAAAAcAAAAAAADSqgAAAAAAAEkAAACaAAAAAAAAAAAAAAAQqwAAAAAAAIYAAAAWAAAAIAcA AAAAAAARqwAAAAAAAIcAAAAWAAAAIAcAAAAAAAAiqwAAAAAAAEkAAACaAAAAAAAAAAAAAABAqwAA AAAAAIYAAAAWAAAAQAcAAAAAAABBqwAAAAAAAIcAAAAWAAAAQAcAAAAAAABSqwAAAAAAAEkAAACa AAAAAAAAAAAAAABwqwAAAAAAAIYAAAAWAAAAYAcAAAAAAABxqwAAAAAAAIcAAAAWAAAAYAcAAAAA AACCqwAAAAAAAEkAAACaAAAAAAAAAAAAAACgqwAAAAAAAIYAAAAWAAAAgAcAAAAAAAChqwAAAAAA AIcAAAAWAAAAgAcAAAAAAACyqwAAAAAAAEkAAACaAAAAAAAAAAAAAADSrgAAAAAAAEkAAADDAAAA AAAAAAAAAAAirwAAAAAAAEkAAACqAAAAAAAAAAAAAAAxrwAAAAAAAIYAAABtAAAAAAAAAAAAAABA rwAAAAAAAIcAAABtAAAAAAAAAAAAAAByrwAAAAAAAEkAAADDAAAAAAAAAAAAAACCsQAAAAAAAEkA AADAAAAAAAAAAAAAAACgsQAAAAAAACoAAABqAAAAAAAAAAAAAAChsQAAAAAAAIYAAAAWAAAAoAcA AAAAAACxsQAAAAAAAIcAAAAWAAAAoAcAAAAAAADysQAAAAAAAEkAAACaAAAAAAAAAAAAAABQsgAA AAAAAIYAAAAMAAAAAAAAAAAAAABhsgAAAAAAAIcAAAAMAAAAAAAAAAAAAACysgAAAAAAAEkAAABs AAAAAAAAAAAAAADysgAAAAAAAIYAAAAWAAAAwAcAAAAAAAAAswAAAAAAAIYAAAAWAAAA2AcAAAAA AAASswAAAAAAAEkAAACZAAAAAAAAAAAAAACitQAAAAAAAEkAAACfAAAAAAAAAAAAAADCtQAAAAAA AEkAAABoAAAAAAAAAAAAAAAitgAAAAAAAEkAAACFAAAAAAAAAAAAAABAtgAAAAAAAIcAAAAWAAAA wAcAAAAAAABQtgAAAAAAAIcAAAAWAAAA2AcAAAAAAABStgAAAAAAAEkAAACaAAAAAAAAAAAAAACQ tgAAAAAAACoAAABqAAAAAAAAAAAAAADQtgAAAAAAAIYAAAAWAAAA8AcAAAAAAADgtgAAAAAAAIcA AAAWAAAA8AcAAAAAAADytgAAAAAAAEkAAACaAAAAAAAAAAAAAABitwAAAAAAAIYAAAAMAAAAAAAA AAAAAACBtwAAAAAAAIcAAAAMAAAAAAAAAAAAAADStwAAAAAAAEkAAACQAAAAAAAAAAAAAAAiuAAA AAAAAEkAAACzAAAAAAAAAAAAAAAyuAAAAAAAAEkAAACtAAAAAAAAAAAAAABQuAAAAAAAACoAAABq AAAAAAAAAAAAAACCuAAAAAAAAEkAAAB+AAAAAAAAAAAAAACSuAAAAAAAAEkAAABkAAAAAAAAAAAA AACyuAAAAAAAAEkAAACnAAAAAAAAAAAAAADxuAAAAAAAAIYAAAAWAAAACAgAAAAAAAAAuQAAAAAA AIcAAAAWAAAACAgAAAAAAAASuQAAAAAAAEkAAACaAAAAAAAAAAAAAAAwuQAAAAAAAIYAAAAWAAAA MAgAAAAAAABAuQAAAAAAAIcAAAAWAAAAMAgAAAAAAABCuQAAAAAAAEkAAACaAAAAAAAAAAAAAACA uQAAAAAAAIYAAABtAAAAAAAAAAAAAACxuQAAAAAAAIcAAABtAAAAAAAAAAAAAABRugAAAAAAAIYA AABtAAAAAAAAAAAAAACgugAAAAAAAIcAAABtAAAAAAAAAAAAAADAvAAAAAAAAIYAAABtAAAAAAAA AAAAAADRvAAAAAAAAIcAAABtAAAAAAAAAAAAAACivwAAAAAAAEkAAAB3AAAAAAAAAAAAAADCvwAA AAAAAEkAAACsAAAAAAAAAAAAAAASwAAAAAAAAEkAAACNAAAAAAAAAAAAAAAiwAAAAAAAAEkAAACs AAAAAAAAAAAAAABywAAAAAAAAEkAAACNAAAAAAAAAAAAAACCwAAAAAAAAEkAAACsAAAAAAAAAAAA AABCwQAAAAAAAEkAAAB8AAAAAAAAAAAAAAAQwgAAAAAAAIYAAAAXAAAAyAAAAAAAAAAwwgAAAAAA AIcAAAAXAAAAyAAAAAAAAAAiwwAAAAAAAEkAAACjAAAAAAAAAAAAAADiwwAAAAAAAEkAAACjAAAA AAAAAAAAAAAgxAAAAAAAAIYAAAAXAAAAAAAAAAAAAAAxxAAAAAAAAIcAAAAXAAAAAAAAAAAAAAAy xAAAAAAAAEkAAAByAAAAAAAAAAAAAADQxAAAAAAAAIYAAAC3AAAAAAAAAAAAAADwxAAAAAAAAIcA AAC3AAAAAAAAAAAAAABCxQAAAAAAAEkAAACEAAAAAAAAAAAAAAByxQAAAAAAAEkAAACfAAAAAAAA AAAAAAACxgAAAAAAAEkAAACjAAAAAAAAAAAAAACCxgAAAAAAAEkAAACjAAAAAAAAAAAAAACyxgAA AAAAAEkAAAB0AAAAAAAAAAAAAADQxgAAAAAAACoAAABqAAAAAAAAAAAAAADRxgAAAAAAAIYAAAAW AAAAQAgAAAAAAADhxgAAAAAAAIcAAAAWAAAAQAgAAAAAAAACxwAAAAAAAEkAAACaAAAAAAAAAAAA AAAhxwAAAAAAAIYAAAAWAAAAYAgAAAAAAAAwxwAAAAAAAIcAAAAWAAAAYAgAAAAAAABCxwAAAAAA AEkAAACaAAAAAAAAAAAAAABgxwAAAAAAACoAAABqAAAAAAAAAAAAAACyxwAAAAAAAEkAAAB3AAAA AAAAAAAAAADCxwAAAAAAAEkAAAB8AAAAAAAAAAAAAADixwAAAAAAAEkAAACNAAAAAAAAAAAAAADy xwAAAAAAAEkAAACsAAAAAAAAAAAAAAAQyAAAAAAAAIYAAAAWAAAAeAgAAAAAAAARyAAAAAAAAIcA AAAWAAAAeAgAAAAAAAAiyAAAAAAAAEkAAACaAAAAAAAAAAAAAABiyQAAAAAAAEkAAACjAAAAAAAA AAAAAACByQAAAAAAAIYAAAC3AAAAAAAAAAAAAACRyQAAAAAAAIcAAAC3AAAAAAAAAAAAAADCyQAA AAAAAEkAAACEAAAAAAAAAAAAAABiygAAAAAAAEkAAACjAAAAAAAAAAAAAADyygAAAAAAAEkAAACj AAAAAAAAAAAAAAAyywAAAAAAAEkAAAB0AAAAAAAAAAAAAADCywAAAAAAAEkAAACjAAAAAAAAAAAA AADyywAAAAAAAEkAAADCAAAAAAAAAAAAAAByzAAAAAAAAEkAAACjAAAAAAAAAAAAAADSzQAAAAAA AEkAAACjAAAAAAAAAAAAAADizgAAAAAAAEkAAACjAAAAAAAAAAAAAADizwAAAAAAAEkAAACjAAAA AAAAAAAAAAAS0QAAAAAAAEkAAACjAAAAAAAAAAAAAADQ0QAAAAAAACoAAABqAAAAAAAAAAAAAADR 0QAAAAAAAIYAAAAWAAAAmAgAAAAAAADh0QAAAAAAAIcAAAAWAAAAmAgAAAAAAAAC0gAAAAAAAEkA AACaAAAAAAAAAAAAAAAg0gAAAAAAAIYAAAAWAAAAqAgAAAAAAAAw0gAAAAAAAIcAAAAWAAAAqAgA AAAAAAAy0gAAAAAAAEkAAACaAAAAAAAAAAAAAABQ0gAAAAAAAIYAAAAWAAAAyAgAAAAAAABg0gAA AAAAAIcAAAAWAAAAyAgAAAAAAADy0gAAAAAAAEkAAACjAAAAAAAAAAAAAAAg0wAAAAAAAIYAAAC3 AAAAAAAAAAAAAAAx0wAAAAAAAIcAAAC3AAAAAAAAAAAAAABi0wAAAAAAAEkAAACEAAAAAAAAAAAA AACQ0wAAAAAAAIYAAAAMAAAAMAAAAAAAAACg0wAAAAAAAIcAAAAMAAAAMAAAAAAAAACi0wAAAAAA AEkAAAByAAAAAAAAAAAAAAAi1AAAAAAAAEkAAACjAAAAAAAAAAAAAACS1AAAAAAAAEkAAACjAAAA AAAAAAAAAAAy1QAAAAAAAEkAAACjAAAAAAAAAAAAAAAC1gAAAAAAAEkAAACjAAAAAAAAAAAAAAAi 2AAAAAAAAEkAAACjAAAAAAAAAAAAAACh2AAAAAAAAIYAAABtAAAAAAAAAAAAAACx2AAAAAAAAIcA AABtAAAAAAAAAAAAAABi2QAAAAAAAIYAAABtAAAAAAAAAAAAAACB2QAAAAAAAIcAAABtAAAAAAAA AAAAAABg2gAAAAAAACoAAABqAAAAAAAAAAAAAABh2gAAAAAAAIYAAAAWAAAA0AgAAAAAAABx2gAA AAAAAIcAAAAWAAAA0AgAAAAAAACS2gAAAAAAAEkAAACaAAAAAAAAAAAAAAAC2wAAAAAAAIYAAAAW AAAA8AgAAAAAAABA2wAAAAAAAIcAAAAWAAAA8AgAAAAAAABi2wAAAAAAAEkAAACaAAAAAAAAAAAA AABi3AAAAAAAAEkAAACjAAAAAAAAAAAAAADS3AAAAAAAAEkAAACNAAAAAAAAAAAAAACR3QAAAAAA AIYAAAAWAAAA+AgAAAAAAACh3QAAAAAAAIcAAAAWAAAA+AgAAAAAAADi3QAAAAAAAEkAAACaAAAA AAAAAAAAAADy3QAAAAAAAIYAAAAWAAAAEAkAAAAAAAAB3gAAAAAAAIcAAAAWAAAAEAkAAAAAAAAS 3gAAAAAAAEkAAACaAAAAAAAAAAAAAAAi3gAAAAAAAIYAAAAWAAAAKAkAAAAAAAAx3gAAAAAAAIcA AAAWAAAAKAkAAAAAAABC3gAAAAAAAEkAAACaAAAAAAAAAAAAAABS3gAAAAAAAIYAAAAWAAAAQAkA AAAAAABg3gAAAAAAAIcAAAAWAAAAQAkAAAAAAABi3gAAAAAAAEkAAACaAAAAAAAAAAAAAAAg3wAA AAAAACoAAABqAAAAAAAAAAAAAAAh3wAAAAAAAIYAAAAWAAAAWAkAAAAAAAAx3wAAAAAAAIcAAAAW AAAAWAkAAAAAAABS3wAAAAAAAEkAAACaAAAAAAAAAAAAAACA3wAAAAAAACoAAABqAAAAAAAAAAAA AACB3wAAAAAAAIYAAAAWAAAAeAkAAAAAAACR3wAAAAAAAIcAAAAWAAAAeAkAAAAAAACy3wAAAAAA AEkAAACaAAAAAAAAAAAAAADR3wAAAAAAAIYAAAAWAAAAkAkAAAAAAADg3wAAAAAAAIcAAAAWAAAA kAkAAAAAAADi3wAAAAAAAEkAAACaAAAAAAAAAAAAAACC4AAAAAAAAIYAAAAWAAAAKAIAAAAAAACS 4AAAAAAAAIYAAAAWAAAAqAkAAAAAAACh4AAAAAAAACoAAABqAAAAAAAAAAAAAACx4AAAAAAAAIcA AAAWAAAAKAIAAAAAAACy4AAAAAAAAIYAAAAWAAAAwAkAAAAAAADS4AAAAAAAAEkAAAC/AAAAAAAA AAAAAACA4QAAAAAAAIcAAAAWAAAAwAkAAAAAAACi4QAAAAAAAEkAAACaAAAAAAAAAAAAAADA4QAA AAAAACoAAABqAAAAAAAAAAAAAADy4QAAAAAAAEkAAACaAAAAAAAAAAAAAAAR4gAAAAAAAIcAAAAW AAAAqAkAAAAAAAAi4gAAAAAAAEkAAACaAAAAAAAAAAAAAABS4gAAAAAAACoAAABqAAAAAAAAAAAA AACg4gAAAAAAAIYAAAAWAAAA2AkAAAAAAACx4gAAAAAAAIcAAAAWAAAA2AkAAAAAAADC4gAAAAAA AEkAAACaAAAAAAAAAAAAAAAC4wAAAAAAAEkAAAB3AAAAAAAAAAAAAAAy4wAAAAAAAEkAAAB8AAAA AAAAAAAAAABQ4wAAAAAAACoAAABqAAAAAAAAAAAAAABR4wAAAAAAAIYAAAAWAAAACAoAAAAAAABh 4wAAAAAAAIcAAAAWAAAACAoAAAAAAACC4wAAAAAAAEkAAACaAAAAAAAAAAAAAAAS5QAAAAAAAEkA AAB7AAAAAAAAAAAAAAAy5QAAAAAAAEkAAACkAAAAAAAAAAAAAABR5QAAAAAAAIYAAACmAAAAAAAA AAAAAABx5QAAAAAAAIcAAACmAAAAAAAAAAAAAAAy5gAAAAAAAEkAAACFAAAAAAAAAAAAAABQ5gAA AAAAAIYAAAAWAAAA2AcAAAAAAABR5gAAAAAAAIYAAAAWAAAAwAcAAAAAAABg5gAAAAAAAIcAAAAW AAAA2AcAAAAAAABh5gAAAAAAAIcAAAAWAAAAwAcAAAAAAABi5gAAAAAAAEkAAACaAAAAAAAAAAAA AACB5gAAAAAAACoAAABqAAAAAAAAAAAAAACR5gAAAAAAAIYAAAAWAAAAKAoAAAAAAACw5gAAAAAA AIcAAAAWAAAAKAoAAAAAAADi5gAAAAAAAEkAAACaAAAAAAAAAAAAAABy5wAAAAAAAEkAAACuAAAA AAAAAAAAAACQ5wAAAAAAACoAAABqAAAAAAAAAAAAAACR5wAAAAAAAIYAAAAWAAAAOAoAAAAAAACh 5wAAAAAAAIcAAAAWAAAAOAoAAAAAAADC5wAAAAAAAEkAAACaAAAAAAAAAAAAAABS6AAAAAAAAEkA AACpAAAAAAAAAAAAAABy6AAAAAAAAEkAAACuAAAAAAAAAAAAAADi6AAAAAAAAEkAAADDAAAAAAAA AAAAAABy6QAAAAAAAEkAAACCAAAAAAAAAAAAAACy6QAAAAAAAEkAAACqAAAAAAAAAAAAAADi6QAA AAAAAEkAAACCAAAAAAAAAAAAAAAS6gAAAAAAAEkAAACCAAAAAAAAAAAAAABS6gAAAAAAAEkAAACq AAAAAAAAAAAAAACC6gAAAAAAAEkAAACCAAAAAAAAAAAAAACR6gAAAAAAACoAAAASAAAAOAAAAAAA AADi6gAAAAAAAEkAAACqAAAAAAAAAAAAAAAS6wAAAAAAAEkAAACCAAAAAAAAAAAAAABS6wAAAAAA AEkAAACqAAAAAAAAAAAAAACC6wAAAAAAAEkAAACCAAAAAAAAAAAAAADS6wAAAAAAAEkAAAB1AAAA AAAAAAAAAAAC7AAAAAAAAEkAAADDAAAAAAAAAAAAAAAy7AAAAAAAAEkAAAB1AAAAAAAAAAAAAABi 7AAAAAAAAIYAAAAWAAAASAoAAAAAAACA7AAAAAAAAIcAAAAWAAAASAoAAAAAAACC7AAAAAAAAEkA AABmAAAAAAAAAAAAAACh7AAAAAAAACoAAABqAAAAAAAAAAAAAACi7AAAAAAAAIYAAAAWAAAAWAoA AAAAAACx7AAAAAAAAIcAAAAWAAAAWAoAAAAAAADS7AAAAAAAAEkAAACaAAAAAAAAAAAAAAAi7QAA AAAAAEkAAACdAAAAAAAAAAAAAABA7QAAAAAAACoAAABqAAAAAAAAAAAAAABB7QAAAAAAAIYAAAAW AAAAiAoAAAAAAABR7QAAAAAAAIcAAAAWAAAAiAoAAAAAAABy7QAAAAAAAEkAAACaAAAAAAAAAAAA AACS7QAAAAAAAEkAAABlAAAAAAAAAAAAAADA7QAAAAAAACoAAAASAAAACAAAAAAAAADC7QAAAAAA AEkAAABxAAAAAAAAAAAAAADi7QAAAAAAAEkAAAC8AAAAAAAAAAAAAAAS7gAAAAAAAEkAAAChAAAA AAAAAAAAAABS7gAAAAAAAEkAAACfAAAAAAAAAAAAAAAC7wAAAAAAAEkAAABgAAAAAAAAAAAAAAAh 7wAAAAAAACoAAAAPAAAACAAAAAAAAAAi7wAAAAAAAIYAAAAOAAAAQAAAAAAAAAAx7wAAAAAAAIcA AAAOAAAAQAAAAAAAAACQ7wAAAAAAAIYAAAAWAAAAqAoAAAAAAACg7wAAAAAAAIcAAAAWAAAAqAoA AAAAAADA8AAAAAAAACoAAAAPAAAABAAAAAAAAADh8AAAAAAAAIYAAAAOAAAAIAAAAAAAAAAh8QAA AAAAAIcAAAAOAAAAIAAAAAAAAACx8wAAAAAAAFIAAAB8AAAAAAAAAAAAAACy8wAAAAAAAFIAAAB3 AAAAAAAAAAAAAADA8wAAAAAAAFIAAACxAAAAAAAAAAAAAADB8wAAAAAAAFIAAACDAAAAAAAAAAAA AADC8wAAAAAAAFIAAAC2AAAAAAAAAAAAAADQ8wAAAAAAAFIAAACbAAAAAAAAAAAAAADR8wAAAAAA AFIAAACyAAAAAAAAAAAAAADg8wAAAAAAAFIAAAC4AAAAAAAAAAAAAACx9AAAAAAAAFIAAACvAAAA AAAAAAAAAAAC9QAAAAAAAEkAAACVAAAAAAAAAAAAAAAh9QAAAAAAAIYAAAAWAAAA2AoAAAAAAABA 9QAAAAAAAIcAAAAWAAAA2AoAAAAAAABC9QAAAAAAAEkAAACaAAAAAAAAAAAAAABy9QAAAAAAAEkA AAC1AAAAAAAAAAAAAACC9QAAAAAAAEkAAACwAAAAAAAAAAAAAACi9QAAAAAAAEkAAAB0AAAAAAAA AAAAAADi9QAAAAAAAEkAAABhAAAAAAAAAAAAAADy9QAAAAAAAEkAAACsAAAAAAAAAAAAAAAg9gAA AAAAAIYAAAAWAAAA+AoAAAAAAAAw9gAAAAAAAIcAAAAWAAAA+AoAAAAAAABC9gAAAAAAAEkAAACa AAAAAAAAAAAAAABi9gAAAAAAAEkAAABuAAAAAAAAAAAAAACC9gAAAAAAAEkAAAB6AAAAAAAAAAAA AACS9gAAAAAAAEkAAACNAAAAAAAAAAAAAACi9gAAAAAAAEkAAACsAAAAAAAAAAAAAADR9gAAAAAA AIYAAABtAAAAAAAAAAAAAADx9gAAAAAAAIcAAABtAAAAAAAAAAAAAADA9wAAAAAAAIYAAAAWAAAA GAsAAAAAAAAR+AAAAAAAAIcAAAAWAAAAGAsAAAAAAABy+AAAAAAAAEkAAACaAAAAAAAAAAAAAABS +QAAAAAAAEkAAACuAAAAAAAAAAAAAABx+QAAAAAAAIYAAAAWAAAAUAsAAAAAAACQ+QAAAAAAAIcA AAAWAAAAUAsAAAAAAACh+QAAAAAAAIYAAAAWAAAAeAsAAAAAAACx+QAAAAAAAIcAAAAWAAAAeAsA AAAAAADC+QAAAAAAAEkAAACaAAAAAAAAAAAAAADi+QAAAAAAAEkAAACLAAAAAAAAAAAAAAAw+gAA AAAAAIYAAAAWAAAAmAsAAAAAAAAx+gAAAAAAAIcAAAAWAAAAmAsAAAAAAABC+gAAAAAAAEkAAACa AAAAAAAAAAAAAABR+gAAAAAAAIYAAAAWAAAAuAsAAAAAAABg+gAAAAAAAIcAAAAWAAAAuAsAAAAA AABy+gAAAAAAAEkAAACaAAAAAAAAAAAAAACQ+gAAAAAAAIYAAAAWAAAAyAsAAAAAAACg+gAAAAAA AIcAAAAWAAAAyAsAAAAAAACy+gAAAAAAAEkAAACaAAAAAAAAAAAAAADS+gAAAAAAAEkAAAC1AAAA AAAAAAAAAADi+gAAAAAAAEkAAACwAAAAAAAAAAAAAAAA+wAAAAAAAIYAAAAWAAAA6AsAAAAAAAAQ +wAAAAAAAIcAAAAWAAAA6AsAAAAAAAAi+wAAAAAAAEkAAACaAAAAAAAAAAAAAAAy+wAAAAAAAEkA AAC1AAAAAAAAAAAAAABR+wAAAAAAAIYAAAAWAAAAAAwAAAAAAABg+wAAAAAAAIcAAAAWAAAAAAwA AAAAAABy+wAAAAAAAEkAAACaAAAAAAAAAAAAAACy+wAAAAAAAEkAAACdAAAAAAAAAAAAAADQ+wAA AAAAACoAAABqAAAAAAAAAAAAAADR+wAAAAAAAIYAAAAWAAAAQAwAAAAAAADh+wAAAAAAAIcAAAAW AAAAQAwAAAAAAAAC/AAAAAAAAEkAAACaAAAAAAAAAAAAAAAi/AAAAAAAAEkAAAC1AAAAAAAAAAAA AABB/AAAAAAAAIYAAAAMAAAAUAEAAAAAAABg/AAAAAAAAIcAAAAMAAAAUAEAAAAAAABy/AAAAAAA AEkAAABiAAAAAAAAAAAAAADS/AAAAAAAAEkAAAB4AAAAAAAAAAAAAAAB/QAAAAAAAIYAAAAMAAAA UAEAAAAAAAAg/QAAAAAAAIcAAAAMAAAAUAEAAAAAAAAi/QAAAAAAAEkAAAB4AAAAAAAAAAAAAAAx /QAAAAAAACoAAABqAAAAAAAAAAAAAAAy/QAAAAAAAIYAAAAWAAAAeAwAAAAAAABB/QAAAAAAAIcA AAAWAAAAeAwAAAAAAABi/QAAAAAAAEkAAACaAAAAAAAAAAAAAAAQAAAAAAAAACoAAABqAAAAAAAA AAAAAABCAAAAAAAAAEkAAAAIAAAAYAoAAAAAAABSAAAAAAAAAEkAAAC1AAAAAAAAAAAAAABiAAAA AAAAAEkAAACwAAAAAAAAAAAAAACCAAAAAAAAAEkAAABuAAAAAAAAAAAAAACSAAAAAAAAAEkAAACY AAAAAAAAAAAAAADQAAAAAAAAAIYAAAAWAAAAYAwAAAAAAADgAAAAAAAAAIcAAAAWAAAAYAwAAAAA AADyAAAAAAAAAEkAAACaAAAAAAAAAAAAAAAQAAAAAAAAAEcAAABfAAAAAAAAAAAAAABgAQAAAAAA ACcAAAAWAAAAAAAAAAAAAABoAQAAAAAAACcAAAAMAAAA8AAAAAAAAABwAQAAAAAAAEcAAAArAAAA AAAAAAAAAAB4AQAAAAAAAEcAAAAsAAAAAAAAAAAAAACQAAAAAAAAAEcAAAB5AAAAAAAAAAAAAACY CQAAAAAAAEcAAABvAAAAAAAAAAAAAAAAAAAAAAAAAE0AAAAIAAAAAMIAAAAAAAAEAAAAAAAAAE0A AAAIAAAAFMIAAAAAAADIAAAAAAAAAE8AAAAIAAAA0NQAAAAAAADQAAAAAAAAAE8AAAAIAAAAYMIA AAAAAADYAAAAAAAAAE8AAAAIAAAAkMMAAAAAAADgAAAAAAAAAE8AAAAIAAAAIMQAAAAAAADoAAAA AAAAAE8AAAAIAAAA0MQAAAAAAADwAAAAAAAAAE8AAAAIAAAA0NQAAAAAAAD4AAAAAAAAAE8AAAAI AAAA0NQAAAAAAAAAAQAAAAAAAE8AAAAIAAAA0NQAAAAAAAAIAQAAAAAAAE8AAAAIAAAA0NQAAAAA AAAQAQAAAAAAAE8AAAAIAAAAYMcAAAAAAAAYAQAAAAAAAE8AAAAIAAAAQMgAAAAAAAAgAQAAAAAA AE8AAAAIAAAA4MgAAAAAAAAoAQAAAAAAAE8AAAAIAAAAcMsAAAAAAAAwAQAAAAAAAE8AAAAIAAAA 0NQAAAAAAAA4AQAAAAAAAE8AAAAIAAAA0NQAAAAAAABAAQAAAAAAAE8AAAAIAAAA0NQAAAAAAABI AQAAAAAAAE8AAAAIAAAA0NQAAAAAAABQAQAAAAAAAE8AAAAIAAAA0NQAAAAAAABYAQAAAAAAAE8A AAAIAAAA0MwAAAAAAABgAQAAAAAAAE8AAAAIAAAAgM0AAAAAAABoAQAAAAAAAE8AAAAIAAAAEM4A AAAAAABwAQAAAAAAAE8AAAAIAAAAkM4AAAAAAAB4AQAAAAAAAE8AAAAIAAAAcM4AAAAAAACAAQAA AAAAAE8AAAAIAAAAkM4AAAAAAACIAQAAAAAAAE8AAAAIAAAAUM8AAAAAAACQAQAAAAAAAE8AAAAI AAAAkM8AAAAAAACYAQAAAAAAAE8AAAAIAAAAUNAAAAAAAACgAQAAAAAAAE8AAAAIAAAAcNIAAAAA AACoAQAAAAAAAE8AAAAIAAAA4NQAAAAAAACwAQAAAAAAAE8AAAAIAAAA0NQAAAAAAAC4AQAAAAAA AE8AAAAIAAAAcNUAAAAAAADAAQAAAAAAAE8AAAAIAAAAsNUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwACAAAAAAAAAAAAAAAAAAAAAAAA AAAAAwADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAFAAAA AAAAAAAAAAAAAAAAAAAAAAAAAwAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAHAAAAAAAAAAAAAAAA AAAAAAAAAAAAAwAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAJAAAAAAAAAAAAAAAAAAAAAAAAAAAA AwAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAMAAAAAAAA AAAAAAAAAAAAAAAAAAAAAwANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAOAAAAAAAAAAAAAAAAAAAA AAAAAAAAAwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAR AAAAAAAAAAAAAAAAAAAAAAAAAAAAAwASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwATAAAAAAAAAAAA AAAAAAAAAAAAAAAAAwAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAVAAAAAAAAAAAAAAAAAAAAAAAA AAAAAwAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAYAAAA AAAAAAAAAAAAAAAAAAAAAAAAAwAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAaAAAAAAAAAAAAAAAA AAAAAAAAAAAAAwAbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAcAAAAAAAAAAAAAAAAAAAAAAAAAAAA AwAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAeAAAAAAAAAAAAAAAAAAAAAAABAAAABADx/wAAAAAA AAAAAAAAAAAAAAAIAAAAAQASAAgAAAAAAAAABQAAAAAAAAAZAAAAAQASABAAAAAAAAAACAAAAAAA AAAqAAAAAQASABgAAAAAAAAACAAAAAAAAAA7AAAAAQASACAAAAAAAAAACAAAAAAAAABMAAAAAQAS ACgAAAAAAAAACAAAAAAAAABdAAAAAQASADAAAAAAAAAACAAAAAAAAABuAAAAAQAMAAAAAAAAAAAA MAAAAAAAAAB7AAAAAQAMADAAAAAAAAAAwAAAAAAAAACJAAAAAQASADgAAAAAAAAAAQAAAAAAAACX AAAAAQAMAPAAAAAAAAAAYAAAAAAAAACgAAAAAQAMAFABAAAAAAAAIAEAAAAAAACsAAAAAgAIAGDs AAAAAAAA4A8AAAAAAAC6AAAAAgAKAAAAAAAAAAAAEAEAAAAAAADHAAAAAgAIAAAAAAAAAAAAUAoA AAAAAADVAAAAAgAIAGAKAAAAAAAAoAIAAAAAAADjAAAAAgAIAAANAAAAAAAAUCcAAAAAAADrAAAA AQAPAAwAAAAAAAAABAAAAAAAAADzAAAAAgAIAGA0AAAAAAAAIAYAAAAAAAAIAQAAAgAIAIA6AAAA AAAA8AAAAAAAAAAfAQAAAgAIAABPAAAAAAAAgAUAAAAAAAAoAQAAAgAIAOBXAAAAAAAA8AAAAAAA AAAwAQAAAQAOAAAAAAAAAAAAIAAAAAAAAAA6AQAAAgAIACBfAAAAAAAAgAMAAAAAAABIAQAAAgAI AKBiAAAAAAAAAAQAAAAAAABWAQAAAgAIAKBmAAAAAAAAgAcAAAAAAABkAQAAAgAIACBuAAAAAAAA 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 AAAAAAAAAAA9CAAAEgAIAOB1AAAAAAAAUAEAAAAAAABOCAAAEgAIAOCyAAAAAAAAkAMAAAAAAABc CAAAEAAAAAAAAAAAAAAAAAAAAAAAAABxCAAAEgAIAEDiAAAAAAAAYAEAAAAAAACCCAAAEAAAAAAA AAAAAAAAAAAAAAAAAACWCAAAEgAIAKB/AAAAAAAA8AYAAAAAAACgCAAAEgAIAIDWAAAAAAAAAAgA AAAAAACrCAAAEgAIACCyAAAAAAAAwAAAAAAAAAC6CAAAEQATAIACAAAAAAAAgAAAAAAAAADJCAAA EAAAAAAAAAAAAAAAAAAAAAAAAADcCAAAEgAIAECNAAAAAAAAoAcAAAAAAADvCAAAEAAAAAAAAAAA AAAAAAAAAAAAAAD8CAAAEgAIAIDeAAAAAAAAkAEAAAAAAAAMCQAAEAAAAAAAAAAAAAAAAAAAAAAA AAAVCQAAEQATAAADAAAAAAAAgAAAAAAAAAAkCQAAEgAIACDgAAAAAAAAIAIAAAAAAAAxCQAAEAAA AAAAAAAAAAAAAAAAAAAAAABACQAAEgAIAIBUAAAAAAAAUAMAAAAAAABOCQAAEAAAAAAAAAAAAAAA AAAAAAAAAABWCQAAEgAIAOBYAAAAAAAAMAYAAAAAAABmCQAAEAAAAAAAAAAAAAAAAAAAAAAAAABy CQAAEgAIAED8AAAAAAAAwAAAAAAAAAB/CQAAEAAAAAAAAAAAAAAAAAAAAAAAAACJCQAAEAAAAAAA AAAAAAAAAAAAAAAAAACiCQAAEQATAIABAAAAAAAAgAAAAAAAAAAAczJpby5jAHMyaW9fZHJpdmVy X25hbWUAcm91bmRfcm9iaW5fcmVnMAByb3VuZF9yb2Jpbl9yZWcxAHJvdW5kX3JvYmluX3JlZzIA cm91bmRfcm9iaW5fcmVnMwByb3VuZF9yb2Jpbl9yZWc0AGV0aHRvb2xfdGVzdABzMmlvX2dzdHJp bmdzAGxhdGVuY3lfdGltZXIAczJpb190YmwAczJpb19kcml2ZXIAczJpb19pbml0X25pYwBzMmlv X3JlbV9uaWMAaW5pdFNoYXJlZE1lbQBmcmVlU2hhcmVkTWVtAGluaXROaWMAcnhfcHJpbwBlbl9k aXNfYWJsZV9OaWNJbnRycwB2ZXJpZnlfeGVuYV9xdWllc2NlbmNlAHN0YXJ0TmljAHN0b3BOaWMA ZnJhbWVfbGVuAGZyZWVSeEJ1ZmZlcnMAcnhJbnRySGFuZGxlcgB0eEludHJIYW5kbGVyAGFsYXJt SW50ckhhbmRsZXIAczJpb19pc3IAdHhfcHJpbwBzMmlvX2V0aHRvb2xfc3NldABzMmlvX2V0aHRv b2xfZ3NldABzMmlvX2V0aHRvb2xfZ2RydmluZm8AczJpb19ldGh0b29sX2dyZWdzAHMyaW9fcGh5 X2lkAHMyaW9fZXRodG9vbF9pZG5pYwBzMmlvX2V0aHRvb2xfZ2V0cGF1c2VfZGF0YQBzMmlvX2V0 aHRvb2xfc2V0cGF1c2VfZGF0YQByZWFkRWVwcm9tAHdyaXRlRWVwcm9tAHJldC4wAHMyaW9fZXRo dG9vbF9nZWVwcm9tAHMyaW9fZXRodG9vbF9zZWVwcm9tAHMyaW9fcmVnaXN0ZXJUZXN0AHMyaW9f ZWVwcm9tVGVzdABzMmlvX2Jpc3RUZXN0AHMyaW9fbGlua1Rlc3QAczJpb19sb29wYmFja1Rlc3QA czJpb19ybGRyYW1UZXN0AHMyaW9fZXRodG9vbF90ZXN0AHMyaW9fZXRodG9vbABzMmlvX2luaXRf cGNpAF9fbW9kX2F1dGhvcjQ0MzMAX19tb2RfbGljZW5zZTQ0MzQAZmlmb19udW0AZmlmb19sZW4A cmluZ19udW0AcmluZ19sZW4AczJpby5tb2QuYwBfX21vZF92ZXJtYWdpYzUAX19fX3ZlcnNpb25z AF9fbW9kdWxlX2RlcGVuZHMAX19tb2RfYWxpYXM3OQBfX21vZF9hbGlhczgwAHBlcl9jcHVfX3Nv ZnRuZXRfZGF0YQBldGhfdGVzdF9yY3ZyAHN0cmNweQBwY2lfc2F2ZV9zdGF0ZQBwY2lfcmVnaXN0 ZXJfZHJpdmVyAGZyZWVfaXJxAHZlcmlmeV90ZXN0RnJtcwBwY2lfc2V0X2NvbnNpc3RlbnRfZG1h X21hc2sAcGNpX2VuYWJsZV9kZXZpY2UAc2JhX2ZyZWVfY29oZXJlbnQAZGV2X3F1ZXVlX3htaXQA czJpb19saW5rAGRlYnVnX2xldmVsAF9fdGhpc19tb2R1bGUAZGV2X2FkZF9wYWNrAHBlcl9jcHVf X2NwdV9pbmZvAHVucmVnaXN0ZXJfbmV0ZGV2AGNsZWFudXBfbW9kdWxlAHdhaXRGb3JDbWRDb21w bGV0ZQBwY2lfcmVxdWVzdF9yZWdpb25zAG1lbWNweQBzYmFfbWFwX3NpbmdsZQBrZnJlZQBwY2lf YnVzX3dyaXRlX2NvbmZpZ19ieXRlAF9fdWRpdnNpMwBzMmlvX2Nsb3NlAHBjaV91bnJlZ2lzdGVy X2RyaXZlcgBpbml0X21vZHVsZQBGaXhNYWNBZGRyZXNzAGV0aF90eXBlX3RyYW5zAHMyaW9fb3Bl bgBfX3Vtb2RkaTMAc2NoZWR1bGVfdGltZW91dAByZXF1ZXN0X2lycQBfX3VkaXZkaTMAaWE2NF9z cGlubG9ja19jb250ZW50aW9uX3ByZTNfNABwY2lfYnVzX3JlYWRfY29uZmlnX3dvcmQAczJpb19n ZXRfc3RhdHMAa21lbV9jYWNoZV9hbGxvYwBza2Jfb3Zlcl9wYW5pYwBwZXJfY3B1X19sb2NhbF9w ZXJfY3B1X29mZnNldABfX3Bhcm1fZmlmb19sZW4AdGFza2xldF9raWxsAF9fdW1vZHNpMwBzYmFf YWxsb2NfY29oZXJlbnQAZ2V0X3hlbmFfcmV2X2lkAF9fbW9kX3BjaV9kZXZpY2VfdGFibGUAczJp b19yZXNldABtb2RfdGltZXIAdGFza2xldF9pbml0AGRldl9yZW1vdmVfcGFjawBfX3Bhcm1fcmlu Z19udW0AX19wYXJtX3JpbmdfbGVuAHNiYV91bm1hcF9zaW5nbGUAaW52AHJlZ2lzdGVyX25ldGRl dgBzdHJuY3B5AF9fdGFza2xldF9zY2hlZHVsZQBmcmVlX25ldGRldgBhbGxvY19za2IAcHJpbnRr AHMyaW9fc2V0X21hY19hZGRyAHBjaV9yZXN0b3JlX3N0YXRlAHBjaV9zZXRfZG1hX21hc2sAczJp b19jbG9zZXIAbWVtc2V0AGRlbF90aW1lcl9zeW5jAHBjaV9zZXRfbWFzdGVyAF9fcGFybV9sYXRl bmN5X3RpbWVyAF9fY29weV91c2VyAG5ldGlmX3J4AHJ4T3NtSGFuZGxlcgBqaWZmaWVzAHJlc2V0 X2xvb3BiYWNrAF9fcGFybV9mcmFtZV9sZW4AX19uZXRkZXZfd2F0Y2hkb2dfdXAAcGNpX2J1c193 cml0ZV9jb25maWdfd29yZAByYWlzZV9zb2Z0aXJxX2lycW9mZgBzMmlvX3NldF9zd2FwcGVyAHNl bmRfdGVzdEZybXMAbGlua3dhdGNoX2ZpcmVfZXZlbnQAczJpb190eF93YXRjaGRvZwBwY2lfcmVs ZWFzZV9yZWdpb25zAHMyaW9feG1pdABzMmlvX2lvY3RsAHNldHVwX2xvb3BiYWNrAF9fcGFybV9y eF9wcmlvAHBjaV9kaXNhYmxlX2RldmljZQBzMmlvX3NldF9tdWx0aWNhc3QAbWFsbG9jX3NpemVz AHMyaW9fY2hhbmdlX210dQBfX21vZHNpMwBfX3Bhcm1fdHhfcHJpbwBzMmlvX3Rhc2tsZXQAYWxs b2NfZXRoZXJkZXYAZnJlZVR4QnVmZmVycwBtZW1fbWFwAGZpbGxfcnhfYnVmZmVycwBfX2tmcmVl X3NrYgBzMmlvX3N0YXJ0ZXIAX19rbWFsbG9jAHBjaV9idXNfcmVhZF9jb25maWdfYnl0ZQBfX3Bh cm1fZmlmb19udW0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAuLy5zMmlvLmtvLmNtZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDEw MDY0NAAwMDAwMDAwADAwMDAwMDAAMDAwMDAwMDA0MTMAMTAwMDMzNjM2MTYAMDExNzM1ACAwAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAcm9vdAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAByb290AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAGNtZF8vaG9tZS94ZnJhbWVfZHJ2LzAxMjAwNC9zMmlvL2xpbnV4L21vbm9saXRo L3NyYy9zMmlvLmtvIDo9IGxkICAtciAtVCBhcmNoL2lhNjQvbW9kdWxlLmxkcyAtbyAvaG9tZS94 ZnJhbWVfZHJ2LzAxMjAwNC9zMmlvL2xpbnV4L21vbm9saXRoL3NyYy9zMmlvLmtvIC9ob21lL3hm cmFtZV9kcnYvMDEyMDA0L3MyaW8vbGludXgvbW9ub2xpdGgvc3JjL3MyaW8ubyAvaG9tZS94ZnJh bWVfZHJ2LzAxMjAwNC9zMmlvL2xpbnV4L21vbm9saXRoL3NyYy9zMmlvLm1vZC5vCgAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== ------=_NextPart_000_0023_01C3E1B3.EB5556E0--