рд╕рднреА рдХреЗ рд▓рд┐рдП рдЦреБрд╢реА, рдХреБрдЫ рдирд╣реАрдВ рдХреЗ рд▓рд┐рдП
рдФрд░ рдХрд┐рд╕реА рдХреЛ рдмреБрд░рд╛ рдордд рдорд╛рдиреЛ!
рдПред рдФрд░ рдмреАред рд╕реНрдЯреНрд░рдЧрддреНрд╕реНрдХреА "рд╕рд╛рдЗрдбрд▓рд╛рдЗрди рдкрд░ рдкрд┐рдХрдирд┐рдХ"рдмреЙрдЯ, рдЪрд╛рд╣реЗ рд╡реЗ рдХрд┐рддрдирд╛ рднреА рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓реЗрдВ, рд▓рд╛рдЗрд╡ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦрд░рд╛рдм рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЕрдЧрд░ рдмреЙрдЯ рдЦрд░рд╛рдм рдЦреЗрд▓рддрд╛ рд╣реИ - рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдпрд╣ рдордЬрдмреВрдд рд╣реИ - рдпрд╣ рдЕрдкрдорд╛рдирдЬрдирдХ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рдВрддреБрд▓рди рдмрдирд╛рдП рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ (рд╕рднреА рдФрд░ рдЕрдзрд┐рдХ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИ)ред рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдЧреЗрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рд╕рд░реНрд╡рд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рд╕рдм рдХреБрдЫ рдЖрд░рд╛рдо рдХрд┐рдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдирд┐рд░реНрдгрдп рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдХреЛрдг рд╕реЗ рдЖрдпрд╛ред
рдПрдб рд╡реИрди рдЬрд╝реЛрди рдПрдХ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рд╕рдВрдкрд░реНрдХ рдореЗрдВ рд╣реВрдВред рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдпрд╣ рд╡рд╣ рдерд╛ рдЬрд┐рд╕рдиреЗ рдЬрд╝рд┐рд▓рд┐рдпрдВрд╕ рдХреЗ рдЧрд┐рд░рддреЗ рдмреИрдирд░ рдХреЛ рдкрдХрдбрд╝рд╛, рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ (рдЬреЗрдлрд╝ рдореИрд▓реЗрдЯ рдФрд░ рдорд╛рд░реНрдХ рд▓реЗрдлрд╝рд▓рд░) рдиреЗ рдЕрдЪрд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд░реБрдЪрд┐ рдЦреЛ рджреАред рдЗрд╕рд▓рд┐рдП,
рдЗрди рд╕рднреА
рдЦреЗрд▓реЛрдВ рдХреЛ рдЙрд╕рдХреА рд╕реЗрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рднреА, рд╡рд╣ рдФрд░
рдХреНрд░рд┐рд╢реНрдЪрд┐рдпрди рдлреНрд░реАрд▓рд┐рдВрдЧ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд╕рдорд░реНрдерди рдФрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ (рдмреЗрд╢рдХ, рдмреЛрд░реНрдб рдЧреЗрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА):
рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдПрдХ рдХрд╣рд╛рд╡рдд рдереАред рдХрд╣рд╛рдиреА рдЗрд╕ рддрдереНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЗрд╕ рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдЫреЗрдж (рдпрд╛ рдмрд▓реНрдХрд┐, рдПрдХ
рдЫреЗрдж рд╣реИ , рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реИ), рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЗрд╡ рдЦрд┐рд▓рд╛рдбрд╝реА рдкрддреНрд░рд╛рдЪрд╛рд░ рджреНрд╡рд╛рд░рд╛ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдмрд▓реНрдХрд┐, рд╡реЗ рддрдм рддрдХ рдХрд░ рд╕рдХрддреЗ рдереЗ, рдЬрдм рддрдХ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓реЗрдЯреНрд╕ рдХреА рддрдХрдиреАрдХ рдкреБрд░рд╛рдиреА рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАред рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдХреЗрд╡рд▓ рдирд╢реНрд╡рд░ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдПрдб рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдореИрдВ рдЕрдкрдиреА
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде, рдмрджрд▓ рдЧрдпрд╛ред
рдмрд╣реБрдд рдХрдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рджреМрд░реЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП, рдПрдб рдиреЗ, рдмрд╕ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдбрд╛рдЧрд╛рдЬрд╝ рдЗрдВрдЬрди рдкрд░ рддреАрди рджрд░реНрдЬрди рдирдП рдЧреЗрдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдЗрдЯ рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐
рдПрдордЖрдИрдЯреА-рд▓рд╛рдЗрд╕реЗрдВрд╕ (рдЦреБрдж рдХреА рддрд░рд╣), рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╣рд░ рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рд╕рдорд╕реНрдпрд╛ рдереАредрдпрд╣ рд╕рдордЭрд╛ рдЧрдпрд╛ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдЗрди рд╕рднреА рдЦреЗрд▓реЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдмреЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ Dagaz рдиреЗ, рдЗрд╕рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдЬрд▓реНрджреА рд╕реЗ рдХреБрдЫ рд▓реЗрдХрд░ рдЖрдирд╛ рдерд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ
рд╕рддреНрд░-рдкреНрд░рдмрдВрдзрдХ рдерд╛ рдЬрд┐рд╕рдиреЗ рдореБрдЭреЗ рдЧрд▓рддреА рд╕реЗ рдХрд┐рдП рдЧрдП рдХрджрдореЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдереАред рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд░реИрдо рдореЗрдВ рдЧреЗрдо рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╣реЗрдЬрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред
рдкрд░рд┐рд░рдХреНрд╖рдгSessionManager.prototype.save = function() { if (_.isUndefined(this.current) || _.isUndefined(this.current.board)) return null; var states = []; var board = this.current.board; while (board.parent !== null) { states.push(board); board = board.parent; } var r = "("; while (states.length > 0) { var board = states.pop(); r = r + ";" + Dagaz.Model.playerToString(board.parent.player); r = r + "[" + Dagaz.Model.moveToString(board.move) + "]"; } r = r + ")"; return r; }
рдФрд░ рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ SessionManager.prototype.load = function(sgf) { var res = Dagaz.Model.parseSgf(sgf); this.states = []; delete this.current; var board = Dagaz.Model.getInitBoard(); this.addState(Dagaz.Model.createMove(), board); for (var i = 0; i < res.length; i++) { var p = res[i].name; if (p != Dagaz.Model.playerToString(board.player)) return false; if (res[i].arg.length != 1) return false; var move = this.locateMove(board, res[i].arg[0]); if (move === null) return false; board = board.apply(move); this.addState(move, board); } this.controller.setBoard(board); return true; }
рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдХреБрдЫ рджрд░реНрдЬрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ (рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ
рдПрд╕рдЬреАрдПрдл рдкреНрд░рд╛рд░реВрдк рдкрд╛рд░реНрд╕рд░ рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ, рдХреЛрдИ рднреА рдЗрд╕реЗ
рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддрд╛
рд╣реИ )ред рд╡реИрд╕реЗ, рдПрд╕рдЬреАрдПрдл рдФрд░ рд╕рддреНрд░-рдкреНрд░рдмрдВрдзрдХ рджреЛрдиреЛрдВ рд╣реА рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рди рдХреЗрд╡рд▓ рдЦреЗрд▓ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╕рд╛рде, рдмрд▓реНрдХрд┐ рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛ред
рдиреЗрдЯ рдкрд░ рдЦреЗрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде, рджрдЧрд╛рдЬрд╝ рд╕реЗ рдкрд╣рд▓рд╛ рдЧреЗрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдХреБрдЫ рдореВрд▓ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЪреВрдВрдХрд┐ рдПрдб рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рдЪреЗрдХрд░реНрд╕ ,
рд╢рддрд░рдВрдЬ рдФрд░
рдЧреЛ ) рдереЗред рд╡рд┐рдХрд▓реНрдк
рдЯрд░реНрдирдУрд╡рд░ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛ред рдпрд╣ рдЦреЗрд▓, рд╢рддрд░рдВрдЬ рдХреЗ рд╕рдорд╛рди рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ, рд╣рд╛рд▓ рд╣реА рдореЗрдВ L├║cio Jos├й Patroc├нnio Filho рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдпрд╣рд╛рдВ рдЖрдВрдХрдбрд╝реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рд╣реИрдВред рд╕рдмрд╕реЗ рдмрдбрд╝реА рдЕрдВрдЧреВрдареА
рд╢рддрд░рдВрдЬ рдХреЗ рдореЛрд╣рд░реЗ рдХреА рддрд░рд╣ рдЪрд▓рддреА рд╣реИ, рдмреАрдЪ рдореЗрдВ
рд╣рд╛рдереА рдХреА рддрд░рд╣, рдФрд░ рдХреЛрд░ рдПрдХ
рдХрд┐рд╢реНрддреА рд╣реИ ред рдПрдХ рдХрд┐рд╢реНрддреА рдФрд░ рдПрдХ рд╣рд╛рдереА рдХрд╛ рд╕рдВрдпреЛрдЬрди
рд░рд╛рдиреА рдХреЛ рджреЗрддрд╛ рд╣реИ (рдЬреЛ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ), рдФрд░ рджреЛ рдЫрд▓реНрд▓реЗ
рд╢рддрд░рдВрдЬ рдХреЛ рд╢реВрд░рд╡реАрд░ рджреЗрддреЗ рд╣реИрдВ ред рддреАрдиреЛрдВ рднрд╛рдЧ рдорд┐рд▓рдХрд░ рдПрдХ рдорд╣рд▓ рдмрдирд╛рддреЗ рд╣реИрдВ - рдореБрдЦреНрдп рдЖрдХреГрддрд┐ рдЬрд┐рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ, рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рд╣рд┐рд╕реНрд╕рд╛, рд╣рдореЗрд╢рд╛ рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд┐рд╕реА рднреА рд╕рдордп рдорд╣рд▓ рдХреА рдмрд╛рд╣рд░реА рд░рд┐рдВрдЧ, рдкреНрдпрд╛рджрд╛ (рдореИрджрд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреВрдж рд╕рд╣рд┐рдд) рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдорд╣рд▓ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рд╣реИредрдЖрдЦрд┐рд░реА рдорд╣рд▓ рдЦреЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЦрд┐рд▓рд╛рдбрд╝реА рд╣рд╛рд░ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЦрд┐рд▓рд╛рдбрд╝реА рд╕рднреА рддрд╛рд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рдЦреЛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЦреЗрд▓ рдореЗрдВ
рдЪреЗрдХ рдФрд░
рдЪреЗрдХрдореЗрдЯ рдХреЗ рдирд┐рдпрдо рд╣реИрдВред рдХреИрд╕реНрдЯрд▓реНрд╕ рдХреЛ рд╣рдорд▓реЗ рдХреЗ рддрд╣рдд рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕ рд╢рд░реНрдд рдкрд░ рдХрд┐ рдЙрди
рд╕рднреА рдкрд░ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЦреЗрд▓ рдореЗрдВ рд╕рд╛рдЬрд╝рд┐рд╢ рдХреЛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдирдП рдЖрдВрдХрдбрд╝реЗ (рдФрд░ рдорд╣рд▓ рднреА) рд░рд╛рд╕реНрддреЗ рд╕реЗ рдШрдЯрдХреЛрдВ рд╕реЗ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреА рд╕рд╛рдордЧреНрд░реА рд╕рд╣рд┐рдд)ред рдпрд╣ рд╕рдм рдЪреЗрдХ рдФрд░ рдЪреЗрдХрдореЗрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдХрд╛рдо рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд╣ рдЕрднреА рднреА рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рдЪрдЯрд╛рдИ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдлреАрд▓реНрдб рдбреА 1 рдХреЛ E2 рдкрд░ рдПрдХ рд╣рд╛рдереА рдиреЗ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЖрдЦрд┐рд░реА рдорд╣рд▓ рд╣реИред рдЧреЛрд▓реНрдбрди рд╕реА 3 рд╕реЗ рд╕реА 4 рддрдХ рдХрд┐рд╢реНрддреА рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдХрд░ рдПрдХ рджреВрд╕рд░рд╛ рдорд╣рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдкрд░ рднреА рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ! рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдПрдХ рд╣реА рдЖрдХреГрддрд┐ рд╕реЗ рд╣рдорд▓рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╡рд╣ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рджреЛрдиреЛрдВ рддрд╛рд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рдЦрд╛ рд╕рдХрддреА рд╣реИ! рд▓реБрд╕рд┐рдпреЛ рдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреА рдЦреЛрдЬ рдХреА рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред
рдЦреЗрд▓ рдореЗрдВ
рдЧрд▓рд┐рдпрд╛рд░реЗ рдкрд░ рдХреЛрдИ рдХрд╛рд╕реНрдЯрд▓рд┐рдВрдЧ рдФрд░
рд▓реЗрдирд╛ рдирд╣реАрдВ рд╣реИ , рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯрд░реНрдирдУрд╡рд░ рд╢рддрд░рдВрдЬ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред рдЦреЗрд▓ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рд╛рдЬрд╛ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ (рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдирд╛рд╢ рдХреЗ рдмрд┐рдирд╛) рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдШреЛрдбрд╝реЗ рдФрд░ рд░рд╛рдиреА "рдбрд┐рд╕реНрдкреЛрдЬреЗрдмрд▓" рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд┐рд▓рдиреЗ рд╕реЗ рдмрд╛рд╣рд░реА рд░рд┐рдВрдЧ рдЖрдХреГрддрд┐ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджреЗрддреА рд╣реИред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдЦреЗрд▓ рдХрд╛рдлреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯреАрдХреГрдд рд╣реИред рдЖрдк рдпрд╣рд╛рдВ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ:

рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЦреЗрд▓ рдкрддреНрд░рд╛рдЪрд╛рд░ рджреНрд╡рд╛рд░рд╛) рдФрд░ рдХрд┐рд╕реА рдХреЛ "рдЪреИрд▓реЗрдВрдЬ" рднреЗрдЬреЗрдВред рдпрджрд┐ рдЖрдк
рдмреЙрдЯ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдпрд╛ рдмрд╕
рдмреЛрд░реНрдб рдкрд░ рдЯреБрдХрдбрд╝реЗ рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ ), рддреЛ рдХреЛрдИ рдкрдВрдЬреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕ рдореЛрдб рдореЗрдВ, рдЧреЗрдо
GitHub рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реЗ рдмрд╣реБрдд рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрддрдорд╛рди рдпрд╛ рдкрд╣рд▓реЗ рдЦреЗрд▓реЗ рдЧрдП рдЦреЗрд▓реЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВDagaz рдПрдХ рдФрд░ рдЦреЗрд▓ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:

рддреЛ, рдЬреЛ рд▓реЛрдЧ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡реЗ рдиреЗрддреНрд░рд╣реАрди рдЦреЗрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕ рдмрд╛рд░, рдХреЗрд╡рд▓ рдмреЙрдЯ рдХреЗ рдЦрд┐рд▓рд╛рдл)ред
рдЯрд░реНрдирдУрд╡рд░ рдЬреАрдд / рдиреБрдХрд╕рд╛рди рдЕрднреА рддрдХ рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣реИред рдпрджрд┐ рдЦреЗрд▓ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рддреЛ рдПрдб рдиреЗ рдЗрд╕реЗ рдПрдХ рд░реЗрдЯрд┐рдВрдЧ рджреЗрдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИред рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЖрдЧреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╕рд░реНрд╡реЗрдХреНрд╖рдг: