From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH] drm/ioctl: Ditch DRM_UNLOCKED except for the legacy vblank ioctl Date: Wed, 5 Jun 2019 14:08:35 +0200 Message-ID: <20190605120835.2798-1-daniel.vetter@ffwll.ch> References: <20190529093038.27911-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x541.google.com (mail-ed1-x541.google.com [IPv6:2a00:1450:4864:20::541]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C6778982D for ; Wed, 5 Jun 2019 12:08:43 +0000 (UTC) Received: by mail-ed1-x541.google.com with SMTP id a8so5487369edx.3 for ; Wed, 05 Jun 2019 05:08:43 -0700 (PDT) In-Reply-To: <20190529093038.27911-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , =?UTF-8?q?Michel=20D=C3=A4nzer?= , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhpcyBjb21wbGV0ZXMgRW1pbCdzIHNlcmllcyBvZiByZW1vdmluZyBEUk1fVU5MT0NLRUQgZnJv bSBtb2Rlcm4KZHJpdmVycy4gSXQncyBlbnRpcmVseSBjYXJnby1jdWx0ZWQgc2luY2Ugd2UgaWdu b3JlIGl0IG9uCm5vbi1EUklWRVJfTEVHQUNZIGRyaXZlcnMgc2luY2U6Cgpjb21taXQgZWE0ODc4 MzVlODg3NmFiZjdhZDkwOTYzNmUzMDhjODAxYTJiY2RhNgpBdXRob3I6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkRhdGU6ICAgTW9uIFNlcCAyOCAyMTo0Mjo0MCAyMDE1 ICswMjAwCgogICAgZHJtOiBFbmZvcmNlIHVubG9ja2VkIGlvY3RsIG9wZXJhdGlvbiBmb3Iga21z IGRyaXZlciBpb2N0bHMKCk5vdyBqdXN0aWZ5aW5nIHdoeSB3ZSBjYW4gZG8gdGhpcyBmb3IgbGVn YWN5IGRyaXZlcyB0b28gKGFuZCBoZW5jZQpjbG9zZSB0aGUgc291cmNlIG9mIGFsbCB0aGUgYm9n dXMgY29weXBhc3RpbmcpIGlzIGEgYml0IG1vcmUgaW52b2x2ZWQuCkRSTV9VTkxPQ0tFRCB3YXMg aW50cm9kdWNlZCBpbjoKCmNvbW1pdCBlZDhiNjcwNDA5NjVlNGZlNjk1ZGIzMzNkNTkxNGUxOGVh NWYxNDZmCkF1dGhvcjogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4KRGF0ZTogICBXZWQg RGVjIDE2IDIyOjE3OjA5IDIwMDkgKzAwMDAKCiAgICBkcm06IGNvbnZlcnQgZHJtX2lvY3RsIHRv IHVubG9ja2VkX2lvY3RsCgpBcyBhIGltbWVkaWF0ZSBoYWNrIHRvIGtlZXAgaTgxMCBoYXBweSwg d2hpY2ggd291bGQgaGF2ZSBkZWFkbG9ja2VkCndpdGhvdXQgdGhpcyB0cmlja2VyeS4gVGhlIG9s ZCBCS0wgaXMgYXV0b21hdGljYWxseSBkcm9wcGVkIGluCnNjaGVkdWxlKCksIGFuZCBoZW5jZSB0 aGUgaTgxMCB2cy4gbW1hcF9zZW0gZGVhZGxvY2sgZGlkbid0IGFjdHVhbGx5CmNhdXNlIGEgcmVh bCBkZWFkbG9jay4gQnV0IHdpdGggYSBtdXRleCBpdCB3b3VsZC4gVGhlIHNvbHV0aW9uIHdhcyB0 bwphbm5vdGF0ZSB0aGVzZSBhcyBEUk1fVU5MT0NLRUQgYW5kIG1hcmsgaTgxMCB1bnNhZmUgb24g U01QIG1hY2hpbmVzLgoKVGhpcyBjb252ZXJzaW9uIGNhdXNlZCBhIHJlZ3Jlc3Npb24sIGJlY2F1 c2UgdW5saWtlIHRoZSBCS0wgYSBtdXRleAppc24ndCBkcm9wcGVkIG92ZXIgc2NoZWR1bGUgKHRo YXQgdGhpbmcgYWdhaW4pLCB3aGljaCBjYXVzZWQgYSB2YmxhbmsKd2FpdCBpbiBvbmUgdGhyZWFk IHRvIGJsb2NrIHRoZSBlbnRpcmUgZGVza3RvcCBhbmQgYWxsIGl0cyBhcHBzLiBCYWNrCnRoZW4g d2UgZGlkIHZibGFuayBzY2hlZHVsaW5nIGJ5IGJsb2NraW5nIGluIHRoZSBjbGllbnQsIGF3ZXNv bWUgaXNuJ3QKaXQuIFRoaXMgd2FzIGZpeGVkIHF1aWNrbHkgaW4gKG9rIG5vdCBzbyBxdWlja2x5 LCB0b29rIDIgeWVhcnMpOgoKY29tbWl0IDhmNGZmMmIwNmFmY2Q2ZjE1MTg2ODQ3NGE0MzJjNjAz MDU3ZWFmNTYKQXV0aG9yOiBJbGlqYSBIYWR6aWMgPGloYWR6aWNAcmVzZWFyY2guYmVsbC1sYWJz LmNvbT4KRGF0ZTogICBNb24gT2N0IDMxIDE3OjQ2OjE4IDIwMTEgLTA0MDAKCiAgICBkcm06IGRv IG5vdCBzbGVlcCBvbiB2Ymxhbmsgd2hpbGUgaG9sZGluZyBhIG11dGV4CgpBbGwgdGhlIG90aGVy IERSTV9VTkxPQ0tFRCBhbm5vdGF0aW9ucyBmb3IgYWxsIHRoZSBjb3JlIGlvY3RscyB3YXMKd29y ayB0byByZWFjaCBmaW5lci1ncmFpbmVkIGxvY2tpbmcgZm9yIG1vZGVybiBkcml2ZXJzLiBUaGlz IHRvb2sKeWVhcnMsIGFuZCBjdWxtaW5hdGVkIGluOgoKY29tbWl0IGZkZDViODc3ZTllYmMyMDI5 ZTEzNzNiNGEzY2QwNTczMjlhOWFiN2EKQXV0aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpEYXRlOiAgIFNhdCBEZWMgMTAgMjI6NTI6NTQgMjAxNiArMDEwMAoKICAg IGRybTogRW5mb3JjZSBCS0wtbGVzcyBpb2N0bHMgZm9yIG1vZGVybiBkcml2ZXJzCgpEUk1fVU5M T0NLRUQgd2FzIG5ldmVyIHJlcXVpcmVkIGJ5IGFueSBsZWdhY3kgZHJpdmVycywgZXhjZXB0IGZv ciB0aGUKdmJsYW5rX3dhaXQgSU9DVEwuIFRoZXJlZm9yZSB3ZSB3aWxsIG5vdCByZWdyZXNzIHRo ZXNlIG9sZCBkcml2ZXJzIGJ5CmdvaW5nIGJhY2sgdG8gd2hlcmUgd2UndmUgYmVlbiBpbiAyMDEx LiBGb3IgYWxsIG1vZGVybiBkcml2ZXJzIG5vdGhpbmcKd2lsbCBjaGFuZ2UuCgpUbyBtYWtlIHRo aXMgcGVyZmVjdGx5IGNsZWFyLCBhbHNvIGFkZCBhIGNvbW1lbnQgdG8gRFJNX1VOTE9DS0VELgoK djI6IERvbid0IGZvcmdldCBhYm91dCBkcm1faW9jMzIuYyAoTWljaGVsKS4gTm90IGEgc291cmNl IG9mIGNvcHlwYXN0YQptaXN0YWtlcyB3aGVuIGNyZWF0aW5nIGRyaXZlciBpb2N0bCB0YWJsZXMs IGJ1dCBiZXR0ZXIgdG8gYmUKY29uc2lzdGVudC4KCkNjOiBNaWNoZWwgRMOkbnplciA8bWljaGVs QGRhZW56ZXIubmV0PgpDYzogRW1pbCBWZWxpa292IDxlbWlsLmwudmVsaWtvdkBnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW9jMzIuYyB8ICAxMyArKy0tCiBkcml2ZXJzL2dwdS9k cm0vZHJtX2lvY3RsLmMgfCAxMzkgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t CiBpbmNsdWRlL2RybS9kcm1faW9jdGwuaCAgICAgfCAgIDMgKwogMyBmaWxlcyBjaGFuZ2VkLCA3 OCBpbnNlcnRpb25zKCspLCA3NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2lvYzMyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMKaW5kZXggNTg2 YWEyODAyNGM1Li5lMTM3MWYzMGYwNjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f aW9jMzIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvYzMyLmMKQEAgLTEwOCw3ICsxMDgs NyBAQCBzdGF0aWMgaW50IGNvbXBhdF9kcm1fdmVyc2lvbihzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5z aWduZWQgaW50IGNtZCwKIAkJLmRlc2MgPSBjb21wYXRfcHRyKHYzMi5kZXNjKSwKIAl9OwogCWVy ciA9IGRybV9pb2N0bF9rZXJuZWwoZmlsZSwgZHJtX3ZlcnNpb24sICZ2LAotCQkJICAgICAgIERS TV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKTsKKwkJCSAgICAgICBEUk1fUkVOREVSX0FMTE9X KTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCkBAIC0xNDIsNyArMTQyLDcgQEAgc3RhdGlj IGludCBjb21wYXRfZHJtX2dldHVuaXF1ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50 IGNtZCwKIAkJLnVuaXF1ZSA9IGNvbXBhdF9wdHIodXEzMi51bmlxdWUpLAogCX07CiAKLQllcnIg PSBkcm1faW9jdGxfa2VybmVsKGZpbGUsIGRybV9nZXR1bmlxdWUsICZ1cSwgRFJNX1VOTE9DS0VE KTsKKwllcnIgPSBkcm1faW9jdGxfa2VybmVsKGZpbGUsIGRybV9nZXR1bmlxdWUsICZ1cSwgMCk7 CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIApAQCAtMTgxLDcgKzE4MSw3IEBAIHN0YXRpYyBp bnQgY29tcGF0X2RybV9nZXRtYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBjbWQs CiAJCXJldHVybiAtRUZBVUxUOwogCiAJbWFwLm9mZnNldCA9IG0zMi5vZmZzZXQ7Ci0JZXJyID0g ZHJtX2lvY3RsX2tlcm5lbChmaWxlLCBkcm1fbGVnYWN5X2dldG1hcF9pb2N0bCwgJm1hcCwgRFJN X1VOTE9DS0VEKTsKKwllcnIgPSBkcm1faW9jdGxfa2VybmVsKGZpbGUsIGRybV9sZWdhY3lfZ2V0 bWFwX2lvY3RsLCAmbWFwLCAwKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCkBAIC0yNjcs NyArMjY3LDcgQEAgc3RhdGljIGludCBjb21wYXRfZHJtX2dldGNsaWVudChzdHJ1Y3QgZmlsZSAq ZmlsZSwgdW5zaWduZWQgaW50IGNtZCwKIAogCWNsaWVudC5pZHggPSBjMzIuaWR4OwogCi0JZXJy ID0gZHJtX2lvY3RsX2tlcm5lbChmaWxlLCBkcm1fZ2V0Y2xpZW50LCAmY2xpZW50LCBEUk1fVU5M T0NLRUQpOworCWVyciA9IGRybV9pb2N0bF9rZXJuZWwoZmlsZSwgZHJtX2dldGNsaWVudCwgJmNs aWVudCwgMCk7CiAJaWYgKGVycikKIAkJcmV0dXJuIGVycjsKIApAQCAtMjk3LDcgKzI5Nyw3IEBA IHN0YXRpYyBpbnQgY29tcGF0X2RybV9nZXRzdGF0cyhzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWdu ZWQgaW50IGNtZCwKIAlkcm1fc3RhdHMzMl90IF9fdXNlciAqYXJncCA9ICh2b2lkIF9fdXNlciAq KWFyZzsKIAlpbnQgZXJyOwogCi0JZXJyID0gZHJtX2lvY3RsX2tlcm5lbChmaWxlLCBkcm1fbm9v cCwgTlVMTCwgRFJNX1VOTE9DS0VEKTsKKwllcnIgPSBkcm1faW9jdGxfa2VybmVsKGZpbGUsIGRy bV9ub29wLCBOVUxMLCAwKTsKIAlpZiAoZXJyKQogCQlyZXR1cm4gZXJyOwogCkBAIC04OTIsOCAr ODkyLDcgQEAgc3RhdGljIGludCBjb21wYXRfZHJtX21vZGVfYWRkZmIyKHN0cnVjdCBmaWxlICpm aWxlLCB1bnNpZ25lZCBpbnQgY21kLAogCQkJICAgc2l6ZW9mKHJlcTY0Lm1vZGlmaWVyKSkpCiAJ CXJldHVybiAtRUZBVUxUOwogCi0JZXJyID0gZHJtX2lvY3RsX2tlcm5lbChmaWxlLCBkcm1fbW9k ZV9hZGRmYjIsICZyZXE2NCwKLQkJCSAgICAgICBEUk1fVU5MT0NLRUQpOworCWVyciA9IGRybV9p b2N0bF9rZXJuZWwoZmlsZSwgZHJtX21vZGVfYWRkZmIyLCAmcmVxNjQsIDApOwogCWlmIChlcnIp CiAJCXJldHVybiBlcnI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwppbmRleCBhMWViNDIyYTU3MTEuLjM2NWQ3 YTU2MjlmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwpAQCAtNTcwLDI0ICs1NzAsMjMgQEAgRVhQT1JUX1NZ TUJPTChkcm1faW9jdGxfcGVybWl0KTsKIAogLyogSW9jdGwgdGFibGUgKi8KIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewotCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX1ZFUlNJT04sIGRybV92ZXJzaW9uLAotCQkgICAgICBEUk1fVU5MT0NLRUR8RFJN X1JFTkRFUl9BTExPVyksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX1VOSVFVRSwgZHJt X2dldHVuaXF1ZSwgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9HRVRf TUFHSUMsIGRybV9nZXRtYWdpYywgRFJNX1VOTE9DS0VEKSwKKwlEUk1fSU9DVExfREVGKERSTV9J T0NUTF9WRVJTSU9OLCBkcm1fdmVyc2lvbiwgRFJNX1JFTkRFUl9BTExPVyksCisJRFJNX0lPQ1RM X0RFRihEUk1fSU9DVExfR0VUX1VOSVFVRSwgZHJtX2dldHVuaXF1ZSwgMCksCisJRFJNX0lPQ1RM X0RFRihEUk1fSU9DVExfR0VUX01BR0lDLCBkcm1fZ2V0bWFnaWMsIDApLAogCURSTV9JT0NUTF9E RUYoRFJNX0lPQ1RMX0lSUV9CVVNJRCwgZHJtX2lycV9ieV9idXNpZCwgRFJNX01BU1RFUnxEUk1f Uk9PVF9PTkxZKSwKIAotCURSTV9MRUdBQ1lfSU9DVExfREVGKERSTV9JT0NUTF9HRVRfTUFQLCBk cm1fbGVnYWN5X2dldG1hcF9pb2N0bCwgRFJNX1VOTE9DS0VEKSwKKwlEUk1fTEVHQUNZX0lPQ1RM X0RFRihEUk1fSU9DVExfR0VUX01BUCwgZHJtX2xlZ2FjeV9nZXRtYXBfaW9jdGwsIDApLAogCi0J RFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX0NMSUVOVCwgZHJtX2dldGNsaWVudCwgRFJNX1VO TE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9HRVRfU1RBVFMsIGRybV9nZXRzdGF0 cywgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9HRVRfQ0FQLCBkcm1f Z2V0Y2FwLCBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCi0JRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfU0VUX0NMSUVOVF9DQVAsIGRybV9zZXRjbGllbnRjYXAsIERSTV9VTkxPQ0tFRCks Ci0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU0VUX1ZFUlNJT04sIGRybV9zZXR2ZXJzaW9uLCBE Uk1fVU5MT0NLRUQgfCBEUk1fTUFTVEVSKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9HRVRf Q0xJRU5ULCBkcm1fZ2V0Y2xpZW50LCAwKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9HRVRf U1RBVFMsIGRybV9nZXRzdGF0cywgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX0NB UCwgZHJtX2dldGNhcCwgRFJNX1JFTkRFUl9BTExPVyksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9D VExfU0VUX0NMSUVOVF9DQVAsIGRybV9zZXRjbGllbnRjYXAsIDApLAorCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX1NFVF9WRVJTSU9OLCBkcm1fc2V0dmVyc2lvbiwgRFJNX01BU1RFUiksCiAKIAlE Uk1fSU9DVExfREVGKERSTV9JT0NUTF9TRVRfVU5JUVVFLCBkcm1faW52YWxpZF9vcCwgRFJNX0FV VEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9C TE9DSywgZHJtX25vb3AsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCiAJRFJN X0lPQ1RMX0RFRihEUk1fSU9DVExfVU5CTE9DSywgZHJtX25vb3AsIERSTV9BVVRIfERSTV9NQVNU RVJ8RFJNX1JPT1RfT05MWSksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfQVVUSF9NQUdJQywg ZHJtX2F1dGhtYWdpYywgRFJNX1VOTE9DS0VEfERSTV9NQVNURVIpLAorCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX0FVVEhfTUFHSUMsIGRybV9hdXRobWFnaWMsIERSTV9NQVNURVIpLAogCiAJRFJN X0xFR0FDWV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0FERF9NQVAsIGRybV9sZWdhY3lfYWRkbWFwX2lv Y3RsLCBEUk1fQVVUSHxEUk1fTUFTVEVSfERSTV9ST09UX09OTFkpLAogCURSTV9MRUdBQ1lfSU9D VExfREVGKERSTV9JT0NUTF9STV9NQVAsIGRybV9sZWdhY3lfcm1tYXBfaW9jdGwsIERSTV9BVVRI KSwKQEAgLTU5NSw4ICs1OTQsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNj IGRybV9pb2N0bHNbXSA9IHsKIAlEUk1fTEVHQUNZX0lPQ1RMX0RFRihEUk1fSU9DVExfU0VUX1NB UkVBX0NUWCwgZHJtX2xlZ2FjeV9zZXRzYXJlYWN0eCwgRFJNX0FVVEh8RFJNX01BU1RFUnxEUk1f Uk9PVF9PTkxZKSwKIAlEUk1fTEVHQUNZX0lPQ1RMX0RFRihEUk1fSU9DVExfR0VUX1NBUkVBX0NU WCwgZHJtX2xlZ2FjeV9nZXRzYXJlYWN0eCwgRFJNX0FVVEgpLAogCi0JRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfU0VUX01BU1RFUiwgZHJtX3NldG1hc3Rlcl9pb2N0bCwgRFJNX1VOTE9DS0VEfERS TV9ST09UX09OTFkpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0RST1BfTUFTVEVSLCBkcm1f ZHJvcG1hc3Rlcl9pb2N0bCwgRFJNX1VOTE9DS0VEfERSTV9ST09UX09OTFkpLAorCURSTV9JT0NU TF9ERUYoRFJNX0lPQ1RMX1NFVF9NQVNURVIsIGRybV9zZXRtYXN0ZXJfaW9jdGwsIERSTV9ST09U X09OTFkpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0RST1BfTUFTVEVSLCBkcm1fZHJvcG1h c3Rlcl9pb2N0bCwgRFJNX1JPT1RfT05MWSksCiAKIAlEUk1fTEVHQUNZX0lPQ1RMX0RFRihEUk1f SU9DVExfQUREX0NUWCwgZHJtX2xlZ2FjeV9hZGRjdHgsIERSTV9BVVRIfERSTV9ST09UX09OTFkp LAogCURSTV9MRUdBQ1lfSU9DVExfREVGKERSTV9JT0NUTF9STV9DVFgsIGRybV9sZWdhY3lfcm1j dHgsIERSTV9BVVRIfERSTV9NQVNURVJ8RFJNX1JPT1RfT05MWSksCkBAIC02NDIsNzQgKzY0MSw3 NCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIGRybV9pb2N0bHNbXSA9IHsK IAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1VQREFURV9EUkFXLCBkcm1fbm9vcCwgRFJNX0FV VEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKIAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X0dFTV9DTE9TRSwgZHJtX2dlbV9jbG9zZV9pb2N0bCwgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJf QUxMT1cpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0dFTV9GTElOSywgZHJtX2dlbV9mbGlu a19pb2N0bCwgRFJNX0FVVEh8RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NU TF9HRU1fT1BFTiwgZHJtX2dlbV9vcGVuX2lvY3RsLCBEUk1fQVVUSHxEUk1fVU5MT0NLRUQpLAot Ci0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRSRVNPVVJDRVMsIGRybV9tb2RlX2dl dHJlc291cmNlcywgRFJNX1VOTE9DS0VEKSwKLQotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1BS SU1FX0hBTkRMRV9UT19GRCwgZHJtX3ByaW1lX2hhbmRsZV90b19mZF9pb2N0bCwgRFJNX0FVVEh8 RFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X1BSSU1FX0ZEX1RPX0hBTkRMRSwgZHJtX3ByaW1lX2ZkX3RvX2hhbmRsZV9pb2N0bCwgRFJNX0FV VEh8RFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAotCi0JRFJNX0lPQ1RMX0RFRihEUk1f SU9DVExfTU9ERV9HRVRQTEFORVJFU09VUkNFUywgZHJtX21vZGVfZ2V0cGxhbmVfcmVzLCBEUk1f VU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VUQ1JUQywgZHJtX21v ZGVfZ2V0Y3J0YywgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RF X1NFVENSVEMsIGRybV9tb2RlX3NldGNydGMsIERSTV9NQVNURVJ8RFJNX1VOTE9DS0VEKSwKLQlE Uk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FLCBkcm1fbW9kZV9nZXRwbGFuZSwg RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX1NFVFBMQU5FLCBk cm1fbW9kZV9zZXRwbGFuZSwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9E RUYoRFJNX0lPQ1RMX01PREVfQ1VSU09SLCBkcm1fbW9kZV9jdXJzb3JfaW9jdGwsIERSTV9NQVNU RVJ8RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVEdBTU1B LCBkcm1fbW9kZV9nYW1tYV9nZXRfaW9jdGwsIERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RF RihEUk1fSU9DVExfTU9ERV9TRVRHQU1NQSwgZHJtX21vZGVfZ2FtbWFfc2V0X2lvY3RsLCBEUk1f TUFTVEVSfERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRF TkNPREVSLCBkcm1fbW9kZV9nZXRlbmNvZGVyLCBEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9E RUYoRFJNX0lPQ1RMX01PREVfR0VUQ09OTkVDVE9SLCBkcm1fbW9kZV9nZXRjb25uZWN0b3IsIERS TV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BVFRBQ0hNT0RFLCBk cm1fbm9vcCwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lP Q1RMX01PREVfREVUQUNITU9ERSwgZHJtX25vb3AsIERSTV9NQVNURVJ8RFJNX1VOTE9DS0VEKSwK LQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBST1BFUlRZLCBkcm1fbW9kZV9nZXRw cm9wZXJ0eV9pb2N0bCwgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9N T0RFX1NFVFBST1BFUlRZLCBkcm1fY29ubmVjdG9yX3Byb3BlcnR5X3NldF9pb2N0bCwgRFJNX01B U1RFUnxEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VUUFJP UEJMT0IsIGRybV9tb2RlX2dldGJsb2JfaW9jdGwsIERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RM X0RFRihEUk1fSU9DVExfTU9ERV9HRVRGQiwgZHJtX21vZGVfZ2V0ZmIsIERSTV9VTkxPQ0tFRCks Ci0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BRERGQiwgZHJtX21vZGVfYWRkZmJfaW9j dGwsIERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BRERGQjIs IGRybV9tb2RlX2FkZGZiMl9pb2N0bCwgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERS TV9JT0NUTF9NT0RFX1JNRkIsIGRybV9tb2RlX3JtZmJfaW9jdGwsIERSTV9VTkxPQ0tFRCksCi0J RFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9QQUdFX0ZMSVAsIGRybV9tb2RlX3BhZ2VfZmxp cF9pb2N0bCwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lP Q1RMX01PREVfRElSVFlGQiwgZHJtX21vZGVfZGlydHlmYl9pb2N0bCwgRFJNX01BU1RFUnxEUk1f VU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0RVTUIsIGRy bV9tb2RlX2NyZWF0ZV9kdW1iX2lvY3RsLCBEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX01PREVfTUFQX0RVTUIsIGRybV9tb2RlX21tYXBfZHVtYl9pb2N0bCwgRFJNX1VO TE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0RFU1RST1lfRFVNQiwgZHJt X21vZGVfZGVzdHJveV9kdW1iX2lvY3RsLCBEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX01PREVfT0JKX0dFVFBST1BFUlRJRVMsIGRybV9tb2RlX29ial9nZXRfcHJvcGVy dGllc19pb2N0bCwgRFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RF X09CSl9TRVRQUk9QRVJUWSwgZHJtX21vZGVfb2JqX3NldF9wcm9wZXJ0eV9pb2N0bCwgRFJNX01B U1RFUnxEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQ1VSU09S MiwgZHJtX21vZGVfY3Vyc29yMl9pb2N0bCwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQpLAotCURS TV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQVRPTUlDLCBkcm1fbW9kZV9hdG9taWNfaW9jdGws IERSTV9NQVNURVJ8RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RF X0NSRUFURVBST1BCTE9CLCBkcm1fbW9kZV9jcmVhdGVibG9iX2lvY3RsLCBEUk1fVU5MT0NLRUQp LAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfREVTVFJPWVBST1BCTE9CLCBkcm1fbW9k ZV9kZXN0cm95YmxvYl9pb2N0bCwgRFJNX1VOTE9DS0VEKSwKKwlEUk1fSU9DVExfREVGKERSTV9J T0NUTF9HRU1fQ0xPU0UsIGRybV9nZW1fY2xvc2VfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAor CURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0dFTV9GTElOSywgZHJtX2dlbV9mbGlua19pb2N0bCwg RFJNX0FVVEgpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0dFTV9PUEVOLCBkcm1fZ2VtX29w ZW5faW9jdGwsIERSTV9BVVRIKSwKKworCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VU UkVTT1VSQ0VTLCBkcm1fbW9kZV9nZXRyZXNvdXJjZXMsIDApLAorCisJRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfUFJJTUVfSEFORExFX1RPX0ZELCBkcm1fcHJpbWVfaGFuZGxlX3RvX2ZkX2lvY3Rs LCBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9Q UklNRV9GRF9UT19IQU5ETEUsIGRybV9wcmltZV9mZF90b19oYW5kbGVfaW9jdGwsIERSTV9BVVRI fERSTV9SRU5ERVJfQUxMT1cpLAorCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRQ TEFORVJFU09VUkNFUywgZHJtX21vZGVfZ2V0cGxhbmVfcmVzLCAwKSwKKwlEUk1fSU9DVExfREVG KERSTV9JT0NUTF9NT0RFX0dFVENSVEMsIGRybV9tb2RlX2dldGNydGMsIDApLAorCURSTV9JT0NU TF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUQ1JUQywgZHJtX21vZGVfc2V0Y3J0YywgRFJNX01BU1RF UiksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9HRVRQTEFORSwgZHJtX21vZGVfZ2V0 cGxhbmUsIDApLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUUExBTkUsIGRybV9t b2RlX3NldHBsYW5lLCBEUk1fTUFTVEVSKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RF X0NVUlNPUiwgZHJtX21vZGVfY3Vyc29yX2lvY3RsLCBEUk1fTUFTVEVSKSwKKwlEUk1fSU9DVExf REVGKERSTV9JT0NUTF9NT0RFX0dFVEdBTU1BLCBkcm1fbW9kZV9nYW1tYV9nZXRfaW9jdGwsIDAp LAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUR0FNTUEsIGRybV9tb2RlX2dhbW1h X3NldF9pb2N0bCwgRFJNX01BU1RFUiksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9H RVRFTkNPREVSLCBkcm1fbW9kZV9nZXRlbmNvZGVyLCAwKSwKKwlEUk1fSU9DVExfREVGKERSTV9J T0NUTF9NT0RFX0dFVENPTk5FQ1RPUiwgZHJtX21vZGVfZ2V0Y29ubmVjdG9yLCAwKSwKKwlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0FUVEFDSE1PREUsIGRybV9ub29wLCBEUk1fTUFTVEVS KSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0RFVEFDSE1PREUsIGRybV9ub29wLCBE Uk1fTUFTVEVSKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBST1BFUlRZLCBk cm1fbW9kZV9nZXRwcm9wZXJ0eV9pb2N0bCwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExf TU9ERV9TRVRQUk9QRVJUWSwgZHJtX2Nvbm5lY3Rvcl9wcm9wZXJ0eV9zZXRfaW9jdGwsIERSTV9N QVNURVIpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VUUFJPUEJMT0IsIGRybV9t b2RlX2dldGJsb2JfaW9jdGwsIDApLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VU RkIsIGRybV9tb2RlX2dldGZiLCAwKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0FE REZCLCBkcm1fbW9kZV9hZGRmYl9pb2N0bCwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExf TU9ERV9BRERGQjIsIGRybV9tb2RlX2FkZGZiMl9pb2N0bCwgMCksCisJRFJNX0lPQ1RMX0RFRihE Uk1fSU9DVExfTU9ERV9STUZCLCBkcm1fbW9kZV9ybWZiX2lvY3RsLCAwKSwKKwlEUk1fSU9DVExf REVGKERSTV9JT0NUTF9NT0RFX1BBR0VfRkxJUCwgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsLCBE Uk1fTUFTVEVSKSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0RJUlRZRkIsIGRybV9t b2RlX2RpcnR5ZmJfaW9jdGwsIERSTV9NQVNURVIpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X01PREVfQ1JFQVRFX0RVTUIsIGRybV9tb2RlX2NyZWF0ZV9kdW1iX2lvY3RsLCAwKSwKKwlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9NT0RFX01BUF9EVU1CLCBkcm1fbW9kZV9tbWFwX2R1bWJfaW9j dGwsIDApLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfREVTVFJPWV9EVU1CLCBkcm1f bW9kZV9kZXN0cm95X2R1bWJfaW9jdGwsIDApLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01P REVfT0JKX0dFVFBST1BFUlRJRVMsIGRybV9tb2RlX29ial9nZXRfcHJvcGVydGllc19pb2N0bCwg MCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9PQkpfU0VUUFJPUEVSVFksIGRybV9t b2RlX29ial9zZXRfcHJvcGVydHlfaW9jdGwsIERSTV9NQVNURVIpLAorCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX01PREVfQ1VSU09SMiwgZHJtX21vZGVfY3Vyc29yMl9pb2N0bCwgRFJNX01BU1RF UiksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9BVE9NSUMsIGRybV9tb2RlX2F0b21p Y19pb2N0bCwgRFJNX01BU1RFUiksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9DUkVB VEVQUk9QQkxPQiwgZHJtX21vZGVfY3JlYXRlYmxvYl9pb2N0bCwgMCksCisJRFJNX0lPQ1RMX0RF RihEUk1fSU9DVExfTU9ERV9ERVNUUk9ZUFJPUEJMT0IsIGRybV9tb2RlX2Rlc3Ryb3libG9iX2lv Y3RsLCAwKSwKIAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfQ1JFQVRFLCBkcm1f c3luY29ial9jcmVhdGVfaW9jdGwsCi0JCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FM TE9XKSwKKwkJICAgICAgRFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9D VExfU1lOQ09CSl9ERVNUUk9ZLCBkcm1fc3luY29ial9kZXN0cm95X2lvY3RsLAotCQkgICAgICBE Uk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCisJCSAgICAgIERSTV9SRU5ERVJfQUxMT1cp LAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfSEFORExFX1RPX0ZELCBkcm1fc3lu Y29ial9oYW5kbGVfdG9fZmRfaW9jdGwsCi0JCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVS X0FMTE9XKSwKKwkJICAgICAgRFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1f SU9DVExfU1lOQ09CSl9GRF9UT19IQU5ETEUsIGRybV9zeW5jb2JqX2ZkX3RvX2hhbmRsZV9pb2N0 bCwKLQkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAorCQkgICAgICBEUk1f UkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1RSQU5TRkVS LCBkcm1fc3luY29ial90cmFuc2Zlcl9pb2N0bCwKLQkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9S RU5ERVJfQUxMT1cpLAorCQkgICAgICBEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVG KERSTV9JT0NUTF9TWU5DT0JKX1dBSVQsIGRybV9zeW5jb2JqX3dhaXRfaW9jdGwsCi0JCSAgICAg IERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKKwkJICAgICAgRFJNX1JFTkRFUl9BTExP VyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlULCBkcm1f c3luY29ial90aW1lbGluZV93YWl0X2lvY3RsLAotCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JF TkRFUl9BTExPVyksCisJCSAgICAgIERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9JT0NUTF9ERUYo RFJNX0lPQ1RMX1NZTkNPQkpfUkVTRVQsIGRybV9zeW5jb2JqX3Jlc2V0X2lvY3RsLAotCQkgICAg ICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCisJCSAgICAgIERSTV9SRU5ERVJfQUxM T1cpLAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCBkcm1fc3luY29i al9zaWduYWxfaW9jdGwsCi0JCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwK KwkJICAgICAgRFJNX1JFTkRFUl9BTExPVyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lO Q09CSl9USU1FTElORV9TSUdOQUwsIGRybV9zeW5jb2JqX3RpbWVsaW5lX3NpZ25hbF9pb2N0bCwK LQkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAorCQkgICAgICBEUk1fUkVO REVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1FVRVJZLCBkcm1f c3luY29ial9xdWVyeV9pb2N0bCwKLQkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxM T1cpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX0NSVENfR0VUX1NFUVVFTkNFLCBkcm1fY3J0 Y19nZXRfc2VxdWVuY2VfaW9jdGwsIERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1f SU9DVExfQ1JUQ19RVUVVRV9TRVFVRU5DRSwgZHJtX2NydGNfcXVldWVfc2VxdWVuY2VfaW9jdGws IERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9DUkVBVEVfTEVB U0UsIGRybV9tb2RlX2NyZWF0ZV9sZWFzZV9pb2N0bCwgRFJNX01BU1RFUnxEUk1fVU5MT0NLRUQp LAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfTElTVF9MRVNTRUVTLCBkcm1fbW9kZV9s aXN0X2xlc3NlZXNfaW9jdGwsIERSTV9NQVNURVJ8RFJNX1VOTE9DS0VEKSwKLQlEUk1fSU9DVExf REVGKERSTV9JT0NUTF9NT0RFX0dFVF9MRUFTRSwgZHJtX21vZGVfZ2V0X2xlYXNlX2lvY3RsLCBE Uk1fTUFTVEVSfERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9S RVZPS0VfTEVBU0UsIGRybV9tb2RlX3Jldm9rZV9sZWFzZV9pb2N0bCwgRFJNX01BU1RFUnxEUk1f VU5MT0NLRUQpLAorCQkgICAgICBEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGKERS TV9JT0NUTF9DUlRDX0dFVF9TRVFVRU5DRSwgZHJtX2NydGNfZ2V0X3NlcXVlbmNlX2lvY3RsLCAw KSwKKwlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9DUlRDX1FVRVVFX1NFUVVFTkNFLCBkcm1fY3J0 Y19xdWV1ZV9zZXF1ZW5jZV9pb2N0bCwgMCksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9E RV9DUkVBVEVfTEVBU0UsIGRybV9tb2RlX2NyZWF0ZV9sZWFzZV9pb2N0bCwgRFJNX01BU1RFUiks CisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9MSVNUX0xFU1NFRVMsIGRybV9tb2RlX2xp c3RfbGVzc2Vlc19pb2N0bCwgRFJNX01BU1RFUiksCisJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExf TU9ERV9HRVRfTEVBU0UsIGRybV9tb2RlX2dldF9sZWFzZV9pb2N0bCwgRFJNX01BU1RFUiksCisJ RFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9SRVZPS0VfTEVBU0UsIGRybV9tb2RlX3Jldm9r ZV9sZWFzZV9pb2N0bCwgRFJNX01BU1RFUiksCiB9OwogCiAjZGVmaW5lIERSTV9DT1JFX0lPQ1RM X0NPVU5UCUFSUkFZX1NJWkUoIGRybV9pb2N0bHMgKQpAQCAtNzc3LDcgKzc3Niw3IEBAIGxvbmcg ZHJtX2lvY3RsX2tlcm5lbChzdHJ1Y3QgZmlsZSAqZmlsZSwgZHJtX2lvY3RsX3QgKmZ1bmMsIHZv aWQgKmtkYXRhLAogCQlyZXR1cm4gcmV0Y29kZTsKIAogCS8qIEVuZm9yY2Ugc2FuZSBsb2NraW5n IGZvciBtb2Rlcm4gZHJpdmVyIGlvY3Rscy4gKi8KLQlpZiAoIWRybV9jb3JlX2NoZWNrX2ZlYXR1 cmUoZGV2LCBEUklWRVJfTEVHQUNZKSB8fAorCWlmIChsaWtlbHkoIWRybV9jb3JlX2NoZWNrX2Zl YXR1cmUoZGV2LCBEUklWRVJfTEVHQUNZKSkgfHwKIAkgICAgKGZsYWdzICYgRFJNX1VOTE9DS0VE KSkKIAkJcmV0Y29kZSA9IGZ1bmMoZGV2LCBrZGF0YSwgZmlsZV9wcml2KTsKIAllbHNlIHsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9pb2N0bC5oIGIvaW5jbHVkZS9kcm0vZHJtX2lvY3Rs LmgKaW5kZXggZmFmYjZmNTkyYzRiLi4xMDEwMGE0YmJlMmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9pb2N0bC5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9pb2N0bC5oCkBAIC0xMTQsNiAr MTE0LDkgQEAgZW51bSBkcm1faW9jdGxfZmxhZ3MgewogCSAqIFdoZXRoZXIgJmRybV9pb2N0bF9k ZXNjLmZ1bmMgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBEUk0gQktMIGhlbGQKIAkgKiBvciBu b3QuIEVuZm9yY2VkIGFzIHRoZSBkZWZhdWx0IGZvciBhbGwgbW9kZXJuIGRyaXZlcnMsIGhlbmNl IHRoZXJlCiAJICogc2hvdWxkIG5ldmVyIGJlIGEgbmVlZCB0byBzZXQgdGhpcyBmbGFnLgorCSAq CisJICogRG8gbm90IHVzZSBhbnl3aGVyZSBlbHNlIHRoYW4gZm9yIHRoZSBWQkxBTktfV0FJVCBJ T0NUTCwgd2hpY2ggaXMgdGhlCisJICogb25seSBsZWdhY3kgSU9DVEwgd2hpY2ggbmVlZHMgdGhp cy4KIAkgKi8KIAlEUk1fVU5MT0NLRUQJCT0gQklUKDQpLAogCS8qKgotLSAKMi4yMC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=