From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 18/51] drm/amd/powerplay: Move smu7*.h from amdgpu to powerplay. Date: Thu, 12 Nov 2015 01:18:08 -0500 Message-ID: <1447309121-2480-19-git-send-email-alexander.deucher@amd.com> References: <1447309121-2480-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 077637A092 for ; Wed, 11 Nov 2015 22:19:11 -0800 (PST) Received: by qgeb1 with SMTP id b1so40747482qge.1 for ; Wed, 11 Nov 2015 22:19:10 -0800 (PST) In-Reply-To: <1447309121-2480-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: yanyang1 List-Id: dri-devel@lists.freedesktop.org RnJvbTogeWFueWFuZzEgPHlvdW5nLnlhbmdAYW1kLmNvbT4KCk1vdmUgc211Ny5oLCBzbXU3X2Rp c2NyZXRlLmggYW5kIHNtdTdfZnVzaW9uLmggZnJvbSBhbWRncHUgdG8gcG93ZXJwbGF5LgoKUmV2 aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2lnbmVk LW9mZi1ieTogeWFueWFuZzEgPHlvdW5nLnlhbmdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zbXU3LmggICAgICAgICAgICAgICAgIHwgMTcwIC0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NtdTdfZGlzY3JldGUuaCAgICAgICAgfCA1MTQgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc211N19mdXNpb24u aCAgICAgICAgICB8IDMwMCAtLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9pbmMvc211Ny5oICAgICAgICAgIHwgMTcwICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2luYy9zbXU3X2Rpc2NyZXRlLmggfCA1MTQgKysrKysrKysrKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL3NtdTdfZnVzaW9uLmggICB8 IDMwMCArKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDk4NCBpbnNlcnRpb25zKCspLCA5 ODQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc211Ny5oCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvc211N19kaXNjcmV0ZS5oCiBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvc211N19mdXNpb24uaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2luYy9zbXU3LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvc211N19kaXNjcmV0ZS5oCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL3NtdTdfZnVzaW9uLmgKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zbXU3LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zbXU3LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1YTM4 MGEuLjAwMDAwMDAKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc211Ny5oCisrKyAv ZGV2L251bGwKQEAgLTEsMTcwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgMjAxMyBBZHZhbmNl ZCBNaWNybyBEZXZpY2VzLCBJbmMuCi0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRl ZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKLSAqIGNvcHkgb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv ZnR3YXJlIiksCi0gKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9u LCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCi0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29w eSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKLSAqIGFu ZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0 byB3aG9tIHRoZQotICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRv IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKLSAqCi0gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5v dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgotICog YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCi0gKgot ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MgT1IKLSAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotICogRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNI QUxMCi0gKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZP UiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKLSAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAotICogQVJJU0lORyBGUk9N LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S Ci0gKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCi0gKgotICovCi0KLSNpZm5kZWYg U01VN19ICi0jZGVmaW5lIFNNVTdfSAotCi0jcHJhZ21hIHBhY2socHVzaCwgMSkKLQotI2RlZmlu ZSBTTVU3X0NPTlRFWFRfSURfU01DICAgICAgICAxCi0jZGVmaW5lIFNNVTdfQ09OVEVYVF9JRF9W QklPUyAgICAgIDIKLQotCi0jZGVmaW5lIFNNVTdfQ09OVEVYVF9JRF9TTUMgICAgICAgIDEKLSNk ZWZpbmUgU01VN19DT05URVhUX0lEX1ZCSU9TICAgICAgMgotCi0jZGVmaW5lIFNNVTdfTUFYX0xF VkVMU19WRERDICAgICAgICAgICAgOAotI2RlZmluZSBTTVU3X01BWF9MRVZFTFNfVkREQ0kgICAg ICAgICAgIDQKLSNkZWZpbmUgU01VN19NQVhfTEVWRUxTX01WREQgICAgICAgICAgICA0Ci0jZGVm aW5lIFNNVTdfTUFYX0xFVkVMU19WREROQiAgICAgICAgICAgOAotCi0jZGVmaW5lIFNNVTdfTUFY X0xFVkVMU19HUkFQSElDUyAgICAgICAgU01VX19OVU1fU0NMS19EUE1fU1RBVEUgICAvLyBTQ0xL ICsgU1EgRFBNICsgVUxWCi0jZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19NRU1PUlkgICAgICAgICAg U01VX19OVU1fTUNMS19EUE1fTEVWRUxTICAgLy8gTUNMSyBMZXZlbHMgRFBNCi0jZGVmaW5lIFNN VTdfTUFYX0xFVkVMU19HSU8gICAgICAgICAgICAgU01VX19OVU1fTENMS19EUE1fTEVWRUxTICAv LyBMQ0xLIExldmVscwotI2RlZmluZSBTTVU3X01BWF9MRVZFTFNfTElOSyAgICAgICAgICAgIFNN VV9fTlVNX1BDSUVfRFBNX0xFVkVMUyAgLy8gUENJZSBzcGVlZCBhbmQgbnVtYmVyIG9mIGxhbmVz LgotI2RlZmluZSBTTVU3X01BWF9MRVZFTFNfVVZEICAgICAgICAgICAgIDggICAvLyBWQ0xLL0RD TEsgbGV2ZWxzIGZvciBVVkQuCi0jZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19WQ0UgICAgICAgICAg ICAgOCAgIC8vIEVDTEsgbGV2ZWxzIGZvciBWQ0UuCi0jZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19B Q1AgICAgICAgICAgICAgOCAgIC8vIEFDTEsgbGV2ZWxzIGZvciBBQ1AuCi0jZGVmaW5lIFNNVTdf TUFYX0xFVkVMU19TQU1VICAgICAgICAgICAgOCAgIC8vIFNBTUNMSyBsZXZlbHMgZm9yIFNBTVUu Ci0jZGVmaW5lIFNNVTdfTUFYX0VOVFJJRVNfU01JTyAgICAgICAgICAgMzIgIC8vIE51bWJlciBv ZiBlbnRyaWVzIGluIFNNSU8gdGFibGUuCi0KLSNkZWZpbmUgRFBNX05PX0xJTUlUIDAKLSNkZWZp bmUgRFBNX05PX1VQIDEKLSNkZWZpbmUgRFBNX0dPX0RPV04gMgotI2RlZmluZSBEUE1fR09fVVAg MwotCi0jZGVmaW5lIFNNVTdfRklSU1RfRFBNX0dSQVBISUNTX0xFVkVMICAgIDAKLSNkZWZpbmUg U01VN19GSVJTVF9EUE1fTUVNT1JZX0xFVkVMICAgICAgMAotCi0jZGVmaW5lIEdQSU9fQ0xBTVBf TU9ERV9WUkhPVCAgICAgIDEKLSNkZWZpbmUgR1BJT19DTEFNUF9NT0RFX1RIRVJNICAgICAgMgot I2RlZmluZSBHUElPX0NMQU1QX01PREVfREMgICAgICAgICA0Ci0KLSNkZWZpbmUgU0NSQVRDSF9C X1RBUkdfUENJRV9JTkRFWF9TSElGVCAwCi0jZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX1BDSUVfSU5E RVhfTUFTSyAgKDB4Nzw8U0NSQVRDSF9CX1RBUkdfUENJRV9JTkRFWF9TSElGVCkKLSNkZWZpbmUg U0NSQVRDSF9CX0NVUlJfUENJRV9JTkRFWF9TSElGVCAzCi0jZGVmaW5lIFNDUkFUQ0hfQl9DVVJS X1BDSUVfSU5ERVhfTUFTSyAgKDB4Nzw8U0NSQVRDSF9CX0NVUlJfUENJRV9JTkRFWF9TSElGVCkK LSNkZWZpbmUgU0NSQVRDSF9CX1RBUkdfVVZEX0lOREVYX1NISUZUICA2Ci0jZGVmaW5lIFNDUkFU Q0hfQl9UQVJHX1VWRF9JTkRFWF9NQVNLICAgKDB4Nzw8U0NSQVRDSF9CX1RBUkdfVVZEX0lOREVY X1NISUZUKQotI2RlZmluZSBTQ1JBVENIX0JfQ1VSUl9VVkRfSU5ERVhfU0hJRlQgIDkKLSNkZWZp bmUgU0NSQVRDSF9CX0NVUlJfVVZEX0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfQ1VSUl9V VkRfSU5ERVhfU0hJRlQpCi0jZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX1ZDRV9JTkRFWF9TSElGVCAg MTIKLSNkZWZpbmUgU0NSQVRDSF9CX1RBUkdfVkNFX0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENI X0JfVEFSR19WQ0VfSU5ERVhfU0hJRlQpCi0jZGVmaW5lIFNDUkFUQ0hfQl9DVVJSX1ZDRV9JTkRF WF9TSElGVCAgMTUKLSNkZWZpbmUgU0NSQVRDSF9CX0NVUlJfVkNFX0lOREVYX01BU0sgICAoMHg3 PDxTQ1JBVENIX0JfQ1VSUl9WQ0VfSU5ERVhfU0hJRlQpCi0jZGVmaW5lIFNDUkFUQ0hfQl9UQVJH X0FDUF9JTkRFWF9TSElGVCAgMTgKLSNkZWZpbmUgU0NSQVRDSF9CX1RBUkdfQUNQX0lOREVYX01B U0sgICAoMHg3PDxTQ1JBVENIX0JfVEFSR19BQ1BfSU5ERVhfU0hJRlQpCi0jZGVmaW5lIFNDUkFU Q0hfQl9DVVJSX0FDUF9JTkRFWF9TSElGVCAgMjEKLSNkZWZpbmUgU0NSQVRDSF9CX0NVUlJfQUNQ X0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfQ1VSUl9BQ1BfSU5ERVhfU0hJRlQpCi0jZGVm aW5lIFNDUkFUQ0hfQl9UQVJHX1NBTVVfSU5ERVhfU0hJRlQgMjQKLSNkZWZpbmUgU0NSQVRDSF9C X1RBUkdfU0FNVV9JTkRFWF9NQVNLICAoMHg3PDxTQ1JBVENIX0JfVEFSR19TQU1VX0lOREVYX1NI SUZUKQotI2RlZmluZSBTQ1JBVENIX0JfQ1VSUl9TQU1VX0lOREVYX1NISUZUIDI3Ci0jZGVmaW5l IFNDUkFUQ0hfQl9DVVJSX1NBTVVfSU5ERVhfTUFTSyAgKDB4Nzw8U0NSQVRDSF9CX0NVUlJfU0FN VV9JTkRFWF9TSElGVCkKLQotCi1zdHJ1Y3QgU01VN19QSURDb250cm9sbGVyCi17Ci0gICAgdWlu dDMyX3QgS2k7Ci0gICAgaW50MzJfdCBMRldpbmR1cFVMOwotICAgIGludDMyX3QgTEZXaW5kdXBM TDsKLSAgICB1aW50MzJfdCBTdGF0ZVByZWNpc2lvbjsKLSAgICB1aW50MzJfdCBMZlByZWNpc2lv bjsKLSAgICB1aW50MzJfdCBMZk9mZnNldDsKLSAgICB1aW50MzJfdCBNYXhTdGF0ZTsKLSAgICB1 aW50MzJfdCBNYXhMZkZyYWN0aW9uOwotICAgIHVpbnQzMl90IFN0YXRlU2hpZnQ7Ci19OwotCi10 eXBlZGVmIHN0cnVjdCBTTVU3X1BJRENvbnRyb2xsZXIgU01VN19QSURDb250cm9sbGVyOwotCi0v LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCi0jZGVmaW5lIFNNVTdfTUFYX1BDSUVfTElOS19TUEVFRFMgMyAvKiAwOkdlbjEg MTpHZW4yIDI6R2VuMyAqLwotCi0jZGVmaW5lIFNNVTdfU0NMS19EUE1fQ09ORklHX01BU0sgICAg ICAgICAgICAgICAgICAgICAgICAweDAxCi0jZGVmaW5lIFNNVTdfVk9MVEFHRV9DT05UUk9MTEVS X0NPTkZJR19NQVNLICAgICAgICAgICAgICAweDAyCi0jZGVmaW5lIFNNVTdfVEhFUk1BTF9DT05U Uk9MTEVSX0NPTkZJR19NQVNLICAgICAgICAgICAgICAweDA0Ci0jZGVmaW5lIFNNVTdfTUNMS19E UE1fQ09ORklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDA4Ci0jZGVmaW5lIFNNVTdf VVZEX0RQTV9DT05GSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDEwCi0jZGVmaW5l IFNNVTdfVkNFX0RQTV9DT05GSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCi0j ZGVmaW5lIFNNVTdfQUNQX0RQTV9DT05GSUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAw eDQwCi0jZGVmaW5lIFNNVTdfU0FNVV9EUE1fQ09ORklHX01BU0sgICAgICAgICAgICAgICAgICAg ICAgICAweDgwCi0jZGVmaW5lIFNNVTdfUENJRUdFTl9EUE1fQ09ORklHX01BU0sgICAgICAgICAg ICAgICAgICAgIDB4MTAwCi0KLSNkZWZpbmUgU01VN19BQ1BfTUNMS19IQU5EU0hBS0VfRElTQUJM RSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEKLSNkZWZpbmUgU01VN19BQ1BfU0NMS19IQU5E U0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKLSNkZWZpbmUgU01VN19V VkRfTUNMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDAKLSNk ZWZpbmUgU01VN19VVkRfU0NMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4 MDAwMDAyMDAKLSNkZWZpbmUgU01VN19WQ0VfTUNMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAg ICAgICAgICAgIDB4MDAwMTAwMDAKLSNkZWZpbmUgU01VN19WQ0VfU0NMS19IQU5EU0hBS0VfRElT QUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMjAwMDAKLQotc3RydWN0IFNNVTdfRmlybXdhcmVf SGVhZGVyCi17Ci0gICAgdWludDMyX3QgRGlnZXN0WzVdOwotICAgIHVpbnQzMl90IFZlcnNpb247 Ci0gICAgdWludDMyX3QgSGVhZGVyU2l6ZTsKLSAgICB1aW50MzJfdCBGbGFnczsKLSAgICB1aW50 MzJfdCBFbnRyeVBvaW50OwotICAgIHVpbnQzMl90IENvZGVTaXplOwotICAgIHVpbnQzMl90IElt YWdlU2l6ZTsKLQotICAgIHVpbnQzMl90IFJ0b3M7Ci0gICAgdWludDMyX3QgU29mdFJlZ2lzdGVy czsKLSAgICB1aW50MzJfdCBEcG1UYWJsZTsKLSAgICB1aW50MzJfdCBGYW5UYWJsZTsKLSAgICB1 aW50MzJfdCBDYWNDb25maWdUYWJsZTsKLSAgICB1aW50MzJfdCBDYWNTdGF0dXNUYWJsZTsKLQot ICAgIHVpbnQzMl90IG1jUmVnaXN0ZXJUYWJsZTsKLQotICAgIHVpbnQzMl90IG1jQXJiRHJhbVRp bWluZ1RhYmxlOwotCi0gICAgdWludDMyX3QgUG1GdXNlVGFibGU7Ci0gICAgdWludDMyX3QgR2xv YmFsczsKLSAgICB1aW50MzJfdCBSZXNlcnZlZFs0Ml07Ci0gICAgdWludDMyX3QgU2lnbmF0dXJl OwotfTsKLQotdHlwZWRlZiBzdHJ1Y3QgU01VN19GaXJtd2FyZV9IZWFkZXIgU01VN19GaXJtd2Fy ZV9IZWFkZXI7Ci0KLSNkZWZpbmUgU01VN19GSVJNV0FSRV9IRUFERVJfTE9DQVRJT04gMHgyMDAw MAotCi1lbnVtICBEaXNwbGF5Q29uZmlnIHsKLSAgICBQb3dlckRvd24gPSAxLAotICAgIERQNTR4 NCwKLSAgICBEUDU0eDIsCi0gICAgRFA1NHgxLAotICAgIERQMjd4NCwKLSAgICBEUDI3eDIsCi0g ICAgRFAyN3gxLAotICAgIEhETUkyOTcsCi0gICAgSERNSTE2MiwKLSAgICBMVkRTLAotICAgIERQ MzI0eDQsCi0gICAgRFAzMjR4MiwKLSAgICBEUDMyNHgxCi19OwotCi0jcHJhZ21hIHBhY2socG9w KQotCi0jZW5kaWYKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc211 N19kaXNjcmV0ZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc211N19kaXNjcmV0ZS5o CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYjBiNDA0Li4wMDAwMDAwCi0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NtdTdfZGlzY3JldGUuaAorKysgL2Rldi9udWxsCkBA IC0xLDUxNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTMgQWR2YW5jZWQgTWljcm8gRGV2 aWNlcywgSW5jLgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCi0gKiBjb3B5IG9mIHRoaXMgc29mdHdh cmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAot ICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5n IHdpdGhvdXQgbGltaXRhdGlvbgotICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwg bWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCi0gKiBhbmQvb3Igc2VsbCBj b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUK LSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93 aW5nIGNvbmRpdGlvbnM6Ci0gKgotICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRo aXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KLSAqIGFsbCBjb3BpZXMg b3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotICoKLSAqIFRIRSBTT0ZU V0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBF WFBSRVNTIE9SCi0gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBX QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAotICogVEhF IENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlN LCBEQU1BR0VTIE9SCi0gKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKLSAqIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9S IElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgotICogT1RIRVIg REVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgotICoKLSAqLwotCi0jaWZuZGVmIFNNVTdfRElTQ1JF VEVfSAotI2RlZmluZSBTTVU3X0RJU0NSRVRFX0gKLQotI2luY2x1ZGUgInNtdTcuaCIKLQotI3By YWdtYSBwYWNrKHB1c2gsIDEpCi0KLSNkZWZpbmUgU01VN19EVEVfSVRFUkFUSU9OUyA1Ci0jZGVm aW5lIFNNVTdfRFRFX1NPVVJDRVMgMwotI2RlZmluZSBTTVU3X0RURV9TSU5LUyAxCi0jZGVmaW5l IFNNVTdfTlVNX0NQVV9URVMgMAotI2RlZmluZSBTTVU3X05VTV9HUFVfVEVTIDEKLSNkZWZpbmUg U01VN19OVU1fTk9OX1RFUyAyCi0KLXN0cnVjdCBTTVU3X1NvZnRSZWdpc3RlcnMKLXsKLSAgICB1 aW50MzJfdCAgICAgICAgUmVmQ2xvY2tGcmVxdWVuY3k7Ci0gICAgdWludDMyX3QgICAgICAgIFBt VGltZXJQOwotICAgIHVpbnQzMl90ICAgICAgICBGZWF0dXJlRW5hYmxlczsKLSAgICB1aW50MzJf dCAgICAgICAgUHJlVkJsYW5rR2FwOwotICAgIHVpbnQzMl90ICAgICAgICBWQmxhbmtUaW1lb3V0 OwotICAgIHVpbnQzMl90ICAgICAgICBUcmFpblRpbWVHYXA7Ci0KLSAgICB1aW50MzJfdCAgICAg ICAgTXZkZFN3aXRjaFRpbWU7Ci0gICAgdWludDMyX3QgICAgICAgIExvbmdlc3RBY3BpVHJhaW5U aW1lOwotICAgIHVpbnQzMl90ICAgICAgICBBY3BpRGVsYXk7Ci0gICAgdWludDMyX3QgICAgICAg IEc1VHJhaW5UaW1lOwotICAgIHVpbnQzMl90ICAgICAgICBEZWxheU1wbGxQd3JvbjsKLSAgICB1 aW50MzJfdCAgICAgICAgVm9sdGFnZUNoYW5nZVRpbWVvdXQ7Ci0gICAgdWludDMyX3QgICAgICAg IEhhbmRzaGFrZURpc2FibGVzOwotCi0gICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHkxQ29u ZmlnOwotICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5MkNvbmZpZzsKLSAgICB1aW50OF90 ICAgICAgICAgRGlzcGxheVBoeTNDb25maWc7Ci0gICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQ aHk0Q29uZmlnOwotCi0gICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHk1Q29uZmlnOwotICAg IHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5NkNvbmZpZzsKLSAgICB1aW50OF90ICAgICAgICAg RGlzcGxheVBoeTdDb25maWc7Ci0gICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHk4Q29uZmln OwotCi0gICAgdWludDMyX3QgICAgICAgIEF2ZXJhZ2VHcmFwaGljc0E7Ci0gICAgdWludDMyX3Qg ICAgICAgIEF2ZXJhZ2VNZW1vcnlBOwotICAgIHVpbnQzMl90ICAgICAgICBBdmVyYWdlR2lvQTsK LQotICAgIHVpbnQ4X3QgICAgICAgICBTQ2xrRHBtRW5hYmxlZExldmVsczsKLSAgICB1aW50OF90 ICAgICAgICAgTUNsa0RwbUVuYWJsZWRMZXZlbHM7Ci0gICAgdWludDhfdCAgICAgICAgIExDbGtE cG1FbmFibGVkTGV2ZWxzOwotICAgIHVpbnQ4X3QgICAgICAgICBQQ0llRHBtRW5hYmxlZExldmVs czsKLQotICAgIHVpbnQ4X3QgICAgICAgICBVVkREcG1FbmFibGVkTGV2ZWxzOwotICAgIHVpbnQ4 X3QgICAgICAgICBTQU1VRHBtRW5hYmxlZExldmVsczsKLSAgICB1aW50OF90ICAgICAgICAgQUNQ RHBtRW5hYmxlZExldmVsczsKLSAgICB1aW50OF90ICAgICAgICAgVkNFRHBtRW5hYmxlZExldmVs czsKLQotICAgIHVpbnQzMl90ICAgICAgICBEUkFNX0xPR19BRERSX0g7Ci0gICAgdWludDMyX3Qg ICAgICAgIERSQU1fTE9HX0FERFJfTDsKLSAgICB1aW50MzJfdCAgICAgICAgRFJBTV9MT0dfUEhZ X0FERFJfSDsKLSAgICB1aW50MzJfdCAgICAgICAgRFJBTV9MT0dfUEhZX0FERFJfTDsKLSAgICB1 aW50MzJfdCAgICAgICAgRFJBTV9MT0dfQlVGRl9TSVpFOwotICAgIHVpbnQzMl90ICAgICAgICBV bHZFbnRlckM7Ci0gICAgdWludDMyX3QgICAgICAgIFVsdlRpbWU7Ci0gICAgdWludDMyX3QgICAg ICAgIFJlc2VydmVkWzNdOwotCi19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X1NvZnRSZWdpc3Rl cnMgU01VN19Tb2Z0UmVnaXN0ZXJzOwotCi1zdHJ1Y3QgU01VN19EaXNjcmV0ZV9Wb2x0YWdlTGV2 ZWwKLXsKLSAgICB1aW50MTZfdCAgICBWb2x0YWdlOwotICAgIHVpbnQxNl90ICAgIFN0ZFZvbHRh Z2VIaVNpZGQ7Ci0gICAgdWludDE2X3QgICAgU3RkVm9sdGFnZUxvU2lkZDsKLSAgICB1aW50OF90 ICAgICBTbWlvOwotICAgIHVpbnQ4X3QgICAgIHBhZGRpbmc7Ci19OwotCi10eXBlZGVmIHN0cnVj dCBTTVU3X0Rpc2NyZXRlX1ZvbHRhZ2VMZXZlbCBTTVU3X0Rpc2NyZXRlX1ZvbHRhZ2VMZXZlbDsK LQotc3RydWN0IFNNVTdfRGlzY3JldGVfR3JhcGhpY3NMZXZlbAotewotICAgIHVpbnQzMl90ICAg IEZsYWdzOwotICAgIHVpbnQzMl90ICAgIE1pblZkZGM7Ci0gICAgdWludDMyX3QgICAgTWluVmRk Y1BoYXNlczsKLQotICAgIHVpbnQzMl90ICAgIFNjbGtGcmVxdWVuY3k7Ci0KLSAgICB1aW50OF90 ICAgICBwYWRkaW5nMVsyXTsKLSAgICB1aW50MTZfdCAgICBBY3Rpdml0eUxldmVsOwotCi0gICAg dWludDMyX3QgICAgQ2dTcGxsRnVuY0NudGwzOwotICAgIHVpbnQzMl90ICAgIENnU3BsbEZ1bmND bnRsNDsKLSAgICB1aW50MzJfdCAgICBTcGxsU3ByZWFkU3BlY3RydW07Ci0gICAgdWludDMyX3Qg ICAgU3BsbFNwcmVhZFNwZWN0cnVtMjsKLSAgICB1aW50MzJfdCAgICBDY1B3ckR5blJtOwotICAg IHVpbnQzMl90ICAgIENjUHdyRHluUm0xOwotICAgIHVpbnQ4X3QgICAgIFNjbGtEaWQ7Ci0gICAg dWludDhfdCAgICAgRGlzcGxheVdhdGVybWFyazsKLSAgICB1aW50OF90ICAgICBFbmFibGVkRm9y QWN0aXZpdHk7Ci0gICAgdWludDhfdCAgICAgRW5hYmxlZEZvclRocm90dGxlOwotICAgIHVpbnQ4 X3QgICAgIFVwSDsKLSAgICB1aW50OF90ICAgICBEb3duSDsKLSAgICB1aW50OF90ICAgICBWb2x0 YWdlRG93bkg7Ci0gICAgdWludDhfdCAgICAgUG93ZXJUaHJvdHRsZTsKLSAgICB1aW50OF90ICAg ICBEZWVwU2xlZXBEaXZJZDsKLSAgICB1aW50OF90ICAgICBwYWRkaW5nWzNdOwotfTsKLQotdHlw ZWRlZiBzdHJ1Y3QgU01VN19EaXNjcmV0ZV9HcmFwaGljc0xldmVsIFNNVTdfRGlzY3JldGVfR3Jh cGhpY3NMZXZlbDsKLQotc3RydWN0IFNNVTdfRGlzY3JldGVfQUNQSUxldmVsCi17Ci0gICAgdWlu dDMyX3QgICAgRmxhZ3M7Ci0gICAgdWludDMyX3QgICAgTWluVmRkYzsKLSAgICB1aW50MzJfdCAg ICBNaW5WZGRjUGhhc2VzOwotICAgIHVpbnQzMl90ICAgIFNjbGtGcmVxdWVuY3k7Ci0gICAgdWlu dDhfdCAgICAgU2Nsa0RpZDsKLSAgICB1aW50OF90ICAgICBEaXNwbGF5V2F0ZXJtYXJrOwotICAg IHVpbnQ4X3QgICAgIERlZXBTbGVlcERpdklkOwotICAgIHVpbnQ4X3QgICAgIHBhZGRpbmc7Ci0g ICAgdWludDMyX3QgICAgQ2dTcGxsRnVuY0NudGw7Ci0gICAgdWludDMyX3QgICAgQ2dTcGxsRnVu Y0NudGwyOwotICAgIHVpbnQzMl90ICAgIENnU3BsbEZ1bmNDbnRsMzsKLSAgICB1aW50MzJfdCAg ICBDZ1NwbGxGdW5jQ250bDQ7Ci0gICAgdWludDMyX3QgICAgU3BsbFNwcmVhZFNwZWN0cnVtOwot ICAgIHVpbnQzMl90ICAgIFNwbGxTcHJlYWRTcGVjdHJ1bTI7Ci0gICAgdWludDMyX3QgICAgQ2NQ d3JEeW5SbTsKLSAgICB1aW50MzJfdCAgICBDY1B3ckR5blJtMTsKLX07Ci0KLXR5cGVkZWYgc3Ry dWN0IFNNVTdfRGlzY3JldGVfQUNQSUxldmVsIFNNVTdfRGlzY3JldGVfQUNQSUxldmVsOwotCi1z dHJ1Y3QgU01VN19EaXNjcmV0ZV9VbHYKLXsKLSAgICB1aW50MzJfdCAgICBDY1B3ckR5blJtOwot ICAgIHVpbnQzMl90ICAgIENjUHdyRHluUm0xOwotICAgIHVpbnQxNl90ICAgIFZkZGNPZmZzZXQ7 Ci0gICAgdWludDhfdCAgICAgVmRkY09mZnNldFZpZDsKLSAgICB1aW50OF90ICAgICBWZGRjUGhh c2U7Ci0gICAgdWludDMyX3QgICAgUmVzZXJ2ZWQ7Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3 X0Rpc2NyZXRlX1VsdiBTTVU3X0Rpc2NyZXRlX1VsdjsKLQotc3RydWN0IFNNVTdfRGlzY3JldGVf TWVtb3J5TGV2ZWwKLXsKLSAgICB1aW50MzJfdCAgICBNaW5WZGRjOwotICAgIHVpbnQzMl90ICAg IE1pblZkZGNQaGFzZXM7Ci0gICAgdWludDMyX3QgICAgTWluVmRkY2k7Ci0gICAgdWludDMyX3Qg ICAgTWluTXZkZDsKLQotICAgIHVpbnQzMl90ICAgIE1jbGtGcmVxdWVuY3k7Ci0KLSAgICB1aW50 OF90ICAgICBFZGNSZWFkRW5hYmxlOwotICAgIHVpbnQ4X3QgICAgIEVkY1dyaXRlRW5hYmxlOwot ICAgIHVpbnQ4X3QgICAgIFJ0dEVuYWJsZTsKLSAgICB1aW50OF90ICAgICBTdHV0dGVyRW5hYmxl OwotCi0gICAgdWludDhfdCAgICAgU3Ryb2JlRW5hYmxlOwotICAgIHVpbnQ4X3QgICAgIFN0cm9i ZVJhdGlvOwotICAgIHVpbnQ4X3QgICAgIEVuYWJsZWRGb3JUaHJvdHRsZTsKLSAgICB1aW50OF90 ICAgICBFbmFibGVkRm9yQWN0aXZpdHk7Ci0KLSAgICB1aW50OF90ICAgICBVcEg7Ci0gICAgdWlu dDhfdCAgICAgRG93bkg7Ci0gICAgdWludDhfdCAgICAgVm9sdGFnZURvd25IOwotICAgIHVpbnQ4 X3QgICAgIHBhZGRpbmc7Ci0KLSAgICB1aW50MTZfdCAgICBBY3Rpdml0eUxldmVsOwotICAgIHVp bnQ4X3QgICAgIERpc3BsYXlXYXRlcm1hcms7Ci0gICAgdWludDhfdCAgICAgcGFkZGluZzE7Ci0K LSAgICB1aW50MzJfdCAgICBNcGxsRnVuY0NudGw7Ci0gICAgdWludDMyX3QgICAgTXBsbEZ1bmND bnRsXzE7Ci0gICAgdWludDMyX3QgICAgTXBsbEZ1bmNDbnRsXzI7Ci0gICAgdWludDMyX3QgICAg TXBsbEFkRnVuY0NudGw7Ci0gICAgdWludDMyX3QgICAgTXBsbERxRnVuY0NudGw7Ci0gICAgdWlu dDMyX3QgICAgTWNsa1B3cm1ndENudGw7Ci0gICAgdWludDMyX3QgICAgRGxsQ250bDsKLSAgICB1 aW50MzJfdCAgICBNcGxsU3MxOwotICAgIHVpbnQzMl90ICAgIE1wbGxTczI7Ci19OwotCi10eXBl ZGVmIHN0cnVjdCBTTVU3X0Rpc2NyZXRlX01lbW9yeUxldmVsIFNNVTdfRGlzY3JldGVfTWVtb3J5 TGV2ZWw7Ci0KLXN0cnVjdCBTTVU3X0Rpc2NyZXRlX0xpbmtMZXZlbAotewotICAgIHVpbnQ4X3Qg ICAgIFBjaWVHZW5TcGVlZDsKLSAgICB1aW50OF90ICAgICBQY2llTGFuZUNvdW50OwotICAgIHVp bnQ4X3QgICAgIEVuYWJsZWRGb3JBY3Rpdml0eTsKLSAgICB1aW50OF90ICAgICBQYWRkaW5nOwot ICAgIHVpbnQzMl90ICAgIERvd25UOwotICAgIHVpbnQzMl90ICAgIFVwVDsKLSAgICB1aW50MzJf dCAgICBSZXNlcnZlZDsKLX07Ci0KLXR5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfTGlua0xl dmVsIFNNVTdfRGlzY3JldGVfTGlua0xldmVsOwotCi0KLXN0cnVjdCBTTVU3X0Rpc2NyZXRlX01D QXJiRHJhbVRpbWluZ1RhYmxlRW50cnkKLXsKLSAgICB1aW50MzJfdCBNY0FyYkRyYW1UaW1pbmc7 Ci0gICAgdWludDMyX3QgTWNBcmJEcmFtVGltaW5nMjsKLSAgICB1aW50OF90ICBNY0FyYkJ1cnN0 VGltZTsKLSAgICB1aW50OF90ICBwYWRkaW5nWzNdOwotfTsKLQotdHlwZWRlZiBzdHJ1Y3QgU01V N19EaXNjcmV0ZV9NQ0FyYkRyYW1UaW1pbmdUYWJsZUVudHJ5IFNNVTdfRGlzY3JldGVfTUNBcmJE cmFtVGltaW5nVGFibGVFbnRyeTsKLQotc3RydWN0IFNNVTdfRGlzY3JldGVfTUNBcmJEcmFtVGlt aW5nVGFibGUKLXsKLSAgICBTTVU3X0Rpc2NyZXRlX01DQXJiRHJhbVRpbWluZ1RhYmxlRW50cnkg ZW50cmllc1tTTVVfX05VTV9TQ0xLX0RQTV9TVEFURV1bU01VX19OVU1fTUNMS19EUE1fTEVWRUxT XTsKLX07Ci0KLXR5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfTUNBcmJEcmFtVGltaW5nVGFi bGUgU01VN19EaXNjcmV0ZV9NQ0FyYkRyYW1UaW1pbmdUYWJsZTsKLQotc3RydWN0IFNNVTdfRGlz Y3JldGVfVXZkTGV2ZWwKLXsKLSAgICB1aW50MzJfdCBWY2xrRnJlcXVlbmN5OwotICAgIHVpbnQz Ml90IERjbGtGcmVxdWVuY3k7Ci0gICAgdWludDE2X3QgTWluVmRkYzsKLSAgICB1aW50OF90ICBN aW5WZGRjUGhhc2VzOwotICAgIHVpbnQ4X3QgIFZjbGtEaXZpZGVyOwotICAgIHVpbnQ4X3QgIERj bGtEaXZpZGVyOwotICAgIHVpbnQ4X3QgIHBhZGRpbmdbM107Ci19OwotCi10eXBlZGVmIHN0cnVj dCBTTVU3X0Rpc2NyZXRlX1V2ZExldmVsIFNNVTdfRGlzY3JldGVfVXZkTGV2ZWw7Ci0KLXN0cnVj dCBTTVU3X0Rpc2NyZXRlX0V4dENsa0xldmVsCi17Ci0gICAgdWludDMyX3QgRnJlcXVlbmN5Owot ICAgIHVpbnQxNl90IE1pblZvbHRhZ2U7Ci0gICAgdWludDhfdCAgTWluUGhhc2VzOwotICAgIHVp bnQ4X3QgIERpdmlkZXI7Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Rpc2NyZXRlX0V4dENs a0xldmVsIFNNVTdfRGlzY3JldGVfRXh0Q2xrTGV2ZWw7Ci0KLXN0cnVjdCBTTVU3X0Rpc2NyZXRl X1N0YXRlSW5mbwotewotICAgIHVpbnQzMl90IFNjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMyX3Qg TWNsa0ZyZXF1ZW5jeTsKLSAgICB1aW50MzJfdCBWY2xrRnJlcXVlbmN5OwotICAgIHVpbnQzMl90 IERjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMyX3QgU2FtY2xrRnJlcXVlbmN5OwotICAgIHVpbnQz Ml90IEFjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMyX3QgRWNsa0ZyZXF1ZW5jeTsKLSAgICB1aW50 MTZfdCBNdmRkVm9sdGFnZTsKLSAgICB1aW50MTZfdCBwYWRkaW5nMTY7Ci0gICAgdWludDhfdCAg RGlzcGxheVdhdGVybWFyazsKLSAgICB1aW50OF90ICBNY0FyYkluZGV4OwotICAgIHVpbnQ4X3Qg IE1jUmVnSW5kZXg7Ci0gICAgdWludDhfdCAgU2VxSW5kZXg7Ci0gICAgdWludDhfdCAgU2Nsa0Rp ZDsKLSAgICBpbnQ4X3QgICBTY2xrSW5kZXg7Ci0gICAgaW50OF90ICAgTWNsa0luZGV4OwotICAg IHVpbnQ4X3QgIFBDSWVHZW47Ci0KLX07Ci0KLXR5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVf U3RhdGVJbmZvIFNNVTdfRGlzY3JldGVfU3RhdGVJbmZvOwotCi0KLXN0cnVjdCBTTVU3X0Rpc2Ny ZXRlX0RwbVRhYmxlCi17Ci0gICAgU01VN19QSURDb250cm9sbGVyICAgICAgICAgICAgICAgICAg R3JhcGhpY3NQSURDb250cm9sbGVyOwotICAgIFNNVTdfUElEQ29udHJvbGxlciAgICAgICAgICAg ICAgICAgIE1lbW9yeVBJRENvbnRyb2xsZXI7Ci0gICAgU01VN19QSURDb250cm9sbGVyICAgICAg ICAgICAgICAgICAgTGlua1BJRENvbnRyb2xsZXI7Ci0KLSAgICB1aW50MzJfdCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTeXN0ZW1GbGFnczsKLQotCi0gICAgdWludDMyX3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU21pb01hc2tWZGRjVmlkOwotICAgIHVpbnQzMl90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNtaW9NYXNrVmRkY1BoYXNlOwotICAgIHVpbnQzMl90ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNtaW9NYXNrVmRkY2lWaWQ7Ci0gICAgdWludDMyX3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU21pb01hc2tNdmRkVmlkOwotCi0gICAgdWludDMyX3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmRkY0xldmVsQ291bnQ7Ci0gICAgdWludDMyX3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmRkY2lMZXZlbENvdW50OwotICAgIHVpbnQzMl90 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE12ZGRMZXZlbENvdW50OwotCi0gICAgU01VN19E aXNjcmV0ZV9Wb2x0YWdlTGV2ZWwgICAgICAgICAgVmRkY0xldmVsICAgICAgICAgICAgICAgW1NN VTdfTUFYX0xFVkVMU19WRERDXTsKLS8vICAgIFNNVTdfRGlzY3JldGVfVm9sdGFnZUxldmVsICAg ICAgICAgIFZkZGNTdGFuZGFyZFJlZmVyZW5jZSAgIFtTTVU3X01BWF9MRVZFTFNfVkREQ107Ci0g ICAgU01VN19EaXNjcmV0ZV9Wb2x0YWdlTGV2ZWwgICAgICAgICAgVmRkY2lMZXZlbCAgICAgICAg ICAgICAgW1NNVTdfTUFYX0xFVkVMU19WRERDSV07Ci0gICAgU01VN19EaXNjcmV0ZV9Wb2x0YWdl TGV2ZWwgICAgICAgICAgTXZkZExldmVsICAgICAgICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19N VkREXTsKLQotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNz RHBtTGV2ZWxDb3VudDsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBN ZW1vcnlEcG1MZXZlbENvdW50OwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIExpbmtMZXZlbENvdW50OwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFV2ZExldmVsQ291bnQ7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVmNlTGV2ZWxDb3VudDsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBY3BMZXZlbENvdW50OwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNhbXVMZXZlbENvdW50OwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE1hc3RlckRlZXBTbGVlcENvbnRyb2w7Ci0gICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmVzZXJ2ZWRbNV07Ci0vLyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTYW11RGVmYXVsdExldmVsOwotCi0gICAgU01VN19EaXNjcmV0ZV9HcmFwaGljc0xl dmVsICAgICAgICAgR3JhcGhpY3NMZXZlbCAgICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19HUkFQ SElDU107Ci0gICAgU01VN19EaXNjcmV0ZV9NZW1vcnlMZXZlbCAgICAgICAgICAgTWVtb3J5QUNQ SUxldmVsOwotICAgIFNNVTdfRGlzY3JldGVfTWVtb3J5TGV2ZWwgICAgICAgICAgIE1lbW9yeUxl dmVsICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZFTFNfTUVNT1JZXTsKLSAgICBTTVU3X0Rpc2Ny ZXRlX0xpbmtMZXZlbCAgICAgICAgICAgICBMaW5rTGV2ZWwgICAgICAgICAgICAgICBbU01VN19N QVhfTEVWRUxTX0xJTktdOwotICAgIFNNVTdfRGlzY3JldGVfQUNQSUxldmVsICAgICAgICAgICAg IEFDUElMZXZlbDsKLSAgICBTTVU3X0Rpc2NyZXRlX1V2ZExldmVsICAgICAgICAgICAgICBVdmRM ZXZlbCAgICAgICAgICAgICAgICBbU01VN19NQVhfTEVWRUxTX1VWRF07Ci0gICAgU01VN19EaXNj cmV0ZV9FeHRDbGtMZXZlbCAgICAgICAgICAgVmNlTGV2ZWwgICAgICAgICAgICAgICAgW1NNVTdf TUFYX0xFVkVMU19WQ0VdOwotICAgIFNNVTdfRGlzY3JldGVfRXh0Q2xrTGV2ZWwgICAgICAgICAg IEFjcExldmVsICAgICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZFTFNfQUNQXTsKLSAgICBTTVU3 X0Rpc2NyZXRlX0V4dENsa0xldmVsICAgICAgICAgICBTYW11TGV2ZWwgICAgICAgICAgICAgICBb U01VN19NQVhfTEVWRUxTX1NBTVVdOwotICAgIFNNVTdfRGlzY3JldGVfVWx2ICAgICAgICAgICAg ICAgICAgIFVsdjsKLQotICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNj bGtTdGVwU2l6ZTsKLSAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbWlv ICAgICAgICAgICAgICAgICAgICBbU01VN19NQVhfRU5UUklFU19TTUlPXTsKLQotICAgIHVpbnQ4 X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFV2ZEJvb3RMZXZlbDsKLSAgICB1aW50OF90 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWY2VCb290TGV2ZWw7Ci0gICAgdWludDhfdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNwQm9vdExldmVsOwotICAgIHVpbnQ4X3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNhbXVCb290TGV2ZWw7Ci0KLSAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBVVkRJbnRlcnZhbDsKLSAgICB1aW50OF90ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWQ0VJbnRlcnZhbDsKLSAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBQ1BJbnRlcnZhbDsKLSAgICB1aW50OF90ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTQU1VSW50ZXJ2YWw7Ci0KLSAgICB1aW50OF90ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHcmFwaGljc0Jvb3RMZXZlbDsKLSAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHcmFwaGljc1ZvbHRhZ2VDaGFuZ2VFbmFibGU7Ci0gICAgdWlu dDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NUaGVybVRocm90dGxlRW5h YmxlOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzSW50 ZXJ2YWw7Ci0KLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWb2x0YWdl SW50ZXJ2YWw7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlcm1h bEludGVydmFsOwotICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBl cmF0dXJlTGltaXRIaWdoOwotCi0gICAgdWludDE2X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVGVtcGVyYXR1cmVMaW1pdExvdzsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBNZW1vcnlCb290TGV2ZWw7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWVtb3J5Vm9sdGFnZUNoYW5nZUVuYWJsZTsKLQotICAgIHVpbnQ4X3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeUludGVydmFsOwotICAgIHVpbnQ4X3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVRoZXJtVGhyb3R0bGVFbmFibGU7Ci0gICAgdWlu dDE2X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmRkY1ZkZGNpRGVsdGE7Ci0KLSAgICB1 aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBWb2x0YWdlUmVzcG9uc2VUaW1lOwot ICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBoYXNlUmVzcG9uc2VUaW1l OwotCi0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJZUJvb3RMaW5r TGV2ZWw7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJZUdlbklu dGVydmFsOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERURUludGVy dmFsOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERURU1vZGU7Ci0K LSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVkkyRW5hYmxlOwotICAg IHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZSSG90R3BpbzsKLSAgICB1aW50 OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBY0RjR3BpbzsKLSAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVybUdwaW87Ci0KLSAgICB1aW50MTZfdCAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQUE1fUGtnUHdyTGltaXQ7Ci0gICAgdWludDE2X3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUFBNX1RlbXBlcmF0dXJlTGltaXQ7Ci0KLSAgICB1aW50 MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0VGRwOwotICAgIHVpbnQxNl90 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldFRkcDsKLQotICAgIHVpbnQxNl90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZwc0hpZ2hUOwotICAgIHVpbnQxNl90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZwc0xvd1Q7Ci0KLSAgICB1aW50MTZfdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCQVBNVElfUiAgW1NNVTdfRFRFX0lURVJBVElPTlNdW1NNVTdfRFRFX1NP VVJDRVNdW1NNVTdfRFRFX1NJTktTXTsKLSAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCQVBNVElfUkMgW1NNVTdfRFRFX0lURVJBVElPTlNdW1NNVTdfRFRFX1NPVVJDRVNd W1NNVTdfRFRFX1NJTktTXTsKLQotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERURUFtYmllbnRUZW1wQmFzZTsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBEVEVUak9mZnNldDsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHcHVUak1heDsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH cHVUakh5c3Q7Ci0KLSAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb290 VmRkYzsKLSAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb290VmRkY2k7 Ci0KLSAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBCb290TVZkZDsKLSAg ICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOwotCi0gICAgdWlu dDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkFQTV9URU1QX0dSQURJRU5UOwotCi0g ICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG93U2Nsa0ludGVycnVwdFQ7 Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Rpc2NyZXRlX0RwbVRhYmxlIFNNVTdfRGlzY3Jl dGVfRHBtVGFibGU7Ci0KLSNkZWZpbmUgU01VN19ESVNDUkVURV9NQ19SRUdJU1RFUl9BUlJBWV9T SVpFIDE2Ci0jZGVmaW5lIFNNVTdfRElTQ1JFVEVfTUNfUkVHSVNURVJfQVJSQVlfU0VUX0NPVU5U IFNNVTdfTUFYX0xFVkVMU19NRU1PUlkKLQotc3RydWN0IFNNVTdfRGlzY3JldGVfTUNSZWdpc3Rl ckFkZHJlc3MKLXsKLSAgICB1aW50MTZfdCBzMDsKLSAgICB1aW50MTZfdCBzMTsKLX07Ci0KLXR5 cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfTUNSZWdpc3RlckFkZHJlc3MgU01VN19EaXNjcmV0 ZV9NQ1JlZ2lzdGVyQWRkcmVzczsKLQotc3RydWN0IFNNVTdfRGlzY3JldGVfTUNSZWdpc3RlclNl dAotewotICAgIHVpbnQzMl90IHZhbHVlW1NNVTdfRElTQ1JFVEVfTUNfUkVHSVNURVJfQVJSQVlf U0laRV07Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Rpc2NyZXRlX01DUmVnaXN0ZXJTZXQg U01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyU2V0OwotCi1zdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ1Jl Z2lzdGVycwotewotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3Q7 Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWRbM107Ci0g ICAgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyQWRkcmVzcyAgICAgYWRkcmVzc1tTTVU3X0RJU0NS RVRFX01DX1JFR0lTVEVSX0FSUkFZX1NJWkVdOwotICAgIFNNVTdfRGlzY3JldGVfTUNSZWdpc3Rl clNldCAgICAgICAgIGRhdGFbU01VN19ESVNDUkVURV9NQ19SRUdJU1RFUl9BUlJBWV9TRVRfQ09V TlRdOwotfTsKLQotdHlwZWRlZiBzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVycyBTTVU3 X0Rpc2NyZXRlX01DUmVnaXN0ZXJzOwotCi1zdHJ1Y3QgU01VN19EaXNjcmV0ZV9GYW5UYWJsZQot ewotCXVpbnQxNl90IEZkb01vZGU7Ci0JaW50MTZfdCAgVGVtcE1pbjsKLQlpbnQxNl90ICBUZW1w TWVkOwotCWludDE2X3QgIFRlbXBNYXg7Ci0JaW50MTZfdCAgU2xvcGUxOwotCWludDE2X3QgIFNs b3BlMjsKLQlpbnQxNl90ICBGZG9NaW47Ci0JaW50MTZfdCAgSHlzdFVwOwotCWludDE2X3QgIEh5 c3REb3duOwotCWludDE2X3QgIEh5c3RTbG9wZTsKLQlpbnQxNl90ICBUZW1wUmVzcExpbTsKLQlp bnQxNl90ICBUZW1wQ3VycjsKLQlpbnQxNl90ICBTbG9wZUN1cnI7Ci0JaW50MTZfdCAgUHdtQ3Vy cjsKLQl1aW50MzJfdCBSZWZyZXNoUGVyaW9kOwotCWludDE2X3QgIEZkb01heDsKLQl1aW50OF90 ICBUZW1wU3JjOwotCWludDhfdCAgIFBhZGRpbmc7Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3 X0Rpc2NyZXRlX0ZhblRhYmxlIFNNVTdfRGlzY3JldGVfRmFuVGFibGU7Ci0KLQotc3RydWN0IFNN VTdfRGlzY3JldGVfUG1GdXNlcyB7Ci0gIC8vIGR3MC1kdzEKLSAgdWludDhfdCBCYXBtVmRkQ1Zp ZEhpU2lkZFs4XTsKLQotICAvLyBkdzItZHczCi0gIHVpbnQ4X3QgQmFwbVZkZENWaWRMb1NpZGRb OF07Ci0KLSAgLy8gZHc0LWR3NQotICB1aW50OF90IFZkZENWaWRbOF07Ci0KLSAgLy8gZHc2Ci0g IHVpbnQ4X3QgU3ZpTG9hZExpbmVFbjsKLSAgdWludDhfdCBTdmlMb2FkTGluZVZkZEM7Ci0gIHVp bnQ4X3QgU3ZpTG9hZExpbmVUcmltVmRkQzsKLSAgdWludDhfdCBTdmlMb2FkTGluZU9mZnNldFZk ZEM7Ci0KLSAgLy8gZHc3Ci0gIHVpbnQxNl90IFREQ19WRERDX1BrZ0xpbWl0OwotICB1aW50OF90 IFREQ19WRERDX1Rocm90dGxlUmVsZWFzZUxpbWl0UGVyYzsKLSAgdWludDhfdCBURENfTUFXdDsK LQotICAvLyBkdzgKLSAgdWludDhfdCBUZGNXYXRlcmZhbGxDdGw7Ci0gIHVpbnQ4X3QgTFBNTFRl bXBlcmF0dXJlTWluOwotICB1aW50OF90IExQTUxUZW1wZXJhdHVyZU1heDsKLSAgdWludDhfdCBS ZXNlcnZlZDsKLQotICAvLyBkdzktZHcxMAotICB1aW50OF90IEJhcG1WZGRDVmlkSGlTaWRkMls4 XTsKLQotICAvLyBkdzExLWR3MTIKLSAgaW50MTZfdCBGdXp6eUZhbl9FcnJvclNldERlbHRhOwot ICBpbnQxNl90IEZ1enp5RmFuX0Vycm9yUmF0ZVNldERlbHRhOwotICBpbnQxNl90IEZ1enp5RmFu X1B3bVNldERlbHRhOwotICB1aW50MTZfdCBDYWxjTWVhc1Bvd2VyQmxlbmQ7Ci0KLSAgLy8gZHcx My1kdzE2Ci0gIHVpbnQ4X3QgR25iTFBNTFsxNl07Ci0KLSAgLy8gZHcxNwotICB1aW50OF90IEdu YkxQTUxNYXhWaWQ7Ci0gIHVpbnQ4X3QgR25iTFBNTE1pblZpZDsKLSAgdWludDhfdCBSZXNlcnZl ZDFbMl07Ci0KLSAgLy8gZHcxOAotICB1aW50MTZfdCBCYXBtVmRkQ0Jhc2VMZWFrYWdlSGlTaWRk OwotICB1aW50MTZfdCBCYXBtVmRkQ0Jhc2VMZWFrYWdlTG9TaWRkOwotfTsKLQotdHlwZWRlZiBz dHJ1Y3QgU01VN19EaXNjcmV0ZV9QbUZ1c2VzIFNNVTdfRGlzY3JldGVfUG1GdXNlczsKLQotCi0j cHJhZ21hIHBhY2socG9wKQotCi0jZW5kaWYKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvc211N19mdXNpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Nt dTdfZnVzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4YWRhOWYuLjAwMDAw MDAKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc211N19mdXNpb24uaAorKysgL2Rl di9udWxsCkBAIC0xLDMwMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IDIwMTMgQWR2YW5jZWQg TWljcm8gRGV2aWNlcywgSW5jLgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCi0gKiBjb3B5IG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0 d2FyZSIpLAotICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgotICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCi0gKiBhbmQv b3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUKLSAqIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0gKgotICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KLSAqIGFs bCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotICoKLSAq IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELCBFWFBSRVNTIE9SCi0gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVE IFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TAotICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9SKFMpIEJFIExJQUJMRSBGT1Ig QU5ZIENMQUlNLCBEQU1BR0VTIE9SCi0gKiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4g QUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwKLSAqIEFSSVNJTkcgRlJPTSwg T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUgot ICogT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgotICoKLSAqLwotCi0jaWZuZGVmIFNN VTdfRlVTSU9OX0gKLSNkZWZpbmUgU01VN19GVVNJT05fSAotCi0jaW5jbHVkZSAic211Ny5oIgot Ci0jcHJhZ21hIHBhY2socHVzaCwgMSkKLQotI2RlZmluZSBTTVU3X0RURV9JVEVSQVRJT05TIDUK LSNkZWZpbmUgU01VN19EVEVfU09VUkNFUyA1Ci0jZGVmaW5lIFNNVTdfRFRFX1NJTktTIDMKLSNk ZWZpbmUgU01VN19OVU1fQ1BVX1RFUyAyCi0jZGVmaW5lIFNNVTdfTlVNX0dQVV9URVMgMQotI2Rl ZmluZSBTTVU3X05VTV9OT05fVEVTIDIKLQotLy8gQWxsICdzb2Z0IHJlZ2lzdGVycycgc2hvdWxk IGJlIHVpbnQzMl90Lgotc3RydWN0IFNNVTdfU29mdFJlZ2lzdGVycwotewotICAgIHVpbnQzMl90 ICAgICAgICBSZWZDbG9ja0ZyZXF1ZW5jeTsKLSAgICB1aW50MzJfdCAgICAgICAgUG1UaW1lclA7 Ci0gICAgdWludDMyX3QgICAgICAgIEZlYXR1cmVFbmFibGVzOwotICAgIHVpbnQzMl90ICAgICAg ICBIYW5kc2hha2VEaXNhYmxlczsKLQotICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5MUNv bmZpZzsKLSAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTJDb25maWc7Ci0gICAgdWludDhf dCAgICAgICAgIERpc3BsYXlQaHkzQ29uZmlnOwotICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5 UGh5NENvbmZpZzsKLQotICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5NUNvbmZpZzsKLSAg ICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTZDb25maWc7Ci0gICAgdWludDhfdCAgICAgICAg IERpc3BsYXlQaHk3Q29uZmlnOwotICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5OENvbmZp ZzsKLQotICAgIHVpbnQzMl90ICAgICAgICBBdmVyYWdlR3JhcGhpY3NBOwotICAgIHVpbnQzMl90 ICAgICAgICBBdmVyYWdlTWVtb3J5QTsKLSAgICB1aW50MzJfdCAgICAgICAgQXZlcmFnZUdpb0E7 Ci0KLSAgICB1aW50OF90ICAgICAgICAgU0Nsa0RwbUVuYWJsZWRMZXZlbHM7Ci0gICAgdWludDhf dCAgICAgICAgIE1DbGtEcG1FbmFibGVkTGV2ZWxzOwotICAgIHVpbnQ4X3QgICAgICAgICBMQ2xr RHBtRW5hYmxlZExldmVsczsKLSAgICB1aW50OF90ICAgICAgICAgUENJZURwbUVuYWJsZWRMZXZl bHM7Ci0KLSAgICB1aW50OF90ICAgICAgICAgVVZERHBtRW5hYmxlZExldmVsczsKLSAgICB1aW50 OF90ICAgICAgICAgU0FNVURwbUVuYWJsZWRMZXZlbHM7Ci0gICAgdWludDhfdCAgICAgICAgIEFD UERwbUVuYWJsZWRMZXZlbHM7Ci0gICAgdWludDhfdCAgICAgICAgIFZDRURwbUVuYWJsZWRMZXZl bHM7Ci0KLSAgICB1aW50MzJfdCAgICAgICAgRFJBTV9MT0dfQUREUl9IOwotICAgIHVpbnQzMl90 ICAgICAgICBEUkFNX0xPR19BRERSX0w7Ci0gICAgdWludDMyX3QgICAgICAgIERSQU1fTE9HX1BI WV9BRERSX0g7Ci0gICAgdWludDMyX3QgICAgICAgIERSQU1fTE9HX1BIWV9BRERSX0w7Ci0gICAg dWludDMyX3QgICAgICAgIERSQU1fTE9HX0JVRkZfU0laRTsKLSAgICB1aW50MzJfdCAgICAgICAg VWx2RW50ZXJDOwotICAgIHVpbnQzMl90ICAgICAgICBVbHZUaW1lOwotICAgIHVpbnQzMl90ICAg ICAgICBSZXNlcnZlZFszXTsKLQotfTsKLQotdHlwZWRlZiBzdHJ1Y3QgU01VN19Tb2Z0UmVnaXN0 ZXJzIFNNVTdfU29mdFJlZ2lzdGVyczsKLQotc3RydWN0IFNNVTdfRnVzaW9uX0dyYXBoaWNzTGV2 ZWwKLXsKLSAgICB1aW50MzJfdCAgICBNaW5WZGROYjsKLQotICAgIHVpbnQzMl90ICAgIFNjbGtG cmVxdWVuY3k7Ci0KLSAgICB1aW50OF90ICAgICBWaWQ7Ci0gICAgdWludDhfdCAgICAgVmlkT2Zm c2V0OwotICAgIHVpbnQxNl90ICAgIEFUOwotCi0gICAgdWludDhfdCAgICAgUG93ZXJUaHJvdHRs ZTsKLSAgICB1aW50OF90ICAgICBHbmJTbG93OwotICAgIHVpbnQ4X3QgICAgIEZvcmNlTmJQczE7 Ci0gICAgdWludDhfdCAgICAgU2Nsa0RpZDsKLQotICAgIHVpbnQ4X3QgICAgIERpc3BsYXlXYXRl cm1hcms7Ci0gICAgdWludDhfdCAgICAgRW5hYmxlZEZvckFjdGl2aXR5OwotICAgIHVpbnQ4X3Qg ICAgIEVuYWJsZWRGb3JUaHJvdHRsZTsKLSAgICB1aW50OF90ICAgICBVcEg7Ci0KLSAgICB1aW50 OF90ICAgICBEb3duSDsKLSAgICB1aW50OF90ICAgICBWb2x0YWdlRG93bkg7Ci0gICAgdWludDhf dCAgICAgRGVlcFNsZWVwRGl2SWQ7Ci0KLSAgICB1aW50OF90ICAgICBDbGtCeXBhc3NDbnRsOwot Ci0gICAgdWludDMyX3QgICAgcmVzZXJ2ZWQ7Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Z1 c2lvbl9HcmFwaGljc0xldmVsIFNNVTdfRnVzaW9uX0dyYXBoaWNzTGV2ZWw7Ci0KLXN0cnVjdCBT TVU3X0Z1c2lvbl9HSU9MZXZlbAotewotICAgIHVpbnQ4X3QgICAgIEVuYWJsZWRGb3JBY3Rpdml0 eTsKLSAgICB1aW50OF90ICAgICBMY2xrRGlkOwotICAgIHVpbnQ4X3QgICAgIFZpZDsKLSAgICB1 aW50OF90ICAgICBWb2x0YWdlRG93bkg7Ci0KLSAgICB1aW50MzJfdCAgICBNaW5WZGROYjsKLQot ICAgIHVpbnQxNl90ICAgIFJlc2lkZW5jeUNvdW50ZXI7Ci0gICAgdWludDhfdCAgICAgVXBIOwot ICAgIHVpbnQ4X3QgICAgIERvd25IOwotCi0gICAgdWludDMyX3QgICAgTGNsa0ZyZXF1ZW5jeTsK LQotICAgIHVpbnQ4X3QgICAgIEFjdGl2aXR5TGV2ZWw7Ci0gICAgdWludDhfdCAgICAgRW5hYmxl ZEZvclRocm90dGxlOwotCi0gICAgdWludDhfdCAgICAgQ2xrQnlwYXNzQ250bDsKLQotICAgIHVp bnQ4X3QgICAgIHBhZGRpbmc7Ci19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Z1c2lvbl9HSU9M ZXZlbCBTTVU3X0Z1c2lvbl9HSU9MZXZlbDsKLQotLy8gVVZEIFZDTEsvRENMSyBzdGF0ZSAobGV2 ZWwpIGRlZmluaXRpb24uCi1zdHJ1Y3QgU01VN19GdXNpb25fVXZkTGV2ZWwKLXsKLSAgICB1aW50 MzJfdCBWY2xrRnJlcXVlbmN5OwotICAgIHVpbnQzMl90IERjbGtGcmVxdWVuY3k7Ci0gICAgdWlu dDE2X3QgTWluVmRkTmI7Ci0gICAgdWludDhfdCAgVmNsa0RpdmlkZXI7Ci0gICAgdWludDhfdCAg RGNsa0RpdmlkZXI7Ci0KLSAgICB1aW50OF90ICAgICBWQ2xrQnlwYXNzQ250bDsKLSAgICB1aW50 OF90ICAgICBEQ2xrQnlwYXNzQ250bDsKLQotICAgIHVpbnQ4X3QgICAgIHBhZGRpbmdbMl07Ci0K LX07Ci0KLXR5cGVkZWYgc3RydWN0IFNNVTdfRnVzaW9uX1V2ZExldmVsIFNNVTdfRnVzaW9uX1V2 ZExldmVsOwotCi0vLyBDbG9ja3MgZm9yIG90aGVyIGV4dGVybmFsIGJsb2NrcyAoVkNFLCBBQ1As IFNBTVUpLgotc3RydWN0IFNNVTdfRnVzaW9uX0V4dENsa0xldmVsCi17Ci0gICAgdWludDMyX3Qg RnJlcXVlbmN5OwotICAgIHVpbnQxNl90IE1pblZvbHRhZ2U7Ci0gICAgdWludDhfdCAgRGl2aWRl cjsKLSAgICB1aW50OF90ICBDbGtCeXBhc3NDbnRsOwotCi0gICAgdWludDMyX3QgUmVzZXJ2ZWQ7 Ci19OwotdHlwZWRlZiBzdHJ1Y3QgU01VN19GdXNpb25fRXh0Q2xrTGV2ZWwgU01VN19GdXNpb25f RXh0Q2xrTGV2ZWw7Ci0KLXN0cnVjdCBTTVU3X0Z1c2lvbl9BQ1BJTGV2ZWwKLXsKLSAgICB1aW50 MzJfdCAgICBGbGFnczsKLSAgICB1aW50MzJfdCAgICBNaW5WZGROYjsKLSAgICB1aW50MzJfdCAg ICBTY2xrRnJlcXVlbmN5OwotICAgIHVpbnQ4X3QgICAgIFNjbGtEaWQ7Ci0gICAgdWludDhfdCAg ICAgR25iU2xvdzsKLSAgICB1aW50OF90ICAgICBGb3JjZU5iUHMxOwotICAgIHVpbnQ4X3QgICAg IERpc3BsYXlXYXRlcm1hcms7Ci0gICAgdWludDhfdCAgICAgRGVlcFNsZWVwRGl2SWQ7Ci0gICAg dWludDhfdCAgICAgcGFkZGluZ1szXTsKLX07Ci0KLXR5cGVkZWYgc3RydWN0IFNNVTdfRnVzaW9u X0FDUElMZXZlbCBTTVU3X0Z1c2lvbl9BQ1BJTGV2ZWw7Ci0KLXN0cnVjdCBTTVU3X0Z1c2lvbl9O YkRwbQotewotICAgIHVpbnQ4X3QgRHBtWE5iUHNIaTsKLSAgICB1aW50OF90IERwbVhOYlBzTG87 Ci0gICAgdWludDhfdCBEcG0wUGdOYlBzSGk7Ci0gICAgdWludDhfdCBEcG0wUGdOYlBzTG87Ci0g ICAgdWludDhfdCBFbmFibGVQc2kxOwotICAgIHVpbnQ4X3QgU2tpcERQTTA7Ci0gICAgdWludDhf dCBTa2lwUEc7Ci0gICAgdWludDhfdCBIeXN0ZXJlc2lzOwotICAgIHVpbnQ4X3QgRW5hYmxlRHBt UHN0YXRlUG9sbDsKLSAgICB1aW50OF90IHBhZGRpbmdbM107Ci19OwotCi10eXBlZGVmIHN0cnVj dCBTTVU3X0Z1c2lvbl9OYkRwbSBTTVU3X0Z1c2lvbl9OYkRwbTsKLQotc3RydWN0IFNNVTdfRnVz aW9uX1N0YXRlSW5mbwotewotICAgIHVpbnQzMl90IFNjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMy X3QgTGNsa0ZyZXF1ZW5jeTsKLSAgICB1aW50MzJfdCBWY2xrRnJlcXVlbmN5OwotICAgIHVpbnQz Ml90IERjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMyX3QgU2FtY2xrRnJlcXVlbmN5OwotICAgIHVp bnQzMl90IEFjbGtGcmVxdWVuY3k7Ci0gICAgdWludDMyX3QgRWNsa0ZyZXF1ZW5jeTsKLSAgICB1 aW50OF90ICBEaXNwbGF5V2F0ZXJtYXJrOwotICAgIHVpbnQ4X3QgIE1jQXJiSW5kZXg7Ci0gICAg aW50OF90ICAgU2Nsa0luZGV4OwotICAgIGludDhfdCAgIE1jbGtJbmRleDsKLX07Ci0KLXR5cGVk ZWYgc3RydWN0IFNNVTdfRnVzaW9uX1N0YXRlSW5mbyBTTVU3X0Z1c2lvbl9TdGF0ZUluZm87Ci0K LXN0cnVjdCBTTVU3X0Z1c2lvbl9EcG1UYWJsZQotewotICAgIHVpbnQzMl90ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN5c3RlbUZsYWdzOwotCi0gICAgU01VN19QSURDb250cm9sbGVyICAg ICAgICAgICAgICAgICAgR3JhcGhpY3NQSURDb250cm9sbGVyOwotICAgIFNNVTdfUElEQ29udHJv bGxlciAgICAgICAgICAgICAgICAgIEdpb1BJRENvbnRyb2xsZXI7Ci0KLSAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzRHBtTGV2ZWxDb3VudDsKLSAgICB1aW50 OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdJT0xldmVsQ291bnQ7Ci0gICAgdWludDhf dCAgICAgICAgICAgICAgICAgICAgICAgICAgICBVdmRMZXZlbENvdW50OwotICAgIHVpbnQ4X3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmNlTGV2ZWxDb3VudDsKLQotICAgIHVpbnQ4X3Qg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNwTGV2ZWxDb3VudDsKLSAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNhbXVMZXZlbENvdW50OwotICAgIHVpbnQxNl90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgRnBzSGlnaFQ7Ci0KLSAgICBTTVU3X0Z1c2lvbl9HcmFw aGljc0xldmVsICAgICAgICAgR3JhcGhpY3NMZXZlbCAgICAgICAgICAgW1NNVV9fTlVNX1NDTEtf RFBNX1NUQVRFXTsKLSAgICBTTVU3X0Z1c2lvbl9BQ1BJTGV2ZWwgICAgICAgICAgICAgQUNQSUxl dmVsOwotICAgIFNNVTdfRnVzaW9uX1V2ZExldmVsICAgICAgICAgICAgICBVdmRMZXZlbCAgICAg ICAgICAgICAgICBbU01VN19NQVhfTEVWRUxTX1VWRF07Ci0gICAgU01VN19GdXNpb25fRXh0Q2xr TGV2ZWwgICAgICAgICAgIFZjZUxldmVsICAgICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZFTFNf VkNFXTsKLSAgICBTTVU3X0Z1c2lvbl9FeHRDbGtMZXZlbCAgICAgICAgICAgQWNwTGV2ZWwgICAg ICAgICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19BQ1BdOwotICAgIFNNVTdfRnVzaW9uX0V4dENs a0xldmVsICAgICAgICAgICBTYW11TGV2ZWwgICAgICAgICAgICAgICBbU01VN19NQVhfTEVWRUxT X1NBTVVdOwotCi0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFV2ZEJvb3RM ZXZlbDsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgVmNlQm9vdExldmVs OwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBBY3BCb290TGV2ZWw7Ci0g ICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhbXVCb290TGV2ZWw7Ci0gICAg dWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFVWREludGVydmFsOwotICAgIHVpbnQ4 X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBWQ0VJbnRlcnZhbDsKLSAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgQUNQSW50ZXJ2YWw7Ci0gICAgdWludDhfdCAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNBTVVJbnRlcnZhbDsKLQotICAgIHVpbnQ4X3QgICAgICAgICAg ICAgICAgICAgICAgICAgICBHcmFwaGljc0Jvb3RMZXZlbDsKLSAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgR3JhcGhpY3NJbnRlcnZhbDsKLSAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgR3JhcGhpY3NUaGVybVRocm90dGxlRW5hYmxlOwotICAgIHVpbnQ4 X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc1ZvbHRhZ2VDaGFuZ2VFbmFibGU7 Ci0KLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NDbGtTbG93 RW5hYmxlOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0Ns a1Nsb3dEaXZpZGVyOwotICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICBGcHNM b3dUOwotCi0gICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlDYWM7 Ci0gICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgIExvd1NjbGtJbnRlcnJ1cHRU OwotCi0gICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgIERSQU1fTE9HX0FERFJf SDsKLSAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgRFJBTV9MT0dfQUREUl9M OwotICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBEUkFNX0xPR19QSFlfQURE Ul9IOwotICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBEUkFNX0xPR19QSFlf QUREUl9MOwotICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBEUkFNX0xPR19C VUZGX1NJWkU7Ci0KLX07Ci0KLXN0cnVjdCBTTVU3X0Z1c2lvbl9HSU9EcG1UYWJsZQotewotCi0g ICAgU01VN19GdXNpb25fR0lPTGV2ZWwgICAgICAgICAgICAgIEdJT0xldmVsICAgICAgICAgICAg ICAgIFtTTVU3X01BWF9MRVZFTFNfR0lPXTsKLQotICAgIFNNVTdfUElEQ29udHJvbGxlciAgICAg ICAgICAgICAgICBHaW9QSURDb250cm9sbGVyOwotCi0gICAgdWludDMyX3QgICAgICAgICAgICAg ICAgICAgICAgICAgIEdJT0xldmVsQ291bnQ7Ci0KLSAgICB1aW50OF90ICAgICAgICAgICAgICAg ICAgICAgICAgICAgRW5hYmxlOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICBHSU9Wb2x0YWdlQ2hhbmdlRW5hYmxlOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAg ICAgICAgICBHSU9Cb290TGV2ZWw7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhZGRpbmc7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRp bmcxWzJdOwotICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBUYXJnZXRTdGF0 ZTsKLSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudHRTdGF0ZTsK LSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyb3R0bGVPbkh0YzsKLSAg ICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlcm1UaHJvdHRsZVN0YXR1czsK LSAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlcm1UaHJvdHRsZVRlbXBT ZWxlY3Q7Ci0gICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXJtVGhyb3R0 bGVFbmFibGU7Ci0gICAgdWludDE2X3QgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBlcmF0 dXJlTGltaXRIaWdoOwotICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICBUZW1w ZXJhdHVyZUxpbWl0TG93OwotCi19OwotCi10eXBlZGVmIHN0cnVjdCBTTVU3X0Z1c2lvbl9EcG1U YWJsZSBTTVU3X0Z1c2lvbl9EcG1UYWJsZTsKLXR5cGVkZWYgc3RydWN0IFNNVTdfRnVzaW9uX0dJ T0RwbVRhYmxlIFNNVTdfRnVzaW9uX0dJT0RwbVRhYmxlOwotCi0jcHJhZ21hIHBhY2socG9wKQot Ci0jZW5kaWYKLQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5j L3NtdTcuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9zbXU3LmgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVhMzgwYQotLS0gL2Rldi9udWxsCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9zbXU3LmgKQEAgLTAsMCArMSwxNzAg QEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMyBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJbmMuCisg KgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlh bCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAq IElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E IE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhP TERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IK KyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRP UlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElP TiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBU SEUgU09GVFdBUkUuCisgKgorICovCisKKyNpZm5kZWYgU01VN19ICisjZGVmaW5lIFNNVTdfSAor CisjcHJhZ21hIHBhY2socHVzaCwgMSkKKworI2RlZmluZSBTTVU3X0NPTlRFWFRfSURfU01DICAg ICAgICAxCisjZGVmaW5lIFNNVTdfQ09OVEVYVF9JRF9WQklPUyAgICAgIDIKKworCisjZGVmaW5l IFNNVTdfQ09OVEVYVF9JRF9TTUMgICAgICAgIDEKKyNkZWZpbmUgU01VN19DT05URVhUX0lEX1ZC SU9TICAgICAgMgorCisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19WRERDICAgICAgICAgICAgOAor I2RlZmluZSBTTVU3X01BWF9MRVZFTFNfVkREQ0kgICAgICAgICAgIDQKKyNkZWZpbmUgU01VN19N QVhfTEVWRUxTX01WREQgICAgICAgICAgICA0CisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19WRERO QiAgICAgICAgICAgOAorCisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19HUkFQSElDUyAgICAgICAg U01VX19OVU1fU0NMS19EUE1fU1RBVEUgICAvLyBTQ0xLICsgU1EgRFBNICsgVUxWCisjZGVmaW5l IFNNVTdfTUFYX0xFVkVMU19NRU1PUlkgICAgICAgICAgU01VX19OVU1fTUNMS19EUE1fTEVWRUxT ICAgLy8gTUNMSyBMZXZlbHMgRFBNCisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19HSU8gICAgICAg ICAgICAgU01VX19OVU1fTENMS19EUE1fTEVWRUxTICAvLyBMQ0xLIExldmVscworI2RlZmluZSBT TVU3X01BWF9MRVZFTFNfTElOSyAgICAgICAgICAgIFNNVV9fTlVNX1BDSUVfRFBNX0xFVkVMUyAg Ly8gUENJZSBzcGVlZCBhbmQgbnVtYmVyIG9mIGxhbmVzLgorI2RlZmluZSBTTVU3X01BWF9MRVZF TFNfVVZEICAgICAgICAgICAgIDggICAvLyBWQ0xLL0RDTEsgbGV2ZWxzIGZvciBVVkQuCisjZGVm aW5lIFNNVTdfTUFYX0xFVkVMU19WQ0UgICAgICAgICAgICAgOCAgIC8vIEVDTEsgbGV2ZWxzIGZv ciBWQ0UuCisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19BQ1AgICAgICAgICAgICAgOCAgIC8vIEFD TEsgbGV2ZWxzIGZvciBBQ1AuCisjZGVmaW5lIFNNVTdfTUFYX0xFVkVMU19TQU1VICAgICAgICAg ICAgOCAgIC8vIFNBTUNMSyBsZXZlbHMgZm9yIFNBTVUuCisjZGVmaW5lIFNNVTdfTUFYX0VOVFJJ RVNfU01JTyAgICAgICAgICAgMzIgIC8vIE51bWJlciBvZiBlbnRyaWVzIGluIFNNSU8gdGFibGUu CisKKyNkZWZpbmUgRFBNX05PX0xJTUlUIDAKKyNkZWZpbmUgRFBNX05PX1VQIDEKKyNkZWZpbmUg RFBNX0dPX0RPV04gMgorI2RlZmluZSBEUE1fR09fVVAgMworCisjZGVmaW5lIFNNVTdfRklSU1Rf RFBNX0dSQVBISUNTX0xFVkVMICAgIDAKKyNkZWZpbmUgU01VN19GSVJTVF9EUE1fTUVNT1JZX0xF VkVMICAgICAgMAorCisjZGVmaW5lIEdQSU9fQ0xBTVBfTU9ERV9WUkhPVCAgICAgIDEKKyNkZWZp bmUgR1BJT19DTEFNUF9NT0RFX1RIRVJNICAgICAgMgorI2RlZmluZSBHUElPX0NMQU1QX01PREVf REMgICAgICAgICA0CisKKyNkZWZpbmUgU0NSQVRDSF9CX1RBUkdfUENJRV9JTkRFWF9TSElGVCAw CisjZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX1BDSUVfSU5ERVhfTUFTSyAgKDB4Nzw8U0NSQVRDSF9C X1RBUkdfUENJRV9JTkRFWF9TSElGVCkKKyNkZWZpbmUgU0NSQVRDSF9CX0NVUlJfUENJRV9JTkRF WF9TSElGVCAzCisjZGVmaW5lIFNDUkFUQ0hfQl9DVVJSX1BDSUVfSU5ERVhfTUFTSyAgKDB4Nzw8 U0NSQVRDSF9CX0NVUlJfUENJRV9JTkRFWF9TSElGVCkKKyNkZWZpbmUgU0NSQVRDSF9CX1RBUkdf VVZEX0lOREVYX1NISUZUICA2CisjZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX1VWRF9JTkRFWF9NQVNL ICAgKDB4Nzw8U0NSQVRDSF9CX1RBUkdfVVZEX0lOREVYX1NISUZUKQorI2RlZmluZSBTQ1JBVENI X0JfQ1VSUl9VVkRfSU5ERVhfU0hJRlQgIDkKKyNkZWZpbmUgU0NSQVRDSF9CX0NVUlJfVVZEX0lO REVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfQ1VSUl9VVkRfSU5ERVhfU0hJRlQpCisjZGVmaW5l IFNDUkFUQ0hfQl9UQVJHX1ZDRV9JTkRFWF9TSElGVCAgMTIKKyNkZWZpbmUgU0NSQVRDSF9CX1RB UkdfVkNFX0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfVEFSR19WQ0VfSU5ERVhfU0hJRlQp CisjZGVmaW5lIFNDUkFUQ0hfQl9DVVJSX1ZDRV9JTkRFWF9TSElGVCAgMTUKKyNkZWZpbmUgU0NS QVRDSF9CX0NVUlJfVkNFX0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfQ1VSUl9WQ0VfSU5E RVhfU0hJRlQpCisjZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX0FDUF9JTkRFWF9TSElGVCAgMTgKKyNk ZWZpbmUgU0NSQVRDSF9CX1RBUkdfQUNQX0lOREVYX01BU0sgICAoMHg3PDxTQ1JBVENIX0JfVEFS R19BQ1BfSU5ERVhfU0hJRlQpCisjZGVmaW5lIFNDUkFUQ0hfQl9DVVJSX0FDUF9JTkRFWF9TSElG VCAgMjEKKyNkZWZpbmUgU0NSQVRDSF9CX0NVUlJfQUNQX0lOREVYX01BU0sgICAoMHg3PDxTQ1JB VENIX0JfQ1VSUl9BQ1BfSU5ERVhfU0hJRlQpCisjZGVmaW5lIFNDUkFUQ0hfQl9UQVJHX1NBTVVf SU5ERVhfU0hJRlQgMjQKKyNkZWZpbmUgU0NSQVRDSF9CX1RBUkdfU0FNVV9JTkRFWF9NQVNLICAo MHg3PDxTQ1JBVENIX0JfVEFSR19TQU1VX0lOREVYX1NISUZUKQorI2RlZmluZSBTQ1JBVENIX0Jf Q1VSUl9TQU1VX0lOREVYX1NISUZUIDI3CisjZGVmaW5lIFNDUkFUQ0hfQl9DVVJSX1NBTVVfSU5E RVhfTUFTSyAgKDB4Nzw8U0NSQVRDSF9CX0NVUlJfU0FNVV9JTkRFWF9TSElGVCkKKworCitzdHJ1 Y3QgU01VN19QSURDb250cm9sbGVyCit7CisgICAgdWludDMyX3QgS2k7CisgICAgaW50MzJfdCBM RldpbmR1cFVMOworICAgIGludDMyX3QgTEZXaW5kdXBMTDsKKyAgICB1aW50MzJfdCBTdGF0ZVBy ZWNpc2lvbjsKKyAgICB1aW50MzJfdCBMZlByZWNpc2lvbjsKKyAgICB1aW50MzJfdCBMZk9mZnNl dDsKKyAgICB1aW50MzJfdCBNYXhTdGF0ZTsKKyAgICB1aW50MzJfdCBNYXhMZkZyYWN0aW9uOwor ICAgIHVpbnQzMl90IFN0YXRlU2hpZnQ7Cit9OworCit0eXBlZGVmIHN0cnVjdCBTTVU3X1BJRENv bnRyb2xsZXIgU01VN19QSURDb250cm9sbGVyOworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjZGVmaW5lIFNNVTdf TUFYX1BDSUVfTElOS19TUEVFRFMgMyAvKiAwOkdlbjEgMTpHZW4yIDI6R2VuMyAqLworCisjZGVm aW5lIFNNVTdfU0NMS19EUE1fQ09ORklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDAx CisjZGVmaW5lIFNNVTdfVk9MVEFHRV9DT05UUk9MTEVSX0NPTkZJR19NQVNLICAgICAgICAgICAg ICAweDAyCisjZGVmaW5lIFNNVTdfVEhFUk1BTF9DT05UUk9MTEVSX0NPTkZJR19NQVNLICAgICAg ICAgICAgICAweDA0CisjZGVmaW5lIFNNVTdfTUNMS19EUE1fQ09ORklHX01BU0sgICAgICAgICAg ICAgICAgICAgICAgICAweDA4CisjZGVmaW5lIFNNVTdfVVZEX0RQTV9DT05GSUdfTUFTSyAgICAg ICAgICAgICAgICAgICAgICAgICAweDEwCisjZGVmaW5lIFNNVTdfVkNFX0RQTV9DT05GSUdfTUFT SyAgICAgICAgICAgICAgICAgICAgICAgICAweDIwCisjZGVmaW5lIFNNVTdfQUNQX0RQTV9DT05G SUdfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAweDQwCisjZGVmaW5lIFNNVTdfU0FNVV9E UE1fQ09ORklHX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAweDgwCisjZGVmaW5lIFNNVTdf UENJRUdFTl9EUE1fQ09ORklHX01BU0sgICAgICAgICAgICAgICAgICAgIDB4MTAwCisKKyNkZWZp bmUgU01VN19BQ1BfTUNMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDEKKyNkZWZpbmUgU01VN19BQ1BfU0NMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDIKKyNkZWZpbmUgU01VN19VVkRfTUNMS19IQU5EU0hBS0VfRElTQUJM RSAgICAgICAgICAgICAgICAgIDB4MDAwMDAxMDAKKyNkZWZpbmUgU01VN19VVkRfU0NMS19IQU5E U0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMDAyMDAKKyNkZWZpbmUgU01VN19W Q0VfTUNMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4MDAwMTAwMDAKKyNk ZWZpbmUgU01VN19WQ0VfU0NMS19IQU5EU0hBS0VfRElTQUJMRSAgICAgICAgICAgICAgICAgIDB4 MDAwMjAwMDAKKworc3RydWN0IFNNVTdfRmlybXdhcmVfSGVhZGVyCit7CisgICAgdWludDMyX3Qg RGlnZXN0WzVdOworICAgIHVpbnQzMl90IFZlcnNpb247CisgICAgdWludDMyX3QgSGVhZGVyU2l6 ZTsKKyAgICB1aW50MzJfdCBGbGFnczsKKyAgICB1aW50MzJfdCBFbnRyeVBvaW50OworICAgIHVp bnQzMl90IENvZGVTaXplOworICAgIHVpbnQzMl90IEltYWdlU2l6ZTsKKworICAgIHVpbnQzMl90 IFJ0b3M7CisgICAgdWludDMyX3QgU29mdFJlZ2lzdGVyczsKKyAgICB1aW50MzJfdCBEcG1UYWJs ZTsKKyAgICB1aW50MzJfdCBGYW5UYWJsZTsKKyAgICB1aW50MzJfdCBDYWNDb25maWdUYWJsZTsK KyAgICB1aW50MzJfdCBDYWNTdGF0dXNUYWJsZTsKKworICAgIHVpbnQzMl90IG1jUmVnaXN0ZXJU YWJsZTsKKworICAgIHVpbnQzMl90IG1jQXJiRHJhbVRpbWluZ1RhYmxlOworCisgICAgdWludDMy X3QgUG1GdXNlVGFibGU7CisgICAgdWludDMyX3QgR2xvYmFsczsKKyAgICB1aW50MzJfdCBSZXNl cnZlZFs0Ml07CisgICAgdWludDMyX3QgU2lnbmF0dXJlOworfTsKKwordHlwZWRlZiBzdHJ1Y3Qg U01VN19GaXJtd2FyZV9IZWFkZXIgU01VN19GaXJtd2FyZV9IZWFkZXI7CisKKyNkZWZpbmUgU01V N19GSVJNV0FSRV9IRUFERVJfTE9DQVRJT04gMHgyMDAwMAorCitlbnVtICBEaXNwbGF5Q29uZmln IHsKKyAgICBQb3dlckRvd24gPSAxLAorICAgIERQNTR4NCwKKyAgICBEUDU0eDIsCisgICAgRFA1 NHgxLAorICAgIERQMjd4NCwKKyAgICBEUDI3eDIsCisgICAgRFAyN3gxLAorICAgIEhETUkyOTcs CisgICAgSERNSTE2MiwKKyAgICBMVkRTLAorICAgIERQMzI0eDQsCisgICAgRFAzMjR4MiwKKyAg ICBEUDMyNHgxCit9OworCisjcHJhZ21hIHBhY2socG9wKQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL3NtdTdfZGlzY3JldGUuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9zbXU3X2Rpc2NyZXRlLmgKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwYjQwNAotLS0gL2Rldi9udWxsCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9zbXU3X2Rpc2NyZXRlLmgKQEAgLTAsMCAr MSw1MTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgMjAxMyBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJ bmMuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2Us IHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQg YXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBk ZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91 dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwg cHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBv ZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29m dHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u ZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt aXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJz dGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElT IFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1Mg T1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJ RVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJ R0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFH RVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB Q1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09O TkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5H UyBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNpZm5kZWYgU01VN19ESVNDUkVURV9ICisj ZGVmaW5lIFNNVTdfRElTQ1JFVEVfSAorCisjaW5jbHVkZSAic211Ny5oIgorCisjcHJhZ21hIHBh Y2socHVzaCwgMSkKKworI2RlZmluZSBTTVU3X0RURV9JVEVSQVRJT05TIDUKKyNkZWZpbmUgU01V N19EVEVfU09VUkNFUyAzCisjZGVmaW5lIFNNVTdfRFRFX1NJTktTIDEKKyNkZWZpbmUgU01VN19O VU1fQ1BVX1RFUyAwCisjZGVmaW5lIFNNVTdfTlVNX0dQVV9URVMgMQorI2RlZmluZSBTTVU3X05V TV9OT05fVEVTIDIKKworc3RydWN0IFNNVTdfU29mdFJlZ2lzdGVycworeworICAgIHVpbnQzMl90 ICAgICAgICBSZWZDbG9ja0ZyZXF1ZW5jeTsKKyAgICB1aW50MzJfdCAgICAgICAgUG1UaW1lclA7 CisgICAgdWludDMyX3QgICAgICAgIEZlYXR1cmVFbmFibGVzOworICAgIHVpbnQzMl90ICAgICAg ICBQcmVWQmxhbmtHYXA7CisgICAgdWludDMyX3QgICAgICAgIFZCbGFua1RpbWVvdXQ7CisgICAg dWludDMyX3QgICAgICAgIFRyYWluVGltZUdhcDsKKworICAgIHVpbnQzMl90ICAgICAgICBNdmRk U3dpdGNoVGltZTsKKyAgICB1aW50MzJfdCAgICAgICAgTG9uZ2VzdEFjcGlUcmFpblRpbWU7Cisg ICAgdWludDMyX3QgICAgICAgIEFjcGlEZWxheTsKKyAgICB1aW50MzJfdCAgICAgICAgRzVUcmFp blRpbWU7CisgICAgdWludDMyX3QgICAgICAgIERlbGF5TXBsbFB3cm9uOworICAgIHVpbnQzMl90 ICAgICAgICBWb2x0YWdlQ2hhbmdlVGltZW91dDsKKyAgICB1aW50MzJfdCAgICAgICAgSGFuZHNo YWtlRGlzYWJsZXM7CisKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTFDb25maWc7Cisg ICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHkyQ29uZmlnOworICAgIHVpbnQ4X3QgICAgICAg ICBEaXNwbGF5UGh5M0NvbmZpZzsKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTRDb25m aWc7CisKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTVDb25maWc7CisgICAgdWludDhf dCAgICAgICAgIERpc3BsYXlQaHk2Q29uZmlnOworICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5 UGh5N0NvbmZpZzsKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeThDb25maWc7CisKKyAg ICB1aW50MzJfdCAgICAgICAgQXZlcmFnZUdyYXBoaWNzQTsKKyAgICB1aW50MzJfdCAgICAgICAg QXZlcmFnZU1lbW9yeUE7CisgICAgdWludDMyX3QgICAgICAgIEF2ZXJhZ2VHaW9BOworCisgICAg dWludDhfdCAgICAgICAgIFNDbGtEcG1FbmFibGVkTGV2ZWxzOworICAgIHVpbnQ4X3QgICAgICAg ICBNQ2xrRHBtRW5hYmxlZExldmVsczsKKyAgICB1aW50OF90ICAgICAgICAgTENsa0RwbUVuYWJs ZWRMZXZlbHM7CisgICAgdWludDhfdCAgICAgICAgIFBDSWVEcG1FbmFibGVkTGV2ZWxzOworCisg ICAgdWludDhfdCAgICAgICAgIFVWRERwbUVuYWJsZWRMZXZlbHM7CisgICAgdWludDhfdCAgICAg ICAgIFNBTVVEcG1FbmFibGVkTGV2ZWxzOworICAgIHVpbnQ4X3QgICAgICAgICBBQ1BEcG1FbmFi bGVkTGV2ZWxzOworICAgIHVpbnQ4X3QgICAgICAgICBWQ0VEcG1FbmFibGVkTGV2ZWxzOworCisg ICAgdWludDMyX3QgICAgICAgIERSQU1fTE9HX0FERFJfSDsKKyAgICB1aW50MzJfdCAgICAgICAg RFJBTV9MT0dfQUREUl9MOworICAgIHVpbnQzMl90ICAgICAgICBEUkFNX0xPR19QSFlfQUREUl9I OworICAgIHVpbnQzMl90ICAgICAgICBEUkFNX0xPR19QSFlfQUREUl9MOworICAgIHVpbnQzMl90 ICAgICAgICBEUkFNX0xPR19CVUZGX1NJWkU7CisgICAgdWludDMyX3QgICAgICAgIFVsdkVudGVy QzsKKyAgICB1aW50MzJfdCAgICAgICAgVWx2VGltZTsKKyAgICB1aW50MzJfdCAgICAgICAgUmVz ZXJ2ZWRbM107CisKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdfU29mdFJlZ2lzdGVycyBTTVU3 X1NvZnRSZWdpc3RlcnM7CisKK3N0cnVjdCBTTVU3X0Rpc2NyZXRlX1ZvbHRhZ2VMZXZlbAorewor ICAgIHVpbnQxNl90ICAgIFZvbHRhZ2U7CisgICAgdWludDE2X3QgICAgU3RkVm9sdGFnZUhpU2lk ZDsKKyAgICB1aW50MTZfdCAgICBTdGRWb2x0YWdlTG9TaWRkOworICAgIHVpbnQ4X3QgICAgIFNt aW87CisgICAgdWludDhfdCAgICAgcGFkZGluZzsKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdf RGlzY3JldGVfVm9sdGFnZUxldmVsIFNNVTdfRGlzY3JldGVfVm9sdGFnZUxldmVsOworCitzdHJ1 Y3QgU01VN19EaXNjcmV0ZV9HcmFwaGljc0xldmVsCit7CisgICAgdWludDMyX3QgICAgRmxhZ3M7 CisgICAgdWludDMyX3QgICAgTWluVmRkYzsKKyAgICB1aW50MzJfdCAgICBNaW5WZGRjUGhhc2Vz OworCisgICAgdWludDMyX3QgICAgU2Nsa0ZyZXF1ZW5jeTsKKworICAgIHVpbnQ4X3QgICAgIHBh ZGRpbmcxWzJdOworICAgIHVpbnQxNl90ICAgIEFjdGl2aXR5TGV2ZWw7CisKKyAgICB1aW50MzJf dCAgICBDZ1NwbGxGdW5jQ250bDM7CisgICAgdWludDMyX3QgICAgQ2dTcGxsRnVuY0NudGw0Owor ICAgIHVpbnQzMl90ICAgIFNwbGxTcHJlYWRTcGVjdHJ1bTsKKyAgICB1aW50MzJfdCAgICBTcGxs U3ByZWFkU3BlY3RydW0yOworICAgIHVpbnQzMl90ICAgIENjUHdyRHluUm07CisgICAgdWludDMy X3QgICAgQ2NQd3JEeW5SbTE7CisgICAgdWludDhfdCAgICAgU2Nsa0RpZDsKKyAgICB1aW50OF90 ICAgICBEaXNwbGF5V2F0ZXJtYXJrOworICAgIHVpbnQ4X3QgICAgIEVuYWJsZWRGb3JBY3Rpdml0 eTsKKyAgICB1aW50OF90ICAgICBFbmFibGVkRm9yVGhyb3R0bGU7CisgICAgdWludDhfdCAgICAg VXBIOworICAgIHVpbnQ4X3QgICAgIERvd25IOworICAgIHVpbnQ4X3QgICAgIFZvbHRhZ2VEb3du SDsKKyAgICB1aW50OF90ICAgICBQb3dlclRocm90dGxlOworICAgIHVpbnQ4X3QgICAgIERlZXBT bGVlcERpdklkOworICAgIHVpbnQ4X3QgICAgIHBhZGRpbmdbM107Cit9OworCit0eXBlZGVmIHN0 cnVjdCBTTVU3X0Rpc2NyZXRlX0dyYXBoaWNzTGV2ZWwgU01VN19EaXNjcmV0ZV9HcmFwaGljc0xl dmVsOworCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9BQ1BJTGV2ZWwKK3sKKyAgICB1aW50MzJfdCAg ICBGbGFnczsKKyAgICB1aW50MzJfdCAgICBNaW5WZGRjOworICAgIHVpbnQzMl90ICAgIE1pblZk ZGNQaGFzZXM7CisgICAgdWludDMyX3QgICAgU2Nsa0ZyZXF1ZW5jeTsKKyAgICB1aW50OF90ICAg ICBTY2xrRGlkOworICAgIHVpbnQ4X3QgICAgIERpc3BsYXlXYXRlcm1hcms7CisgICAgdWludDhf dCAgICAgRGVlcFNsZWVwRGl2SWQ7CisgICAgdWludDhfdCAgICAgcGFkZGluZzsKKyAgICB1aW50 MzJfdCAgICBDZ1NwbGxGdW5jQ250bDsKKyAgICB1aW50MzJfdCAgICBDZ1NwbGxGdW5jQ250bDI7 CisgICAgdWludDMyX3QgICAgQ2dTcGxsRnVuY0NudGwzOworICAgIHVpbnQzMl90ICAgIENnU3Bs bEZ1bmNDbnRsNDsKKyAgICB1aW50MzJfdCAgICBTcGxsU3ByZWFkU3BlY3RydW07CisgICAgdWlu dDMyX3QgICAgU3BsbFNwcmVhZFNwZWN0cnVtMjsKKyAgICB1aW50MzJfdCAgICBDY1B3ckR5blJt OworICAgIHVpbnQzMl90ICAgIENjUHdyRHluUm0xOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgU01V N19EaXNjcmV0ZV9BQ1BJTGV2ZWwgU01VN19EaXNjcmV0ZV9BQ1BJTGV2ZWw7CisKK3N0cnVjdCBT TVU3X0Rpc2NyZXRlX1VsdgoreworICAgIHVpbnQzMl90ICAgIENjUHdyRHluUm07CisgICAgdWlu dDMyX3QgICAgQ2NQd3JEeW5SbTE7CisgICAgdWludDE2X3QgICAgVmRkY09mZnNldDsKKyAgICB1 aW50OF90ICAgICBWZGRjT2Zmc2V0VmlkOworICAgIHVpbnQ4X3QgICAgIFZkZGNQaGFzZTsKKyAg ICB1aW50MzJfdCAgICBSZXNlcnZlZDsKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3Jl dGVfVWx2IFNNVTdfRGlzY3JldGVfVWx2OworCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NZW1vcnlM ZXZlbAoreworICAgIHVpbnQzMl90ICAgIE1pblZkZGM7CisgICAgdWludDMyX3QgICAgTWluVmRk Y1BoYXNlczsKKyAgICB1aW50MzJfdCAgICBNaW5WZGRjaTsKKyAgICB1aW50MzJfdCAgICBNaW5N dmRkOworCisgICAgdWludDMyX3QgICAgTWNsa0ZyZXF1ZW5jeTsKKworICAgIHVpbnQ4X3QgICAg IEVkY1JlYWRFbmFibGU7CisgICAgdWludDhfdCAgICAgRWRjV3JpdGVFbmFibGU7CisgICAgdWlu dDhfdCAgICAgUnR0RW5hYmxlOworICAgIHVpbnQ4X3QgICAgIFN0dXR0ZXJFbmFibGU7CisKKyAg ICB1aW50OF90ICAgICBTdHJvYmVFbmFibGU7CisgICAgdWludDhfdCAgICAgU3Ryb2JlUmF0aW87 CisgICAgdWludDhfdCAgICAgRW5hYmxlZEZvclRocm90dGxlOworICAgIHVpbnQ4X3QgICAgIEVu YWJsZWRGb3JBY3Rpdml0eTsKKworICAgIHVpbnQ4X3QgICAgIFVwSDsKKyAgICB1aW50OF90ICAg ICBEb3duSDsKKyAgICB1aW50OF90ICAgICBWb2x0YWdlRG93bkg7CisgICAgdWludDhfdCAgICAg cGFkZGluZzsKKworICAgIHVpbnQxNl90ICAgIEFjdGl2aXR5TGV2ZWw7CisgICAgdWludDhfdCAg ICAgRGlzcGxheVdhdGVybWFyazsKKyAgICB1aW50OF90ICAgICBwYWRkaW5nMTsKKworICAgIHVp bnQzMl90ICAgIE1wbGxGdW5jQ250bDsKKyAgICB1aW50MzJfdCAgICBNcGxsRnVuY0NudGxfMTsK KyAgICB1aW50MzJfdCAgICBNcGxsRnVuY0NudGxfMjsKKyAgICB1aW50MzJfdCAgICBNcGxsQWRG dW5jQ250bDsKKyAgICB1aW50MzJfdCAgICBNcGxsRHFGdW5jQ250bDsKKyAgICB1aW50MzJfdCAg ICBNY2xrUHdybWd0Q250bDsKKyAgICB1aW50MzJfdCAgICBEbGxDbnRsOworICAgIHVpbnQzMl90 ICAgIE1wbGxTczE7CisgICAgdWludDMyX3QgICAgTXBsbFNzMjsKK307CisKK3R5cGVkZWYgc3Ry dWN0IFNNVTdfRGlzY3JldGVfTWVtb3J5TGV2ZWwgU01VN19EaXNjcmV0ZV9NZW1vcnlMZXZlbDsK Kworc3RydWN0IFNNVTdfRGlzY3JldGVfTGlua0xldmVsCit7CisgICAgdWludDhfdCAgICAgUGNp ZUdlblNwZWVkOworICAgIHVpbnQ4X3QgICAgIFBjaWVMYW5lQ291bnQ7CisgICAgdWludDhfdCAg ICAgRW5hYmxlZEZvckFjdGl2aXR5OworICAgIHVpbnQ4X3QgICAgIFBhZGRpbmc7CisgICAgdWlu dDMyX3QgICAgRG93blQ7CisgICAgdWludDMyX3QgICAgVXBUOworICAgIHVpbnQzMl90ICAgIFJl c2VydmVkOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgU01VN19EaXNjcmV0ZV9MaW5rTGV2ZWwgU01V N19EaXNjcmV0ZV9MaW5rTGV2ZWw7CisKKworc3RydWN0IFNNVTdfRGlzY3JldGVfTUNBcmJEcmFt VGltaW5nVGFibGVFbnRyeQoreworICAgIHVpbnQzMl90IE1jQXJiRHJhbVRpbWluZzsKKyAgICB1 aW50MzJfdCBNY0FyYkRyYW1UaW1pbmcyOworICAgIHVpbnQ4X3QgIE1jQXJiQnVyc3RUaW1lOwor ICAgIHVpbnQ4X3QgIHBhZGRpbmdbM107Cit9OworCit0eXBlZGVmIHN0cnVjdCBTTVU3X0Rpc2Ny ZXRlX01DQXJiRHJhbVRpbWluZ1RhYmxlRW50cnkgU01VN19EaXNjcmV0ZV9NQ0FyYkRyYW1UaW1p bmdUYWJsZUVudHJ5OworCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ0FyYkRyYW1UaW1pbmdUYWJs ZQoreworICAgIFNNVTdfRGlzY3JldGVfTUNBcmJEcmFtVGltaW5nVGFibGVFbnRyeSBlbnRyaWVz W1NNVV9fTlVNX1NDTEtfRFBNX1NUQVRFXVtTTVVfX05VTV9NQ0xLX0RQTV9MRVZFTFNdOworfTsK KwordHlwZWRlZiBzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ0FyYkRyYW1UaW1pbmdUYWJsZSBTTVU3 X0Rpc2NyZXRlX01DQXJiRHJhbVRpbWluZ1RhYmxlOworCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9V dmRMZXZlbAoreworICAgIHVpbnQzMl90IFZjbGtGcmVxdWVuY3k7CisgICAgdWludDMyX3QgRGNs a0ZyZXF1ZW5jeTsKKyAgICB1aW50MTZfdCBNaW5WZGRjOworICAgIHVpbnQ4X3QgIE1pblZkZGNQ aGFzZXM7CisgICAgdWludDhfdCAgVmNsa0RpdmlkZXI7CisgICAgdWludDhfdCAgRGNsa0Rpdmlk ZXI7CisgICAgdWludDhfdCAgcGFkZGluZ1szXTsKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdf RGlzY3JldGVfVXZkTGV2ZWwgU01VN19EaXNjcmV0ZV9VdmRMZXZlbDsKKworc3RydWN0IFNNVTdf RGlzY3JldGVfRXh0Q2xrTGV2ZWwKK3sKKyAgICB1aW50MzJfdCBGcmVxdWVuY3k7CisgICAgdWlu dDE2X3QgTWluVm9sdGFnZTsKKyAgICB1aW50OF90ICBNaW5QaGFzZXM7CisgICAgdWludDhfdCAg RGl2aWRlcjsKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfRXh0Q2xrTGV2ZWwg U01VN19EaXNjcmV0ZV9FeHRDbGtMZXZlbDsKKworc3RydWN0IFNNVTdfRGlzY3JldGVfU3RhdGVJ bmZvCit7CisgICAgdWludDMyX3QgU2Nsa0ZyZXF1ZW5jeTsKKyAgICB1aW50MzJfdCBNY2xrRnJl cXVlbmN5OworICAgIHVpbnQzMl90IFZjbGtGcmVxdWVuY3k7CisgICAgdWludDMyX3QgRGNsa0Zy ZXF1ZW5jeTsKKyAgICB1aW50MzJfdCBTYW1jbGtGcmVxdWVuY3k7CisgICAgdWludDMyX3QgQWNs a0ZyZXF1ZW5jeTsKKyAgICB1aW50MzJfdCBFY2xrRnJlcXVlbmN5OworICAgIHVpbnQxNl90IE12 ZGRWb2x0YWdlOworICAgIHVpbnQxNl90IHBhZGRpbmcxNjsKKyAgICB1aW50OF90ICBEaXNwbGF5 V2F0ZXJtYXJrOworICAgIHVpbnQ4X3QgIE1jQXJiSW5kZXg7CisgICAgdWludDhfdCAgTWNSZWdJ bmRleDsKKyAgICB1aW50OF90ICBTZXFJbmRleDsKKyAgICB1aW50OF90ICBTY2xrRGlkOworICAg IGludDhfdCAgIFNjbGtJbmRleDsKKyAgICBpbnQ4X3QgICBNY2xrSW5kZXg7CisgICAgdWludDhf dCAgUENJZUdlbjsKKworfTsKKwordHlwZWRlZiBzdHJ1Y3QgU01VN19EaXNjcmV0ZV9TdGF0ZUlu Zm8gU01VN19EaXNjcmV0ZV9TdGF0ZUluZm87CisKKworc3RydWN0IFNNVTdfRGlzY3JldGVfRHBt VGFibGUKK3sKKyAgICBTTVU3X1BJRENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICBHcmFwaGlj c1BJRENvbnRyb2xsZXI7CisgICAgU01VN19QSURDb250cm9sbGVyICAgICAgICAgICAgICAgICAg TWVtb3J5UElEQ29udHJvbGxlcjsKKyAgICBTTVU3X1BJRENvbnRyb2xsZXIgICAgICAgICAgICAg ICAgICBMaW5rUElEQ29udHJvbGxlcjsKKworICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN5c3RlbUZsYWdzOworCisKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTbWlvTWFza1ZkZGNWaWQ7CisgICAgdWludDMyX3QgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU21pb01hc2tWZGRjUGhhc2U7CisgICAgdWludDMyX3QgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU21pb01hc2tWZGRjaVZpZDsKKyAgICB1aW50MzJfdCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTbWlvTWFza012ZGRWaWQ7CisKKyAgICB1aW50MzJfdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBWZGRjTGV2ZWxDb3VudDsKKyAgICB1aW50MzJfdCAgICAgICAg ICAgICAgICAgICAgICAgICAgICBWZGRjaUxldmVsQ291bnQ7CisgICAgdWludDMyX3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTXZkZExldmVsQ291bnQ7CisKKyAgICBTTVU3X0Rpc2NyZXRl X1ZvbHRhZ2VMZXZlbCAgICAgICAgICBWZGRjTGV2ZWwgICAgICAgICAgICAgICBbU01VN19NQVhf TEVWRUxTX1ZERENdOworLy8gICAgU01VN19EaXNjcmV0ZV9Wb2x0YWdlTGV2ZWwgICAgICAgICAg VmRkY1N0YW5kYXJkUmVmZXJlbmNlICAgW1NNVTdfTUFYX0xFVkVMU19WRERDXTsKKyAgICBTTVU3 X0Rpc2NyZXRlX1ZvbHRhZ2VMZXZlbCAgICAgICAgICBWZGRjaUxldmVsICAgICAgICAgICAgICBb U01VN19NQVhfTEVWRUxTX1ZERENJXTsKKyAgICBTTVU3X0Rpc2NyZXRlX1ZvbHRhZ2VMZXZlbCAg ICAgICAgICBNdmRkTGV2ZWwgICAgICAgICAgICAgICBbU01VN19NQVhfTEVWRUxTX01WRERdOwor CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NEcG1MZXZl bENvdW50OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeURw bUxldmVsQ291bnQ7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlu a0xldmVsQ291bnQ7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXZk TGV2ZWxDb3VudDsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWY2VM ZXZlbENvdW50OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcExl dmVsQ291bnQ7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FtdUxl dmVsQ291bnQ7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFzdGVy RGVlcFNsZWVwQ29udHJvbDsKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXNlcnZlZFs1XTsKKy8vICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNhbXVEZWZhdWx0TGV2ZWw7CisKKyAgICBTTVU3X0Rpc2NyZXRlX0dyYXBoaWNzTGV2ZWwgICAg ICAgICBHcmFwaGljc0xldmVsICAgICAgICAgICBbU01VN19NQVhfTEVWRUxTX0dSQVBISUNTXTsK KyAgICBTTVU3X0Rpc2NyZXRlX01lbW9yeUxldmVsICAgICAgICAgICBNZW1vcnlBQ1BJTGV2ZWw7 CisgICAgU01VN19EaXNjcmV0ZV9NZW1vcnlMZXZlbCAgICAgICAgICAgTWVtb3J5TGV2ZWwgICAg ICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19NRU1PUlldOworICAgIFNNVTdfRGlzY3JldGVfTGlu a0xldmVsICAgICAgICAgICAgIExpbmtMZXZlbCAgICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZF TFNfTElOS107CisgICAgU01VN19EaXNjcmV0ZV9BQ1BJTGV2ZWwgICAgICAgICAgICAgQUNQSUxl dmVsOworICAgIFNNVTdfRGlzY3JldGVfVXZkTGV2ZWwgICAgICAgICAgICAgIFV2ZExldmVsICAg ICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZFTFNfVVZEXTsKKyAgICBTTVU3X0Rpc2NyZXRlX0V4 dENsa0xldmVsICAgICAgICAgICBWY2VMZXZlbCAgICAgICAgICAgICAgICBbU01VN19NQVhfTEVW RUxTX1ZDRV07CisgICAgU01VN19EaXNjcmV0ZV9FeHRDbGtMZXZlbCAgICAgICAgICAgQWNwTGV2 ZWwgICAgICAgICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19BQ1BdOworICAgIFNNVTdfRGlzY3Jl dGVfRXh0Q2xrTGV2ZWwgICAgICAgICAgIFNhbXVMZXZlbCAgICAgICAgICAgICAgIFtTTVU3X01B WF9MRVZFTFNfU0FNVV07CisgICAgU01VN19EaXNjcmV0ZV9VbHYgICAgICAgICAgICAgICAgICAg VWx2OworCisgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Nsa1N0ZXBT aXplOworICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNtaW8gICAgICAg ICAgICAgICAgICAgIFtTTVU3X01BWF9FTlRSSUVTX1NNSU9dOworCisgICAgdWludDhfdCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVXZkQm9vdExldmVsOworICAgIHVpbnQ4X3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFZjZUJvb3RMZXZlbDsKKyAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBY3BCb290TGV2ZWw7CisgICAgdWludDhfdCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2FtdUJvb3RMZXZlbDsKKworICAgIHVpbnQ4X3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFVWREludGVydmFsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZDRUludGVydmFsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFDUEludGVydmFsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNBTVVJbnRlcnZhbDsKKworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdyYXBoaWNzQm9vdExldmVsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdyYXBoaWNzVm9sdGFnZUNoYW5nZUVuYWJsZTsKKyAgICB1aW50OF90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc1RoZXJtVGhyb3R0bGVFbmFibGU7Cisg ICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NJbnRlcnZhbDsK KworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvbHRhZ2VJbnRlcnZh bDsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVybWFsSW50ZXJ2 YWw7CisgICAgdWludDE2X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcGVyYXR1cmVM aW1pdEhpZ2g7CisKKyAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZW1w ZXJhdHVyZUxpbWl0TG93OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE1lbW9yeUJvb3RMZXZlbDsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNZW1vcnlWb2x0YWdlQ2hhbmdlRW5hYmxlOworCisgICAgdWludDhfdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5SW50ZXJ2YWw7CisgICAgdWludDhfdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5VGhlcm1UaHJvdHRsZUVuYWJsZTsKKyAgICB1aW50MTZfdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBWZGRjVmRkY2lEZWx0YTsKKworICAgIHVpbnQxNl90 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZvbHRhZ2VSZXNwb25zZVRpbWU7CisgICAgdWlu dDE2X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGhhc2VSZXNwb25zZVRpbWU7CisKKyAg ICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0llQm9vdExpbmtMZXZlbDsK KyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0llR2VuSW50ZXJ2YWw7 CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFRFSW50ZXJ2YWw7Cisg ICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFRFTW9kZTsKKworICAgIHVp bnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNWSTJFbmFibGU7CisgICAgdWludDhf dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVlJIb3RHcGlvOworICAgIHVpbnQ4X3QgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFjRGNHcGlvOworICAgIHVpbnQ4X3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRoZXJtR3BpbzsKKworICAgIHVpbnQxNl90ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBQTV9Qa2dQd3JMaW1pdDsKKyAgICB1aW50MTZfdCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQUE1fVGVtcGVyYXR1cmVMaW1pdDsKKworICAgIHVpbnQxNl90ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHRUZHA7CisgICAgdWludDE2X3QgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVGFyZ2V0VGRwOworCisgICAgdWludDE2X3QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRnBzSGlnaFQ7CisgICAgdWludDE2X3QgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRnBzTG93VDsKKworICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJBUE1USV9SICBbU01VN19EVEVfSVRFUkFUSU9OU11bU01VN19EVEVfU09VUkNFU11b U01VN19EVEVfU0lOS1NdOworICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAg IEJBUE1USV9SQyBbU01VN19EVEVfSVRFUkFUSU9OU11bU01VN19EVEVfU09VUkNFU11bU01VN19E VEVfU0lOS1NdOworCisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRFRF QW1iaWVudFRlbXBCYXNlOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERURVRqT2Zmc2V0OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdw dVRqTWF4OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdwdVRqSHlz dDsKKworICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvb3RWZGRjOwor ICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvb3RWZGRjaTsKKworICAg IHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJvb3RNVmRkOworICAgIHVpbnQx Nl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc7CisKKyAgICB1aW50MzJfdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBCQVBNX1RFTVBfR1JBRElFTlQ7CisKKyAgICB1aW50 MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb3dTY2xrSW50ZXJydXB0VDsKK307CisK K3R5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfRHBtVGFibGUgU01VN19EaXNjcmV0ZV9EcG1U YWJsZTsKKworI2RlZmluZSBTTVU3X0RJU0NSRVRFX01DX1JFR0lTVEVSX0FSUkFZX1NJWkUgMTYK KyNkZWZpbmUgU01VN19ESVNDUkVURV9NQ19SRUdJU1RFUl9BUlJBWV9TRVRfQ09VTlQgU01VN19N QVhfTEVWRUxTX01FTU9SWQorCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyQWRkcmVz cworeworICAgIHVpbnQxNl90IHMwOworICAgIHVpbnQxNl90IHMxOworfTsKKwordHlwZWRlZiBz dHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyQWRkcmVzcyBTTVU3X0Rpc2NyZXRlX01DUmVn aXN0ZXJBZGRyZXNzOworCitzdHJ1Y3QgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyU2V0Cit7Cisg ICAgdWludDMyX3QgdmFsdWVbU01VN19ESVNDUkVURV9NQ19SRUdJU1RFUl9BUlJBWV9TSVpFXTsK K307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3JldGVfTUNSZWdpc3RlclNldCBTTVU3X0Rp c2NyZXRlX01DUmVnaXN0ZXJTZXQ7CisKK3N0cnVjdCBTTVU3X0Rpc2NyZXRlX01DUmVnaXN0ZXJz Cit7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdDsKKyAgICB1 aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZFszXTsKKyAgICBTTVU3 X0Rpc2NyZXRlX01DUmVnaXN0ZXJBZGRyZXNzICAgICBhZGRyZXNzW1NNVTdfRElTQ1JFVEVfTUNf UkVHSVNURVJfQVJSQVlfU0laRV07CisgICAgU01VN19EaXNjcmV0ZV9NQ1JlZ2lzdGVyU2V0ICAg ICAgICAgZGF0YVtTTVU3X0RJU0NSRVRFX01DX1JFR0lTVEVSX0FSUkFZX1NFVF9DT1VOVF07Cit9 OworCit0eXBlZGVmIHN0cnVjdCBTTVU3X0Rpc2NyZXRlX01DUmVnaXN0ZXJzIFNNVTdfRGlzY3Jl dGVfTUNSZWdpc3RlcnM7CisKK3N0cnVjdCBTTVU3X0Rpc2NyZXRlX0ZhblRhYmxlCit7CisJdWlu dDE2X3QgRmRvTW9kZTsKKwlpbnQxNl90ICBUZW1wTWluOworCWludDE2X3QgIFRlbXBNZWQ7CisJ aW50MTZfdCAgVGVtcE1heDsKKwlpbnQxNl90ICBTbG9wZTE7CisJaW50MTZfdCAgU2xvcGUyOwor CWludDE2X3QgIEZkb01pbjsKKwlpbnQxNl90ICBIeXN0VXA7CisJaW50MTZfdCAgSHlzdERvd247 CisJaW50MTZfdCAgSHlzdFNsb3BlOworCWludDE2X3QgIFRlbXBSZXNwTGltOworCWludDE2X3Qg IFRlbXBDdXJyOworCWludDE2X3QgIFNsb3BlQ3VycjsKKwlpbnQxNl90ICBQd21DdXJyOworCXVp bnQzMl90IFJlZnJlc2hQZXJpb2Q7CisJaW50MTZfdCAgRmRvTWF4OworCXVpbnQ4X3QgIFRlbXBT cmM7CisJaW50OF90ICAgUGFkZGluZzsKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdfRGlzY3Jl dGVfRmFuVGFibGUgU01VN19EaXNjcmV0ZV9GYW5UYWJsZTsKKworCitzdHJ1Y3QgU01VN19EaXNj cmV0ZV9QbUZ1c2VzIHsKKyAgLy8gZHcwLWR3MQorICB1aW50OF90IEJhcG1WZGRDVmlkSGlTaWRk WzhdOworCisgIC8vIGR3Mi1kdzMKKyAgdWludDhfdCBCYXBtVmRkQ1ZpZExvU2lkZFs4XTsKKwor ICAvLyBkdzQtZHc1CisgIHVpbnQ4X3QgVmRkQ1ZpZFs4XTsKKworICAvLyBkdzYKKyAgdWludDhf dCBTdmlMb2FkTGluZUVuOworICB1aW50OF90IFN2aUxvYWRMaW5lVmRkQzsKKyAgdWludDhfdCBT dmlMb2FkTGluZVRyaW1WZGRDOworICB1aW50OF90IFN2aUxvYWRMaW5lT2Zmc2V0VmRkQzsKKwor ICAvLyBkdzcKKyAgdWludDE2X3QgVERDX1ZERENfUGtnTGltaXQ7CisgIHVpbnQ4X3QgVERDX1ZE RENfVGhyb3R0bGVSZWxlYXNlTGltaXRQZXJjOworICB1aW50OF90IFREQ19NQVd0OworCisgIC8v IGR3OAorICB1aW50OF90IFRkY1dhdGVyZmFsbEN0bDsKKyAgdWludDhfdCBMUE1MVGVtcGVyYXR1 cmVNaW47CisgIHVpbnQ4X3QgTFBNTFRlbXBlcmF0dXJlTWF4OworICB1aW50OF90IFJlc2VydmVk OworCisgIC8vIGR3OS1kdzEwCisgIHVpbnQ4X3QgQmFwbVZkZENWaWRIaVNpZGQyWzhdOworCisg IC8vIGR3MTEtZHcxMgorICBpbnQxNl90IEZ1enp5RmFuX0Vycm9yU2V0RGVsdGE7CisgIGludDE2 X3QgRnV6enlGYW5fRXJyb3JSYXRlU2V0RGVsdGE7CisgIGludDE2X3QgRnV6enlGYW5fUHdtU2V0 RGVsdGE7CisgIHVpbnQxNl90IENhbGNNZWFzUG93ZXJCbGVuZDsKKworICAvLyBkdzEzLWR3MTYK KyAgdWludDhfdCBHbmJMUE1MWzE2XTsKKworICAvLyBkdzE3CisgIHVpbnQ4X3QgR25iTFBNTE1h eFZpZDsKKyAgdWludDhfdCBHbmJMUE1MTWluVmlkOworICB1aW50OF90IFJlc2VydmVkMVsyXTsK KworICAvLyBkdzE4CisgIHVpbnQxNl90IEJhcG1WZGRDQmFzZUxlYWthZ2VIaVNpZGQ7CisgIHVp bnQxNl90IEJhcG1WZGRDQmFzZUxlYWthZ2VMb1NpZGQ7Cit9OworCit0eXBlZGVmIHN0cnVjdCBT TVU3X0Rpc2NyZXRlX1BtRnVzZXMgU01VN19EaXNjcmV0ZV9QbUZ1c2VzOworCisKKyNwcmFnbWEg cGFjayhwb3ApCisKKyNlbmRpZgorCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9pbmMvc211N19mdXNpb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2luYy9zbXU3X2Z1c2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4 YWRhOWYKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9p bmMvc211N19mdXNpb24uaApAQCAtMCwwICsxLDMwMCBAQAorLyoKKyAqIENvcHlyaWdodCAyMDEz IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICog Y29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMg KHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVz dHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8g dXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNl LAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBw ZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1 YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5 cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVk IGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2Fy ZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJS QU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBO T1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8g RVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBM SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVU SEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklT SU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRI RSBVU0UgT1IKKyAqIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKi8KKwor I2lmbmRlZiBTTVU3X0ZVU0lPTl9ICisjZGVmaW5lIFNNVTdfRlVTSU9OX0gKKworI2luY2x1ZGUg InNtdTcuaCIKKworI3ByYWdtYSBwYWNrKHB1c2gsIDEpCisKKyNkZWZpbmUgU01VN19EVEVfSVRF UkFUSU9OUyA1CisjZGVmaW5lIFNNVTdfRFRFX1NPVVJDRVMgNQorI2RlZmluZSBTTVU3X0RURV9T SU5LUyAzCisjZGVmaW5lIFNNVTdfTlVNX0NQVV9URVMgMgorI2RlZmluZSBTTVU3X05VTV9HUFVf VEVTIDEKKyNkZWZpbmUgU01VN19OVU1fTk9OX1RFUyAyCisKKy8vIEFsbCAnc29mdCByZWdpc3Rl cnMnIHNob3VsZCBiZSB1aW50MzJfdC4KK3N0cnVjdCBTTVU3X1NvZnRSZWdpc3RlcnMKK3sKKyAg ICB1aW50MzJfdCAgICAgICAgUmVmQ2xvY2tGcmVxdWVuY3k7CisgICAgdWludDMyX3QgICAgICAg IFBtVGltZXJQOworICAgIHVpbnQzMl90ICAgICAgICBGZWF0dXJlRW5hYmxlczsKKyAgICB1aW50 MzJfdCAgICAgICAgSGFuZHNoYWtlRGlzYWJsZXM7CisKKyAgICB1aW50OF90ICAgICAgICAgRGlz cGxheVBoeTFDb25maWc7CisgICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHkyQ29uZmlnOwor ICAgIHVpbnQ4X3QgICAgICAgICBEaXNwbGF5UGh5M0NvbmZpZzsKKyAgICB1aW50OF90ICAgICAg ICAgRGlzcGxheVBoeTRDb25maWc7CisKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxheVBoeTVD b25maWc7CisgICAgdWludDhfdCAgICAgICAgIERpc3BsYXlQaHk2Q29uZmlnOworICAgIHVpbnQ4 X3QgICAgICAgICBEaXNwbGF5UGh5N0NvbmZpZzsKKyAgICB1aW50OF90ICAgICAgICAgRGlzcGxh eVBoeThDb25maWc7CisKKyAgICB1aW50MzJfdCAgICAgICAgQXZlcmFnZUdyYXBoaWNzQTsKKyAg ICB1aW50MzJfdCAgICAgICAgQXZlcmFnZU1lbW9yeUE7CisgICAgdWludDMyX3QgICAgICAgIEF2 ZXJhZ2VHaW9BOworCisgICAgdWludDhfdCAgICAgICAgIFNDbGtEcG1FbmFibGVkTGV2ZWxzOwor ICAgIHVpbnQ4X3QgICAgICAgICBNQ2xrRHBtRW5hYmxlZExldmVsczsKKyAgICB1aW50OF90ICAg ICAgICAgTENsa0RwbUVuYWJsZWRMZXZlbHM7CisgICAgdWludDhfdCAgICAgICAgIFBDSWVEcG1F bmFibGVkTGV2ZWxzOworCisgICAgdWludDhfdCAgICAgICAgIFVWRERwbUVuYWJsZWRMZXZlbHM7 CisgICAgdWludDhfdCAgICAgICAgIFNBTVVEcG1FbmFibGVkTGV2ZWxzOworICAgIHVpbnQ4X3Qg ICAgICAgICBBQ1BEcG1FbmFibGVkTGV2ZWxzOworICAgIHVpbnQ4X3QgICAgICAgICBWQ0VEcG1F bmFibGVkTGV2ZWxzOworCisgICAgdWludDMyX3QgICAgICAgIERSQU1fTE9HX0FERFJfSDsKKyAg ICB1aW50MzJfdCAgICAgICAgRFJBTV9MT0dfQUREUl9MOworICAgIHVpbnQzMl90ICAgICAgICBE UkFNX0xPR19QSFlfQUREUl9IOworICAgIHVpbnQzMl90ICAgICAgICBEUkFNX0xPR19QSFlfQURE Ul9MOworICAgIHVpbnQzMl90ICAgICAgICBEUkFNX0xPR19CVUZGX1NJWkU7CisgICAgdWludDMy X3QgICAgICAgIFVsdkVudGVyQzsKKyAgICB1aW50MzJfdCAgICAgICAgVWx2VGltZTsKKyAgICB1 aW50MzJfdCAgICAgICAgUmVzZXJ2ZWRbM107CisKK307CisKK3R5cGVkZWYgc3RydWN0IFNNVTdf U29mdFJlZ2lzdGVycyBTTVU3X1NvZnRSZWdpc3RlcnM7CisKK3N0cnVjdCBTTVU3X0Z1c2lvbl9H cmFwaGljc0xldmVsCit7CisgICAgdWludDMyX3QgICAgTWluVmRkTmI7CisKKyAgICB1aW50MzJf dCAgICBTY2xrRnJlcXVlbmN5OworCisgICAgdWludDhfdCAgICAgVmlkOworICAgIHVpbnQ4X3Qg ICAgIFZpZE9mZnNldDsKKyAgICB1aW50MTZfdCAgICBBVDsKKworICAgIHVpbnQ4X3QgICAgIFBv d2VyVGhyb3R0bGU7CisgICAgdWludDhfdCAgICAgR25iU2xvdzsKKyAgICB1aW50OF90ICAgICBG b3JjZU5iUHMxOworICAgIHVpbnQ4X3QgICAgIFNjbGtEaWQ7CisKKyAgICB1aW50OF90ICAgICBE aXNwbGF5V2F0ZXJtYXJrOworICAgIHVpbnQ4X3QgICAgIEVuYWJsZWRGb3JBY3Rpdml0eTsKKyAg ICB1aW50OF90ICAgICBFbmFibGVkRm9yVGhyb3R0bGU7CisgICAgdWludDhfdCAgICAgVXBIOwor CisgICAgdWludDhfdCAgICAgRG93bkg7CisgICAgdWludDhfdCAgICAgVm9sdGFnZURvd25IOwor ICAgIHVpbnQ4X3QgICAgIERlZXBTbGVlcERpdklkOworCisgICAgdWludDhfdCAgICAgQ2xrQnlw YXNzQ250bDsKKworICAgIHVpbnQzMl90ICAgIHJlc2VydmVkOworfTsKKwordHlwZWRlZiBzdHJ1 Y3QgU01VN19GdXNpb25fR3JhcGhpY3NMZXZlbCBTTVU3X0Z1c2lvbl9HcmFwaGljc0xldmVsOwor CitzdHJ1Y3QgU01VN19GdXNpb25fR0lPTGV2ZWwKK3sKKyAgICB1aW50OF90ICAgICBFbmFibGVk Rm9yQWN0aXZpdHk7CisgICAgdWludDhfdCAgICAgTGNsa0RpZDsKKyAgICB1aW50OF90ICAgICBW aWQ7CisgICAgdWludDhfdCAgICAgVm9sdGFnZURvd25IOworCisgICAgdWludDMyX3QgICAgTWlu VmRkTmI7CisKKyAgICB1aW50MTZfdCAgICBSZXNpZGVuY3lDb3VudGVyOworICAgIHVpbnQ4X3Qg ICAgIFVwSDsKKyAgICB1aW50OF90ICAgICBEb3duSDsKKworICAgIHVpbnQzMl90ICAgIExjbGtG cmVxdWVuY3k7CisKKyAgICB1aW50OF90ICAgICBBY3Rpdml0eUxldmVsOworICAgIHVpbnQ4X3Qg ICAgIEVuYWJsZWRGb3JUaHJvdHRsZTsKKworICAgIHVpbnQ4X3QgICAgIENsa0J5cGFzc0NudGw7 CisKKyAgICB1aW50OF90ICAgICBwYWRkaW5nOworfTsKKwordHlwZWRlZiBzdHJ1Y3QgU01VN19G dXNpb25fR0lPTGV2ZWwgU01VN19GdXNpb25fR0lPTGV2ZWw7CisKKy8vIFVWRCBWQ0xLL0RDTEsg c3RhdGUgKGxldmVsKSBkZWZpbml0aW9uLgorc3RydWN0IFNNVTdfRnVzaW9uX1V2ZExldmVsCit7 CisgICAgdWludDMyX3QgVmNsa0ZyZXF1ZW5jeTsKKyAgICB1aW50MzJfdCBEY2xrRnJlcXVlbmN5 OworICAgIHVpbnQxNl90IE1pblZkZE5iOworICAgIHVpbnQ4X3QgIFZjbGtEaXZpZGVyOworICAg IHVpbnQ4X3QgIERjbGtEaXZpZGVyOworCisgICAgdWludDhfdCAgICAgVkNsa0J5cGFzc0NudGw7 CisgICAgdWludDhfdCAgICAgRENsa0J5cGFzc0NudGw7CisKKyAgICB1aW50OF90ICAgICBwYWRk aW5nWzJdOworCit9OworCit0eXBlZGVmIHN0cnVjdCBTTVU3X0Z1c2lvbl9VdmRMZXZlbCBTTVU3 X0Z1c2lvbl9VdmRMZXZlbDsKKworLy8gQ2xvY2tzIGZvciBvdGhlciBleHRlcm5hbCBibG9ja3Mg KFZDRSwgQUNQLCBTQU1VKS4KK3N0cnVjdCBTTVU3X0Z1c2lvbl9FeHRDbGtMZXZlbAoreworICAg IHVpbnQzMl90IEZyZXF1ZW5jeTsKKyAgICB1aW50MTZfdCBNaW5Wb2x0YWdlOworICAgIHVpbnQ4 X3QgIERpdmlkZXI7CisgICAgdWludDhfdCAgQ2xrQnlwYXNzQ250bDsKKworICAgIHVpbnQzMl90 IFJlc2VydmVkOworfTsKK3R5cGVkZWYgc3RydWN0IFNNVTdfRnVzaW9uX0V4dENsa0xldmVsIFNN VTdfRnVzaW9uX0V4dENsa0xldmVsOworCitzdHJ1Y3QgU01VN19GdXNpb25fQUNQSUxldmVsCit7 CisgICAgdWludDMyX3QgICAgRmxhZ3M7CisgICAgdWludDMyX3QgICAgTWluVmRkTmI7CisgICAg dWludDMyX3QgICAgU2Nsa0ZyZXF1ZW5jeTsKKyAgICB1aW50OF90ICAgICBTY2xrRGlkOworICAg IHVpbnQ4X3QgICAgIEduYlNsb3c7CisgICAgdWludDhfdCAgICAgRm9yY2VOYlBzMTsKKyAgICB1 aW50OF90ICAgICBEaXNwbGF5V2F0ZXJtYXJrOworICAgIHVpbnQ4X3QgICAgIERlZXBTbGVlcERp dklkOworICAgIHVpbnQ4X3QgICAgIHBhZGRpbmdbM107Cit9OworCit0eXBlZGVmIHN0cnVjdCBT TVU3X0Z1c2lvbl9BQ1BJTGV2ZWwgU01VN19GdXNpb25fQUNQSUxldmVsOworCitzdHJ1Y3QgU01V N19GdXNpb25fTmJEcG0KK3sKKyAgICB1aW50OF90IERwbVhOYlBzSGk7CisgICAgdWludDhfdCBE cG1YTmJQc0xvOworICAgIHVpbnQ4X3QgRHBtMFBnTmJQc0hpOworICAgIHVpbnQ4X3QgRHBtMFBn TmJQc0xvOworICAgIHVpbnQ4X3QgRW5hYmxlUHNpMTsKKyAgICB1aW50OF90IFNraXBEUE0wOwor ICAgIHVpbnQ4X3QgU2tpcFBHOworICAgIHVpbnQ4X3QgSHlzdGVyZXNpczsKKyAgICB1aW50OF90 IEVuYWJsZURwbVBzdGF0ZVBvbGw7CisgICAgdWludDhfdCBwYWRkaW5nWzNdOworfTsKKwordHlw ZWRlZiBzdHJ1Y3QgU01VN19GdXNpb25fTmJEcG0gU01VN19GdXNpb25fTmJEcG07CisKK3N0cnVj dCBTTVU3X0Z1c2lvbl9TdGF0ZUluZm8KK3sKKyAgICB1aW50MzJfdCBTY2xrRnJlcXVlbmN5Owor ICAgIHVpbnQzMl90IExjbGtGcmVxdWVuY3k7CisgICAgdWludDMyX3QgVmNsa0ZyZXF1ZW5jeTsK KyAgICB1aW50MzJfdCBEY2xrRnJlcXVlbmN5OworICAgIHVpbnQzMl90IFNhbWNsa0ZyZXF1ZW5j eTsKKyAgICB1aW50MzJfdCBBY2xrRnJlcXVlbmN5OworICAgIHVpbnQzMl90IEVjbGtGcmVxdWVu Y3k7CisgICAgdWludDhfdCAgRGlzcGxheVdhdGVybWFyazsKKyAgICB1aW50OF90ICBNY0FyYklu ZGV4OworICAgIGludDhfdCAgIFNjbGtJbmRleDsKKyAgICBpbnQ4X3QgICBNY2xrSW5kZXg7Cit9 OworCit0eXBlZGVmIHN0cnVjdCBTTVU3X0Z1c2lvbl9TdGF0ZUluZm8gU01VN19GdXNpb25fU3Rh dGVJbmZvOworCitzdHJ1Y3QgU01VN19GdXNpb25fRHBtVGFibGUKK3sKKyAgICB1aW50MzJfdCAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW1GbGFnczsKKworICAgIFNNVTdfUElEQ29u dHJvbGxlciAgICAgICAgICAgICAgICAgIEdyYXBoaWNzUElEQ29udHJvbGxlcjsKKyAgICBTTVU3 X1BJRENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICBHaW9QSURDb250cm9sbGVyOworCisgICAg dWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc0RwbUxldmVsQ291bnQ7 CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSU9MZXZlbENvdW50Owor ICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgVXZkTGV2ZWxDb3VudDsKKyAg ICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZjZUxldmVsQ291bnQ7CisKKyAg ICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFjcExldmVsQ291bnQ7CisgICAg dWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBTYW11TGV2ZWxDb3VudDsKKyAgICB1 aW50MTZfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIEZwc0hpZ2hUOworCisgICAgU01VN19G dXNpb25fR3JhcGhpY3NMZXZlbCAgICAgICAgIEdyYXBoaWNzTGV2ZWwgICAgICAgICAgIFtTTVVf X05VTV9TQ0xLX0RQTV9TVEFURV07CisgICAgU01VN19GdXNpb25fQUNQSUxldmVsICAgICAgICAg ICAgIEFDUElMZXZlbDsKKyAgICBTTVU3X0Z1c2lvbl9VdmRMZXZlbCAgICAgICAgICAgICAgVXZk TGV2ZWwgICAgICAgICAgICAgICAgW1NNVTdfTUFYX0xFVkVMU19VVkRdOworICAgIFNNVTdfRnVz aW9uX0V4dENsa0xldmVsICAgICAgICAgICBWY2VMZXZlbCAgICAgICAgICAgICAgICBbU01VN19N QVhfTEVWRUxTX1ZDRV07CisgICAgU01VN19GdXNpb25fRXh0Q2xrTGV2ZWwgICAgICAgICAgIEFj cExldmVsICAgICAgICAgICAgICAgIFtTTVU3X01BWF9MRVZFTFNfQUNQXTsKKyAgICBTTVU3X0Z1 c2lvbl9FeHRDbGtMZXZlbCAgICAgICAgICAgU2FtdUxldmVsICAgICAgICAgICAgICAgW1NNVTdf TUFYX0xFVkVMU19TQU1VXTsKKworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAg ICBVdmRCb290TGV2ZWw7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFZj ZUJvb3RMZXZlbDsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNwQm9v dExldmVsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBTYW11Qm9vdExl dmVsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBVVkRJbnRlcnZhbDsK KyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgVkNFSW50ZXJ2YWw7CisgICAg dWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDUEludGVydmFsOworICAgIHVpbnQ4 X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBTQU1VSW50ZXJ2YWw7CisKKyAgICB1aW50OF90 ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NCb290TGV2ZWw7CisgICAgdWludDhf dCAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzSW50ZXJ2YWw7CisgICAgdWludDhf dCAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBoaWNzVGhlcm1UaHJvdHRsZUVuYWJsZTsK KyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3JhcGhpY3NWb2x0YWdlQ2hh bmdlRW5hYmxlOworCisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIEdyYXBo aWNzQ2xrU2xvd0VuYWJsZTsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAg R3JhcGhpY3NDbGtTbG93RGl2aWRlcjsKKyAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAg ICAgICAgRnBzTG93VDsKKworICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBE aXNwbGF5Q2FjOworICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBMb3dTY2xr SW50ZXJydXB0VDsKKworICAgIHVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICBEUkFN X0xPR19BRERSX0g7CisgICAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICAgIERSQU1f TE9HX0FERFJfTDsKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgRFJBTV9M T0dfUEhZX0FERFJfSDsKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAgRFJB TV9MT0dfUEhZX0FERFJfTDsKKyAgICB1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAgICAg RFJBTV9MT0dfQlVGRl9TSVpFOworCit9OworCitzdHJ1Y3QgU01VN19GdXNpb25fR0lPRHBtVGFi bGUKK3sKKworICAgIFNNVTdfRnVzaW9uX0dJT0xldmVsICAgICAgICAgICAgICBHSU9MZXZlbCAg ICAgICAgICAgICAgICBbU01VN19NQVhfTEVWRUxTX0dJT107CisKKyAgICBTTVU3X1BJRENvbnRy b2xsZXIgICAgICAgICAgICAgICAgR2lvUElEQ29udHJvbGxlcjsKKworICAgIHVpbnQzMl90ICAg ICAgICAgICAgICAgICAgICAgICAgICBHSU9MZXZlbENvdW50OworCisgICAgdWludDhfdCAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZTsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0lPVm9sdGFnZUNoYW5nZUVuYWJsZTsKKyAgICB1aW50OF90ICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0lPQm9vdExldmVsOworICAgIHVpbnQ4X3QgICAgICAgICAgICAg ICAgICAgICAgICAgICBwYWRkaW5nOworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAg ICAgICBwYWRkaW5nMVsyXTsKKyAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAg VGFyZ2V0U3RhdGU7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJl bnR0U3RhdGU7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFRocm90dGxl T25IdGM7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXJtVGhyb3R0 bGVTdGF0dXM7CisgICAgdWludDhfdCAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZXJtVGhy b3R0bGVUZW1wU2VsZWN0OworICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgICBU aGVybVRocm90dGxlRW5hYmxlOworICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICAgICAgICAg ICBUZW1wZXJhdHVyZUxpbWl0SGlnaDsKKyAgICB1aW50MTZfdCAgICAgICAgICAgICAgICAgICAg ICAgICAgVGVtcGVyYXR1cmVMaW1pdExvdzsKKworfTsKKwordHlwZWRlZiBzdHJ1Y3QgU01VN19G dXNpb25fRHBtVGFibGUgU01VN19GdXNpb25fRHBtVGFibGU7Cit0eXBlZGVmIHN0cnVjdCBTTVU3 X0Z1c2lvbl9HSU9EcG1UYWJsZSBTTVU3X0Z1c2lvbl9HSU9EcG1UYWJsZTsKKworI3ByYWdtYSBw YWNrKHBvcCkKKworI2VuZGlmCisKLS0gCjEuOC4zLjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==