From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.phycard.co.uk ([217.6.246.34] helo=root.phytec.de) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TG4Vz-0006c7-S8 for barebox@lists.infradead.org; Mon, 24 Sep 2012 08:59:45 +0000 Received: from idefix.phytec.de (idefix.phytec.de [172.16.0.10]) by root.phytec.de (Postfix) with ESMTP id AA575A30A2 for ; Mon, 24 Sep 2012 10:59:37 +0200 (CEST) From: =?UTF-8?q?Teresa=20G=C3=A1mez?= Date: Mon, 24 Sep 2012 10:59:36 +0200 Message-Id: <1348477176-25398-2-git-send-email-t.gamez@phytec.de> In-Reply-To: <1348477176-25398-1-git-send-email-t.gamez@phytec.de> References: <1348477176-25398-1-git-send-email-t.gamez@phytec.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: barebox-bounces@lists.infradead.org Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH 2/2] ARM OMAP: switch to gpiolib support To: barebox@lists.infradead.org ClNpZ25lZC1vZmYtYnk6IFRlcmVzYSBHw6FtZXogPHQuZ2FtZXpAcGh5dGVjLmRlPgotLS0KIGFy Y2gvYXJtL0tjb25maWcgICAgICAgICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJtL21hY2gt b21hcC9ncGlvLmMgICAgICAgICAgfCAgMTcxICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0tCiBhcmNoL2FybS9tYWNoLW9tYXAvb21hcDNfZ2VuZXJpYy5jIHwgICAxOSArKysrCiBh cmNoL2FybS9tYWNoLW9tYXAvb21hcDRfZ2VuZXJpYy5jIHwgICAxOSArKysrCiA0IGZpbGVzIGNo YW5nZWQsIDExNyBpbnNlcnRpb25zKCspLCA5MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9h cmNoL2FybS9LY29uZmlnIGIvYXJjaC9hcm0vS2NvbmZpZwppbmRleCBhNTRhZDAzLi43YjdiMDU4 IDEwMDY0NAotLS0gYS9hcmNoL2FybS9LY29uZmlnCisrKyBiL2FyY2gvYXJtL0tjb25maWcKQEAg LTU4LDYgKzU4LDcgQEAgY29uZmlnIEFSQ0hfTk9NQURJSwogY29uZmlnIEFSQ0hfT01BUAogCWJv b2wgIlRJIE9NQVAiCiAJc2VsZWN0IEhBU19ERUJVR19MTAorCXNlbGVjdCBHUElPTElCCiAKIGNv bmZpZyBBUkNIX1BYQQogCWJvb2wgIkludGVsL01hcnZlbGwgUFhBIGJhc2VkIgpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vbWFjaC1vbWFwL2dwaW8uYyBiL2FyY2gvYXJtL21hY2gtb21hcC9ncGlvLmMK aW5kZXggMTQyY2Y1Mi4uZDIxNzU1MCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL2dw aW8uYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvZ3Bpby5jCkBAIC0zNiwxMSArMzYsMTAgQEAK ICAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCiAjaW5j bHVkZSA8Y29tbW9uLmg+Ci0jaW5jbHVkZSA8bWFjaC9ncGlvLmg+CiAjaW5jbHVkZSA8aW8uaD4K ICNpbmNsdWRlIDxlcnJuby5oPgotCi0jaWZkZWYgQ09ORklHX0FSQ0hfT01BUDMKKyNpbmNsdWRl IDxncGlvLmg+CisjaW5jbHVkZSA8aW5pdC5oPgogCiAjZGVmaW5lIE9NQVBfR1BJT19PRQkJMHgw MDM0CiAjZGVmaW5lIE9NQVBfR1BJT19EQVRBSU4JMHgwMDM4CkBAIC00OCwxMjkgKzQ3LDExNSBA QAogI2RlZmluZSBPTUFQX0dQSU9fQ0xFQVJEQVRBT1VUCTB4MDA5MAogI2RlZmluZSBPTUFQX0dQ SU9fU0VUREFUQU9VVAkweDAwOTQKIAotc3RhdGljIHZvaWQgX19pb21lbSAqZ3Bpb19iYW5rW10g PSB7Ci0JKHZvaWQgKikweDQ4MzEwMDAwLAotCSh2b2lkICopMHg0OTA1MDAwMCwKLQkodm9pZCAq KTB4NDkwNTIwMDAsCi0JKHZvaWQgKikweDQ5MDU0MDAwLAotCSh2b2lkICopMHg0OTA1NjAwMCwK LQkodm9pZCAqKTB4NDkwNTgwMDAsCi19OwotI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfQVJDSF9P TUFQNAotCi0jZGVmaW5lIE9NQVBfR1BJT19PRQkJMHgwMTM0Ci0jZGVmaW5lIE9NQVBfR1BJT19E QVRBSU4JMHgwMTM4Ci0jZGVmaW5lIE9NQVBfR1BJT19EQVRBT1VUCTB4MDEzYwotI2RlZmluZSBP TUFQX0dQSU9fQ0xFQVJEQVRBT1VUCTB4MDE5MAotI2RlZmluZSBPTUFQX0dQSU9fU0VUREFUQU9V VAkweDAxOTQKLQotc3RhdGljIHZvaWQgX19pb21lbSAqZ3Bpb19iYW5rW10gPSB7Ci0JKHZvaWQg KikweDRhMzEwMDAwLAotCSh2b2lkICopMHg0ODA1NTAwMCwKLQkodm9pZCAqKTB4NDgwNTcwMDAs Ci0JKHZvaWQgKikweDQ4MDU5MDAwLAotCSh2b2lkICopMHg0ODA1YjAwMCwKLQkodm9pZCAqKTB4 NDgwNWQwMDAsCitzdHJ1Y3Qgb21hcF9ncGlvX2NoaXAgeworCXZvaWQgX19pb21lbSAqYmFzZTsK KwlzdHJ1Y3QgZ3Bpb19jaGlwIGNoaXA7CiB9OwotI2VuZGlmCi0KLXN0YXRpYyBpbmxpbmUgdm9p ZCBfX2lvbWVtICpnZXRfZ3Bpb19iYXNlKGludCBncGlvKQotewotCXJldHVybiBncGlvX2Jhbmtb Z3BpbyA+PiA1XTsKLX0KIAotc3RhdGljIGlubGluZSBpbnQgZ2V0X2dwaW9faW5kZXgoaW50IGdw aW8pCitzdGF0aWMgaW5saW5lIGludCBvbWFwX2dldF9ncGlvX2luZGV4KGludCBncGlvKQogewog CXJldHVybiBncGlvICYgMHgxZjsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgZ3Bpb192YWxpZChp bnQgZ3BpbykKK3N0YXRpYyB2b2lkIG9tYXBfZ3Bpb19zZXRfdmFsdWUoc3RydWN0IGdwaW9fY2hp cCAqY2hpcCwKKwkJCQkJdW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKQogewotCWlmIChncGlvIDwg MCkKLQkJcmV0dXJuIC0xOwotCWlmIChncGlvIC8gMzIgPCBBUlJBWV9TSVpFKGdwaW9fYmFuaykp Ci0JCXJldHVybiAwOwotCXJldHVybiAtMTsKLX0KLQotc3RhdGljIGludCBjaGVja19ncGlvKGlu dCBncGlvKQotewotCWlmIChncGlvX3ZhbGlkKGdwaW8pIDwgMCkgewotCQlwcmludGYoIkVSUk9S IDogY2hlY2tfZ3BpbzogaW52YWxpZCBHUElPICVkXG4iLCBncGlvKTsKLQkJcmV0dXJuIC0xOwot CX0KLQlyZXR1cm4gMDsKLX0KLQotdm9pZCBncGlvX3NldF92YWx1ZSh1bnNpZ25lZCBncGlvLCBp bnQgdmFsdWUpCi17Ci0Jdm9pZCBfX2lvbWVtICpyZWc7CisJc3RydWN0IG9tYXBfZ3Bpb19jaGlw ICpvbWFwZ3BpbyA9CisJCQljb250YWluZXJfb2YoY2hpcCwgc3RydWN0IG9tYXBfZ3Bpb19jaGlw LCBjaGlwKTsKKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBvbWFwZ3Bpby0+YmFzZTsKIAl1MzIgbCA9 IDA7CiAKLQlpZiAoY2hlY2tfZ3BpbyhncGlvKSA8IDApCi0JCXJldHVybjsKLQotCXJlZyA9IGdl dF9ncGlvX2Jhc2UoZ3Bpbyk7Ci0KIAlpZiAodmFsdWUpCi0JCXJlZyArPSBPTUFQX0dQSU9fU0VU REFUQU9VVDsKKwkJYmFzZSArPSBPTUFQX0dQSU9fU0VUREFUQU9VVDsKIAllbHNlCi0JCXJlZyAr PSBPTUFQX0dQSU9fQ0xFQVJEQVRBT1VUOwotCWwgPSAxIDw8IGdldF9ncGlvX2luZGV4KGdwaW8p OworCQliYXNlICs9IE9NQVBfR1BJT19DTEVBUkRBVEFPVVQ7CisKKwlsID0gMSA8PCBvbWFwX2dl dF9ncGlvX2luZGV4KGdwaW8pOwogCi0JX19yYXdfd3JpdGVsKGwsIHJlZyk7CisJd3JpdGVsKGws IGJhc2UpOwogfQogCi1pbnQgZ3Bpb19kaXJlY3Rpb25faW5wdXQodW5zaWduZWQgZ3BpbykKK3N0 YXRpYyBpbnQgb21hcF9ncGlvX2RpcmVjdGlvbl9pbnB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlw LAorCQkJCQl1bnNpZ25lZCBncGlvKQogewotCXZvaWQgX19pb21lbSAqcmVnOworCXN0cnVjdCBv bWFwX2dwaW9fY2hpcCAqb21hcGdwaW8gPQorCQkJY29udGFpbmVyX29mKGNoaXAsIHN0cnVjdCBv bWFwX2dwaW9fY2hpcCwgY2hpcCk7CisJdm9pZCBfX2lvbWVtICpiYXNlID0gb21hcGdwaW8tPmJh c2U7CiAJdTMyIHZhbDsKIAotCWlmIChjaGVja19ncGlvKGdwaW8pIDwgMCkKLQkJcmV0dXJuIC1F SU5WQUw7Ci0KLQlyZWcgPSBnZXRfZ3Bpb19iYXNlKGdwaW8pOwotCi0JcmVnICs9IE9NQVBfR1BJ T19PRTsKKwliYXNlICs9IE9NQVBfR1BJT19PRTsKIAotCXZhbCA9IF9fcmF3X3JlYWRsKHJlZyk7 Ci0JdmFsIHw9IDEgPDwgZ2V0X2dwaW9faW5kZXgoZ3Bpbyk7Ci0JX19yYXdfd3JpdGVsKHZhbCwg cmVnKTsKKwl2YWwgPSByZWFkbChiYXNlKTsKKwl2YWwgfD0gMSA8PCBvbWFwX2dldF9ncGlvX2lu ZGV4KGdwaW8pOworCXdyaXRlbCh2YWwsIGJhc2UpOwogCiAJcmV0dXJuIDA7CiB9CiAKLWludCBn cGlvX2RpcmVjdGlvbl9vdXRwdXQodW5zaWduZWQgZ3BpbywgaW50IHZhbHVlKQorc3RhdGljIGlu dCBvbWFwX2dwaW9fZGlyZWN0aW9uX291dHB1dChzdHJ1Y3QgZ3Bpb19jaGlwICpjaGlwLAorCQkJ CQl1bnNpZ25lZCBncGlvLCBpbnQgdmFsdWUpCiB7Ci0Jdm9pZCBfX2lvbWVtICpyZWc7CisJc3Ry dWN0IG9tYXBfZ3Bpb19jaGlwICpvbWFwZ3BpbyA9CisJCQljb250YWluZXJfb2YoY2hpcCwgc3Ry dWN0IG9tYXBfZ3Bpb19jaGlwLCBjaGlwKTsKKwl2b2lkIF9faW9tZW0gKmJhc2UgPSBvbWFwZ3Bp by0+YmFzZTsKIAl1MzIgdmFsOwogCi0JaWYgKGNoZWNrX2dwaW8oZ3BpbykgPCAwKQotCQlyZXR1 cm4gLUVJTlZBTDsKLQlyZWcgPSBnZXRfZ3Bpb19iYXNlKGdwaW8pOworCW9tYXBfZ3Bpb19zZXRf dmFsdWUoY2hpcCwgZ3BpbywgdmFsdWUpOwogCi0JZ3Bpb19zZXRfdmFsdWUoZ3BpbywgdmFsdWUp OworCWJhc2UgKz0gT01BUF9HUElPX09FOwogCi0JcmVnICs9IE9NQVBfR1BJT19PRTsKLQotCXZh bCA9IF9fcmF3X3JlYWRsKHJlZyk7Ci0JdmFsICY9IH4oMSA8PCBnZXRfZ3Bpb19pbmRleChncGlv KSk7Ci0JX19yYXdfd3JpdGVsKHZhbCwgcmVnKTsKKwl2YWwgPSByZWFkbChiYXNlKTsKKwl2YWwg Jj0gfigxIDw8IG9tYXBfZ2V0X2dwaW9faW5kZXgoZ3BpbykpOworCXdyaXRlbCh2YWwsIGJhc2Up OwogCiAJcmV0dXJuIDA7CiB9CiAKLWludCBncGlvX2dldF92YWx1ZSh1bnNpZ25lZCBncGlvKQor c3RhdGljIGludCBvbWFwX2dwaW9fZ2V0X3ZhbHVlKHN0cnVjdCBncGlvX2NoaXAgKmNoaXAsIHVu c2lnbmVkIGdwaW8pCit7CisJc3RydWN0IG9tYXBfZ3Bpb19jaGlwICpvbWFwZ3BpbyA9CisJCQlj b250YWluZXJfb2YoY2hpcCwgc3RydWN0IG9tYXBfZ3Bpb19jaGlwLCBjaGlwKTsKKwl2b2lkIF9f aW9tZW0gKmJhc2UgPSBvbWFwZ3Bpby0+YmFzZTsKKworCWJhc2UgICs9IE9NQVBfR1BJT19EQVRB SU47CisKKwlyZXR1cm4gKHJlYWRsKGJhc2UpICYgKDEgPDwgb21hcF9nZXRfZ3Bpb19pbmRleChn cGlvKSkpICE9IDA7CisKK30KKworc3RhdGljIHN0cnVjdCBncGlvX29wcyBvbWFwX2dwaW9fb3Bz ID0geworCS5kaXJlY3Rpb25faW5wdXQgPSBvbWFwX2dwaW9fZGlyZWN0aW9uX2lucHV0LAorCS5k aXJlY3Rpb25fb3V0cHV0ID0gb21hcF9ncGlvX2RpcmVjdGlvbl9vdXRwdXQsCisJLmdldCA9IG9t YXBfZ3Bpb19nZXRfdmFsdWUsCisJLnNldCA9IG9tYXBfZ3Bpb19zZXRfdmFsdWUsCit9OworCitz dGF0aWMgaW50IG9tYXBfZ3Bpb19wcm9iZShzdHJ1Y3QgZGV2aWNlX2QgKmRldikKIHsKLQl2b2lk IF9faW9tZW0gKnJlZzsKKwlzdHJ1Y3Qgb21hcF9ncGlvX2NoaXAgKm9tYXBncGlvOworCisJb21h cGdwaW8gPSB4emFsbG9jKHNpemVvZigqb21hcGdwaW8pKTsKKwlvbWFwZ3Bpby0+YmFzZSA9IGRl dl9yZXF1ZXN0X21lbV9yZWdpb24oZGV2LCAwKTsKKwlvbWFwZ3Bpby0+Y2hpcC5vcHMgPSAmb21h cF9ncGlvX29wczsKKwlvbWFwZ3Bpby0+Y2hpcC5iYXNlID0gLTE7CisJb21hcGdwaW8tPmNoaXAu bmdwaW8gPSAzMjsKKwlvbWFwZ3Bpby0+Y2hpcC5kZXYgPSBkZXY7CisJZ3Bpb2NoaXBfYWRkKCZv bWFwZ3Bpby0+Y2hpcCk7CiAKLQlpZiAoY2hlY2tfZ3BpbyhncGlvKSA8IDApCi0JCXJldHVybiAt RUlOVkFMOwotCXJlZyA9IGdldF9ncGlvX2Jhc2UoZ3Bpbyk7CisJZGV2X2luZm8oZGV2LCAicHJv YmVkIGdwaW9jaGlwJWQgd2l0aCBiYXNlICVkXG4iLAorCQkJCWRldi0+aWQsIG9tYXBncGlvLT5j aGlwLmJhc2UpOworCisJcmV0dXJuIDA7Cit9CiAKLQlyZWcgKz0gT01BUF9HUElPX0RBVEFJTjsK K3N0YXRpYyBzdHJ1Y3QgZHJpdmVyX2Qgb21hcF9ncGlvX2RyaXZlciA9IHsKKwkubmFtZSA9ICJv bWFwLWdwaW8iLAorCS5wcm9iZSA9IG9tYXBfZ3Bpb19wcm9iZSwKK307CiAKLQlyZXR1cm4gKF9f cmF3X3JlYWRsKHJlZykgJiAoMSA8PCBnZXRfZ3Bpb19pbmRleChncGlvKSkpICE9IDA7CitzdGF0 aWMgaW50IG9tYXBfZ3Bpb19hZGQodm9pZCkKK3sKKwlyZWdpc3Rlcl9kcml2ZXIoJm9tYXBfZ3Bp b19kcml2ZXIpOworCXJldHVybiAwOwogfQorY29yZWRldmljZV9pbml0Y2FsbChvbWFwX2dwaW9f YWRkKTsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9vbWFwM19nZW5lcmljLmMgYi9h cmNoL2FybS9tYWNoLW9tYXAvb21hcDNfZ2VuZXJpYy5jCmluZGV4IDRhYjI2NWEuLjBlOWNkNzEg MTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcC9vbWFwM19nZW5lcmljLmMKKysrIGIvYXJj aC9hcm0vbWFjaC1vbWFwL29tYXAzX2dlbmVyaWMuYwpAQCAtNTE1LDMgKzUxNSwyMiBAQCBjb25z dCBzdHJ1Y3QgZ3BtY19jb25maWcgb21hcDNfbmFuZF9jZmcgPSB7CiAJLmJhc2UgPSAweDI4MDAw MDAwLAogCS5zaXplID0gR1BNQ19TSVpFXzE2TSwKIH07CisKK3N0YXRpYyBpbnQgb21hcDNfZ3Bp b19pbml0KHZvaWQpCit7CisJYWRkX2dlbmVyaWNfZGV2aWNlKCJvbWFwLWdwaW8iLCAwLCBOVUxM LCAweDQ4MzEwMDAwLAorCQkJCQkweDEwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9n ZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwgMSwgTlVMTCwgMHg0OTA1MDAwMCwKKwkJCQkJMHgx MDAsIElPUkVTT1VSQ0VfTUVNLCBOVUxMKTsKKwlhZGRfZ2VuZXJpY19kZXZpY2UoIm9tYXAtZ3Bp byIsIDIsIE5VTEwsIDB4NDkwNTIwMDAsCisJCQkJCTB4MTAwLCBJT1JFU09VUkNFX01FTSwgTlVM TCk7CisJYWRkX2dlbmVyaWNfZGV2aWNlKCJvbWFwLWdwaW8iLCAzLCBOVUxMLCAweDQ5MDU0MDAw LAorCQkJCQkweDEwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2Rldmlj ZSgib21hcC1ncGlvIiwgNCwgTlVMTCwgMHg0OTA1NjAwMCwKKwkJCQkJMHgxMDAsIElPUkVTT1VS Q0VfTUVNLCBOVUxMKTsKKwlhZGRfZ2VuZXJpY19kZXZpY2UoIm9tYXAtZ3BpbyIsIDUsIE5VTEws IDB4NDkwNTgwMDAsCisJCQkJCTB4MTAwLCBJT1JFU09VUkNFX01FTSwgTlVMTCk7CisKKwlyZXR1 cm4gMDsKK30KK2NvcmVkZXZpY2VfaW5pdGNhbGwob21hcDNfZ3Bpb19pbml0KTsKZGlmZiAtLWdp dCBhL2FyY2gvYXJtL21hY2gtb21hcC9vbWFwNF9nZW5lcmljLmMgYi9hcmNoL2FybS9tYWNoLW9t YXAvb21hcDRfZ2VuZXJpYy5jCmluZGV4IDYxN2Q3ODYuLmExNTlkZmMgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtL21hY2gtb21hcC9vbWFwNF9nZW5lcmljLmMKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFw L29tYXA0X2dlbmVyaWMuYwpAQCAtNTcyLDMgKzU3MiwyMiBAQCBjb25zdCBzdHJ1Y3QgZ3BtY19j b25maWcgb21hcDRfbmFuZF9jZmcgPSB7CiAJLmJhc2UgPSAweDI4MDAwMDAwLAogCS5zaXplID0g R1BNQ19TSVpFXzE2TSwKIH07CisKK3N0YXRpYyBpbnQgb21hcDRfZ3Bpb19pbml0KHZvaWQpCit7 CisJYWRkX2dlbmVyaWNfZGV2aWNlKCJvbWFwLWdwaW8iLCAwLCBOVUxMLCAweDRhMzEwMTAwLAor CQkJCTB4MTAwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2RldmljZSgi b21hcC1ncGlvIiwgMSwgTlVMTCwgMHg0ODA1NTEwMCwKKwkJCQkweDEwMDAsIElPUkVTT1VSQ0Vf TUVNLCBOVUxMKTsKKwlhZGRfZ2VuZXJpY19kZXZpY2UoIm9tYXAtZ3BpbyIsIDIsIE5VTEwsIDB4 NDgwNTcxMDAsCisJCQkJMHgxMDAwLCBJT1JFU09VUkNFX01FTSwgTlVMTCk7CisJYWRkX2dlbmVy aWNfZGV2aWNlKCJvbWFwLWdwaW8iLCAzLCBOVUxMLCAweDQ4MDU5MTAwLAorCQkJCTB4MTAwMCwg SU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwg NCwgTlVMTCwgMHg0ODA1YjEwMCwKKwkJCQkweDEwMDAsIElPUkVTT1VSQ0VfTUVNLCBOVUxMKTsK KwlhZGRfZ2VuZXJpY19kZXZpY2UoIm9tYXAtZ3BpbyIsIDUsIE5VTEwsIDB4NDgwNWQxMDAsCisJ CQkJMHgxMDAwLCBJT1JFU09VUkNFX01FTSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KK2NvcmVk ZXZpY2VfaW5pdGNhbGwob21hcDRfZ3Bpb19pbml0KTsKLS0gCjEuNy4wLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlz dApiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9iYXJlYm94Cg==