From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yongqiang Niu Subject: [RESEND PATCH v1, 02/18] drm/mediatek: add mutex mod and sof into ddp private data Date: Wed, 13 Mar 2019 16:25:47 +0800 Message-ID: <1552465563-6940-3-git-send-email-yongqiang.niu@mediatek.com> References: <1552465563-6940-1-git-send-email-yongqiang.niu@mediatek.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0098037786==" Return-path: Received: from mailgw02.mediatek.com (unknown [210.61.82.184]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6091D6E06E for ; Wed, 13 Mar 2019 08:31:18 +0000 (UTC) In-Reply-To: <1552465563-6940-1-git-send-email-yongqiang.niu@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: CK Hu , Philipp Zabel , Rob Herring , Matthias Brugger Cc: Mark Rutland , devicetree@vger.kernel.org, Yongqiang Niu , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org --===============0098037786== Content-Type: multipart/related; boundary="__=_Part_Boundary_008_663511428.1735150283" --__=_Part_Boundary_008_663511428.1735150283 Content-Transfer-Encoding: base64 Content-Type: multipart/alternative; boundary="__=_Part_Boundary_009_1489447328.1697680473" --__=_Part_Boundary_009_1489447328.1697680473 Content-Type: text/html Content-Transfer-Encoding: base64 PHByZT4NClRoaXMgcGF0Y2ggYWRkIG11dGV4IG1vZCBhbmQgc29mIGludG8gZGRwIHByaXZhdGUg ZGF0YQ0KDQpTaWduZWQtb2ZmLWJ5OiBZb25ncWlhbmcgTml1ICZsdDt5b25ncWlhbmcubml1QG1l ZGlhdGVrLmNvbSZndDsNCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk cC5jIHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQ0KIDEgZmlsZSBjaGFu Z2VkLCA5NCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwLmMNCmluZGV4IDU3OWNlMjguLmFkYjM3ZTQgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuYw0KKysrIGIvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMNCkBAIC00MSwxMSArNDEsMTQgQEANCiAjZGVm aW5lIERJU1BfUkVHX0NPTkZJR19EU0lfU0VMCQkJMHgwNTANCiAjZGVmaW5lIERJU1BfUkVHX0NP TkZJR19EUElfU0VMCQkJMHgwNjQNCiANCisjZGVmaW5lIE1UMjcwMV9ESVNQX01VVEVYMF9NT0Qw IDB4MkMNCisjZGVmaW5lIE1UMjcwMV9ESVNQX01VVEVYMF9TT0YwICAweDMwDQorDQogI2RlZmlu ZSBESVNQX1JFR19NVVRFWF9FTihuKQkoMHgyMCArIDB4MjAgKiAobikpDQogI2RlZmluZSBESVNQ X1JFR19NVVRFWChuKQkoMHgyNCArIDB4MjAgKiAobikpDQogI2RlZmluZSBESVNQX1JFR19NVVRF WF9SU1QobikJKDB4MjggKyAweDIwICogKG4pKQ0KLSNkZWZpbmUgRElTUF9SRUdfTVVURVhfTU9E KG4pCSgweDJjICsgMHgyMCAqIChuKSkNCi0jZGVmaW5lIERJU1BfUkVHX01VVEVYX1NPRihuKQko MHgzMCArIDB4MjAgKiAobikpDQorI2RlZmluZSBESVNQX1JFR19NVVRFWF9NT0QoZGF0YSwgbikJ KChkYXRhKS0mZ3Q7bXV0ZXhfbW9kX3JlZyArIDB4MjAgKiAobikpDQorI2RlZmluZSBESVNQX1JF R19NVVRFWF9TT0YoZGF0YSwgbikJKChkYXRhKS0mZ3Q7bXV0ZXhfc29mX3JlZyArIDB4MjAgKiAo bikpDQogI2RlZmluZSBESVNQX1JFR19NVVRFWF9NT0QyKG4pCSgweDM0ICsgMHgyMCAqIChuKSkN CiANCiAjZGVmaW5lIElOVF9NVVRFWAkJCQlCSVQoMSkNCkBAIC0xNDcsMTIgKzE1MCwzMCBAQCBz dHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggew0KIAlib29sIGNsYWltZWQ7DQogfTsNCiANCitlbnVtIG10 a19kZHBfbXV0ZXhfc29mX2lkIHsNCisJRERQX01VVEVYX1NPRl9TSU5HTEVfTU9ERSwNCisJRERQ X01VVEVYX1NPRl9EU0kwLA0KKwlERFBfTVVURVhfU09GX0RTSTEsDQorCUREUF9NVVRFWF9TT0Zf RFBJMCwNCisJRERQX01VVEVYX1NPRl9EUEkxLA0KKwlERFBfTVVURVhfU09GX0RTSTIsDQorCURE UF9NVVRFWF9TT0ZfRFNJMywNCisJRERQX01VVEVYX1NPRl9NQVgsDQorfTsNCisNCitzdHJ1Y3Qg bXRrX2RkcF9kYXRhIHsNCisJY29uc3QgdW5zaWduZWQgaW50ICptdXRleF9tb2Q7DQorCWNvbnN0 IHVuc2lnbmVkIGludCAqbXV0ZXhfc29mOw0KKwl1bnNpZ25lZCBpbnQgbXV0ZXhfbW9kX3JlZzsN CisJdW5zaWduZWQgaW50IG11dGV4X3NvZl9yZWc7DQorfTsNCisNCiBzdHJ1Y3QgbXRrX2RkcCB7 DQogCXN0cnVjdCBkZXZpY2UJCQkqZGV2Ow0KIAlzdHJ1Y3QgY2xrCQkJKmNsazsNCiAJdm9pZCBf X2lvbWVtCQkJKnJlZ3M7DQogCXN0cnVjdCBtdGtfZGlzcF9tdXRleAkJbXV0ZXhbMTBdOw0KLQlj b25zdCB1bnNpZ25lZCBpbnQJCSptdXRleF9tb2Q7DQorCWNvbnN0IHN0cnVjdCBtdGtfZGRwX2Rh dGEJKmRhdGE7DQogfTsNCiANCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10MjcwMV9tdXRl eF9tb2RbRERQX0NPTVBPTkVOVF9JRF9NQVhdID0gew0KQEAgLTIwMiw2ICsyMjMsNTEgQEAgc3Ry dWN0IG10a19kZHAgew0KIAlbRERQX0NPTVBPTkVOVF9XRE1BMV0gPSBNVDgxNzNfTVVURVhfTU9E X0RJU1BfV0RNQTEsDQogfTsNCiANCitzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IG10MjcwMV9t dXRleF9zb2ZbRERQX01VVEVYX1NPRl9NQVhdID0gew0KKwlbRERQX01VVEVYX1NPRl9TSU5HTEVf TU9ERV0gPSBNVVRFWF9TT0ZfU0lOR0xFX01PREUsDQorCVtERFBfTVVURVhfU09GX0RTSTBdID0g TVVURVhfU09GX0RTSTAsDQorCVtERFBfTVVURVhfU09GX0RTSTFdID0gTVVURVhfU09GX0RTSTEs DQorCVtERFBfTVVURVhfU09GX0RQSTBdID0gTVVURVhfU09GX0RQSTAsDQorfTsNCisNCitzdGF0 aWMgY29uc3QgdW5zaWduZWQgaW50IG10MjcxMl9tdXRleF9zb2ZbRERQX01VVEVYX1NPRl9NQVhd ID0gew0KKwlbRERQX01VVEVYX1NPRl9TSU5HTEVfTU9ERV0gPSBNVVRFWF9TT0ZfU0lOR0xFX01P REUsDQorCVtERFBfTVVURVhfU09GX0RTSTBdID0gTVVURVhfU09GX0RTSTAsDQorCVtERFBfTVVU RVhfU09GX0RTSTFdID0gTVVURVhfU09GX0RTSTEsDQorCVtERFBfTVVURVhfU09GX0RQSTBdID0g TVVURVhfU09GX0RQSTAsDQorCVtERFBfTVVURVhfU09GX0RQSTFdID0gTVVURVhfU09GX0RQSTEs DQorCVtERFBfTVVURVhfU09GX0RTSTJdID0gTVVURVhfU09GX0RTSTIsDQorCVtERFBfTVVURVhf U09GX0RTSTNdID0gTVVURVhfU09GX0RTSTMsDQorfTsNCisNCitzdGF0aWMgY29uc3QgdW5zaWdu ZWQgaW50IG10ODE3M19tdXRleF9zb2ZbRERQX01VVEVYX1NPRl9NQVhdID0gew0KKwlbRERQX01V VEVYX1NPRl9TSU5HTEVfTU9ERV0gPSBNVVRFWF9TT0ZfU0lOR0xFX01PREUsDQorCVtERFBfTVVU RVhfU09GX0RTSTBdID0gTVVURVhfU09GX0RTSTAsDQorCVtERFBfTVVURVhfU09GX0RTSTFdID0g TVVURVhfU09GX0RTSTEsDQorCVtERFBfTVVURVhfU09GX0RQSTBdID0gTVVURVhfU09GX0RQSTAs DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfZGF0YSBtdDI3MDFfZGRwX2Ry aXZlcl9kYXRhID0gew0KKwkubXV0ZXhfbW9kID0gbXQyNzAxX211dGV4X21vZCwNCisJLm11dGV4 X3NvZiA9IG10MjcwMV9tdXRleF9zb2YsDQorCS5tdXRleF9tb2RfcmVnID0gTVQyNzAxX0RJU1Bf TVVURVgwX01PRDAsDQorCS5tdXRleF9zb2ZfcmVnID0gTVQyNzAxX0RJU1BfTVVURVgwX1NPRjAs DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfZGF0YSBtdDI3MTJfZGRwX2Ry aXZlcl9kYXRhID0gew0KKwkubXV0ZXhfbW9kID0gbXQyNzEyX211dGV4X21vZCwNCisJLm11dGV4 X3NvZiA9IG10MjcxMl9tdXRleF9zb2YsDQorCS5tdXRleF9tb2RfcmVnID0gTVQyNzAxX0RJU1Bf TVVURVgwX01PRDAsDQorCS5tdXRleF9zb2ZfcmVnID0gTVQyNzAxX0RJU1BfTVVURVgwX1NPRjAs DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfZGF0YSBtdDgxNzNfZGRwX2Ry aXZlcl9kYXRhID0gew0KKwkubXV0ZXhfbW9kID0gbXQ4MTczX211dGV4X21vZCwNCisJLm11dGV4 X3NvZiA9IG10ODE3M19tdXRleF9zb2YsDQorCS5tdXRleF9tb2RfcmVnID0gTVQyNzAxX0RJU1Bf TVVURVgwX01PRDAsDQorCS5tdXRleF9zb2ZfcmVnID0gTVQyNzAxX0RJU1BfTVVURVgwX1NPRjAs DQorfTsNCisNCiBzdGF0aWMgdW5zaWduZWQgaW50IG10a19kZHBfbW91dF9lbihlbnVtIG10a19k ZHBfY29tcF9pZCBjdXIsDQogCQkJCSAgICBlbnVtIG10a19kZHBfY29tcF9pZCBuZXh0LA0KIAkJ CQkgICAgdW5zaWduZWQgaW50ICphZGRyKQ0KQEAgLTQ0NiwzOSArNTEyLDQwIEBAIHZvaWQgbXRr X2Rpc3BfbXV0ZXhfYWRkX2NvbXAoc3RydWN0IG10a19kaXNwX211dGV4ICptdXRleCwNCiANCiAJ c3dpdGNoIChpZCkgew0KIAljYXNlIEREUF9DT01QT05FTlRfRFNJMDoNCi0JCXJlZyA9IE1VVEVY X1NPRl9EU0kwOw0KKwkJcmVnID0gRERQX01VVEVYX1NPRl9EU0kwOw0KIAkJYnJlYWs7DQogCWNh c2UgRERQX0NPTVBPTkVOVF9EU0kxOg0KLQkJcmVnID0gTVVURVhfU09GX0RTSTA7DQorCQlyZWcg PSBERFBfTVVURVhfU09GX0RTSTA7DQogCQlicmVhazsNCiAJY2FzZSBERFBfQ09NUE9ORU5UX0RT STI6DQotCQlyZWcgPSBNVVRFWF9TT0ZfRFNJMjsNCisJCXJlZyA9IEREUF9NVVRFWF9TT0ZfRFNJ MjsNCiAJCWJyZWFrOw0KIAljYXNlIEREUF9DT01QT05FTlRfRFNJMzoNCi0JCXJlZyA9IE1VVEVY X1NPRl9EU0kzOw0KKwkJcmVnID0gRERQX01VVEVYX1NPRl9EU0kzOw0KIAkJYnJlYWs7DQogCWNh c2UgRERQX0NPTVBPTkVOVF9EUEkwOg0KLQkJcmVnID0gTVVURVhfU09GX0RQSTA7DQorCQlyZWcg PSBERFBfTVVURVhfU09GX0RQSTA7DQogCQlicmVhazsNCiAJY2FzZSBERFBfQ09NUE9ORU5UX0RQ STE6DQotCQlyZWcgPSBNVVRFWF9TT0ZfRFBJMTsNCisJCXJlZyA9IEREUF9NVVRFWF9TT0ZfRFBJ MTsNCiAJCWJyZWFrOw0KIAlkZWZhdWx0Og0KLQkJaWYgKGRkcC0mZ3Q7bXV0ZXhfbW9kW2lkXSAm bHQ7IDMyKSB7DQotCQkJb2Zmc2V0ID0gRElTUF9SRUdfTVVURVhfTU9EKG11dGV4LSZndDtpZCk7 DQorCQlpZiAoZGRwLSZndDtkYXRhLSZndDttdXRleF9tb2RbaWRdICZsdDsgMzIpIHsNCisJCQlv ZmZzZXQgPSBESVNQX1JFR19NVVRFWF9NT0QoZGRwLSZndDtkYXRhLCBtdXRleC0mZ3Q7aWQpOw0K IAkJCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLSZndDtyZWdzICsgb2Zmc2V0KTsNCi0JCQlyZWcg fD0gMSAmbHQ7Jmx0OyBkZHAtJmd0O211dGV4X21vZFtpZF07DQorCQkJcmVnIHw9IDEgJmx0OyZs dDsgZGRwLSZndDtkYXRhLSZndDttdXRleF9tb2RbaWRdOw0KIAkJCXdyaXRlbF9yZWxheGVkKHJl ZywgZGRwLSZndDtyZWdzICsgb2Zmc2V0KTsNCiAJCX0gZWxzZSB7DQogCQkJb2Zmc2V0ID0gRElT UF9SRUdfTVVURVhfTU9EMihtdXRleC0mZ3Q7aWQpOw0KIAkJCXJlZyA9IHJlYWRsX3JlbGF4ZWQo ZGRwLSZndDtyZWdzICsgb2Zmc2V0KTsNCi0JCQlyZWcgfD0gMSAmbHQ7Jmx0OyAoZGRwLSZndDtt dXRleF9tb2RbaWRdIC0gMzIpOw0KKwkJCXJlZyB8PSAxICZsdDsmbHQ7IChkZHAtJmd0O2RhdGEt Jmd0O211dGV4X21vZFtpZF0gLSAzMik7DQogCQkJd3JpdGVsX3JlbGF4ZWQocmVnLCBkZHAtJmd0 O3JlZ3MgKyBvZmZzZXQpOw0KIAkJfQ0KIAkJcmV0dXJuOw0KIAl9DQogDQotCXdyaXRlbF9yZWxh eGVkKHJlZywgZGRwLSZndDtyZWdzICsgRElTUF9SRUdfTVVURVhfU09GKG11dGV4LSZndDtpZCkp Ow0KKwl3cml0ZWxfcmVsYXhlZChkZHAtJmd0O2RhdGEtJmd0O211dGV4X3NvZltyZWddLA0KKwkJ ICAgICAgIGRkcC0mZ3Q7cmVncyArIERJU1BfUkVHX01VVEVYX1NPRihkZHAtJmd0O2RhdGEsIG11 dGV4LSZndDtpZCkpOw0KIH0NCiANCiB2b2lkIG10a19kaXNwX211dGV4X3JlbW92ZV9jb21wKHN0 cnVjdCBtdGtfZGlzcF9tdXRleCAqbXV0ZXgsDQpAQCAtNDk5LDE4ICs1NjYsMTkgQEAgdm9pZCBt dGtfZGlzcF9tdXRleF9yZW1vdmVfY29tcChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LA0K IAljYXNlIEREUF9DT01QT05FTlRfRFBJMDoNCiAJY2FzZSBERFBfQ09NUE9ORU5UX0RQSTE6DQog CQl3cml0ZWxfcmVsYXhlZChNVVRFWF9TT0ZfU0lOR0xFX01PREUsDQotCQkJICAgICAgIGRkcC0m Z3Q7cmVncyArIERJU1BfUkVHX01VVEVYX1NPRihtdXRleC0mZ3Q7aWQpKTsNCisJCQkgICAgICAg ZGRwLSZndDtyZWdzICsNCisJCQkgICAgICAgRElTUF9SRUdfTVVURVhfU09GKGRkcC0mZ3Q7ZGF0 YSwgbXV0ZXgtJmd0O2lkKSk7DQogCQlicmVhazsNCiAJZGVmYXVsdDoNCi0JCWlmIChkZHAtJmd0 O211dGV4X21vZFtpZF0gJmx0OyAzMikgew0KLQkJCW9mZnNldCA9IERJU1BfUkVHX01VVEVYX01P RChtdXRleC0mZ3Q7aWQpOw0KKwkJaWYgKGRkcC0mZ3Q7ZGF0YS0mZ3Q7bXV0ZXhfbW9kW2lkXSAm bHQ7IDMyKSB7DQorCQkJb2Zmc2V0ID0gRElTUF9SRUdfTVVURVhfTU9EKGRkcC0mZ3Q7ZGF0YSwg bXV0ZXgtJmd0O2lkKTsNCiAJCQlyZWcgPSByZWFkbF9yZWxheGVkKGRkcC0mZ3Q7cmVncyArIG9m ZnNldCk7DQotCQkJcmVnICZhbXA7PSB+KDEgJmx0OyZsdDsgZGRwLSZndDttdXRleF9tb2RbaWRd KTsNCisJCQlyZWcgJmFtcDs9IH4oMSAmbHQ7Jmx0OyBkZHAtJmd0O2RhdGEtJmd0O211dGV4X21v ZFtpZF0pOw0KIAkJCXdyaXRlbF9yZWxheGVkKHJlZywgZGRwLSZndDtyZWdzICsgb2Zmc2V0KTsN CiAJCX0gZWxzZSB7DQogCQkJb2Zmc2V0ID0gRElTUF9SRUdfTVVURVhfTU9EMihtdXRleC0mZ3Q7 aWQpOw0KIAkJCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLSZndDtyZWdzICsgb2Zmc2V0KTsNCi0J CQlyZWcgJmFtcDs9IH4oMSAmbHQ7Jmx0OyAoZGRwLSZndDttdXRleF9tb2RbaWRdIC0gMzIpKTsN CisJCQlyZWcgJmFtcDs9IH4oMSAmbHQ7Jmx0OyAoZGRwLSZndDtkYXRhLSZndDttdXRleF9tb2Rb aWRdIC0gMzIpKTsNCiAJCQl3cml0ZWxfcmVsYXhlZChyZWcsIGRkcC0mZ3Q7cmVncyArIG9mZnNl dCk7DQogCQl9DQogCQlicmVhazsNCkBAIC01ODUsNyArNjUzLDcgQEAgc3RhdGljIGludCBtdGtf ZGRwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCQlyZXR1cm4gUFRSX0VS UihkZHAtJmd0O3JlZ3MpOw0KIAl9DQogDQotCWRkcC0mZ3Q7bXV0ZXhfbW9kID0gb2ZfZGV2aWNl X2dldF9tYXRjaF9kYXRhKGRldik7DQorCWRkcC0mZ3Q7ZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0 Y2hfZGF0YShkZXYpOw0KIA0KIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZHApOw0KIA0K QEAgLTU5OCw5ICs2NjYsMTIgQEAgc3RhdGljIGludCBtdGtfZGRwX3JlbW92ZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KIH0NCiANCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2Rldmlj ZV9pZCBkZHBfZHJpdmVyX2R0X21hdGNoW10gPSB7DQotCXsgLmNvbXBhdGlibGUgPSAmcXVvdDtt ZWRpYXRlayxtdDI3MDEtZGlzcC1tdXRleCZxdW90OywgLmRhdGEgPSBtdDI3MDFfbXV0ZXhfbW9k fSwNCi0JeyAuY29tcGF0aWJsZSA9ICZxdW90O21lZGlhdGVrLG10MjcxMi1kaXNwLW11dGV4JnF1 b3Q7LCAuZGF0YSA9IG10MjcxMl9tdXRleF9tb2R9LA0KLQl7IC5jb21wYXRpYmxlID0gJnF1b3Q7 bWVkaWF0ZWssbXQ4MTczLWRpc3AtbXV0ZXgmcXVvdDssIC5kYXRhID0gbXQ4MTczX211dGV4X21v ZH0sDQorCXsgLmNvbXBhdGlibGUgPSAmcXVvdDttZWRpYXRlayxtdDI3MDEtZGlzcC1tdXRleCZx dW90OywNCisJICAuZGF0YSA9ICZhbXA7bXQyNzAxX2RkcF9kcml2ZXJfZGF0YX0sDQorCXsgLmNv bXBhdGlibGUgPSAmcXVvdDttZWRpYXRlayxtdDI3MTItZGlzcC1tdXRleCZxdW90OywNCisJICAu ZGF0YSA9ICZhbXA7bXQyNzEyX2RkcF9kcml2ZXJfZGF0YX0sDQorCXsgLmNvbXBhdGlibGUgPSAm cXVvdDttZWRpYXRlayxtdDgxNzMtZGlzcC1tdXRleCZxdW90OywNCisJICAuZGF0YSA9ICZhbXA7 bXQ4MTczX2RkcF9kcml2ZXJfZGF0YX0sDQogCXt9LA0KIH07DQogTU9EVUxFX0RFVklDRV9UQUJM RShvZiwgZGRwX2RyaXZlcl9kdF9tYXRjaCk7DQotLSANCjEuOC4xLjEuZGlydHkNCg0KPC9wcmU+ PCEtLXR5cGU6dGV4dC0tPjwhLS17LS0+PHByZT4qKioqKioqKioqKioqIEVtYWlsIENvbmZpZGVu dGlhbGl0eSBOb3RpY2UNCiAqKioqKioqKioqKioqKioqKioqKg0KVGhlIGluZm9ybWF0aW9uIGNv bnRhaW5lZCBpbiB0aGlzIGUtbWFpbCBtZXNzYWdlIChpbmNsdWRpbmcgYW55IA0KYXR0YWNobWVu dHMpIG1heSBiZSBjb25maWRlbnRpYWwsIHByb3ByaWV0YXJ5LCBwcml2aWxlZ2VkLCBvciBvdGhl cndpc2UNCmV4ZW1wdCBmcm9tIGRpc2Nsb3N1cmUgdW5kZXIgYXBwbGljYWJsZSBsYXdzLiBJdCBp cyBpbnRlbmRlZCB0byBiZSANCmNvbnZleWVkIG9ubHkgdG8gdGhlIGRlc2lnbmF0ZWQgcmVjaXBp ZW50KHMpLiBBbnkgdXNlLCBkaXNzZW1pbmF0aW9uLCANCmRpc3RyaWJ1dGlvbiwgcHJpbnRpbmcs IHJldGFpbmluZyBvciBjb3B5aW5nIG9mIHRoaXMgZS1tYWlsIChpbmNsdWRpbmcgaXRzIA0KYXR0 YWNobWVudHMpIGJ5IHVuaW50ZW5kZWQgcmVjaXBpZW50KHMpIGlzIHN0cmljdGx5IHByb2hpYml0 ZWQgYW5kIG1heSANCmJlIHVubGF3ZnVsLiBJZiB5b3UgYXJlIG5vdCBhbiBpbnRlbmRlZCByZWNp cGllbnQgb2YgdGhpcyBlLW1haWwsIG9yIGJlbGlldmUNCiANCnRoYXQgeW91IGhhdmUgcmVjZWl2 ZWQgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciANCmltbWVk aWF0ZWx5IChieSByZXBseWluZyB0byB0aGlzIGUtbWFpbCksIGRlbGV0ZSBhbnkgYW5kIGFsbCBj b3BpZXMgb2YgDQp0aGlzIGUtbWFpbCAoaW5jbHVkaW5nIGFueSBhdHRhY2htZW50cykgZnJvbSB5 b3VyIHN5c3RlbSwgYW5kIGRvIG5vdA0KZGlzY2xvc2UgdGhlIGNvbnRlbnQgb2YgdGhpcyBlLW1h aWwgdG8gYW55IG90aGVyIHBlcnNvbi4gVGhhbmsNCiB5b3UhPC9wcmU+PCEtLX0tLT4= --__=_Part_Boundary_009_1489447328.1697680473 Content-Type: text/plain Content-Transfer-Encoding: base64 VGhpcyBwYXRjaCBhZGQgbXV0ZXggbW9kIGFuZCBzb2YgaW50byBkZHAgcHJpdmF0ZSBkYXRhDQoN ClNpZ25lZC1vZmYtYnk6IFlvbmdxaWFuZyBOaXUgPHlvbmdxaWFuZy5uaXVAbWVkaWF0ZWsuY29t Pg0KLS0tDQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMgfCAxMTcgKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tDQogMSBmaWxlIGNoYW5nZWQsIDk0IGluc2Vy dGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZGRwLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9kZHAuYw0KaW5kZXggNTc5Y2UyOC4uYWRiMzdlNCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kZHAuYw0KQEAgLTQxLDExICs0MSwxNCBAQA0KICNkZWZpbmUgRElTUF9SRUdf Q09ORklHX0RTSV9TRUwJCQkweDA1MA0KICNkZWZpbmUgRElTUF9SRUdfQ09ORklHX0RQSV9TRUwJ CQkweDA2NA0KIA0KKyNkZWZpbmUgTVQyNzAxX0RJU1BfTVVURVgwX01PRDAgMHgyQw0KKyNkZWZp bmUgTVQyNzAxX0RJU1BfTVVURVgwX1NPRjAgIDB4MzANCisNCiAjZGVmaW5lIERJU1BfUkVHX01V VEVYX0VOKG4pCSgweDIwICsgMHgyMCAqIChuKSkNCiAjZGVmaW5lIERJU1BfUkVHX01VVEVYKG4p CSgweDI0ICsgMHgyMCAqIChuKSkNCiAjZGVmaW5lIERJU1BfUkVHX01VVEVYX1JTVChuKQkoMHgy OCArIDB4MjAgKiAobikpDQotI2RlZmluZSBESVNQX1JFR19NVVRFWF9NT0QobikJKDB4MmMgKyAw eDIwICogKG4pKQ0KLSNkZWZpbmUgRElTUF9SRUdfTVVURVhfU09GKG4pCSgweDMwICsgMHgyMCAq IChuKSkNCisjZGVmaW5lIERJU1BfUkVHX01VVEVYX01PRChkYXRhLCBuKQkoKGRhdGEpLT5tdXRl eF9tb2RfcmVnICsgMHgyMCAqIChuKSkNCisjZGVmaW5lIERJU1BfUkVHX01VVEVYX1NPRihkYXRh LCBuKQkoKGRhdGEpLT5tdXRleF9zb2ZfcmVnICsgMHgyMCAqIChuKSkNCiAjZGVmaW5lIERJU1Bf UkVHX01VVEVYX01PRDIobikJKDB4MzQgKyAweDIwICogKG4pKQ0KIA0KICNkZWZpbmUgSU5UX01V VEVYCQkJCUJJVCgxKQ0KQEAgLTE0NywxMiArMTUwLDMwIEBAIHN0cnVjdCBtdGtfZGlzcF9tdXRl eCB7DQogCWJvb2wgY2xhaW1lZDsNCiB9Ow0KIA0KK2VudW0gbXRrX2RkcF9tdXRleF9zb2ZfaWQg ew0KKwlERFBfTVVURVhfU09GX1NJTkdMRV9NT0RFLA0KKwlERFBfTVVURVhfU09GX0RTSTAsDQor CUREUF9NVVRFWF9TT0ZfRFNJMSwNCisJRERQX01VVEVYX1NPRl9EUEkwLA0KKwlERFBfTVVURVhf U09GX0RQSTEsDQorCUREUF9NVVRFWF9TT0ZfRFNJMiwNCisJRERQX01VVEVYX1NPRl9EU0kzLA0K KwlERFBfTVVURVhfU09GX01BWCwNCit9Ow0KKw0KK3N0cnVjdCBtdGtfZGRwX2RhdGEgew0KKwlj b25zdCB1bnNpZ25lZCBpbnQgKm11dGV4X21vZDsNCisJY29uc3QgdW5zaWduZWQgaW50ICptdXRl eF9zb2Y7DQorCXVuc2lnbmVkIGludCBtdXRleF9tb2RfcmVnOw0KKwl1bnNpZ25lZCBpbnQgbXV0 ZXhfc29mX3JlZzsNCit9Ow0KKw0KIHN0cnVjdCBtdGtfZGRwIHsNCiAJc3RydWN0IGRldmljZQkJ CSpkZXY7DQogCXN0cnVjdCBjbGsJCQkqY2xrOw0KIAl2b2lkIF9faW9tZW0JCQkqcmVnczsNCiAJ c3RydWN0IG10a19kaXNwX211dGV4CQltdXRleFsxMF07DQotCWNvbnN0IHVuc2lnbmVkIGludAkJ Km11dGV4X21vZDsNCisJY29uc3Qgc3RydWN0IG10a19kZHBfZGF0YQkqZGF0YTsNCiB9Ow0KIA0K IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQyNzAxX211dGV4X21vZFtERFBfQ09NUE9ORU5U X0lEX01BWF0gPSB7DQpAQCAtMjAyLDYgKzIyMyw1MSBAQCBzdHJ1Y3QgbXRrX2RkcCB7DQogCVtE RFBfQ09NUE9ORU5UX1dETUExXSA9IE1UODE3M19NVVRFWF9NT0RfRElTUF9XRE1BMSwNCiB9Ow0K IA0KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQyNzAxX211dGV4X3NvZltERFBfTVVURVhf U09GX01BWF0gPSB7DQorCVtERFBfTVVURVhfU09GX1NJTkdMRV9NT0RFXSA9IE1VVEVYX1NPRl9T SU5HTEVfTU9ERSwNCisJW0REUF9NVVRFWF9TT0ZfRFNJMF0gPSBNVVRFWF9TT0ZfRFNJMCwNCisJ W0REUF9NVVRFWF9TT0ZfRFNJMV0gPSBNVVRFWF9TT0ZfRFNJMSwNCisJW0REUF9NVVRFWF9TT0Zf RFBJMF0gPSBNVVRFWF9TT0ZfRFBJMCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBp bnQgbXQyNzEyX211dGV4X3NvZltERFBfTVVURVhfU09GX01BWF0gPSB7DQorCVtERFBfTVVURVhf U09GX1NJTkdMRV9NT0RFXSA9IE1VVEVYX1NPRl9TSU5HTEVfTU9ERSwNCisJW0REUF9NVVRFWF9T T0ZfRFNJMF0gPSBNVVRFWF9TT0ZfRFNJMCwNCisJW0REUF9NVVRFWF9TT0ZfRFNJMV0gPSBNVVRF WF9TT0ZfRFNJMSwNCisJW0REUF9NVVRFWF9TT0ZfRFBJMF0gPSBNVVRFWF9TT0ZfRFBJMCwNCisJ W0REUF9NVVRFWF9TT0ZfRFBJMV0gPSBNVVRFWF9TT0ZfRFBJMSwNCisJW0REUF9NVVRFWF9TT0Zf RFNJMl0gPSBNVVRFWF9TT0ZfRFNJMiwNCisJW0REUF9NVVRFWF9TT0ZfRFNJM10gPSBNVVRFWF9T T0ZfRFNJMywNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQ4MTczX211dGV4 X3NvZltERFBfTVVURVhfU09GX01BWF0gPSB7DQorCVtERFBfTVVURVhfU09GX1NJTkdMRV9NT0RF XSA9IE1VVEVYX1NPRl9TSU5HTEVfTU9ERSwNCisJW0REUF9NVVRFWF9TT0ZfRFNJMF0gPSBNVVRF WF9TT0ZfRFNJMCwNCisJW0REUF9NVVRFWF9TT0ZfRFNJMV0gPSBNVVRFWF9TT0ZfRFNJMSwNCisJ W0REUF9NVVRFWF9TT0ZfRFBJMF0gPSBNVVRFWF9TT0ZfRFBJMCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhIG10MjcwMV9kZHBfZHJpdmVyX2RhdGEgPSB7DQorCS5t dXRleF9tb2QgPSBtdDI3MDFfbXV0ZXhfbW9kLA0KKwkubXV0ZXhfc29mID0gbXQyNzAxX211dGV4 X3NvZiwNCisJLm11dGV4X21vZF9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfTU9EMCwNCisJLm11 dGV4X3NvZl9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfU09GMCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhIG10MjcxMl9kZHBfZHJpdmVyX2RhdGEgPSB7DQorCS5t dXRleF9tb2QgPSBtdDI3MTJfbXV0ZXhfbW9kLA0KKwkubXV0ZXhfc29mID0gbXQyNzEyX211dGV4 X3NvZiwNCisJLm11dGV4X21vZF9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfTU9EMCwNCisJLm11 dGV4X3NvZl9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfU09GMCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhIG10ODE3M19kZHBfZHJpdmVyX2RhdGEgPSB7DQorCS5t dXRleF9tb2QgPSBtdDgxNzNfbXV0ZXhfbW9kLA0KKwkubXV0ZXhfc29mID0gbXQ4MTczX211dGV4 X3NvZiwNCisJLm11dGV4X21vZF9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfTU9EMCwNCisJLm11 dGV4X3NvZl9yZWcgPSBNVDI3MDFfRElTUF9NVVRFWDBfU09GMCwNCit9Ow0KKw0KIHN0YXRpYyB1 bnNpZ25lZCBpbnQgbXRrX2RkcF9tb3V0X2VuKGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwNCiAJ CQkJICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQsDQogCQkJCSAgICB1bnNpZ25lZCBpbnQg KmFkZHIpDQpAQCAtNDQ2LDM5ICs1MTIsNDAgQEAgdm9pZCBtdGtfZGlzcF9tdXRleF9hZGRfY29t cChzdHJ1Y3QgbXRrX2Rpc3BfbXV0ZXggKm11dGV4LA0KIA0KIAlzd2l0Y2ggKGlkKSB7DQogCWNh c2UgRERQX0NPTVBPTkVOVF9EU0kwOg0KLQkJcmVnID0gTVVURVhfU09GX0RTSTA7DQorCQlyZWcg PSBERFBfTVVURVhfU09GX0RTSTA7DQogCQlicmVhazsNCiAJY2FzZSBERFBfQ09NUE9ORU5UX0RT STE6DQotCQlyZWcgPSBNVVRFWF9TT0ZfRFNJMDsNCisJCXJlZyA9IEREUF9NVVRFWF9TT0ZfRFNJ MDsNCiAJCWJyZWFrOw0KIAljYXNlIEREUF9DT01QT05FTlRfRFNJMjoNCi0JCXJlZyA9IE1VVEVY X1NPRl9EU0kyOw0KKwkJcmVnID0gRERQX01VVEVYX1NPRl9EU0kyOw0KIAkJYnJlYWs7DQogCWNh c2UgRERQX0NPTVBPTkVOVF9EU0kzOg0KLQkJcmVnID0gTVVURVhfU09GX0RTSTM7DQorCQlyZWcg PSBERFBfTVVURVhfU09GX0RTSTM7DQogCQlicmVhazsNCiAJY2FzZSBERFBfQ09NUE9ORU5UX0RQ STA6DQotCQlyZWcgPSBNVVRFWF9TT0ZfRFBJMDsNCisJCXJlZyA9IEREUF9NVVRFWF9TT0ZfRFBJ MDsNCiAJCWJyZWFrOw0KIAljYXNlIEREUF9DT01QT05FTlRfRFBJMToNCi0JCXJlZyA9IE1VVEVY X1NPRl9EUEkxOw0KKwkJcmVnID0gRERQX01VVEVYX1NPRl9EUEkxOw0KIAkJYnJlYWs7DQogCWRl ZmF1bHQ6DQotCQlpZiAoZGRwLT5tdXRleF9tb2RbaWRdIDwgMzIpIHsNCi0JCQlvZmZzZXQgPSBE SVNQX1JFR19NVVRFWF9NT0QobXV0ZXgtPmlkKTsNCisJCWlmIChkZHAtPmRhdGEtPm11dGV4X21v ZFtpZF0gPCAzMikgew0KKwkJCW9mZnNldCA9IERJU1BfUkVHX01VVEVYX01PRChkZHAtPmRhdGEs IG11dGV4LT5pZCk7DQogCQkJcmVnID0gcmVhZGxfcmVsYXhlZChkZHAtPnJlZ3MgKyBvZmZzZXQp Ow0KLQkJCXJlZyB8PSAxIDw8IGRkcC0+bXV0ZXhfbW9kW2lkXTsNCisJCQlyZWcgfD0gMSA8PCBk ZHAtPmRhdGEtPm11dGV4X21vZFtpZF07DQogCQkJd3JpdGVsX3JlbGF4ZWQocmVnLCBkZHAtPnJl Z3MgKyBvZmZzZXQpOw0KIAkJfSBlbHNlIHsNCiAJCQlvZmZzZXQgPSBESVNQX1JFR19NVVRFWF9N T0QyKG11dGV4LT5pZCk7DQogCQkJcmVnID0gcmVhZGxfcmVsYXhlZChkZHAtPnJlZ3MgKyBvZmZz ZXQpOw0KLQkJCXJlZyB8PSAxIDw8IChkZHAtPm11dGV4X21vZFtpZF0gLSAzMik7DQorCQkJcmVn IHw9IDEgPDwgKGRkcC0+ZGF0YS0+bXV0ZXhfbW9kW2lkXSAtIDMyKTsNCiAJCQl3cml0ZWxfcmVs YXhlZChyZWcsIGRkcC0+cmVncyArIG9mZnNldCk7DQogCQl9DQogCQlyZXR1cm47DQogCX0NCiAN Ci0Jd3JpdGVsX3JlbGF4ZWQocmVnLCBkZHAtPnJlZ3MgKyBESVNQX1JFR19NVVRFWF9TT0YobXV0 ZXgtPmlkKSk7DQorCXdyaXRlbF9yZWxheGVkKGRkcC0+ZGF0YS0+bXV0ZXhfc29mW3JlZ10sDQor CQkgICAgICAgZGRwLT5yZWdzICsgRElTUF9SRUdfTVVURVhfU09GKGRkcC0+ZGF0YSwgbXV0ZXgt PmlkKSk7DQogfQ0KIA0KIHZvaWQgbXRrX2Rpc3BfbXV0ZXhfcmVtb3ZlX2NvbXAoc3RydWN0IG10 a19kaXNwX211dGV4ICptdXRleCwNCkBAIC00OTksMTggKzU2NiwxOSBAQCB2b2lkIG10a19kaXNw X211dGV4X3JlbW92ZV9jb21wKHN0cnVjdCBtdGtfZGlzcF9tdXRleCAqbXV0ZXgsDQogCWNhc2Ug RERQX0NPTVBPTkVOVF9EUEkwOg0KIAljYXNlIEREUF9DT01QT05FTlRfRFBJMToNCiAJCXdyaXRl bF9yZWxheGVkKE1VVEVYX1NPRl9TSU5HTEVfTU9ERSwNCi0JCQkgICAgICAgZGRwLT5yZWdzICsg RElTUF9SRUdfTVVURVhfU09GKG11dGV4LT5pZCkpOw0KKwkJCSAgICAgICBkZHAtPnJlZ3MgKw0K KwkJCSAgICAgICBESVNQX1JFR19NVVRFWF9TT0YoZGRwLT5kYXRhLCBtdXRleC0+aWQpKTsNCiAJ CWJyZWFrOw0KIAlkZWZhdWx0Og0KLQkJaWYgKGRkcC0+bXV0ZXhfbW9kW2lkXSA8IDMyKSB7DQot CQkJb2Zmc2V0ID0gRElTUF9SRUdfTVVURVhfTU9EKG11dGV4LT5pZCk7DQorCQlpZiAoZGRwLT5k YXRhLT5tdXRleF9tb2RbaWRdIDwgMzIpIHsNCisJCQlvZmZzZXQgPSBESVNQX1JFR19NVVRFWF9N T0QoZGRwLT5kYXRhLCBtdXRleC0+aWQpOw0KIAkJCXJlZyA9IHJlYWRsX3JlbGF4ZWQoZGRwLT5y ZWdzICsgb2Zmc2V0KTsNCi0JCQlyZWcgJj0gfigxIDw8IGRkcC0+bXV0ZXhfbW9kW2lkXSk7DQor CQkJcmVnICY9IH4oMSA8PCBkZHAtPmRhdGEtPm11dGV4X21vZFtpZF0pOw0KIAkJCXdyaXRlbF9y ZWxheGVkKHJlZywgZGRwLT5yZWdzICsgb2Zmc2V0KTsNCiAJCX0gZWxzZSB7DQogCQkJb2Zmc2V0 ID0gRElTUF9SRUdfTVVURVhfTU9EMihtdXRleC0+aWQpOw0KIAkJCXJlZyA9IHJlYWRsX3JlbGF4 ZWQoZGRwLT5yZWdzICsgb2Zmc2V0KTsNCi0JCQlyZWcgJj0gfigxIDw8IChkZHAtPm11dGV4X21v ZFtpZF0gLSAzMikpOw0KKwkJCXJlZyAmPSB+KDEgPDwgKGRkcC0+ZGF0YS0+bXV0ZXhfbW9kW2lk XSAtIDMyKSk7DQogCQkJd3JpdGVsX3JlbGF4ZWQocmVnLCBkZHAtPnJlZ3MgKyBvZmZzZXQpOw0K IAkJfQ0KIAkJYnJlYWs7DQpAQCAtNTg1LDcgKzY1Myw3IEBAIHN0YXRpYyBpbnQgbXRrX2RkcF9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIAkJcmV0dXJuIFBUUl9FUlIoZGRw LT5yZWdzKTsNCiAJfQ0KIA0KLQlkZHAtPm11dGV4X21vZCA9IG9mX2RldmljZV9nZXRfbWF0Y2hf ZGF0YShkZXYpOw0KKwlkZHAtPmRhdGEgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsN CiANCiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZGRwKTsNCiANCkBAIC01OTgsOSArNjY2 LDEyIEBAIHN0YXRpYyBpbnQgbXRrX2RkcF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCiB9DQogDQogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgZGRwX2RyaXZl cl9kdF9tYXRjaFtdID0gew0KLQl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcwMS1kaXNw LW11dGV4IiwgLmRhdGEgPSBtdDI3MDFfbXV0ZXhfbW9kfSwNCi0JeyAuY29tcGF0aWJsZSA9ICJt ZWRpYXRlayxtdDI3MTItZGlzcC1tdXRleCIsIC5kYXRhID0gbXQyNzEyX211dGV4X21vZH0sDQot CXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLWRpc3AtbXV0ZXgiLCAuZGF0YSA9IG10 ODE3M19tdXRleF9tb2R9LA0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10MjcwMS1kaXNw LW11dGV4IiwNCisJICAuZGF0YSA9ICZtdDI3MDFfZGRwX2RyaXZlcl9kYXRhfSwNCisJeyAuY29t cGF0aWJsZSA9ICJtZWRpYXRlayxtdDI3MTItZGlzcC1tdXRleCIsDQorCSAgLmRhdGEgPSAmbXQy NzEyX2RkcF9kcml2ZXJfZGF0YX0sDQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTcz LWRpc3AtbXV0ZXgiLA0KKwkgIC5kYXRhID0gJm10ODE3M19kZHBfZHJpdmVyX2RhdGF9LA0KIAl7 fSwNCiB9Ow0KIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIGRkcF9kcml2ZXJfZHRfbWF0Y2gpOw0K LS0gDQoxLjguMS4xLmRpcnR5DQo= --__=_Part_Boundary_009_1489447328.1697680473-- --__=_Part_Boundary_008_663511428.1735150283-- --===============0098037786== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs --===============0098037786==--