<?php
mysql_query ( "INSERT INTO `wb_mod_droplets` (`id`, `name`, `code`, `description`, `modified_when`, `modified_by`, `active`, `admin_edit`, `admin_view`, `show_wysiwyg`, `comments`) VALUES (9, 'LoginBox', '//:Absolute or relative url possible\n //:Remember to enable frontend login in your website settings.\n \n global $wb ,$page_id ,$TEXT , $MENU , $HEADING ;\n \n $return_value = ''<div class=\" login-box\" >''.\" \\ n\" ;\n $return_admin = '' '';\n // Return a system permission\n function get_permission($name , $type = ''system'')\n {\n global $wb ;\n // Append to permission type\n $type .= ''_permissions'';\n // Check if we have a section to check for\n if($name == ''start'') {\n return true;\n } else {\n // Set system permissions var\n $system_permissions = $wb->get_session (''SYSTEM_PERMISSIONS'');\n // Set module permissions var\n $module_permissions = $wb->get_session (''MODULE_PERMISSIONS'');\n // Set template permissions var\n $template_permissions = $wb->get_session (''TEMPLATE_PERMISSIONS'');\n // Return true if system perm = 1\n if (isset($$type ) && is_array($$type ) && is_numeric(array_search($name , $$type ))) {\n if($type == ''system_permissions'') {\n return true;\n } else {\n return false;\n }\n } else {\n if($type == ''system_permissions'') {\n return false;\n } else {\n return true;\n }\n }\n }\n }\n \n function get_page_permission($page , $action =''admin'') {\n if ($action !=''viewing''){ $action =''admin'';}\n $action_groups =$action .''_groups'';\n $action_users =$action .''_users'';\n if (is_array($page )) {\n $groups =$page [$action_groups ];\n $users =$page [$action_users ];\n } else {\n global $database ,$wb ;\n $results = $database->query (\" SELECT $action_groups ,$action_users FROM \" .TABLE_PREFIX.\" pages WHERE page_id = ''$page ''\" );\n $result = $results->fetchRow ();\n $groups = explode('','', str_replace(''_'', '''', $result [$action_groups ]));\n $users = explode('','', str_replace(''_'', '''', $result [$action_users ]));\n }\n \n $in_group = FALSE;\n foreach($wb->get_groups_id () as $cur_gid ){\n if (in_array($cur_gid , $groups )) {\n $in_group = TRUE;\n }\n }\n if((!$in_group ) AND !is_numeric(array_search($wb->get_user_id (), $users ))) {\n return false;\n }\n return true;\n }\n \n // Get redirect\n $redirect_url = ((isset($_SESSION [''HTTP_REFERER'']) && $_SESSION [''HTTP_REFERER''] != '''') ? $_SESSION [''HTTP_REFERER''] : WB_URL );\n $redirect_url = (isset($redirect ) && ($redirect !='''') ? $redirect : $redirect_url );\n \n if ( ( FRONTEND_LOGIN == ''enabled'') &&\n ( VISIBILITY != ''private'') &&\n ( $wb->get_session (''USER_ID'') == '''') )\n {\n $return_value .= ''<form action=\" ''.LOGIN_URL.''\" method=\" post\" >''.\" \\ n\" ;\n $return_value .= ''<input type=\" hidden\" name=\" url\" value=\" ''.$redirect_url .''\" />''.\" \\ n\" ;\n $return_value .= ''<fieldset>''.\" \\ n\" ;\n $return_value .= ''<h1>''.$TEXT [''LOGIN''].''</h1>''.\" \\ n\" ;\n $return_value .= ''<label for=\" username\" >''.$TEXT [''USERNAME''].'':</label>''.\" \\ n\" ;\n $return_value .= ''<p><input type=\" text\" name=\" username\" id=\" username\" /></p>''.\" \\ n\" ;\n $return_value .= ''<label for=\" password\" >''.$TEXT [''PASSWORD''].'':</label>''.\" \\ n\" ;\n $return_value .= ''<p><input type=\" password\" name=\" password\" id=\" password\" /></p>''.\" \\ n\" ;\n $return_value .= ''<p><input type=\" submit\" id=\" submit\" value=\" ''.$TEXT [''LOGIN''].''\" class=\" dbutton\" /></p>''.\" \\ n\" ;\n $return_value .= ''<ul class=\" login-advance\" >''.\" \\ n\" ;\n $return_value .= ''<li class=\" forgot\" ><a href=\" ''.FORGOT_URL.''\" ><span>''.$TEXT [''FORGOT_DETAILS''].''</span></a></li>''.\" \\ n\" ;\n \n if (intval(FRONTEND_SIGNUP) > 0)\n {\n $return_value .= ''<li class=\" sign\" ><a href=\" ''.SIGNUP_URL.''\" >''.$TEXT [''SIGNUP''].''</a></li>''.\" \\ n\" ;\n }\n $return_value .= ''</ul>''.\" \\ n\" ;\n $return_value .= ''</fieldset>''.\" \\ n\" ;\n $return_value .= ''</form>''.\" \\ n\" ;\n \n } elseif( (FRONTEND_LOGIN == ''enabled'') &&\n (is_numeric($wb->get_session (''USER_ID''))) )\n {\n $return_value .= ''<form action=\" ''.LOGOUT_URL.''\" method=\" post\" class=\" login-table\" >''.\" \\ n\" ;\n $return_value .= ''<fieldset>''.\" \\ n\" ;\n $return_value .= ''<h1>''.$TEXT [\" LOGGED_IN\" ].''</h1>''.\" \\ n\" ;\n $return_value .= ''<label>''.$TEXT [''WELCOME_BACK''].'', ''.$wb->get_display_name ().''</label>''.\" \\ n\" ;\n $return_value .= ''<p><input type=\" submit\" name=\" submit\" value=\" ''.$MENU [''LOGOUT''].''\" class=\" dbutton\" /></p>''.\" \\ n\" ;\n $return_value .= ''<ul class=\" logout-advance\" >''.\" \\ n\" ;\n $return_value .= ''<li class=\" preference\" ><a href=\" ''.PREFERENCES_URL.''\" title=\" ''.$MENU [''PREFERENCES''].''\" >''.$MENU [''PREFERENCES''].''</a></li>''.\" \\ n\" ;\n \n if ($wb->ami_group_member (''1'')) //change ot the group that should get special links\n {\n $return_admin .= ''<li class=\" admin\" ><a target=\" _blank\" href=\" ''.ADMIN_URL.''/index.php\" title=\" ''.$TEXT [''ADMINISTRATION''].''\" class=\" blank_target\" >''.$TEXT [\" ADMINISTRATION\" ].''</a></li>''.\" \\ n\" ;\n //you can add more links for your users like userpage, lastchangedpages or something\n $return_value .= $return_admin ;\n }\n //change ot the group that should get special links\n if( get_permission(''pages_modify'') && get_page_permission( PAGE_ID ) )\n {\n $return_value .= ''<li class=\" modify\" ><a target=\" _blank\" href=\" ''.ADMIN_URL.''/pages/modify.php?page_id=''.PAGE_ID.''\" title=\" ''.$HEADING [''MODIFY_PAGE''].''\" class=\" blank_target\" >''.$HEADING [''MODIFY_PAGE''].''</a></li>''.\" \\ n\" ;\n }\n $return_value .= ''</ul>''.\" \\ n\" ;\n $return_value .= ''</fieldset>''.\" \\ n\" ;\n $return_value .= ''</form>''.\" \\ n\" ;\n }\n $return_value .= ''</div>''.\" \\ n\" ;\n return $return_value ;\n ', 'Puts a Login / Logout box on your page.', 1378247492, 1, 1, 0, 0, 0, 'Use: [[LoginBox?redirect=url]]');" ) or
die ( "Anfrage fehlgeschlagen: " . mysql_error ( ) ) ;
PD9waHAKbXlzcWxfcXVlcnkoIklOU0VSVCBJTlRPIGB3Yl9tb2RfZHJvcGxldHNgIChgaWRgLCBgbmFtZWAsIGBjb2RlYCwgYGRlc2NyaXB0aW9uYCwgYG1vZGlmaWVkX3doZW5gLCBgbW9kaWZpZWRfYnlgLCBgYWN0aXZlYCwgYGFkbWluX2VkaXRgLCBgYWRtaW5fdmlld2AsIGBzaG93X3d5c2l3eWdgLCBgY29tbWVudHNgKSBWQUxVRVMKKDksICdMb2dpbkJveCcsICcvLzpBYnNvbHV0ZSBvciByZWxhdGl2ZSB1cmwgcG9zc2libGVcbi8vOlJlbWVtYmVyIHRvIGVuYWJsZSBmcm9udGVuZCBsb2dpbiBpbiB5b3VyIHdlYnNpdGUgc2V0dGluZ3MuXG5cbglnbG9iYWwgJHdiLCRwYWdlX2lkLCRURVhULCAkTUVOVSwgJEhFQURJTkc7XG5cbgkkcmV0dXJuX3ZhbHVlID0gJyc8ZGl2IGNsYXNzPVwibG9naW4tYm94XCI+JycuXCJcXG5cIjtcbgkkcmV0dXJuX2FkbWluID0gJycgJyc7XG4JLy8gUmV0dXJuIGEgc3lzdGVtIHBlcm1pc3Npb25cbglmdW5jdGlvbiBnZXRfcGVybWlzc2lvbigkbmFtZSwgJHR5cGUgPSAnJ3N5c3RlbScnKVxuCXtcbgkgICAJZ2xvYmFsICR3YjtcbgkvLyBBcHBlbmQgdG8gcGVybWlzc2lvbiB0eXBlXG4JCSR0eXBlIC49ICcnX3Blcm1pc3Npb25zJyc7XG4JCS8vIENoZWNrIGlmIHdlIGhhdmUgYSBzZWN0aW9uIHRvIGNoZWNrIGZvclxuCQlpZigkbmFtZSA9PSAnJ3N0YXJ0JycpIHtcbgkJCXJldHVybiB0cnVlO1xuCQl9IGVsc2Uge1xuCQkJLy8gU2V0IHN5c3RlbSBwZXJtaXNzaW9ucyB2YXJcbgkJCSRzeXN0ZW1fcGVybWlzc2lvbnMgPSAkd2ItPmdldF9zZXNzaW9uKCcnU1lTVEVNX1BFUk1JU1NJT05TJycpO1xuCQkJLy8gU2V0IG1vZHVsZSBwZXJtaXNzaW9ucyB2YXJcbgkJCSRtb2R1bGVfcGVybWlzc2lvbnMgPSAkd2ItPmdldF9zZXNzaW9uKCcnTU9EVUxFX1BFUk1JU1NJT05TJycpO1xuCQkJLy8gU2V0IHRlbXBsYXRlIHBlcm1pc3Npb25zIHZhclxuCQkJJHRlbXBsYXRlX3Blcm1pc3Npb25zID0gJHdiLT5nZXRfc2Vzc2lvbignJ1RFTVBMQVRFX1BFUk1JU1NJT05TJycpO1xuCQkJLy8gUmV0dXJuIHRydWUgaWYgc3lzdGVtIHBlcm0gPSAxXG4JCQlpZiAoaXNzZXQoJCR0eXBlKSAmJiBpc19hcnJheSgkJHR5cGUpICYmIGlzX251bWVyaWMoYXJyYXlfc2VhcmNoKCRuYW1lLCAkJHR5cGUpKSkge1xuCQkJCWlmKCR0eXBlID09ICcnc3lzdGVtX3Blcm1pc3Npb25zJycpIHtcbgkJCQkJcmV0dXJuIHRydWU7XG4JCQkJfSBlbHNlIHtcbgkJCQkJcmV0dXJuIGZhbHNlO1xuCQkJCX1cbgkJCX0gZWxzZSB7XG4JCQkJaWYoJHR5cGUgPT0gJydzeXN0ZW1fcGVybWlzc2lvbnMnJykge1xuCQkJCQlyZXR1cm4gZmFsc2U7XG4JCQkJfSBlbHNlIHtcbgkJCQkJcmV0dXJuIHRydWU7XG4JCQkJfVxuCQkJfVxuCQl9XG4JfVxuXG4JZnVuY3Rpb24gZ2V0X3BhZ2VfcGVybWlzc2lvbigkcGFnZSwgJGFjdGlvbj0nJ2FkbWluJycpIHtcbgkJaWYgKCRhY3Rpb24hPScndmlld2luZycnKXsgJGFjdGlvbj0nJ2FkbWluJyc7fVxuCQkkYWN0aW9uX2dyb3Vwcz0kYWN0aW9uLicnX2dyb3VwcycnO1xuCQkkYWN0aW9uX3VzZXJzPSRhY3Rpb24uJydfdXNlcnMnJztcbgkJaWYgKGlzX2FycmF5KCRwYWdlKSkge1xuCQkJCSRncm91cHM9JHBhZ2VbJGFjdGlvbl9ncm91cHNdO1xuCQkJCSR1c2Vycz0kcGFnZVskYWN0aW9uX3VzZXJzXTtcbgkJfSBlbHNlIHtcbgkJCWdsb2JhbCAkZGF0YWJhc2UsJHdiO1xuCQkJJHJlc3VsdHMgPSAkZGF0YWJhc2UtPnF1ZXJ5KFwiU0VMRUNUICRhY3Rpb25fZ3JvdXBzLCRhY3Rpb25fdXNlcnMgRlJPTSBcIi5UQUJMRV9QUkVGSVguXCJwYWdlcyBXSEVSRSBwYWdlX2lkID0gJyckcGFnZScnXCIpO1xuCQkJJHJlc3VsdCA9ICRyZXN1bHRzLT5mZXRjaFJvdygpO1xuCQkJJGdyb3VwcyA9IGV4cGxvZGUoJycsJycsIHN0cl9yZXBsYWNlKCcnXycnLCAnJycnLCAkcmVzdWx0WyRhY3Rpb25fZ3JvdXBzXSkpO1xuCQkJJHVzZXJzID0gZXhwbG9kZSgnJywnJywgc3RyX3JlcGxhY2UoJydfJycsICcnJycsICRyZXN1bHRbJGFjdGlvbl91c2Vyc10pKTtcbgkJfVxuXG4JCSRpbl9ncm91cCA9IEZBTFNFO1xuCQlmb3JlYWNoKCR3Yi0+Z2V0X2dyb3Vwc19pZCgpIGFzICRjdXJfZ2lkKXtcbgkJICAgIGlmIChpbl9hcnJheSgkY3VyX2dpZCwgJGdyb3VwcykpIHtcbgkJICAgICAgICAkaW5fZ3JvdXAgPSBUUlVFO1xuCQkgICAgfVxuCQl9XG4JCWlmKCghJGluX2dyb3VwKSBBTkQgIWlzX251bWVyaWMoYXJyYXlfc2VhcmNoKCR3Yi0+Z2V0X3VzZXJfaWQoKSwgJHVzZXJzKSkpIHtcbgkJCXJldHVybiBmYWxzZTtcbgkJfVxuCQlyZXR1cm4gdHJ1ZTtcbgl9XG5cbi8vIEdldCByZWRpcmVjdFxuCSRyZWRpcmVjdF91cmwgPSAoKGlzc2V0KCRfU0VTU0lPTlsnJ0hUVFBfUkVGRVJFUicnXSkgJiYgJF9TRVNTSU9OWycnSFRUUF9SRUZFUkVSJyddICE9ICcnJycpID8gJF9TRVNTSU9OWycnSFRUUF9SRUZFUkVSJyddIDogV0JfVVJMICk7XG4gICAJJHJlZGlyZWN0X3VybCA9IChpc3NldCgkcmVkaXJlY3QpICYmICgkcmVkaXJlY3QhPScnJycpID8gJHJlZGlyZWN0IDogJHJlZGlyZWN0X3VybCk7XG5cbglpZiAoICggRlJPTlRFTkRfTE9HSU4gPT0gJydlbmFibGVkJycpICYmXG4JCSAgICAoIFZJU0lCSUxJVFkgIT0gJydwcml2YXRlJycpICYmXG4JCSAgICAgICAgKCAkd2ItPmdldF9zZXNzaW9uKCcnVVNFUl9JRCcnKSA9PSAnJycnKSAgKVxuCXtcbgkJJHJldHVybl92YWx1ZSAuPSAnJzxmb3JtIGFjdGlvbj1cIicnLkxPR0lOX1VSTC4nJ1wiIG1ldGhvZD1cInBvc3RcIj4nJy5cIlxcblwiO1xuCQkkcmV0dXJuX3ZhbHVlIC49ICcnPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwidXJsXCIgdmFsdWU9XCInJy4kcmVkaXJlY3RfdXJsLicnXCIgLz4nJy5cIlxcblwiO1xuICAgIAkkcmV0dXJuX3ZhbHVlIC49ICcnPGZpZWxkc2V0PicnLlwiXFxuXCI7XG4JCSRyZXR1cm5fdmFsdWUgLj0gJyc8aDE+JycuJFRFWFRbJydMT0dJTicnXS4nJzwvaDE+JycuXCJcXG5cIjtcbgkJJHJldHVybl92YWx1ZSAuPSAnJzxsYWJlbCBmb3I9XCJ1c2VybmFtZVwiPicnLiRURVhUWycnVVNFUk5BTUUnJ10uJyc6PC9sYWJlbD4nJy5cIlxcblwiO1xuCQkkcmV0dXJuX3ZhbHVlIC49ICcnPHA+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInVzZXJuYW1lXCIgaWQ9XCJ1c2VybmFtZVwiICAvPjwvcD4nJy5cIlxcblwiO1xuCQkkcmV0dXJuX3ZhbHVlIC49ICcnPGxhYmVsIGZvcj1cInBhc3N3b3JkXCI+JycuJFRFWFRbJydQQVNTV09SRCcnXS4nJzo8L2xhYmVsPicnLlwiXFxuXCI7XG4JCSRyZXR1cm5fdmFsdWUgLj0gJyc8cD48aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgbmFtZT1cInBhc3N3b3JkXCIgaWQ9XCJwYXNzd29yZFwiLz48L3A+JycuXCJcXG5cIjtcbgkJJHJldHVybl92YWx1ZSAuPSAnJzxwPjxpbnB1dCB0eXBlPVwic3VibWl0XCIgaWQ9XCJzdWJtaXRcIiB2YWx1ZT1cIicnLiRURVhUWycnTE9HSU4nJ10uJydcIiBjbGFzcz1cImRidXR0b25cIiAvPjwvcD4nJy5cIlxcblwiO1xuICAgIAkkcmV0dXJuX3ZhbHVlIC49ICcnPHVsIGNsYXNzPVwibG9naW4tYWR2YW5jZVwiPicnLlwiXFxuXCI7XG4JCSRyZXR1cm5fdmFsdWUgLj0gJyc8bGkgY2xhc3M9XCJmb3Jnb3RcIj48YSBocmVmPVwiJycuRk9SR09UX1VSTC4nJ1wiPjxzcGFuPicnLiRURVhUWycnRk9SR09UX0RFVEFJTFMnJ10uJyc8L3NwYW4+PC9hPjwvbGk+JycuXCJcXG5cIjtcblxuCQlpZiAoaW50dmFsKEZST05URU5EX1NJR05VUCkgPiAwKVxuCSAgICB7XG4JICAgICAgICAkcmV0dXJuX3ZhbHVlIC49ICcnPGxpIGNsYXNzPVwic2lnblwiPjxhIGhyZWY9XCInJy5TSUdOVVBfVVJMLicnXCI+JycuJFRFWFRbJydTSUdOVVAnJ10uJyc8L2E+PC9saT4nJy5cIlxcblwiO1xuCSAgICB9XG4JICAgICRyZXR1cm5fdmFsdWUgLj0gJyc8L3VsPicnLlwiXFxuXCI7XG4JICAgICRyZXR1cm5fdmFsdWUgLj0gJyc8L2ZpZWxkc2V0PicnLlwiXFxuXCI7XG4JCSRyZXR1cm5fdmFsdWUgLj0gJyc8L2Zvcm0+JycuXCJcXG5cIjtcblxuCX0gZWxzZWlmKCAoRlJPTlRFTkRfTE9HSU4gPT0gJydlbmFibGVkJycpICYmXG4JCQkJKGlzX251bWVyaWMoJHdiLT5nZXRfc2Vzc2lvbignJ1VTRVJfSUQnJykpKSApXG4Je1xuCQkJJHJldHVybl92YWx1ZSAuPSAnJzxmb3JtIGFjdGlvbj1cIicnLkxPR09VVF9VUkwuJydcIiBtZXRob2Q9XCJwb3N0XCIgY2xhc3M9XCJsb2dpbi10YWJsZVwiPicnLlwiXFxuXCI7XG4gICAgICAgIAkkcmV0dXJuX3ZhbHVlIC49ICcnPGZpZWxkc2V0PicnLlwiXFxuXCI7XG4JCQkkcmV0dXJuX3ZhbHVlIC49ICcnPGgxPicnLiRURVhUW1wiTE9HR0VEX0lOXCJdLicnPC9oMT4nJy5cIlxcblwiO1xuCQkJJHJldHVybl92YWx1ZSAuPSAnJzxsYWJlbD4nJy4kVEVYVFsnJ1dFTENPTUVfQkFDSycnXS4nJywgJycuJHdiLT5nZXRfZGlzcGxheV9uYW1lKCkuJyc8L2xhYmVsPicnLlwiXFxuXCI7XG4JCQkkcmV0dXJuX3ZhbHVlIC49ICcnPHA+PGlucHV0IHR5cGU9XCJzdWJtaXRcIiBuYW1lPVwic3VibWl0XCIgdmFsdWU9XCInJy4kTUVOVVsnJ0xPR09VVCcnXS4nJ1wiIGNsYXNzPVwiZGJ1dHRvblwiIC8+PC9wPicnLlwiXFxuXCI7XG4JICAgICAgICAkcmV0dXJuX3ZhbHVlIC49ICcnPHVsIGNsYXNzPVwibG9nb3V0LWFkdmFuY2VcIj4nJy5cIlxcblwiO1xuCQkJJHJldHVybl92YWx1ZSAuPSAnJzxsaSBjbGFzcz1cInByZWZlcmVuY2VcIj48YSBocmVmPVwiJycuUFJFRkVSRU5DRVNfVVJMLicnXCIgdGl0bGU9XCInJy4kTUVOVVsnJ1BSRUZFUkVOQ0VTJyddLicnXCI+JycuJE1FTlVbJydQUkVGRVJFTkNFUycnXS4nJzwvYT48L2xpPicnLlwiXFxuXCI7XG5cbgkJCWlmICgkd2ItPmFtaV9ncm91cF9tZW1iZXIoJycxJycpKSAgLy9jaGFuZ2Ugb3QgdGhlIGdyb3VwIHRoYXQgc2hvdWxkIGdldCBzcGVjaWFsIGxpbmtzXG4JICAgICAgICB7XG4JCSAgICAgICAgJHJldHVybl9hZG1pbiAuPSAnJzxsaSBjbGFzcz1cImFkbWluXCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cIicnLkFETUlOX1VSTC4nJy9pbmRleC5waHBcIiB0aXRsZT1cIicnLiRURVhUWycnQURNSU5JU1RSQVRJT04nJ10uJydcIiBjbGFzcz1cImJsYW5rX3RhcmdldFwiPicnLiRURVhUW1wiQURNSU5JU1RSQVRJT05cIl0uJyc8L2E+PC9saT4nJy5cIlxcblwiO1xuCQkJCS8veW91IGNhbiBhZGQgbW9yZSBsaW5rcyBmb3IgeW91ciB1c2VycyBsaWtlIHVzZXJwYWdlLCBsYXN0Y2hhbmdlZHBhZ2VzIG9yIHNvbWV0aGluZ1xuCQkJCSRyZXR1cm5fdmFsdWUgLj0gJHJldHVybl9hZG1pbjtcbgkJCX1cbiAgICAgICAgICAgIC8vY2hhbmdlIG90IHRoZSBncm91cCB0aGF0IHNob3VsZCBnZXQgc3BlY2lhbCBsaW5rc1xuCQkJaWYoIGdldF9wZXJtaXNzaW9uKCcncGFnZXNfbW9kaWZ5JycpICYmIGdldF9wYWdlX3Blcm1pc3Npb24oIFBBR0VfSUQgKSApXG4JICAgICAgICB7XG4JCQkJJHJldHVybl92YWx1ZSAuPSAnJzxsaSBjbGFzcz1cIm1vZGlmeVwiPjxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCInJy5BRE1JTl9VUkwuJycvcGFnZXMvbW9kaWZ5LnBocD9wYWdlX2lkPScnLlBBR0VfSUQuJydcIiB0aXRsZT1cIicnLiRIRUFESU5HWycnTU9ESUZZX1BBR0UnJ10uJydcIiBjbGFzcz1cImJsYW5rX3RhcmdldFwiPicnLiRIRUFESU5HWycnTU9ESUZZX1BBR0UnJ10uJyc8L2E+PC9saT4nJy5cIlxcblwiO1xuCSAgICAgICAgfVxuCSAgICAgICAgJHJldHVybl92YWx1ZSAuPSAnJzwvdWw+JycuXCJcXG5cIjtcbgkgICAgICAgICRyZXR1cm5fdmFsdWUgLj0gJyc8L2ZpZWxkc2V0PicnLlwiXFxuXCI7XG4JCQkkcmV0dXJuX3ZhbHVlIC49ICcnPC9mb3JtPicnLlwiXFxuXCI7XG4JfVxuCSRyZXR1cm5fdmFsdWUgLj0gJyc8L2Rpdj4nJy5cIlxcblwiO1xuCXJldHVybiAkcmV0dXJuX3ZhbHVlO1xuJywgJ1B1dHMgYSBMb2dpbiAvIExvZ291dCBib3ggb24geW91ciBwYWdlLicsIDEzNzgyNDc0OTIsIDEsIDEsIDAsIDAsIDAsICdVc2U6IFtbTG9naW5Cb3g/cmVkaXJlY3Q9dXJsXV0nKTsiKSBvciBkaWUoIkFuZnJhZ2UgZmVobGdlc2NobGFnZW46ICIgLiBteXNxbF9lcnJvcigpKTs=