From mboxrd@z Thu Jan 1 00:00:00 1970 From: Flora Cui Subject: [PATCH 2/2] drm/amdgpu: update tile table for oland/hainan Date: Thu, 15 Dec 2016 16:31:17 +0800 Message-ID: <1481790677-1006-2-git-send-email-Flora.Cui@amd.com> References: <1481790677-1006-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: In-Reply-To: <1481790677-1006-1-git-send-email-Flora.Cui-5C7GfCeVMHo@public.gmane.org> 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 Q2hhbmdlLUlkOiBJYjhiNjY1NTlkNjYyY2JlOGE5ZjQwZjc0MDVhNGEwNTJjMTg5ZjYwNApTaWdu ZWQtb2ZmLWJ5OiBGbG9yYSBDdWkgPEZsb3JhLkN1aUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMgfCAzMzAgKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE5MSBpbnNlcnRpb25zKCspLCAxMzkgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92Nl8wLmMKaW5kZXggY2U3NWQ0Ni4u NGE2MzNhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y2XzAu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjZfMC5jCkBAIC03MDgsMjM4 ICs3MDgsMjkwIEBAIHN0YXRpYyB2b2lkIGdmeF92Nl8wX3RpbGluZ19tb2RlX3RhYmxlX2luaXQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWZvciAocmVnX29mZnNldCA9IDA7IHJlZ19v ZmZzZXQgPCBudW1fdGlsZV9tb2RlX3N0YXRlczsgcmVnX29mZnNldCsrKSB7CiAJCQlzd2l0Y2gg KHJlZ19vZmZzZXQpIHsKIAkJCWNhc2UgMDoKLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01P REUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9T VVJGX0RFUFRIX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9Q NF84eDE2KSB8CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJG X0RFUFRIX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURf VEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKIAkJCQkJCSBUSUxF X1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzY0QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERS X1NVUkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhf MSkgfAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8Ci0JCQkJ CQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF80KSk7CisJCQkJCQkg TUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF80KSB8CisJCQkJCQkgTlVN X0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDE6Ci0JCQkJ Z2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJ CQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKLQkJCQkJ CSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCWdiX3RpbGVfbW9kZW4gPSAo TUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBB UlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQURE Ul9TVVJGX1AyKSB8CiAJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF8xMjhC KSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CiAJCQkJCQkgQkFOS19X SURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CiAJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9T VVJGX0JBTktfSEVJR0hUXzQpIHwKLQkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZf TUFDUk9fQVNQRUNUXzQpKTsKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFD Uk9fQVNQRUNUXzQpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspKTsKIAkJ CQlicmVhazsKIAkJCWNhc2UgMjoKLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJS QVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RF UFRIX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2 KSB8CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRI X01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEp IHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKIAkJCQkJCSBUSUxFX1NQTElU KEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJG XzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwK IAkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAotCQkJCQkJIE1B Q1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkpOworCQkJCQkJIE1BQ1JP X1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkgfAorCQkJCQkJIE5VTV9CQU5L UyhBRERSX1NVUkZfMTZfQkFOSykpOwogCQkJCWJyZWFrOwogCQkJY2FzZSAzOgotCQkJCWdiX3Rp bGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJIE1J Q1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8Ci0JCQkJCQkgUElQ RV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKLQkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VS Rl9USUxFX1NQTElUXzEyOEIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTksp IHwKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhf TUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkg fAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAogCQkJCQkJIEJBTktfV0lEVEgo QUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAotCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9C QU5LX0hFSUdIVF80KSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JP X0FTUEVDVF80KSk7CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIp IHwKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwK KwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzhfQkFOSykgfAorCQkJCQkJIFRJTEVfU1BMSVQo c3BsaXRfZXF1YWxfdG9fcm93X3NpemUpKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgNDoKLQkJCQln Yl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJTjEpIHwKLQkJCQkJ CSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykgfAotCQkJCQkJ IFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8Ci0JCQkJCQkgVElMRV9TUExJVChBRERS X1NVUkZfVElMRV9TUExJVF82NEIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JB TkspIHwKLQkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJ CSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAotCQkJCQkJIE1BQ1JPX1RJ TEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJCWdiX3RpbGVfbW9kZW4g PSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKKwkJCQkJ CSBBUlJBWV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkgUElQRV9DT05GSUco QUREUl9TVVJGX1AyKSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDU6Ci0JCQkJZ2JfdGlsZV9tb2Rl biA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElM RV9NT0RFKEFERFJfU1VSRl9ERVBUSF9NSUNST19USUxJTkcpIHwKLQkJCQkJCSBQSVBFX0NPTkZJ RyhBRERSX1NVUkZfUDRfOHgxNikgfAotCQkJCQkJIFRJTEVfU1BMSVQoc3BsaXRfZXF1YWxfdG9f cm93X3NpemUpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKKwkJCQln Yl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElM SU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJ IFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAorCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJG X1RJTEVfU1BMSVRfNTEyQikgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lE VEhfMSkgfAotCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8Ci0J CQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJ CQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19U SUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBOVU1fQkFOS1Mo QUREUl9TVVJGXzhfQkFOSykpOwogCQkJCWJyZWFrOwogCQkJY2FzZSA2OgotCQkJCWdiX3RpbGVf bW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJIE1JQ1JP X1RJTEVfTU9ERShBRERSX1NVUkZfREVQVEhfTUlDUk9fVElMSU5HKSB8Ci0JCQkJCQkgUElQRV9D T05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKLQkJCQkJCSBUSUxFX1NQTElUKHNwbGl0X2VxdWFs X3RvX3Jvd19zaXplKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8CisJ CQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JP X1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJ CQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJf U1VSRl9USUxFX1NQTElUXzI1NkIpIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5L X1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMSkg fAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOwor CQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJCQkgTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JB TktTKEFERFJfU1VSRl84X0JBTkspKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgNzoKLQkJCQlnYl90 aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBN SUNST19USUxFX01PREUoQUREUl9TVVJGX0RFUFRIX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJ UEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8Ci0JCQkJCQkgVElMRV9TUExJVChzcGxpdF9l cXVhbF90b19yb3dfc2l6ZSkgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykg fAorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ERVBUSF9N SUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8 CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1AyKSB8CisJCQkJCQkgVElMRV9TUExJVChB RERSX1NVUkZfVElMRV9TUExJVF8xS0IpIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9C QU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRf NCkgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkp OworCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJCQkg TUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVN X0JBTktTKEFERFJfU1VSRl80X0JBTkspKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgODoKLQkJCQln Yl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfTElORUFSX0FMSUdORUQpIHwKLQkJCQkJ CSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9fVElMSU5HKSB8Ci0JCQkJ CQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKLQkJCQkJCSBUSUxFX1NQTElUKEFE RFJfU1VSRl9USUxFX1NQTElUXzY0QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZf QkFOSykgfAotCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAotCQkJ CQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8Ci0JCQkJCQkgTUFDUk9f VElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJZ2JfdGlsZV9tb2Rl biA9IChBUlJBWV9NT0RFKEFSUkFZX0xJTkVBUl9BTElHTkVEKSk7CiAJCQkJYnJlYWs7CiAJCQlj YXNlIDk6Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RI SU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJ TElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8Ci0JCQkJCQkg VElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJVF82NEIpIHwKLQkJCQkJCSBOVU1fQkFOS1Mo QUREUl9TVVJGXzE2X0JBTkspIHwKLQkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAot CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJ CWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JP X1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMURfVElMRURfVEhJTjEpIHwKKwkJ CQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgMTA6 Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8 Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykg fAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84eDE2KSB8CisJCQkJZ2JfdGlsZV9t b2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9fVElMSU5HKSB8 CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVf Q09ORklHKEFERFJfU1VSRl9QMikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVf U1BMSVRfMjU2QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJ CQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJ R0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1Qo QUREUl9TVVJGX01BQ1JPX0FTUEVDVF80KSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQURE Ul9TVVJGX01BQ1JPX0FTUEVDVF80KSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9C QU5LKSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDExOgotCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJS QVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJIE1JQ1JPX1RJTEVfTU9ERShB RERSX1NVUkZfRElTUExBWV9NSUNST19USUxJTkcpIHwKLQkJCQkJCSBQSVBFX0NPTkZJRyhBRERS X1NVUkZfUDRfOHgxNikgfAorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFE RFJfU1VSRl9ESVNQTEFZX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlf MkRfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKIAkJ CQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKLQkJCQkJCSBOVU1f QkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9C QU5LX1dJRFRIXzEpIHwKIAkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRf MikgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikp OworCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikgfAor CQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOwogCQkJCWJyZWFrOwogCQkJY2Fz ZSAxMjoKLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJ TjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX0RJU1BMQVlfTUlDUk9fVElM SU5HKSB8Ci0JCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwKKwkJCQlnYl90 aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfRElTUExBWV9NSUNST19USUxJ TkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJCQkg UElQRV9DT05GSUcoQUREUl9TVVJGX1AyKSB8CiAJCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZf VElMRV9TUExJVF81MTJCKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9CQU5LKSB8 CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CiAJCQkJCQkgQkFO S19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKLQkJCQkJCSBNQUNST19USUxFX0FT UEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpKTsKKwkJCQkJCSBNQUNST19USUxFX0FTUEVD VChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJG XzE2X0JBTkspKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgMTM6Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9 IChBUlJBWV9NT0RFKEFSUkFZXzFEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9N T0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFE RFJfU1VSRl9QNF84eDE2KSB8Ci0JCQkJCQkgVElMRV9TUExJVChBRERSX1NVUkZfVElMRV9TUExJ VF82NEIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKLQkJCQkJCSBC QU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hFSUdIVChB RERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJf U1VSRl9NQUNST19BU1BFQ1RfMikpOworCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9N T0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJS QVlfMURfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpKTsK IAkJCQlicmVhazsKIAkJCWNhc2UgMTQ6Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RF KEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VS Rl9USElOX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QNF84 eDE2KSB8CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAogCQkJCQkJIFRJTEVfU1BM SVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMjU2QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NV UkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkg fAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF80KSB8Ci0JCQkJCQkg TUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJCQkgTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSB8CisJCQkJCQkgTlVNX0JB TktTKEFERFJfU1VSRl8xNl9CQU5LKSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDE1OgotCQkJCWdi X3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJ IE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKLQkJCQkJCSBQ SVBFX0NPTkZJRyhBRERSX1NVUkZfUDRfOHgxNikgfAorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlD Uk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZ X01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NV UkZfUDIpIHwKIAkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwK LQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRI KEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKIAkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZf QkFOS19IRUlHSFRfMikgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNS T19BU1BFQ1RfMikpOworCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19B U1BFQ1RfMikgfAorCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykpOwogCQkJCWJy ZWFrOwogCQkJY2FzZSAxNjoKLQkJCQlnYl90aWxlX21vZGVuID0gKEFSUkFZX01PREUoQVJSQVlf MkRfVElMRURfVEhJTjEpIHwKLQkJCQkJCSBNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5f TUlDUk9fVElMSU5HKSB8Ci0JCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1A0Xzh4MTYpIHwK KwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNS T19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJ CQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1AyKSB8CiAJCQkJCQkgVElMRV9TUExJVChBRERS X1NVUkZfVElMRV9TUExJVF81MTJCKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8xNl9C QU5LKSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CiAJCQkJ CQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKLQkJCQkJCSBNQUNST19U SUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpKTsKKwkJCQkJCSBNQUNST19USUxF X0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQURE Ul9TVVJGXzE2X0JBTkspKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgMTc6Ci0JCQkJZ2JfdGlsZV9t b2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9f VElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09O RklHKEFERFJfU1VSRl9QNF84eDE2KSB8Ci0JCQkJCQkgVElMRV9TUExJVChzcGxpdF9lcXVhbF90 b19yb3dfc2l6ZSkgfAorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJf U1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElM RURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKKwkJCQkJCSBC QU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChB RERSX1NVUkZfQkFOS19IRUlHSFRfMSkgfAorCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJf U1VSRl9NQUNST19BU1BFQ1RfMikgfAogCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFO SykgfAorCQkJCQkJIFRJTEVfU1BMSVQoc3BsaXRfZXF1YWxfdG9fcm93X3NpemUpKTsKKwkJCQli cmVhazsKKwkJCWNhc2UgMTg6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUo QUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8x RF9USUxFRF9USElDSykgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikpOworCQkJ CWJyZWFrOworCQkJY2FzZSAxOToKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9E RShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZ XzJEX1RJTEVEX1hUSElDSykgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAog CQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktf SEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8xKSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BF Q1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1Qo QUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl8x Nl9CQU5LKSB8CisJCQkJCQkgVElMRV9TUExJVChzcGxpdF9lcXVhbF90b19yb3dfc2l6ZSkpOwor CQkJCWJyZWFrOworCQkJY2FzZSAyMDoKKwkJCQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVf TU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFS UkFZXzJEX1RJTEVEX1RISUNLKSB8CisJCQkJCQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1AyKSB8 CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8xKSB8CisJCQkJCQkgQkFO S19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzEpIHwKKwkJCQkJCSBNQUNST19USUxFX0FT UEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzIpIHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9T VVJGXzE2X0JBTkspIHwKKwkJCQkJCSBUSUxFX1NQTElUKHNwbGl0X2VxdWFsX3RvX3Jvd19zaXpl KSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDIxOgotCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlf TU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAotCQkJCQkJIE1JQ1JPX1RJTEVfTU9ERShBRERS X1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwKLQkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZf UDhfMzJ4MzJfOHgxNikgfAorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFE RFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRf VElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKIAkJCQkJ CSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQTElUXzI1NkIpIHwKLQkJCQkJCSBOVU1fQkFO S1MoQUREUl9TVVJGXzE2X0JBTkspIHwKIAkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5L X1dJRFRIXzIpIHwKIAkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkg fAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMikpOwor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfOF9CQU5LKSk7CiAJCQkJYnJlYWs7CiAJCQljYXNlIDIy OgotCQkJCWdiX3RpbGVfbW9kZW4gPSAoQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkg fAotCQkJCQkJIE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19USUxJTkcpIHwK LQkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDhfMzJ4MzJfOHgxNikgfAorCQkJCWdiX3Rp bGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykg fAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBF X0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKIAkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxF X1NQTElUXzI1NkIpIHwKLQkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzE2X0JBTkspIHwKLQkJ CQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKLQkJCQkJCSBCQU5LX0hF SUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfNCkgfAotCQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNU KEFERFJfU1VSRl9NQUNST19BU1BFQ1RfNCkpOworCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJG X0JBTktfV0lEVEhfMikgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdI VF8yKSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8x KSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl84X0JBTkspKTsKIAkJCQlicmVhazsKIAkJ CWNhc2UgMjM6Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVE X1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJ TElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CisJ CQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9f VElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJ CQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9T VVJGX1RJTEVfU1BMSVRfMjU2QikgfAotCQkJCQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFO SykgfAogCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJ IEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8Ci0JCQkJCQkgTUFDUk9fVElM RV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8yKSk7CisJCQkJCQkgTUFDUk9fVElMRV9B U1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJf U1VSRl84X0JBTkspKTsKIAkJCQlicmVhazsKIAkJCWNhc2UgMjQ6Ci0JCQkJZ2JfdGlsZV9tb2Rl biA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElM RV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklH KEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19U SUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9E RShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9Q MikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfNTEyQikgfAotCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfMTZfQkFOSykgfAogCQkJCQkJIEJBTktfV0lEVEgoQURE Ul9TVVJGX0JBTktfV0lEVEhfMSkgfAogCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5L X0hFSUdIVF8xKSB8Ci0JCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FT UEVDVF8yKSk7CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVD VF8xKSB8CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl84X0JBTkspKTsKIAkJCQlicmVhazsK IAkJCWNhc2UgMjU6Ci0JCQkJZ2JfdGlsZV9tb2RlbiA9IChBUlJBWV9NT0RFKEFSUkFZXzJEX1RJ TEVEX1RISU4xKSB8Ci0JCQkJCQkgTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JP X1RJTElORykgfAotCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QOF8zMngzMl84eDE2KSB8 CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlD Uk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAor CQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAogCQkJCQkJIFRJTEVfU1BMSVQoQURE Ul9TVVJGX1RJTEVfU1BMSVRfMUtCKSB8Ci0JCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl84X0JB TkspIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJRFRIXzEpIHwKKwkJCQkJ CSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAorCQkJCQkJIE1BQ1JPX1RJ TEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJCQkJIE5VTV9CQU5LUyhB RERSX1NVUkZfNF9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDI2OgorCQkJCWdiX3RpbGVf bW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01JQ1JPX1RJTElORykgfAor CQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwKKwkJCQkJCSBQSVBFX0NP TkZJRyhBRERSX1NVUkZfUDIpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFERFJfU1VSRl9USUxFX1NQ TElUXzFLQikgfAorCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JBTktfV0lEVEhfMSkgfAor CQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8yKSB8CisJCQkJCQkgTUFD Uk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8CisJCQkJCQkgTlVNX0JB TktTKEFERFJfU1VSRl80X0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMjc6CisJCQkJZ2Jf dGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RISU5fTUlDUk9fVElMSU5H KSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElOMSkgfAorCQkJCQkJIFBJ UEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAorCQkJCQkJIFRJTEVfU1BMSVQoQUREUl9TVVJGX1RJ TEVfU1BMSVRfMUtCKSB8CisJCQkJCQkgQkFOS19XSURUSChBRERSX1NVUkZfQkFOS19XSURUSF8x KSB8CisJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJR0hUXzIpIHwKKwkJCQkJ CSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEpIHwKKwkJCQkJCSBO VU1fQkFOS1MoQUREUl9TVVJGXzRfQkFOSykpOworCQkJCWJyZWFrOworCQkJY2FzZSAyODoKKwkJ CQlnYl90aWxlX21vZGVuID0gKE1JQ1JPX1RJTEVfTU9ERShBRERSX1NVUkZfVEhJTl9NSUNST19U SUxJTkcpIHwKKwkJCQkJCSBBUlJBWV9NT0RFKEFSUkFZXzJEX1RJTEVEX1RISU4xKSB8CisJCQkJ CQkgUElQRV9DT05GSUcoQUREUl9TVVJGX1AyKSB8CisJCQkJCQkgVElMRV9TUExJVChBRERSX1NV UkZfVElMRV9TUExJVF8xS0IpIHwKKwkJCQkJCSBCQU5LX1dJRFRIKEFERFJfU1VSRl9CQU5LX1dJ RFRIXzEpIHwKKwkJCQkJCSBCQU5LX0hFSUdIVChBRERSX1NVUkZfQkFOS19IRUlHSFRfMikgfAor CQkJCQkJIE1BQ1JPX1RJTEVfQVNQRUNUKEFERFJfU1VSRl9NQUNST19BU1BFQ1RfMSkgfAorCQkJ CQkJIE5VTV9CQU5LUyhBRERSX1NVUkZfNF9CQU5LKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDI5 OgorCQkJCWdiX3RpbGVfbW9kZW4gPSAoTUlDUk9fVElMRV9NT0RFKEFERFJfU1VSRl9USElOX01J Q1JPX1RJTElORykgfAorCQkJCQkJIEFSUkFZX01PREUoQVJSQVlfMkRfVElMRURfVEhJTjEpIHwK KwkJCQkJCSBQSVBFX0NPTkZJRyhBRERSX1NVUkZfUDIpIHwKKwkJCQkJCSBUSUxFX1NQTElUKEFE RFJfU1VSRl9USUxFX1NQTElUXzFLQikgfAorCQkJCQkJIEJBTktfV0lEVEgoQUREUl9TVVJGX0JB TktfV0lEVEhfMSkgfAorCQkJCQkJIEJBTktfSEVJR0hUKEFERFJfU1VSRl9CQU5LX0hFSUdIVF8y KSB8CisJCQkJCQkgTUFDUk9fVElMRV9BU1BFQ1QoQUREUl9TVVJGX01BQ1JPX0FTUEVDVF8xKSB8 CisJCQkJCQkgTlVNX0JBTktTKEFERFJfU1VSRl80X0JBTkspKTsKKwkJCQlicmVhazsKKwkJCWNh c2UgMzA6CisJCQkJZ2JfdGlsZV9tb2RlbiA9IChNSUNST19USUxFX01PREUoQUREUl9TVVJGX1RI SU5fTUlDUk9fVElMSU5HKSB8CisJCQkJCQkgQVJSQVlfTU9ERShBUlJBWV8yRF9USUxFRF9USElO MSkgfAorCQkJCQkJIFBJUEVfQ09ORklHKEFERFJfU1VSRl9QMikgfAorCQkJCQkJIFRJTEVfU1BM SVQoQUREUl9TVVJGX1RJTEVfU1BMSVRfMktCKSB8CiAJCQkJCQkgQkFOS19XSURUSChBRERSX1NV UkZfQkFOS19XSURUSF8xKSB8CiAJCQkJCQkgQkFOS19IRUlHSFQoQUREUl9TVVJGX0JBTktfSEVJ R0hUXzEpIHwKLQkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNU XzEpKTsKKwkJCQkJCSBNQUNST19USUxFX0FTUEVDVChBRERSX1NVUkZfTUFDUk9fQVNQRUNUXzEp IHwKKwkJCQkJCSBOVU1fQkFOS1MoQUREUl9TVVJGXzRfQkFOSykpOwogCQkJCWJyZWFrOwogCQkJ ZGVmYXVsdDoKLQkJCQlnYl90aWxlX21vZGVuID0gMDsKLQkJCQlicmVhazsKKwkJCQljb250aW51 ZTsKIAkJCX0KIAkJCWFkZXYtPmdmeC5jb25maWcudGlsZV9tb2RlX2FycmF5W3JlZ19vZmZzZXRd ID0gZ2JfdGlsZV9tb2RlbjsKIAkJCVdSRUczMihtbUdCX1RJTEVfTU9ERTAgKyByZWdfb2Zmc2V0 LCBnYl90aWxlX21vZGVuKTsKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngK