From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 29/53] drm/i915: Update add_request() to take a request structure Date: Thu, 05 Mar 2015 19:35:59 +0000 Message-ID: <54F8B01F.8020709@intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-30-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 5B8096E084 for ; Thu, 5 Mar 2015 11:36:01 -0800 (PST) In-Reply-To: <1424366285-29232-30-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: John.C.Harrison@Intel.com, Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDIvMjAxNSAxNzoxNywgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gTm93IHRo YXQgYWxsIGNhbGxlcnMgb2YgaTkxNV9hZGRfcmVxdWVzdCgpIGhhdmUgYSByZXF1ZXN0IHBvaW50 ZXIgdG8gaGFuZCwgaXQgaXMKPiBwb3NzaWJsZSB0byB1cGRhdGUgdGhlIGFkZCByZXF1ZXN0IGZ1 bmN0aW9uIHRvIHRha2UgYSByZXF1ZXN0IHBvaW50ZXIgcmF0aGVyCj4gdGhhbiBwdWxsaW5nIGl0 IG91dCBvZiB0aGUgT0xSLgo+Cj4gRm9yOiBWSVotNTExNQo+IFNpZ25lZC1vZmYtYnk6IEpvaG4g SGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgIDEwICsrKysrLS0tLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICB8ICAgMjQgKysrKysrKysr KysrLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg ICAgICAgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAg ICAgICAgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMg ICAgICAgfCAgICA0ICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYyAgICB8ICAgIDMgKystCj4gICA3IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyks IDIzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggMzRmZDMz OC4uOTIwNjMyOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0yODMwLDE0ICsy ODMwLDE0IEBAIHZvaWQgaTkxNV9nZW1faW5pdF9zd2l6emxpbmcoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7Cj4gICB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfcmluZ2J1ZmZlcihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKPiAgIGludCBfX211c3RfY2hlY2sgaTkxNV9ncHVfaWRsZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKPiAgIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fc3VzcGVuZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAtaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAo+ICtpbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxl LAo+ICAgCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKPiAg IAkJICAgICAgIGJvb2wgZmx1c2hfY2FjaGVzKTsKPiAtI2RlZmluZSBpOTE1X2FkZF9yZXF1ZXN0 KHJpbmcpIFwKPiAtCV9faTkxNV9hZGRfcmVxdWVzdChyaW5nLCBOVUxMLCBOVUxMLCB0cnVlKQo+ IC0jZGVmaW5lIGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmluZykgXAo+IC0JX19pOTE1X2Fk ZF9yZXF1ZXN0KHJpbmcsIE5VTEwsIE5VTEwsIGZhbHNlKQo+ICsjZGVmaW5lIGk5MTVfYWRkX3Jl cXVlc3QocmVxKSBcCj4gKwlfX2k5MTVfYWRkX3JlcXVlc3QocmVxLCBOVUxMLCBOVUxMLCB0cnVl KQo+ICsjZGVmaW5lIGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKSBcCj4gKwlfX2k5MTVf YWRkX3JlcXVlc3QocmVxLCBOVUxMLCBOVUxMLCBmYWxzZSkKPiAgIGludCBfX2k5MTVfd2FpdF9y ZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCQkJdW5zaWduZWQg cmVzZXRfY291bnRlciwKPiAgIAkJCWJvb2wgaW50ZXJydXB0aWJsZSwKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKPiBpbmRleCAwYzdlMWJkLi4yNGZiN2I5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCj4gQEAgLTExNjIsNyArMTE2Miw3IEBAIGk5MTVfZ2VtX2NoZWNrX29scihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPgo+ICAgCXJldCA9IDA7Cj4gICAJaWYgKHJlcSA9 PSByZXEtPnJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkKPiAtCQlyZXQgPSBpOTE1X2Fk ZF9yZXF1ZXN0KHJlcS0+cmluZyk7Cj4gKwkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChyZXEpOwo+ Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0KPiBAQCAtMjQwNywyNSArMjQwNywyNSBAQCBpOTE1X2dl bV9nZXRfc2Vxbm8oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyICpzZXFubykKPiAgIAlyZXR1 cm4gMDsKPiAgIH0KPgo+IC1pbnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCj4gK2ludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0LAo+ICAgCQkgICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ ICAgCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJICAgICAg IGJvb2wgZmx1c2hfY2FjaGVzKQo+ICAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxdWVzdDsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7Cj4gKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXY7Cj4gICAJc3RydWN0IGludGVsX3Jpbmdi dWZmZXIgKnJpbmdidWY7Cj4gICAJdTMyIHJlcXVlc3Rfc3RhcnQ7Cj4gICAJaW50IHJldDsKPgo+ IC0JcmVxdWVzdCA9IHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdDsKPiAgIAlpZiAoV0FS Tl9PTihyZXF1ZXN0ID09IE5VTEwpKQo+ICAgCQlyZXR1cm4gLUVOT01FTTsKPgo+IC0JaWYgKGk5 MTUuZW5hYmxlX2V4ZWNsaXN0cykgewo+IC0JCXJpbmdidWYgPSByZXF1ZXN0LT5jdHgtPmVuZ2lu ZVtyaW5nLT5pZF0ucmluZ2J1ZjsKPiAtCX0gZWxzZQo+IC0JCXJpbmdidWYgPSByaW5nLT5idWZm ZXI7Cj4gKwlyaW5nID0gcmVxdWVzdC0+cmluZzsKPiArCWRldl9wcml2ID0gcmluZy0+ZGV2LT5k ZXZfcHJpdmF0ZTsKPiArCXJpbmdidWYgPSByZXF1ZXN0LT5yaW5nYnVmOwo+ICsKPiArCVdBUk5f T04ocmVxdWVzdCAhPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QpOwo+Cj4gICAJcmVx dWVzdF9zdGFydCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmluZ2J1Zik7Cj4gICAJLyoKPiBAQCAt MzExOCw3ICszMTE4LDcgQEAgaW50IGk5MTVfZ3B1X2lkbGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiAgIAkJCQlyZXR1cm4gcmV0Owo+ICAgCQkJfQo+Cj4gLQkJCXJldCA9IGk5MTVfYWRkX3Jl cXVlc3Rfbm9fZmx1c2gocmVxLT5yaW5nKTsKPiArCQkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdF9u b19mbHVzaChyZXEpOwo+ICAgCQkJaWYgKHJldCkgewo+ICAgCQkJCWk5MTVfZ2VtX3JlcXVlc3Rf dW5yZWZlcmVuY2UocmVxKTsKPiAgIAkJCQlyZXR1cm4gcmV0Owo+IEBAIC0zOTY2LDcgKzM5NjYs NyBAQCBpOTE1X2dlbV9vYmplY3RfcGluX3RvX2Rpc3BsYXlfcGxhbmUoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKPiAgIAkJCWlmIChyZXQpCj4gICAJCQkJcmV0dXJuIHJldDsKPgo+ IC0JCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcS0+cmluZyk7Cj4gKwkJCXJl dCA9IGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKTsKPiAgIAkJCWlmIChyZXQpCj4gICAJ CQkJcmV0dXJuIHJldDsKPiAgIAkJfQo+IEBAIC00ODg0LDcgKzQ4ODQsNyBAQCBpOTE1X2dlbV9p bml0X2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAJCQlyZXR1cm4gcmV0Owo+ICAgCQl9 Cj4KPiAtCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJpbmcpOwo+ICsJCXJldCA9 IGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKTsKPiAgIAkJaWYgKHJldCkgewo+ICAgCQkJ RFJNX0VSUk9SKCJBZGQgcmVxdWVzdCByaW5nICMlZCBmYWlsZWQ6ICVkXG4iLCBpLCByZXQpOwo+ ICAgCQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEpOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPiBpbmRleCAxZTJmYzgwLi4xNWUzM2E5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+IEBAIC05 OTYsNyArOTk2LDcgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMoc3RydWN0 IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcykKPiAgIAlwYXJhbXMtPnJpbmctPmdwdV9j YWNoZXNfZGlydHkgPSB0cnVlOwo+Cj4gICAJLyogQWRkIGEgYnJlYWRjcnVtYiBmb3IgdGhlIGNv bXBsZXRpb24gb2YgdGhlIGJhdGNoIGJ1ZmZlciAqLwo+IC0JcmV0dXJuIF9faTkxNV9hZGRfcmVx dWVzdChwYXJhbXMtPnJpbmcsIHBhcmFtcy0+ZmlsZSwKPiArCXJldHVybiBfX2k5MTVfYWRkX3Jl cXVlc3QocGFyYW1zLT5yZXF1ZXN0LCBwYXJhbXMtPmZpbGUsCj4gICAJCQkJICBwYXJhbXMtPmJh dGNoX29iaiwgdHJ1ZSk7Cj4gICB9Cj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gaW5kZXggYzMyYmMwYy4uOWNiZmI5MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiBAQCAtOTg0MCw3ICs5ODQwLDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3Bh Z2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4KPiAgIAkJaTkxNV9nZW1fcmVxdWVzdF9h c3NpZ24oJndvcmstPmZsaXBfcXVldWVkX3JlcSwgcmVxdWVzdCk7Cj4KPiAtCQlyZXQgPSBpOTE1 X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcXVlc3QtPnJpbmcpOwo+ICsJCXJldCA9IGk5MTVfYWRk X3JlcXVlc3Rfbm9fZmx1c2gocmVxdWVzdCk7Cj4gICAJCWlmIChyZXQpCj4gICAJCQlnb3RvIGNs ZWFudXBfcmVxdWVzdF9hc3NpZ247Cj4gICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4g aW5kZXggZjBiYjk4YS4uM2I0MzkzYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4g QEAgLTE5NDIsNyArMTk0Miw3IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2NyZWF0 ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+ICAgCQkJCWdvdG8gZXJyb3I7Cj4gICAJCQl9 Cj4KPiAtCQkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdF9ub19mbHVzaChyZXEtPnJpbmcpOwo+ICsJ CQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcSk7Cj4gICAJCQlpZiAocmV0KSB7 Cj4gICAJCQkJRFJNX0VSUk9SKCJyaW5nIGluaXQgY29udGV4dDogJWRcbiIsIHJldCk7Cj4gICAJ CQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEpOwo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9vdmVybGF5LmMKPiBpbmRleCBkYzIwOWJmLi4yMjhjOWQxIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX292ZXJsYXkuYwo+IEBAIC0yMTcsNyArMjE3LDcgQEAgc3RhdGljIGludCBp bnRlbF9vdmVybGF5X2RvX3dhaXRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3Zlcmxh eSwKPgo+ICAgCUJVR19PTihvdmVybGF5LT5sYXN0X2ZsaXBfcmVxKTsKPiAgIAlpOTE1X2dlbV9y ZXF1ZXN0X2Fzc2lnbigmb3ZlcmxheS0+bGFzdF9mbGlwX3JlcSwgcmVxKTsKPiAtCXJldCA9IGk5 MTVfYWRkX3JlcXVlc3QocmVxLT5yaW5nKTsKPiArCXJldCA9IGk5MTVfYWRkX3JlcXVlc3QocmVx KTsKPiAgIAlpZiAocmV0KSB7Cj4gICAJCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UocmVx KTsKPiAgIAkJcmV0dXJuIHJldDsKPiBAQCAtMzA0LDcgKzMwNCw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfb3ZlcmxheV9jb250aW51ZShzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheSwKPgo+ICAg CVdBUk5fT04ob3ZlcmxheS0+bGFzdF9mbGlwX3JlcSk7Cj4gICAJaTkxNV9nZW1fcmVxdWVzdF9h c3NpZ24oJm92ZXJsYXktPmxhc3RfZmxpcF9yZXEsIHJlcSk7Cj4gLQlyZXQgPSBpOTE1X2FkZF9y ZXF1ZXN0KHJlcS0+cmluZyk7Cj4gKwlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJlcSk7Cj4gICAJ aWYgKHJldCkKPiAgIAkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEpOwo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+IGluZGV4IDE4ZDEyYTUuLjUwOGQ3 ZDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTIx NDUsOCArMjE0NSw5IEBAIGludCBpbnRlbF9yaW5nX2lkbGUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZykKPiAgIAlpbnQgcmV0Owo+Cj4gICAJLyogV2UgbmVlZCB0byBhZGQgYW55IHJlcXVl c3RzIHJlcXVpcmVkIHRvIGZsdXNoIHRoZSBvYmplY3RzIGFuZCByaW5nICovCj4gKwlXQVJOX09O KHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7Cj4gICAJaWYgKHJpbmctPm91dHN0YW5k aW5nX2xhenlfcmVxdWVzdCkgewo+IC0JCXJldCA9IGk5MTVfYWRkX3JlcXVlc3QocmluZyk7Cj4g KwkJcmV0ID0gaTkxNV9hZGRfcmVxdWVzdChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Qp Owo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIHJldDsKPiAgIAl9Cj4KClJldmlld2VkLWJ5 OiBUb21hcyBFbGYgPHRvbWFzLmVsZkBpbnRlbC5jb20+CgpUaGFua3MsClRvbWFzCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=