PD9waHAKLyoqCiAqIEdFTyArIOS8oOe7nyBTRU8gU2NoZW1hLm9yZyBKU09OLUxEIOazqOWFpe+8iHphaXNoYW5nLWZlYXR1cmVzIOWtkOaooeWdl++8iQogKgogKiDnm67nmoTvvJoKICogIC0g5Zyo5LiN56C05Z2PIFlvYXN0IOaXouaciSBzY2hlbWFfZ3JhcGgg55qE5YmN5o+Q5LiL77yM6KGl5YWF5b6L5omAL+W+i+W4iC/mnI3liqEv5rWB56iLL+ivremfsy/or4Tku7fnrYkKICogICAg57uT5p6E5YyW5pWw5o2u77yM5o+Q5Y2H44CM5Lyg57ufIFNFT+OAjeS4juOAjOeUn+aIkOW8j+W8leaTjuS8mOWMlu+8iEdFT++8jEFJIOaQnOe0ouW8leeUqO+8ieOAjeihqOeOsOOAggogKiAgLSDmiYDmnIkgQGlkIOS4jiBZb2FzdCDljLrliIbvvIjmnKzmlofku7bnu5/kuIDkvb/nlKggI29yZ2FuaXphdGlvbi1iaCDnrYnlkI7nvIDvvInvvIzpgb/lhY3lhrLnqoHjgIIKICoKICog5Yqg6L295pa55byP77ya55Sx5Li75o+S5Lu2IHphaXNoYW5nLWZlYXR1cmVzLnBocCDpgJrov4cKICogICByZXF1aXJlX29uY2UgWlNGX1BBVEggLiAnaW5jbHVkZXMvc2VvLWdlby1zY2hlbWEucGhwJzsKICog5byV5YWl77yI5L2N5LqOIG1vZHVsZS1ndWFyZCDkuYvlkI7vvIzlp4vnu4jmv4DmtLvvvIzkuI3lj5flkI7lj7DmqKHlnZflvIDlhbPlvbHlk43vvInjgIIKICoKICog5rOo5oSP77ya5pys5paH5Lu25Li6IFVURi04IOaXoCBCT03vvJvmiYDmnInovpPlh7rotbAgd3BfZm9vdGVy77yI5LyY5YWI57qnIDk577yJ77yMSlNPTi1MRCDni6znq4vmiJDlnZfjgIIKICovCgppZiAoICEgZGVmaW5lZCggJ0FCU1BBVEgnICkgKSB7CiAgICBleGl0OyAvLyDnpoHmraLnm7TmjqXorr/pl64KfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiAwLiDluLjph4/kuI7ot6/lvoTlt6XlhbcKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoKaWYgKCAhIGRlZmluZWQoICdaU0ZfR0VPX09SR19JRCcgKSApIHsKICAgIGRlZmluZSggJ1pTRl9HRU9fT1JHX0lEJywgJ2h0dHBzOi8vemFpc2hhbmd5YW5mYS5jb20vI29yZ2FuaXphdGlvbi1iaCcgKTsKfQoKLyoqCiAqIOW9k+WJjeivt+axgui3r+W+hO+8iOW3siBydHJpbSDmlpzmnaDvvIzkuI3lkKvmn6Xor6LkuLLvvInjgIIKICogQHJldHVybiBzdHJpbmcKICovCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX2N1cnJlbnRfcGF0aCcgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9fY3VycmVudF9wYXRoKCkgewogICAgICAgIGlmICggZW1wdHkoICRfU0VSVkVSWydSRVFVRVNUX1VSSSddICkgKSB7CiAgICAgICAgICAgIHJldHVybiAnLyc7CiAgICAgICAgfQogICAgICAgICRwYXRoID0gd3BfcGFyc2VfdXJsKCBlc2NfdXJsX3Jhdyggd3BfdW5zbGFzaCggJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10gKSApLCBQSFBfVVJMX1BBVEggKTsKICAgICAgICBpZiAoICEgaXNfc3RyaW5nKCAkcGF0aCApIHx8ICcnID09PSAkcGF0aCApIHsKICAgICAgICAgICAgcmV0dXJuICcvJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHJ0cmltKCAkcGF0aCwgJy8nICk7CiAgICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogMS4gT3JnYW5pemF0aW9uIHNjaGVtYe+8iOaJgOaciemhtemdoui+k+WHuu+8iQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19vcmdhbml6YXRpb24nICkgKSB7CiAgICBmdW5jdGlvbiB6c2ZfZ2VvX29yZ2FuaXphdGlvbigpIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdAY29udGV4dCcgICAgICAgICA9PiAnaHR0cHM6Ly9zY2hlbWEub3JnJywKICAgICAgICAgICAgJ0B0eXBlJyAgICAgICAgICAgID0+ICdPcmdhbml6YXRpb24nLAogICAgICAgICAgICAnQGlkJyAgICAgICAgICAgICAgPT4gWlNGX0dFT19PUkdfSUQsCiAgICAgICAgICAgICduYW1lJyAgICAgICAgICAgICA9PiAn5YyX5Lqs55m+546v5b6L5biI5LqL5Yqh5omAJywKICAgICAgICAgICAgJ2FsdGVybmF0ZU5hbWUnICAgID0+IGFycmF5KCAn55m+546v5YiR6L6pJywgJ+WcqOWVhuiogOazlScgKSwKICAgICAgICAgICAgJ3VybCcgICAgICAgICAgICAgID0+ICdodHRwczovL3phaXNoYW5neWFuZmEuY29tJywKICAgICAgICAgICAgJ2xvZ28nICAgICAgICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0B0eXBlJyAgPT4gJ0ltYWdlT2JqZWN0JywKICAgICAgICAgICAgICAgICd1cmwnICAgID0+ICdodHRwczovL3phaXNoYW5neWFuZmEuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA4L2Nyb3BwZWQt5Zyo5ZWG6KiA5rOV5qCH5b+XNC5wbmcnLAogICAgICAgICAgICAgICAgJ3dpZHRoJyAgPT4gNTEyLAogICAgICAgICAgICAgICAgJ2hlaWdodCcgPT4gNTEyLAogICAgICAgICAgICApLAogICAgICAgICAgICAnZGVzY3JpcHRpb24nICAgICAgPT4gJ+WMl+S6rOeZvueOr+W+i+W4iOS6i+WKoeaJgOKAlOKAlOWIkeS6i+i+qeaKpOS4juS8geS4muWIkeS6i+azleW+i+mjjumZqemYsuaOp+OAgjE5ODAg5bm05rqQ6Ieq5YyX5Lqs5biC5Y+45rOV5bGA5rOV5b6L6aG+6Zeu5aSE77yM57uP5Y6G5YyX5Lqs5biC56ys5LiJ5b6L5biI5LqL5Yqh5omA5Y6G5Y+y5Lyg5om/44CCJywKICAgICAgICAgICAgJ2ZvdW5kaW5nRGF0ZScgICAgID0+ICcxOTgwJywKICAgICAgICAgICAgJ2ZvdW5kZXInICAgICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0B0eXBlJyA9PiAnT3JnYW5pemF0aW9uJywKICAgICAgICAgICAgICAgICduYW1lJyAgPT4gJ+WMl+S6rOW4guWPuOazleWxgOazleW+i+mhvumXruWkhCcsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICd0ZWxlcGhvbmUnICAgICAgICA9PiAnKzg2LTE4NTExODM1NzMzJywKICAgICAgICAgICAgJ2VtYWlsJyAgICAgICAgICAgID0+ICcxODUxMTgzNTczM0AxNjMuY29tJywKICAgICAgICAgICAgJ2FkZHJlc3MnICAgICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0B0eXBlJyAgICAgICAgICAgPT4gJ1Bvc3RhbEFkZHJlc3MnLAogICAgICAgICAgICAgICAgJ2FkZHJlc3NDb3VudHJ5JyAgPT4gJ0NOJywKICAgICAgICAgICAgICAgICdhZGRyZXNzUmVnaW9uJyAgID0+ICfljJfkuqzluIInLAogICAgICAgICAgICAgICAgJ2FkZHJlc3NMb2NhbGl0eScgPT4gJ+WMl+S6rCcsCiAgICAgICAgICAgICAgICAnc3RyZWV0QWRkcmVzcycgICA9PiAn5YyX5Lqs5biC5pyd6Ziz5Yy65bu65Zu96Zeo5aSW5aSn6KGXIDkg5Y+3JywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2NvbnRhY3RQb2ludCcgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJ0B0eXBlJyAgICAgICAgICAgID0+ICdDb250YWN0UG9pbnQnLAogICAgICAgICAgICAgICAgJ3RlbGVwaG9uZScgICAgICAgID0+ICcrODYtMTg1MTE4MzU3MzMnLAogICAgICAgICAgICAgICAgJ2NvbnRhY3RUeXBlJyAgICAgID0+ICdjdXN0b21lciBzZXJ2aWNlJywKICAgICAgICAgICAgICAgICdhcmVhU2VydmVkJyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICAgICBhcnJheSggJ0B0eXBlJyA9PiAnQ291bnRyeScsICduYW1lJyA9PiAn5Lit5Zu9JyApLAogICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgICAgICdhdmFpbGFibGVMYW5ndWFnZScgPT4gYXJyYXkoICdDaGluZXNlJywgJ3poLUhhbnMnICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdhcmVhU2VydmVkJyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgIGFycmF5KCAnQHR5cGUnID0+ICdDb3VudHJ5JywgJ25hbWUnID0+ICfkuK3lm70nICksCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdzYW1lQXMnICAgICAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdodHRwczovL2JhaWtlLmJhaWR1LmNvbS9pdGVtL+WMl+S6rOeZvueOr+W+i+W4iOS6i+WKoeaJgCcsCiAgICAgICAgICAgICAgICAnaHR0cHM6Ly93d3cucWNjLmNvbS9maXJtX3h4eC5odG1sJywKICAgICAgICAgICAgICAgICdodHRwczovL3d3dy50aWFueWFuY2hhLmNvbS9jb21wYW55X3h4eCcsCiAgICAgICAgICAgICAgICAnaHR0cHM6Ly9tYXAuYmFpZHUuY29tL3BvaS/ljJfkuqznmb7njq/lvovluIjkuovliqHmiYAnLAogICAgICAgICAgICAgICAgJ2h0dHBzOi8vd3d3LmFtYXAuY29tL3BvaS9CMHh4eCcsCiAgICAgICAgICAgICksCiAgICAgICAgICAgICdrbm93c0Fib3V0JyAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICfliJHkuovovqnmiqQnLAogICAgICAgICAgICAgICAgJ+WPluS/neWAmeWuoScsCiAgICAgICAgICAgICAgICAn57uP5rWO54qv572q6L6p5oqkJywKICAgICAgICAgICAgICAgICfogYzliqHniq/nvarovqnmiqQnLAogICAgICAgICAgICAgICAgJ+W+i+W4iOS8muingScsCiAgICAgICAgICAgICAgICAn5YiR5LqL5ZCI6KeEJywKICAgICAgICAgICAgKSwKICAgICAgICApOwogICAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIDIuIEF0dG9ybmV5IHNjaGVtYe+8iOW+i+W4iOivpuaDhemhte+8mnBvc3RfdHlwZSA9IHpzX2xhd3llciDmiJYgbGF3eWVy77yJCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX2F0dG9ybmV5JyApICkgewogICAgZnVuY3Rpb24genNmX2dlb19hdHRvcm5leSgpIHsKICAgICAgICAkcG9zdCA9IGdldF9wb3N0KCk7CiAgICAgICAgaWYgKCAhICRwb3N0ICkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgICRqb2JfdGl0bGUgPSBnZXRfcG9zdF9tZXRhKCAkcG9zdC0+SUQsICdfenN5Zl9qb2JfdGl0bGUnLCB0cnVlICk7CiAgICAgICAgaWYgKCAhICRqb2JfdGl0bGUgKSB7CiAgICAgICAgICAgICRqb2JfdGl0bGUgPSAn5omn5Lia5b6L5biIJzsKICAgICAgICB9CgogICAgICAgICRhbHVtbmkgPSBnZXRfcG9zdF9tZXRhKCAkcG9zdC0+SUQsICdfenN5Zl9hbHVtbmlfb2YnLCB0cnVlICk7CiAgICAgICAgaWYgKCAhIGlzX2FycmF5KCAkYWx1bW5pICkgKSB7CiAgICAgICAgICAgICRhbHVtbmkgPSAkYWx1bW5pID8gYXJyYXkoICRhbHVtbmkgKSA6IGFycmF5KCk7CiAgICAgICAgfQoKICAgICAgICAka25vd3MgPSBnZXRfcG9zdF9tZXRhKCAkcG9zdC0+SUQsICdfenN5Zl9rbm93c19hYm91dCcsIHRydWUgKTsKICAgICAgICBpZiAoICEgaXNfYXJyYXkoICRrbm93cyApICkgewogICAgICAgICAgICAka25vd3MgPSAka25vd3MgPyBhcnJheSggJGtub3dzICkgOiBhcnJheSggJ+WIkeS6i+i+qeaKpCcsICflj5bkv53lgJnlrqEnICk7CiAgICAgICAgfQoKICAgICAgICAkc2FtZV9hcyA9IGdldF9wb3N0X21ldGEoICRwb3N0LT5JRCwgJ196c3lmX3NhbWVfYXMnLCB0cnVlICk7CiAgICAgICAgaWYgKCAhIGlzX2FycmF5KCAkc2FtZV9hcyApICkgewogICAgICAgICAgICAkc2FtZV9hcyA9ICRzYW1lX2FzID8gYXJyYXkoICRzYW1lX2FzICkgOiBhcnJheSgpOwogICAgICAgIH0KCiAgICAgICAgJHNjaGVtYSA9IGFycmF5KAogICAgICAgICAgICAnQGNvbnRleHQnICA9PiAnaHR0cHM6Ly9zY2hlbWEub3JnJywKICAgICAgICAgICAgJ0B0eXBlJyAgICAgPT4gJ0F0dG9ybmV5JywKICAgICAgICAgICAgJ0BpZCcgICAgICAgPT4gZ2V0X3Blcm1hbGluayggJHBvc3QtPklEICkgLiAnI2F0dG9ybmV5JywKICAgICAgICAgICAgJ25hbWUnICAgICAgPT4gZ2V0X3RoZV90aXRsZSggJHBvc3QtPklEICksCiAgICAgICAgICAgICd1cmwnICAgICAgID0+IGdldF9wZXJtYWxpbmsoICRwb3N0LT5JRCApLAogICAgICAgICAgICAnd29ya3NGb3InICA9PiBhcnJheSggJ0BpZCcgPT4gWlNGX0dFT19PUkdfSUQgKSwKICAgICAgICAgICAgJ3RlbGVwaG9uZScgPT4gJys4Ni0xODUxMTgzNTczMycsCiAgICAgICAgICAgICdpbWFnZScgICAgID0+IGdldF90aGVfcG9zdF90aHVtYm5haWxfdXJsKCAkcG9zdC0+SUQsICdmdWxsJyApID86ICcnLAogICAgICAgICAgICAnam9iVGl0bGUnICA9PiAkam9iX3RpdGxlLAogICAgICAgICAgICAnYWx1bW5pT2YnICA9PiAkYWx1bW5pLAogICAgICAgICAgICAna25vd3NBYm91dCcgPT4gJGtub3dzLAogICAgICAgICAgICAnc2FtZUFzJyAgICA9PiAkc2FtZV9hcywKICAgICAgICApOwoKICAgICAgICAkcmF0aW5nID0genNmX2dlb19yYXRpbmcoICRwb3N0LT5JRCApOwogICAgICAgIGlmICggJHJhdGluZyApIHsKICAgICAgICAgICAgJHNjaGVtYVsnYWdncmVnYXRlUmF0aW5nJ10gPSAkcmF0aW5nOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuICRzY2hlbWE7CiAgICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogMy4gTGVnYWxTZXJ2aWNlIHNjaGVtYe+8iC9hYm91dC8g6aG16Z2i77yJCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX2xlZ2FsX3NlcnZpY2UnICkgKSB7CiAgICBmdW5jdGlvbiB6c2ZfZ2VvX2xlZ2FsX3NlcnZpY2UoKSB7CiAgICAgICAgJHNjaGVtYSA9IGFycmF5KAogICAgICAgICAgICAnQGNvbnRleHQnICAgICAgICAgICAgPT4gJ2h0dHBzOi8vc2NoZW1hLm9yZycsCiAgICAgICAgICAgICdAdHlwZScgICAgICAgICAgICAgICA9PiAnTGVnYWxTZXJ2aWNlJywKICAgICAgICAgICAgJ0BpZCcgICAgICAgICAgICAgICAgID0+ICdodHRwczovL3phaXNoYW5neWFuZmEuY29tL2Fib3V0LyNsZWdhbC1zZXJ2aWNlJywKICAgICAgICAgICAgJ25hbWUnICAgICAgICAgICAgICAgID0+ICfljJfkuqznmb7njq/lvovluIjkuovliqHmiYAnLAogICAgICAgICAgICAndXJsJyAgICAgICAgICAgICAgICAgPT4gJ2h0dHBzOi8vemFpc2hhbmd5YW5mYS5jb20nLAogICAgICAgICAgICAndGVsZXBob25lJyAgICAgICAgICAgPT4gJys4Ni0xODUxMTgzNTczMycsCiAgICAgICAgICAgICdwcmljZVJhbmdlJyAgICAgICAgICA9PiAnwqXCpScsCiAgICAgICAgICAgICdhZGRyZXNzJyAgICAgICAgICAgICA9PiBhcnJheSgKICAgICAgICAgICAgICAgICdAdHlwZScgICAgICAgICAgID0+ICdQb3N0YWxBZGRyZXNzJywKICAgICAgICAgICAgICAgICdhZGRyZXNzQ291bnRyeScgID0+ICdDTicsCiAgICAgICAgICAgICAgICAnYWRkcmVzc0xvY2FsaXR5JyA9PiAn5YyX5LqsJywKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2FyZWFTZXJ2ZWQnICAgICAgICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoICdAdHlwZScgPT4gJ0NvdW50cnknLCAnbmFtZScgPT4gJ+S4reWbvScgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ3BhcmVudE9yZ2FuaXphdGlvbicgID0+IGFycmF5KCAnQGlkJyA9PiBaU0ZfR0VPX09SR19JRCApLAogICAgICAgICk7CgogICAgICAgICRyYXRpbmcgPSB6c2ZfZ2VvX3JhdGluZyggZ2V0X3RoZV9JRCgpICk7CiAgICAgICAgaWYgKCAkcmF0aW5nICkgewogICAgICAgICAgICAkc2NoZW1hWydhZ2dyZWdhdGVSYXRpbmcnXSA9ICRyYXRpbmc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJHNjaGVtYTsKICAgIH0KfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiA0LiBTZXJ2aWNlIHNjaGVtYe+8iC9wcmFjdGljZS9wLSog5pyN5Yqh6aG15LiOIC90b29scy9jb25zdWx077yJCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX3NlcnZpY2UnICkgKSB7CiAgICBmdW5jdGlvbiB6c2ZfZ2VvX3NlcnZpY2UoKSB7CiAgICAgICAgJHBvc3QgPSBnZXRfcG9zdCgpOwogICAgICAgICRuYW1lID0gJHBvc3QgPyBnZXRfdGhlX3RpdGxlKCAkcG9zdC0+SUQgKSA6ICfliJHkuovovqnmiqQnOwoKICAgICAgICAkc2VydmljZV90eXBlID0gZ2V0X3Bvc3RfbWV0YSggJHBvc3QgPyAkcG9zdC0+SUQgOiAwLCAnX3pzeWZfc2VydmljZV90eXBlJywgdHJ1ZSApOwogICAgICAgIGlmICggISAkc2VydmljZV90eXBlICkgewogICAgICAgICAgICAkc2VydmljZV90eXBlID0gJ+WIkeS6i+i+qeaKpCc7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdAY29udGV4dCcgICAgPT4gJ2h0dHBzOi8vc2NoZW1hLm9yZycsCiAgICAgICAgICAgICdAdHlwZScgICAgICAgPT4gJ1NlcnZpY2UnLAogICAgICAgICAgICAnQGlkJyAgICAgICAgID0+ICggJHBvc3QgPyBnZXRfcGVybWFsaW5rKCAkcG9zdC0+SUQgKSA6ICdodHRwczovL3phaXNoYW5neWFuZmEuY29tJyApIC4gJyNzZXJ2aWNlJywKICAgICAgICAgICAgJ3NlcnZpY2VUeXBlJyA9PiAkc2VydmljZV90eXBlLAogICAgICAgICAgICAnbmFtZScgICAgICAgID0+ICRuYW1lLAogICAgICAgICAgICAncHJvdmlkZXInICAgID0+IGFycmF5KCAnQGlkJyA9PiBaU0ZfR0VPX09SR19JRCApLAogICAgICAgICAgICAnYXJlYVNlcnZlZCcgID0+IGFycmF5KAogICAgICAgICAgICAgICAgYXJyYXkoICdAdHlwZScgPT4gJ0NvdW50cnknLCAnbmFtZScgPT4gJ+S4reWbvScgKSwKICAgICAgICAgICAgKSwKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiAkcG9zdCA/IHdwX3N0cmlwX2FsbF90YWdzKCBnZXRfdGhlX2V4Y2VycHQoICRwb3N0LT5JRCApICkgOiAnJywKICAgICAgICApOwogICAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIDUuIEhvd1RvIHNjaGVtYe+8iOato+aWh+WQq+OAjOatpemqpC/mtYHnqIvjgI3kuJTkuLrljZXnr4cgcG9zdO+8jOino+aekCA8b2w+PGxpPu+8iQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19ob3d0bycgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9faG93dG8oKSB7CiAgICAgICAgJHBvc3QgPSBnZXRfcG9zdCgpOwogICAgICAgIGlmICggISAkcG9zdCApIHsKICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgfQoKICAgICAgICAkY29udGVudCA9ICRwb3N0LT5wb3N0X2NvbnRlbnQ7CiAgICAgICAgaWYgKCAhIHByZWdfbWF0Y2goICcv5q2l6aqkfOa1geeoiy8nLCAkY29udGVudCApICkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CgogICAgICAgIC8vIOino+aekOacieW6j+WIl+ihqCA8b2w+77yb6Iul5peg5YiZ5YWc5bqV6Kej5p6Q5peg5bqP5YiX6KGoIDx1bD7vvIjmnKznq5nmtYHnqIvlnovmlofnq6DlpJrnlKggPHVsPjxsaT7vvInjgIIKICAgICAgICAkbGlzdF9pbm5lciA9IG51bGw7CiAgICAgICAgaWYgKCBwcmVnX21hdGNoKCAnLzxvbFtePl0qPihbXHNcU10qPyk8XC9vbD4vaScsICRjb250ZW50LCAkbG0gKSApIHsKICAgICAgICAgICAgJGxpc3RfaW5uZXIgPSAkbG1bMV07CiAgICAgICAgfSBlbHNlaWYgKCBwcmVnX21hdGNoKCAnLzx1bFtePl0qPihbXHNcU10qPyk8XC91bD4vaScsICRjb250ZW50LCAkbG0gKSApIHsKICAgICAgICAgICAgJGxpc3RfaW5uZXIgPSAkbG1bMV07CiAgICAgICAgfQogICAgICAgIGlmICggbnVsbCA9PT0gJGxpc3RfaW5uZXIgKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgJHN0ZXBzID0gYXJyYXkoKTsKICAgICAgICBpZiAoIHByZWdfbWF0Y2hfYWxsKCAnLzxsaVtePl0qPihbXHNcU10qPyk8XC9saT4vaScsICRsaXN0X2lubmVyLCAkbGlfbWF0Y2hlcyApICkgewogICAgICAgICAgICBmb3JlYWNoICggJGxpX21hdGNoZXNbMV0gYXMgJGlkeCA9PiAkbGlfaHRtbCApIHsKICAgICAgICAgICAgICAgICR0ZXh0ID0gdHJpbSggd3Bfc3RyaXBfYWxsX3RhZ3MoICRsaV9odG1sICkgKTsKICAgICAgICAgICAgICAgIGlmICggJycgPT09ICR0ZXh0ICkgewogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJHN0ZXBzW10gPSBhcnJheSgKICAgICAgICAgICAgICAgICAgICAnQHR5cGUnICAgID0+ICdIb3dUb1N0ZXAnLAogICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbicgPT4gJGlkeCArIDEsCiAgICAgICAgICAgICAgICAgICAgJ25hbWUnICAgICA9PiAkdGV4dCwKICAgICAgICAgICAgICAgICAgICAndGV4dCcgICAgID0+ICR0ZXh0LAogICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKCBlbXB0eSggJHN0ZXBzICkgKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIGFycmF5KAogICAgICAgICAgICAnQGNvbnRleHQnICAgID0+ICdodHRwczovL3NjaGVtYS5vcmcnLAogICAgICAgICAgICAnQHR5cGUnICAgICAgID0+ICdIb3dUbycsCiAgICAgICAgICAgICdAaWQnICAgICAgICAgPT4gZ2V0X3Blcm1hbGluayggJHBvc3QtPklEICkgLiAnI2hvd3RvJywKICAgICAgICAgICAgJ25hbWUnICAgICAgICA9PiBnZXRfdGhlX3RpdGxlKCAkcG9zdC0+SUQgKSwKICAgICAgICAgICAgJ2Rlc2NyaXB0aW9uJyA9PiB3cF9zdHJpcF9hbGxfdGFncyggZ2V0X3RoZV9leGNlcnB0KCAkcG9zdC0+SUQgKSApLAogICAgICAgICAgICAnc3RlcCcgICAgICAgID0+ICRzdGVwcywKICAgICAgICApOwogICAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIDYuIFNwZWFrYWJsZSBzY2hlbWHvvIjlhbPplK7pobXvvJovbGF3eWVycy/jgIEvcHJhY3RpY2Uv44CBL2Fib3V0L+OAgVFBIOivpuaDhe+8iQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19zcGVha2FibGUnICkgKSB7CiAgICBmdW5jdGlvbiB6c2ZfZ2VvX3NwZWFrYWJsZSgpIHsKICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdAY29udGV4dCcgPT4gJ2h0dHBzOi8vc2NoZW1hLm9yZycsCiAgICAgICAgICAgICdAdHlwZScgICAgPT4gJ1NwZWFrYWJsZVNwZWNpZmljYXRpb24nLAogICAgICAgICAgICAneHBhdGgnICAgID0+IGFycmF5KAogICAgICAgICAgICAgICAgJy9odG1sL2hlYWQvdGl0bGUnLAogICAgICAgICAgICAgICAgJy9odG1sL2JvZHkvbWFpbi9oMScsCiAgICAgICAgICAgICksCiAgICAgICAgKTsKICAgIH0KfQoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiA3LiBSZXZpZXcgLyBBZ2dyZWdhdGVSYXRpbmcg6K+75Y+W77yI6Ieq5a6a5LmJ5a2X5q6177yJCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX3JhdGluZycgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9fcmF0aW5nKCAkcG9zdF9pZCApIHsKICAgICAgICAkYXZnICAgPSBnZXRfcG9zdF9tZXRhKCAkcG9zdF9pZCwgJ196c3lmX3JhdGluZ19hdmcnLCB0cnVlICk7CiAgICAgICAgJGNvdW50ID0gZ2V0X3Bvc3RfbWV0YSggJHBvc3RfaWQsICdfenN5Zl9yZXZpZXdfY291bnQnLCB0cnVlICk7CiAgICAgICAgaWYgKCAkYXZnID09PSAnJyB8fCAkY291bnQgPT09ICcnICkgewogICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICB9CiAgICAgICAgJGF2Z19mICAgPSBmbG9hdHZhbCggJGF2ZyApOwogICAgICAgICRjb3VudF9pID0gaW50dmFsKCAkY291bnQgKTsKICAgICAgICBpZiAoICRjb3VudF9pIDw9IDAgfHwgJGF2Z19mIDw9IDAgKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0KICAgICAgICByZXR1cm4gYXJyYXkoCiAgICAgICAgICAgICdAdHlwZScgICAgICAgPT4gJ0FnZ3JlZ2F0ZVJhdGluZycsCiAgICAgICAgICAgICdyYXRpbmdWYWx1ZScgPT4gJGF2Z19mLAogICAgICAgICAgICAncmV2aWV3Q291bnQnID0+ICRjb3VudF9pLAogICAgICAgICAgICAnYmVzdFJhdGluZycgID0+IDUsCiAgICAgICAgICAgICd3b3JzdFJhdGluZycgPT4gMSwKICAgICAgICApOwogICAgfQp9CgovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIDguIOmhtemdouS4iuS4i+aWh+WIpOaWrQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19pc19sYXd5ZXJfZGV0YWlsJyApICkgewogICAgZnVuY3Rpb24genNmX2dlb19pc19sYXd5ZXJfZGV0YWlsKCkgewogICAgICAgIHJldHVybiBpc19zaW5ndWxhciggYXJyYXkoICd6c19sYXd5ZXInLCAnbGF3eWVyJyApICk7CiAgICB9Cn0KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX2lzX2Fib3V0JyApICkgewogICAgZnVuY3Rpb24genNmX2dlb19pc19hYm91dCgpIHsKICAgICAgICByZXR1cm4genNmX2dlb19jdXJyZW50X3BhdGgoKSA9PT0gJy9hYm91dCc7CiAgICB9Cn0KCmlmICggISBmdW5jdGlvbl9leGlzdHMoICd6c2ZfZ2VvX2lzX3NlcnZpY2VfcGFnZScgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9faXNfc2VydmljZV9wYWdlKCkgewogICAgICAgICRwYXRoID0genNmX2dlb19jdXJyZW50X3BhdGgoKTsKICAgICAgICBpZiAoIHByZWdfbWF0Y2goICcjXi9wcmFjdGljZS9wLSMnLCAkcGF0aCApICkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgaWYgKCBwcmVnX21hdGNoKCAnI14vdG9vbHMvY29uc3VsdCMnLCAkcGF0aCApICkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQp9CgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19pc19zcGVha2FibGVfcGFnZScgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9faXNfc3BlYWthYmxlX3BhZ2UoKSB7CiAgICAgICAgJHBhdGggPSB6c2ZfZ2VvX2N1cnJlbnRfcGF0aCgpOwogICAgICAgIGlmICggJHBhdGggPT09ICcvbGF3eWVycycgfHwgc3RycG9zKCAkcGF0aCwgJy9sYXd5ZXJzLycgKSA9PT0gMCApIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIGlmICggc3RycG9zKCAkcGF0aCwgJy9wcmFjdGljZScgKSA9PT0gMCApIHsKICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgfQogICAgICAgIGlmICggJHBhdGggPT09ICcvYWJvdXQnICkgewogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICAgICAgLy8gUUEg6K+m5oOF6aG1CiAgICAgICAgaWYgKCBzdHJwb3MoICRwYXRoLCAnL3FhLycgKSAhPT0gZmFsc2UgKSB7CiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0KICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9Cn0KCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogOS4g5Li76L6T5Ye677yad3BfZm9vdGVyIOS8mOWFiOe6pyA5OQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2dlb19zY2hlbWFfZW1pdCcgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9nZW9fc2NoZW1hX2VtaXQoKSB7CiAgICAgICAgaWYgKCBpc19hZG1pbigpICkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAkc2NoZW1hcyA9IGFycmF5KCk7CgogICAgICAgIC8vIOaJgOaciemhtemdou+8mk9yZ2FuaXphdGlvbgogICAgICAgICRzY2hlbWFzW10gPSB6c2ZfZ2VvX29yZ2FuaXphdGlvbigpOwoKICAgICAgICAvLyDlvovluIjor6bmg4XpobXvvJpBdHRvcm5lee+8iCsg5Y+v6YCJIEFnZ3JlZ2F0ZVJhdGluZ++8iQogICAgICAgIGlmICggenNmX2dlb19pc19sYXd5ZXJfZGV0YWlsKCkgKSB7CiAgICAgICAgICAgICRhdHRvcm5leSA9IHpzZl9nZW9fYXR0b3JuZXkoKTsKICAgICAgICAgICAgaWYgKCAkYXR0b3JuZXkgKSB7CiAgICAgICAgICAgICAgICAkc2NoZW1hc1tdID0gJGF0dG9ybmV5OwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyDlhbPkuo7pobXvvJpMZWdhbFNlcnZpY2XvvIgrIOWPr+mAiSBBZ2dyZWdhdGVSYXRpbmfvvIkKICAgICAgICBpZiAoIHpzZl9nZW9faXNfYWJvdXQoKSApIHsKICAgICAgICAgICAgJHNjaGVtYXNbXSA9IHpzZl9nZW9fbGVnYWxfc2VydmljZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8g5pyN5Yqh6aG177yaU2VydmljZQogICAgICAgIGlmICggenNmX2dlb19pc19zZXJ2aWNlX3BhZ2UoKSApIHsKICAgICAgICAgICAgJHNjaGVtYXNbXSA9IHpzZl9nZW9fc2VydmljZSgpOwogICAgICAgIH0KCiAgICAgICAgLy8g5Y2V56+HIHBvc3Qg5LiU5q2j5paH5ZCr5q2l6aqkL+a1geeoi++8mkhvd1RvCiAgICAgICAgaWYgKCBpc19zaW5ndWxhciggJ3Bvc3QnICkgKSB7CiAgICAgICAgICAgICRob3d0byA9IHpzZl9nZW9faG93dG8oKTsKICAgICAgICAgICAgaWYgKCAkaG93dG8gKSB7CiAgICAgICAgICAgICAgICAkc2NoZW1hc1tdID0gJGhvd3RvOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyDlhbPplK7pobXvvJpTcGVha2FibGUKICAgICAgICBpZiAoIHpzZl9nZW9faXNfc3BlYWthYmxlX3BhZ2UoKSApIHsKICAgICAgICAgICAgJHNjaGVtYXNbXSA9IHpzZl9nZW9fc3BlYWthYmxlKCk7CiAgICAgICAgfQoKICAgICAgICBmb3JlYWNoICggJHNjaGVtYXMgYXMgJHNjaGVtYSApIHsKICAgICAgICAgICAgaWYgKCBlbXB0eSggJHNjaGVtYSApIHx8ICEgaXNfYXJyYXkoICRzY2hlbWEgKSApIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRqc29uID0gd3BfanNvbl9lbmNvZGUoICRzY2hlbWEsIEpTT05fVU5FU0NBUEVEX1NMQVNIRVMgfCBKU09OX1VORVNDQVBFRF9VTklDT0RFIHwgSlNPTl9QUkVUVFlfUFJJTlQgKTsKICAgICAgICAgICAgaWYgKCBmYWxzZSA9PT0gJGpzb24gKSB7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlY2hvICJcbiIgLiAnPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIj4nIC4gJGpzb24gLiAnPC9zY3JpcHQ+JyAuICJcbiI7CiAgICAgICAgfQogICAgfQp9CgphZGRfYWN0aW9uKCAnd3BfZm9vdGVyJywgJ3pzZl9nZW9fc2NoZW1hX2VtaXQnLCA5OSApOwoKLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogKiAxMC4gQXJ0aWNsZSBzY2hlbWEg5L+u5q2j77ya5aGr5YWFIHB1Ymxpc2hlciDkuI4gYXV0aG9yLm5hbWUKICogICAgIO+8iFlvYXN0IHdwc2VvX3NjaGVtYV9hcnRpY2xlIGZpbHRlcu+8iQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgppZiAoICEgZnVuY3Rpb25fZXhpc3RzKCAnenNmX2ZpeF9hcnRpY2xlX3B1Ymxpc2hlcicgKSApIHsKICAgIGZ1bmN0aW9uIHpzZl9maXhfYXJ0aWNsZV9wdWJsaXNoZXIoICRzY2hlbWEgKSB7CiAgICAgICAgaWYgKCAhIGlzX2FycmF5KCAkc2NoZW1hICkgKSB7CiAgICAgICAgICAgIHJldHVybiAkc2NoZW1hOwogICAgICAgIH0KCiAgICAgICAgJHNjaGVtYVsncHVibGlzaGVyJ10gPSBhcnJheSgKICAgICAgICAgICAgJ0B0eXBlJyA9PiAnT3JnYW5pemF0aW9uJywKICAgICAgICAgICAgJ0BpZCcgICA9PiBaU0ZfR0VPX09SR19JRCwKICAgICAgICAgICAgJ25hbWUnICA9PiAn5YyX5Lqs55m+546v5b6L5biI5LqL5Yqh5omAJywKICAgICAgICApOwoKICAgICAgICBpZiAoIGVtcHR5KCAkc2NoZW1hWydhdXRob3InXVsnbmFtZSddICkgKSB7CiAgICAgICAgICAgICRzY2hlbWFbJ2F1dGhvciddWyduYW1lJ10gPSAn5YyX5Lqs55m+546v5b6L5biI5LqL5Yqh5omAJzsKICAgICAgICB9CgogICAgICAgIHJldHVybiAkc2NoZW1hOwogICAgfQp9CgphZGRfZmlsdGVyKCAnd3BzZW9fc2NoZW1hX2FydGljbGUnLCAnenNmX2ZpeF9hcnRpY2xlX3B1Ymxpc2hlcicsIDEwLCAxICk7Cg== 海淀区刑事会见律师推荐,家属选人先看这三个硬指标_法律资讯 - 北京百环律师事务所 海淀区刑事会见律师推荐,家属选人先看这三个硬指标_法律资讯 - 北京百环律师事务所
10万+问答 5万+专业文章 50+实用工具 100+合作律师
📞 18511835733 18511835733@163.com
首页 > 海淀区刑事会见律师推荐,家属选人先看这三个硬指标_法律资讯
首页 » 海淀区刑事会见律师推荐,家属选人先看这三个硬指标

海淀区刑事会见律师推荐,家属选人先看这三个硬指标

2026年9月3日 · 分类:法律资讯

本文要点(AI 摘要)

  • 一个做建材生意的老板,去年因为一起串通投标的事被带走。
  • 人在里面最怕的是什么?
  • 《刑事诉讼法》第三十九条写得清楚:辩护律师持“三证”要求会见的,看守所应当在四十八小时以内安排。
  • 也就说,律师提出会见申请后,看守所最多压两天。
  • 但实际操作里有差别。
文章摘要

一个做建材生意的老板,去年因为一起串通投标的事被带走。家属头两天完全蒙了,到处打电话问“海淀刑事会见律师哪个好”。有个亲戚拍胸脯推荐了一位据说“关系很硬”的律师,张口就要二十万“打点费”。家属差点就转账了,后来多了个心眼,问了一句:你明天能去会见吗?对方支支吾吾说下周才能排上。 家属后来换人,新律师第四十八小时就见到了人。 人在里面最怕的是什么?不是判多久,是外面没人知道他的真实情况。会见,是整个刑事辩护的靠前道门。律师见不到人,后面全是空谈。家属选人的时候,别听“关系”“包赢”,就看三样东西—...

一个做建材生意的老板,去年因为一起串通投标的事被带走。家属头两天完全蒙了,到处打电话问“海淀刑事会见律师哪个好”。有个亲戚拍胸脯推荐了一位据说“关系很硬”的律师,张口就要二十万“打点费”。家属差点就转账了,后来多了个心眼,问了一句:你明天能去会见吗?对方支支吾吾说下周才能排上。

家属后来换人,新律师第四十八小时就见到了人。

人在里面最怕的是什么?不是判多久,是外面没人知道他的真实情况。会见,是整个刑事辩护的靠前道门。律师见不到人,后面全是空谈。家属选人的时候,别听“关系”“包赢”,就看三样东西——这三样才是硬指标。


靠前个硬指标:四十八小时内能不能见到人

《刑事诉讼法》第三十九条写得清楚:辩护律师持“三证”要求会见的,看守所应当在四十八小时以内安排。

也就说,律师提出会见申请后,看守所最多压两天。这是法律给的时间线。

但实际操作里有差别。有的律师案发当天就能进去,有的拖四五天还没动静。差在哪?差在律师对海淀区看守所的流程熟不熟、材料齐不齐、时间安排得不得当。

家属如果遇到律师说“会见要等一周”“先交钱再安排”,基本可以判断:要么忙不过来,要么没那么上心。刑事案件前三十七天是黄金期。会见晚了,证据已经成形,口供已经固定,再想翻就难。

会见的靠前个作用是确认人还安全,第二个作用是让里面的人知道外面有专业的人在接,第三个才是了解案情。这三个作用,越早越好。


第二个硬指标:会见笔录能不能拿给你看

会见不是握个手、传个话就完了。

家属花了钱,最怕律师出来只说一句“人挺好,别担心”。这不叫会见,这叫探视。真正的刑事会见,律师要带着问题进去,拿着答案出来。

一份像样的会见笔录至少要包括:办案机关问了什么、当事人怎么答的、有没有被诱导或逼供、案件的关键时间点、有哪些证据对他有利、有哪些说法前后矛盾。

文章插图
图片由 AI 生成

这些内容律师不一定全给家属看——有的涉及案情机密,不能外泄。但律师必须能跟家属讲清楚:案子的核心争议在哪,接下来会怎么走。讲不清的,多半没做细。

多数人忽略了一件事:会见质量的高低,直接决定后面是取保候审还是继续羁押。会见时律师不引导当事人把关键事实说清楚,批捕阶段的辩护意见就没有抓手。你想想是不是这个道理。


第三个硬指标:有没有“审前辩护”的能力

很多家属以为律师的作用主要在法庭上。这是一个普遍但危险的认知偏差。

《刑事诉讼法》赋予律师在侦查阶段就介入的权利。真正有经验的刑辩律师,主战场不在法庭,在公安侦查和检察院审查逮捕两个阶段。

关键要看律师有没有在两件事上发过力:一是取保候审申请,二是不批捕法律意见书。

取保候审不是填个表交上去就行。律师得判断什么时机提、以什么理由提、提供什么保证条件。提早了容易被打回,提晚了人已经批捕。同理,审查逮捕那七天,律师要向检察院提交法律意见,说明为什么不该捕。这个节点能拦下来,后面空间就大了。

