From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH v9] xen: add para-virtual sound interface header files Date: Wed, 23 Nov 2016 18:38:09 +0200 Message-ID: <1479919089-20174-2-git-send-email-andr2000@gmail.com> References: <1479919089-20174-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1479919089-20174-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xensource.com Cc: embedded-pv-devel@lists.xenproject.org, lars.kurth@citrix.com, vlad.babchuk@gmail.com, ian.jackson@eu.citrix.com, dario.faggioli@citrix.com, tim@xen.org, iurii.konovalenko@globallogic.com, andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com, al1img@gmail.com, david.vrabel@citrix.com, JBeulich@suse.com, oleksandr.dmytryshyn@globallogic.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB0aGUgQUJJIGZvciB0aGUgdHdvIGhhbHZlcyBvZiBhIHBhcmEtdmlydHVhbGl6ZWQK c291bmQgZHJpdmVyIHRvIGNvbW11bmljYXRlIHdpdGggZWFjaCB0byBvdGhlci4KClNpZ25lZC1v ZmYtYnk6IE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIDxhbmRyMjAwMEBnbWFpbC5jb20+ClNpZ25l ZC1vZmYtYnk6IE9sZWtzYW5kciBHcnl0c292IDxhbDFpbWdAZ21haWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBPbGVrc2FuZHIgRG15dHJ5c2h5biA8b2xla3NhbmRyLmRteXRyeXNoeW5AZ2xvYmFsbG9n aWMuY29tPgpTaWduZWQtb2ZmLWJ5OiBJdXJpaSBLb25vdmFsZW5rbyA8aXVyaWkua29ub3ZhbGVu a29AZ2xvYmFsbG9naWMuY29tPgoKLS0tCkNoYW5nZXMgc2luY2UgdjE6CiAqIHJlbW92ZWQgX19h dHRyaWJ1dGVfXygoX19wYWNrZWRfXykpIGZyb20gYWxsIHN0cnVjdHVyZXMgZGVmaW5pdGlvbnMK CkNoYW5nZXMgc2luY2UgdjI6CiAqIHJlbW92ZWQgYWxsIEMgc3RydWN0dXJlcwogKiBhZGRlZCBw cm90b2NvbCBkZXNjcmlwdGlvbiBiZXR3ZWVuIGZyb250ZW5kIGFuZCBiYWNrZW5kIGRyaXZlcnMK CkNoYW5nZXMgc2luY2UgdjM6CiAqIGZpeGVkIHNvbWUgdHlwb3MKICogcmVuYW1lZCBYRU5TTkRf UENNX0ZPUk1BVF9GTE9BVF8qKiB0byBYRU5TTkRfUENNX0ZPUk1BVF9GMzJfKioKICogcmVuYW1l ZCBYRU5TTkRfUENNX0ZPUk1BVF9GTE9BVDY0XyoqIHRvIFhFTlNORF9QQ01fRk9STUFUX0Y2NF8q KgogKiBhZGRlZCAnaWQnIGZpZWxkIHRvIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBwYWNrZXRz CiAqIHJlbmFtZWQgJ3N0cmVhbV9pZCcgdG8gJ3N0cmVhbScgaW4gdGhlIHBhY2tldHMgZGVzY3Jp cHRpb24KICogcmVuYW1lZCAncGNtX2RhdGFfcmF0ZScgdG8gJ3BjbV9yYXRlJyBpbiB0aGUgcGFj a2V0cyBkZXNjcmlwdGlvbgogKiByZW5hbWVkICdwY21fc3RyZWFtX3R5cGUnIHRvICdwY21fdHlw ZScgaW4gdGhlIHBhY2tldHMgZGVzY3JpcHRpb24KICogcmVtb3ZlZCAnc3RyZWFtX2lkJyBmaWVs ZCBmcm9tIHRoZSByZXNwb25zZSBwYWNrZXRzCgpDaGFuZ2VzIHNpbmNlIHY0OgogKiByZW5hbWVk ICdzdHJlYW1faWQnIGJhY2sgdG8gdGhlIHRvICdzdHJlYW0nIGluIHRoZSBwYWNrZXRzIGRlc2Ny aXB0aW9uCiAqIG1vdmVkICdpZCcgZmllbGQgdG8gdGhlIHVwcGVyIHBvc2l0aW9uIGluIHRoZSBy ZXNwb25zZSBwYWNrZXRzCgpDaGFuZ2VzIHNpbmNlIHY1OgogKiBTbGlnaHRseSByZXdvcmtlZCBy ZXF1ZXN0L3Jlc3BvbnNlIHBhY2tldHMKICogU2l6ZSBvZiB0aGUgcmVxdWVzdC9yZXNwb25zZSBw YWNrZXQgaXMgY2hhbmdlZCB0byB0aGUgNjQgYnl0ZXMKICogTm93IHBhcmFtZXRlcnMgZm9yIHRo ZSBYRU5TTkRfT1BfU0VUX1ZPTFVNRS9YRU5TTkRfT1BfR0VUX1ZPTFVNRSBhcmUKICAgcGFzc2Vk IHZpYSBzaGFyZWQgcGFnZQogKiBBZGRlZCBwYXJhbWV0ZXJzIGZvciB0aGUgWGVuQnVzIG5vZGVz IChub3cgZWFjaCBzdHJlYW0gY2FuIGJlIG1hcHBlZAogICB0byB0aGUgZGVmaW5lZCBzb3VuZCBk ZXZpY2UgaW4gdGhlIGJhY2tlbmQgdXNpbmcgdGhvc2UgcGFyYW1ldGVycykKICogQWRkZWQgWGVu QnVzIHN0YXRlIGRpYWdyYW1zIGRlc2NyaXB0aW9uCgpDaGFuZ2VzIHNpbmNlIHY2OgogKiBSZXdv cmtlZCBzdHJlYW1zIGRlc2NyaXB0aW9uICBpbiB0aGUgQmFja2VuZCBYZW5CdXMgTm9kZXMKCkNo YW5nZXMgc2luY2Ugdjc6CiAqIHJlLXdvcmtlZCBiYWNrZW5kIGRldmljZSBwYXJhbWV0ZXJzIHRv IGJlIG1vcmUgZ2VuZXJpYyBhbmQgZmxleGlibGUKICogZXh0ZW5kZWQgZnJvbnRlbmQgZGV2aWNl IHBhcmFtZXRlcnMKICogc2xpZ2h0bHkgdXBkYXRlZCBzdGF0ZSBtYWNoaW5lIGRlc2NyaXB0aW9u IGFkZGVkIG11dGUvdW5tdXRlIGNvbW1hbmRzCiAqIGFkZGVkIGNvbnN0YW50cyBmb3IgWGVuU3Rv cmUgY29uZmlndXJhdGlvbiBzdHJpbmdzCiAgIChmaWVsZHMsIFBDTSBmb3JtYXRzIGV0Yy4pCiAq IGNoYW5nZWQgcmVxdWVzdC9yZXNwb25zZSBzdHJ1Y3R1cmUgc2l6ZSBmcm9tIDY0IG9jdGV0cyB0 byAxNgogKiBpbnRyb2R1Y2VkIGR5bmFtaWMgYnVmZmVyIGFsbG9jYXRpb24gaW5zdGVhZCBvZgog ICBzdGF0aWMgWEVOU05EX01BWF9QQUdFU19QRVJfUkVRVUVTVAogKiByZS13b3JrZWQgb3BlbiBy ZXF1ZXN0IHRvIGFsbG93IGR5bmFtaWMgYnVmZmVyIGFsbG9jYXRpb24KICogcmUtd29ya2VkIHJl YWQvd3JpdGUvdm9sdW1lIHJlcXVlc3RzLCBzbyB0aGV5IGRvbid0IHBhc3MgZ3JlZnM6CiAgIGJ1 ZmZlciBmcm9tIHRoZSBvcGVuIHJlcXVlc3QgaXMgdXNlZCBmb3IgdGhlc2Ugb3BlcmF0aW9ucyB0 byBwYXNzIGRhdGEKICogc3BlY2lmaWVkIHR5cGUgb2YgdGhlIHZvbHVtZSB2YWx1ZSB0byBiZSBh IHNpZ25lZCB2YWx1ZSBpbiBzdGVwcwogICBvZiAwLjAwMSBkQm0sIHdoaWxlIDAgYmVpbmcgMGRC bS4KICogYWRkZWQgTGludXggaW5jbHVkZSBmaWxlIHdpdGggc3RydWN0dXJlIGRlZmluaXRpb25z CgpDaGFuZ2VzIHNpbmNlIHY4OgogKiBjaGFuZ2VkIGZyb250ZW5kLWlkIHRvIGZyb250ZW5kX2lk CiAqIHNpbmdsZSBzb3VuZCBjYXJkIHN1cHBvcnQsIGNvbmZpZ3VyZWQgd2l0aCBidW5jaCBvZgog ICBkZXZpY2VzL3N0cmVhbXMKICogY2xhcmlmdWNhdGlvbiBtYWRlIG9uIHNhbXBsZSByYXRlcyBh bmQgZm9ybWF0cyBleHByZXNzZWQgYXMKICAgZGVjaW1hbHMgdy9vIGFueSBwYXJ0aWN1bGFyIG9y ZGVyaW5nCiAqIHB1dCBkZXNjcmlwdGlvbiBvZiBtaWdyYXRpb24vZGlzY29ubmVjdGlvbiBzdGF0 ZQogKiByZXBsYWNlZCBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB0byBfX3BhY2tlZAogKiBjaGFu Z2VkIHBhZGRpbmcgb2YgcmluZyBzdHJ1Y3R1cmVzIHRvIDY0IHRvIGZpdCBjYWNoZSBsaW5lCiAq IHJlbW92ZWVkICNpZmRlZiBfX0tFUk5FTAogKiBleHBsaWNpdGx5IHN0YXRlZCB3aGljaCBpbmRp Y2VzIGluIFhlblN0b3JlIGNvbmZpZ3VyYXRpb24KICAgYXJlIGNvbnRpZ3VvdXMKICogYWRkZWQg ZGVzY3JpcHRpb24gdG8gd2hhdCBmcm9udGVuZCdzIGRlZmF1bHRzIGFyZQogKiBtYWRlIG5hbWVz IG9mIHZpcnR1YWwgY2FyZC9kZXZpY2VzIG9wdGlvbmFsCiAqIHJlbW92ZWQgUENNX0ZPUk1BVF9T UEVDSUFMCiAqIGNoYW5nZWQgdm9sdW1lIHVuaXRzIGZyb20gZEJtIHRvIGRCCi0tLQogaW5jbHVk ZS94ZW4vaW50ZXJmYWNlL2lvL3NuZGlmLmggICAgICAgfCA2MDkgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBpbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vc25kaWZfbGludXguaCB8 IDExMiArKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNzIxIGluc2VydGlvbnMoKykKIGNyZWF0ZSBt b2RlIDEwMDY0NCBpbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vc25kaWYuaAogY3JlYXRlIG1vZGUg MTAwNjQ0IGluY2x1ZGUveGVuL2ludGVyZmFjZS9pby9zbmRpZl9saW51eC5oCgpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL3NuZGlmLmggYi9pbmNsdWRlL3hlbi9pbnRlcmZh Y2UvaW8vc25kaWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA3OWM3 Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL3NuZGlmLmgKQEAg LTAsMCArMSw2MDkgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHNuZGlmLmgKKyAqCisg KiBVbmlmaWVkIHNvdW5kLWRldmljZSBJL08gaW50ZXJmYWNlIGZvciBYZW4gZ3Vlc3QgT1Nlcy4K KyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8g YW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3Nv Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwg aW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxp bWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJs aXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRo ZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlz CisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp b25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Np b24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50 aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJP VklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgor ICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBP RiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB TkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1Ig Q09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RI RVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQg T1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBX SVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUg U09GVFdBUkUuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgR2xvYmFsTG9naWMgSW5j LgorICogQ29weXJpZ2h0IChDKSAyMDE2IEVQQU0gU3lzdGVtcyBJbmMuCisgKgorICogQXV0aG9y czogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPGFuZHIyMDAwQGdtYWlsLmNvbT4KKyAqICAgICAg ICAgIE9sZWtzYW5kciBHcnl0c292IDxhbDFpbWdAZ21haWwuY29tPgorICogICAgICAgICAgT2xl a3NhbmRyIERteXRyeXNoeW4gPG9sZWtzYW5kci5kbXl0cnlzaHluQGdsb2JhbGxvZ2ljLmNvbT4K KyAqICAgICAgICAgIEl1cmlpIEtvbm92YWxlbmtvIDxpdXJpaS5rb25vdmFsZW5rb0BnbG9iYWxs b2dpYy5jb20+CisgKi8KKworI2lmbmRlZiBfX1hFTl9QVUJMSUNfSU9fWEVOU05EX0hfXworI2Rl ZmluZSBfX1hFTl9QVUJMSUNfSU9fWEVOU05EX0hfXworCisvKgorICogRnJvbnQtPmJhY2sgbm90 aWZpY2F0aW9uczogV2hlbiBlbnF1ZXVpbmcgYSBuZXcgcmVxdWVzdCwgc2VuZGluZyBhCisgKiBu b3RpZmljYXRpb24gY2FuIGJlIG1hZGUgY29uZGl0aW9uYWwgb24gcmVxX2V2ZW50IChpLmUuLCB0 aGUgZ2VuZXJpYworICogaG9sZC1vZmYgbWVjaGFuaXNtIHByb3ZpZGVkIGJ5IHRoZSByaW5nIG1h Y3JvcykuIEJhY2tlbmRzIG11c3Qgc2V0CisgKiByZXFfZXZlbnQgYXBwcm9wcmlhdGVseSAoZS5n LiwgdXNpbmcgUklOR19GSU5BTF9DSEVDS19GT1JfUkVRVUVTVFMoKSkuCisgKgorICogQmFjay0+ ZnJvbnQgbm90aWZpY2F0aW9uczogV2hlbiBlbnF1ZXVpbmcgYSBuZXcgcmVzcG9uc2UsIHNlbmRp bmcgYQorICogbm90aWZpY2F0aW9uIGNhbiBiZSBtYWRlIGNvbmRpdGlvbmFsIG9uIHJzcF9ldmVu dCAoaS5lLiwgdGhlIGdlbmVyaWMKKyAqIGhvbGQtb2ZmIG1lY2hhbmlzbSBwcm92aWRlZCBieSB0 aGUgcmluZyBtYWNyb3MpLiBGcm9udGVuZHMgbXVzdCBzZXQKKyAqIHJzcF9ldmVudCBhcHByb3By aWF0ZWx5IChlLmcuLCB1c2luZyBSSU5HX0ZJTkFMX0NIRUNLX0ZPUl9SRVNQT05TRVMoKSkuCisg Ki8KKworLyoKKyAqIEZlYXR1cmUgYW5kIFBhcmFtZXRlciBOZWdvdGlhdGlvbgorICogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBUaGUgdHdvIGhhbHZlcyBvZiBhIFBhcmEt dmlydHVhbCBzb3VuZCBjYXJkIGRyaXZlciB1dGlsaXplIG5vZGVzIHdpdGhpbiB0aGUKKyAqIFhl blN0b3JlIHRvIGNvbW11bmljYXRlIGNhcGFiaWxpdGllcyBhbmQgdG8gbmVnb3RpYXRlIG9wZXJh dGluZyBwYXJhbWV0ZXJzLgorICogVGhpcyBzZWN0aW9uIGVudW1lcmF0ZXMgdGhlc2Ugbm9kZXMg d2hpY2ggcmVzaWRlIGluIHRoZSByZXNwZWN0aXZlIGZyb250IGFuZAorICogYmFja2VuZCBwb3J0 aW9ucyBvZiB0aGUgWGVuU3RvcmUsIGZvbGxvd2luZyB0aGUgWGVuQnVzIGNvbnZlbnRpb24uCisg KgorICogQWxsIGRhdGEgaW4gdGhlIFhlblN0b3JlIGlzIHN0b3JlZCBhcyBzdHJpbmdzLiAgTm9k ZXMgc3BlY2lmeWluZyBudW1lcmljCisgKiB2YWx1ZXMgYXJlIGVuY29kZWQgaW4gZGVjaW1hbC4g IEludGVnZXIgdmFsdWUgcmFuZ2VzIGxpc3RlZCBiZWxvdyBhcmUKKyAqIGV4cHJlc3NlZCBhcyBm aXhlZCBzaXplZCBpbnRlZ2VyIHR5cGVzIGNhcGFibGUgb2Ygc3RvcmluZyB0aGUgY29udmVyc2lv bgorICogb2YgYSBwcm9wZXJseSBmb3JtYXRlZCBub2RlIHN0cmluZywgd2l0aG91dCBsb3NzIG9m IGluZm9ybWF0aW9uLgorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmFja2VuZCBYZW5CdXMgTm9kZXMKKyAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQWRkcmVzc2luZyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBJbmRpY2VzIHVzZWQgdG8gYWRk cmVzcyBmcm9udGVuZHMsIGRyaXZlciBpbnN0YW5jZXMsIGNhcmRzLAorICogZGV2aWNlcyBhbmQg c3RyZWFtcy4KKyAqCisgKiBmcm9udGVuZF9pZAorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVp bnQ+CisgKgorICogICAgICBEb21haW4gSUQgb2YgdGhlIHNvdW5kIGZyb250ZW5kLgorICoKKyAq IGRydl9pZHgKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50PgorICoKKyAqICAgICAgWmVy byBiYXNlZCBjb250aWd1b3VzIGluZGV4IG9mIHRoZSB2aXJ0dWFsaXplZCBzb3VuZCBkcml2ZXIg aW5zdGFuY2UgaW4KKyAqICAgICAgdGhpcyBkb21haW4uIE11bHRpcGxlIFBWIGRyaXZlcnMgYXJl IGFsbG93ZWQgaW4gdGhlIGRvbWFpbgorICogICAgICBhdCB0aGUgc2FtZSB0aW1lLgorICoKKyAq IGRldl9pZAorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+CisgKgorICogICAgICBVbmlx dWUgZGV2aWNlIElELgorICogICAgICBEb2Vzbid0IGhhdmUgdG8gYmUgemVybyBiYXNlZCBhbmQv b3IgdG8gYmUgY29udGlndW91cy4KKyAqCisgKiBzdHJlYW1faWR4CisgKiAgICAgIFZhbHVlczog ICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFplcm8gYmFzZWQgY29udGlndW91cyBpbmRleCBv ZiB0aGUgc3RyZWFtIG9mIHRoZSBkZXZpY2UuCisgKgorICogRXhhbXBsZSBmb3IgdGhlIGZyb250 ZW5kIHJ1bm5pbmcgaW4gZG9tYWluIDUsIGluc3RhbmNlIG9mIHRoZSBkcml2ZXIKKyAqIGluIHRo ZSBmcm9udCBpcyAwIChzaW5nbGUgb3IgZmlyc3QgUFYgZHJpdmVyKSwgZGV2aWNlIGlkIDIsCisg KiBmaXJzdCBzdHJlYW0gKDApOgorICogL2xvY2FsL2RvbWFpbi88ZnJvbnRlbmRfaWQ+L2Rldmlj ZS92c25kLzxkcnZfaWR4Pi8KKyAqICAgICAgICAgZGV2aWNlLzxkZXZfaWQ+L3N0cmVhbS88c3Ry ZWFtX2lkeD4vdHlwZSA9ICJwIgorICogL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvZGV2 aWNlLzIvc3RyZWFtLzAvdHlwZSA9ICJwIgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSBQQ00gc2V0dGluZ3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAq CisgKiBFdmVyeSB2aXJ0dWFsaXplZCBzb3VuZCBmcm9udGVuZCBoYXMgc2V0IG9mIGRldmljZXMg YW5kIHN0cmVhbXMsIGVhY2gKKyAqIGlzIGluZGl2aWR1YWxseSBjb25maWd1cmVkLiBQYXJ0IG9m IHRoZSBQQ00gY29uZmlndXJhdGlvbiBjYW4gYmUgZGVmaW5lZCBhdAorICogaGlnaGVyIGxldmVs IGFuZCBiZSBmdWxseSBvciBwYXJ0aWFsbHkgcmUtdXNlZCBieSB0aGUgdW5kZXJseWluZyBsYXll cnMuCisgKiBUaGVzZSBjb25maWd1cmF0aW9uIHZhbHVlcyBhcmU6CisgKiAgbyBudW1iZXIgb2Yg Y2hhbm5lbHMgKG1pbi9tYXgpCisgKiAgbyBzdXBwb3J0ZWQgc2FtcGxlIHJhdGVzCisgKiAgbyBz dXBwb3J0ZWQgc2FtcGxlIGZvcm1hdHMuCisgKiBFLmcuIG9uZSBjYW4gZGVmaW5lIHRoZXNlIHZh bHVlcyBmb3IgdGhlIHdob2xlIGRyaXZlciwgZGV2aWNlIG9yIHN0cmVhbS4KKyAqIEV2ZXJ5IHVu ZGVybHlpbmcgbGF5ZXIgaW4gdHVybiBjYW4gcmUtZGVmaW5lIHNvbWUgb3IgYWxsIG9mIHRoZW0g dG8gYmV0dGVyCisgKiBmaXQgaXRzIG5lZWRzLiBGb3IgZXhhbXBsZSwgZHJpdmVyIG1heSBkZWZp bmUgbnVtYmVyIG9mIGNoYW5uZWxzIHRvIGJlCisgKiBpbiBbMTsgOF0gcmFuZ2UsIGFuZCBzb21l IHBhcnRpY3VsYXIgc3RyZWFtIG1heSBiZSBsaW1pdGVkIHRvIFsxOyAyXSBvbmx5LgorICogVGhl IHJ1bGUgaXMgdGhhdCB0aGUgdW5kZXJseWluZyBsYXllciBtdXN0IGJlIGEgc3Vic2V0IG9mIHRo ZSB1cHBlciBsYXllcgorICogcmFuZ2UuCisgKgorICogTm90ZTogaWYgYW55IG9mIHRoZSB2YWx1 ZXMgYXJlIG5vdCBkZWZpbmVkIHRoZW4gUFYgZHJpdmVyIHNob3VsZCB1c2UKKyAqIGl0cyBkZWZh dWx0IHZhbHVlcyBpbnN0ZWFkLgorICoKKyAqIGNoYW5uZWxzLW1pbgorICogICAgICBWYWx1ZXM6 ICAgICAgICAgPHVpbnQ+CisgKgorICogICAgICBUaGUgbWluaW11bSBhbW91bnQgb2YgY2hhbm5l bHMgdGhhdCBpcyBzdXBwb3J0ZWQuCisgKiAgICAgIE11c3QgYmUgYXQgbGVhc3QgMS4gSWYgbm90 IGRlZmluZWQgdGhlbiB1c2UgZnJvbnRlbmQncyBkZWZhdWx0LgorICoKKyAqIGNoYW5uZWxzLW1h eAorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+CisgKgorICogICAgICBUaGUgbWF4aW11 bSBhbW91bnQgb2YgY2hhbm5lbHMgdGhhdCBpcyBzdXBwb3J0ZWQuCisgKiAgICAgIE11c3QgYmUg YXQgbGVhc3QgPGNoYW5uZWxzLW1pbj4uIElmIG5vdCBkZWZpbmVkIHRoZW4gdXNlIGZyb250ZW5k J3MKKyAqICAgICAgZGVmYXVsdC4KKyAqCisgKiBzYW1wbGUtcmF0ZXMKKyAqICAgICAgVmFsdWVz OiAgICAgICAgIDxsaXN0IG9mIHVpbnRzPgorICoKKyAqICAgICAgTGlzdCBvZiBzdXBwb3J0ZWQg c2FtcGxlIHJhdGVzIHNlcGFyYXRlZCBieSBYRU5TTkRfTElTVF9TRVBBUkFUT1IuCisgKiAgICAg IElmIG5vdCBkZWZpbmVkIHRoZW4gdXNlIGZyb250ZW5kJ3MgZGVmYXVsdC4gU2FtcGxlIHJhdGVz IGFyZSBleHByZXNzZWQKKyAqICAgICAgYXMgYSBsaXN0IG9mIGRlY2ltYWwgdmFsdWVzIHcvbyBh bnkgb3JkZXJpbmcgcmVxdWlyZW1lbnQuCisgKgorICogc2FtcGxlLWZvcm1hdHMKKyAqICAgICAg VmFsdWVzOiAgICAgICAgIDxsaXN0IG9mIFhFTlNORF9QQ01fRk9STUFUX1hYWF9TVFI+CisgKgor ICogICAgICBMaXN0IG9mIHN1cHBvcnRlZCBzYW1wbGUgZm9ybWF0cyBzZXBhcmF0ZWQgYnkgWEVO U05EX0xJU1RfU0VQQVJBVE9SLgorICogICAgICBJZiBub3QgZGVmaW5lZCB0aGVuIHVzZSBmcm9u dGVuZCdzIGRlZmF1bHQuCisgKgorICogYnVmZmVyLXNpemUKKyAqICAgICAgVmFsdWVzOiAgICAg ICAgIDx1aW50PgorICoKKyAqICAgICAgVGhlIG1heGltdW0gc2l6ZSBpbiBvY3RldHMgb2YgdGhl IGJ1ZmZlciB0byBhbGxvY2F0ZSBwZXIgc3RyZWFtLgorICoKKyAqIEV4YW1wbGUgY29uZmlndXJh dGlvbjoKKyAqCisgKiBEcml2ZXIgY29uZmlndXJhdGlvbiB1c2VkIGJ5IGFsbCBzdHJlYW1zOgor ICogL2xvY2FsL2RvbWFpbi81L2RldmljZS92c25kLzAvc2FtcGxlLWZvcm1hdHMgPSAiczg7dTg7 czE2X2xlO3MxNl9iZSIKKyAqIFN0cmVhbSBvdmVycmlkZXMgc2FtcGxlIHJhdGVzIHN1cHBvcnRl ZDoKKyAqIC9sb2NhbC9kb21haW4vNS9kZXZpY2UvdnNuZC8wL2RldmljZS8yL3N0cmVhbS8wL3Nh bXBsZS1yYXRlcyA9CisgKiAgICAgICAgIjgwMDA7MjIwNTA7NDQxMDA7NDgwMDAiCisgKgorICot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBWaXJ0dWFsIHNvdW5kIGNhcmQgc2V0dGluZ3MgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHNob3J0LW5hbWUKKyAqICAgICAgVmFsdWVzOiAgICAg ICAgIDxjaGFyWzMyXT4KKyAqCisgKiAgICAgIFNob3J0IG5hbWUgb2YgdGhlIHZpcnR1YWwgc291 bmQgY2FyZC4gT3B0aW9uYWwuCisgKgorICogbG9uZy1uYW1lCisgKiAgICAgIFZhbHVlczogICAg ICAgICA8Y2hhcls4MF0+CisgKgorICogICAgICBMb25nIG5hbWUgb2YgdGhlIHZpcnR1YWwgc291 bmQgY2FyZC4gT3B0aW9uYWwuCisgKgorICogRm9yIGV4YW1wbGUsCisgKiAvbG9jYWwvZG9tYWlu LzUvZGV2aWNlL3ZzbmQvMC9zaG9ydC1uYW1lID0gIlZpcnR1YWwgYXVkaW8iCisgKiAvbG9jYWwv ZG9tYWluLzUvZGV2aWNlL3ZzbmQvMC9sb25nLW5hbWUgPQorICogICAgICAgICAiVmlydHVhbCBh dWRpbyBhdCBjZW50ZXIgc3RhY2siCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSBEZXZpY2Ugc2V0dGluZ3MgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIG5h bWUKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDxjaGFyWzgwXT4KKyAqCisgKiAgICAgIE5hbWUg b2YgdGhlIHNvdW5kIGRldmljZSB3aXRoaW4gdGhlIHZpcnR1YWwgc291bmQgY2FyZC4gT3B0aW9u YWwuCisgKgorICogRm9yIGV4YW1wbGUsCisgKiAvbG9jYWwvZG9tYWluLzUvZGV2aWNlL3ZzbmQv MC9kZXZpY2UvMC9uYW1lID0gIkdlbmVyYWwgYW5hbG9nIgorICoKKyAqLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0gU3RyZWFtIHNldHRpbmdzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KKyAqCisgKiB0eXBlCisgKiAgICAgIFZhbHVlczogICAgICAgICAicCIsICJjIgorICoK KyAqICAgICAgU3RyZWFtIHR5cGU6ICJwIiAtIHBsYXliYWNrIHN0cmVhbSwgImMiIC0gY2FwdHVy ZSBzdHJlYW0KKyAqCisgKiAgICAgIElmIGJvdGggY2FwdHVyZSBhbmQgcGxheWJhY2sgYXJlIG5l ZWRlZCB0aGVuIHR3byBzdHJlYW1zIG5lZWQgdG8gYmUKKyAqICAgICAgZGVmaW5lZCB1bmRlciB0 aGUgc2FtZSBkZXZpY2UuIEZvciBleGFtcGxlLAorICogICAgICAvbG9jYWwvZG9tYWluLzUvZGV2 aWNlL3ZzbmQvMC9kZXZpY2UvMC9zdHJlYW0vMC90eXBlID0gInAiCisgKiAgICAgIC9sb2NhbC9k b21haW4vNS9kZXZpY2UvdnNuZC8wL2RldmljZS8wL3N0cmVhbS8xL3R5cGUgPSAiYyIKKyAqCisg KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb250 ZW5kIFhlbkJ1cyBOb2RlcworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSBSZXF1ZXN0IFRyYW5zcG9ydCBQYXJhbWV0ZXJzIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisgKgorICogVGhlc2UgYXJlIHBlciBzdHJlYW0uCisgKgorICogZXZlbnQtY2hh bm5lbAorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+CisgKgorICogICAgICBUaGUgaWRl bnRpZmllciBvZiB0aGUgWGVuIGV2ZW50IGNoYW5uZWwgdXNlZCB0byBzaWduYWwgYWN0aXZpdHkK KyAqICAgICAgaW4gdGhlIHJpbmcgYnVmZmVyLgorICoKKyAqIHJpbmctcmVmCisgKiAgICAgIFZh bHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFRoZSBYZW4gZ3JhbnQgcmVmZXJlbmNl IGdyYW50aW5nIHBlcm1pc3Npb24gZm9yIHRoZSBiYWNrZW5kIHRvIG1hcAorICogICAgICBhIHNv bGUgcGFnZSBpbiBhIHNpbmdsZSBwYWdlIHNpemVkIHJpbmcgYnVmZmVyLgorICoKKyAqIGluZGV4 CisgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIEFmdGVyIHN0cmVh bSBpbml0aWFsaXphdGlvbiBpdCBpcyBhc3NpZ25lZCBhIHVuaXF1ZSBJRCAod2l0aGluIHRoZSBm cm9udAorICogICAgICBkcml2ZXIpLCBzbyBldmVyeSBzdHJlYW0gb2YgdGhlIGZyb250ZW5kIGNh biBiZSBpZGVudGlmaWVkIGJ5IHRoZQorICogICAgICBiYWNrZW5kIGJ5IHRoaXMgSUQuIFRoaXMg aXMgbm90IGVxdWFsIHRvIHN0cmVhbV9pZHggYXMgdGhlIGxhdGVyIGlzCisgKiAgICAgIHplcm8g YmFzZWQgd2l0aGluIGEgZGV2aWNlLCBidXQgdGhpcyBpbmRleCBpcyBjb250aWd1b3VzIHdpdGhp biB0aGUKKyAqICAgICAgZHJpdmVyLgorICovCisKKy8qCisgKiBTVEFURSBESUFHUkFNUworICoK KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXJ0dXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKKyAqCisgKiBUb29sIHN0YWNrIGNyZWF0ZXMgZnJvbnQgYW5kIGJhY2sgc3Rh dGUgbm9kZXMgd2l0aCBpbml0aWFsIHN0YXRlCisgKiBYZW5idXNTdGF0ZUluaXRpYWxpc2luZy4K KyAqIFRvb2wgc3RhY2sgY3JlYXRlcyBhbmQgc2V0cyB1cCBmcm9udGVuZCBzb3VuZCBjb25maWd1 cmF0aW9uIG5vZGVzIHBlciBkb21haW4uCisgKgorICogRnJvbnQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJhY2sKKyAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAg ICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgKiBYZW5idXNTdGF0ZUlu aXRpYWxpc2luZyAgICAgICAgICAgICAgWGVuYnVzU3RhdGVJbml0aWFsaXNpbmcKKyAqICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBRdWVyeSBiYWNrZW5kIGRldmljZSBp ZGVudGlmaWNhdGlvbgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGEuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gT3BlbiBh bmQgdmFsaWRhdGUgYmFja2VuZCBkZXZpY2UuCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWCisgKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWGVuYnVzU3RhdGVJbml0V2FpdAorICoKKyAqIG8gUXVlcnkgZnJv bnRlbmQgY29uZmlndXJhdGlvbgorICogbyBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZQorICogICBl dmVudCBjaGFubmVscyBwZXIgY29uZmlndXJlZAorICogICBwbGF5YmFjay9jYXB0dXJlIHN0cmVh bS4KKyAqIG8gUHVibGlzaCB0cmFuc3BvcnQgcGFyYW1ldGVycworICogICB0aGF0IHdpbGwgYmUg aW4gZWZmZWN0IGR1cmluZworICogICB0aGlzIGNvbm5lY3Rpb24uCisgKiAgICAgICAgICAgICAg fAorICogICAgICAgICAgICAgIHwKKyAqICAgICAgICAgICAgICBWCisgKiBYZW5idXNTdGF0ZUlu aXRpYWxpc2VkCisgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv IFF1ZXJ5IGZyb250ZW5kIHRyYW5zcG9ydCBwYXJhbWV0ZXJzLgorICogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvIENvbm5lY3QgdG8gdGhlIGV2ZW50IGNoYW5uZWxzLgor ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhlbmJ1c1N0YXRl Q29ubmVjdGVkCisgKgorICogIG8gQ3JlYXRlIGFuZCBpbml0aWFsaXplIE9TCisgKiAgdmlydHVh bCBzb3VuZCBkZXZpY2UgaW5zdGFuY2VzCisgKiAgYXMgcGVyIGNvbmZpZ3VyYXRpb24uCisgKiAg ICAgICAgICAgICAgfAorICogICAgICAgICAgICAgIHwKKyAqICAgICAgICAgICAgICBWCisgKiBY ZW5idXNTdGF0ZUNvbm5lY3RlZAorICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBYZW5idXNTdGF0ZVVua25vd24KKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYZW5idXNTdGF0ZUNsb3NlZAorICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFhlbmJ1c1N0YXRlQ2xvc2luZworICogbyBSZW1vdmUgdmlydHVhbCBzb3Vu ZCBkZXZpY2UKKyAqIG8gUmVtb3ZlIGV2ZW50IGNoYW5uZWxzCisgKiAgICAgICAgICAgICAgfAor ICogICAgICAgICAgICAgIHwKKyAqICAgICAgICAgICAgICBWCisgKiBYZW5idXNTdGF0ZUNsb3Nl ZAorICoKKyAqLworCisvKgorICogUENNIEZPUk1BVFMKKyAqCisgKiBYRU5TTkRfUENNX0ZPUk1B VF88Zm9ybWF0PltfPGVuZGlhbj5dCisgKgorICogZm9ybWF0OiA8Uy9VL0Y+PGJpdHM+IG9yIDxu YW1lPgorICogICAgIFMgLSBzaWduZWQsIFUgLSB1bnNpZ25lZCwgRiAtIGZsb2F0CisgKiAgICAg Yml0cyAtIDgsIDE2LCAyNCwgMzIKKyAqICAgICBuYW1lIC0gTVVfTEFXLCBHU00sIGV0Yy4KKyAq CisgKiBlbmRpYW46IDxMRS9CRT4sIG1heSBiZSBhYnNlbnQKKyAqICAgICBMRSAtIExpdHRsZSBl bmRpYW4sIEJFIC0gQmlnIGVuZGlhbgorICovCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1M4 ICAgICAgICAgICAgMAorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VOCAgICAgICAgICAgIDEK KyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzE2X0xFICAgICAgICAyCisjZGVmaW5lIFhFTlNO RF9QQ01fRk9STUFUX1MxNl9CRSAgICAgICAgMworI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9V MTZfTEUgICAgICAgIDQKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfVTE2X0JFICAgICAgICA1 CisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MyNF9MRSAgICAgICAgNgorI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9TMjRfQkUgICAgICAgIDcKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRf VTI0X0xFICAgICAgICA4CisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1UyNF9CRSAgICAgICAg OQorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMzJfTEUgICAgICAgIDEwCisjZGVmaW5lIFhF TlNORF9QQ01fRk9STUFUX1MzMl9CRSAgICAgICAgMTEKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JN QVRfVTMyX0xFICAgICAgICAxMgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VMzJfQkUgICAg ICAgIDEzCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0YzMl9MRSAgICAgICAgMTQgLyogNC1i eXRlIGZsb2F0LCBJRUVFLTc1NCAzMi1iaXQsICovCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFU X0YzMl9CRSAgICAgICAgMTUgLyogcmFuZ2UgLTEuMCB0byAxLjAgICAgICAgICAgICAgICovCisj ZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Y2NF9MRSAgICAgICAgMTYgLyogOC1ieXRlIGZsb2F0 LCBJRUVFLTc1NCA2NC1iaXQsICovCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0Y2NF9CRSAg ICAgICAgMTcgLyogcmFuZ2UgLTEuMCB0byAxLjAgICAgICAgICAgICAgICovCisjZGVmaW5lIFhF TlNORF9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9MRSAxOAorI2RlZmluZSBYRU5TTkRfUENN X0ZPUk1BVF9JRUM5NThfU1VCRlJBTUVfQkUgMTkKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRf TVVfTEFXICAgICAgICAyMAorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9BX0xBVyAgICAgICAg IDIxCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0lNQV9BRFBDTSAgICAgMjIKKyNkZWZpbmUg WEVOU05EX1BDTV9GT1JNQVRfTVBFRyAgICAgICAgICAyMworI2RlZmluZSBYRU5TTkRfUENNX0ZP Uk1BVF9HU00gICAgICAgICAgIDI0CisKKy8qCisgKiBSRVFVRVNUIENPREVTLgorICovCisjZGVm aW5lIFhFTlNORF9PUF9PUEVOICAgICAgICAgICAgICAgICAgMAorI2RlZmluZSBYRU5TTkRfT1Bf Q0xPU0UgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUgWEVOU05EX09QX1JFQUQgICAgICAgICAg ICAgICAgICAyCisjZGVmaW5lIFhFTlNORF9PUF9XUklURSAgICAgICAgICAgICAgICAgMworI2Rl ZmluZSBYRU5TTkRfT1BfU0VUX1ZPTFVNRSAgICAgICAgICAgIDQKKyNkZWZpbmUgWEVOU05EX09Q X0dFVF9WT0xVTUUgICAgICAgICAgICA1CisjZGVmaW5lIFhFTlNORF9PUF9NVVRFICAgICAgICAg ICAgICAgICAgNgorI2RlZmluZSBYRU5TTkRfT1BfVU5NVVRFICAgICAgICAgICAgICAgIDcKKwor LyoKKyAqIFhFTlNUT1JFIEZJRUxEIEFORCBQQVRIIE5BTUUgU1RSSU5HUywgSEVMUEVSUy4KKyAq LworI2RlZmluZSBYRU5TTkRfRFJJVkVSX05BTUUgICAgICAgICAgICAgICAgICAgInZzbmQiCisK KyNkZWZpbmUgWEVOU05EX0xJU1RfU0VQQVJBVE9SICAgICAgICAgICAgICAgICI7IgorLyogUGF0 aCBlbnRyaWVzICovCisjZGVmaW5lIFhFTlNORF9QQVRIX0RFVklDRSAgICAgICAgICAgICAgICAg ICAiZGV2aWNlIgorI2RlZmluZSBYRU5TTkRfUEFUSF9TVFJFQU0gICAgICAgICAgICAgICAgICAg InN0cmVhbSIKKy8qIEZpZWxkIG5hbWVzICovCisjZGVmaW5lIFhFTlNORF9GSUVMRF9WQ0FSRF9T SE9SVF9OQU1FICAgICAgICAic2hvcnQtbmFtZSIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1ZDQVJE X0xPTkdfTkFNRSAgICAgICAgICJsb25nLW5hbWUiCisjZGVmaW5lIFhFTlNORF9GSUVMRF9SSU5H X1JFRiAgICAgICAgICAgICAgICAicmluZy1yZWYiCisjZGVmaW5lIFhFTlNORF9GSUVMRF9FVlRf Q0hOTCAgICAgICAgICAgICAgICAiZXZlbnQtY2hhbm5lbCIKKyNkZWZpbmUgWEVOU05EX0ZJRUxE X0RFVklDRV9OQU1FICAgICAgICAgICAgICJuYW1lIgorI2RlZmluZSBYRU5TTkRfRklFTERfVFlQ RSAgICAgICAgICAgICAgICAgICAgInR5cGUiCisjZGVmaW5lIFhFTlNORF9GSUVMRF9TVFJFQU1f SU5ERVggICAgICAgICAgICAiaW5kZXgiCisjZGVmaW5lIFhFTlNORF9GSUVMRF9DSEFOTkVMU19N SU4gICAgICAgICAgICAiY2hhbm5lbHMtbWluIgorI2RlZmluZSBYRU5TTkRfRklFTERfQ0hBTk5F TFNfTUFYICAgICAgICAgICAgImNoYW5uZWxzLW1heCIKKyNkZWZpbmUgWEVOU05EX0ZJRUxEX1NB TVBMRV9SQVRFUyAgICAgICAgICAgICJzYW1wbGUtcmF0ZXMiCisjZGVmaW5lIFhFTlNORF9GSUVM RF9TQU1QTEVfRk9STUFUUyAgICAgICAgICAic2FtcGxlLWZvcm1hdHMiCisjZGVmaW5lIFhFTlNO RF9GSUVMRF9CVUZGRVJfU0laRSAgICAgICAgICAgICAiYnVmZmVyLXNpemUiCisKKy8qIFN0cmVh bSB0eXBlIGZpZWxkIHZhbHVlcy4gKi8KKyNkZWZpbmUgWEVOU05EX1NUUkVBTV9UWVBFX1BMQVlC QUNLICAgICAgICAgICJwIgorI2RlZmluZSBYRU5TTkRfU1RSRUFNX1RZUEVfQ0FQVFVSRSAgICAg ICAgICAgImMiCisvKiBTYW1wbGUgcmF0ZSBtYXggc3RyaW5nIGxlbmd0aCAqLworI2RlZmluZSBY RU5TTkRfU0FNUExFX1JBVEVfTUFYX0xFTiAgICAgICAgICAgIDYKKy8qIFNhbXBsZSBmb3JtYXQg ZmllbGQgdmFsdWVzICovCisjZGVmaW5lIFhFTlNORF9TQU1QTEVfRk9STUFUX01BWF9MRU4gICAg ICAgICAyNAorCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1M4X1NUUiAgICAgICAgICAgICAg ICAgInM4IgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VOF9TVFIgICAgICAgICAgICAgICAg ICJ1OCIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzE2X0xFX1NUUiAgICAgICAgICAgICAi czE2X2xlIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMTZfQkVfU1RSICAgICAgICAgICAg ICJzMTZfYmUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1UxNl9MRV9TVFIgICAgICAgICAg ICAgInUxNl9sZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfVTE2X0JFX1NUUiAgICAgICAg ICAgICAidTE2X2JlIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9TMjRfTEVfU1RSICAgICAg ICAgICAgICJzMjRfbGUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MyNF9CRV9TVFIgICAg ICAgICAgICAgInMyNF9iZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfVTI0X0xFX1NUUiAg ICAgICAgICAgICAidTI0X2xlIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VMjRfQkVfU1RS ICAgICAgICAgICAgICJ1MjRfYmUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1MzMl9MRV9T VFIgICAgICAgICAgICAgInMzMl9sZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfUzMyX0JF X1NUUiAgICAgICAgICAgICAiczMyX2JlIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9VMzJf TEVfU1RSICAgICAgICAgICAgICJ1MzJfbGUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX1Uz Ml9CRV9TVFIgICAgICAgICAgICAgInUzMl9iZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRf RjMyX0xFX1NUUiAgICAgICAgICAgICAiZmxvYXRfbGUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9S TUFUX0YzMl9CRV9TVFIgICAgICAgICAgICAgImZsb2F0X2JlIgorI2RlZmluZSBYRU5TTkRfUENN X0ZPUk1BVF9GNjRfTEVfU1RSICAgICAgICAgICAgICJmbG9hdDY0X2xlIgorI2RlZmluZSBYRU5T TkRfUENNX0ZPUk1BVF9GNjRfQkVfU1RSICAgICAgICAgICAgICJmbG9hdDY0X2JlIgorI2RlZmlu ZSBYRU5TTkRfUENNX0ZPUk1BVF9JRUM5NThfU1VCRlJBTUVfTEVfU1RSICJpZWM5NThfc3ViZnJh bWVfbGUiCisjZGVmaW5lIFhFTlNORF9QQ01fRk9STUFUX0lFQzk1OF9TVUJGUkFNRV9CRV9TVFIg ImllYzk1OF9zdWJmcmFtZV9iZSIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfTVVfTEFXX1NU UiAgICAgICAgICAgICAibXVfbGF3IgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9BX0xBV19T VFIgICAgICAgICAgICAgICJhX2xhdyIKKyNkZWZpbmUgWEVOU05EX1BDTV9GT1JNQVRfSU1BX0FE UENNX1NUUiAgICAgICAgICAiaW1hX2FkcGNtIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9N UEVHX1NUUiAgICAgICAgICAgICAgICJtcGVnIgorI2RlZmluZSBYRU5TTkRfUENNX0ZPUk1BVF9H U01fU1RSICAgICAgICAgICAgICAgICJnc20iCisKKy8qCisgKiBTVEFUVVMgUkVUVVJOIENPREVT LgorICovCisgLyogT3BlcmF0aW9uIGZhaWxlZCBmb3Igc29tZSB1bnNwZWNpZmllZCByZWFzb24g KGUuIGcuIC1FSU8pLiAqLworI2RlZmluZSBYRU5TTkRfUlNQX0VSUk9SICAgICAgICAgICAgICAg ICAoLTEpCisgLyogT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuICovCisjZGVmaW5l IFhFTlNORF9SU1BfT0tBWSAgICAgICAgICAgICAgICAgIDAKKworLyoKKyAqIERlc2NyaXB0aW9u IG9mIHRoZSBwcm90b2NvbCBiZXR3ZWVuIGZyb250ZW5kIGFuZCBiYWNrZW5kIGRyaXZlci4KKyAq CisgKiBUaGUgdHdvIGhhbHZlcyBvZiBhIFBhcmEtdmlydHVhbCBzb3VuZCBkcml2ZXIgY29tbXVu aWNhdGVzIHdpdGgKKyAqIGVhY2ggb3RoZXIgdXNpbmcgYSBzaGFyZWQgcGFnZSBhbmQgYW4gZXZl bnQgY2hhbm5lbC4KKyAqIFNoYXJlZCBwYWdlIGNvbnRhaW5zIGEgcmluZyB3aXRoIHJlcXVlc3Qv cmVzcG9uc2UgcGFja2V0cy4KKyAqCisgKgorICogQWxsIHJlcXVlc3QgcGFja2V0cyBoYXZlIHRo ZSBzYW1lIGxlbmd0aCAoNjQgb2N0ZXRzKQorICoKKyAqCisgKiBSZXF1ZXN0IG9wZW4gLSBvcGVu IGEgUENNIHN0cmVhbSBmb3IgcGxheWJhY2sgb3IgY2FwdHVyZToKKyAqICAgICAgICAgIDAgICAg ICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgIDMgICAgICAg IG9jdGV0CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICBpZCAgICAg ICAgICAgICAgICB8ICAgIG9wZXJhdGlvbiAgICB8ICAgICBzdHJlYW1faWR4ICB8CisgKiArLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwY21fcmF0 ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisg KiB8ICBwY21fZm9ybWF0ICAgICB8ICBwY21fY2hhbm5lbHMgICB8ICAgICAgICAgICAgIHJlc2Vy dmVkICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAg ICAgICAgICAgICAgIGdyZWZfZGlyZWN0b3J5X3N0YXJ0ICAgICAgICAgICAgICAgICAgICAgICAg ICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98CisgKiArLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKgor ICogaWQgLSB1aW50MTZfdCwgcHJpdmF0ZSBndWVzdCB2YWx1ZSwgZWNob2VkIGluIHJlc3BvbnNl CisgKiBvcGVyYXRpb24gLSB1aW50OF90LCBYRU5TTkRfT1BfT1BFTgorICogc3RyZWFtX2lkeCAt IHVpbnQ4X3QsIGluZGV4IG9mIHRoZSBzdHJlYW0gKCJzdHJlYW1zX2lkeCIgWGVuU3RvcmUgZW50 cnkKKyAqICAgb2YgdGhlIHN0cmVhbSkKKyAqIHBjbV9yYXRlIC0gdWludDMyX3QsIHN0cmVhbSBk YXRhIHJhdGUsIEh6CisgKiBwY21fZm9ybWF0IC0gdWludDhfdCwgWEVOU05EX1BDTV9GT1JNQVRf WFhYIHZhbHVlCisgKiBwY21fY2hhbm5lbHMgLSB1aW50OF90LCBudW1iZXIgb2YgY2hhbm5lbHMg b2YgdGhpcyBzdHJlYW0KKyAqIGdyZWZfZGlyZWN0b3J5X3N0YXJ0IC0gZ3JhbnRfcmVmX3QsIGEg cmVmZXJlbmNlIHRvIHRoZSBmaXJzdCBzaGFyZWQgcGFnZQorICogICBkZXNjcmliaW5nIHNoYXJl ZCBidWZmZXIgcmVmZXJlbmNlcy4gQXQgbGVhc3Qgb25lIHBhZ2UgZXhpc3RzLiBJZiBzaGFyZWQK KyAqICAgYnVmZmVyIHNpemUgZXhjZWVkcyB3aGF0IGNhbiBiZSBhZGRyZXNzZWQgYnkgdGhpcyBz aW5nbGUgcGFnZSwgdGhlbgorICogICByZWZlcmVuY2UgdG8gdGhlIG5leHQgcGFnZSBtdXN0IGJl IHN1cHBsaWVkIChncmVmX2Rpcl9uZXh0X3BhZ2UgYmVsb3cKKyAqICAgaXMgbm90IE5VTEwpCisg KgorICogU2hhcmVkIHBhZ2UgZm9yIFhFTlNORF9PUF9PUEVOIGJ1ZmZlciBkZXNjcmlwdG9yIChn cmVmX2RpcmVjdG9yeSBpbiB0aGUKKyAqICAgcmVxdWVzdCkgZW1wbG95cyBhIGxpc3Qgb2YgcGFn ZXMsIGRlc2NyaWJpbmcgYWxsIHBhZ2VzIG9mIHRoZSBzaGFyZWQgZGF0YQorICogICBidWZmZXI6 CisgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAg ICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3JlZl9kaXJfbmV4dF9wYWdlICAgICAgICAgICAgICAgICAg ICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbnVtX2dyZWZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICog Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Jl ZlswXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t KworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZlsxXSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ3JlZltOIC0xXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKworICoKKyAqIGdyZWZfZGlyX25leHRfcGFnZSAtIGdyYW50X3JlZl90LCBy ZWZlcmVuY2UgdG8gdGhlIG5leHQgcGFnZSBkZXNjcmliaW5nCisgKiAgIHBhZ2UgZGlyZWN0b3J5 CisgKiBudW1fZ3JlZnMgLSBudW1iZXIgb2YgZ3JlZnMgaW4gdGhpcyBwYWdlCisgKiBncmVmW2ld IC0gZ3JhbnRfcmVmX3QsIHJlZmVyZW5jZSB0byBhIHNoYXJlZCBwYWdlIG9mIHRoZSBidWZmZXIK KyAqICAgYWxsb2NhdGVkIGF0IFhFTlNORF9PUF9PUEVOCisgKgorICogUmVxdWVzdCBjbG9zZSAt IGNsb3NlIGFuIG9wZW5lZCBwY20gc3RyZWFtOgorICogICAgICAgICAgMCAgICAgICAgICAgICAg ICAgMSAgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAq ICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAg IHwgICAgb3BlcmF0aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL3wKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICst LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSsKKyAqCisgKiBpZCAtIHVpbnQxNl90LCBwcml2YXRlIGd1ZXN0IHZhbHVl LCBlY2hvZWQgaW4gcmVzcG9uc2UKKyAqIG9wZXJhdGlvbiAtIHVpbnQ4X3QsIFhFTlNORF9PUF9D TE9TRQorICogc3RyZWFtX2lkeCAtIHVpbnQ4X3QsIGluZGV4IG9mIHRoZSBzdHJlYW0gKCJzdHJl YW1zX2lkeCIgWGVuU3RvcmUgZW50cnkKKyAqICAgb2YgdGhlIHN0cmVhbSkKKyAqCisgKgorICog UmVxdWVzdCByZWFkL3dyaXRlIC0gdXNlZCBmb3IgcmVhZCAoZm9yIGNhcHR1cmUpIG9yIHdyaXRl IChmb3IgcGxheWJhY2spOgorICogICAgICAgICAgMCAgICAgICAgICAgICAgICAgMSAgICAgICAg ICAgICAgICAgIDIgICAgICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgIGlkICAgICAgICAgICAgICAgIHwgICAgb3BlcmF0 aW9uICAgIHwgICAgIHN0cmVhbV9pZHggIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxlbmd0aCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAq ICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVz ZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LSsKKyAqIHwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL3wKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKKyAqICstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBpZCAtIHVpbnQxNl90LCBwcml2 YXRlIGd1ZXN0IHZhbHVlLCBlY2hvZWQgaW4gcmVzcG9uc2UKKyAqIG9wZXJhdGlvbiAtIHVpbnQ4 X3QsIFhFTlNORF9PUF9SRUFEL1hFTlNORF9PUF9XUklURQorICogc3RyZWFtX2lkeCAtIHVpbnQ4 X3QsIGluZGV4IG9mIHRoZSBzdHJlYW0gKCJzdHJlYW1zX2lkeCIgWGVuU3RvcmUgZW50cnkKKyAq ICAgb2YgdGhlIHN0cmVhbSkKKyAqIG9mZnNldCAtIHVpbnQzMl90LCByZWFkIG9yIHdyaXRlIGRh dGEgb2Zmc2V0IHdpdGhpbiB0aGUgc2hhcmVkIGJ1ZmZlcgorICogICBwYXNzZWQgd2l0aCBYRU5T TkRfT1BfT1BFTiByZXF1ZXN0CisgKiBsZW5ndGggLSB1aW50MzJfdCwgcmVhZCBvciB3cml0ZSBk YXRhIGxlbmd0aAorICoKKyAqCisgKiBSZXF1ZXN0IHNldC9nZXQgdm9sdW1lIC0gc2V0L2dldCBj aGFubmVscycgdm9sdW1lIG9mIHRoZSBzdHJlYW0gZ2l2ZW46CisgKiAgICAgICAgICAwICAgICAg ICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAgICBv Y3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgaWQgICAgICAg ICAgICAgICAgfCAgICBvcGVyYXRpb24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAorICogKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICog fC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIGlkIC0gdWludDE2X3QsIHByaXZhdGUgZ3Vl c3QgdmFsdWUsIGVjaG9lZCBpbiByZXNwb25zZQorICogb3BlcmF0aW9uIC0gdWludDhfdCwgWEVO U05EX09QX1NFVF9WT0xVTUUgb3IgWEVOU05EX09QX0dFVF9WT0xVTUUKKyAqIHN0cmVhbV9pZHgg LSB1aW50OF90LCBpbmRleCBvZiB0aGUgc3RyZWFtICgic3RyZWFtc19pZHgiIFhlblN0b3JlIGVu dHJ5CisgKiAgIG9mIHRoZSBzdHJlYW0pCisgKiBCdWZmZXIgcGFzc2VkIHdpdGggWEVOU05EX09Q X09QRU4gaXMgdXNlZCB0byBleGNoYW5nZSB2b2x1bWUKKyAqIHZhbHVlczoKKyAqCisgKiAgICAg ICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAg ICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaGFubmVsWzBdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjaGFubmVsWzFdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKworICogKy9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogICAg ICAgICAgICAgICAgICBjaGFubmVsW1hFTlNORF9PUF9PUEVOLnBjbV9jaGFubmVscyAtIDFdICAg ICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIGNoYW5uZWxbaV0gLSBz aW50MzJfdCwgdm9sdW1lIG9mIGktdGggY2hhbm5lbAorICogVm9sdW1lIGlzIGV4cHJlc3NlZCBh cyBhIHNpZ25lZCB2YWx1ZSBpbiBzdGVwcyBvZiAwLjAwMSBkQiwKKyAqIHdoaWxlIDAgYmVpbmcg MCBkQi4KKyAqCisgKgorICogUmVxdWVzdCBtdXRlL3VubXV0ZSAtIG11dGUvdW5tdXRlIHN0cmVh bToKKyAqICAgICAgICAgIDAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAyICAg ICAgICAgICAgICAgIDMgICAgICAgIG9jdGV0CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAg ICAgICAgICAgICAgICBpZCAgICAgICAgICAgICAgICB8ICAgIG9wZXJhdGlvbiAgICB8ICAgICBz dHJlYW1faWR4ICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg KiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98CisgKiArLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgKgorICogaWQg LSB1aW50MTZfdCwgcHJpdmF0ZSBndWVzdCB2YWx1ZSwgZWNob2VkIGluIHJlc3BvbnNlCisgKiBv cGVyYXRpb24gLSB1aW50OF90LCBYRU5TTkRfT1BfTVVURS9YRU5TTkRfT1BfVU5NVVRFCisgKiBz dHJlYW1faWR4IC0gdWludDhfdCwgaW5kZXggb2YgdGhlIHN0cmVhbSAoInN0cmVhbXNfaWR4IiBY ZW5TdG9yZSBlbnRyeQorICogICBvZiB0aGUgc3RyZWFtKQorICogQnVmZmVyIHBhc3NlZCB3aXRo IFhFTlNORF9PUF9PUEVOIGlzIHVzZWQgdG8gZXhjaGFuZ2UgbXV0ZS91bm11dGUKKyAqIHZhbHVl czoKKyAqCisgKiAgICAgICAgICAwICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAg MiAgICAgICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICog fCAgIGNoYW5uZWxbMF0gICAgfCAgIGNoYW5uZWxbMV0gICAgfCAgIGNoYW5uZWxbMl0gICAgfCAg IGNoYW5uZWxbM10gICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogKy9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv fAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgIGNoYW5uZWxbaV0gICAgfCAgIGNoYW5uZWxb aSsxXSAgfCAgIGNoYW5uZWxbaSsyXSAgfCAgIGNoYW5uZWxbaSszXSAgfAorICogKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKworICogKy9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9c L1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICoKKyAq IGNoYW5uZWxbaV0gLSB1aW50OF90LCBub24temVybyBpZiBpLXRoIGNoYW5uZWwgbmVlZHMgdG8g YmUgbXV0ZWQvdW5tdXRlZAorICogTnVtYmVyIG9mIGNoYW5uZWxzIHBhc3NlZCBpcyBlcXVhbCB0 byBYRU5TTkRfT1BfT1BFTiByZXF1ZXN0IHBjbV9jaGFubmVscworICogZmllbGQKKyAqCisgKgor ICogQWxsIHJlc3BvbnNlIHBhY2tldHMgaGF2ZSB0aGUgc2FtZSBsZW5ndGggKDY0IGJ5dGVzKQor ICoKKyAqIFJlc3BvbnNlIGZvciBhbGwgcmVxdWVzdHM6CisgKiAgICAgICAgICAwICAgICAgICAg ICAgICAgICAxICAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAzICAgICAgICBvY3Rl dAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgaWQgICAgICAgICAg ICAgICAgfCAgICBvcGVyYXRpb24gICAgfCAgICAgc3RyZWFtX2lkeCAgfAorICogKy0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKworICogfCAgICAgIHN0YXR1cyAgICAgfCAgICAgICAgICAgICAgICAgICAgICByZXNl cnZlZCAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKworICogfC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAor ICogKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tKworICoKKyAqIGlkIC0gdWludDE2X3QsIGNvcGllZCBmcm9tIHRoZSByZXF1ZXN0CisgKiBz dHJlYW1faWR4IC0gdWludDhfdCwgY29waWVkIGZyb20gcmVxdWVzdAorICogb3BlcmF0aW9uIC0g dWludDhfdCwgWEVOU05EX09QX1hYWCAtIGNvcGllZCBmcm9tIHJlcXVlc3QKKyAqIHN0YXR1cyAt IGludDhfdCwgcmVzcG9uc2Ugc3RhdHVzIChYRU5TTkRfUlNQXz8/PykKKyAqLworCitzdHJ1Y3Qg eGVuc25kX3JlcXVlc3QgeworCXVpbnQ4X3QgcmF3WzY0XTsKK307CisKK3N0cnVjdCB4ZW5zbmRf cmVzcG9uc2UgeworCXVpbnQ4X3QgcmF3WzY0XTsKK307CisKKyNlbmRpZiAvKiBfX1hFTl9QVUJM SUNfSU9fWEVOU05EX0hfXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lv L3NuZGlmX2xpbnV4LmggYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvaW8vc25kaWZfbGludXguaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODAyNTA0Ci0tLSAvZGV2L251bGwK KysrIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2lvL3NuZGlmX2xpbnV4LmgKQEAgLTAsMCArMSwx MTIgQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHNuZGlmX2xpbnV4LmgKKyAqCisgKiBV bmlmaWVkIHNvdW5kLWRldmljZSBJL08gaW50ZXJmYWNlIGZvciBYZW4gZ3Vlc3QgT1Nlcy4KKyAq CisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55 IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8KKyAqIGRlYWwgaW4g dGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0 YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwgY29waWVzIG9mIHRoZSBT b2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisg KiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25z OgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g bm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFs IHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICog SU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQg Tk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09Q WVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIK KyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Ig T1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI IFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09G VFdBUkUuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEVQQU0gU3lzdGVtcyBJbmMuCisgKgor ICogQXV0aG9yczogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPGFuZHIyMDAwQGdtYWlsLmNvbT4K KyAqICAgICAgICAgIE9sZWtzYW5kciBHcnl0c292IDxhbDFpbWdAZ21haWwuY29tPgorICovCisK KyNpZm5kZWYgX19YRU5fUFVCTElDX0lPX1hFTlNORF9MSU5VWF9IX18KKyNkZWZpbmUgX19YRU5f UFVCTElDX0lPX1hFTlNORF9MSU5VWF9IX18KKworI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvaW8v cmluZy5oPgorI2luY2x1ZGUgPHhlbi9pbnRlcmZhY2UvaW8vc25kaWYuaD4KKyNpbmNsdWRlIDx4 ZW4vaW50ZXJmYWNlL2dyYW50X3RhYmxlLmg+CisKK3N0cnVjdCB4ZW5zbmRfb3Blbl9yZXEgewor CXVpbnQzMl90IHBjbV9yYXRlOworCXVpbnQ4X3QgcGNtX2Zvcm1hdDsKKwl1aW50OF90IHBjbV9j aGFubmVsczsKKwkvKiBpbiBIeiAqLworCXVpbnQxNl90IF9fcmVzZXJ2ZWQwOworCWdyYW50X3Jl Zl90IGdyZWZfZGlyZWN0b3J5X3N0YXJ0OworfSBfX3BhY2tlZDsKKworc3RydWN0IHhlbnNuZF9w YWdlX2RpcmVjdG9yeSB7CisJZ3JhbnRfcmVmX3QgZ3JlZl9kaXJfbmV4dF9wYWdlOworCXVpbnQz Ml90IG51bV9ncmVmczsKKwlncmFudF9yZWZfdCBncmVmWzBdOworfSBfX3BhY2tlZDsKKworc3Ry dWN0IHhlbnNuZF9jbG9zZV9yZXEgeworfSBfX3BhY2tlZDsKKworc3RydWN0IHhlbnNuZF93cml0 ZV9yZXEgeworCXVpbnQzMl90IG9mZnNldDsKKwl1aW50MzJfdCBsZW47Cit9IF9fcGFja2VkOwor CitzdHJ1Y3QgeGVuc25kX3JlYWRfcmVxIHsKKwl1aW50MzJfdCBvZmZzZXQ7CisJdWludDMyX3Qg bGVuOworfSBfX3BhY2tlZDsKKworc3RydWN0IHhlbnNuZF9nZXRfdm9sX3JlcSB7Cit9IF9fcGFj a2VkOworCitzdHJ1Y3QgeGVuc25kX3NldF92b2xfcmVxIHsKK30gX19wYWNrZWQ7CisKK3N0cnVj dCB4ZW5zbmRfbXV0ZV9yZXEgeworfSBfX3BhY2tlZDsKKworc3RydWN0IHhlbnNuZF91bm11dGVf cmVxIHsKK30gX19wYWNrZWQ7CisKK3N0cnVjdCB4ZW5zbmRfcmVxIHsKKwl1bmlvbiB7CisJCXN0 cnVjdCB4ZW5zbmRfcmVxdWVzdCByYXc7CisJCXN0cnVjdCB7CisJCQl1aW50MTZfdCBpZDsKKwkJ CXVpbnQ4X3Qgb3BlcmF0aW9uOworCQkJdWludDhfdCBzdHJlYW1faWR4OworCQkJdW5pb24gewor CQkJCXN0cnVjdCB4ZW5zbmRfb3Blbl9yZXEgb3BlbjsKKwkJCQlzdHJ1Y3QgeGVuc25kX2Nsb3Nl X3JlcSBjbG9zZTsKKwkJCQlzdHJ1Y3QgeGVuc25kX3dyaXRlX3JlcSB3cml0ZTsKKwkJCQlzdHJ1 Y3QgeGVuc25kX3JlYWRfcmVxIHJlYWQ7CisJCQkJc3RydWN0IHhlbnNuZF9nZXRfdm9sX3JlcSBn ZXRfdm9sOworCQkJCXN0cnVjdCB4ZW5zbmRfc2V0X3ZvbF9yZXEgc2V0X3ZvbDsKKwkJCQlzdHJ1 Y3QgeGVuc25kX211dGVfcmVxIG11dGU7CisJCQkJc3RydWN0IHhlbnNuZF91bm11dGVfcmVxIHVu bXV0ZTsKKwkJCX0gb3A7CisJCX0gZGF0YTsKKwl9IHU7Cit9OworCitzdHJ1Y3QgeGVuc25kX3Jl c3AgeworCXVuaW9uIHsKKwkJc3RydWN0IHhlbnNuZF9yZXNwb25zZSByYXc7CisJCXN0cnVjdCB7 CisJCQl1aW50MTZfdCBpZDsKKwkJCXVpbnQ4X3Qgb3BlcmF0aW9uOworCQkJdWludDhfdCBzdHJl YW1faWR4OworCQkJaW50OF90IHN0YXR1czsKKwkJfSBkYXRhOworCX0gdTsKK307CisKK0RFRklO RV9SSU5HX1RZUEVTKHhlbl9zbmRpZiwgc3RydWN0IHhlbnNuZF9yZXEsIHN0cnVjdCB4ZW5zbmRf cmVzcCk7CisKKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNfSU9fWEVOU05EX0xJTlVYX0hfXyAqLwot LSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK