From mboxrd@z Thu Jan 1 00:00:00 1970 From: Flora Cui Subject: [PATCH 1/2] drm/amdgpu: update golden setting/tiling table of tahiti Date: Wed, 14 Dec 2016 14:45:32 +0800 Message-ID: <1481697933-27012-1-git-send-email-Flora.Cui@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Flora Cui Q2hhbmdlLUlkOiBJNzAwN2Q3N2IxNTE4Y2Q0ZGRkZTRjZmNhM2Q2NDljM2VmNDA1ZGM1NQpTaWdu ZWQtb2ZmLWJ5OiBGbG9yYSBDdWkgPEZsb3JhLkN1aUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMgfCAzNDQgKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYyAgICAgICB8ICAzOCAr Ky0tCiAyIGZpbGVzIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspLCAxNjEgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMKaW5kZXggMDFiNThjNi4uMjJjM2Qz NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjZfMC5jCkBAIC02NTYsMjM5ICs2NTYs MjkxIEBAIHN0YXRpYyB2b2lkIGdmeF92Nl8wX3RpbGluZ19tb2RlX3RhYmxlX2luaXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJfSBlbHNlIGlmICgoYWRldi0+YXNpY190eXBlID09IENI SVBfVEFISVRJKSB8fCAoYWRldi0+YXNpY190eXBlID09IENISVBfUElUQ0FJUk4pKSB7CiAJCWZv ciAocmVnX29mZnNldCA9IDA7IHJlZ19vZmZzZXQgPCBudW1fdGlsZV9tb2RlX3N0YXRlczsgcmVn X29mZnNldCsrKSB7CiAJCQlzd2l0Y2ggKHJlZ19vZmZzZXQpIHsKLQkJCWNhc2UgMDogIC8qIG5v bi1BQSBjb21wcmVzc2VkIGRlcHRoIG9yIGFueSBjb21wcmVzc2VkIHN0ZW5jaWwgKi8KLQkJCQln Yl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJ CSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykgfAorCQkJY2Fz ZSAwOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBU SF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4x KSB8CiAJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKIAkJCQkJ CSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzY0QikgfAotCQkJCQkJIE5VTV9CQU5L UyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktf V0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8 Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJ CQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSB8CisJCQkJ CQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSk7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIDE6 ICAvKiAyeEFBLzR4QUEgY29tcHJlc3NlZCBkZXB0aCBvbmx5ICovCi0JCQkJZ2JfdGlsZV9tb2Rl biA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElM RV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCWNhc2UgMToKKwkJCQln Yl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElM SU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAogCQkJCQkJ IFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CiAJCQkJCQkgVElMRV9TUExJ VChBRERSX1NVUkZfVElMRV9TUExJVF8xMjhCKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VS Rl8xNl9CQU5LKSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8 CiAJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKLQkJCQkJCSBN QUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpKTsKKwkJCQkJCSBNQUNS T19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFO S1MoQUREUl9TVVJGXzE2X0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMjogIC8qIDh4QUEg Y29tcHJlc3NlZCBkZXB0aCBvbmx5ICovCi0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RF KEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VS Rl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCWNhc2UgMjoKKwkJCQlnYl90aWxlX21vZGVuID0g KE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQkJCQkg QVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAogCQkJCQkJIFBJUEVfQ09ORklHKEFE RFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CiAJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElM RV9TUExJVF8yNTZCKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CiAJ CQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CiAJCQkJCQkgQkFOS19I RUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzQpIHwKLQkJCQkJCSBNQUNST19USUxFX0FTUEVD VChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpKTsKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChB RERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2 X0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMzogIC8qIDJ4QUEvNHhBQSBjb21wcmVzc2Vk IGRlcHRoIHdpdGggc3RlbmNpbCAoZm9yIGRlcHRoIGJ1ZmZlcikgKi8KLQkJCQlnYl90aWxlX21v ZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19U SUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykgfAorCQkJY2FzZSAzOgorCQkJ CWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19U SUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CiAJCQkJ CQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKLQkJCQkJCSBUSUxFX1NQ TElUKEFERFJfU1VSRl9USUxFX1NQTElUXzEyOEIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9T VVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEp IHwKIAkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAotCQkJCQkJ IE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJCQkJIE1B Q1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9C QU5LUyhBRERSX1NVUkZfNF9CQU5LKSB8CisJCQkJCQkgVElMRV9TUExJVChzcGxpdF9lcXVhbF90 b19yb3dfc2l6ZSkpOwogCQkJCWJyZWFrOwotCQkJY2FzZSA0OiAgLyogTWFwcyB3LyBhIGRpbWVu c2lvbiBsZXNzIHRoYW4gdGhlIDJEIG1hY3JvLXRpbGUgZGltZW5zaW9ucyAoZm9yIG1pcG1hcHBl ZCBkZXB0aCB0ZXh0dXJlcykgKi8KLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJS QVlfMURfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RF UFRIX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngz Ml84eDE2KSB8Ci0JCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF82NEIpIHwK LQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKLQkJCQkJCSBCQU5LX1dJRFRI KEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZf QkFOS19IRUlHSFRfMikgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNS T19BU1BFQ1RfMikpOworCQkJY2FzZSA0OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElM RV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RF KEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4 XzMyeDMyXzh4MTYpKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgNTogIC8qIFVuY29tcHJlc3NlZCAx NmJwcCBkZXB0aCAtIGFuZCBzdGVuY2lsIGJ1ZmZlciBhbGxvY2F0ZWQgd2l0aCBpdCAqLwotCQkJ CWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJ CQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQlj YXNlIDU6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RF UFRIX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJ TjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikgfAotCQkJ CQkJIFRJTEVfU1BMSVQoc3BsaXRfZXF1YWxfdG9fcm93X3NpemUpIHwKLQkJCQkJCSBOVU1fQkFO S1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxF X1NQTElUXzUxMkIpIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEp IHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAotCQkJCQkJ IE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJCQkJIEJB TktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8CisJCQkJCQkgTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJf U1VSRl8yX0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgNjogIC8qIFVuY29tcHJlc3NlZCAz MmJwcCBkZXB0aCAtIGFuZCBzdGVuY2lsIGJ1ZmZlciBhbGxvY2F0ZWQgd2l0aCBpdCAqLwotCQkJ CWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJ CQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8CisJCQlj YXNlIDY6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RF UFRIX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJ TjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikgfAotCQkJ CQkJIFRJTEVfU1BMSVQoc3BsaXRfZXF1YWxfdG9fcm93X3NpemUpIHwKLQkJCQkJCSBOVU1fQkFO S1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxF X1NQTElUXzI1NkIpIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEp IHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMSkgfAotCQkJCQkJ IE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkpOworCQkJCQkJIEJB TktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF84KSB8CisJCQkJCQkgTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJf U1VSRl8yX0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgNzogIC8qIFVuY29tcHJlc3NlZCA4 YnBwIHN0ZW5jaWwgd2l0aG91dCBkZXB0aCAoZHJpdmVycyB0eXBpY2FsbHkgZG8gbm90IHVzZSkg Ki8KLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEp IHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykg fAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8Ci0JCQkJCQkg VElMRV9TUExJVChzcGxpdF9lcXVhbF90b19yb3dfc2l6ZSkgfAotCQkJCQkJIE5VTV9CQU5LUyhB RERSX1NVUkZfMTZfQkFOSykgfAorCQkJY2FzZSA3OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlD Uk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJB WV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9T VVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzFL QikgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJ IEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8Ci0JCQkJCQkgTUFDUk9fVElM RV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJCQkgTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJf U1VSRl8yX0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgODogIC8qIDFEIGFuZCAxRCBBcnJh eSBTdXJmYWNlcyAqLwotCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV9MSU5F QVJfQUxJR05FRCkgfAotCQkJCQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExBWV9N SUNST19USUxJTkcpIHwKLQkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgx NikgfAotCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfNjRCKSB8Ci0JCQkJ CQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8Ci0JCQkJCQkgQkFOS19XSURUSChBRERS X1NVUkZfQkFOS19XSURUSF8xKSB8Ci0JCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktf SEVJR0hUXzIpIHwKLQkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQ RUNUXzIpKTsKKwkJCWNhc2UgODoKKwkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJS QVlfTElORUFSX0FMSUdORUQpKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgOTogIC8qIERpc3BsYXlh YmxlIG1hcHMuICovCi0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzFEX1RJ TEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01J Q1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2 KSB8Ci0JCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF82NEIpIHwKLQkJCQkJ CSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKLQkJCQkJCSBCQU5LX1dJRFRIKEFERFJf U1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19I RUlHSFRfMikgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BF Q1RfMikpOworCQkJY2FzZSA5OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RF KEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJS QVlfMURfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4 MzJfOHgxNikpOwogCQkJCWJyZWFrOwotCQkJY2FzZSAxMDogIC8qIERpc3BsYXkgOGJwcC4gKi8K LQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwK LQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9fVElMSU5HKSB8 CisJCQljYXNlIDEwOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJf U1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRf VElMRURfVEhJTjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgx NikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMjU2QikgfAotCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQURE Ul9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5L X0hFSUdIVF80KSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FT UEVDVF8yKSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVD VF8yKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSk7CiAJCQkJYnJlYWs7 Ci0JCQljYXNlIDExOiAgLyogRGlzcGxheSAxNmJwcC4gKi8KLQkJCQlnYl90aWxlX21vZGVuID0g KEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01P REUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9fVElMSU5HKSB8CisJCQljYXNlIDExOgorCQkJCWdi X3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJ TElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKIAkJCQkJ CSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikgfAogCQkJCQkJIFRJTEVfU1BM SVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMjU2QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NV UkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkg fAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8Ci0JCQkJCQkg TUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJCQkgTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSB8CisJCQkJCQkgTlVNX0JB TktTKEFERFJfU1VSRl8xNl9CQU5LKSk7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIDEyOiAgLyogRGlz cGxheSAzMmJwcC4gKi8KLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRf VElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlf TUlDUk9fVElMSU5HKSB8CisJCQljYXNlIDEyOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9f VElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZ X01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NV UkZfUDhfMzJ4MzJfOHgxNikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BM SVRfNTEyQikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJCQkJ IEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJR0hU KEFERFJfU1VSRl9CQU5LX0hFSUdIVF8xKSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQURE Ul9TVVJGX01BQ1JPX0FTUEVDVF8xKSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9T VVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5L KSk7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIDEzOiAgLyogVGhpbi4gKi8KLQkJCQlnYl90aWxlX21v ZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19U SUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8Ci0JCQkJCQkgUElQRV9DT05G SUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKLQkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VS Rl9USUxFX1NQTElUXzY0QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykg fAotCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAotCQkJCQkJIEJB TktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQljYXNlIDEzOgorCQkJCWdiX3Rp bGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykg fAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBF X0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikpOwogCQkJCWJyZWFrOwotCQkJY2FzZSAx NDogIC8qIFRoaW4gOCBicHAuICovCi0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFS UkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9U SElOX01JQ1JPX1RJTElORykgfAorCQkJY2FzZSAxNDoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1J Q1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJB WV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CiAJCQkJCQkgUElQRV9DT05GSUcoQUREUl9T VVJGX1A4XzMyeDMyXzh4MTYpIHwKIAkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQ TElUXzI1NkIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJ CSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKIAkJCQkJCSBCQU5LX0hFSUdI VChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFE RFJfU1VSRl9NQUNST19BU1BFQ1RfMSkpOworCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJf U1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFO SykpOwogCQkJCWJyZWFrOwotCQkJY2FzZSAxNTogIC8qIFRoaW4gMTYgYnBwLiAqLwotCQkJCWdi X3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJ IE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCWNhc2Ug MTU6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5f TUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkg fAogCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CiAJCQkJCQkg VElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yNTZCKSB8Ci0JCQkJCQkgTlVNX0JBTktT KEFERFJfU1VSRl8xNl9CQU5LKSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19X SURUSF8xKSB8CiAJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwK LQkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpKTsKKwkJ CQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJ CSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMTY6 ICAvKiBUaGluIDMyIGJwcC4gKi8KLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJS QVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQljYXNlIDE2OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlD Uk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZ X01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NV UkZfUDhfMzJ4MzJfOHgxNikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BM SVRfNTEyQikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJCQkJ IEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJR0hU KEFERFJfU1VSRl9CQU5LX0hFSUdIVF8xKSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQURE Ul9TVVJGX01BQ1JPX0FTUEVDVF8xKSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9T VVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5L KSk7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIDE3OiAgLyogVGhpbiA2NCBicHAuICovCi0JCQkJZ2Jf dGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkg TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJY2FzZSAx NzoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9N SUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8 CiAJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKLQkJCQkJCSBU SUxFX1NQTElUKHNwbGl0X2VxdWFsX3RvX3Jvd19zaXplKSB8CisJCQkJCQkgQkFOS19XSURUSChB RERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JB TktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9f QVNQRUNUXzEpIHwKIAkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQkJ CSBUSUxFX1NQTElUKHNwbGl0X2VxdWFsX3RvX3Jvd19zaXplKSk7CisJCQkJYnJlYWs7CisJCQlj YXNlIDE4OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9U SElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJ Q0spIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikpOworCQkJ CWJyZWFrOworCQkJY2FzZSAxOToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9E RShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZ XzJEX1RJTEVEX1hUSElDSykgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngz Ml84eDE2KSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CiAJ CQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKLQkJCQkJCSBNQUNS T19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpKTsKKwkJCQkJCSBNQUNST19U SUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBOVU1fQkFOS1Mo QUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKHNwbGl0X2VxdWFsX3RvX3Jv d19zaXplKSk7CiAJCQkJYnJlYWs7Ci0JCQljYXNlIDIxOiAgLyogOCBicHAgUFJULiAqLwotCQkJ CWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJ CQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCWNh c2UgMjA6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElD SykgfAogCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8Ci0JCQkJ CQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yNTZCKSB8CisJCQkJCQkgQkFOS19X SURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9T VVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZf TUFDUk9fQVNQRUNUXzEpIHwKIAkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwK LQkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzIpIHwKLQkJCQkJCSBCQU5L X0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQ RUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJCQkJIFRJTEVfU1BMSVQoc3BsaXRf ZXF1YWxfdG9fcm93X3NpemUpKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMjI6ICAvKiAxNiBicHAg UFJUICovCi0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RI SU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElO RykgfAorCQkJY2FzZSAyMToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShB RERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJE X1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4 MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKKwkJ CQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hF SUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfOCkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNU KEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZf NF9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDIyOgorCQkJCWdiX3RpbGVfbW9kZW4gPSAo TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFS UkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKIAkJCQkJCSBQSVBFX0NPTkZJRyhBRERS X1NVUkZfUDhfMzJ4MzJfOHgxNikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVf U1BMSVRfMjU2QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJ CQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJ R0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1Qo QUREUl9TVVJGX01BQ1JPX0FTUEVDVF80KSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQURE Ul9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl80X0JB TkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMjM6ICAvKiAzMiBicHAgUFJUICovCi0JCQkJZ2Jf dGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkg TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJY2FzZSAy MzoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9N SUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8 CiAJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4MTYpIHwKIAkJCQkJCSBU SUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKLQkJCQkJCSBOVU1fQkFOS1Mo QUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAot CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJ CQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF84KSB8CisJCQkJCQkgTUFDUk9f VElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktT KEFERFJfU1VSRl8yX0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2UgMjQ6ICAvKiA2NCBicHAg UFJUICovCi0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RI SU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElO RykgfAorCQkJY2FzZSAyNDoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShB RERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJE X1RJTEVEX1RISU4xKSB8CiAJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A4XzMyeDMyXzh4 MTYpIHwKIAkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzUxMkIpIHwKLQkJ CQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFE RFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFO S19IRUlHSFRfMSkgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19B U1BFQ1RfMikpOworCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8 CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJ CQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8yX0JBTkspKTsKIAkJCQlicmVhazsKLQkJCWNhc2Ug MjU6ICAvKiAxMjggYnBwIFBSVCAqLwotCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShB UlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZf VEhJTl9NSUNST19USUxJTkcpIHwKLQkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4 MzJfOHgxNikgfAorCQkJY2FzZSAyNToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVf TU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFS UkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4 MTYpIHwKIAkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAotCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfOF9CQU5LKSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERS X1NVUkZfQkFOS19XSURUSF8xKSB8Ci0JCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktf SEVJR0hUXzEpIHwKLQkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQ RUNUXzEpKTsKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMl9CQU5LKSk7CiAJCQkJYnJlYWs7Ci0JCQlkZWZhdWx0 OgotCQkJCWdiX3RpbGVfbW9kZW4gPSAwOworCQkJY2FzZSAyNjoKKwkJCQlnYl90aWxlX21vZGVu ID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJ CSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUco QUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQ TElUXzFLQikgfAorCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAor CQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8CisJCQkJCQkgTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JB TktTKEFERFJfU1VSRl8yX0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjc6CisJCQkJZ2Jf dGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5H KSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJ UEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NV UkZfVElMRV9TUExJVF8xS0IpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMl9CQU5LKSk7CiAJCQkJYnJlYWs7CisJCQljYXNlIDI4 OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01J Q1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwK KwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCQkJIFRJTEVfU1BM SVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMUtCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NV UkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJ R0hUXzQpIHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNU XzEpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzJfQkFOSykpOworCQkJCWJyZWFrOwor CQkJY2FzZSAyOToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NV UkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVE X1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQkJ CSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAorCQkJCQkJIEJBTktfV0lE VEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VS Rl9CQU5LX0hFSUdIVF80KSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01B Q1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8yX0JBTkspKTsKKwkJ CQlicmVhazsKKwkJCWNhc2UgMzA6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01P REUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJB WV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2 KSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8yS0IpIHwKKwkJCQkJ CSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdI VChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFE RFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMl9C QU5LKSk7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWNvbnRpbnVlOwogCQkJfQogCQkJ YWRldi0+Z2Z4LmNvbmZpZy50aWxlX21vZGVfYXJyYXlbcmVnX29mZnNldF0gPSBnYl90aWxlX21v ZGVuOwogCQkJV1JFRzMyKG1tR0JfVElMRV9NT0RFMCArIHJlZ19vZmZzZXQsIGdiX3RpbGVfbW9k ZW4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMKaW5kZXggM2VkOGFkOC4uMjQzOTg3NSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaS5jCkBAIC00MywxMyArNDMsMTQgQEAKIAogc3RhdGljIGNvbnN0IHUz MiB0YWhpdGlfZ29sZGVuX3JlZ2lzdGVyc1tdID0KIHsKKwkweDE3YmMsIDB4MDAwMDAwMzAsIDB4 MDAwMDAwMTEsCiAJMHgyNjg0LCAweDAwMDEwMDAwLCAweDAwMDE4MjA4LAogCTB4MjYwYywgMHhm ZmZmZmZmZiwgMHgwMDAwMDAwMCwKIAkweDI2MGQsIDB4ZjAwZmZmZmYsIDB4MDAwMDA0MDAsCiAJ MHgyNjBlLCAweDAwMDIwMjFjLCAweDAwMDIwMjAwLAogCTB4MDMxZSwgMHgwMDAwMDA4MCwgMHgw MDAwMDAwMCwKLQkweDM0MGMsIDB4MDAwMzAwYzAsIDB4MDA4MDAwNDAsCi0JMHgzNjBjLCAweDAw MDMwMGMwLCAweDAwODAwMDQwLAorCTB4MzQwYywgMHgwMDAwMDBjMCwgMHgwMDgwMDA0MCwKKwkw eDM2MGMsIDB4MDAwMDAwYzAsIDB4MDA4MDAwNDAsCiAJMHgxNmVjLCAweDAwMDAwMGYwLCAweDAw MDAwMDcwLAogCTB4MTZmMCwgMHgwMDIwMDAwMCwgMHg1MDEwMDAwMCwKIAkweDFjMGMsIDB4MzEw MDAzMTEsIDB4MDAwMDAwMTEsCkBAIC02MCw3ICs2MSw3IEBAIHN0YXRpYyBjb25zdCB1MzIgdGFo aXRpX2dvbGRlbl9yZWdpc3RlcnNbXSA9CiAJMHgyMmM0LCAweDAwMDBmZjBmLCAweDAwMDAwMDAw LAogCTB4YTI5MywgMHgwN2ZmZmZmZiwgMHg0ZTAwMDAwMCwKIAkweGEwZDQsIDB4M2YzZjNmZmYs IDB4MmEwMDEyNmEsCi0JMHgwMDBjLCAweDAwMDAwMGZmLCAweDAwNDAsCisJMHgwMDBjLCAweGZm ZmZmZmZmLCAweDAwNDAsCiAJMHgwMDBkLCAweDAwMDAwMDQwLCAweDAwMDA0MDQwLAogCTB4MjQ0 MCwgMHgwN2ZmZmZmZiwgMHgwMzAwMDAwMCwKIAkweDIzYTIsIDB4MDFmZjFmM2YsIDB4MDAwMDAw MDAsCkBAIC03Myw3ICs3NCwxMSBAQCBzdGF0aWMgY29uc3QgdTMyIHRhaGl0aV9nb2xkZW5fcmVn aXN0ZXJzW10gPQogCTB4MjIzNCwgMHhmZmZmZmZmZiwgMHgwMDBmZmY0MCwKIAkweDIyMzUsIDB4 MDAwMDAwMWYsIDB4MDAwMDAwMTAsCiAJMHgwNTA0LCAweDIwMDAwMDAwLCAweDIwZmZmZWQ4LAot CTB4MDU3MCwgMHgwMDBjMGZjMCwgMHgwMDBjMDQwMAorCTB4MDU3MCwgMHgwMDBjMGZjMCwgMHgw MDBjMDQwMCwKKwkweDA1MmMsIDB4MGZmZmZmZmYsIDB4ZmZmZmZmZmYsCisJMHgwNTJkLCAweDBm ZmZmZmZmLCAweDBmZmZmZmZmLAorCTB4MDUyZSwgMHgwZmZmZmZmZiwgMHgwZmZmZmZmZiwKKwkw eDA1MmYsIDB4MGZmZmZmZmYsIDB4MGZmZmZmZmYKIH07CiAKIHN0YXRpYyBjb25zdCB1MzIgdGFo aXRpX2dvbGRlbl9yZWdpc3RlcnMyW10gPQpAQCAtODMsMTIgKzg4LDEzIEBAIHN0YXRpYyBjb25z dCB1MzIgdGFoaXRpX2dvbGRlbl9yZWdpc3RlcnMyW10gPQogCiBzdGF0aWMgY29uc3QgdTMyIHRh aGl0aV9nb2xkZW5fcmxjX3JlZ2lzdGVyc1tdID0KIHsKKwkweDI2M2UsIDB4ZmZmZmZmZmYsIDB4 MTIwMTEwMDMsCiAJMHgzMTA5LCAweGZmZmZmZmZmLCAweDAwNjAxMDA1LAogCTB4MzExZiwgMHhm ZmZmZmZmZiwgMHgxMDEwNDA0MCwKIAkweDMxMjIsIDB4ZmZmZmZmZmYsIDB4MDEwMDAwMGEsCiAJ MHgzMGM1LCAweGZmZmZmZmZmLCAweDAwMDAwODAwLAogCTB4MzBjMywgMHhmZmZmZmZmZiwgMHg4 MDAwMDBmNCwKLQkweDNkMmEsIDB4ZmZmZmZmZmYsIDB4MDAwMDAwMDAKKwkweDNkMmEsIDB4MDAw MDAwMDgsIDB4MDAwMDAwMDAKIH07CiAKIHN0YXRpYyBjb25zdCB1MzIgcGl0Y2Fpcm5fZ29sZGVu X3JlZ2lzdGVyc1tdID0KQEAgLTUxMywxOCArNTE5LDE4IEBAIHN0YXRpYyBjb25zdCB1MzIgdGFo aXRpX21nY2dfY2djZ19pbml0W10gPQogCTB4MjFjMiwgMHhmZmZmZmZmZiwgMHgwMDkwMDEwMCwK IAkweDMxMWUsIDB4ZmZmZmZmZmYsIDB4MDAwMDAwODAsCiAJMHgzMTAxLCAweGZmZmZmZmZmLCAw eDAwMjAwMDNmLAotCTB4YywgMHhmZmZmZmZmZiwgMHgwMDAwMDAxYywKLQkweGQsIDB4MDAwZjAw MDAsIDB4MDAwZjAwMDAsCi0JMHg1ODMsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCi0JMHg0MDks IDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCi0JMHg0MGIsIDB4MDAwMDAxMDEsIDB4MDAwMDAwMDAs Ci0JMHg4MmEsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDQsCi0JMHg5OTMsIDB4MDAwYzAwMDAsIDB4 MDAwYzAwMDAsCi0JMHg5OTIsIDB4MDAwYzAwMDAsIDB4MDAwYzAwMDAsCisJMHgwMDBjLCAweGZm ZmZmZmZmLCAweDAwMDAwMDFjLAorCTB4MDAwZCwgMHgwMDBmMDAwMCwgMHgwMDBmMDAwMCwKKwkw eDA1ODMsIDB4ZmZmZmZmZmYsIDB4MDAwMDAxMDAsCisJMHgwNDA5LCAweGZmZmZmZmZmLCAweDAw MDAwMTAwLAorCTB4MDQwYiwgMHgwMDAwMDEwMSwgMHgwMDAwMDAwMCwKKwkweDA4MmEsIDB4ZmZm ZmZmZmYsIDB4MDAwMDAxMDQsCisJMHgwOTkzLCAweDAwMGMwMDAwLCAweDAwMGMwMDAwLAorCTB4 MDk5MiwgMHgwMDBjMDAwMCwgMHgwMDBjMDAwMCwKIAkweDE1NzksIDB4ZmYwMDBmZmYsIDB4MDAw MDAxMDAsCiAJMHgxNTdhLCAweDAwMDAwMDAxLCAweDAwMDAwMDAxLAotCTB4YmQ0LCAweDAwMDAw MDAxLCAweDAwMDAwMDAxLAotCTB4YzMzLCAweGMwMDAwZmZmLCAweDAwMDAwMTA0LAorCTB4MGJk NCwgMHgwMDAwMDAwMSwgMHgwMDAwMDAwMSwKKwkweDBjMzMsIDB4YzAwMDBmZmYsIDB4MDAwMDAx MDQsCiAJMHgzMDc5LCAweDAwMDAwMDAxLCAweDAwMDAwMDAxLAogCTB4MzQzMCwgMHhmZmZmZmZm MCwgMHgwMDAwMDEwMCwKIAkweDM2MzAsIDB4ZmZmZmZmZjAsIDB4MDAwMDAxMDAKQEAgLTExNzks NiArMTE4NSw4IEBAIHN0YXRpYyBpbnQgc2lfY29tbW9uX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxl KQogCQkJQU1EX0NHX1NVUFBPUlRfSERQX0xTIHwKIAkJCUFNRF9DR19TVVBQT1JUX0hEUF9NR0NH OwogCQkJYWRldi0+cGdfZmxhZ3MgPSAwOworCQlhZGV2LT5leHRlcm5hbF9yZXZfaWQgPSAoYWRl di0+cmV2X2lkID09IDApID8gMSA6CisJCQkJCShhZGV2LT5yZXZfaWQgPT0gMSkgPyA1IDogNjsK IAkJYnJlYWs7CiAJY2FzZSBDSElQX1BJVENBSVJOOgogCQlhZGV2LT5jZ19mbGFncyA9Ci0tIAoy LjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==