{"id":290801,"date":"2018-10-15T13:10:07","date_gmt":"2018-10-15T09:10:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=290801"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=290801","title":{"rendered":"\u0420\u0430\u0437\u0431\u043e\u0440\u043a\u0430 \u0434\u0432\u0438\u0436\u043a\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b Qlie"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bb\/sq\/zf\/bbsqzfse3pqjvnyef8jnfv3lecy.png\" \/><\/div>\n<p>  \u041b\u044e\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b, \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0433\u0440, \u0438\u043c\u0435\u0435\u0442 \u0440\u044f\u0434 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043e \u043d\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043b\u0438\u0448\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0435 \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439(\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044f\u043c\u0438) \u0438 \u0435\u0449\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438. <\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u043c\u0438 \u0434\u0432\u0438\u0436\u043a\u0430\u043c\u0438, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u0440\u0443\u0436\u0435\u043b\u044e\u0431\u043d\u044b\u043c\u0438 \u043a \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c. \u0418\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0432\u044b\u043a\u043e\u0432, \u0437\u043d\u0430\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430, \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0437\u043c\u0430 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438\u0433\u0440\u044b \u0441\u043a\u043e\u0440\u043e \u0443\u0432\u0438\u0434\u0438\u0442 \u0441\u0432\u0435\u0442. <br \/>  <a name=\"habracut\"><\/a><br \/>  \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u043d\u043e, \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u043b\u044e\u0431\u043e\u0439 \u0438\u0433\u0440\u044b(\u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b), \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432(\u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435)<\/li>\n<li>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439<\/li>\n<li>\u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430<\/li>\n<\/ul>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u043c\u0438 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u043e\u0432\u0435\u043b\u043b\u0430\u043c\u0438 \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:<\/p>\n<ul>\n<li>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n<li>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0433\u0440\u044b(\u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f)<\/li>\n<li>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0438\u0433\u0440\u044b<\/li>\n<li>\u041e\u0431\u0440\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430<\/li>\n<li>\u041f\u0435\u0440\u0435\u0434\u0435\u043b\u043a\u0430 \u0434\u0432\u0438\u0436\u043a\u0430, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c<\/li>\n<\/ul>\n<p>  \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u043d\u0430\u0448 \u043e\u043f\u044b\u0442 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u043e\u0433\u043e-\u0442\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c.<\/p>\n<p>  \u0412 \u0434\u0430\u043b\u0435\u043a\u043e\u043c 2013 \u0433\u043e\u0434\u0443(\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0438 \u0440\u0430\u043d\u044c\u0448\u0435) \u044f \u0437\u0430\u0434\u0443\u043c\u0430\u043b \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0441 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u0433\u043e \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u043e\u0432\u0435\u043b\u043b\u0443 Bishoujo Mangekyou -Norowareshi Densetsu no Shoujo- (\u7f8e\u5c11\u5973\u4e07\u83ef\u93e1 -\u546a\u308f\u308c\u3057\u4f1d\u8aac\u306e\u5c11\u5973-). \u041e\u043f\u044b\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0438\u0433\u0440 \u0443 \u043c\u0435\u043d\u044f \u0443\u0436\u0435 \u0431\u044b\u043b, \u043d\u043e \u0440\u0430\u043d\u044c\u0448\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u043e\u0432\u0435\u043b\u043b\u044b \u043d\u0430 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u0430\u0445 \u0432\u0440\u043e\u0434\u0435 <a href=\"http:\/\/kirikirikag.sourceforge.net\/contents\/index.html\">Kirikiri<\/a>.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u043b\u043e \u0432\u0441\u043a\u0440\u044b\u0442\u044c \u0434\u0432\u0438\u0436\u043e\u043a \u044d\u0442\u043e\u0439 \u043d\u043e\u0432\u0435\u043b\u043b\u044b, \u0435\u0449\u0435 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0434\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430.<\/p>\n<p>  \u041d\u0430\u0447\u043d\u0435\u043c \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f .exe \u0444\u0430\u0439\u043b\u0430, \u0433\u0434\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b \u0441\u043b\u043e\u0432\u0430 QLIE \u0438 IMOSURUME. \u0412 \u0441\u0430\u043c\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 FastMM Borland Edition 2004, 2005 Pierre le Riche, \u0437\u043d\u0430\u0447\u0438\u0442 \u0434\u0432\u0438\u0436\u043e\u043a, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Delphi.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kx\/ss\/sg\/kxsssg_foyhzeykfu1e4s5pneok.png\" \/><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/zo\/ge\/zc\/zogezc8m47t1cflh-yqpzl85fby.png\" \/><\/div>\n<p>  \u041f\u0440\u0438 \u0431\u0435\u0433\u043b\u043e\u043c \u0433\u0443\u0433\u043b\u0435\u043d\u0438\u0438 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u0443\u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e Qlie \u2014 \u044d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0432\u0438\u0436\u043a\u0430 \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 Warmth Entertainment. \u041f\u043e \u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443, IMOSURUME \u2013 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0435 \u0438\u043c\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430, \u0430 Qlie \u2013 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435. \u0415\u0441\u0442\u044c \u0441\u0430\u0439\u0442 <a href=\"http:\/\/qlie.net\">qlie.net<\/a>, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0438\u0433\u0440\u044b, \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u044d\u0442\u043e\u043c \u0434\u0432\u0438\u0436\u043a\u0435 \u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Warmth Entertainment.<\/p>\n<p>  \u041d\u043e \u043d\u0438\u0433\u0434\u0435 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0432\u0438\u0436\u043a\u043e\u043c, \u043d\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043a \u043d\u0435\u043c\u0443, \u0447\u0442\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u0438\u0433\u0440\u043e\u0439 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043e\u043f\u0438\u0440\u0430\u044f\u0441\u044c \u043d\u0430 \u043d\u0435\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0442\u043e\u0438\u0442 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u0447\u0430\u0441\u0442\u0438 \u0438\u0433\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c.<\/p>\n<p>  \u0418\u0433\u0440\u043e\u0432\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 data0.pack, data1.pack \u0438 data7.pack \u0432 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0435 \\GameData. \u0417\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u043b\u0435\u0436\u0430\u0442 \u0432 \u043f\u0430\u043f\u043a\u0435 \\GameData\\Movie, \u043d\u043e \u0438\u0445 \u043f\u043e\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0442\u0440\u043e\u0433\u0430\u0442\u044c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gr\/fh\/on\/grfhont7xq1rascbvzu8v1mhkec.png\" \/><\/div>\n<p>  \u0412 hex-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0443\u0437\u043d\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0443 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432 .pack \u043d\u0435\u0442, \u0437\u0430\u0442\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u0444\u0430\u0439\u043b\u0430 \u0435\u0441\u0442\u044c \u043a\u0443\u0441\u043e\u043a, \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 \u043e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043c\u0435\u0442\u043a\u0430 FilePackVer3.0<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yf\/qd\/1q\/yfqd1qyy7ozx0ygvq_bj_tmkms4.png\" \/><\/div>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a \u0438 \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0434\u0438\u043d. \u041c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0439 exfp3_v3 \u043e\u0442 asmodean. <\/p>\n<p>  \u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u0430, \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u0432\u0438\u0436\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0445\u0438\u0432\u043d\u044b\u0445 \u0444\u043e\u0440\u043c\u0430\u0442\u043e\u0432(FilePackVer1.0, FilePackVer1.0, FilePackVer3.0), \u0438 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f FilePackVer3.0, \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b-\u043a\u043b\u044e\u0447 key.fkey, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d \u0430\u0440\u0445\u0438\u0432. \u041e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0435 \\Dll<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fa\/fq\/qe\/fafqqeqgfwisqr1ijhg9qpcmsm4.png\" \/><\/div>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, exfp3_v3 \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c, \u0430\u0440\u0445\u0438\u0432 \u0438\u0437 \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0433\u0440\u044b \u043e\u043d \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442.<br \/>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0438\u0433\u0440\u044b \u0438\u0437 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0430(\u0438\u0433\u0440\u044b \u0441\u0435\u0440\u0438\u0438 Bishoujo Mangekyou \u0442\u0430\u043c \u043f\u043e\u0434 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 15), \u043b\u0438\u0431\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b \u0438\u0433\u0440\u044b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9r\/nr\/-z\/9rnr-zngqxajz8pysxwv3v8u8gk.png\" \/><\/div>\n<p>  \u0423\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u043c\u044b\u0441\u043b\u044c: \u0430 \u043a\u0430\u043a \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0438\u0433\u0440\u0443 \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c? \u0412\u0435\u0434\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.<br \/>  \u041f\u043e \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0441\u044c\u0431\u0435 w8m (\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0435\u043c\u0443 \u0437\u0430 \u044d\u0442\u043e \u0441\u043f\u0430\u0441\u0438\u0431\u043e) \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0432 \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 arc_conv.exe \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0433\u0440\u043e\u0432\u044b\u0435 \u0430\u0440\u0445\u0438\u0432\u044b. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u043d\u043e\u0432\u044b\u0439 \u0430\u0440\u0445\u0438\u0432(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, data8.pack), \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u043f\u0430\u043f\u043a\u0443 GameData, \u0438 \u043e\u043d\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0442\u044f\u043d\u0443\u0442\u044c\u0441\u044f \u0432 \u0438\u0433\u0440\u0443.<\/p>\n<p>  \u0412\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c. \u0424\u0430\u0439\u043b\u044b \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430 data0.pack \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u043f\u043e\u0434\u043f\u0430\u043f\u043a\u0435 \\scenario\\ks_01\\<\/p>\n<p>  \u0412\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .s \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0441\u0430\u043c\u043e\u0439 \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 Shift Jis, \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u044e\u043d\u0438\u043a\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0434\u0432\u0438\u0436\u043e\u043a \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442. C\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043a\u0430\u043a \u044d\u0442\u0438:<\/p>\n<pre><code class=\"python\">\u3010\u30ad\u30ea\u30a8\u3011 \uff051_kiri1478\uff05 \u300c\u3078\u3048\u2026\u2026\u5206\u304b\u3063\u3066\u3044\u308b\u3058\u3083\u306a\u3044\u300d  \u79c1\u304c\u732e\u4e0a\u3057\u305f\u30ed\u30b7\u30a2\u30f3\u30c6\u30a3\u30fc\u3092\u898b\u3066\u3001\u30ad\u30ea\u30a8\u306f\u5b09\u3057\u305d\u3046\u306b\u76ee\u3092\u7d30\u3081\u308b\u3002  ^cface,,\u8d64\u76ee\u5fae\u7b1101  \u3010\u30ad\u30ea\u30a8\u3011 \uff051_kiri1479\uff05 \u300c\u65e5\u672c\u4eba\u306f\u3001\u30b8\u30e3\u30e0\u3092\u7d05\u8336\u306b\u5165\u308c\u3066\u98f2\u3080\u306e\u304c\u3001\u30ed\u30b7\u30a2\u30f3\u30c6\u30a3\u30fc\u3060\u3068\u52d8\u9055\u3044\u3057\u3066\u3044\u308b\u4eba\u304c\u591a\u3044\u306e\u3060\u3051\u308c\u3069\u2026\u2026\u300d<\/code><\/pre>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u043d\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u043c \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u044f\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0435\u043c \u0433\u0435\u0440\u043e\u044f \u0432 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445. (\u3010\u3011), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u0442\u0443 \u0444\u0440\u0430\u0437\u0443 \u043f\u0440\u043e\u0438\u0437\u043d\u043e\u0441\u0438\u0442(\u0432 \u0438\u0433\u0440\u0435 \u043e\u043d\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043e\u043a\u043d\u0430 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u043c). \u0418\u043b\u0438 \u0436\u0435, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u043b\u043e\u0432\u0430 \u0430\u0432\u0442\u043e\u0440\u0430, \u0442\u043e \u0438\u043c\u044f \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ws\/d_\/dz\/wsd_dzwzrz-sjk_0shl7zw3ov5k.png\" \/><\/div>\n<p>  \u041d\u043e \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u0435\u0449\u0435 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u0432\u0438\u0436\u043a\u0430 \u0432 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0447\u0435\u043c-\u0442\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0442 \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 TeX, \u043d\u043e \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u043d\u0435 \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u044b \u0438 \u043d\u0435\u0443\u0434\u043e\u0431\u043d\u044b, \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 <a href=\"http:\/\/kirikirikag.sourceforge.net\/contents\/index.html\">Kirikiri <\/a>\u0438\u043b\u0438 <a href=\"https:\/\/www.renpy.org\/\">RenPy<\/a>.<\/p>\n<p>  \u0412\u043e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445:<\/p>\n<p>  <code>@@@<\/code> \u2014 \u0442\u0440\u043e\u0439\u043d\u0430\u044f \u0441\u043e\u0431\u0430\u043a\u0430. \u0427\u0430\u0441\u0442\u043e \u0444\u0430\u0439\u043b\u044b \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041f\u043e \u0432\u0438\u0434\u0438\u043c\u043e\u043c\u0443, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0438\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <\/p>\n<pre><code class=\"python\">@@@Library\\Avg\\header.s<\/code><\/pre>\n<p>  <code>@@<\/code> \u2014 \u0434\u0432\u043e\u0439\u043d\u0430\u044f \u0441\u043e\u0431\u0430\u043a\u0430. \u041c\u0435\u0442\u043a\u0430 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430. \u041d\u0430 \u043d\u0435\u0435 \u043f\u043e\u0437\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434.<\/p>\n<p>  <code>\uff051_kiri1478\uff05<\/code> \u2014 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043e\u0437\u0432\u0443\u0447\u043a\u0438. \u042d\u0442\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u0438\u043c\u0435\u043d\u0435\u043c \u0433\u0435\u0440\u043e\u044f \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d. \u00ab1_kiri1478\u00bb \u2014 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 \\voice\\ \u0444\u0430\u0439\u043b\u0430 data1.pack \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u043d\u0442(\uff05), \u0430 \u043d\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0439.<\/p>\n<p>  <code>^savedate, ^saveroute, ^savescene,<\/code> \u2014 \u0442\u0440\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0439 \u0438\u0433\u0440\u044b \u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u044c \u0432 \u0441\u044d\u0439\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043c\u0435\u0441\u0442\u0435 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u0433\u0440\u043e\u043a\u0430.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"python\">^savedate,&quot;\u73fe\u5728&quot; ^saveroute,&quot;\u7f8e\u5c11\u5973\u4e07\u83ef\u93e1\uff0d\uff11\uff0d&quot; ^savescene,&quot;\u546a\u308f\u308c\u3057\u4f1d\u8aac\u306e\u5c11\u5973\u3000\u30aa\u30fc\u30d7\u30cb\u30f3\u30b0&quot;<\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0434\u0430\u0442\u0430: \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0432\u0435\u0442\u043a\u0430: Bishoujo Mangekyou -1-, \u0441\u0446\u0435\u043d\u0430: Norowareshi Densetsu no Shoujo Opening. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u043b\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043b\u043e\u0442\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u043d\u043e, \u0432\u0438\u0434\u0438\u043c\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f. \u0412 \u0438\u0442\u043e\u0433\u0435 <code>^saveroute<\/code> \u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439, <code>^savedate<\/code> \u0441\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u00ab\u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430\u00bb \u043d\u0430 \u00ab\u043c\u0435\u0447\u0442\u0430\u043d\u0438\u044f\u00bb, \u0430 \u0432 <code>^savescene<\/code> \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438\u0438\u0433\u0440\u043e\u0432\u044b\u0435 \u0434\u043d\u0438(\u0432\u0435\u0440\u043d\u0435\u0435, \u043d\u043e\u0447\u0438).<\/p>\n<p>  <code>^facewindow,<\/code> \u2013 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u0431\u043e\u043a\u0441\u0430 \u0441 \u0432\u044b\u0432\u043e\u0434\u0438\u043c\u044b\u043c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0442\u0435\u043a\u0441\u0442\u043e\u043c. (\u041f\u043e\u043a\u0430\u0437\u0430\u043d \u2014 1 \u0438\u043b\u0438 \u043d\u0435\u0442 \u2014 0)<\/p>\n<p>  <code>^sload,<\/code> \u2014 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438\u0438\u0433\u0440\u043e\u0432\u044b\u0445 \u0437\u0432\u0443\u043a\u043e\u0432 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438 \\sound\\ \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u043a\u0430\u043d\u0430\u043b\u0435.<\/p>\n<pre><code class=\"python\">sload,Env1,\u25c6\u30bb\u30df01\u30a2\u30d6\u30e9\u30bc\u30df<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0437\u0432\u0443\u043a\u0430 \u0446\u0438\u043a\u0430\u0434 \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 Env1<\/p>\n<p>  \u0423 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430, \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0437\u0430\u043a\u043e\u043b\u044c\u0446\u043e\u0432\u044b\u0432\u0430\u043d\u0438\u0435 \u0437\u0432\u0443\u043a\u0430, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u043a\u0430 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0430\u0434\u043a\u043e\u0439, \u043d\u043e \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0438\u0433\u0440\u0435 \u0440\u0435\u0434\u043a\u043e.<\/p>\n<pre><code class=\"python\">^sload,SE1,\u25a0\u30af\u30c1\u30e5\u97f301,1<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043a\u043e\u043b\u044c\u0446\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0437\u0432\u0443\u043a\u0430 \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 SE1.<\/p>\n<p>  <code>^eeffect<\/code> \u2013 \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0441\u043f\u0435\u0446\u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u043a\u0443\u043d\u0434. \u0421\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432.<\/p>\n<pre><code class=\"python\">^eeffect,WhiteFlash<\/code><\/pre>\n<p>  \u042d\u0444\u0444\u0435\u043a\u0442 \u0431\u0435\u043b\u043e\u0439 \u0432\u0441\u043f\u044b\u0448\u043a\u0438.<\/p>\n<p>  <code>^ffade<\/code> \u2013 \u044d\u0444\u0444\u0435\u043a\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043f\u0440\u0438 \u0441\u043c\u0435\u043d\u0435 \u044d\u043a\u0440\u0430\u043d\u0430.<br \/>  \u0418\u043c\u0435\u0435\u0442 \u0446\u0435\u043b\u0443\u044e \u043a\u0443\u0447\u0443 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043d\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430.<\/p>\n<pre><code class=\"python\">^ffade,Overlap,,1000<\/code><\/pre>\n<p>  \u0420\u0430\u0441\u0442\u0432\u043e\u0440\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439, \u0437\u0430 1 \u0441\u0435\u043a\u0443\u043d\u0434\u0443.<\/p>\n<p>  <code>^iload<\/code> \u2013 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u043e\u043d\u043e\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d. \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c id \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043d\u0435\u043c\u0443 \u0432 \u0431\u0443\u0434\u0443\u0449\u0435\u043c.<\/p>\n<pre><code class=\"python\">^iload,BG1,0_black.png<\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u0444\u0430\u0439\u043b\u0430 0_black.png \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0444\u043e\u043d\u0430 \u0441 id BG1<\/p>\n<p>  <code>^we<\/code> \u0438 <code>^wd<\/code> \u2014 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u043e\u043a\u043d\u0435.<\/p>\n<p>  <code>^facewindow,1<\/code> \u0438 <code>^facewindow,0<\/code> \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0435\u0440\u043e\u044f \u0432 \u043e\u043a\u043d\u0435 \u0434\u0438\u0430\u043b\u043e\u0433\u0430.<\/p>\n<p>  <code>^mload<\/code> \u2014 \u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u043c\u0443\u0437\u044b\u043a\u0438 \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u0430\u043d\u0430\u043b\u0435.<\/p>\n<pre><code class=\"python\">^mload,BGM1,nbgm13<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0440\u0435\u043a\u0430 nbgm13 \u043d\u0430 \u043a\u0430\u043d\u0430\u043b\u0435 BGM1<\/p>\n<p>  \u041e\u0434\u043d\u0438 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434:<br \/>  <code>\\jmp<\/code> \u2014 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043a \u043c\u0435\u0442\u043a\u0435 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c.<\/p>\n<p>  <code>^select<\/code> \u2014 \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043e\u043a\u043e\u0448\u043a\u0430 \u0432\u044b\u0431\u043e\u0440\u0430, \u0433\u0434\u0435 \u0438\u0433\u0440\u043e\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"python\">^select, \u0414\u0430, \u041d\u0435\u0442  \\jmp,&quot;@@route01a&quot;+ResultBtnInt[0] @@route01a0<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441, \u0430 \u043d\u043e\u043c\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0430(0 \u0438\u043b\u0438 1) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0438\u0437 ResultBtnInt[0]. \u0412 \u0438\u0442\u043e\u0433\u0435, <code>\\jmp<\/code> \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442 \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u0442\u043a\u0443 @@route01a + \u043d\u043e\u043c\u0435\u0440 \u043e\u0442\u0432\u0435\u0442\u0430. \u0422\u043e \u0435\u0441\u0442\u044c, @@route01a0 \u0438\u043b\u0438 @@route01a1<\/p>\n<p>  \u041d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0437\u0430\u043f\u044f\u0442\u0430\u044f \u0432 \u044d\u0442\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u0445 \u0441\u043b\u0443\u0436\u0438\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u0435\u043c \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0432 \u0441\u0430\u043c\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u043e\u0442\u0432\u0435\u0442\u0430. \u0423 \u044f\u043f\u043e\u043d\u0446\u0435\u0432 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0435\u0442, \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u044f\u043f\u043e\u043d\u0441\u043a\u0443\u044e \u0437\u0430\u043f\u044f\u0442\u0443\u044e(\u3001). \u041c\u044b \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u043d\u0430 \u201a (U+201A SINGLE LOW-9 QUOTATION MARK).<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"python\">^select, \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u201a \u044f \u0441\u043e\u0433\u043b\u0430\u0448\u0443\u0441\u044c, \u041d\u0435\u0442\u201a \u0441\u043f\u0430\u0441\u0438\u0431\u043e<\/code><\/pre>\n<p>  \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0435 \u0442\u0430\u043a \u0432\u0430\u0436\u043d\u044b \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0435\u0440\u0435\u0434 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0441\u0442\u043e\u0438\u0442 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u043e \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 UTF-8, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0447\u0435\u0442\u0430\u0442\u044c \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0441\u043c\u0435\u043d\u044b \u0434\u0432\u0438\u0436\u043a\u0430(\u043e\u0431 \u044d\u0442\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0447\u0430\u0441\u0442\u0438), \u0438\u0433\u0440\u0430 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0442\u0435\u043a\u0441\u0442, \u0438 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0439. \u041d\u043e \u043f\u043e\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432 Shift Jis, \u0430 \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u2013 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 cp1251. <\/p>\n<p>  \u041c\u044b \u0431\u044b\u0441\u0442\u0440\u0435\u043d\u044c\u043a\u043e \u043d\u0430\u0431\u0440\u043e\u0441\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043a\u0443 \u043d\u0430 \u041f\u0438\u0442\u043e\u043d\u0435 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0446\u044b:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">UTF8 to cp1251 and ShiftJIS<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># -*- coding: utf-8 -*-  # UTF8 to cp1251 and ShiftJIS recoder # by Chtobi and Nazon, 2016  import codecs import argparse from os import path  JAPANESE_CODEPAGE = 'shift_jis'  UTF_CODEPAGE = 'utf-8' RUS_CODEPAGE = 'cp1251'   def nonrus_handler(e):      if e.object[e.start:e.end] == '\uff5e':  # UTF-8: 0xEFBD9E\u3000-&gt;\u3000SHIFT-JIS: 0x8160         japstr_byte = b'\\x81\\x60'      elif e.object[e.start:e.end] == '\uff0d':  # UTF-8: 0xEFBC8D\u3000-&gt;\u3000SHIFT-JIS: 0x817C         japstr_byte = b'\\x81\\x7c'      else:         japstr_byte = (e.object[e.start:e.end]).encode(JAPANESE_CODEPAGE)      return japstr_byte, e.end   if __name__ == '__main__':      arg_parser = argparse.ArgumentParser(prog=&quot;Recode to cp1251 and ShiftJIS&quot;,                                          description=&quot;Program to encode UTF8 text file to &quot;                                          &quot;cp1251 for all cyrillic symbols and ShiftJIS for others. &quot;                                          &quot;Output file will be inputfilename.s&quot;,                                          usage=&quot;recode_to_cp1251_shiftjis.py file_name&quot;)     arg_parser.add_argument('file_name', nargs=1, type=argparse.FileType(mode='r', bufsize=-1),                             help=&quot;Input text file name. Only files coded in UTF8 are allowed.\\n&quot;)      codecs.register_error('nonrus_handler', nonrus_handler)      input_name = arg_parser.parse_args().file_name[0].name      output_name = path.splitext(input_name)[0] + &quot;.s&quot;      with open(input_name, 'rt', encoding=UTF_CODEPAGE) as input_file:         with open(output_name, 'wb') as output_file:              for line in input_file:                 for char1 in line:                     bytes_out = bytes(line, UTF_CODEPAGE)                      output_file.write(char1.encode(RUS_CODEPAGE, &quot;nonrus_handler&quot;))          print(&quot;Done.&quot;) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0438 \u0442\u0443\u0442 \u043d\u0435 \u043e\u0431\u043e\u0448\u043b\u043e\u0441\u044c \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u043c\u0432\u043e\u043b \u00ab\u0442\u0438\u043b\u044c\u0434\u044b\u00bb \uff5e(U+FF5E FULLWIDTH TILDE) \u0432\u044b\u0434\u0430\u0432\u0430\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0443 \u00abUnicodeEncodeError: &#8216;Shift Jis&#8217; codec can&#8217;t encode character &#8216;\\uff5e&#8217; in position 0: illegal multibyte sequence\u00bb<\/p>\n<p>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u044f \u0433\u0440\u0435\u0448\u0438\u043b \u043d\u0430 \u041f\u0438\u0442\u043e\u043d, \u043d\u043e \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043d\u044e\u0430\u043d\u0441. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u044e\u043d\u0438\u043a\u043e\u0434\u043d\u044b\u0445 \u0438 \u043d\u0435 \u044e\u043d\u0438\u043a\u043e\u0434\u043d\u044b\u0445 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0445 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043e\u043a \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435, Windows \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442 \u0441\u0438\u043c\u0432\u043e\u043b Shift Jis \u0441 \u043a\u043e\u0434\u043e\u043c 0x8160 \u0441 \u044e\u043d\u0438\u043a\u043e\u0434\u043d\u044b\u043c \uff5e (U+FF5E FULLWIDTH TILDE), \u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438(\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u0442\u0438\u043b\u0438\u0442\u0430 iconv) \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u044f\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0441\u0438\u043c\u0432\u043e\u043b \u0441 \u301c(U+301C WAVE DASH), \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0441\u043e\u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u044e\u043d\u0438\u043a\u043e\u0434\u0430 \u2014 <a href=\"ftp:\/\/ftp.unicode.org\/Public\/MAPPINGS\/OBSOLETE\/EASTASIA\/JIS\/SHIFT JIS.TXT\">ftp:\/\/ftp.unicode.org\/Public\/MAPPINGS\/OBSOLETE\/EASTASIA\/JIS\/SHIFT JIS.TXT<\/a><\/p>\n<p>  \u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 Microsoft, \u0432\u0438\u0434\u0438\u043c\u043e, \u0440\u0435\u0448\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u044b \u0438\u0437 \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 cp932, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 Shift Jis.<\/p>\n<p>  \u0422\u0430 \u0436\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0441 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c \u0441 \u043a\u043e\u0434\u043e\u043c 0x817C, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0432 UTF8 \u043a\u0430\u043a \uff0d(U+FF0D FULLWIDTH HYPHEN-MINUS) \u0432 Windows, \u0438\u043b\u0438 \u043a\u0430\u043a \u2212 (U+2212 MINUS SIGN) \u0432 iconv.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u044f \u0431\u044b\u043b\u0438 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438\u0437 Shift Jis \u0432 UTF8 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Notepad++(\u0430 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f, \u043f\u0440\u0438\u043d\u044f\u0442\u0443\u044e \u0432 Windows), \u0442\u043e \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u0438 \u0438\u0437 UTF8 \u0432 Shift Jis \u0447\u0435\u0440\u0435\u0437 \u043d\u0430\u0448\u0443 \u043f\u0438\u0442\u043e\u043d\u043e\u0432\u0441\u043a\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0430\u0441\u044c \u043f\u0440\u0435\u0441\u043b\u043e\u0432\u0443\u0442\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \uff5e \u0438 \uff0d\u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u0411\u044b\u043b\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043c\u0435\u043b\u043a\u0438\u0435 \u043d\u0435\u0434\u043e\u0447\u0435\u0442\u044b \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u0447\u0438\u0435 \u2026 (U+2026 HORIZONTAL ELLIPSIS) \u0437\u0430\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u0447\u0438\u0435\u043c \u0438\u0437 cp1251, \u0430 \u043d\u0435 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u043c \u0438\u0437 Shift Jis.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0438\u0433\u0440\u043e\u0432\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0439.<\/p>\n<p>  \u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0430\u0439\u043b\u044b \u0438\u0433\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0442\u0435\u0445 \u0436\u0435 pack \u0430\u0440\u0445\u0438\u0432\u0430\u0445, \u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438 \u043d\u0430\u0434 \u043d\u0438\u043c\u0438 \u0435\u0449\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u0438\u0442 \u043f\u043e\u0442\u0440\u0443\u0434\u0438\u0442\u044c\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 png \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0442\u0438\u043f\u0430 sample+DPNG000+x32y0.png \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, png \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u0440\u0435\u0437\u0430\u043d\u044b \u043d\u0430 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u043e\u0441\u043a\u0438, \u0442\u043e\u043b\u0449\u0438\u043d\u043e\u0439 88 \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \u0438 \u043a\u0430\u0436\u0434\u0430\u044f \u043f\u043e\u043b\u043e\u0441\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u0412 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430 \u0443\u043a\u0430\u0437\u0430\u043d \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u043e\u043b\u043e\u0441\u043a\u0438(DPNG000&#8230;009) \u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b x,y.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gj\/ak\/x_\/gjakx_76ep3syu_gf9qfobolmj8.png\" \/><\/div>\n<p>  \u042f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u0442\u0435\u0440\u044f\u044e\u0441\u044c \u0432 \u0434\u043e\u0433\u0430\u0434\u043a\u0430\u0445, \u0437\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0443\u0436\u043d\u043e. \u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u044f \u0440\u0438\u043f\u0430\u043d\u044c\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438\u0437 \u0438\u0433\u0440\u044b, \u0442\u043e \u044d\u0442\u043e \u044f\u0432\u043d\u043e \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u043b\u0443\u0447\u0448\u0438\u0439 \u043c\u0435\u0442\u043e\u0434.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0441\u043a\u043b\u0435\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0435\u0437\u0430\u043d\u043d\u044b\u0435 png \u0444\u0430\u0439\u043b\u044b, \u0432 \u0441\u0432\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 merge_dpng \u043d\u0430 \u041f\u0435\u0440\u043b\u0435 \u043e\u0442 asmodeus, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 ImageMagick. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0438 \u0441 \u043d\u0438\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u043b \u041f\u0435\u0440\u043b, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u044f \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0435\u0433\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>  \u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0432\u043e\u0434\u0443 \u043c\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u043f\u0438\u0442\u043e\u043d\u0435:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Qlie engine dpng files merger<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># -*- coding: utf-8 -*-  # Qlie engine dpng files merger # by Chtobi and Nazon, 2016 # Requires ImageMagick magick.exe on the path.  import os import glob import re import argparse import subprocess  IMGMAGIC = os.path.dirname(os.path.abspath(__file__)) + '\\\\' + 'magick.exe'  IMGMAGIC_PARAMS1 = ['-background', 'rgba(0,0,0,0)'] IMGMAGIC_PARAMS2 = ['-mosaic']  INPUT_FILES_MASK = '*+DPNG[0-9][0-9][0-9]+*.png'  SPLIT_MASK = '+DPNG'  x_y_ajusts_re = re.compile('(.+)\\+DPNG[0-9][0-9][0-9]\\+x(\\d+)y(\\d+)\\.')   if __name__ == '__main__':      arg_parser = argparse.ArgumentParser(prog=&quot;DPNG Merger\\n&quot;                                          &quot;Program to merge sliced png files from QLIE engine. &quot;                                          &quot;All files with mask *+DPNG[0-9][0-9][0-9]+*.png&quot;                                          &quot;into the input directory will be merged and copied to the&quot;                                          &quot;output directory.\\n&quot;,                                          usage=&quot;connect_png.py input_dir [output_dir]\\n&quot;)     arg_parser.add_argument(&quot;input_dir_param&quot;, nargs=1, help=&quot;Full path to the input directory.\\n&quot;)     arg_parser.add_argument(&quot;output_dir_param&quot;, nargs='?', default=os.path.dirname(os.path.abspath(__file__)),                             help=&quot;Full path to the output directory. &quot;                                  &quot;It would be a script parent directory if not specified.\\n&quot;)      input_dir = arg_parser.parse_args().input_dir_param[0]     output_dir = arg_parser.parse_args().output_dir_param[0]      os.chdir(input_dir)      all_append_files = glob.glob(INPUT_FILES_MASK)  # Select only files with DPNG      prep_bunches = []      for file_in_dir in all_append_files:         # Check all files and put all splices that should be connected in separate list         for num, bunch in enumerate(prep_bunches):             name_first_part = bunch[0].partition(SPLIT_MASK)[0]  # Part of the filename before +DPNG should be unique              if name_first_part == file_in_dir.partition(SPLIT_MASK)[0]:                 prep_bunches[num].append(file_in_dir)                 break         else:             prep_bunches.append([file_in_dir])      os.chdir(os.path.dirname(os.path.abspath(__file__)))  # Go to the script parent dir      for prepared_bunch in prep_bunches:          sorted_bunch = sorted(prepared_bunch)          # Prepare -page params for imgmagic         png_pages_params = [[&quot;(&quot;, &quot;-page&quot;, &quot;+{0}+{1}&quot;.format(*[(x_y_ajusts_re.match(part_file).group(2)),                             x_y_ajusts_re.match(part_file).group(3)]), input_dir+part_file, &quot;)&quot;]                             for part_file in sorted_bunch]          connect_png_list = \\             [imgmagick_page for imgmagick_pages in png_pages_params for imgmagick_page in imgmagick_pages]          output_file = output_dir + sorted_bunch[0].partition(SPLIT_MASK)[0] + &quot;.png&quot;          subprocess.check_output([IMGMAGIC] + IMGMAGIC_PARAMS1 + connect_png_list + IMGMAGIC_PARAMS2 + [output_file])<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u0435\u0441\u044c \u043d\u0430\u0431\u043e\u0440 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0438\u0433\u0440\u0435? \u041e\u0442\u043d\u044e\u0434\u044c \u2014 \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438\u0437 \u0432\u0441\u0435\u0445 \u0430\u0440\u0445\u0438\u0432\u043e\u0432, \u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0445\u043e\u0442\u044f \u0432 \u0438\u0433\u0440\u0435 \u043e\u043d\u0438 \u0435\u0441\u0442\u044c. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0434\u0432\u0438\u0436\u043a\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u043e\u0432 \u2014 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c .b. \u042d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0441 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0437\u0432\u0443\u043a\u0430\u043c\u0438.<\/p>\n<p>  \u0425\u0440\u0430\u043d\u044f\u0449\u0438\u0435\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e, \u043d\u043e, \u0443\u0432\u044b, \u043d\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u043e\u0432 .b \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043a\u0430\u043a \u043d\u0430\u0434\u043e. \u041b\u0438\u0431\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u043d\u0435\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u043c\u0438, \u043b\u0438\u0431\u043e \u0441\u043b\u0443\u0447\u0430\u043b\u0438\u0441\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438\u0437-\u0437\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u0445 \u0438\u043c\u0435\u043d, \u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0441 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u044e \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c.<\/p>\n<p>  \u0422\u0443\u0442 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u043b\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043d\u0430\u0448 \u0441\u043a\u0440\u0438\u043f\u0442. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0435 \u0431\u044b\u043b\u0438 \u0437\u043d\u0430\u043a\u043e\u043c\u044b \u0441 \u0447\u0435\u043c-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <a href=\"https:\/\/github.com\/kaitai-io\/kaitai_struct\">Kaitai Struct<\/a>, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u0441 \u043d\u0443\u043b\u044f.<\/p>\n<p>  \u0424\u043e\u0440\u043c\u0430\u0442 .b \u0444\u0430\u0439\u043b\u043e\u0432 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438, \u043a \u0442\u043e\u043c\u0443 \u0436\u0435, \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u044b. \u0412 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0433\u0440\u0430\u0445 \u043d\u0430 \u0434\u0432\u0438\u0436\u043a\u0435 Qlie \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u0438\u0434\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432\u043d\u0443\u0442\u0440\u0438 .b \u0444\u0430\u0439\u043b\u043e\u0432, \u043d\u043e \u043c\u044b \u043d\u0430 \u043d\u0438\u0445 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u043c.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043b\u044e\u0431\u043e\u0439 .b \u0444\u0430\u0439\u043b \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0438\u0440\u0438\u0447\u043d\u043e\u043c \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432 \u043d\u0430\u0447\u0430\u043b\u043e. \u041f\u0435\u0440\u0435\u0434 \u043e\u0446\u0435\u043d\u043a\u043e\u0439 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0443\u0447\u0435\u0441\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0431\u0430\u0439\u0442\u043e\u0432 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 Little-endian.<\/p>\n<ul>\n<li>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0444\u0430\u0439\u043b\u0430 abmp12<\/li>\n<li>\u0414\u0435\u0441\u044f\u0442\u044c \u0431\u0430\u0439\u0442 0x00<\/li>\n<li>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0435\u043a\u0446\u0438\u0438 abdata12 \u0441\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439.<\/li>\n<li>\u0412\u043e\u0441\u0435\u043c\u044c \u0431\u0430\u0439\u0442 0x00<\/li>\n<li>\u0420\u0430\u0437\u043c\u0435\u0440 \u0441\u0435\u043a\u0446\u0438\u0438 abdata12, \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435. \u041c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u043b\u043e \u0435\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/li>\n<li>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0435\u043a\u0446\u0438\u0438 abimage10<\/li>\n<li>\u0421\u0435\u043c\u044c \u0431\u0430\u0439\u0442 0x00<\/li>\n<li>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438, \u043e\u0434\u043d\u043e\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2013 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 \u043e\u0434\u0438\u043d \u0444\u0430\u0439\u043b.<\/li>\n<li>\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0441\u0435\u043a\u0446\u0438\u0438 abgimgdat13<\/li>\n<li>\u0428\u0435\u0441\u0442\u044c \u0431\u0430\u0439\u0442 0x00<\/li>\n<li>\u0414\u043b\u0438\u043d\u0430 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u043a\u0446\u0438\u0438, \u0434\u0432\u0443\u0445\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043b\u0438\u043d\u0430 \u2013 4 \u0431\u0430\u0439\u0442\u0430.<\/li>\n<li>\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 Shift Jis<\/li>\n<li>\u0414\u043b\u0438\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0444\u0430\u0439\u043b\u0430, \u0434\u0432\u0443\u0445\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435.<\/li>\n<li>\u0421\u0430\u043c\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 \u0444\u0430\u0439\u043b\u0430.<\/li>\n<li>\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0431\u0430\u0439\u0442, \u0441\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d 0x03 \u0438\u043b\u0438 0x02<\/li>\n<li>\u0414\u0432\u0435\u043d\u0430\u0434\u0446\u0430\u0442\u044c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0431\u0430\u0439\u0442\u043e\u0432, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0441 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0435\u0439<\/li>\n<li>\u0420\u0430\u0437\u043c\u0435\u0440 png \u0444\u0430\u0439\u043b\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u043a\u0446\u0438\u0438, \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u0431\u0430\u0439\u0442\u043e\u0432\u043e\u0435 \u0446\u0435\u043b\u043e\u0435.<\/li>\n<\/ul>\n<p>  \u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446, \u0441\u0430\u043c png \u0444\u0430\u0439\u043b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/64\/v4\/yc\/64v4ycd37hyu-pyqsxyb2g1ahqa.png\" \/><\/div>\n<p>  \u0421\u0435\u043a\u0446\u0438\u044f absound \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430 \u043f\u043e \u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e abimage.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">AnimatedBMP extractor<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># -*- coding: utf-8 -*-  # Extract b # AnimatedBMP extractor for Bishoujo Mangekyou game files # by Chtobi and Nazon, 2016  import glob import os import struct import argparse from collections import namedtuple  b_hdr = b'abmp12'+bytes(10)  signa_len = 16  b_abdata = (b'abdata10'+bytes(8), b'abdata11'+bytes(8), b'abdata12'+bytes(8), b'abdata13'+bytes(8))  b_imgdat = (b'abimgdat10'+bytes(6), b'abimgdat11'+bytes(6), b'abimgdat14'+bytes(6))  b_img = (b'abimage10'+bytes(7), b'abimage11'+bytes(7), b'abimage12'+bytes(7), b'abimage13'+bytes(7),          b'abimage14'+bytes(7))  b_sound = (b'absound10'+bytes(7), b'absound11'+bytes(7), b'absound12'+bytes(7)) # not sure about structure of sound11 and sound12  b_snd = (b'absnddat11'+bytes(7), b'absnddat10'+bytes(7), b'absnddat12'+bytes(7))   Abimgdat13_pattern = namedtuple('Abimgdat13', ['signa', 'name_size_len', 'hash_size_len', 'unknown1_len',                                                'unknown2_len', 'data_size_len']) Abimgdat13 = Abimgdat13_pattern(signa=b'abimgdat13'+bytes(6), name_size_len=2, hash_size_len=2, unknown1_len=1,                                 unknown2_len=12, data_size_len=4)  Abimgdat14_pattern = namedtuple('Abimgdat14', ['signa', 'name_size_len', 'hash_size_len', 'unknown1_len',                                                'data_size_len']) Abimgdat14 = Abimgdat14_pattern(signa=b'abimgdat14'+bytes(6), name_size_len=2, hash_size_len=2, unknown1_len=77,                                 data_size_len=4)  Abimgdat_pattern = namedtuple('Abimgdat', ['name_size_len', 'hash_size_len', 'unknown1_len', 'data_size_len']) # probably, abimgdat10,abimgdat11 and others Other_imgdat = Abimgdat_pattern(name_size_len=2, hash_size_len=2, unknown1_len=1, data_size_len=4)  Absnddat11_pattern = namedtuple('Absnddat11', ['signa', 'name_size_len', 'hash_size_len', 'unknown1_len',                                                'data_size_len']) Absnddat11 = Absnddat11_pattern(signa=b'absnddat11'+bytes(7), name_size_len=2, hash_size_len=2, unknown1_len=1,                                 data_size_len=4)   def create_parser():     arg_parser = argparse.ArgumentParser(prog='AnimatedBMP extractor\\n',                                          usage='extract_b input_file_name output_dir\\n',                                          description='AnimatedBMP extractor for QLIE engine *.b files.\\n')     arg_parser.add_argument('input_file_name', nargs='+', help=&quot;Input file with full path(wildcards are supported).\\n&quot;)     arg_parser.add_argument('output_dir', nargs=1,                             help=&quot;Output directory.\\n&quot;)      return arg_parser   def check_type(file_buf):     if file_buf.startswith(b'\\x89' + b'PNG'):         return '.png'     elif file_buf.startswith(b'BM'):         return '.bmp'     elif file_buf.startswith(b'JFIF', 6):         return '.jpg'     elif file_buf.startswith(b'IMOAVI'):         return '.imoavi'     elif file_buf.startswith(b'OggS'):         return '.ogg'     elif file_buf.startswith(b'RIFF'):         return '.wav'     else:         return ''   def bytes_shiftjis_to_utf8(shiftjis_bytes):     shiftjis_str = shiftjis_bytes.decode('shift_jis', 'strict')     utf_str = shiftjis_str.encode('utf-8', 'strict').decode('utf-8', 'strict')      return utf_str   def check_signa(f_buffer):      if f_buffer.endswith(b_abdata):         return 'abdata'     elif f_buffer.endswith(b_img):         return 'abimgdat'     elif f_buffer.endswith(b_sound):         return 'absound'   def prepare_filename(out_file_name, out_dir, postfix=''):     ready_name = out_dir + os.path.basename(out_file_name) + postfix      return ready_name   def create_file(file_name_hndl, out_buffer):     if len(out_buffer) != 0:         with open(file_name_hndl, 'wb') as ext_file:             ext_file.write(out_buffer)     else:         print(&quot;Zero file. Skipped.&quot;)   def check_file_header(file_handle, bytes_num):     file_handle.seek(0)      readed_bytes = file_handle.read(bytes_num)      if readed_bytes == b_hdr:         print(&quot;File is valid abmp&quot;)         return True     else:         print(&quot;Can't read header. Probably, wrong file...&quot;)         return False   if __name__ == '__main__':      parser = create_parser()     arguments = parser.parse_args()      all_b_files = glob.glob(arguments.input_file_name[0])      output_dir = arguments.output_dir[0]      for b_file in all_b_files:          file_buffer = bytearray(b'')          with open(b_file, 'rb') as bfile_h:              check_file_header(bfile_h, len(b_hdr))              read_byte = bfile_h.read(1)              file_buffer.extend(read_byte)              while read_byte:                  read_byte = bfile_h.read(1)                  file_buffer.extend(read_byte)                  # Finding content sections signature                 check_result = check_signa(file_buffer)                  if check_result:                     if check_result == 'abdata':                         file_buffer = bytearray(b'')                          read_length = bfile_h.read(4)                          size = struct.unpack('&lt;L', read_length)[0]                          file_buffer.extend(bfile_h.read(size))                          # Adding _abdata to separate from other parts                         outfile_name = prepare_filename(b_file, output_dir, '_abdata')                          create_file(outfile_name, file_buffer)                      elif check_result == 'abimgdat':                          images_number = struct.unpack('B', bfile_h.read(1))[0]  # Number of pictures in section                          for i1 in range(images_number):                             file_buffer = bytearray(b'')                             file_name = ''                              imgsec_hdr = bfile_h.read(signa_len)                              if imgsec_hdr == Abimgdat13.signa:                                  file_name_size = struct.unpack('&lt;H', bfile_h.read(Abimgdat13.name_size_len))[0]                                  # Decode filename to utf8                                 file_name = bytes_shiftjis_to_utf8(bfile_h.read(file_name_size))                                  # CRC size                                 hash_size = struct.unpack('&lt;H', bfile_h.read(Abimgdat13.hash_size_len))[0]                                 # Picture CRC (don't need it)                                 pic_hash = bfile_h.read(hash_size)                                 unknown1 = bfile_h.read(Abimgdat13.unknown1_len)                                 unknown2 = bfile_h.read(Abimgdat13.unknown2_len)                                  pic_size = struct.unpack('&lt;L', bfile_h.read(Abimgdat13.data_size_len))[0]                                 print(&quot;pic_size:&quot;, pic_size)                                  file_buffer.extend(bfile_h.read(pic_size))                             elif imgsec_hdr == Abimgdat14.signa:                                  file_name_size = struct.unpack('&lt;H', bfile_h.read(Abimgdat14.name_size_len))[0]                                 file_name = bytes_shiftjis_to_utf8(bfile_h.read(file_name_size))                                  hash_size = struct.unpack('&lt;H', bfile_h.read(Abimgdat14.hash_size_len))[0]                                 pic_hash = bfile_h.read(hash_size)                                  bfile_h.seek(Abimgdat14.unknown1_len, os.SEEK_CUR)                                  pic_size = struct.unpack('&lt;L', bfile_h.read(Abimgdat14.data_size_len))[0]                                  file_buffer.extend(bfile_h.read(pic_size))                              else:  # probably abimgdat10, abimgdat11...                                  file_name_size = struct.unpack('&lt;H', bfile_h.read(Other_imgdat.name_size_len))[0]                                  file_name = bytes_shiftjis_to_utf8(bfile_h.read(file_name_size))                                  hash_size = struct.unpack('&lt;H', bfile_h.read(Other_imgdat.hash_size_len))[0]                                 pic_hash = bfile_h.read(hash_size)                                  bfile_h.seek(Other_imgdat.unknown1_len, os.SEEK_CUR)                                  pic_size = struct.unpack('&lt;L', bfile_h.read(Other_imgdat.data_size_len))[0]                                 file_buffer.extend(bfile_h.read(pic_size))                              for i, letter in enumerate(file_name):  # Replace any unusable symbols from filename with _                                 if letter == '&lt;' or letter == '&gt;' or letter == '*' or letter == '\/':                                     file_name = file_name.replace(letter, &quot;_&quot;)                              # Checking file signature and adding proper extension                             outfile_name = prepare_filename(b_file, output_dir, '_' + file_name +                                                             check_type(file_buffer))                              create_file(outfile_name, file_buffer)                             file_buffer = bytearray(b'')                      elif check_result == 'absound':                          sound_files_number = struct.unpack('B', bfile_h.read(1))[0]                          for i2 in range(sound_files_number):                             file_buffer = bytearray(b'')                             file_name = ''                              sndsec_hdr = bfile_h.read(signa_len)                              if sndsec_hdr == Absnddat11.signa:                                 file_name_size = struct.unpack('&lt;H', bfile_h.read(Absnddat11.name_size_len))[0]                                 file_name = bytes_shiftjis_to_utf8(bfile_h.read(file_name_size))                                  hash_size = struct.unpack('&lt;H', bfile_h.read(Absnddat11.hash_size_len))[0]                                 snd_hash = bfile_h.read(hash_size)                                  unknown1 = bfile_h.read(Absnddat11.unknown1_len)                                 snd_size = struct.unpack('&lt;L', bfile_h.read(Absnddat11.data_size_len))[0]                                  file_buffer.extend(bfile_h.read(snd_size))                             else:                                 file_name_size = struct.unpack('&lt;H', bfile_h.read(Absnddat11.name_size_len))[0]                                 file_name = bytes_shiftjis_to_utf8(bfile_h.read(file_name_size))                                  hash_size = struct.unpack('&lt;H', bfile_h.read(Absnddat11.hash_size_len))[0]                                 snd_hash = bfile_h.read(hash_size)                                  unknown1 = bfile_h.read(Absnddat11.unknown1_len)                                 snd_size = struct.unpack('&lt;L', bfile_h.read(Absnddat11.data_size_len))[0]                                  file_buffer.extend(bfile_h.read(snd_size))                              for i, letter in enumerate(file_name):                                 if letter == '&lt;' or letter == '&gt;' or letter == '*' or letter == '\/':                                     file_name[i] = '_'                              outfile_name = prepare_filename(b_file, output_dir, '_' + file_name +                                                             check_type(file_buffer))                              print(&quot;create absound&quot;)                             create_file(outfile_name, file_buffer)                             file_buffer = bytearray(b'') <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b png, jpg, bmp, ogg \u0438 wav. \u041d\u043e \u043f\u043e\u043c\u0438\u043c\u043e \u044d\u0442\u043e\u0433\u043e, \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0435\u0449\u0435 \u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b imoavi.<\/p>\n<p>  \u0421\u0443\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0438\u0433\u0440\u0435 \u0432\u0441\u0435 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043e \u0432 ogv \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0430\u043d\u0438\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u043e\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0432 .b \u0444\u0430\u0439\u043b\u044b, \u043b\u0438\u0431\u043e \u043a\u0430\u043a \u0430\u043d\u0438\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 jpg \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 imoavi.<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0438 \u0438 jpg \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043d\u0438\u043c\u0438 \u0442\u0430\u043a\u0436\u0435. <\/p>\n<p>  \u0412 imoavi \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0432\u0435 \u0441\u0435\u043a\u0446\u0438\u0438: SOUND \u0438 MOVIE. \u0412 \u0441\u0435\u043a\u0446\u0438\u0438 MOVIE \u0447\u0435\u0440\u0435\u0437 47 \u0431\u0430\u0439\u0442\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0430, \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0447\u0435\u0442\u044b\u0440\u0435 \u0431\u0430\u0439\u0442\u0430 \u0440\u0430\u0437\u043c\u0435\u0440\u0430 jpg \u0444\u0430\u0439\u043b\u0430. \u0424\u0430\u0439\u043b\u044b \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0434\u0440\u0443\u0433 \u0437\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u044e \u0432 19 \u0431\u0430\u0439\u0442, \u0433\u0434\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0444\u0430\u0439\u043b\u0430.<\/p>\n<p>  \u041e\u0437\u0432\u0443\u0447\u0435\u043d\u043d\u044b\u0435 imoavi \u0432 \u0438\u0433\u0440\u0435 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0430\u043b\u0438\u0441\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u043a\u0446\u0438\u044f SOUND \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0443\u0441\u0442\u0430\u044f. <\/p>\n<p>  \u041d\u0443 \u0438 \u0440\u0430\u0437 \u0443\u0436 \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438\u0433\u0440\u044b, \u0437\u0430\u043e\u0434\u043d\u043e \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u044f jpg \u0438\u0437 imoavi.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">Imoavi extractor<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\"># -*- coding: utf-8 -*-  # Extract imoavi # Imoavi extractor for Bishoujo Mangekyou game files # by Chtobi and Nazon, 2016   import glob import os import struct import argparse  imoavi_hdr = b'IMOAVI'  hdr_len = len(imoavi_hdr)   def create_file(file_name, out_buffer, wr_mode='wb'):     if len(out_buffer) != 0:          with open(file_name, wr_mode) as ext_file:             ext_file.write(out_buffer)     else:         print(&quot;Zero file. Skipped.&quot;)   def prepare_filename(file_name, out_dir, postfix=''):     ready_name = out_dir + os.path.basename(file_name) + postfix      return ready_name   def create_parser():     arg_parser = argparse.ArgumentParser(prog='Imoavi extractor\\n',                                          usage='extract_imoavi input_file_name output_dir\\n',                                          description='Imoavi extractor for QLIE engine *.imoavi files.\\n')     arg_parser.add_argument('input_file_name', nargs='+', help=&quot;Input file with full path(wildcards are supported).\\n&quot;)     arg_parser.add_argument('output_dir', nargs='+', help=&quot;Output directory.\\n&quot;)      return arg_parser   if __name__ == '__main__':      parser = create_parser()     arguments = parser.parse_args()      all_imoavi = glob.glob(arguments.input_file_name[0])      output_dir = arguments.output_dir[0]      for imoavi_f in all_imoavi:         file_buffer = bytearray(b'')          with open(imoavi_f, 'rb') as imoavi_h:              # Read imoavi file header             imoavi_h.read(hdr_len)             imoavi_h.seek(2, os.SEEK_CUR)  # 0x00              imoavi_h.seek(1, os.SEEK_CUR)  # 0x64             imoavi_h.seek(3, os.SEEK_CUR)  # 0x00              imoavi_h.seek(5, os.SEEK_CUR)  # SOUND             imoavi_h.seek(3, os.SEEK_CUR)  # 0x00             imoavi_h.seek(1, os.SEEK_CUR)  # 0x64             imoavi_h.seek(11, os.SEEK_CUR)             imoavi_h.seek(5, os.SEEK_CUR)  # Movie             imoavi_h.seek(3, os.SEEK_CUR)  # 00 ??             imoavi_h.seek(1, os.SEEK_CUR)  # 0x64             imoavi_h.seek(3, os.SEEK_CUR)  # 0x00 ??             imoavi_h.seek(4, os.SEEK_CUR)  # ??             imoavi_h.seek(1, os.SEEK_CUR)  # Number of jpg files in section             imoavi_h.seek(4, os.SEEK_CUR)  # 0x00             imoavi_h.seek(1, os.SEEK_CUR)  # 0x05 ???             imoavi_h.seek(2, os.SEEK_CUR)  # 0x00 ??             imoavi_h.seek(4, os.SEEK_CUR)  # 720 ??             imoavi_h.seek(4, os.SEEK_CUR)  # Full size without header?              to_next_size = struct.unpack('&lt;L', imoavi_h.read(4))[0]  # Bytes till next header              imoavi_h.seek(16, os.SEEK_CUR)  # 0x00              jpg_size = struct.unpack('&lt;L', imoavi_h.read(4))[0]              imoavi_h.seek(4, os.SEEK_CUR)  # 0x00              file_num = 0              file_buffer.extend(imoavi_h.read(jpg_size))              outfile_name = prepare_filename(imoavi_f, output_dir, '_' + (str(file_num)).zfill(3) + '.jpg')              create_file(outfile_name, file_buffer)              while to_next_size != 0:                 file_buffer = bytearray(b'')                  to_next_size = struct.unpack('&lt;L', imoavi_h.read(4))[0]                  if to_next_size == 24:  # 0x1C header for index part                      file_buffer.extend(imoavi_h.read(to_next_size))                      outfile_name = prepare_filename(imoavi_f, output_dir, '_' + '.index')                     create_file(outfile_name, file_buffer, 'ab')  # concatenate with index file                 else:                      imoavi_h.seek(2, os.SEEK_CUR)  # unknown                     imoavi_h.seek(2, os.SEEK_CUR)  # Unknown, almost always FF FF or FF FE                      file_num = struct.unpack('B', imoavi_h.read(1))[0]  # File number                      imoavi_h.seek(11, os.SEEK_CUR)  # 0x00                      jpg_size = struct.unpack('&lt;L', imoavi_h.read(4))[0]                      imoavi_h.seek(4, os.SEEK_CUR)  # 0x00                      file_buffer.extend(imoavi_h.read(jpg_size))                      outfile_name = prepare_filename(imoavi_f, output_dir, '_' + (str(file_num)).zfill(3) + '.jpg')                      create_file(outfile_name, file_buffer) <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0438, \u043c\u043e\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0438\u0437 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438 \u0432 \u043c\u0435\u043d\u044e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0432 \u0444\u0430\u0439\u043b\u0435 1_\u30bf\u30a4\u30c8\u30eb\u753b\u9762\u30e0\u30fc\u30d3\u30fc.b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 imoavi.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lo\/81\/_r\/lo81_rlqvf55nia7relrkbsckey.png\" \/><\/div>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0441 \u0438\u0433\u0440\u043e\u0432\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u0432\u0441\u0435.<\/p>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0445 \u043d\u044e\u0430\u043d\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0442\u044c \u0442\u0430\u043a \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. \u0418\u0433\u0440\u0430, \u043a\u0430\u043a \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b, \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u044e\u043d\u0438\u043a\u043e\u0434\u043d\u044b\u0445 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043e\u043a. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u0435\u0441\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0441 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u043c\u0435\u0436\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c. \u0411\u044b\u043b\u043e \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u043a\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0438\u0433\u0440\u044b \u0431\u0435\u0437 \u0441\u043c\u0435\u043d\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u0443\u044e.<\/p>\n<p>  \u0412 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u043c\u044b(\u0432\u0435\u0440\u043d\u0435\u0435, \u0442\u043e\u0442, \u043a\u0442\u043e \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u0437\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u0435) \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0438\u0441\u044c: \u0430 \u043c\u043e\u0436\u0435\u0442, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0442\u0430\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u0441\u043e \u0441\u0442\u0430\u0440\u044b\u043c \u0434\u0432\u0438\u0436\u043a\u043e\u043c, \u0430 \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u0435\u043b\u043b\u0443 \u043d\u0430 \u0434\u0432\u0438\u0436\u043e\u043a Renpy, \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u0438 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u044c?<br \/>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043c\u044b \u043f\u043e\u0442\u043e\u0440\u043e\u043f\u0438\u043b\u0438\u0441\u044c, \u043d\u043e \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442, \u0431\u0440\u043e\u0441\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u0442\u043e\u0435 \u0441\u0442\u0430\u043b\u043e \u0436\u0430\u043b\u043a\u043e \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u043e\u0441\u044c, \u043a\u0440\u043e\u043c\u0435 \u043a\u0430\u043a \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434.<\/p>\n<p>  \u0421 \u0447\u0435\u043c \u0436\u0435 \u043d\u0430\u043c \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f? <br \/>  \u041e\u0431 \u044d\u0442\u043e\u043c \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0447\u0430\u0441\u0442\u0438.<\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:<\/p>\n<p>  <a href=\"https:\/\/bitbucket.org\/Chtobi\/qlie-tools\/\">\u041d\u0430\u0448\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043d\u0430 bitbucket<\/a><\/p>\n<p>  <a href=\"https:\/\/ja.wikipedia.org\/wiki\/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88:%E7%BE%8E%E5%B0%91%E5%A5%B3%E3%82%B2%E3%83%BC%E3%83%A0%E7%B3%BB\/%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3#QLiE_\/_IMOSURUME\">\u041e \u0434\u0432\u0438\u0436\u043a\u0435 Qlie \u043d\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u043c<\/a><\/p>\n<p>  <a href=\"http:\/\/www.rikai.com\/library\/kanjitables\/kanji_codes.sjis.shtml\">\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 Shift Jis<\/a><\/p>\n<p>  <a href=\"http:\/\/www8.plala.or.jp\/tkubota1\/unicode-symbols-map2.html\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 \u0438\u0437 Shift Jis \u0432 UTF-8<\/a><\/p>\n<p>  <a href=\"http:\/\/asmodean.reverse.net\/pages\/exfp3.html\">\u0423\u0442\u0438\u043b\u0438\u0442\u0430 exfp3_v3 \u043e\u0442 asmodean<\/a><\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/426431\/\"> https:\/\/habr.com\/post\/426431\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bb\/sq\/zf\/bbsqzfse3pqjvnyef8jnfv3lecy.png\" \/><\/div>\n<p>  \u041b\u044e\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b, \u0435\u0441\u043b\u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430\u043c\u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u0433\u0440, \u0438\u043c\u0435\u0435\u0442 \u0440\u044f\u0434 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0442\u0435\u043a\u0441\u0442\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439, \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043d\u043e\u0432\u0435\u043b\u043b \u0431\u044b\u043b\u043e \u0432\u044b\u043f\u0443\u0449\u0435\u043d\u043e \u043d\u0430 \u044f\u043f\u043e\u043d\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043b\u0438\u0448\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u0438\u0435 \u0431\u044b\u043b\u0438 \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u044b \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439(\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0438\u043b\u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044f\u043c\u0438) \u0438 \u0435\u0449\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438. <\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u044f\u043f\u043e\u043d\u0441\u043a\u0438\u043c\u0438 \u0434\u0432\u0438\u0436\u043a\u0430\u043c\u0438, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0434\u0440\u0443\u0436\u0435\u043b\u044e\u0431\u043d\u044b\u043c\u0438 \u043a \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u0430\u043c. \u0418\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e, \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0447\u0435\u0441\u043a\u0438\u0445 \u043d\u0430\u0432\u044b\u043a\u043e\u0432, \u0437\u043d\u0430\u043d\u0438\u044f \u044f\u0437\u044b\u043a\u0430, \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0437\u043c\u0430 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043d\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0438\u0433\u0440\u044b \u0441\u043a\u043e\u0440\u043e \u0443\u0432\u0438\u0434\u0438\u0442 \u0441\u0432\u0435\u0442.   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-290801","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=290801"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290801\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=290801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=290801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=290801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}