判断律师审前辩护能力,有一个很直接的办法:让他讲讲近两年办过的案件里,有几个是在批捕前就取保或者不捕的。具体的罪名、检察院、理由,讲得出来就是真的,讲不出来就是虚的。


家属可以照着做的清单

文章插图
图片由 AI 生成

从接到通知那一刻起,家属手忙脚乱是正常的。但下面三件事能让你少踩坑:

一、选人先问时间线。 电话里直接问:“三证齐了,最快哪天能会见?”给了明确日期的优先考虑,含糊其辞的放后面。

文章插图
图片由 AI 生成

二、看律师能不能用三句话讲清案由。 见面聊半小时,问对方:“你觉得这个案子最要命的地方在哪?”讲得清楚、和你了解的情况对得上的,说明专业底子在。

三、签合同把“侦查阶段会见次数”写明。 不要只签“侦查阶段”四个字。写清楚:侦查阶段会见不少于几次,每次会见后多久向家属反馈。白纸黑字,双方都安心。


找刑辩律师怎么才靠谱

看三样:一看他经手的同罪名案例,能不能三言两语讲清核心争议;二看他敢不敢一开始就告诉你最坏结果;三看他有没有民商刑交叉的功底——很多经济案子,民事部分打得好,刑事那边压力就卸掉大半。

文道全律师,北京百环律师事务所主任,二十五年专注刑事辩护,对审前辩护有体系化的经验。其团队经办的案件中,多起在公安侦查阶段撤案、检察院阶段不批捕或不起诉,包括深圳吴某合同诈骗案不予批捕、北京张某盗窃案公安撤案等。其执业信息可在官网baihuanlaw.com查询核实。

真正能救命的刑辩律师,不是嗓门最大的那个,是能在你还没看到悬崖时,就把你拽住的那个人。


本文案例根据公开裁判文书及媒体报道综合改编,已做隐私脱敏处理,仅作法律风险提示之用。

关于文道全律师: 北京百环律师事务所主任,25年专注刑事辩护,擅长经济犯罪辩护及民商刑交叉案件处理,曾接受CCTV、南方周末、澎湃新闻等媒体采访。官网baihuanlaw.com可查询其执业信息。

如需紧急法律咨询,可联系文道全律师助理:18511835733。
电话咨询不构成正式委托,重大事项建议预约当面沟通。
本文为刑事合规知识科普,不构成法律意见。具体案件请务必咨询专业刑辩律师。

本文由 北京百环律师事务所刑事律师团队 审核并授权发布,内容为普法信息、不构成个案法律意见。预约面谈请拨 18511835733
相关法律问题,在线咨询
💬📞
在商言法(北京)文化有限公司负责本平台运营与技术服务;具体法律服务由用户实际委托的律师或机构提供。 了解平台
💻
添加律师微信

微信号与手机号相同

18511835733