PD9waHAKLyoKIFBsdWdpbiBOYW1lOiBVbmRlciBDb25zdHJ1Y3Rpb24KIFBsdWdpbiBVUkk6IGh0dHA6Ly93d3cubWFzc2VsdGVjaC5jb20vCiBEZXNjcmlwdGlvbjogTWFrZXMgaXQgc28geW91ciBzaXRlIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGJ5IHVzZXJzIHdobyBsb2cgaW4uIFVzZWZ1bCBmb3IgZGV2ZWxvcGluZyBhIHNpdGUgb24gYSBsaXZlIHNlcnZlciwgd2l0aG91dCB0aGUgd29ybGQgYmVpbmcgYWJsZSB0byBzZWUgaXQKIFZlcnNpb246IDEuMTIKIEF1dGhvcjogSmVyZW15IE1hc3NlbAogQXV0aG9yIFVSSTogaHR0cDovL3d3dy5tYXNzZWx0ZWNoLmNvbS8KICovCgovKgogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdW5kZXJDb25zdHJ1Y3Rpb24uCiB1bmRlckNvbnN0cnVjdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiB1bmRlckNvbnN0cnVjdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogYWxvbmcgd2l0aCB1bmRlckNvbnN0cnVjdGlvbi4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICovCgo/Pgo8P3BocApjbGFzcyB1bmRlckNvbnN0cnVjdGlvbgp7Cgl2YXIgJGluc3RhbGxlZEZvbGRlciA9ICIiOwoJdmFyICRtYWluT3B0aW9uc1BhZ2UgPSAidW5kZXJDb25zdHJ1Y3Rpb25NYWluT3B0aW9ucyI7CgoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQoJewoJCSR0aGlzLT5pbnN0YWxsZWRGb2xkZXIgPSBiYXNlbmFtZShkaXJuYW1lKF9fRklMRV9fKSk7Cgl9CgoJZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb24oKQoJewoJCSR0aGlzLT5fX2NvbnN0cnVjdCgpOwoJfQoKCWZ1bmN0aW9uIGdldE1haW5PcHRpb25zUGFnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5tYWluT3B0aW9uc1BhZ2U7Cgl9CgoJZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25BZG1pbkluaXQoKQoJewoJCS8qIFJlZ2lzdGVyIG91ciBzY3JpcHQuICovCgkJd3BfcmVnaXN0ZXJfc2NyaXB0KCd1bmRlckNvbnN0cnVjdGlvbkpTJywgV1BfUExVR0lOX1VSTC4nLycuJHRoaXMtPmluc3RhbGxlZEZvbGRlci4nL3VuZGVyY29uc3RydWN0aW9uLm1pbi5qcycpOwoJfQoKCWZ1bmN0aW9uIHVjX2NoYW5nZU1lc3NhZ2UoKQoJewoJCXJlcXVpcmVfb25jZSAoJ3VjT3B0aW9ucy5waHAnKTsKCX0KCglmdW5jdGlvbiB1Y19hZG1pbk1lbnUoKQoJewoJCS8qIFJlZ2lzdGVyIG91ciBwbHVnaW4gcGFnZSAqLwoJCSRwYWdlID0gYWRkX29wdGlvbnNfcGFnZSgnVW5kZXIgQ29uc3RydWN0aW9uIFNldHRpbmdzJywgJ1VuZGVyIENvbnN0cnVjdGlvbicsICdhY3RpdmF0ZV9wbHVnaW5zJywgJHRoaXMtPm1haW5PcHRpb25zUGFnZSwgYXJyYXkoJHRoaXMsICd1Y19jaGFuZ2VNZXNzYWdlJykpOwoKCQkvKiBVc2luZyByZWdpc3RlcmVkICRwYWdlIGhhbmRsZSB0byBob29rIHNjcmlwdCBsb2FkICovCgkJYWRkX2FjdGlvbignYWRtaW5fcHJpbnRfc2NyaXB0cy0nLiRwYWdlLCBhcnJheSgkdGhpcywgJ3VuZGVyQ29uc3RydWN0aW9uRW5xdWV1ZVNjcmlwdHMnKSk7CgoJfQoKCWZ1bmN0aW9uIHVuZGVyQ29uc3RydWN0aW9uRW5xdWV1ZVNjcmlwdHMoKQoJewoJCS8qCgkJICogSXQgd2lsbCBiZSBjYWxsZWQgb25seSBvbiB5b3VyIHBsdWdpbiBhZG1pbiBwYWdlLCBlbnF1ZXVlIG91ciBzY3JpcHQgaGVyZQoJCSAqLwoJCXdwX2VucXVldWVfc2NyaXB0KCdzY3JpcHRhY3Vsb3VzJyk7CgkJd3BfZW5xdWV1ZV9zY3JpcHQoJ3VuZGVyQ29uc3RydWN0aW9uSlMnKTsKCX0KCglmdW5jdGlvbiB1Y19vdmVycmlkZVdQKCkKCXsKCQlpZiAoJHRoaXMtPnBsdWdpbklzQWN0aXZlKCkpCgkJewoJCQlpZiAoIWlzX3VzZXJfbG9nZ2VkX2luKCkpCgkJCXsKCQkJCSRhcnJheSA9IGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uSVBXaGl0ZWxpc3QnKTsKCQkJCQoJCQkJaWYoIWlzX2FycmF5KCRhcnJheSkpewoJCQkJCSRhcnJheSA9IGFycmF5KCk7CgkJCQl9CgkJCQkKCQkJCWlmKCFpbl9hcnJheSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSwgJGFycmF5KSl7CgoJCQkJCS8vc2VuZCBhIDUwMyBpZiB0aGUgc2V0dGluZyByZXF1aXJlcyBpdAoJCQkJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUVFBTdGF0dXMnKSA9PSA1MDMpCgkJCQkJewoJCQkJCQloZWFkZXIoJ0hUVFAvMS4xIDUwMyBTZXJ2aWNlIFVuYXZhaWxhYmxlJyk7CgkJCQkJfQoKCQkJCQkvL3NlbmQgYSA1MDMgaWYgdGhlIHNldHRpbmcgcmVxdWlyZXMgaXQKCQkJCQlpZiAoZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJykgPT0gMzAxKQoJCQkJCXsKCQkJCQkJaGVhZGVyKCAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5IiApOwoJCQkJCQloZWFkZXIoICJMb2NhdGlvbjogIiAuIGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVkaXJlY3RVUkwnKSApOwoJCQkJCX0KCgkJCQkJaWYgKCR0aGlzLT5kaXNwbGF5U3RhdHVzQ29kZUlzKDApKSAvL3RoZXkgd2FudCB0aGUgZGVmYXVsdCEKCQkJCQl7CgkJCQkJCXJlcXVpcmVfb25jZSAoJ2RlZmF1bHRNZXNzYWdlLnBocCcpOwoJCQkJCQlkaXNwbGF5RGVmYXVsdENvbWluZ1Nvb25QYWdlKCk7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCgkJCQkJaWYgKCR0aGlzLT5kaXNwbGF5U3RhdHVzQ29kZUlzKDEpKSAvL3RoZXkgd2FudCB0aGUgZGVmYXVsdCB3aXRoIGN1c3RvbSB0ZXh0IQoJCQkJCXsKCQkJCQkJcmVxdWlyZV9vbmNlICgnZGVmYXVsdE1lc3NhZ2UucGhwJyk7CgkJCQkJCWRpc3BsYXlDb21pbmdTb29uUGFnZSgkdGhpcy0+Z2V0Q3VzdG9tUGFnZVRpdGxlKCksICR0aGlzLT5nZXRDdXN0b21IZWFkZXJUZXh0KCksICR0aGlzLT5nZXRDdXN0b21Cb2R5VGV4dCgpKTsKCQkJCQkJZGllKCk7CgkJCQkJfQoKCQkJCQlpZiAoJHRoaXMtPmRpc3BsYXlTdGF0dXNDb2RlSXMoMikpIC8vdGhleSB3YW50IGN1c3RvbSBIVE1MIQoJCQkJCXsKCQkJCQkJZWNobyBodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPmdldEN1c3RvbUhUTUwoKSwgRU5UX1FVT1RFUyk7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCQkKCQkJCQlpZigkdGhpcy0+ZGlzcGxheVN0YXR1c0NvZGVJcygzKSl7CgkJCQkJCXJlcXVpcmVfb25jZShnZXRfdGVtcGxhdGVfZGlyZWN0b3J5KCkgLiAnL3VuZGVyLWNvbnN0cnVjdGlvbi5waHAnKTsKCQkJCQkJZGllKCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIHVjX2FkbWluX292ZXJyaWRlX1dQKCl7CgoJCWlmKCEkdGhpcy0+cGx1Z2luSXNBY3RpdmUoKSl7CgkJCXJldHVybjsKCQl9CgoJCWlmKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVxdWlyZWRSb2xlJykgJiYgaXNfdXNlcl9sb2dnZWRfaW4oKSl7CgkJCQoJCQlnbG9iYWwgJHdwX3JvbGVzOwoJCQkkYWxsX3JvbGVzID0gJHdwX3JvbGVzLT5yb2xlczsKCQkJCQkKCQkJJGVkaXRhYmxlX3JvbGVzID0gYXBwbHlfZmlsdGVycygnZWRpdGFibGVfcm9sZXMnLCAkYWxsX3JvbGVzKTsKCgkJCSRyZXF1aXJlZF9yb2xlID0gJGVkaXRhYmxlX3JvbGVzW2dldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVxdWlyZWRSb2xlJyldOwoKCQkJJG5ld19wcml2cyA9IGFycmF5KCk7CgoKCQkJZm9yZWFjaCgkcmVxdWlyZWRfcm9sZVsnY2FwYWJpbGl0aWVzJ10gYXMgJGtleSA9PiAkdmFsdWUpewoJCQkJaWYoJHZhbHVlID09IHRydWUpewoJCQkJCSRuZXdfcHJpdnNbXSA9ICRrZXk7CgkJCQl9CgkJCX0KCgkJCWlmKCFjdXJyZW50X3VzZXJfY2FuKCRuZXdfcHJpdnNbMF0pKXsKCQkJCXdwX2xvZ291dCgpOwoJCQkJd3BfcmVkaXJlY3QoZ2V0X2Jsb2dpbmZvKCd1cmwnKSk7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tSFRNTCgpCgl7CgkJcmV0dXJuIHN0cmlwc2xhc2hlcyhnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUTUwnKSk7Cgl9CgoKCWZ1bmN0aW9uIHVjX2FjdGl2YXRlKCkKCXsKCQlpZiAoZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJykpCgkJewoJCQkvL2dldCBhbGwgdGhlIG9wdGlvbnMgYmFjayBmcm9tIHRoZSBhcmNoaXZlCgkJCSRvcHRpb25zID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJyk7CgoJCQkvL3B1dCB0aGVtIGJhY2sgd2hlcmUgdGhleSBiZWxvbmcKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRNTCddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cyddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0JywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbiddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRUUFN0YXR1cyddKTsKCgkJCWRlbGV0ZV9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQXJjaGl2ZScpOwoJCX0KCX0KCglmdW5jdGlvbiB1Y19kZWFjdGl2YXRlKCkKCXsKCQkvL2dldCBhbGwgdGhlIG9wdGlvbnMuIHN0b3JlIHRoZW0gaW4gYW4gYXJyYXkKCQkkb3B0aW9ucyA9IGFycmF5KCk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRNTCddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cyddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0Jyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbiddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRUUFN0YXR1cyddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJyk7CgoJCS8vc3RvcmUgdGhlIG9wdGlvbnMgYWxsIGluIG9uZSByZWNvcmQsIGluIGNhc2Ugd2UgZXZlciByZWFjdGl2YXRlIHRoZSBwbHVnaW4KCQl1cGRhdGVfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkFyY2hpdmUnLCAkb3B0aW9ucyk7CgoJCS8vZGVsZXRlIHRoZSBzZXBhcmF0ZSBvbmVzCgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0Jyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJyk7Cgl9CgoJZnVuY3Rpb24gcGx1Z2luSXNBY3RpdmUoKQoJewoKCQlpZiAoIWdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cycpKSAvL2lmIGl0J3Mgbm90IHNldCB5ZXQKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkFjdGl2YXRpb25TdGF0dXMnKSA9PSAxKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgoJZnVuY3Rpb24gaHR0cFN0YXR1c0NvZGVJcygkc3RhdHVzKQoJewoJCWlmICghZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJykpIC8vaWYgaXQncyBub3Qgc2V0IHlldAoJCXsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJywgMjAwKTsgLy9zZXQgaXQKCQl9CgoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUVFBTdGF0dXMnKSA9PSAkc3RhdHVzKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJfQoKCWZ1bmN0aW9uIGRpc3BsYXlTdGF0dXNDb2RlSXMoJHN0YXR1cykKCXsKCQlpZiAoIWdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicpKSAvL2lmIGl0J3Mgbm90IHNldCB5ZXQKCQl7CgkJCXVwZGF0ZV9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicsIDApOyAvL3NldCBpdAoJCX0KCgkJaWYgKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicpID09ICRzdGF0dXMpCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCglmdW5jdGlvbiBnZXRDdXN0b21QYWdlVGl0bGUoKQoJewoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKSAhPSBmYWxzZSkKCQl7CgkJCSRmaWVsZHMgPSBnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKTsKCQkJcmV0dXJuIHN0cmlwc2xhc2hlcygkZmllbGRzWydwYWdlVGl0bGUnXSk7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAnJzsKCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tSGVhZGVyVGV4dCgpCgl7CgkJaWYgKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCcpICE9IGZhbHNlKQoJCXsKCQkJJGZpZWxkcyA9IGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCcpOwoJCQlyZXR1cm4gc3RyaXBzbGFzaGVzKCRmaWVsZHNbJ2hlYWRlclRleHQnXSk7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAnJzsKCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tQm9keVRleHQoKQoJewoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKSAhPSBmYWxzZSkKCQl7CgkJCSRmaWVsZHMgPSBnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKTsKCQkJcmV0dXJuIHN0cmlwc2xhc2hlcygkZmllbGRzWydib2R5VGV4dCddKTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICcnOwoJCX0KCX0KCgp9CgokdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4gPSBuZXcgdW5kZXJDb25zdHJ1Y3Rpb24oKTsKCmFkZF9hY3Rpb24oJ3RlbXBsYXRlX3JlZGlyZWN0JywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndWNfb3ZlcnJpZGVXUCcpKTsKYWRkX2FjdGlvbignYWRtaW5faW5pdCcsIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FkbWluX292ZXJyaWRlX1dQJykpOwphZGRfYWN0aW9uKCd3cF9sb2dpbicsIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FkbWluX292ZXJyaWRlX1dQJykpOwoKCmFkZF9hY3Rpb24oJ3BsdWdpbnNfbG9hZGVkJywgJ3VuZGVyQ29uc3RydWN0aW9uSW5pdFRyYW5zbGF0aW9uJyk7CgphZGRfYWN0aW9uKCdhZG1pbl9pbml0JywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndW5kZXJDb25zdHJ1Y3Rpb25BZG1pbkluaXQnKSk7CmFkZF9hY3Rpb24oJ2FkbWluX21lbnUnLCBhcnJheSgkdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4sICd1Y19hZG1pbk1lbnUnKSk7CgpyZWdpc3Rlcl9hY3RpdmF0aW9uX2hvb2soX19GSUxFX18sIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FjdGl2YXRlJykpOwpyZWdpc3Rlcl9kZWFjdGl2YXRpb25faG9vayhfX0ZJTEVfXywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndWNfZGVhY3RpdmF0ZScpKTsKcmVnaXN0ZXJfdW5pbnN0YWxsX2hvb2soX19GSUxFX18sICd1bmRlckNvbnN0cnVjdGlvblBsdWdpbl9kZWxldGUnKTsKCgoKZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW5fZGVsZXRlKCkKewoJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJyk7Cn0KCmZ1bmN0aW9uIHVjX2dldF9pcF9hZGRyZXNzKCl7CgllY2hvICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwoJZGllKCk7Cn0KCgpmdW5jdGlvbiB1bmRlckNvbnN0cnVjdGlvblBsdWdpbkxpbmtzKCRsaW5rcywgJGZpbGUpCnsKCWdsb2JhbCAkdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW47CglpZiAoJGZpbGUgPT0gYmFzZW5hbWUoZGlybmFtZShfX0ZJTEVfXykpLicvJy5iYXNlbmFtZShfX0ZJTEVfXykgJiYgZnVuY3Rpb25fZXhpc3RzKCJhZG1pbl91cmwiKSkKCXsKCQkvL2FkZCBzZXR0aW5ncyBwYWdlCgkJJG1hbmFnZV9saW5rID0gJzxhIGhyZWY9IicuYWRtaW5fdXJsKCdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9Jy4kdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4tPmdldE1haW5PcHRpb25zUGFnZSgpKS4nIj4nLl9fKCdTZXR0aW5ncycpLic8L2E+JzsKCQlhcnJheV91bnNoaWZ0KCRsaW5rcywgJG1hbmFnZV9saW5rKTsKCgoJfQoJcmV0dXJuICRsaW5rczsKfQoKZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25Jbml0VHJhbnNsYXRpb24oKSB7CiAgbG9hZF9wbHVnaW5fdGV4dGRvbWFpbiggJ3VuZGVyY29uc3RydWN0aW9uJywgZmFsc2UsIGRpcm5hbWUoIHBsdWdpbl9iYXNlbmFtZSggX19GSUxFX18gKSApIC4gJy9sYW5ndWFnZXMvJyApOwp9CgoKYWRkX2ZpbHRlcigncGx1Z2luX2FjdGlvbl9saW5rcycsICd1bmRlckNvbnN0cnVjdGlvblBsdWdpbkxpbmtzJywgMTAsIDIpOwoKCi8vYWpheAoKYWRkX2FjdGlvbignd3BfYWpheF91Y19nZXRfaXBfYWRkcmVzcycsICd1Y19nZXRfaXBfYWRkcmVzcycpOwoKPz4gNzc3Nzc3Nzc3Nwo=
Warning: Cannot modify header information - headers already sent by (output started at D:\inetpub\webs\txutxemovidanet\wp-content\plugins\underconstruction\underConstruction.php:1) in D:\inetpub\webs\txutxemovidanet\wp-content\themes\mystique\core\AtomObjectPost.php on line 383

Warning: Cannot modify header information - headers already sent by (output started at D:\inetpub\webs\txutxemovidanet\wp-content\plugins\underconstruction\underConstruction.php:1) in D:\inetpub\webs\txutxemovidanet\wp-includes\feed-rss2-comments.php on line 8
Comentarios en: CALLES GREGORIO MARAÑÓN Y Mª AUXILIADORA http://www.txutxemovida.net/?p=1567 Un repaso a lo que se coció en Algeciras en esas décadas Thu, 17 Dec 2020 12:00:21 +0000 hourly 1 http://wordpress.org/?v=3.2.1 Por: jose luis http://www.txutxemovida.net/?p=1567#comment-1225 jose luis Sun, 02 Jun 2013 20:26:10 +0000 http://www.txutxemovida.net/?p=1567#comment-1225 Hola Carlos buenos recuerdos de tu bar.Tu con tu sombrero y siempre cantando si señor. pedazo de cocinero y las aceitunas buenisimas.Que pena buenisimo sitio . Hola Carlos buenos recuerdos de tu bar.Tu con tu sombrero y siempre cantando si señor. pedazo de cocinero y las aceitunas buenisimas.Que pena buenisimo sitio .

]]>
Por: Anónimo http://www.txutxemovida.net/?p=1567#comment-195 Anónimo Tue, 04 Sep 2012 17:42:23 +0000 http://www.txutxemovida.net/?p=1567#comment-195 si señor buenos bocatas de tortillas me comi alli si señor buenos bocatas de tortillas me comi alli

]]>
Por: Admin http://www.txutxemovida.net/?p=1567#comment-194 Admin Thu, 30 Aug 2012 00:00:58 +0000 http://www.txutxemovida.net/?p=1567#comment-194 Hola Carlos. Gracias por tu comentario y tu aclaración. ¡Buenas tortillas me comí en tu bar! De nuevo, perdón por no haberlo incluido en el artículo. Se lo merece de sobra. Fué todo un referente y una novedad en la época. Un saludo. Hola Carlos. Gracias por tu comentario y tu aclaración.
¡Buenas tortillas me comí en tu bar!
De nuevo, perdón por no haberlo incluido en el artículo. Se lo merece de sobra. Fué todo un referente y una novedad en la época.
Un saludo.

]]>
Por: Carlos Lima http://www.txutxemovida.net/?p=1567#comment-193 Carlos Lima Wed, 29 Aug 2012 23:10:09 +0000 http://www.txutxemovida.net/?p=1567#comment-193 Buenas, soy Carlos, el dueño de Doña Tortilla, ojeando por Internet me he topado con esta noticia. Antes de nada darle las gracias a Galo por recordar mi bar con tanto cariño como ha mostrado en esas palabras. Y a ti Administrador de este blog, solo rectificarte que mi bar nunca fué traspasado a nadie, lo que pasó es que se copió en varios sitios como en La Línea, Estepona, incluso en Cádiz, de lo cual me siento alagado y orgulloso por plasmar mi idea en distintos lugares. Bueno era solo eso, para aclarar. Y vuelvo a repetir que gracias por tener en la memoria todavia mi negocio. Buenas, soy Carlos, el dueño de Doña Tortilla, ojeando por Internet me he topado con esta noticia. Antes de nada darle las gracias a Galo por recordar mi bar con tanto cariño como ha mostrado en esas palabras. Y a ti Administrador de este blog, solo rectificarte que mi bar nunca fué traspasado a nadie, lo que pasó es que se copió en varios sitios como en La Línea, Estepona, incluso en Cádiz, de lo cual me siento alagado y orgulloso por plasmar mi idea en distintos lugares. Bueno era solo eso, para aclarar. Y vuelvo a repetir que gracias por tener en la memoria todavia mi negocio.

]]>
Por: admin http://www.txutxemovida.net/?p=1567#comment-58 admin Sun, 27 Nov 2011 18:44:06 +0000 http://www.txutxemovida.net/?p=1567#comment-58 Sí, es verdad. No me olvidé, pero al ser un bar y no un pub no lo puse, aunque debería haberlo hecho, pues fué un bar enseña dentro de la calle Gregorio Marañón. Recuerdo que había tortilla hasta de plátanos. Más tarde este bar fué traspasado a Alfredo Martín y a Antonio, un linense, que lo llevaron bastante bien con un ambiente muy bueno. Yo iba mucho con ambos dueños y los dos tuvieron su atractivo,. Gracias Galo. Un sitio para recordar. Sí, es verdad. No me olvidé, pero al ser un bar y no un pub no lo puse, aunque debería haberlo hecho, pues fué un bar enseña dentro de la calle Gregorio Marañón. Recuerdo que había tortilla hasta de plátanos. Más tarde este bar fué traspasado a Alfredo Martín y a Antonio, un linense, que lo llevaron bastante bien con un ambiente muy bueno. Yo iba mucho con ambos dueños y los dos tuvieron su atractivo,.
Gracias Galo. Un sitio para recordar.

]]>
Por: Galo http://www.txutxemovida.net/?p=1567#comment-57 Galo Sun, 27 Nov 2011 18:39:07 +0000 http://www.txutxemovida.net/?p=1567#comment-57 te has olvidado de un bar que fue referente para la gente de Algeciras durante mucho tiempo pues los bocadillos que nos comimos alli eran extraordinarios , me estoy refiriendo a Doña Tortilla regentada por ese curioso personaje hoy dedicado a la venta de cupones de la ONCE Carlos Lima , estuvo situado el local durante muchisimo tiempo en la calle Luis Braille y era pequeño pero largo y servia mas de 15 variedades distintas de Tortillas , luego paso a la calle Sevilla ( al local que hoy es la Cepa ) e incluso ganó mas de un premio en diferentes concursos que se hicieron de tortillas te has olvidado de un bar que fue referente para la gente de Algeciras durante mucho tiempo pues los bocadillos que nos comimos alli eran extraordinarios , me estoy refiriendo a Doña Tortilla regentada por ese curioso personaje hoy dedicado a la venta de cupones de la ONCE Carlos Lima , estuvo situado el local durante muchisimo tiempo en la calle Luis Braille y era pequeño pero largo y servia mas de 15 variedades distintas de Tortillas , luego paso a la calle Sevilla ( al local que hoy es la Cepa ) e incluso ganó mas de un premio en diferentes concursos que se hicieron de tortillas

]]>