From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pradyumna Sampath Subject: mq_timedrecieve timeout accuracy Date: Wed, 24 Mar 2010 13:27:14 +0100 Message-ID: <6d09081c1003240527r471ee34etbba11b4b7c7e92b3@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=00c09f8a553edb30b504828b0ce6 Cc: rachana.rao@in.abb.com To: linux-rt-users@vger.kernel.org Return-path: Received: from ey-out-2122.google.com ([74.125.78.25]:34861 "EHLO ey-out-2122.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755850Ab0CXM1S (ORCPT ); Wed, 24 Mar 2010 08:27:18 -0400 Received: by ey-out-2122.google.com with SMTP id d26so748179eyd.19 for ; Wed, 24 Mar 2010 05:27:16 -0700 (PDT) Sender: linux-rt-users-owner@vger.kernel.org List-ID: --00c09f8a553edb30b504828b0ce6 Content-Type: text/plain; charset=ISO-8859-1 Hi, We are dealing with an application that is a fairly heavy user of POSIX message queues. While running this application I seemed to have stumbled upon the fact that the timeout in the mq_timedrecieve is innaccurate to the tune of a more than 5-6 miliseconds and that it is fairly consistent even at its highest priority. Cyclictest on the same machine gives me a max deviation of about 7uS, so I guess my timers (hrt) are functioning alright. Here is a small program I hacked up from the LTP sources to demonstrate this behaviour (attached). I ran this on a dual core 2.5Ghz cpu and a uniprocessor 1.5Ghz cpu (cpuinfo below). On the dual-core I can see that its off by 1-2 miliseconds but on the 1.5 Ghz celeron its off by 6-8 miliseconds sometimes. kernel version: 2.6.33.1-rt10 Usage: ./send_rev_2 $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : Intel(R) Celeron(R) M processor 1.50GHz stepping : 8 cpu MHz : 1500.111 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up bts Also attaached is my .config. thanks in advance regards /prady -- http://www.prady.in --00c09f8a553edb30b504828b0ce6 Content-Type: text/plain; charset=US-ASCII; name="send_rev_2.c" Content-Disposition: attachment; filename="send_rev_2.c" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g763xyfc1 DQovKiAgIA0KICogQ29weXJpZ2h0IChjKSAyMDAyLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC4NCiAqIENyZWF0ZWQgYnk6ICBjcnlzdGFsLnhpb25nIFJFTU9WRS1USElT IEFUIGludGVsIERPVCBjb20NCiAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BM IGxpY2Vuc2UuICBGb3IgdGhlIGZ1bGwgY29udGVudA0KICogb2YgdGhpcyBsaWNlbnNlLCBzZWUg dGhlIENPUFlJTkcgZmlsZSBhdCB0aGUgdG9wIGxldmVsIG9mIHRoaXMgDQogKiBzb3VyY2UgdHJl ZS4NCiAqIA0KICogMS4gVHdvIHRocmVhZHMgc2VuZGluZy9yZWNlaXZpbmcgb24gZGlmZmVyZW50 IG1lc3NhZ2UgcXVldWUuDQogKiAyLiBTZXQgZGlmZmVyZW50IFByaW9yaXR5IHRvIHRoZSBtZXNz YWdlcyBpbiB0aGUgbWVzc2FnZSBxdWV1ZSwgdG8gDQogKiBzZWUgd2hldGhlciB0aGUgaGlnaGVz dCBwcmlvcml0eSBpcyByZWNlaXZlZCBmaXJzdC4NCiAqLw0KDQojaW5jbHVkZSA8c3RkaW8uaD4N CiNpbmNsdWRlIDx1bmlzdGQuaD4NCiNpbmNsdWRlIDxmY250bC5oPg0KI2luY2x1ZGUgPHN0ZGxp Yi5oPg0KI2luY2x1ZGUgPHN5cy93YWl0Lmg+DQojaW5jbHVkZSA8c3lzL21tYW4uaD4NCiNpbmNs dWRlIDxzdHJpbmcuaD4NCiNpbmNsdWRlIDxnZXRvcHQuaD4NCiNpbmNsdWRlIDxwdGhyZWFkLmg+ DQojaW5jbHVkZSA8bGltaXRzLmg+DQojaW5jbHVkZSA8bXF1ZXVlLmg+DQojaW5jbHVkZSA8dGlt ZS5oPg0KI2luY2x1ZGUgPGVycm5vLmg+DQoNCiNpbmNsdWRlICJwb3NpeHRlc3QuaCINCg0KI2Rl ZmluZSBNUV9OQU1FXzEgICAgICAgIi90ZXN0bXNnMSINCiNkZWZpbmUgTVFfTkFNRV8yICAgICAg ICIvdGVzdG1zZzIiDQojZGVmaW5lIE1TR19TSVpFCTEyOA0KI2RlZmluZSBNQVhfTVNHCQkzDQoj ZGVmaW5lIE1TRUNfUEVSX1NFQyAxMDAwDQojZGVmaW5lIE5TRUNfUEVSX1NFQyAxMDAwMDAwMDAw DQoNCmNvbnN0IGNoYXIgKnNfbXNnX3B0cltdID0geyJtc2cgdGVzdCAxIiwgIm1zZyB0ZXN0IDIi LCAibXNnIHRlc3QgMyJ9Ow0KY2hhciByX21zZ19wdHJfMVtNQVhfTVNHXVtNU0dfU0laRV07DQpj aGFyIHJfbXNnX3B0cl8yW01BWF9NU0ddW01TR19TSVpFXTsNCnB0aHJlYWRfdCBzZW5kMSwgc2Vu ZDIsIHJldjEsIHJldjI7DQpsb25nIHRpbWVvdXQ7IA0KDQppbnQgKiBzZW5kXzEodm9pZCAqIG1x KSANCnsNCglpbnQgaTsNCgltcWRfdCBtcTEgPSAqKG1xZF90ICopbXE7DQoNCglwcmludGYoIkVu dGVyIGludG8gc2VuZF8xIFxuIik7DQoJZm9yIChpID0gMDsgaSA8IE1BWF9NU0c7IGkrKyApIHsN CgkJc2xlZXAoMSk7DQoJCWlmICggLTEgPT0gbXFfc2VuZChtcTEsIHNfbXNnX3B0cltpXSwgTVNH X1NJWkUsIGkpKSB7DQoJCQlwZXJyb3IoIm1xX3NlbmQgZG9lc24ndCByZXR1cm4gc3VjY2VzcyBc biIpOw0KCQkJcHRocmVhZF9leGl0KCh2b2lkICopMSk7DQoJCX0NCgkJcHJpbnRmKCJbJWRdIHNl bmQgJyVzJyBpbiB0aHJlYWQgc2VuZF8xLiBcbiIsIGkrMSwgc19tc2dfcHRyW2ldKTsNCgl9DQoJ cHRocmVhZF9leGl0KCh2b2lkICopMCk7DQoNCn0NCmludCAqIHNlbmRfMih2b2lkICogbXEpIA0K ew0KCWludCBpOw0KIAltcWRfdCBtcTIgPSAqKG1xZF90ICopbXE7DQoNCglwcmludGYoIkVudGVy IGludG8gc2VuZF8yIFxuIik7DQoJZm9yIChpID0gMDsgaSA8IE1BWF9NU0c7IGkrKyApIHsNCgkJ aWYgKCAtMSA9PSBtcV9zZW5kKG1xMiwgc19tc2dfcHRyW2ldLCBNU0dfU0laRSwgaSkpIHsNCgkJ CXBlcnJvcigibXFfc2VuZCBkb2Vzbid0IHJldHVybiBzdWNjZXNzIFxuIik7DQoJCQlwdGhyZWFk X2V4aXQoKHZvaWQgKikxKTsNCgkJfQ0KCQlwcmludGYoIlslZF0gc2VuZCAnJXMnIGluIHRocmVh ZCBzZW5kXzIuIFxuIiwgaSsxLCBzX21zZ19wdHJbaV0pOw0KCX0NCglwdGhyZWFkX2V4aXQoKHZv aWQgKikwKTsNCn0NCmludCAqIHJlY2VpdmVfMSh2b2lkICogbXEpIA0Kew0KCWludCBpOw0KCW1x ZF90IG1xMSA9ICoobXFkX3QgKiltcTsNCglzdHJ1Y3QgdGltZXNwZWMgdHMsdHNfc3RhcnQsdHNf ZW5kOw0KCWxvbmcgZGlmZl9zZWMsIGRpZmZfbnNlYzsNCg0KCXByaW50ZigiRW50ZXIgaW50byBy ZWNlaXZlXzEgXG4iKTsNCgl3aGlsZSgxKSB7DQoNCgkJCWNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVB TFRJTUUsICZ0cyk7DQoJCQl0cy50dl9zZWMrPSAobG9uZyBpbnQpdGltZW91dCAgLyBNU0VDX1BF Ul9TRUM7DQoJCQl0cy50dl9uc2VjKz0oIChsb25nIGludCl0aW1lb3V0ICUgTVNFQ19QRVJfU0VD KSAqIDEwMDAwMDA7DQoJCQl3aGlsZSAodHMudHZfbnNlYyA+PU5TRUNfUEVSX1NFQykNCgkJCXsN CgkJCQl0cy50dl9uc2VjIC09TlNFQ19QRVJfU0VDOw0KCQkJCXRzLnR2X3NlYysrOw0KCQkJfQ0K CQ0KCQkJY2xvY2tfZ2V0dGltZShDTE9DS19SRUFMVElNRSwmdHNfc3RhcnQpOw0KCQkJaWYgKG1x X3RpbWVkcmVjZWl2ZShtcTEsIHJfbXNnX3B0cl8xW2ldLCBNU0dfU0laRSwgTlVMTCwmdHMpIDwg MCkgIHsNCgkJCQlwZXJyb3IoIm1xX3JlY2VpdmUxIik7DQoJCQkJLy9wdGhyZWFkX2V4aXQoKHZv aWQgKikxKTsNCgkJCX0NCgkJCWNsb2NrX2dldHRpbWUoQ0xPQ0tfUkVBTFRJTUUsJnRzX2VuZCk7 DQoJCQlkaWZmX3NlYyA9IHRzX2VuZC50dl9zZWMgLSB0c19zdGFydC50dl9zZWMgOw0KCQkJZGlm Zl9uc2VjID0gdHNfZW5kLnR2X25zZWMgLSB0c19zdGFydC50dl9uc2VjOw0KCQkJLy9wcmludGYo IlslZF0gcmVjZWl2ZSAnJXMnIGluIHRocmVhZCByZWNlaXZlXzEuICVsZCAlbGQgXG4iLCBpKzEs IHJfbXNnX3B0cl8xW2ldLGRpZmZfc2VjLCBkaWZmX25zZWMpOw0KCQkJcHJpbnRmKCIlbGQgJWxk IFxuIiwgZGlmZl9zZWMsIGRpZmZfbnNlYyk7DQoJfQ0KCS8vcHRocmVhZF9leGl0KCh2b2lkICop MCk7DQp9DQppbnQgKiByZWNlaXZlXzIodm9pZCAqIG1xKSANCnsNCglpbnQgaTsNCgltcWRfdCBt cTIgPSAqKG1xZF90ICopbXE7DQoNCglwcmludGYoIkVudGVyIGludG8gcmVjZWl2ZV8yIFxuIik7 DQoJZm9yIChpID0gMDsgaTwgTUFYX01TRzsgaSsrKSB7DQoJCWlmICggLTEgPT0gbXFfcmVjZWl2 ZShtcTIsIHJfbXNnX3B0cl8yW2ldLCBNU0dfU0laRSwgTlVMTCkgKSB7DQoJCQlwZXJyb3IoIm1x X3JlY2VpdmUgZG9lc24ndCByZXR1cm4gc3VjY2VzcyBcbiIpOw0KCQkJcHRocmVhZF9leGl0KCh2 b2lkICopMSk7DQoJCX0NCgkJcHJpbnRmKCJbJWRdIHJlY2VpdmUgJyVzJyBpbiB0aHJlYWQgcmVj ZWl2ZV8yLiBcbiIsIGkrMSwgcl9tc2dfcHRyXzJbaV0pOw0KCX0NCglwdGhyZWFkX2V4aXQoKHZv aWQgKikwKTsNCn0NCmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQp7DQoJDQogCW1x ZF90IG1xMSA9IDAsIG1xMiA9IDA7CQ0KCXN0cnVjdCBtcV9hdHRyIG1xc3RhdDsNCglpbnQgb2Zs YWcgPSBPX0NSRUFUfE9fUkRXUjsNCgl0aW1lb3V0ID0gYXRvaShhcmd2WzFdKTsNCgltZW1zZXQo Jm1xc3RhdCwgMCwgc2l6ZW9mKG1xc3RhdCkpOw0KCW1xc3RhdC5tcV9tYXhtc2cgPSBNQVhfTVNH Ow0KCW1xc3RhdC5tcV9tc2dzaXplID0gTVNHX1NJWkU7DQoJbXFzdGF0Lm1xX2ZsYWdzID0gMDsN CiAgDQogIAlpZiggKChtcWRfdCkgLTEpID09IChtcTEgPSBtcV9vcGVuKE1RX05BTUVfMSxvZmxh ZywwNzc3LCAmbXFzdGF0KSkgKSB7DQoJCXByaW50ZigibXFfb3BlbiBkb2Vzbid0IHJldHVybiBz dWNjZXNzIFxuIik7DQoJCXJldHVybiBQVFNfVU5SRVNPTFZFRDsNCgl9DQogIAlpZiggKChtcWRf dCkgLTEpID09IChtcTIgPSBtcV9vcGVuKE1RX05BTUVfMixvZmxhZywwNzc3LCAmbXFzdGF0KSkg KSB7DQoJCXByaW50ZigibXFfb3BlbiBkb2Vzbid0IHJldHVybiBzdWNjZXNzIFxuIik7DQoJCXJl dHVybiBQVFNfVU5SRVNPTFZFRDsNCgl9DQoJcHRocmVhZF9jcmVhdGUoJnNlbmQxLCBOVUxMLCAo dm9pZCAqKXNlbmRfMSwgKHZvaWQgKikmbXExKTsNCi8vCXB0aHJlYWRfY3JlYXRlKCZzZW5kMiwg TlVMTCwgKHZvaWQgKilzZW5kXzIsICh2b2lkICopJm1xMik7DQogICAgICAgIHB0aHJlYWRfY3Jl YXRlKCZyZXYxLCBOVUxMLCAodm9pZCAqKXJlY2VpdmVfMSwgKHZvaWQgKikmbXExKTsJDQovLyAg ICAgICAgcHRocmVhZF9jcmVhdGUoJnJldjIsIE5VTEwsICh2b2lkICopcmVjZWl2ZV8yLCAodm9p ZCAqKSZtcTIpOwkNCglwdGhyZWFkX2pvaW4oc2VuZDEsIE5VTEwpOw0KLy8JcHRocmVhZF9qb2lu KHNlbmQyLCBOVUxMKTsNCglwdGhyZWFkX2pvaW4ocmV2MSwgTlVMTCk7DQovLwlwdGhyZWFkX2pv aW4ocmV2MiwgTlVMTCk7DQoJCQ0KCW1xX2Nsb3NlKG1xMSk7DQoJbXFfY2xvc2UobXEyKTsNCglt cV91bmxpbmsoTVFfTkFNRV8xKTsNCgltcV91bmxpbmsoTVFfTkFNRV8yKTsNCglyZXR1cm4gUFRT X1BBU1M7DQp9DQoNCg== --00c09f8a553edb30b504828b0ce6 Content-Type: application/xml; name=".config" Content-Disposition: attachment; filename=".config" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g763mmpe0 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu dXgga2VybmVsIHZlcnNpb246IDIuNi4zMy4xLXJ0MTAKIyBNb24gTWFyIDIyIDIzOjE3OjQ0IDIw MTAKIwojIENPTkZJR182NEJJVCBpcyBub3Qgc2V0CkNPTkZJR19YODZfMzI9eQojIENPTkZJR19Y ODZfNjQgaXMgbm90IHNldApDT05GSUdfWDg2PXkKQ09ORklHX09VVFBVVF9GT1JNQVQ9ImVsZjMy LWkzODYiCkNPTkZJR19BUkNIX0RFRkNPTkZJRz0iYXJjaC94ODYvY29uZmlncy9pMzg2X2RlZmNv bmZpZyIKQ09ORklHX0dFTkVSSUNfVElNRT15CkNPTkZJR19HRU5FUklDX0NNT1NfVVBEQVRFPXkK Q09ORklHX0NMT0NLU09VUkNFX1dBVENIRE9HPXkKQ09ORklHX0dFTkVSSUNfQ0xPQ0tFVkVOVFM9 eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1Q9eQpDT05GSUdfTE9DS0RFUF9T VVBQT1JUPXkKQ09ORklHX1NUQUNLVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19IQVZFX0xBVEVOQ1lU T1BfU1VQUE9SVD15CkNPTkZJR19NTVU9eQpDT05GSUdfWk9ORV9ETUE9eQpDT05GSUdfR0VORVJJ Q19JU0FfRE1BPXkKQ09ORklHX0dFTkVSSUNfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19CVUc9eQpD T05GSUdfR0VORVJJQ19IV0VJR0hUPXkKQ09ORklHX0FSQ0hfTUFZX0hBVkVfUENfRkRDPXkKQ09O RklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQpDT05GSUdfQVNNX1NFTUFQSE9SRVM9eQpDT05G SUdfQVJDSF9IQVNfQ1BVX0lETEVfV0FJVD15CkNPTkZJR19HRU5FUklDX0NBTElCUkFURV9ERUxB WT15CiMgQ09ORklHX0dFTkVSSUNfVElNRV9WU1lTQ0FMTCBpcyBub3Qgc2V0CkNPTkZJR19BUkNI X0hBU19DUFVfUkVMQVg9eQpDT05GSUdfQVJDSF9IQVNfREVGQVVMVF9JRExFPXkKQ09ORklHX0FS Q0hfSEFTX0NBQ0hFX0xJTkVfU0laRT15CkNPTkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15 CkNPTkZJR19ORUVEX1BFUl9DUFVfRU1CRURfRklSU1RfQ0hVTks9eQpDT05GSUdfTkVFRF9QRVJf Q1BVX1BBR0VfRklSU1RfQ0hVTks9eQojIENPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BVX01BUCBp cyBub3Qgc2V0CkNPTkZJR19BUkNIX0hJQkVSTkFUSU9OX1BPU1NJQkxFPXkKQ09ORklHX0FSQ0hf U1VTUEVORF9QT1NTSUJMRT15CiMgQ09ORklHX1pPTkVfRE1BMzIgaXMgbm90IHNldApDT05GSUdf QVJDSF9QT1BVTEFURVNfTk9ERV9NQVA9eQojIENPTkZJR19BVURJVF9BUkNIIGlzIG5vdCBzZXQK Q09ORklHX0FSQ0hfU1VQUE9SVFNfT1BUSU1JWkVEX0lOTElOSU5HPXkKQ09ORklHX0FSQ0hfU1VQ UE9SVFNfREVCVUdfUEFHRUFMTE9DPXkKQ09ORklHX0dFTkVSSUNfSEFSRElSUVM9eQpDT05GSUdf R0VORVJJQ19IQVJESVJRU19OT19fRE9fSVJRPXkKQ09ORklHX0dFTkVSSUNfSVJRX1BST0JFPXkK Q09ORklHX1g4Nl8zMl9MQVpZX0dTPXkKQ09ORklHX0tUSU1FX1NDQUxBUj15CkNPTkZJR19ERUZD T05GSUdfTElTVD0iL2xpYi9tb2R1bGVzLyRVTkFNRV9SRUxFQVNFLy5jb25maWciCkNPTkZJR19D T05TVFJVQ1RPUlM9eQoKIwojIEdlbmVyYWwgc2V0dXAKIwpDT05GSUdfRVhQRVJJTUVOVEFMPXkK Q09ORklHX0JST0tFTl9PTl9TTVA9eQpDT05GSUdfTE9DS19LRVJORUw9eQpDT05GSUdfSU5JVF9F TlZfQVJHX0xJTUlUPTMyCkNPTkZJR19MT0NBTFZFUlNJT049IiIKIyBDT05GSUdfTE9DQUxWRVJT SU9OX0FVVE8gaXMgbm90IHNldApDT05GSUdfSEFWRV9LRVJORUxfR1pJUD15CkNPTkZJR19IQVZF X0tFUk5FTF9CWklQMj15CkNPTkZJR19IQVZFX0tFUk5FTF9MWk1BPXkKQ09ORklHX0hBVkVfS0VS TkVMX0xaTz15CkNPTkZJR19LRVJORUxfR1pJUD15CiMgQ09ORklHX0tFUk5FTF9CWklQMiBpcyBu b3Qgc2V0CiMgQ09ORklHX0tFUk5FTF9MWk1BIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VSTkVMX0xa TyBpcyBub3Qgc2V0CiMgQ09ORklHX1NXQVAgaXMgbm90IHNldApDT05GSUdfU1lTVklQQz15CkNP TkZJR19TWVNWSVBDX1NZU0NUTD15CkNPTkZJR19QT1NJWF9NUVVFVUU9eQpDT05GSUdfUE9TSVhf TVFVRVVFX1NZU0NUTD15CiMgQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1QgaXMgbm90IHNldAojIENP TkZJR19UQVNLU1RBVFMgaXMgbm90IHNldAojIENPTkZJR19BVURJVCBpcyBub3Qgc2V0CgojCiMg UkNVIFN1YnN5c3RlbQojCiMgQ09ORklHX1RSRUVfUkNVIGlzIG5vdCBzZXQKQ09ORklHX1RSRUVf UFJFRU1QVF9SQ1U9eQojIENPTkZJR19USU5ZX1JDVSBpcyBub3Qgc2V0CiMgQ09ORklHX1JDVV9U UkFDRSBpcyBub3Qgc2V0CkNPTkZJR19SQ1VfRkFOT1VUPTMyCiMgQ09ORklHX1JDVV9GQU5PVVRf RVhBQ1QgaXMgbm90IHNldAojIENPTkZJR19UUkVFX1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09O RklHX0lLQ09ORklHIGlzIG5vdCBzZXQKQ09ORklHX0xPR19CVUZfU0hJRlQ9MTcKQ09ORklHX0hB VkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9eQojIENPTkZJR19HUk9VUF9TQ0hFRCBpcyBub3Qgc2V0 CiMgQ09ORklHX0NHUk9VUFMgaXMgbm90IHNldAojIENPTkZJR19TWVNGU19ERVBSRUNBVEVEX1Yy IGlzIG5vdCBzZXQKIyBDT05GSUdfUkVMQVkgaXMgbm90IHNldAojIENPTkZJR19OQU1FU1BBQ0VT IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9JTklUUkQgaXMgbm90IHNldAojIENPTkZJR19D Q19PUFRJTUlaRV9GT1JfU0laRSBpcyBub3Qgc2V0CkNPTkZJR19TWVNDVEw9eQpDT05GSUdfQU5P Tl9JTk9ERVM9eQpDT05GSUdfRU1CRURERUQ9eQpDT05GSUdfVUlEMTY9eQpDT05GSUdfU1lTQ1RM X1NZU0NBTEw9eQpDT05GSUdfS0FMTFNZTVM9eQojIENPTkZJR19LQUxMU1lNU19FWFRSQV9QQVNT IGlzIG5vdCBzZXQKQ09ORklHX0hPVFBMVUc9eQpDT05GSUdfUFJJTlRLPXkKQ09ORklHX0JVRz15 CkNPTkZJR19FTEZfQ09SRT15CkNPTkZJR19QQ1NQS1JfUExBVEZPUk09eQpDT05GSUdfQkFTRV9G VUxMPXkKQ09ORklHX0ZVVEVYPXkKQ09ORklHX0VQT0xMPXkKQ09ORklHX1NJR05BTEZEPXkKQ09O RklHX1RJTUVSRkQ9eQpDT05GSUdfRVZFTlRGRD15CkNPTkZJR19TSE1FTT15CkNPTkZJR19BSU89 eQpDT05GSUdfSEFWRV9QRVJGX0VWRU5UUz15CgojCiMgS2VybmVsIFBlcmZvcm1hbmNlIEV2ZW50 cyBBbmQgQ291bnRlcnMKIwpDT05GSUdfUEVSRl9FVkVOVFM9eQojIENPTkZJR19QRVJGX0NPVU5U RVJTIGlzIG5vdCBzZXQKQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKQ09ORklHX1BDSV9RVUlS S1M9eQojIENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKQ09ORklHX1NMQUI9eQojIENPTkZJ R19TTFVCIGlzIG5vdCBzZXQKIyBDT05GSUdfU0xPQiBpcyBub3Qgc2V0CiMgQ09ORklHX1BST0ZJ TElORyBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX09QUk9GSUxFPXkKIyBDT05GSUdfS1BST0JFUyBp cyBub3Qgc2V0CkNPTkZJR19IQVZFX0VGRklDSUVOVF9VTkFMSUdORURfQUNDRVNTPXkKQ09ORklH X0hBVkVfSU9SRU1BUF9QUk9UPXkKQ09ORklHX0hBVkVfS1BST0JFUz15CkNPTkZJR19IQVZFX0tS RVRQUk9CRVM9eQpDT05GSUdfSEFWRV9BUkNIX1RSQUNFSE9PSz15CkNPTkZJR19IQVZFX0RNQV9B VFRSUz15CkNPTkZJR19IQVZFX0RNQV9BUElfREVCVUc9eQpDT05GSUdfSEFWRV9IV19CUkVBS1BP SU5UPXkKQ09ORklHX0hBVkVfVVNFUl9SRVRVUk5fTk9USUZJRVI9eQoKIwojIEdDT1YtYmFzZWQg a2VybmVsIHByb2ZpbGluZwojCiMgQ09ORklHX1NMT1dfV09SSyBpcyBub3Qgc2V0CkNPTkZJR19I QVZFX0dFTkVSSUNfRE1BX0NPSEVSRU5UPXkKQ09ORklHX1NMQUJJTkZPPXkKQ09ORklHX1JUX01V VEVYRVM9eQpDT05GSUdfQkFTRV9TTUFMTD0wCkNPTkZJR19NT0RVTEVTPXkKQ09ORklHX01PRFVM RV9GT1JDRV9MT0FEPXkKQ09ORklHX01PRFVMRV9VTkxPQUQ9eQojIENPTkZJR19NT0RVTEVfRk9S Q0VfVU5MT0FEIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9EVkVSU0lPTlMgaXMgbm90IHNldAojIENP TkZJR19NT0RVTEVfU1JDVkVSU0lPTl9BTEwgaXMgbm90IHNldApDT05GSUdfQkxPQ0s9eQojIENP TkZJR19MQkRBRiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQlNHIGlzIG5vdCBzZXQKIyBD T05GSUdfQkxLX0RFVl9JTlRFR1JJVFkgaXMgbm90IHNldAoKIwojIElPIFNjaGVkdWxlcnMKIwpD T05GSUdfSU9TQ0hFRF9OT09QPXkKQ09ORklHX0lPU0NIRURfREVBRExJTkU9eQojIENPTkZJR19J T1NDSEVEX0NGUSBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX0RFQURMSU5FPXkKIyBDT05GSUdf REVGQVVMVF9DRlEgaXMgbm90IHNldAojIENPTkZJR19ERUZBVUxUX05PT1AgaXMgbm90IHNldApD T05GSUdfREVGQVVMVF9JT1NDSEVEPSJkZWFkbGluZSIKIyBDT05GSUdfSU5MSU5FX1NQSU5fVFJZ TE9DSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX1RSWUxPQ0tfQkggaXMgbm90IHNl dAojIENPTkZJR19JTkxJTkVfU1BJTl9MT0NLIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQ SU5fTE9DS19CSCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9TUElOX0xPQ0tfSVJRIGlzIG5v dCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQSU5fTE9DS19JUlFTQVZFIGlzIG5vdCBzZXQKIyBDT05G SUdfSU5MSU5FX1NQSU5fVU5MT0NLIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQSU5fVU5M T0NLX0JIIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1NQSU5fVU5MT0NLX0lSUSBpcyBub3Qg c2V0CiMgQ09ORklHX0lOTElORV9TUElOX1VOTE9DS19JUlFSRVNUT1JFIGlzIG5vdCBzZXQKIyBD T05GSUdfSU5MSU5FX1JFQURfVFJZTE9DSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9SRUFE X0xPQ0sgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9MT0NLX0JIIGlzIG5vdCBzZXQK IyBDT05GSUdfSU5MSU5FX1JFQURfTE9DS19JUlEgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVf UkVBRF9MT0NLX0lSUVNBVkUgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9VTkxPQ0sg aXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfUkVBRF9VTkxPQ0tfQkggaXMgbm90IHNldAojIENP TkZJR19JTkxJTkVfUkVBRF9VTkxPQ0tfSVJRIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1JF QURfVU5MT0NLX0lSUVJFU1RPUkUgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJVEVfVFJZ TE9DSyBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9XUklURV9MT0NLIGlzIG5vdCBzZXQKIyBD T05GSUdfSU5MSU5FX1dSSVRFX0xPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJ VEVfTE9DS19JUlEgaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJVEVfTE9DS19JUlFTQVZF IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5MSU5FX1dSSVRFX1VOTE9DSyBpcyBub3Qgc2V0CiMgQ09O RklHX0lOTElORV9XUklURV9VTkxPQ0tfQkggaXMgbm90IHNldAojIENPTkZJR19JTkxJTkVfV1JJ VEVfVU5MT0NLX0lSUSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOTElORV9XUklURV9VTkxPQ0tfSVJR UkVTVE9SRSBpcyBub3Qgc2V0CiMgQ09ORklHX01VVEVYX1NQSU5fT05fT1dORVIgaXMgbm90IHNl dAojIENPTkZJR19GUkVFWkVSIGlzIG5vdCBzZXQKCiMKIyBQcm9jZXNzb3IgdHlwZSBhbmQgZmVh dHVyZXMKIwpDT05GSUdfVElDS19PTkVTSE9UPXkKQ09ORklHX05PX0haPXkKQ09ORklHX0hJR0hf UkVTX1RJTUVSUz15CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JVSUxEPXkKIyBDT05GSUdf U01QIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9NUFBBUlNFPXkKIyBDT05GSUdfWDg2X0VYVEVOREVE X1BMQVRGT1JNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NIRURfT01JVF9GUkFNRV9QT0lOVEVSIGlz IG5vdCBzZXQKIyBDT05GSUdfUEFSQVZJUlRfR1VFU1QgaXMgbm90IHNldAojIENPTkZJR19NRU1U RVNUIGlzIG5vdCBzZXQKIyBDT05GSUdfTTM4NiBpcyBub3Qgc2V0CiMgQ09ORklHX000ODYgaXMg bm90IHNldApDT05GSUdfTTU4Nj15CiMgQ09ORklHX001ODZUU0MgaXMgbm90IHNldAojIENPTkZJ R19NNTg2TU1YIGlzIG5vdCBzZXQKIyBDT05GSUdfTTY4NiBpcyBub3Qgc2V0CiMgQ09ORklHX01Q RU5USVVNSUkgaXMgbm90IHNldAojIENPTkZJR19NUEVOVElVTUlJSSBpcyBub3Qgc2V0CiMgQ09O RklHX01QRU5USVVNTSBpcyBub3Qgc2V0CiMgQ09ORklHX01QRU5USVVNNCBpcyBub3Qgc2V0CiMg Q09ORklHX01LNiBpcyBub3Qgc2V0CiMgQ09ORklHX01LNyBpcyBub3Qgc2V0CiMgQ09ORklHX01L OCBpcyBub3Qgc2V0CiMgQ09ORklHX01DUlVTT0UgaXMgbm90IHNldAojIENPTkZJR19NRUZGSUNF T04gaXMgbm90IHNldAojIENPTkZJR19NV0lOQ0hJUEM2IGlzIG5vdCBzZXQKIyBDT05GSUdfTVdJ TkNISVAzRCBpcyBub3Qgc2V0CiMgQ09ORklHX01HRU9ERUdYMSBpcyBub3Qgc2V0CiMgQ09ORklH X01HRU9ERV9MWCBpcyBub3Qgc2V0CiMgQ09ORklHX01DWVJJWElJSSBpcyBub3Qgc2V0CiMgQ09O RklHX01WSUFDM18yIGlzIG5vdCBzZXQKIyBDT05GSUdfTVZJQUM3IGlzIG5vdCBzZXQKIyBDT05G SUdfTVBTQyBpcyBub3Qgc2V0CiMgQ09ORklHX01DT1JFMiBpcyBub3Qgc2V0CiMgQ09ORklHX01B VE9NIGlzIG5vdCBzZXQKIyBDT05GSUdfR0VORVJJQ19DUFUgaXMgbm90IHNldApDT05GSUdfWDg2 X0dFTkVSSUM9eQpDT05GSUdfWDg2X0NQVT15CkNPTkZJR19YODZfSU5URVJOT0RFX0NBQ0hFX1NI SUZUPTYKQ09ORklHX1g4Nl9DTVBYQ0hHPXkKQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CkNP TkZJR19YODZfWEFERD15CiMgQ09ORklHX1g4Nl9QUFJPX0ZFTkNFIGlzIG5vdCBzZXQKQ09ORklH X1g4Nl9GMDBGX0JVRz15CkNPTkZJR19YODZfV1BfV09SS1NfT0s9eQpDT05GSUdfWDg2X0lOVkxQ Rz15CkNPTkZJR19YODZfQlNXQVA9eQpDT05GSUdfWDg2X1BPUEFEX09LPXkKQ09ORklHX1g4Nl9B TElHTk1FTlRfMTY9eQpDT05GSUdfWDg2X0lOVEVMX1VTRVJDT1BZPXkKQ09ORklHX1g4Nl9NSU5J TVVNX0NQVV9GQU1JTFk9NApDT05GSUdfUFJPQ0VTU09SX1NFTEVDVD15CkNPTkZJR19DUFVfU1VQ X0lOVEVMPXkKIyBDT05GSUdfQ1BVX1NVUF9DWVJJWF8zMiBpcyBub3Qgc2V0CiMgQ09ORklHX0NQ VV9TVVBfQU1EIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX1NVUF9DRU5UQVVSIGlzIG5vdCBzZXQK IyBDT05GSUdfQ1BVX1NVUF9UUkFOU01FVEFfMzIgaXMgbm90IHNldAojIENPTkZJR19DUFVfU1VQ X1VNQ18zMiBpcyBub3Qgc2V0CkNPTkZJR19IUEVUX1RJTUVSPXkKQ09ORklHX0RNST15CiMgQ09O RklHX0lPTU1VX0hFTFBFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lPTU1VX0FQSSBpcyBub3Qgc2V0 CkNPTkZJR19OUl9DUFVTPTEKIyBDT05GSUdfUFJFRU1QVF9OT05FIGlzIG5vdCBzZXQKIyBDT05G SUdfUFJFRU1QVF9WT0xVTlRBUlkgaXMgbm90IHNldAojIENPTkZJR19QUkVFTVBUX0RFU0tUT1Ag aXMgbm90IHNldApDT05GSUdfUFJFRU1QVF9SVD15CkNPTkZJR19QUkVFTVBUPXkKQ09ORklHX1BS RUVNUFRfU09GVElSUVM9eQpDT05GSUdfUFJFRU1QVF9IQVJESVJRUz15CkNPTkZJR19YODZfVVBf QVBJQz15CkNPTkZJR19YODZfVVBfSU9BUElDPXkKQ09ORklHX1g4Nl9MT0NBTF9BUElDPXkKQ09O RklHX1g4Nl9JT19BUElDPXkKIyBDT05GSUdfWDg2X1JFUk9VVEVfRk9SX0JST0tFTl9CT09UX0lS UVMgaXMgbm90IHNldAojIENPTkZJR19YODZfTUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfVk04NiBp cyBub3Qgc2V0CiMgQ09ORklHX1RPU0hJQkEgaXMgbm90IHNldAojIENPTkZJR19JOEsgaXMgbm90 IHNldAojIENPTkZJR19YODZfUkVCT09URklYVVBTIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUk9D T0RFIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X01TUiBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9D UFVJRCBpcyBub3Qgc2V0CiMgQ09ORklHX05PSElHSE1FTSBpcyBub3Qgc2V0CkNPTkZJR19ISUdI TUVNNEc9eQojIENPTkZJR19ISUdITUVNNjRHIGlzIG5vdCBzZXQKQ09ORklHX1ZNU1BMSVRfM0c9 eQojIENPTkZJR19WTVNQTElUXzNHX09QVCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZNU1BMSVRfMkcg aXMgbm90IHNldAojIENPTkZJR19WTVNQTElUXzJHX09QVCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZN U1BMSVRfMUcgaXMgbm90IHNldApDT05GSUdfUEFHRV9PRkZTRVQ9MHhDMDAwMDAwMApDT05GSUdf SElHSE1FTT15CiMgQ09ORklHX0FSQ0hfUEhZU19BRERSX1RfNjRCSVQgaXMgbm90IHNldApDT05G SUdfQVJDSF9GTEFUTUVNX0VOQUJMRT15CkNPTkZJR19BUkNIX1NQQVJTRU1FTV9FTkFCTEU9eQpD T05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKQ09ORklHX0lMTEVHQUxfUE9JTlRFUl9W QUxVRT0wCkNPTkZJR19TRUxFQ1RfTUVNT1JZX01PREVMPXkKQ09ORklHX0ZMQVRNRU1fTUFOVUFM PXkKIyBDT05GSUdfRElTQ09OVElHTUVNX01BTlVBTCBpcyBub3Qgc2V0CiMgQ09ORklHX1NQQVJT RU1FTV9NQU5VQUwgaXMgbm90IHNldApDT05GSUdfRkxBVE1FTT15CkNPTkZJR19GTEFUX05PREVf TUVNX01BUD15CkNPTkZJR19TUEFSU0VNRU1fU1RBVElDPXkKQ09ORklHX1BBR0VGTEFHU19FWFRF TkRFRD15CkNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CiMgQ09ORklHX1BIWVNfQUREUl9UXzY0 QklUIGlzIG5vdCBzZXQKQ09ORklHX1pPTkVfRE1BX0ZMQUc9MQpDT05GSUdfQk9VTkNFPXkKQ09O RklHX1ZJUlRfVE9fQlVTPXkKIyBDT05GSUdfS1NNIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRf TU1BUF9NSU5fQUREUj00MDk2CiMgQ09ORklHX0hJR0hQVEUgaXMgbm90IHNldAojIENPTkZJR19Y ODZfQ0hFQ0tfQklPU19DT1JSVVBUSU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfWDg2X1JFU0VSVkVf TE9XXzY0SyBpcyBub3Qgc2V0CiMgQ09ORklHX01BVEhfRU1VTEFUSU9OIGlzIG5vdCBzZXQKIyBD T05GSUdfTVRSUiBpcyBub3Qgc2V0CiMgQ09ORklHX0VGSSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF Q0NPTVAgaXMgbm90IHNldAojIENPTkZJR19DQ19TVEFDS1BST1RFQ1RPUiBpcyBub3Qgc2V0CiMg Q09ORklHX0haXzEwMCBpcyBub3Qgc2V0CkNPTkZJR19IWl8yNTA9eQojIENPTkZJR19IWl8zMDAg aXMgbm90IHNldAojIENPTkZJR19IWl8xMDAwIGlzIG5vdCBzZXQKQ09ORklHX0haPTI1MApDT05G SUdfU0NIRURfSFJUSUNLPXkKIyBDT05GSUdfS0VYRUMgaXMgbm90IHNldAojIENPTkZJR19DUkFT SF9EVU1QIGlzIG5vdCBzZXQKQ09ORklHX1BIWVNJQ0FMX1NUQVJUPTB4MTAwMDAwMAojIENPTkZJ R19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0CkNPTkZJR19QSFlTSUNBTF9BTElHTj0weDEwMDAwMDAK IyBDT05GSUdfQ09NUEFUX1ZEU08gaXMgbm90IHNldAojIENPTkZJR19DTURMSU5FX0JPT0wgaXMg bm90IHNldApDT05GSUdfQVJDSF9FTkFCTEVfTUVNT1JZX0hPVFBMVUc9eQoKIwojIFBvd2VyIG1h bmFnZW1lbnQgYW5kIEFDUEkgb3B0aW9ucwojCkNPTkZJR19QTT15CiMgQ09ORklHX1BNX0RFQlVH IGlzIG5vdCBzZXQKIyBDT05GSUdfU1VTUEVORCBpcyBub3Qgc2V0CiMgQ09ORklHX1BNX1JVTlRJ TUUgaXMgbm90IHNldApDT05GSUdfQUNQST15CiMgQ09ORklHX0FDUElfUFJPQ0ZTIGlzIG5vdCBz ZXQKIyBDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVIgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX1NZ U0ZTX1BPV0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9QUk9DX0VWRU5UIGlzIG5vdCBzZXQK IyBDT05GSUdfQUNQSV9BQyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfQkFUVEVSWSBpcyBub3Qg c2V0CiMgQ09ORklHX0FDUElfQlVUVE9OIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9GQU4gaXMg bm90IHNldAojIENPTkZJR19BQ1BJX0RPQ0sgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX1BST0NF U1NPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfQ1VTVE9NX0RTRFQgaXMgbm90IHNldApDT05G SUdfQUNQSV9CTEFDS0xJU1RfWUVBUj0wCiMgQ09ORklHX0FDUElfREVCVUcgaXMgbm90IHNldAoj IENPTkZJR19BQ1BJX1BDSV9TTE9UIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9QTV9USU1FUj15CiMg Q09ORklHX0FDUElfQ09OVEFJTkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfQUNQSV9TQlMgaXMgbm90 IHNldAojIENPTkZJR19TRkkgaXMgbm90IHNldAoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwoj CiMgQ09ORklHX0NQVV9GUkVRIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9JRExFPXkKQ09ORklHX0NQ VV9JRExFX0dPVl9MQURERVI9eQpDT05GSUdfQ1BVX0lETEVfR09WX01FTlU9eQoKIwojIEJ1cyBv cHRpb25zIChQQ0kgZXRjLikKIwpDT05GSUdfUENJPXkKIyBDT05GSUdfUENJX0dPQklPUyBpcyBu b3Qgc2V0CiMgQ09ORklHX1BDSV9HT01NQ09ORklHIGlzIG5vdCBzZXQKIyBDT05GSUdfUENJX0dP RElSRUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfUENJX0dPT0xQQyBpcyBub3Qgc2V0CkNPTkZJR19Q Q0lfR09BTlk9eQpDT05GSUdfUENJX0JJT1M9eQpDT05GSUdfUENJX0RJUkVDVD15CkNPTkZJR19Q Q0lfTU1DT05GSUc9eQpDT05GSUdfUENJX0RPTUFJTlM9eQpDT05GSUdfUENJRVBPUlRCVVM9eQpD T05GSUdfUENJRUFFUj15CkNPTkZJR19QQ0lFX0VDUkM9eQojIENPTkZJR19QQ0lFQUVSX0lOSkVD VCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSUVBU1BNIGlzIG5vdCBzZXQKQ09ORklHX0FSQ0hfU1VQ UE9SVFNfTVNJPXkKIyBDT05GSUdfUENJX01TSSBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfTEVHQUNZ PXkKIyBDT05GSUdfUENJX1NUVUIgaXMgbm90IHNldApDT05GSUdfSFRfSVJRPXkKIyBDT05GSUdf UENJX0lPViBpcyBub3Qgc2V0CkNPTkZJR19QQ0lfSU9BUElDPXkKQ09ORklHX0lTQV9ETUFfQVBJ PXkKIyBDT05GSUdfSVNBIGlzIG5vdCBzZXQKIyBDT05GSUdfTUNBIGlzIG5vdCBzZXQKIyBDT05G SUdfU0N4MjAwIGlzIG5vdCBzZXQKIyBDT05GSUdfT0xQQyBpcyBub3Qgc2V0CiMgQ09ORklHX1BD Q0FSRCBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJIGlzIG5vdCBzZXQKCiMKIyBFeGVj dXRhYmxlIGZpbGUgZm9ybWF0cyAvIEVtdWxhdGlvbnMKIwpDT05GSUdfQklORk1UX0VMRj15CiMg Q09ORklHX0NPUkVfRFVNUF9ERUZBVUxUX0VMRl9IRUFERVJTIGlzIG5vdCBzZXQKQ09ORklHX0hB VkVfQU9VVD15CiMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKIyBDT05GSUdfQklORk1U X01JU0MgaXMgbm90IHNldApDT05GSUdfSEFWRV9BVE9NSUNfSU9NQVA9eQpDT05GSUdfTkVUPXkK CiMKIyBOZXR3b3JraW5nIG9wdGlvbnMKIwpDT05GSUdfUEFDS0VUPXkKQ09ORklHX1BBQ0tFVF9N TUFQPXkKQ09ORklHX1VOSVg9eQpDT05GSUdfWEZSTT15CiMgQ09ORklHX1hGUk1fVVNFUiBpcyBu b3Qgc2V0CiMgQ09ORklHX1hGUk1fU1VCX1BPTElDWSBpcyBub3Qgc2V0CiMgQ09ORklHX1hGUk1f TUlHUkFURSBpcyBub3Qgc2V0CiMgQ09ORklHX1hGUk1fU1RBVElTVElDUyBpcyBub3Qgc2V0CkNP TkZJR19ORVRfS0VZPXkKIyBDT05GSUdfTkVUX0tFWV9NSUdSQVRFIGlzIG5vdCBzZXQKQ09ORklH X0lORVQ9eQpDT05GSUdfSVBfTVVMVElDQVNUPXkKIyBDT05GSUdfSVBfQURWQU5DRURfUk9VVEVS IGlzIG5vdCBzZXQKQ09ORklHX0lQX0ZJQl9IQVNIPXkKQ09ORklHX0lQX1BOUD15CkNPTkZJR19J UF9QTlBfREhDUD15CkNPTkZJR19JUF9QTlBfQk9PVFA9eQpDT05GSUdfSVBfUE5QX1JBUlA9eQoj IENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0 CiMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0CkNPTkZJR19BUlBEPXkKIyBDT05GSUdfU1lO X0NPT0tJRVMgaXMgbm90IHNldAojIENPTkZJR19JTkVUX0FIIGlzIG5vdCBzZXQKIyBDT05GSUdf SU5FVF9FU1AgaXMgbm90IHNldAojIENPTkZJR19JTkVUX0lQQ09NUCBpcyBub3Qgc2V0CiMgQ09O RklHX0lORVRfWEZSTV9UVU5ORUwgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1RVTk5FTCBpcyBu b3Qgc2V0CkNPTkZJR19JTkVUX1hGUk1fTU9ERV9UUkFOU1BPUlQ9eQpDT05GSUdfSU5FVF9YRlJN X01PREVfVFVOTkVMPXkKQ09ORklHX0lORVRfWEZSTV9NT0RFX0JFRVQ9eQpDT05GSUdfSU5FVF9M Uk89eQpDT05GSUdfSU5FVF9ESUFHPXkKQ09ORklHX0lORVRfVENQX0RJQUc9eQojIENPTkZJR19U Q1BfQ09OR19BRFZBTkNFRCBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJQz15CkNPTkZJ R19ERUZBVUxUX1RDUF9DT05HPSJjdWJpYyIKIyBDT05GSUdfVENQX01ENVNJRyBpcyBub3Qgc2V0 CiMgQ09ORklHX0lQVjYgaXMgbm90IHNldAojIENPTkZJR19ORVRXT1JLX1NFQ01BUksgaXMgbm90 IHNldAojIENPTkZJR19ORVRGSUxURVIgaXMgbm90IHNldAojIENPTkZJR19JUF9EQ0NQIGlzIG5v dCBzZXQKIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiMgQ09ORklHX1JEUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1RJUEMgaXMgbm90IHNldAojIENPTkZJR19BVE0gaXMgbm90IHNldAojIENPTkZJ R19CUklER0UgaXMgbm90IHNldAojIENPTkZJR19ORVRfRFNBIGlzIG5vdCBzZXQKIyBDT05GSUdf VkxBTl84MDIxUSBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQ05FVCBpcyBub3Qgc2V0CiMgQ09ORklH X0xMQzIgaXMgbm90IHNldAojIENPTkZJR19JUFggaXMgbm90IHNldAojIENPTkZJR19BVEFMSyBp cyBub3Qgc2V0CiMgQ09ORklHX1gyNSBpcyBub3Qgc2V0CiMgQ09ORklHX0xBUEIgaXMgbm90IHNl dAojIENPTkZJR19FQ09ORVQgaXMgbm90IHNldAojIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBz ZXQKIyBDT05GSUdfUEhPTkVUIGlzIG5vdCBzZXQKIyBDT05GSUdfSUVFRTgwMjE1NCBpcyBub3Qg c2V0CiMgQ09ORklHX05FVF9TQ0hFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0RDQiBpcyBub3Qgc2V0 CgojCiMgTmV0d29yayB0ZXN0aW5nCiMKIyBDT05GSUdfTkVUX1BLVEdFTiBpcyBub3Qgc2V0CiMg Q09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKIyBDT05GSUdfQ0FOIGlzIG5vdCBzZXQKIyBDT05G SUdfSVJEQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JUIGlzIG5vdCBzZXQKIyBDT05GSUdfQUZfUlhS UEMgaXMgbm90IHNldAojIENPTkZJR19XSVJFTEVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX1dJTUFY IGlzIG5vdCBzZXQKIyBDT05GSUdfUkZLSUxMIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUXzlQIGlz IG5vdCBzZXQKCiMKIyBEZXZpY2UgRHJpdmVycwojCgojCiMgR2VuZXJpYyBEcml2ZXIgT3B0aW9u cwojCkNPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCkNPTkZJR19TVEFO REFMT05FPXkKIyBDT05GSUdfUFJFVkVOVF9GSVJNV0FSRV9CVUlMRCBpcyBub3Qgc2V0CkNPTkZJ R19GV19MT0FERVI9eQpDT05GSUdfRklSTVdBUkVfSU5fS0VSTkVMPXkKQ09ORklHX0VYVFJBX0ZJ Uk1XQVJFPSIiCiMgQ09ORklHX1NZU19IWVBFUlZJU09SIGlzIG5vdCBzZXQKIyBDT05GSUdfQ09O TkVDVE9SIGlzIG5vdCBzZXQKIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFSUE9S VCBpcyBub3Qgc2V0CkNPTkZJR19QTlA9eQpDT05GSUdfUE5QX0RFQlVHX01FU1NBR0VTPXkKCiMK IyBQcm90b2NvbHMKIwpDT05GSUdfUE5QQUNQST15CkNPTkZJR19CTEtfREVWPXkKIyBDT05GSUdf QkxLX0RFVl9GRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19DUFFfREEgaXMgbm90IHNldAojIENP TkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0RBQzk2MCBp cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVU1FTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E RVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfTE9PUCBpcyBub3Qgc2V0 CgojCiMgRFJCRCBkaXNhYmxlZCBiZWNhdXNlIFBST0NfRlMsIElORVQgb3IgQ09OTkVDVE9SIG5v dCBzZWxlY3RlZAojCiMgQ09ORklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxL X0RFVl9TWDggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1JBTSBpcyBub3Qgc2V0CiMgQ09O RklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAojIENPTkZJR19BVEFfT1ZFUl9FVEggaXMgbm90 IHNldAojIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlTQ19ERVZJQ0VT IGlzIG5vdCBzZXQKQ09ORklHX0hBVkVfSURFPXkKQ09ORklHX0lERT15CgojCiMgUGxlYXNlIHNl ZSBEb2N1bWVudGF0aW9uL2lkZS9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZlcwoj CkNPTkZJR19JREVfWEZFUl9NT0RFPXkKIyBDT05GSUdfQkxLX0RFVl9JREVfU0FUQSBpcyBub3Qg c2V0CkNPTkZJR19JREVfR0Q9eQpDT05GSUdfSURFX0dEX0FUQT15CiMgQ09ORklHX0lERV9HRF9B VEFQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFQ0QgaXMgbm90IHNldAojIENPTkZJ R19CTEtfREVWX0lERVRBUEUgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lERUFDUEkgaXMg bm90IHNldAojIENPTkZJR19JREVfVEFTS19JT0NUTCBpcyBub3Qgc2V0CkNPTkZJR19JREVfUFJP Q19GUz15CgojCiMgSURFIGNoaXBzZXQgc3VwcG9ydC9idWdmaXhlcwojCkNPTkZJR19JREVfR0VO RVJJQz15CkNPTkZJR19CTEtfREVWX1BMQVRGT1JNPXkKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAg aXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lERVBOUCBpcyBub3Qgc2V0CkNPTkZJR19CTEtf REVWX0lERURNQV9TRkY9eQoKIwojIFBDSSBJREUgY2hpcHNldHMgc3VwcG9ydAojCkNPTkZJR19C TEtfREVWX0lERVBDST15CkNPTkZJR19JREVQQ0lfUENJQlVTX09SREVSPXkKIyBDT05GSUdfQkxL X0RFVl9HRU5FUklDIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlzIG5vdCBz ZXQKIyBDT05GSUdfQkxLX0RFVl9SWjEwMDAgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9JREVE TUFfUENJPXkKIyBDT05GSUdfQkxLX0RFVl9BRUM2MlhYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxL X0RFVl9BTEkxNVgzIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9BTUQ3NFhYIGlzIG5vdCBz ZXQKIyBDT05GSUdfQkxLX0RFVl9BVElJWFAgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0NN RDY0WCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVFJJRkxFWCBpcyBub3Qgc2V0CiMgQ09O RklHX0JMS19ERVZfQ1M1NTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DUzU1MzAgaXMg bm90IHNldAojIENPTkZJR19CTEtfREVWX0NTNTUzNSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E RVZfQ1M1NTM2IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IUFQzNjYgaXMgbm90IHNldAoj IENPTkZJR19CTEtfREVWX0pNSUNST04gaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1NDMTIw MCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX1BJSVg9eQojIENPTkZJR19CTEtfREVWX0lUODE3 MiBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSVQ4MjEzIGlzIG5vdCBzZXQKIyBDT05GSUdf QkxLX0RFVl9JVDgyMVggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90 IHNldAojIENPTkZJR19CTEtfREVWX1BEQzIwMlhYX09MRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JM S19ERVZfUERDMjAyWFhfTkVXIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9TVldLUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E RVZfU0lTNTUxMyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0xDOTBFNjYgaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVklB ODJDWFhYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9UQzg2QzAwMSBpcyBub3Qgc2V0CkNP TkZJR19CTEtfREVWX0lERURNQT15CgojCiMgU0NTSSBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklH X1JBSURfQVRUUlMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJIGlzIG5vdCBzZXQKIyBDT05GSUdf U0NTSV9ETUEgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX05FVExJTksgaXMgbm90IHNldAojIENP TkZJR19BVEEgaXMgbm90IHNldAojIENPTkZJR19NRCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVU0lP TiBpcyBub3Qgc2V0CgojCiMgSUVFRSAxMzk0IChGaXJlV2lyZSkgc3VwcG9ydAojCgojCiMgWW91 IGNhbiBlbmFibGUgb25lIG9yIGJvdGggRmlyZVdpcmUgZHJpdmVyIHN0YWNrcy4KIwoKIwojIFRo ZSBuZXdlciBzdGFjayBpcyByZWNvbW1lbmRlZC4KIwojIENPTkZJR19GSVJFV0lSRSBpcyBub3Qg c2V0CiMgQ09ORklHX0lFRUUxMzk0IGlzIG5vdCBzZXQKIyBDT05GSUdfSTJPIGlzIG5vdCBzZXQK IyBDT05GSUdfTUFDSU5UT1NIX0RSSVZFUlMgaXMgbm90IHNldApDT05GSUdfTkVUREVWSUNFUz15 CiMgQ09ORklHX0RVTU1ZIGlzIG5vdCBzZXQKIyBDT05GSUdfQk9ORElORyBpcyBub3Qgc2V0CiMg Q09ORklHX01BQ1ZMQU4gaXMgbm90IHNldAojIENPTkZJR19FUVVBTElaRVIgaXMgbm90IHNldAoj IENPTkZJR19UVU4gaXMgbm90IHNldAojIENPTkZJR19WRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdf TkVUX1NCMTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0FSQ05FVCBpcyBub3Qgc2V0CiMgQ09ORklH X1BIWUxJQiBpcyBub3Qgc2V0CkNPTkZJR19ORVRfRVRIRVJORVQ9eQpDT05GSUdfTUlJPXkKIyBD T05GSUdfSEFQUFlNRUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOR0VNIGlzIG5vdCBzZXQKIyBD T05GSUdfQ0FTU0lOSSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfM0NPTSBpcyBub3Qg c2V0CiMgQ09ORklHX0VUSE9DIGlzIG5vdCBzZXQKIyBDT05GSUdfRE5FVCBpcyBub3Qgc2V0CiMg Q09ORklHX05FVF9UVUxJUCBpcyBub3Qgc2V0CiMgQ09ORklHX0hQMTAwIGlzIG5vdCBzZXQKIyBD T05GSUdfSUJNX05FV19FTUFDX1pNSUkgaXMgbm90IHNldAojIENPTkZJR19JQk1fTkVXX0VNQUNf UkdNSUkgaXMgbm90IHNldAojIENPTkZJR19JQk1fTkVXX0VNQUNfVEFIIGlzIG5vdCBzZXQKIyBD T05GSUdfSUJNX05FV19FTUFDX0VNQUM0IGlzIG5vdCBzZXQKIyBDT05GSUdfSUJNX05FV19FTUFD X05PX0ZMT1dfQ1RSTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19NQUxfQ0xSX0lD SU5UU1RBVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19NQUxfQ09NTU9OX0VSUiBp cyBub3Qgc2V0CkNPTkZJR19ORVRfUENJPXkKIyBDT05GSUdfUENORVQzMiBpcyBub3Qgc2V0CiMg Q09ORklHX0FNRDgxMTFfRVRIIGlzIG5vdCBzZXQKIyBDT05GSUdfQURBUFRFQ19TVEFSRklSRSBp cyBub3Qgc2V0CiMgQ09ORklHX0I0NCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZPUkNFREVUSCBpcyBu b3Qgc2V0CkNPTkZJR19FMTAwPXkKIyBDT05GSUdfRkVBTE5YIGlzIG5vdCBzZXQKIyBDT05GSUdf TkFUU0VNSSBpcyBub3Qgc2V0CiMgQ09ORklHX05FMktfUENJIGlzIG5vdCBzZXQKIyBDT05GSUdf ODEzOUNQIGlzIG5vdCBzZXQKIyBDT05GSUdfODEzOVRPTyBpcyBub3Qgc2V0CiMgQ09ORklHX1I2 MDQwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfRVBJQzEw MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NNU0M5NDIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOREFO Q0UgaXMgbm90IHNldAojIENPTkZJR19UTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfS1M4ODQyIGlz IG5vdCBzZXQKIyBDT05GSUdfS1M4ODUxX01MTCBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJQV9SSElO RSBpcyBub3Qgc2V0CiMgQ09ORklHX1NDOTIwMzEgaXMgbm90IHNldAojIENPTkZJR19BVEwyIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVUREVWXzEwMDAgaXMgbm90IHNldAojIENPTkZJR19ORVRERVZf MTAwMDAgaXMgbm90IHNldAojIENPTkZJR19UUiBpcyBub3Qgc2V0CiMgQ09ORklHX1dMQU4gaXMg bm90IHNldAoKIwojIEVuYWJsZSBXaU1BWCAoTmV0d29ya2luZyBvcHRpb25zKSB0byBzZWUgdGhl IFdpTUFYIGRyaXZlcnMKIwojIENPTkZJR19XQU4gaXMgbm90IHNldAojIENPTkZJR19GRERJIGlz IG5vdCBzZXQKIyBDT05GSUdfSElQUEkgaXMgbm90IHNldAojIENPTkZJR19QUFAgaXMgbm90IHNl dAojIENPTkZJR19TTElQIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUQ09OU09MRSBpcyBub3Qgc2V0 CiMgQ09ORklHX05FVFBPTEwgaXMgbm90IHNldAojIENPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVS IGlzIG5vdCBzZXQKIyBDT05GSUdfVk1YTkVUMyBpcyBub3Qgc2V0CiMgQ09ORklHX0lTRE4gaXMg bm90IHNldAojIENPTkZJR19QSE9ORSBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBv cnQKIwpDT05GSUdfSU5QVVQ9eQojIENPTkZJR19JTlBVVF9GRl9NRU1MRVNTIGlzIG5vdCBzZXQK IyBDT05GSUdfSU5QVVRfUE9MTERFViBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX1NQQVJTRUtN QVAgaXMgbm90IHNldAoKIwojIFVzZXJsYW5kIGludGVyZmFjZXMKIwojIENPTkZJR19JTlBVVF9N T1VTRURFViBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWURFViBpcyBub3Qgc2V0CiMgQ09O RklHX0lOUFVUX0VWREVWIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNl dAoKIwojIElucHV0IERldmljZSBEcml2ZXJzCiMKIyBDT05GSUdfSU5QVVRfS0VZQk9BUkQgaXMg bm90IHNldAojIENPTkZJR19JTlBVVF9NT1VTRSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pP WVNUSUNLIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5QVVRfVEFCTEVUIGlzIG5vdCBzZXQKIyBDT05G SUdfSU5QVVRfVE9VQ0hTQ1JFRU4gaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9NSVNDIGlzIG5v dCBzZXQKCiMKIyBIYXJkd2FyZSBJL08gcG9ydHMKIwpDT05GSUdfU0VSSU89eQpDT05GSUdfU0VS SU9fSTgwNDI9eQpDT05GSUdfU0VSSU9fU0VSUE9SVD15CiMgQ09ORklHX1NFUklPX0NUODJDNzEw IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSU9fUENJUFMyIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VS SU9fTElCUFMyIGlzIG5vdCBzZXQKQ09ORklHX1NFUklPX1JBVz15CiMgQ09ORklHX1NFUklPX0FM VEVSQV9QUzIgaXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0CgojCiMgQ2hh cmFjdGVyIGRldmljZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfQ09OU09MRV9UUkFOU0xBVElPTlM9 eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19IV19DT05TT0xFPXkKQ09ORklHX1ZUX0hXX0NP TlNPTEVfQklORElORz15CiMgQ09ORklHX0RFVktNRU0gaXMgbm90IHNldAojIENPTkZJR19TRVJJ QUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAojIENPTkZJR19OT1pPTUkgaXMgbm90IHNldAoKIwoj IFNlcmlhbCBkcml2ZXJzCiMKQ09ORklHX1NFUklBTF84MjUwPXkKQ09ORklHX1NFUklBTF84MjUw X0NPTlNPTEU9eQpDT05GSUdfRklYX0VBUkxZQ09OX01FTT15CkNPTkZJR19TRVJJQUxfODI1MF9Q Q0k9eQpDT05GSUdfU0VSSUFMXzgyNTBfUE5QPXkKQ09ORklHX1NFUklBTF84MjUwX05SX1VBUlRT PTQKQ09ORklHX1NFUklBTF84MjUwX1JVTlRJTUVfVUFSVFM9NAojIENPTkZJR19TRVJJQUxfODI1 MF9FWFRFTkRFRCBpcyBub3Qgc2V0CgojCiMgTm9uLTgyNTAgc2VyaWFsIHBvcnQgc3VwcG9ydAoj CkNPTkZJR19TRVJJQUxfQ09SRT15CkNPTkZJR19TRVJJQUxfQ09SRV9DT05TT0xFPXkKIyBDT05G SUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CkNPTkZJR19VTklYOThfUFRZUz15CiMgQ09ORklHX0RF VlBUU19NVUxUSVBMRV9JTlNUQU5DRVMgaXMgbm90IHNldApDT05GSUdfTEVHQUNZX1BUWVM9eQpD T05GSUdfTEVHQUNZX1BUWV9DT1VOVD0yNTYKIyBDT05GSUdfSVBNSV9IQU5ETEVSIGlzIG5vdCBz ZXQKIyBDT05GSUdfSFdfUkFORE9NIGlzIG5vdCBzZXQKIyBDT05GSUdfTlZSQU0gaXMgbm90IHNl dAojIENPTkZJR19SVEMgaXMgbm90IHNldAojIENPTkZJR19HRU5fUlRDIGlzIG5vdCBzZXQKIyBD T05GSUdfUjM5NjQgaXMgbm90IHNldAojIENPTkZJR19BUFBMSUNPTSBpcyBub3Qgc2V0CiMgQ09O RklHX1NPTllQSSBpcyBub3Qgc2V0CiMgQ09ORklHX01XQVZFIGlzIG5vdCBzZXQKIyBDT05GSUdf UEM4NzM2eF9HUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfTlNDX0dQSU8gaXMgbm90IHNldAojIENP TkZJR19DUzU1MzVfR1BJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNl dAojIENPTkZJR19IUEVUIGlzIG5vdCBzZXQKIyBDT05GSUdfSEFOR0NIRUNLX1RJTUVSIGlzIG5v dCBzZXQKIyBDT05GSUdfVENHX1RQTSBpcyBub3Qgc2V0CiMgQ09ORklHX1RFTENMT0NLIGlzIG5v dCBzZXQKQ09ORklHX0RFVlBPUlQ9eQojIENPTkZJR19JMkMgaXMgbm90IHNldAojIENPTkZJR19T UEkgaXMgbm90IHNldAoKIwojIFBQUyBzdXBwb3J0CiMKIyBDT05GSUdfUFBTIGlzIG5vdCBzZXQK Q09ORklHX0FSQ0hfV0FOVF9PUFRJT05BTF9HUElPTElCPXkKIyBDT05GSUdfR1BJT0xJQiBpcyBu b3Qgc2V0CiMgQ09ORklHX1cxIGlzIG5vdCBzZXQKIyBDT05GSUdfUE9XRVJfU1VQUExZIGlzIG5v dCBzZXQKIyBDT05GSUdfSFdNT04gaXMgbm90IHNldAojIENPTkZJR19USEVSTUFMIGlzIG5vdCBz ZXQKIyBDT05GSUdfV0FUQ0hET0cgaXMgbm90IHNldApDT05GSUdfU1NCX1BPU1NJQkxFPXkKCiMK IyBTb25pY3MgU2lsaWNvbiBCYWNrcGxhbmUKIwojIENPTkZJR19TU0IgaXMgbm90IHNldAoKIwoj IE11bHRpZnVuY3Rpb24gZGV2aWNlIGRyaXZlcnMKIwojIENPTkZJR19NRkRfQ09SRSBpcyBub3Qg c2V0CiMgQ09ORklHX01GRF9TTTUwMSBpcyBub3Qgc2V0CiMgQ09ORklHX0hUQ19QQVNJQzMgaXMg bm90IHNldAojIENPTkZJR19NRkRfVE1JTyBpcyBub3Qgc2V0CiMgQ09ORklHX1JFR1VMQVRPUiBp cyBub3Qgc2V0CiMgQ09ORklHX01FRElBX1NVUFBPUlQgaXMgbm90IHNldAoKIwojIEdyYXBoaWNz IHN1cHBvcnQKIwojIENPTkZJR19BR1AgaXMgbm90IHNldAojIENPTkZJR19WR0FfQVJCIGlzIG5v dCBzZXQKIyBDT05GSUdfRFJNIGlzIG5vdCBzZXQKIyBDT05GSUdfVkdBU1RBVEUgaXMgbm90IHNl dAojIENPTkZJR19WSURFT19PVVRQVVRfQ09OVFJPTCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCIGlz IG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX0xDRF9TVVBQT1JUIGlzIG5vdCBzZXQKCiMKIyBE aXNwbGF5IGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBz ZXQKCiMKIyBDb25zb2xlIGRpc3BsYXkgZHJpdmVyIHN1cHBvcnQKIwojIENPTkZJR19WR0FfQ09O U09MRSBpcyBub3Qgc2V0CkNPTkZJR19EVU1NWV9DT05TT0xFPXkKIyBDT05GSUdfU09VTkQgaXMg bm90IHNldAojIENPTkZJR19ISURfU1VQUE9SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVVBQ T1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVdCIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DIGlzIG5v dCBzZXQKIyBDT05GSUdfTUVNU1RJQ0sgaXMgbm90IHNldAojIENPTkZJR19ORVdfTEVEUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0FDQ0VTU0lCSUxJVFkgaXMgbm90IHNldAojIENPTkZJR19JTkZJTklC QU5EIGlzIG5vdCBzZXQKIyBDT05GSUdfRURBQyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19DTEFT UyBpcyBub3Qgc2V0CiMgQ09ORklHX0RNQURFVklDRVMgaXMgbm90IHNldAojIENPTkZJR19BVVhE SVNQTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKCiMKIyBUSSBWTFlOUQoj CiMgQ09ORklHX1NUQUdJTkcgaXMgbm90IHNldAojIENPTkZJR19YODZfUExBVEZPUk1fREVWSUNF UyBpcyBub3Qgc2V0CgojCiMgRmlybXdhcmUgRHJpdmVycwojCiMgQ09ORklHX0VERCBpcyBub3Qg c2V0CiMgQ09ORklHX0ZJUk1XQVJFX01FTU1BUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFTExfUkJV IGlzIG5vdCBzZXQKIyBDT05GSUdfRENEQkFTIGlzIG5vdCBzZXQKIyBDT05GSUdfRE1JSUQgaXMg bm90IHNldAojIENPTkZJR19JU0NTSV9JQkZUX0ZJTkQgaXMgbm90IHNldAoKIwojIEZpbGUgc3lz dGVtcwojCkNPTkZJR19FWFQyX0ZTPXkKIyBDT05GSUdfRVhUMl9GU19YQVRUUiBpcyBub3Qgc2V0 CiMgQ09ORklHX0VYVDJfRlNfWElQIGlzIG5vdCBzZXQKIyBDT05GSUdfRVhUM19GUyBpcyBub3Qg c2V0CiMgQ09ORklHX0VYVDRfRlMgaXMgbm90IHNldAojIENPTkZJR19SRUlTRVJGU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZTX1BPU0lYX0FDTCBp cyBub3Qgc2V0CiMgQ09ORklHX1hGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX09DRlMyX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfQlRSRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19OSUxGUzJfRlMg aXMgbm90IHNldApDT05GSUdfRklMRV9MT0NLSU5HPXkKIyBDT05GSUdfRlNOT1RJRlkgaXMgbm90 IHNldAojIENPTkZJR19ETk9USUZZIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5PVElGWSBpcyBub3Qg c2V0CiMgQ09ORklHX0lOT1RJRllfVVNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1FVT1RBIGlzIG5v dCBzZXQKIyBDT05GSUdfQVVUT0ZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQVVUT0ZTNF9GUyBp cyBub3Qgc2V0CiMgQ09ORklHX0ZVU0VfRlMgaXMgbm90IHNldAoKIwojIENhY2hlcwojCiMgQ09O RklHX0ZTQ0FDSEUgaXMgbm90IHNldAoKIwojIENELVJPTS9EVkQgRmlsZXN5c3RlbXMKIwojIENP TkZJR19JU085NjYwX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVURGX0ZTIGlzIG5vdCBzZXQKCiMK IyBET1MvRkFUL05UIEZpbGVzeXN0ZW1zCiMKIyBDT05GSUdfTVNET1NfRlMgaXMgbm90IHNldAoj IENPTkZJR19WRkFUX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTlRGU19GUyBpcyBub3Qgc2V0Cgoj CiMgUHNldWRvIGZpbGVzeXN0ZW1zCiMKQ09ORklHX1BST0NfRlM9eQojIENPTkZJR19QUk9DX0tD T1JFIGlzIG5vdCBzZXQKQ09ORklHX1BST0NfU1lTQ1RMPXkKQ09ORklHX1BST0NfUEFHRV9NT05J VE9SPXkKQ09ORklHX1NZU0ZTPXkKIyBDT05GSUdfVE1QRlMgaXMgbm90IHNldAojIENPTkZJR19I VUdFVExCRlMgaXMgbm90IHNldAojIENPTkZJR19IVUdFVExCX1BBR0UgaXMgbm90IHNldAojIENP TkZJR19DT05GSUdGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19NSVNDX0ZJTEVTWVNURU1TPXkKIyBD T05GSUdfQURGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGRlNfRlMgaXMgbm90IHNldAojIENP TkZJR19IRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19IRlNQTFVTX0ZTIGlzIG5vdCBzZXQKIyBD T05GSUdfQkVGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JGU19GUyBpcyBub3Qgc2V0CiMgQ09O RklHX0VGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQU1GUyBpcyBub3Qgc2V0CiMgQ09ORklH X1NRVUFTSEZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklH X01JTklYX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfT01GU19GUyBpcyBub3Qgc2V0CiMgQ09ORklH X0hQRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldApDT05GSUdf Uk9NRlNfRlM9eQpDT05GSUdfUk9NRlNfQkFDS0VEX0JZX0JMT0NLPXkKIyBDT05GSUdfUk9NRlNf QkFDS0VEX0JZX01URCBpcyBub3Qgc2V0CiMgQ09ORklHX1JPTUZTX0JBQ0tFRF9CWV9CT1RIIGlz IG5vdCBzZXQKQ09ORklHX1JPTUZTX09OX0JMT0NLPXkKIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qg c2V0CiMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFdPUktfRklMRVNZU1RF TVMgaXMgbm90IHNldAoKIwojIFBhcnRpdGlvbiBUeXBlcwojCiMgQ09ORklHX1BBUlRJVElPTl9B RFZBTkNFRCBpcyBub3Qgc2V0CkNPTkZJR19NU0RPU19QQVJUSVRJT049eQojIENPTkZJR19OTFMg aXMgbm90IHNldAojIENPTkZJR19ETE0gaXMgbm90IHNldAoKIwojIEtlcm5lbCBoYWNraW5nCiMK Q09ORklHX1RSQUNFX0lSUUZMQUdTX1NVUFBPUlQ9eQojIENPTkZJR19QUklOVEtfVElNRSBpcyBu b3Qgc2V0CiMgQ09ORklHX0VOQUJMRV9XQVJOX0RFUFJFQ0FURUQgaXMgbm90IHNldAojIENPTkZJ R19FTkFCTEVfTVVTVF9DSEVDSyBpcyBub3Qgc2V0CkNPTkZJR19GUkFNRV9XQVJOPTEwMjQKIyBD T05GSUdfTUFHSUNfU1lTUlEgaXMgbm90IHNldAojIENPTkZJR19TVFJJUF9BU01fU1lNUyBpcyBu b3Qgc2V0CiMgQ09ORklHX1VOVVNFRF9TWU1CT0xTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdf RlMgaXMgbm90IHNldAojIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQKIyBDT05GSUdf REVCVUdfS0VSTkVMIGlzIG5vdCBzZXQKQ09ORklHX0RFQlVHX0JVR1ZFUkJPU0U9eQojIENPTkZJ R19ERUJVR19NRU1PUllfSU5JVCBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX1dBTlRfRlJBTUVfUE9J TlRFUlM9eQojIENPTkZJR19GUkFNRV9QT0lOVEVSIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNVX0NQ VV9TVEFMTF9ERVRFQ1RPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0xBVEVOQ1lUT1AgaXMgbm90IHNl dAojIENPTkZJR19TWVNDVExfU1lTQ0FMTF9DSEVDSyBpcyBub3Qgc2V0CkNPTkZJR19VU0VSX1NU QUNLVFJBQ0VfU1VQUE9SVD15CkNPTkZJR19IQVZFX0ZVTkNUSU9OX1RSQUNFUj15CkNPTkZJR19I QVZFX0ZVTkNUSU9OX0dSQVBIX1RSQUNFUj15CkNPTkZJR19IQVZFX0ZVTkNUSU9OX0dSQVBIX0ZQ X1RFU1Q9eQpDT05GSUdfSEFWRV9GVU5DVElPTl9UUkFDRV9NQ09VTlRfVEVTVD15CkNPTkZJR19I QVZFX0RZTkFNSUNfRlRSQUNFPXkKQ09ORklHX0hBVkVfRlRSQUNFX01DT1VOVF9SRUNPUkQ9eQpD T05GSUdfSEFWRV9TWVNDQUxMX1RSQUNFUE9JTlRTPXkKQ09ORklHX1RSQUNJTkdfU1VQUE9SVD15 CiMgQ09ORklHX0ZUUkFDRSBpcyBub3Qgc2V0CiMgQ09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1B X0lOSVQgaXMgbm90IHNldAojIENPTkZJR19ETUFfQVBJX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05G SUdfU0FNUExFUyBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX0FSQ0hfS0dEQj15CkNPTkZJR19IQVZF X0FSQ0hfS01FTUNIRUNLPXkKIyBDT05GSUdfU1RSSUNUX0RFVk1FTSBpcyBub3Qgc2V0CiMgQ09O RklHX1g4Nl9WRVJCT1NFX0JPT1RVUCBpcyBub3Qgc2V0CkNPTkZJR19FQVJMWV9QUklOVEs9eQoj IENPTkZJR19FQVJMWV9QUklOVEtfREJHUCBpcyBub3Qgc2V0CiMgQ09ORklHXzRLU1RBQ0tTIGlz IG5vdCBzZXQKQ09ORklHX0RPVUJMRUZBVUxUPXkKIyBDT05GSUdfSU9NTVVfU1RSRVNTIGlzIG5v dCBzZXQKQ09ORklHX0hBVkVfTU1JT1RSQUNFX1NVUFBPUlQ9eQpDT05GSUdfSU9fREVMQVlfVFlQ RV8wWDgwPTAKQ09ORklHX0lPX0RFTEFZX1RZUEVfMFhFRD0xCkNPTkZJR19JT19ERUxBWV9UWVBF X1VERUxBWT0yCkNPTkZJR19JT19ERUxBWV9UWVBFX05PTkU9MwpDT05GSUdfSU9fREVMQVlfMFg4 MD15CiMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMgbm90IHNldAojIENPTkZJR19JT19ERUxBWV9V REVMQVkgaXMgbm90IHNldAojIENPTkZJR19JT19ERUxBWV9OT05FIGlzIG5vdCBzZXQKQ09ORklH X0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCiMgQ09ORklHX09QVElNSVpFX0lOTElOSU5HIGlzIG5v dCBzZXQKCiMKIyBTZWN1cml0eSBvcHRpb25zCiMKIyBDT05GSUdfS0VZUyBpcyBub3Qgc2V0CiMg Q09ORklHX1NFQ1VSSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VDVVJJVFlGUyBpcyBub3Qgc2V0 CiMgQ09ORklHX0RFRkFVTFRfU0VDVVJJVFlfU0VMSU5VWCBpcyBub3Qgc2V0CiMgQ09ORklHX0RF RkFVTFRfU0VDVVJJVFlfU01BQ0sgaXMgbm90IHNldAojIENPTkZJR19ERUZBVUxUX1NFQ1VSSVRZ X1RPTU9ZTyBpcyBub3Qgc2V0CkNPTkZJR19ERUZBVUxUX1NFQ1VSSVRZX0RBQz15CkNPTkZJR19E RUZBVUxUX1NFQ1VSSVRZPSIiCkNPTkZJR19DUllQVE89eQoKIwojIENyeXB0byBjb3JlIG9yIGhl bHBlcgojCiMgQ09ORklHX0NSWVBUT19NQU5BR0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRP X01BTkFHRVIyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQK IyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1JZUFREIGlz IG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FVVEhFTkMgaXMgbm90IHNldAojIENPTkZJR19DUllQ VE9fVEVTVCBpcyBub3Qgc2V0CgojCiMgQXV0aGVudGljYXRlZCBFbmNyeXB0aW9uIHdpdGggQXNz b2NpYXRlZCBEYXRhCiMKIyBDT05GSUdfQ1JZUFRPX0NDTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NS WVBUT19HQ00gaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0VRSVYgaXMgbm90IHNldAoKIwoj IEJsb2NrIG1vZGVzCiMKIyBDT05GSUdfQ1JZUFRPX0NCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NS WVBUT19DVFIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKIyBDT05G SUdfQ1JZUFRPX0VDQiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19MUlcgaXMgbm90IHNldAoj IENPTkZJR19DUllQVE9fUENCQyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19YVFMgaXMgbm90 IHNldAoKIwojIEhhc2ggbW9kZXMKIwojIENPTkZJR19DUllQVE9fSE1BQyBpcyBub3Qgc2V0CiMg Q09ORklHX0NSWVBUT19YQ0JDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1ZNQUMgaXMgbm90 IHNldAoKIwojIERpZ2VzdAojCiMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNldAojIENP TkZJR19DUllQVE9fQ1JDMzJDX0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0dIQVNI IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX01ENCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBU T19NRDUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fTUlDSEFFTF9NSUMgaXMgbm90IHNldAoj IENPTkZJR19DUllQVE9fUk1EMTI4IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDE2MCBp cyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19STUQyNTYgaXMgbm90IHNldAojIENPTkZJR19DUllQ VE9fUk1EMzIwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NIQTEgaXMgbm90IHNldAojIENP TkZJR19DUllQVE9fU0hBMjU2IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NIQTUxMiBpcyBu b3Qgc2V0CiMgQ09ORklHX0NSWVBUT19UR1IxOTIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f V1A1MTIgaXMgbm90IHNldAoKIwojIENpcGhlcnMKIwojIENPTkZJR19DUllQVE9fQUVTIGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FFU181ODYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f QU5VQklTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0FSQzQgaXMgbm90IHNldAojIENPTkZJ R19DUllQVE9fQkxPV0ZJU0ggaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ0FNRUxMSUEgaXMg bm90IHNldAojIENPTkZJR19DUllQVE9fQ0FTVDUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f Q0FTVDYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fREVTIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1JZUFRPX0ZDUllQVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19LSEFaQUQgaXMgbm90IHNl dAojIENPTkZJR19DUllQVE9fU0FMU0EyMCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TQUxT QTIwXzU4NiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRUVEIGlzIG5vdCBzZXQKIyBDT05G SUdfQ1JZUFRPX1NFUlBFTlQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVEVBIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1JZUFRPX1RXT0ZJU0ggaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fVFdP RklTSF81ODYgaXMgbm90IHNldAoKIwojIENvbXByZXNzaW9uCiMKIyBDT05GSUdfQ1JZUFRPX0RF RkxBVEUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fWkxJQiBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19MWk8gaXMgbm90IHNldAoKIwojIFJhbmRvbSBOdW1iZXIgR2VuZXJhdGlvbgojCiMg Q09ORklHX0NSWVBUT19BTlNJX0NQUk5HIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19IVz15CiMg Q09ORklHX0NSWVBUT19ERVZfUEFETE9DSyBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19ERVZf R0VPREUgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fREVWX0hJRk5fNzk1WCBpcyBub3Qgc2V0 CkNPTkZJR19IQVZFX0tWTT15CiMgQ09ORklHX1ZJUlRVQUxJWkFUSU9OIGlzIG5vdCBzZXQKIyBD T05GSUdfQklOQVJZX1BSSU5URiBpcyBub3Qgc2V0CgojCiMgTGlicmFyeSByb3V0aW5lcwojCkNP TkZJR19CSVRSRVZFUlNFPXkKQ09ORklHX0dFTkVSSUNfRklORF9GSVJTVF9CSVQ9eQpDT05GSUdf R0VORVJJQ19GSU5EX05FWFRfQklUPXkKQ09ORklHX0dFTkVSSUNfRklORF9MQVNUX0JJVD15CiMg Q09ORklHX0NSQ19DQ0lUVCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQzE2IGlzIG5vdCBzZXQKIyBD T05GSUdfQ1JDX1QxMERJRiBpcyBub3Qgc2V0CiMgQ09ORklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0 CkNPTkZJR19DUkMzMj15CiMgQ09ORklHX0NSQzcgaXMgbm90IHNldAojIENPTkZJR19MSUJDUkMz MkMgaXMgbm90IHNldApDT05GSUdfSEFTX0lPTUVNPXkKQ09ORklHX0hBU19JT1BPUlQ9eQpDT05G SUdfSEFTX0RNQT15CkNPTkZJR19OTEFUVFI9eQo= --00c09f8a553edb30b504828b0ce6--