рдХреБрдЫ рджрд┐рдиреЛрдВ рдкрд╣рд▓реЗ рдореИрдВрдиреЗ C # рдореЗрдВ
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЕрдкрдбреЗрдЯ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдПрдХ рд▓реЗрдЦ рд▓рд┐рдЦрд╛ рдерд╛ред
рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдХреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, "рдкреБрд░рд╛рдиреА" рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рд╕рд╣рд┐рдд рдХрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЙрд╕ рдХреЛрдб рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЬрд╛рдБрдЪ, рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЕрджреНрдпрддрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
- рдЕрджреНрдпрддрди рдХреЗ рдХреНрд╖рдг (рдирдпрд╛) рдЪреБрдирдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛;
- рдмреЗрд╣рддрд░ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕рддреНрдпрд╛рдкрди рддрдВрддреНрд░;
- рдЕрджреНрдпрддрди рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреА рдЬрд╛рдБрдЪ (рдирдпрд╛)
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рдкрд╛рда рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдЗрд╕рдореЗрдВ рдореИрдВ рдХреЗрд╡рд▓ рдХреЛрдб рдХреЗ рд╕рдВрд╕рд╛рдзрд┐рдд рднрд╛рдЧреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЦреНрдп рдмрд┐рдВрджреБ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рдЯрд┐рдкреНрдкрдгреАрдХрд╛рд░реЛрдВ рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдЦрд╛рдорд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА (рдореИрдВ рдХреЗрд╡рд▓ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рди рдкрд░ рдореИрдВрдиреЗ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛):
- рдкрд╣рд▓реЗ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдмреАрдЪ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рддрдм рди рд╣реЛ, рдЬрдм рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ .bak рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЕрдкреВрд░реНрдгред Exe рдХреЗ рд╕рд╛рде рд░рд╣рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдПрдХ рдХрд╛рдо рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдмрд┐рдирд╛ред ( рдбрд╛рд░реНрдХрдмрд╛рдЗрдЯ );
- рдмрд╕ рдЪреЗрдХрд╕рдо рдЪреЗрдХ рдирд╣реАрдВ рджреЗрдЦрд╛ред (рдирд╛рдо);
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдПрдХрд▓ "рдУрдХреЗ" рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рдореЙрдбрд▓ (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛) рд╕реВрдЪрдирд╛ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдЪреБрдкрдЪрд╛рдк рдФрд░ рдЕрдЧреЛрдЪрд░ рд░реВрдк рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдиреЗ рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕реЗ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреАрдд рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ( Iroln );
- рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рддреБрд▓рдирд╛ рдЧрд▓рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 9.12.2 рд╕реЗ 10.0.0 рддрдХ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╕рдордп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред ( eyless_watcher )
- рдФрд░ рдХреНрдпрд╛ рд╕реАрдзреЗ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ? ( teleavtomatika )ред
рдмреЗрд╢рдХ, рдЗрди рдХреЗ рд╕рдорд╛рди рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдХреЛ рдирд╣реАрдВ рджрд┐рдпрд╛, рдФрд░ рдореИрдВрдиреЗ рд╕рдорд╕реНрдпрд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ред
рд╕рдВрд╢реЛрдзрди
рдЪреВрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдХреБрдЫ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рд╛рдЗрд▓ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рдПрдЧреА, рдХреЛрдб рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╢реЛрдзрди рдХрд┐рдП рдЧрдП рдереЗ:
public void checkUpdates(){ try { if (File.Exists("launcher.update") && new Version(FileVersionInfo.GetVersionInfo("launcher.update").FileVersion) > new Version(Application.ProductVersion)) { Process.Start("updater.exe", "launcher.update \"" + Process.GetCurrentProcess().ProcessName + "\""); Process.GetCurrentProcess().CloseMainWindow(); } else { if (File.Exists("launcher.update")) { File.Delete("launcher.update"); } Download(); } } catch (Exception) { if (File.Exists("launcher.update")) { File.Delete("launcher.update"); } Download(); } }
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐
рд▓реЙрдиреНрдЪрд░.рдЕрдкрдбреЗрдЯ рдЕрдкрдбреЗрдЯ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рднреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рд╣реИ, рддреЛ
рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЕрдкрд╡рд╛рдж рдЕрдкрд╡рд╛рдж рд╣реИрдВрдбрд▓рд░ рдХреНрд╖рддрд┐рдЧреНрд░рд╕реНрдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдХреЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЪреЗрдХрд┐рдВрдЧ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдбрд┐рдВрдЧ (рдпрджрд┐ рдкрд╛рдпрд╛ рдЧрдпрд╛) рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рддреЛ рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд
updater.exe рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИред рдореИрдВрдиреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдерд╛ ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЕрджреНрдпрддрди рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдЦрдВрдбрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗред
private void Download() { try { XmlDocument doc = new XmlDocument(); doc.Load(@"http://mysite/version.xml"); remoteVersion = new Version(doc.GetElementsByTagName("version")[0].InnerText); localVersion = new Version(Application.ProductVersion); if (localVersion < remoteVersion) { if (File.Exists("launcher.update")) { File.Delete("launcher.update"); } WebClient client = new WebClient(); client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged); client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed); client.DownloadFileAsync(new Uri(@"http://mysite/launcher.exe"), "launcher.update"); } } catch (Exception) { } }
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдП рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рдмрд┐рд▓реНрдЯ-рдЗрди
System.Version рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╕рддреНрдпрд╛рдкрди рдХреА рд╕рдорд╕реНрдпрд╛, рдХрд╣рддреЗ рд╣реИрдВ, "9.12.2 рдФрд░" 10.0.0 ", рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рдПрдХ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рдХреНрд░рд┐рдпрд╛рдПрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реЛрддреА рд╣реИрдВ: рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕ рдЕрдкрдбреЗрдЯ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдФрд░ 2 рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:
- рдПрдХ рдЕрджреНрдпрддрди рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрдиреЗ рд╕реЗ , рдХрд╛рд░реНрдпрдХреНрд░рдо рддреБрд░рдВрдд рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛;
- рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рдиреЗ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдЕрдЧрд▓реА рдмрд╛рд░ рдХреЛрдИ рд╕реВрдЪрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдбреЗрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдЧреАред
рдирд┐рд╖реНрдХрд░реНрд╖
рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЛрдб рдЕрдзрд┐рдХ рд╕рд╣реА рдирд┐рдХрд▓рд╛, рдФрд░ "рдмрд┐рдЯ" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рднреА рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЪреЗрдХрд╕рдо рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдХрдореА рд╣реИред
рдФрд░ рдореИрдВ рдЕрдкрдиреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЛрдЧреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рдзрдиреНрдпрд╡рд╛рдж рдХрд╣рдирд╛
рдЪрд╛рд╣реВрдВрдЧрд╛ :
DarkByte ,
naum ,
iroln ,
eyeless_watcher ,
teleavtomatika ,
wire ред
рд╕рд╛рджрд░, рдПрдВрдбреНрд░рдпреВ рд╣реЗрд▓рдбрд░!рдкреБрдирд╢реНрдЪ: рдирд╛рдмрд╛рд▓рд┐рдЧреЛрдВ рдХреЗ рдмреАрдЪ рд╕реЗ рджрдпрд╛рд▓реБ рд▓реЛрдЧ - рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рджрдпрд╛рд▓реБ рдмрдиреЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдореИрдВ рдХрд╣рд╛рдВ рдЧрд▓рдд рд╣реВрдВред
рдпреБрдкреАрдбреАред рд╣рдо рд╡рд┐рдирдореНрд░рддрд╛рдкреВрд░реНрд╡рдХ рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдЕрднреА рднреА "рдХреБрдЯрд┐рд▓ рд╣рд╛рде", "рдХреБрдЯрд┐рд▓ рдХреЛрдб" рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд▓рд┐рдЦреЗрдВред рдЖрдкрдХреА рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░реВрдВрдЧрд╛, рдЬрд┐рд╕рд╕реЗ рдмреЗрд╣рддрд░ рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕реАрдЦреВрдВред
рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж!