ERROR in ./node_modules/redis-parser/lib/hiredis.js
Module not found: Error: Can't resolve 'hiredis' in
error Command failed with exit code 2.
рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рдореНрди рд╣реИ:
var path = require('path')
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: ['babel-loader']
}
]
},
target: 'node'
}
рдкреИрдХреЗрдЬ.рдЬреЗрд╕рди
{
"version": "1.0.0",
"main": "src/index.js",
"license": "MIT",
"dependencies": {
"dotenv": "^4.0.0",
"koa": "^2.3.0",
"koa-bodyparser": "^4.2.0",
"koa-router": "^7.2.1",
"node-fetch": "^1.7.1",
"redis": "^2.7.1"
},
"devDependencies": {
"babel-cli": "^6.24.1",
"babel-loader": "^7.1.1",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-preset-env": "^1.5.2",
"webpack": "^3.0.0"
},
"scripts": {
"start": "node dist/bundle",
"build": "webpack"
},
"babel": {
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [
"transform-object-rest-spread",
"transform-class-properties"
]
}
}
рдпрд╣ рд╡реЗрдмрдкреИрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдиреЛрдбрдПрдХреНрд╕рдЯрд░реНрдирд▓ рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
const nodeExternals = require('webpack-node-externals')
module.exports = {
...
externals: [nodeExternals()],
target: 'node'
}
nodeExternals рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдмрдВрдбрд▓рд┐рдВрдЧ рдкрд░ node_modules рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
рдпрд╣ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рджрд░рдЕрд╕рд▓, рдпрд╣ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ redis-parser
рдиреЗ hiredis
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ redis-parser
3.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
@guidobouman рд╣рдо рдиреЛрдб_рд░реЗрдбрд┐рд╕ рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ рдЙрд╕ рдПрдХрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдП рдмрд┐рдирд╛ redis-parser
3.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рд╣рдлреНрддреЛрдВ рд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдв рд░рд╣рд╛ рд╣реВрдВред
@guidobouman рдХреЛрдИ рднреА рд╡реИрдз JS рдХреЛрдб Webpack
рдХреЗ рд▓рд┐рдП рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рджреБрдЦрдж рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: рдореБрдЭреЗ рдмрд╣реБрдд рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдХреЛрдИ рд░реЗрдбрд┐рд╕ рдкрд░ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред рд╕рд░реНрд╡рд░ рд╕рд╛рдЗрдб рдХреЛрдб рдХреЛ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред
@peterschussheim рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рдордп node_redis рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдпрд╣ рдмрд╣реБрдд рджреБрдЦрдж рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЗрд╡рд▓ рд░реЗрдбрд┐рд╕-рдкрд╛рд░реНрд╕рд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдПрдХ рд╕реЗрд╡рд░-рдкреНрд░рдореБрдЦ рдЯрдХреНрдХрд░ рд╣реЛрдЧреАред
@BridgeAR рджреЗрдЦреЗрдВ https://github.com/NodeRedis/node-redis-parser/pull/36
рдЧреБрдо рд╕рдВрджрд░реНрдн рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдорд╕реНрдпрд╛ рдереАред рднрд╛рдбрд╝реЗ рдХреЛ рд╣рдЯрд╛рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрд╕ рдмрдЧ рдХреЛ "рд╕рдВрдкрд╛рд░реНрд╢реНрд╡рд┐рдХ рдХреНрд╖рддрд┐" рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреЛрдб рдкрд░ рд╡реЗрдмрдкреИрдХ рдХреНрдпреЛрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛: рд╕рд░реНрд╡рд░ рд░рд╣рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдиреЛрдб рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдХреЛрдИ рдЖрдпрд╛рдд рдЬреИрд╕реЗ рдЖрдзреБрдирд┐рдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред (https://github.com/serverless-heaven/serverless-webpack)
@peterschussheim рдореБрдЭреЗ redis-parser
рдореЗрдВ node-redis
рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЯрдХреНрдХрд░ рджреЗрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: hiredis
рд╕реНрд╡рдпрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред рднрд▓реЗ рд╣реА рдЖрдк рд╢рд╛рдпрдж hiredis
рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, redis-parser
рдЗрд╕рдХреЗ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИред
рджрд░рдЕрд╕рд▓, @BridgeAR : рдпрд╣ рдПрдХ рдкреИрдЪ рд╕рдВрд╕реНрдХрд░рдг рдЯрдХреНрдХрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдмрдЧрдлрд┐рдХреНрд╕ рд╣реИред рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдпрд╣ Node рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ 4 рд╕реЗ рдиреАрдЪреЗ рдЧрд┐рд░рд╛ рджреЗрддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡реЗ рдХрд╛рдлреА рд╕рдордп рд╕реЗ EOL рд░рд╣реЗ рд╣реЛрдВред
@guidobouman рдЙрд╕ рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ 'рд╣реИрдХ' рд╣реИ, рдореИрдВ рдЗрд╕реЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд╛рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рд╢рд╛рдпрдж рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╛ рд╕рдореБрджрд╛рдп рдХреЗ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП 'рдЖрдзреБрдирд┐рдХ' рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИ (рдмрд╣реБрдд, рдмрд╣реБрдд рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рд╣рдо рдиреЛрдб 4 рд╕рдорд░реНрдерди рдХреЗ рдХрд╛рд░рдг рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рд╕реЗ рджреВрд░ рд╣реИрдВ)ред
рдореИрдВ
рдХреНрдпрд╛ рдХреЛрдИ рдХреГрдкрдпрд╛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП? рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ hiredis
рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдмрд╕ hiredis
рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ, рддреЛ рдореБрдЭреЗ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд╛рд░реНрд╕рд░ hiredis
рдирд╣реАрдВ рд╣реИред рдореИрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ hiredis
рдХреА рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд▓реИрдореНрдмреНрдбрд╛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдмрдВрдбрд▓ рдХрд░рддреЗ рд╕рдордп рд╡реЗрдмрдкреИрдХ рдмреБрд░реА рддрд░рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рд╕рднреА рд╕рдорд╛рдпреЛрдЬрдиреЛрдВ рдХреЗ рдмрд╛рдж (рд▓рдХреНрд╖реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди: 'рдиреЛрдб' рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ 'рд╣рд┐рд░реЗрдбрд┐рд╕' рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ), рдлрд┐рд░ рднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ
рдмрдВрдбрд▓рд┐рдВрдЧ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ред рдЬрдм рдореИрдВ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ "рдЕрдирдХреЙрдЯ рд░реЗрдлрд░реЗрдВрд╕ рдПрд░рд░: рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА" рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рд╛рдпрд░рдбрд┐рд╕ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдиреЛрдб 12 рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ, рд░реЗрдбрд┐рд╕-рдкрд╛рд░реНрд╕рд░ рдЗрд╕реЗ v3.0.0 рдкрд░ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдкреИрдХреЗрдЬ рдЕрднреА рднреА v2.6.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред
рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░реНрд╕рд▓рдЬ рдХреЗ рд╕рд╛рде рдмрдВрдбрд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рдЗрд╕реЗ рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ:
parcel build src/index.ts --bundle-node-modules --target node --no-source-maps --no-minify
рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдмрдВрдбрд▓ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рддрд╛ рд╣реИ (рдкреЗрдбрд╝ рдХрд╛рдВрдкрдирд╛, рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рди, рдЖрджрд┐)ред рдиреНрдпреВрдирддрдореАрдХрд░рдг рдпрд╛ рдирд╣реАрдВ, рдЕрдЧрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП npm install
рдФрд░ рдкреВрд░реНрдг рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред
Hiredis рдкрд░рд┐рддреНрдпрд╛рдЧ рдирд╣реАрдВ рд╣реИ (рдЕрдВрддрд┐рдо PR 10 рджрд┐рди рдкрд╣рд▓реЗ рдерд╛)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ 3.0 рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ @sookoll рдХрд╛ рдордиреЛрд░рдВрдЬрди рдХрд░реВрдВрдЧрд╛ред
Hiredis рдкрд░рд┐рддреНрдпрд╛рдЧ рдирд╣реАрдВ рд╣реИ (рдЕрдВрддрд┐рдо PR 10 рджрд┐рди рдкрд╣рд▓реЗ рдерд╛)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ 3.0 рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ @sookoll рдХрд╛ рдордиреЛрд░рдВрдЬрди рдХрд░реВрдВрдЧрд╛ред
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореЗрд░рд╛ рдорддрд▓рдм рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд╛рдпрд░рд░рд┐рд╕-рдиреЛрдб рд╣реИред рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдХреЛрдИ рдпрд╣рд╛рдВ рдиреЛрдб рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рджрд░рдЕрд╕рд▓, рдпрд╣ рд╡реЗрдмрдкреИрдХ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ
redis-parser
рдиреЗhiredis
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛredis-parser
3.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред