diff --git a/.eslintrc b/.eslintrc
index 0d46eb5..7c59f2e 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,29 +1,9 @@
{
- "env": {
- "node": true,
- "es6": true,
- "browser": true
- },
- "parser": "babel-eslint",
- "extends": "eslint:recommended",
+ "extends": "standard",
"rules": {
- "no-multi-spaces": 0,
- "key-spacing": 0,
- "no-return-assign": 0,
- "consistent-return": 0,
- "no-shadow": 0,
- "comma-dangle": 0,
- "no-use-before-define": 0,
- "no-empty": 0,
- "new-parens": 0,
- "no-cond-assign": 0,
- "no-fallthrough": 0,
- "new-cap": 0,
- "no-loop-func": 0,
- "no-unreachable": 0,
- "no-labels": 0,
- "no-process-exit": 0,
- "camelcase": 0,
- "no-console": 0
+ "one-var": "off",
+ "no-tabs": "off",
+ "no-useless-escape": "off",
+ "no-new-func": "off"
}
}
diff --git a/.gitignore b/.gitignore
index c550d80..97d1e33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,8 +3,12 @@ node_modules/
.tmp/
npm-debug.log
.DS_Store
-src/jquery.embed.js
embed.js.sublime-project
embed.js.sublime-workspace
.sass-cache
bower_components
+dist
+reports
+screenshots
+selenium-debug.log
+*.env
diff --git a/.travis.yml b/.travis.yml
index 7e193b2..e46cd04 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,20 +1,21 @@
-sudo: false
language: node_js
cache:
directories:
- node_modules
notifications:
email: false
-# whitelist
-branches:
- only:
- - master
- - es6
node_js:
- - iojs
+ - '6'
+before_script:
+ - npm prune
before_install:
- npm i -g grunt-cli
- - npm i -g npm@^2.0.0
- npm i -g rollup
-before_script:
- - npm prune
+ - gem install sass
+after_success:
+ - npm run semantic-release
+branches:
+ except:
+ - /^v\d+\.\d+\.\d+$/
+addons:
+ sauce_connect: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 46fc236..026d895 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,72 @@
+For the changelog of versions after 4.1.14 see the releases section.
+
+
+## [4.1.14](https://github.com/ritz078/embed.js/compare/v4.1.13...v4.1.14) (2017-02-22)
+
+
+### Bug Fixes
+
+* **unfetch:** replace fetch polyfill with unfetch ([da70f43](https://github.com/ritz078/embed.js/commit/da70f43))
+
+
+
+
+## [4.1.13](https://github.com/ritz078/embed.js/compare/v4.1.12...v4.1.13) (2017-02-17)
+
+
+
+
+## [4.1.12](https://github.com/ritz078/embed.js/compare/v4.1.11...v4.1.12) (2017-01-25)
+
+
+
+
+## [4.1.11](https://github.com/ritz078/embed.js/compare/v4.1.10...v4.1.11) (2017-01-25)
+
+
+### Bug Fixes
+
+* **asyncEmbed:** fixes 194 ([7dbc1c4](https://github.com/ritz078/embed.js/commit/7dbc1c4))
+* **template:** extend template instead of replacing ([900c528](https://github.com/ritz078/embed.js/commit/900c528))
+
+
+
+
+## [4.1.10](https://github.com/ritz078/embed.js/compare/v4.1.7...v4.1.10) (2016-10-26)
+
+
+
+
+## [4.1.7](https://github.com/ritz078/embed.js/compare/v4.1.6...v4.1.7) (2016-10-26)
+
+
+### Bug Fixes
+
+* **soundcloud:** wrong soundcloud URLs ([b9f566f](https://github.com/ritz078/embed.js/commit/b9f566f)), closes [#188](https://github.com/ritz078/embed.js/issues/188)
+
+
+
+
+## [4.1.6](https://github.com/ritz078/embed.js/compare/v4.1.4...v4.1.6) (2016-10-16)
+
+
+### Bug Fixes
+
+* **string:** allow empty string as input ([3535d75](https://github.com/ritz078/embed.js/commit/3535d75)), closes [#181](https://github.com/ritz078/embed.js/issues/181)
+
+
+
+
+## [4.1.4](https://github.com/ritz078/embed.js/compare/v4.1.3...v4.1.4) (2016-07-14)
+
+
+### Bug Fixes
+
+* **destroy:** fixed .load of undefined when tweetsEmbed was turned off. ([e19068b](https://github.com/ritz078/embed.js/commit/e19068b))
+* **smiley:** fixed smiley, hashtag and mention conflict ([1826726](https://github.com/ritz078/embed.js/commit/1826726))
+
+
+
## [4.1.3](https://github.com/ritz078/embed.js/compare/v4.1.2...v4.1.3) (2016-06-16)
@@ -6,6 +75,7 @@
* **destroy:** markdown and destroy working as expected + perf ([de45f1b](https://github.com/ritz078/embed.js/commit/de45f1b))
+
### Performance Improvements
* changed classes to functions ([764e7c5](https://github.com/ritz078/embed.js/commit/764e7c5))
@@ -17,7 +87,6 @@
-
## [4.1.1](https://github.com/ritz078/embed.js/compare/v4.1.0...v4.1.1) (2016-06-13)
@@ -98,6 +167,7 @@
* **umd:** fixed an issue with undefined marked and prismjs ([0bfaf06](https://github.com/ritz078/embed.js/commit/0bfaf06))
* **video:** fixed basic video regex issue ([cab117c](https://github.com/ritz078/embed.js/commit/cab117c))
+
### Features
* **es2015:** added es2015 build of the plugin and jsnext:main option in package.json ([36fa93d](https://github.com/ritz078/embed.js/commit/36fa93d))
@@ -106,6 +176,7 @@
* **singleEmbed:** added options to embed only one service from the detected services ([e31ec03](https://github.com/ritz078/embed.js/commit/e31ec03))
* **tests:** moved from mocha to ava ([c8c8bc7](https://github.com/ritz078/embed.js/commit/c8c8bc7)), closes [#118](https://github.com/ritz078/embed.js/issues/118)
+
### Performance Improvements
* **async/await:** Removed async/await in favour of ES6 promises ([ef473c2](https://github.com/ritz078/embed.js/commit/ef473c2)), closes [#117](https://github.com/ritz078/embed.js/issues/117)
@@ -135,6 +206,7 @@
* **package:** corrected main file path ([f49326b](https://github.com/ritz078/embed.js/commit/f49326b))
* **template:** fixed references for this.options.templates. ([daa3cce](https://github.com/ritz078/embed.js/commit/daa3cce))
+
### Features
* **core:** Changed templating structure and export class ([c63cc1e](https://github.com/ritz078/embed.js/commit/c63cc1e))
@@ -154,6 +226,7 @@
* **package:** updated package.json ([6913738](https://github.com/ritz078/embed.js/commit/6913738))
* **travis:** added grunt-cli installation to before-install step ([d23e6f8](https://github.com/ritz078/embed.js/commit/d23e6f8))
+
### Performance Improvements
* **css:** optimized css and reduced file size ([f3f65c3](https://github.com/ritz078/embed.js/commit/f3f65c3))
@@ -169,6 +242,7 @@
* **release:** fix version number in build files ([aea6b89](https://github.com/ritz078/embed.js/commit/aea6b89))
+
### Features
* **changelog:** automated changelog generation using grunt ([f74e5ad](https://github.com/ritz078/embed.js/commit/f74e5ad))
@@ -185,6 +259,7 @@
* **template:** added options as argument in template functions ([45b2208](https://github.com/ritz078/embed.js/commit/45b2208))
* **test:** added some test and refactoring ([fbd58d6](https://github.com/ritz078/embed.js/commit/fbd58d6))
+
### Features
* **slideshare:** added slideshare embedding functionality ([d056eda](https://github.com/ritz078/embed.js/commit/d056eda)), closes [#93](https://github.com/ritz078/embed.js/issues/93)
@@ -196,7 +271,6 @@
-
## [3.6.1](https://github.com/ritz078/embed.js/compare/3.6.0...3.6.1) (2016-01-03)
@@ -216,6 +290,7 @@
* removed function is_short_url as its no longer needed ([74b272c](https://github.com/ritz078/embed.js/commit/74b272c))
* **opengraph:** fixed preference order for opengraph usage with other services ([5d8e545](https://github.com/ritz078/embed.js/commit/5d8e545))
+
### Features
* **github:** Added github API integration for repo urls. ([7f727db](https://github.com/ritz078/embed.js/commit/7f727db)), closes [#81](https://github.com/ritz078/embed.js/issues/81)
@@ -226,6 +301,7 @@
* **opengraph:** Integrated opengraph support with inline embedding. ([a72784d](https://github.com/ritz078/embed.js/commit/a72784d)), closes [#82](https://github.com/ritz078/embed.js/issues/82)
* **release:** added grunt release to automate publishing ([2ff5817](https://github.com/ritz078/embed.js/commit/2ff5817))
+
### Performance Improvements
* **package:** updated babel plugin ([1d54b31](https://github.com/ritz078/embed.js/commit/1d54b31))
@@ -240,6 +316,7 @@
* **video:** fixed name of the function for custom video callback. ([348b7de](https://github.com/ritz078/embed.js/commit/348b7de)), closes [#79](https://github.com/ritz078/embed.js/issues/79)
+
### Features
* **video:** added support for custom click handler and class name for youtube and vimeo ([34d6cb3](https://github.com/ritz078/embed.js/commit/34d6cb3)), closes [#79](https://github.com/ritz078/embed.js/issues/79)
@@ -257,6 +334,7 @@
* **options:** Set tweetsEmbed and highlightCode to false by default ([1302d27](https://github.com/ritz078/embed.js/commit/1302d27))
* **video:** fix multiple video playing under same block ([21a7ce6](https://github.com/ritz078/embed.js/commit/21a7ce6)), closes [#76](https://github.com/ritz078/embed.js/issues/76)
+
### Features
* **.npmignore:** added npmignore to remove files from packaging ([dd5f174](https://github.com/ritz078/embed.js/commit/dd5f174))
@@ -324,6 +402,7 @@
* **bower:** added missing comma in the file ([590f429](https://github.com/ritz078/embed.js/commit/590f429))
* **bower:** unexpected token error ([2880148](https://github.com/ritz078/embed.js/commit/2880148))
+
### Features
* **bump:** version updated ([c33a383](https://github.com/ritz078/embed.js/commit/c33a383))
@@ -369,11 +448,12 @@
* **videojs:** Added fluid:true and preload:'metada' as default in video.js options ([cfc0c67](https://github.com/ritz078/embed.js/commit/cfc0c67))
* **webpack-dev:** Removed grunt serve that ran webpack dev server ([36dbc9c](https://github.com/ritz078/embed.js/commit/36dbc9c))
+
### Features
* **audio:** Added wav|mp3|ogg embed feature support with video.js ([d270b18](https://github.com/ritz078/embed.js/commit/d270b18))
* **audio:** Support for soundcloud and spotify added ([555ea1b](https://github.com/ritz078/embed.js/commit/555ea1b))
-* **build:** Added support to create custom build of the library by only including the necess ([0e0d0bc](https://github.com/ritz078/embed.js/commit/0e0d0bc))
+* **build:** Added support to create custom build of the library by only including the necessary fun ([0e0d0bc](https://github.com/ritz078/embed.js/commit/0e0d0bc))
* **code:** Moved code analyzing part to separate module and support for ideone added ([973edb9](https://github.com/ritz078/embed.js/commit/973edb9))
* **code-highlighting:** Added support for code highlighting using highlight.js ([0b8ad3f](https://github.com/ritz078/embed.js/commit/0b8ad3f))
* **codepen:** support for codepen embedding added ([882bbc7](https://github.com/ritz078/embed.js/commit/882bbc7))
@@ -410,18 +490,19 @@
* **spotify and soundcloud:** support for spotify and soundcloud embedding added ([5bf6bf0](https://github.com/ritz078/embed.js/commit/5bf6bf0))
* **ted:** Support for Ted video embedding support added ([2b84036](https://github.com/ritz078/embed.js/commit/2b84036))
* **text:** Feature to return processes string added and optional rendering enabled ([b01841e](https://github.com/ritz078/embed.js/commit/b01841e))
-* **twitter:** Added on TweetsLoad function that gets executed after all the tweets have been r ([2ee86b4](https://github.com/ritz078/embed.js/commit/2ee86b4))
+* **twitter:** Added on TweetsLoad function that gets executed after all the tweets have been render ([2ee86b4](https://github.com/ritz078/embed.js/commit/2ee86b4))
* **twitter:** Multiple tweet embed support added ([7a59ecf](https://github.com/ritz078/embed.js/commit/7a59ecf))
* **twitter, custom-icons:** Added support for custom font icons and triggered a renedered event wit ([98fd2e7](https://github.com/ritz078/embed.js/commit/98fd2e7))
* **url:** added buff.ly support to the url module ([12b944f](https://github.com/ritz078/embed.js/commit/12b944f))
* **urlEmbed:** Url class to find and replace links into anchor tags added ([76e8173](https://github.com/ritz078/embed.js/commit/76e8173))
* **ustream:** Support for ustream video embedding added ([4251c65](https://github.com/ritz078/embed.js/commit/4251c65))
-* **video:** Added the feature to embed basic video and use video.js to support in multiple p ([6da36e0](https://github.com/ritz078/embed.js/commit/6da36e0))
+* **video:** Added the feature to embed basic video and use video.js to support in multiple places. ([6da36e0](https://github.com/ritz078/embed.js/commit/6da36e0))
* **video-details:** Feature to disable vimeo and youtube description added ([a138840](https://github.com/ritz078/embed.js/commit/a138840))
* **vimeo:** Support for fetching vimeo data added ([0dff396](https://github.com/ritz078/embed.js/commit/0dff396))
* **vine:** Support for vine added ([20f8cb2](https://github.com/ritz078/embed.js/commit/20f8cb2))
* **youtube:** Support youtube details fetching from the API ([c2c1f9f](https://github.com/ritz078/embed.js/commit/c2c1f9f))
+
### Performance Improvements
* match replaced by exec to get the index ([92fb229](https://github.com/ritz078/embed.js/commit/92fb229))
@@ -436,21 +517,20 @@
-
## [2.0.4](https://github.com/ritz078/embed.js/compare/v2.0.3...v2.0.4) (2015-04-19)
-
## [2.0.3](https://github.com/ritz078/embed.js/compare/v2.0.2...v2.0.3) (2015-04-08)
### Features
-* callback functions added #10 ([4e932e9](https://github.com/ritz078/embed.js/commit/4e932e9))
-* support for a lot of shortened urls added #12 ([5cd9d4b](https://github.com/ritz078/embed.js/commit/5cd9d4b))
+* callback functions added [#10](https://github.com/ritz078/embed.js/issues/10) ([4e932e9](https://github.com/ritz078/embed.js/commit/4e932e9))
+* support for a lot of shortened urls added [#12](https://github.com/ritz078/embed.js/issues/12) ([5cd9d4b](https://github.com/ritz078/embed.js/commit/5cd9d4b))
+
### Performance Improvements
@@ -463,29 +543,26 @@
-
## [2.0.1](https://github.com/ritz078/embed.js/compare/v2.0.0-rc.1...v2.0.1) (2015-03-23)
-
# [2.0.0-rc.1](https://github.com/ritz078/embed.js/compare/v2.0.0...v2.0.0-rc.1) (2015-03-23)
-
# [2.0.0](https://github.com/ritz078/embed.js/compare/v1.0.0...v2.0.0) (2015-03-23)
### Features
-* liveleak support added #7 ([7986722](https://github.com/ritz078/embed.js/commit/7986722))
+* liveleak support added [#7](https://github.com/ritz078/embed.js/issues/7) ([7986722](https://github.com/ritz078/embed.js/commit/7986722))
* spotify support added ([14de673](https://github.com/ritz078/embed.js/commit/14de673))
-* TED support added #7 ([4228ec0](https://github.com/ritz078/embed.js/commit/4228ec0))
-* vine support added #7 ([e7aa9c1](https://github.com/ritz078/embed.js/commit/e7aa9c1))
+* TED support added [#7](https://github.com/ritz078/embed.js/issues/7) ([4228ec0](https://github.com/ritz078/embed.js/commit/4228ec0))
+* vine support added [#7](https://github.com/ritz078/embed.js/issues/7) ([e7aa9c1](https://github.com/ritz078/embed.js/commit/e7aa9c1))
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..c2ebaab
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,15 @@
+# Contributor Code of Conduct
+
+As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
+
+We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion.
+
+Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
+
+This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
+
+This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.1.0, available at [http://contributor-covenant.org/version/1/1/0/](http://contributor-covenant.org/version/1/1/0/)
diff --git a/Gruntfile.js b/Gruntfile.js
index c55b609..047d9f6 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -24,27 +24,27 @@ module.exports = function (grunt) {
options: {
livereload: true
},
- css : {
+ css: {
files: ['src/css/**/*.scss'],
tasks: ['sass', 'postcss']
},
- js : {
+ js: {
files: ['src/js/**/*.js', 'build.json'],
- tasks: ['eslint', 'shell:rollup', 'uglify']
+ tasks: ['shell:rollup', 'uglify']
}
},
postcss: {
options: {
- map : false,
+ map: false,
processors: [
require('cssnano')({
convertValues: false
})
]
},
- dist : {
- src : '.tmp/embed.css',
+ dist: {
+ src: 'dist/embed.css',
dest: 'dist/embed.min.css'
}
},
@@ -53,13 +53,13 @@ module.exports = function (grunt) {
'sprite': {
all: {
- src : './assets/images/ejs_emojis/*.png',
- dest : './assets/images/emojis.png',
- retinaSrcFilter : './assets/images/ejs_emojis/*@2x.png',
- destCss : 'src/css/_emojis.scss',
- retinaDest : './assets/images/emojis@2x.png',
- cssFormat : 'css',
- cssTemplate : 'sprite.handlebars',
+ src: './assets/images/ejs_emojis/*.png',
+ dest: './assets/images/emojis.png',
+ retinaSrcFilter: './assets/images/ejs_emojis/*@2x.png',
+ destCss: 'src/css/_emojis.scss',
+ retinaDest: './assets/images/emojis@2x.png',
+ cssFormat: 'css',
+ cssTemplate: 'sprite.handlebars',
cssHandlebarsHelpers: {
escape: function (name) {
var x = ['+', '-', '/', '*'];
@@ -81,11 +81,11 @@ module.exports = function (grunt) {
}
}
},
- files : {
+ files: {
expand: true,
- cwd : 'assets/images/emojis',
- src : ['*.png'],
- dest : 'assets/images/ejs_emojis/'
+ cwd: 'assets/images/emojis',
+ src: ['*.png'],
+ dest: 'assets/images/ejs_emojis/'
}
},
@@ -94,44 +94,44 @@ module.exports = function (grunt) {
options: {
style: 'expanded'
},
- files : {
- 'src/embed.css': 'src/css/embed.scss'
+ files: {
+ '.tmp/embed.css': 'src/css/embed.scss'
}
}
},
'uglify': {
options: {
- banner : "<%= meta.banner %>",
- mangle : true,
+ banner: "<%= meta.banner %>",
+ mangle: true,
compress: {
- sequences : true,
- dead_code : true,
+ sequences: true,
+ dead_code: true,
conditionals: true,
- booleans : true,
- unused : true,
- if_return : true,
- join_vars : true,
+ booleans: true,
+ unused: true,
+ if_return: true,
+ join_vars: true,
drop_console: true
}
},
- build : {
+ build: {
files: {
- 'dist/embed.min.js': 'src/embed.js'
+ 'dist/embed.min.js': 'dist/embed.js'
}
}
},
- connect : {
+ connect: {
server: {
options: {
- port : 8000,
+ port: 8000,
livereload: true,
- open : true,
- keepAlive : true,
- base : {
- path : './',
+ open: true,
+ keepAlive: true,
+ base: {
+ path: './',
options: {
- index : 'demo/index.html',
+ index: 'demo/index.html',
maxAge: 300000
}
}
@@ -139,25 +139,21 @@ module.exports = function (grunt) {
}
},
- eslint: {
- target: ['src/js/**/*.js']
- },
-
'string-replace': {
dist: {
- files : {
- '.tmp/embed.css': 'src/embed.css'
+ files: {
+ 'dist/embed.css': '.tmp/embed.css'
},
options: {
replacements: [{
- pattern : /..\/assets\/images\/loader.svg/g,
- replacement: 'assets/images'
+ pattern: /..\/assets\/images\/loader.svg/g,
+ replacement: './assets/images'
}, {
- pattern : /..\/.\/assets\/images\/emojis/g,
- replacement: 'assets/images/emojis'
+ pattern: /..\/.\/assets\/images\/emojis/g,
+ replacement: './assets/images/emojis'
}, {
- pattern : /..\/assets\/fonts/g,
- replacement: 'assets/fonts'
+ pattern: /..\/assets\/fonts/g,
+ replacement: './assets/fonts'
}]
}
}
@@ -167,44 +163,22 @@ module.exports = function (grunt) {
dist: {
files: [{
expand: true,
- src : 'assets/fonts/*',
- dest : 'dist/'
+ src: 'assets/fonts/*',
+ dest: 'dist/'
}, {
expand: true,
- src : 'assets/images/*',
- dest : 'dist/',
+ src: 'assets/images/*',
+ dest: 'dist/',
filter: 'isFile'
}]
}
},
- bump: {
- options: {
- files : ['package.json', 'bower.json'],
- commitFiles : ['-a'],
- pushTo : 'origin',
- updateConfigs: ['pkg']
- }
- },
-
- conventionalChangelog: {
- options: {
- changelogOpts: {
- // conventional-changelog options go here
- preset: 'angular',
- releaseCount: 0
- }
- },
- release: {
- src: 'CHANGELOG.md'
- }
- },
-
shell: {
publish: {
command: 'npm publish'
},
- rollup : {
+ rollup: {
command: 'rollup -c rollup.umd.config.js && rollup -c rollup.es2015.config.js'
}
}
@@ -212,12 +186,8 @@ module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
- grunt.registerTask("default", ["eslint", "shell:rollup", "sass", "connect", "watch"]);
- grunt.registerTask("build", ["clean", "build-emoji", "eslint", "shell:rollup", "sass", "uglify", "string-replace", "postcss", "copy"]);
+ grunt.registerTask("default", ["shell:rollup", "sass", "connect", "watch"]);
+ grunt.registerTask("build", ["clean", "build-emoji", "shell:rollup", "sass", "uglify", "string-replace", "postcss", "copy"]);
grunt.registerTask("build-emoji", ["retinafy", "sprite", "sass"]);
- grunt.registerTask("dist", ["clean", "eslint", "shell:rollup", "sass", "uglify", "string-replace", "postcss", "copy"]);
-
- grunt.registerTask("release", function (option) {
- grunt.task.run(["bump-only:" + option, "dist", "conventionalChangelog", "bump-commit", "shell:publish"]);
- });
+ grunt.registerTask("dist", ["clean", "shell:rollup", "sass", "uglify", "string-replace", "postcss", "copy"]);
};
diff --git a/README.md b/README.md
index 0338dab..c264dc5 100644
--- a/README.md
+++ b/README.md
@@ -7,15 +7,16 @@
-
-
+
+
+
+