рдореЗрд░реЗ рдкрд╛рд╕ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬреЛ рдХреНрд╡реЗрдВрд╕ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рд╣реИред рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рд╛рдордиреЗ рд▓рд╛рдпрд╛ рдЧрдпрд╛ред рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рд▓рд╛рдЗрдл рдЧреЗрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рджреЗрдЦрд╛:
рд╕реЗрд▓реНрдл рдкреНрд░рд┐рдВрдЯрд┐рдВрдЧ рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл рдФрд░ рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдХреБрдЫ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдПрдХ
ASCII рдЧреНрд░рд╛рдлрд┐рдХ рд╣реИ ред рд▓реЗрдХрд┐рди ASCII рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдмрдирд╛рдирд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд░реЛрдЪрдХ рдФрд░ рдХрдард┐рди рд╣реЛрдЧрд╛ред рд╣рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рджреЗрдЦрдирд╛
рдкрдбрд╝рд╛ , рд▓рдЧрднрдЧ рддреБрд░рдВрдд рд╕реНрдЯрд╛рд░ рд╡рд╛рд░реНрд╕ рдХрд╛ рдПрдХ рдПрдиреАрдореЗрд╢рди рдорд┐рд▓ рдЧрдпрд╛, рдпрд╛ рдирдИ рдЖрд╢рд╛ рдХреЗ 4 рдПрдкрд┐рд╕реЛрдб рдХреЛ
рдЕрд╕рд┐рдорд┐рд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╛рдкрд╛рдиреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдпреБрд╕реБрдХреЗ рдПрдВрдбреЛрд╣
"рдХреНрд▓реЗ рд░рд┐рд▓реЗ" рдХреЗ рдХрд╛рдо рдиреЗ рднреА рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рддрд░рд╣ рдХреА "рдлрд┐рд▓реНрдо" рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореБрдЭреЗ рдХрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬреЛ рдХрд┐ рдЕрдлрд╕реЛрд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдерд╛ред
рдкрд░рд┐рдгрд╛рдореА рд╕реНрд░реЛрдд рд╣реИ:
рдЬрд┐рд╕реНрдЯ ред "рджреЗрдЦрдиреЗ" рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рдкреВрд░реЗ рдПрдиреАрдореЗрд╢рди рдХреЛ рдШреБрдорд╛рдПрдЧреАред рдЕрдкрдиреА рдкреАрдврд╝реА, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдЧрд┐рдердм рдкрд░ рд░рдЦреЗ рдЧрдП рд╣реИрдВ:
рдлреНрд░реАрдХреА-рд╕реЛрд░реНрд╕ (рдХреНрд╡рд┐рди рдкрд▓рд┐рдВрдбреНрд░реЛрдореНрд╕ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА
рд▓рд┐рдЦрд╛ рдерд╛, рд╡реЗ рд╡рд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдРрд╕реА рдЪреАрдЬ рдХрд╛ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓рд╛рдн рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдП рд╣реИред
рдкрд░рд┐рдЪрдп
рдХреНрд╡реАрди рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рдЕрдЧрд▓реЗ рдлреНрд░реЗрдо рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдХрд▓рди рдХреЗ рд╕рд╛рде рдХрдВрд╕реЛрд▓ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдВред рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ "рдореВрд╡реА" рдХреА рдЧрддрд┐ рдХреЛрдб рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ (рдХреЛрдб рдЬрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛, рдпрд╣ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдФрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдЧрд╛), рдЕрдирдкреИрдХрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдФрд░ рд╕рдВрдХрд▓рди рдЧрддрд┐ (рд╣рд╛рд░реНрдбрд╡реЗрдпрд░)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдВрдХреБрдЪрд┐рдд рдПрдиреАрдореЗрд╢рди рдлреНрд░реЗрдо рджреНрд╡рд╛рд░рд╛ рдХрдмреНрдЬрд╛ рдХрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреВрд░реНрд╡реЛрдХреНрдд "рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл" рдПрдХ рдлреАрд▓реНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдпрджрд┐ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдЫреЛрдЯреА рд╣реИ, рдФрд░ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдпрд╣ рд╣рдореЗрд╢рд╛ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░ рдХрдИ рд╕реМ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдлрд╝реНрд░реЗрдо рдХреЛ рдЕрдВрдд рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ рдлрд╝реНрд░реЗрдо рдХрд╛ рдЙрддреНрдкрд╛рджрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХрд▓-рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ (рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрд┐рд╕рдиреЗ рдЙрдиреНрд╣реЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреВрдВрдЫ рдкрд╛рддреНрд░реЛрдВ (рдЕрдВрддрд┐рдо рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ) рдФрд░ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдЪреВрдВрдХрд┐
рдореЗрд░реЗ рдкрд╛рд╕ рдХрдо рдЖрдИрдХреНрдпреВ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖рдорддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдиреА рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдХреНрд╡реАрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдирд╛ рдФрд░ рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛ (NRefactory рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ C # рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛)ред
рдиреМ рдкреАрдврд╝реА рдХреЗ рдЪрд░рдг
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рдХреНрд╡реАрди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдирд┐рдореНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рддреЛрдбрд╝рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛:
- рдХреЛрдб рдкреАрдврд╝реАред
- рдбреЗрдЯрд╛ рдЬрдирд░реЗрд╢рдиред
- рдХреЛрдб рдорд┐рдирд┐рдлрд┐рдХреЗрд╢рдиред
- рдХреЛрдб рд╕реНрд╡рд░реВрдкрдгред
- рдХрд╛рдлреА рдкреАрдврд╝реАред
рдпреЗ рд╕рднреА рдЪрд░рдг рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╕реНрдЯрд╛рд░ рд╡рд╛рд░реНрд╕ рдкрд░ рд▓рд╛рдЧреВ "рдХреЛрдб" рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рдРрд╕рд╛ рдХреЛрдб рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдбреЗрдЯрд╛ рдПрдиреАрдореЗрд╢рди рдлреНрд░реЗрдо рдХрд╛ рдПрдХ рдкреИрдХ рд╕рд░рдгреА рд╣реИред
рдХреЛрдб рдХреЗ рдкрд╛рда рдЖрдХрд╛рд░
рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ
рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрдкрдардиреАрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рд╕рдЪ рд╣реИ, рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп .NET рд╡рд░реНрдЧ GZipStream рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдЦреЗрд▓ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕ рдордВрдЪ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдЦрд╛ред
рдЗрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ WinForms рдкрд░ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд▓рд┐рдЦрд╛ред

- рдКрдкрд░ рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд╡реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдХреЗ рдЙрджреНрджреЗрд╢реНрдп рдкрд░ рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкрд╣рд▓реЗ рдЪрд╛рд░ рдЪрд░рдг рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
- рдиреАрдЪреЗ рдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдЪрд░рдгреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ рдмрдЯрди рд╣реИрдВред рд╕рд╛рде рд╣реА, рд╕рдВрдХрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдХреЛрдб рдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдХреНрд╡реАрди рдХреЛ рддреБрд░рдВрдд рдЬрд╛рдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рд╢реАрд░реНрд╖ рджрд╛рдИрдВ рдУрд░, рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рдЬреЛ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХреНрд╡реАрди рдХреЛрдб рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИред
- рдлрд╝реАрд▓реНрдб рдХреЗ рд╢реАрд░реНрд╖ рджрд╛рдИрдВ рдУрд░ рдЬрд┐рд╕рдореЗрдВ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рдХреНрд╡реАрди рдХрд╛ рдЕрдЧрд▓рд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмрдЯрди "рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ -> рдЖрдЙрдЯрдкреБрдЯ" рдХреЗ рд╕рд╛рде рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдлреНрд░реЗрдо-рдмрд╛рдп-рдлреНрд░реЗрдо рдПрдиреАрдореЗрд╢рди (рдпрд╛ рдХреБрдЫ рдФрд░) рджреЗрдЦреЗрдВред
C # рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
BigObfuscator FastColoredTextBox рдШрдЯрдХ
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА "рдореВрд╡реА" рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреЗрдЦрдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рдпрд╛ рддреЛ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ)ред
рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдкреИрдЯрд░реНрди
рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдРрд╕реЗ рдЬрдЯрд┐рд▓ рдХреНрд╡реАрди рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рд╣реИ, рдФрд░ рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдкреИрдЯрд░реНрдиusing System; using System.Text; using System.Collections.Generic; namespace Asciimation_1_3 { class Program { static string Data = ""; static int CurrentFrame = 0; static void Main() { var output = Decompress_v_1_3(Data, CurrentFrame++); if (CurrentFrame == 3591) CurrentFrame = 3590; } } }
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд╕реА рдЕрд╕реНрдкрд╖реНрдЯ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ
рдорд╛рд░реНрдХрд░ рд╣реИрдВ рдЬреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рдХреЛрдб рдпрд╛ рдбреЗрдЯрд╛ рдХрд╣рд╛рдВ рдбрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдиреНрдп рдкреВрд░реНрдг рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡реЗ, рдмрджрд▓реЗ рдореЗрдВ, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдореИрдВ NUnit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ)ред рдореИрдВрдиреЗ рдЗрди рдорд╛рд░реНрдХрд░реЛрдВ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рд╣реИ:
- /*#..*/..//.....#*/ - рдХреЛрдбред рдЗрди рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред
- /*%..*/..//.....%*/ - рдбреЗрдЯрд╛ред рдЗрди рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдмреАрдЪ, рдХреБрдЫ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрддреНрдкрдиреНрди рдбреЗрдЯрд╛ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛рдиреА рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдПрдХ рд╕рд░рдгреА, рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА, рдкреВрд░реНрдгрд╛рдВрдХ, рдЖрджрд┐)ред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рдЖрдк рдбреЗрдЯрд╛ рдорд╛рд░реНрдХрд░реЛрдВ рд╕реЗ рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдореЗрдВ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ (рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ)ред
- /* ++...*/..//.....$*/ - рдкреИрд░рд╛рдореАрдЯрд░ред рдпреЗ рдорд╛рд░реНрдХрд░ рдПрдХ рдХреЛрдб рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХреНрд╡реАрди рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд░реНрддрдорд╛рди рдлреНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ (рдпрд╣ рд╣рд░ рдмрд╛рд░ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рдиреАрдЪреЗ рдХреЗ рдлреНрд░реЗрдо рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб, рдПрдХрд▓-рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рдкреИрд░рд╛рдореАрдЯрд░ рдЗрдВрдЯреНрд░реЙрди рд╣реИрдВ , рдЕрд░реНрдерд╛рдд рд▓рд╛рдЗрдиреЗрдВ рдЬреЛ рдЕрдЧрд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдореЗрдВ рдХреЛрдб рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдВрдЯреНрд░реЙрди рдЖрдЙрдЯрдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╣реИред
- / * @ * / - рдкреНрд░рд┐рдВрдЯред рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рд░реНрдХрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдкреНрд░рддрд┐ рдореЗрдВ рдореМрдЬреВрдж рд╣реИред рдкрд┐рдЫрд▓реЗ рдЪрд░рдгреЛрдВ рдореЗрдВ рдХреЛрдб рдФрд░ рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдЕрдиреБрднрд╛рдЧ рдХреЗ рджреЛрд╣рд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП (рддрд╛рдХрд┐ рд░рд╛рдиреА рдореЗрдВ рдФрд░ рдЗрд╕ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЗрд╕реЗ рдореБрджреНрд░рд┐рдд рди рдХрд░реЗрдВ), рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдбреЗрдЯрд╛ рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐, "asdf" рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ) '' '+ рдЖрдЙрдЯрдкреБрдЯ +' '' рдЖрдЙрдЯрдкреБрдЯ рд╣реИ)ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЪрд░рдгреЛрдВ рдФрд░ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╕рдВрдпреЛрдЬрди, рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреНрд░рд╛рдлрд┐рдХ рдЖрд░реЗрдЦ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдорд┐рдирд┐рдорд╛рдЗрдЬрд╝рд░ рдЦреБрдж рд╣реА рдХреНрд╡реАрди рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рдХреНрд╡реАрди рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред (рд╕рдЪ рд╣реИ, рдкреИрд░рд╛рдореАрдЯрд░ рдЕрднреА рднреА рдЦрдирди рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдореБрд╢реНрдХрд┐рд▓ рддрд░реАрдХреЗ рд╕реЗ)ред
рд╕рднреА рдЪрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╣реИред
рдХреЛрдб рдЬрдирд░реЗрд╢рди
рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдб
/*#...*/../../*...#*/ рдореВрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╕рдВрдкреВрд░реНрдг HuffmanRle2 рд╡рд░реНрдЧ рдХреЛ
/ * # HuffmanRleD timecode2 * // * HuffmanRleDecode2 # * / рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдХреЛрдб рдХреЗ рдХреБрдЫ рдЕрдВрд╢реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, .ToString () рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреНрд╡реАрди рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ) рдФрд░ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдХреЛ рджреЛ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдорд╛рд░реНрдХрд░
/ * рдЗрдЧреНрдиреЛрд░ * // * рдЗрдЧреНрдиреЛрд░ # рдкреЗрд╢ рдХрд┐рдП рдЧрдП рдереЗ
* / , рдЬреЛ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдЕрдВрджрд░ рд╕рднреА рдХреЛрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдирдореВрдирд╛ рдорд╛рд░реНрдХрд░ public class HuffmanRle2 { public static byte[] Decode(HuffmanTree tree, byte[] bytes, ref int curBit, int bytesCount, int bitsCountPerRepLength = 8, int bitsCountPerNotRepLength = 8) { int minLength = Math.Min(bitsCountPerRepLength, bitsCountPerNotRepLength); var maxCount = 1 << (minLength - 1); var root = tree.Root; var result = new List<byte>(bytes.Length * 2); int curBytesCount = 0; int i = 0; while (curBytesCount < bytesCount) { var length = Utils.GetInt(bytes, ref curBit, minLength); if ((length & maxCount) == 0) { curBit -= minLength; length = Utils.GetInt(bytes, ref curBit, bitsCountPerRepLength); var repeatCount = length + 2; byte value = Utils.GetValue(root, bytes, ref curBit); for (int j = 0; j < repeatCount; j++) { result.Add(value); curBytesCount++; } } else { curBit -= minLength; length = Utils.GetInt(bytes, ref curBit, bitsCountPerNotRepLength); var notRepeatCount = (((1 << (bitsCountPerNotRepLength - 1)) - 1) & length) + 1; for (int j = 0; j < notRepeatCount; j++) { byte value = Utils.GetValue(root, bytes, ref curBit); result.Add(value); curBytesCount++; } } i++; } return result.ToArray(); } }
рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдб рдиреНрдпреВрдирддрдо рд▓рдВрдмрд╛рдИ рдорд╛рдирджрдВрдб рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрд╖реНрдЯрддрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд┐рд░ рднреА, рдпрд╣ рдПрдХ рдорд╛рдирдХ рд╢реИрд▓реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдиреЗ рд╣рдореЗрдВ рдЕрдкрдиреА рдкреАрдврд╝реА рдХреЗ рддреБрд░рдВрдд рдкрд╣рд▓реЗ, рдХреНрд╡реАрди рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдФрд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг (рдПрдирдпреВрдПрдирдЖрдИрдЯреА) рд▓рд┐рдЦрдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рдЬреЛ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдХрдо рдердХрд╛рдК рдмрдирд╛рддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдХреЛрдб рдХрд╛ рдорд┐рдирд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди, рдЬреЛ рдмрд╛рдж рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИ, рд╣рдореЗрдВ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдиреБрдХрд╕рд╛рди рдХреЛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдбреЗрдЯрд╛ рдЬрдирд░реЗрд╢рди
рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓рддрдо рджреЛрд╖рд░рд╣рд┐рдд рд╕рдВрдкреАрдбрд╝рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдЬреИрд╕реЗ рдХрд┐ RLE рдФрд░ рд╣рдлрд╝рдореИрди рдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдПрдиреАрдореЗрд╢рди, рдХрд┐рд╕реА рднреА рдлрд┐рд▓реНрдо рдХреА рддрд░рд╣, рдореБрдЦреНрдп рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдлреНрд░реЗрдо рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдордзреНрдпрд╡рд░реНрддреА рдлрд╝реНрд░реЗрдо рдореЗрдВ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рдЕрдВрддрд┐рдо рдлрд╝реНрд░реЗрдо рдХреЗ рдмрд╛рдж рд╕реЗ рдмрджрд▓ рдЧрдИ рд╣реИ, рдФрд░ рдореБрдЦреНрдп рдлрд╝реНрд░реЗрдо рдореЗрдВ рдлрд╝реНрд░реЗрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдордзреНрдпрд╡рд░реНрддреА рдлреНрд░реЗрдо рдХреЗ рд╕рднреА рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рд╕рднреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рдореБрдЦреНрдп рдПрдХ рдХреЛ рдбреАрдХреЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╕рднреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ред рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЫрджреНрдо-рдПрдордкреАрдИрдЬреА рдирд┐рдХрд▓рд╛ред рдореБрдЦреНрдп рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдлреНрд░реЗрдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдиреАрдЪреЗ рдкреНрд░рд╕реНрддреБрдд рдХреА рдЧрдИ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдордзреНрдпрд╡рд░реНрддреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдмрд╛рдПрдВ, рджрд╛рдПрдВ, рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдордзреНрдпрд╡рд░реНрддреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрддрдиреЗ рджреБрд░реНрд▓рдн рдирд╣реАрдВ рд╣реИрдВред
рдлрд╝реНрд░реЗрдо:0..3 - рдкреНрд░рдХрд╛рд░:
- 000 - рдЖрдзрд╛рд░:
3..13 - рд╡рд░реНрдг рдЧрдгрдирд╛
13 ... - рд╣рдлрд╝рдореИрди рд░реА рдХреЛрдб - 001 - рдмрд╛рдпрд╛рдБ:
010 - рд╢реАрд░реНрд╖:
011 - рд╕рд╣реА:
100 - рдиреАрдЪреЗ:
101 - рдкрд░рд┐рд╡рд░реНрддрд┐рдд:
3..10 - рдкрд░рд┐рд╡рд░реНрддрди рдЧрд┐рдирддреА
10 ... - рдкрд░рд┐рд╡рд░реНрддрди
рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░реЗрдВ:0..2 - рдкреНрд░рдХрд╛рд░:
- 00 - рдПрдХ рдЪрд╛рд░:
2..12 - рд╕реНрдерд┐рддрд┐
12 ... - рд╣рдлрд╝рдореИрди рдХреЛрдб - 01 - рд▓рд╛рдЗрди рдХреНрд╖реИрддрд┐рдЬ:
2..12 - рд╕реНрдерд┐рддрд┐
12.19 - рд╡рд░реНрдг рдЧрдгрдирд╛
19 ... - рд╣рдлрд╝рдореИрди рдХреЛрдб - 10 - рдЦрдбрд╝реА рд░реЗрдЦрд╛:
2..12 - рд╕реНрдерд┐рддрд┐
12..16 - рд╡рд░реНрдг рдЧрдгрдирд╛
16 ... - рд╣рдлрд╝рдореИрди рдХреЛрдб
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЕрдВрддрд┐рдо рд╕рдВрдкреАрдбрд╝рди рдЙрддрдирд╛ рдмрдбрд╝рд╛ рдирд╣реАрдВ рдерд╛ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХрд╛рдлреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред рдореИрдВ 7-рдЬрд╝рд┐рдк рдореЗрдВ lzma рд╕реНрддрд░ рдкрд░, рдЕрд░реНрдерд╛рддреН 100 рдХреЗрдмреА рд╕реЗ рдХрдоред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рддрд░реАрдХреЛрдВ (рдЕрдВрддрд░рд╛рд▓ рдХреЛрдбрд┐рдВрдЧ, рд╢рдмреНрджрдХреЛрд╢ рд╡рд┐рдзрд┐рдпреЛрдВ) рдХреА рдорджрдж рд╕реЗ, рд╕рдореНрдкреАрдбрди рдХреЗ рдПрдХ рднреА рдмрдбрд╝реЗ рд╕реНрддрд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдХреЛрдб рдорд┐рдирд┐рдлрд┐рдХреЗрд╢рди
рдкрд╛рда рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХреЛрдб рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред C # рдХреЛрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
NRefactory рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛
рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд░реЛрдЬрд▓рд┐рди рдкрд░ рдЗрд╕рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдкрд╛рд░реНрд╕ рдЯреНрд░реА рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдп рдореЗрдВ рд╣реЛрддреА рд╣реИред
рд╢реЙрд░реНрдЯрд┐рдВрдЧ рдХреНрд▓рд╛рд╕ рдХреЗ рдирд╛рдо, рддрд░реАрдХреЗ, рдХреНрд╖реЗрддреНрд░, рд╕реНрдерд╛рдиреАрдп рдЪрд░
рдорд┐рдирд┐рдлрд╝рд╛рдпрд░ рдХрд╛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдареАрдХ рдЗрд╕реА рдЪрд░рдг рдореЗрдВ рдерд╛ред рдирд┐рд░реНрдорд╛рдг рдХрд┐рдП рдЧрдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░реА рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рдЬрд╝рд┐рдЯрд░ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЯреНрд░реИрд╡рд░реНрд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдиреЛрдбреНрд╕ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рдХреЗ рдЕрдзрд┐рднрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рддрд░рдл рдФрд░ рджреВрд╕рд░реА рдУрд░, рдХрдо рд╕реЗ рдХрдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╛рдХрд┐ рд╡реЗ рдУрд╡рд░рд▓реИрдк рди рдХрд░реЗрдВ рдФрд░ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рди рджреЗрдВ, рдЫреЛрдЯрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдгреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
- рд╕реНрдерд╛рдиреАрдп рдЪрд░реЛрдВ рдХрд╛ рдиреНрдпреВрдирддрдордХрд░рдгред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╕реНрдерд╛рдиреАрдп рдЪрд░ рдХреЗ рд╕рднреА рдирд╛рдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА, рдЙрдирдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реЗ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рджрд▓реАрд▓реЗрдВ рдФрд░ рдкреЗрдбрд╝ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдбреНрд╕ рдПрдХрддреНрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрд░рд╛рдиреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдП рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╕рджрд╕реНрдп рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдиреНрдпреВрдирддрдоред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдкреЗрдбрд╝ рдореЗрдВ рд╕рднреА рдлрд╝реАрд▓реНрдб рдирд╛рдореЛрдВ, рд╡рд┐рдзрд┐рдпреЛрдВ , рдЧреБрдгреЛрдВ , рдЧрдгрдирд╛ рд╕рджрд╕реНрдпреЛрдВ , рдШрдЯрдирд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рджрд╕реНрдп рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ ( рд╡рд░реНрдЧ , рд╕рдВрд░рдЪрдирд╛ , рдЗрдВрдЯрд░рдлрд╝реЗрд╕ ) рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рддреНрдпреЗрдХ рдкреБрд░рд╛рдиреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдП рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдореЛрдВ рдХреА рдиреНрдпреВрдирддрдоред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдкреЗрдбрд╝ рдореЗрдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдирд╛рдореЛрдВ ( рд╡рд░реНрдЧреЛрдВ , рд╕рдВрд░рдЪрдирд╛рдУрдВ , рдЗрдВрдЯрд░рдлреЗрд╕ ) рдФрд░ рдЙрдирдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдиреЛрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рдПрдХрддреНрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдкреНрд░рддреНрдпреЗрдХ рдирд╛рдо рдХреЛ рдПрдХ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдпрд╛ рддреЛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓рдВрдмрд╛рдИ рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдореЗрдВ рдиреНрдпреВрдирддрдо рд╣реИрдВред рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╕рдордп, рд╕рд╛рдордиреЗ рдЖрдП рдХрд┐рд╕реА рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рддрд╛рдХрд┐ рдХреЛрдИ рдЪреМрд░рд╛рд╣рд╛ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рди рд╣реЛрдВ)ред
рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЙрдкреЗрдХреНрд╖рд┐рдд рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рднреА рд▓рд┐рдВрдХ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рд╕рднреА рд╕рдВрджрд░реНрднреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ), NRefactory рд╕рдВрдХрд▓реНрдк рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдкреЗрдбрд╝ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдореЗрдВ: рд╕реНрдерд╛рдиреАрдп рдЪрд░, рдкреНрд░рдХрд╛рд░ рд╕рджрд╕реНрдп, рдкреНрд░рдХрд╛рд░):
var unresolvedFile = SyntaxTree.ToTypeSystem(); var projectContent = projectContent.AddOrUpdateFiles(_unresolvedFile); var compilation = projectContent.CreateCompilation(); var resolver = new CSharpAstResolver(_compilation, SyntaxTree, _unresolvedFile);
рдлрд┐рд░ рдЖрдк рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рд▓рд┐рдВрдХ рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ:
var resolveResult = resolver.Resolve(node); var findReferences = new FindReferences(); ... findReferences.FindLocalReferences(); ... findReferences.FindReferencesInFile();
рдЕрдиреНрдп minifications
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫреЛрдЯреЗ рдордВрддреНрд░рд╛рд▓рдп рднреА рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗ:
- рдирд┐рдЬреА рдХреАрд╡рд░реНрдб рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ
- рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛
- рдЪрд░ рдЖрд░рдВрднреАрдХрд░рдг рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐:
рдиреЛрдЯ: рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдЦреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
Csharp рдХреЛрдб рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП NRefactory рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреЛ рд╣рдЯрд╛рдирд╛ рдЬрд┐рд╕рдХреЗ рднреАрддрд░ рдПрдХ рд╣реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ:
if (a) { b; } => if (a) b;
if (a) { b; } => if (a) b;
- рдПрдХ рдмреВрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдХрдо рдХрд░рдирд╛:
if (a == true) => if (a); if (a == false) => if (!a)
if (a == true) => if (a); if (a == false) => if (!a)
- рдХреНрд╖реЗрддреНрд░реЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ред
рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдФрд░ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рдХреЛ рд╣рдЯрд╛рдиреЗ
рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рдорд┐рдиреНрдирддреЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдХреЛрдб рд╕реЗ рдХреЗрд╡рд▓ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡реНрд╣рд╛рдЯреНрд╕рдПрдк рдФрд░ рдЕрдиреБрд╡рд╛рдж рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдореВрд▓реНрдп (рд╕реМрдВрджрд░реНрдп рдХреЗ рд▓рд┐рдП) рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛред
рдорд┐рдиреАрдлрд╝рд╛рдпрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
CSharp-Minifier ред рдпрд╣ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХреНрд╡рд╛рдЗрди рдореЗрдВ рдХреЛрдб рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рддрдереНрдп рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдереЛрдбрд╝реА рдЕрдЬреАрдм рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ / рдпрд╛ рдкреБрд▓-рдХреНрд╡реИрд╕реНрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдХреЛрдб рд╕реНрд╡рд░реВрдкрдг
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрд┐рддреНрд░ рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯрд╛ рдХреЛрдб рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдлрд╝реЙрд░реНрдореЗрдЯрд┐рдВрдЧ, рдиреНрдпреВрдирддрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХрд▓ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ (рдЙрдиреНрд╣реЗрдВ рддреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ), рдЬрд┐рд╕рд╕реЗ рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред рддрд╕реНрд╡реАрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рдкреНрд░рд╛рд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкреНрд░рддреАрдХ рдПрдХ рд╕рдлреЗрдж рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗ, рдФрд░ рдХрд╛рд▓рд╛ - рдЗрд╕рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ред рдПрдХ рдмреЗрд╣рддрд░ рдореИрдЪ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рднреА рд╣реЗрд░рд╛рд╕реНрдЯрд┐рдХ рд╕реЙрд░реНрдЯрд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо (рдЖрдиреБрд╡рдВрд╢рд┐рдХ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореЗрд░рд╛ рдкреНрд░рд╛рд░реВрдкрдг рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдХрд╛рдлреА рдмрдбрд╝реА рдкреАрдврд╝реА
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдорд╛рд░реНрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд╣рд╛рдВ рдХреНрд╡реАрди рдХреА рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
/ * @ * * /рдЪрд░рдгреЛрдВ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦрддрд╛ рд╣реИред рд╕рднреА рдХреЛрдб рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдмреНрд░реЗрдХ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЖрд░рдВрднреАрдХрд░рдг:
рдЯреЗрдореНрдкрд▓реЗрдЯ =
class P { static void Main() { var a = 6; int b = 10; } }
- рдПрдХ рдХреНрд╡реАрди рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред рдХреЛрдЯреЗрд╢рди рдХреЗ рдирд┐рд╢рд╛рди, рдмреИрдХрд╕реНрд▓реИрд╢ рдФрд░ рд▓рд╛рдЗрди рдмреНрд░реЗрдХ рд╕реЗ рдмрдЪ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдПрдХ рд╕реНрд╡рд░реВрдкрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдкрджрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рдПред
рдХрд░реНрдиреЗрд▓ = "var s = {1}{0}{1}; System.Console.Write(s,s,'{1}','{2}{2}',{1}{2}r{2}n{1});"
- рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рд╕реЗ рдЫрдкрд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде рдорд╛рд░реНрдХрд░ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдХреНрдпреЛрдВрдХрд┐ рд╕реА # рдореЗрдВ, рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реИрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рднреА рдмрдЪ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
str = template.Replace("{", "{{").Replace("}", "}}").Replace("/*@*/", kernel)
str =
class P {{ static void Main() {{ var a = 6; var s = {1}{0}{1}; System.Console.Write(s,s,'{1}','{2}{2}',{1}{2}r{2}n{1}); int b = 10; }} }}
- рдХреНрд╡реАрди рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд░рд┐рдгрд╛рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг
InsertToResult = "var s=\"" + str + "\""
рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ
var s=" class P {{ static void Main() {{ int a=6; var s={1}{0}{1}; Console.Write(s,s,'{1}','{2}{2}',{1}{2}r{2}n{1}); int b=10; }} }}"; Console.Write(s,s,'"', '\\', "\r\n");
- рд╕реНрд░реЛрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдорд╛рд░реНрдХрд░ рдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛:
рдкрд░рд┐рдгрд╛рдо = template.Replace("/*@*/", insertToResult)
рдкрд░рд┐рдгрд╛рдо =
using System; class c { static void Main() { int a=6; var s="using System;class c{{static void Main(){{int a=6;var s={1}{0}{1};Console.Write(s,s,'{1}','{2}{2}',{1}{2}r{2}n{1});int b=10;}}}}"; Console.Write(s,s,'"', '\\', "\r\n"); int b=10; } }
рд╕рдВрдкрдиреНрди: рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рдпрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдХреЛ рдкрд╛рд▓рд┐рдВрдбрдо рдХреНрд╡рд╛рдЗрд▓ рдХреА рдкреАрдврд╝реА
рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рд▓рд╛рдВрдЪ
рдХреНрд╡реАрди рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Asciimation.cs рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдлреНрд░реЗрдо рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" Asciimation.cs && (Asciimation > Asciimation.cs) && Asciimation
рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрддреНрдкрдиреНрди "рдлрд┐рд▓реНрдо" рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
echo off SET /ai=0 :LOOP IF %i%==3591 GOTO END "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" Asciimation.cs && (Asciimation > Asciimation.cs) && Asciimation SET /ai=%i%+1 GOTO LOOP :END pause
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди quines рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛рдУрдВ (
ideone.com ,
compileonline ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЛрдб рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрднреА рднреА рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред
рдЬреЗрдирд░реЗрдЯ рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдмреИрдЪ рдлрд╛рдЗрд▓реЗрдВ рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ:
AsciimationQoodle_1_3.7z ред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЖрдк рдЪреЗрди рдХреНрд╡реЗрдВрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░, рд╢рд╛рдпрдж, рдпреБрд╕реБрдХреЗ рдПрдВрдбреЛрд╣ рдХреЗ рдХрд░рддрдм рдХреЛ рди рдХреЗрд╡рд▓ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ, рдмрд▓реНрдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЦрд╛рд╕рдХрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: