jmontoyaa 8 gadi atpakaļ
vecāks
revīzija
a6281270c7
33 mainītis faili ar 1137 papildinājumiem un 702 dzēšanām
  1. 4 4
      app/Resources/public/assets/i18next/.bower.json
  2. 6 0
      app/Resources/public/assets/i18next/CHANGELOG.md
  3. 10 7
      app/Resources/public/assets/i18next/README.md
  4. 12 4
      app/Resources/public/assets/i18next/i18next.js
  5. 0 0
      app/Resources/public/assets/i18next/i18next.min.js
  6. 4 4
      app/Resources/public/assets/mediaelement/.bower.json
  7. 46 96
      app/Resources/public/assets/mediaelement/README.md
  8. BIN
      app/Resources/public/assets/mediaelement/build/flashmediaelement-cdn.swf
  9. BIN
      app/Resources/public/assets/mediaelement/build/flashmediaelement-debug.swf
  10. BIN
      app/Resources/public/assets/mediaelement/build/flashmediaelement.swf
  11. 364 147
      app/Resources/public/assets/mediaelement/build/mediaelement-and-player.js
  12. 0 0
      app/Resources/public/assets/mediaelement/build/mediaelement-and-player.min.js
  13. 157 37
      app/Resources/public/assets/mediaelement/build/mediaelement.js
  14. 0 0
      app/Resources/public/assets/mediaelement/build/mediaelement.min.js
  15. 3 2
      app/Resources/public/assets/mediaelement/build/mediaelementplayer.css
  16. 432 337
      app/Resources/public/assets/mediaelement/build/mediaelementplayer.js
  17. 0 0
      app/Resources/public/assets/mediaelement/build/mediaelementplayer.min.css
  18. 0 0
      app/Resources/public/assets/mediaelement/build/mediaelementplayer.min.js
  19. 41 11
      app/Resources/public/assets/mediaelement/changelog.md
  20. 4 4
      app/Resources/public/assets/pwstrength-bootstrap/.bower.json
  21. 1 1
      app/Resources/public/assets/pwstrength-bootstrap/bower.json
  22. 1 1
      app/Resources/public/assets/pwstrength-bootstrap/dist/pwstrength-bootstrap.js
  23. 1 1
      app/Resources/public/assets/pwstrength-bootstrap/dist/pwstrength-bootstrap.min.js
  24. 4 4
      app/Resources/public/assets/webcamjs/.bower.json
  25. 1 1
      app/Resources/public/assets/webcamjs/bower.json
  26. 1 1
      app/Resources/public/assets/webcamjs/package.json
  27. 4 3
      app/Resources/public/assets/webcamjs/webcam.js
  28. 0 1
      app/Resources/public/assets/webcamjs/webcam.min.js
  29. 4 4
      app/Resources/public/assets/zxcvbn/.bower.json
  30. 1 1
      app/Resources/public/assets/zxcvbn/LICENSE.txt
  31. 28 23
      app/Resources/public/assets/zxcvbn/README.md
  32. 0 0
      app/Resources/public/assets/zxcvbn/dist/zxcvbn.js
  33. 8 8
      app/Resources/public/assets/zxcvbn/dist/zxcvbn.js.map

+ 4 - 4
app/Resources/public/assets/i18next/.bower.json

@@ -18,12 +18,12 @@
     "karma.conf.js"
   ],
   "homepage": "https://github.com/i18next/i18next",
-  "version": "3.4.1",
-  "_release": "3.4.1",
+  "version": "3.4.3",
+  "_release": "3.4.3",
   "_resolution": {
     "type": "version",
-    "tag": "v3.4.1",
-    "commit": "ae96d7a2f3e18dc749f505ee9d0456d863eb6424"
+    "tag": "v3.4.3",
+    "commit": "3e92f068aa901030014f3b0f27fcd3ed6ab0c535"
   },
   "_source": "https://github.com/i18next/i18next.git",
   "_target": ">=2.4.0",

+ 6 - 0
app/Resources/public/assets/i18next/CHANGELOG.md

@@ -1,3 +1,9 @@
+### 3.4.3
+- Fix Interpolator formatter exception error propagation due to not reset RegExp indices [#820](https://github.com/i18next/i18next/issues/820)
+
+### 3.4.2
+- assert dir function does not crash if no language available
+
 ### 3.4.1
 - fix issue with format containing formatSeparator for interpolation formatting
 

+ 10 - 7
app/Resources/public/assets/i18next/README.md

@@ -8,14 +8,8 @@
 
 i18next is a very popular internationalization framework for browser or any other javascript environment (eg. node.js).
 
---------------
-**News**
-
-Having done a big rewrite of i18next in spring we are proud to announce the next big step to get your webproject translated with less effort. We just released [locize](locize.com) a translation management system built around the i18next ecosystem.
-
-With using locize you directly support the future of i18next.
+![ecosystem](http://i18next.com/img/frameworks.png)
 
---------------
 
 i18next provides:
 
@@ -39,3 +33,12 @@ For more information visit the website:
 
 
 Our focus is providing the core to building a booming ecosystem. Independent of the building blocks you choose, be it react, angular or even good old jquery proper translation capabilities are just [one step away](http://i18next.com/docs/ecosystem/#frameworks).
+
+--------------
+**locize.com**
+
+Having done a big rewrite of i18next in spring we are proud to announce the next big step to get your webproject translated with less effort. We just released [locize](http://locize.com/) a translation management system built around the i18next ecosystem.
+
+With using locize you directly support the future of i18next.
+
+--------------

+ 12 - 4
app/Resources/public/assets/i18next/i18next.js

@@ -1199,6 +1199,15 @@
 	    this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');
 	    this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');
 
+	    // the regexp
+	    this.resetRegExp();
+	  };
+
+	  Interpolator.prototype.reset = function reset() {
+	    if (this.options) this.init(this.options);
+	  };
+
+	  Interpolator.prototype.resetRegExp = function resetRegExp() {
 	    // the regexp
 	    var regexpStr = this.prefix + '(.+?)' + this.suffix;
 	    this.regexp = new RegExp(regexpStr, 'g');
@@ -1210,10 +1219,6 @@
 	    this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');
 	  };
 
-	  Interpolator.prototype.reset = function reset() {
-	    if (this.options) this.init(this.options);
-	  };
-
 	  Interpolator.prototype.interpolate = function interpolate(str, data, lng) {
 	    var _this = this;
 
@@ -1234,6 +1239,8 @@
 	      return _this.format(getPath(data, k), f, lng);
 	    };
 
+	    this.resetRegExp();
+
 	    // unescape if has unescapePrefix/Suffix
 	    while (match = this.regexpUnescape.exec(str)) {
 	      var _value = handleFormat(match[1].trim());
@@ -2013,6 +2020,7 @@
 
 	  I18n.prototype.dir = function dir(lng) {
 	    if (!lng) lng = this.language;
+	    if (!lng) return 'rtl';
 
 	    var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/i18next/i18next.min.js


+ 4 - 4
app/Resources/public/assets/mediaelement/.bower.json

@@ -23,12 +23,12 @@
     "./build/mediaelement-and-player.js",
     "./build/mediaelementplayer.css"
   ],
-  "version": "2.22.1",
-  "_release": "2.22.1",
+  "version": "2.23.2",
+  "_release": "2.23.2",
   "_resolution": {
     "type": "version",
-    "tag": "2.22.1",
-    "commit": "add004709742e81e578022ff6adafd372d25e107"
+    "tag": "2.23.2",
+    "commit": "b427851d5ff9fc43eda0e58e02e821ec161e3e7a"
   },
   "_source": "https://github.com/johndyer/mediaelement.git",
   "_target": "2.*",

+ 46 - 96
app/Resources/public/assets/mediaelement/README.md

@@ -1,4 +1,4 @@
-# `<video>` and `<audio>` made easy. 
+# `MediaElement.js`: `<video>` and `<audio>` made easy. 
 
 One file. Any browser. Same UI.
 
@@ -9,112 +9,62 @@ One file. Any browser. Same UI.
 * Thanks: my employer, [Dallas Theological Seminary](http://www.dts.edu/)
 * Contributors: [all contributors](https://github.com/johndyer/mediaelement/graphs/contributors)
 
+# Table of Contents
 
-## Installation and Usage
+* [Introduction](#intro)
+* [Browser and Device support](#browser-support)
+* [Installation and Usage](#installation)
+* [API and Configuration](#api)
+* [Guidelines for Contributors](#guidelines)
+* [Change Log](#changelog)
+* [TODO list](#todo)
+
+<a id="intro"></a>
+## Introduction
 
 _MediaElementPlayer: HTML5 `<video>` and `<audio>` player_
 
 A complete HTML/CSS audio/video player built on top `MediaElement.js` and `jQuery`. Many great HTML5 players have a completely separate Flash UI in fallback mode, but MediaElementPlayer.js uses the same HTML/CSS for all players.
 
-## Change Log
+`MediaElement.js` is a set of custom Flash and Silverlight plugins that mimic the HTML5 MediaElement API for browsers that don't support HTML5 or don't support the media codecs you're using. 
+Instead of using Flash as a _fallback_, Flash is used to make the browser seem HTML5 compliant and enable codecs like H.264 (via Flash) and even WMV (via Silverlight) on all browsers.
 
-Changes available at [Change Log](changelog.md)
+<a id="browser-support"></a>
+## Browser and Device support
 
-### 1. Add Script and Stylesheet
-```html
-<script src="jquery.js"></script>
-<script src="mediaelement-and-player.min.js"></script>
-<link rel="stylesheet" href="mediaelementplayer.css" />
-```
-### 2. Add `<video>` or `<audio>` tags
-If your users have JavaScript and/or Flash, the easiest route for all browsers and mobile devices is to use a single MP4 or MP3 file.
-
-```html	
-<video src="myvideo.mp4" width="320" height="240"></video>
-```
-```html	
-<audio src="myaudio.mp3"></audio>
-```
-
-#### Optional: multiple codecs
-This includes multiple codecs for various browsers (H.264 for IE9+, Safari, and Chrome, WebM for Firefox 4 and Opera, Ogg for Firefox 3).
-
-```html
-<video width="320" height="240" poster="poster.jpg" controls="controls" preload="none">
-	<source type="video/mp4" src="myvideo.mp4" />
-	<source type="video/webm" src="myvideo.webm" />
-	<source type="video/ogg" src="myvideo.ogv" />
-</video>
-```
-
-#### Optional: Browsers with JavaScript disabled
-In very rare cases, you might have a non-HTML5 browser with Flash turned on and JavaScript turned off. In that specific case, you can also include the Flash `<object>` code.
-```html
-<video width="320" height="240" poster="poster.jpg" controls="controls" preload="none">
-	<source type="video/mp4" src="myvideo.mp4" />
-	<source type="video/webm" src="myvideo.webm" />
-	<source type="video/ogg" src="myvideo.ogv" />
-	<object width="320" height="240" type="application/x-shockwave-flash" data="flashmediaelement.swf">
-		<param name="movie" value="flashmediaelement.swf" /> 
-		<param name="flashvars" value="controls=true&amp;poster=myvideo.jpg&amp;file=myvideo.mp4" /> 		
-		<img src="myvideo.jpg" width="320" height="240" title="No video playback capabilities" />
-	</object>
-</video>
-```
-
-### 3. Startup
-
-#### Automatic start
-You can avoid running any startup scripts by added `class="mejs-player"` to the `<video>` or `<audio>` tag. Options can be added using the `data-mejsoptions` attribute
-```html	
-<video src="myvideo.mp4" width="320" height="240" 
-		class="mejs-player" 
-		data-mejsoptions='{"alwaysShowControls": true}'></video>
-```
-
-#### Normal JavaScript
-```html
-<script>
-var player = new MediaElementPlayer('#player', {success: function(mediaElement, originalNode) {
-	// do things
-}});
-</script>	
-```
-
-#### jQuery plugin
-```html
-<script>
-$('video').mediaelementplayer({success: function(mediaElement, originalNode) {
-	// do things
-}});
-</script>
-```
-
-## How it Works: 
-_MediaElement.js: HTML5 `<video>` and `<audio>` shim_
+Format | Support
+------ | -------
+**mp4** | Please visit http://caniuse.com/#feat=mpeg4 for comprehensive information
+**webm** | Please visit http://caniuse.com/#feat=webm for comprehensive information
+**mp3** | Please visit http://caniuse.com/#feat=mp3 for comprehensive information
+**m3u8** | Safari and iOS (native); all browsers that support **Flash** (version 10 or later)
+**rtmp/flv** | All browsers that support **Flash** (version 10 or later)
+**wmv/wma** | All browsers that support **Silverlight**
+**YouTube** | All browsers since it uses `iframe` tag
 
-`MediaElement.js` is a set of custom Flash and Silverlight plugins that mimic the HTML5 MediaElement API for browsers that don't support HTML5 or don't support the media codecs you're using. 
-Instead of using Flash as a _fallback_, Flash is used to make the browser seem HTML5 compliant and enable codecs like H.264 (via Flash) and even WMV (via Silverlight) on all browsers.
-```html
-<script src="mediaelement.js"></script>
-<video src="myvideo.mp4" width="320" height="240"></video>
+<a id="installation"></a>
+## Installation and Usage
+
+The full documentation on how to install `MediaElement.js` is available at [Installation](installation.md).
+
+A brief guide on how to create and use instances of `MediaElement` available at [Usage](usage.md).
+
+<a id="api"></a>
+## API and Configuration
+   
+`MediaElement.js` has many options that you can take advantage from. Visit [API and Configuration](api.md) for more details.
 
-<script>
-var v = document.getElementsByTagName("video")[0];
-new MediaElement(v, {success: function(media) {
-	media.play();
-}});
-</script>
-```
-You can use this as a standalone library if you wish, or just stick with the full MediaElementPlayer.
+<a id="guidelines"></a>
+## Guidelines for Contributors
 
-## Building MediaElement.js
+If you want to contribute to improve this package, please read [Guidelines](guidelines.md).
 
-When developing MediaElement, make changes to the files in the `/src/` directory (not `/build/`) and test the changes with `/test/test.html`.
+<a id="changelog"></a>
+## Change Log
+
+Changes available at [Change Log](changelog.md)
 
-To compile the changes
+<a id="todo"></a>
+## TODO list
 
-1. Install `node.js` with `npm` https://nodejs.org/
-2. At the command prompt type `npm install` which will download all the necessary tools
-3. Type `grunt` to build MediaElement.js
-4. To compile the Flash swf, you'll need to install Flex 4.6. See instructions in Gruntfile.js for details.
+New features and pending bugs can be found at [TODO list](TODO.md).

BIN
app/Resources/public/assets/mediaelement/build/flashmediaelement-cdn.swf


BIN
app/Resources/public/assets/mediaelement/build/flashmediaelement-debug.swf


BIN
app/Resources/public/assets/mediaelement/build/flashmediaelement.swf


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 364 - 147
app/Resources/public/assets/mediaelement/build/mediaelement-and-player.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/mediaelement/build/mediaelement-and-player.min.js


+ 157 - 37
app/Resources/public/assets/mediaelement/build/mediaelement.js

@@ -16,7 +16,7 @@
 var mejs = mejs || {};
 
 // version number
-mejs.version = '2.22.0'; 
+mejs.version = '2.23.2';
 
 
 // player number (for missing, same id attr)
@@ -28,7 +28,7 @@ mejs.plugins = {
 		{version: [3,0], types: ['video/mp4','video/m4v','video/mov','video/wmv','audio/wma','audio/m4a','audio/mp3','audio/wav','audio/mpeg']}
 	],
 	flash: [
-		{version: [9,0,124], types: ['video/mp4','video/m4v','video/mov','video/flv','video/rtmp','video/x-flv','audio/flv','audio/x-flv','audio/mp3','audio/m4a','audio/mpeg', 'video/dailymotion', 'video/x-dailymotion', 'application/x-mpegURL']}
+		{version: [9,0,124], types: ['video/mp4','video/m4v','video/mov','video/flv','video/rtmp','video/x-flv','audio/flv','audio/x-flv','audio/mp3','audio/m4a', 'audio/mp4', 'audio/mpeg', 'video/dailymotion', 'video/x-dailymotion', 'application/x-mpegURL', 'audio/ogg']}
 		// 'video/youtube', 'video/x-youtube', 
 		// ,{version: [12,0], types: ['video/webm']} // for future reference (hopefully!)
 	],
@@ -300,7 +300,23 @@ mejs.Utility = {
             return url.substr(0, url.indexOf("://")+3);
         }
         return "//"; // let user agent figure this out
-    }
+    },
+
+	// taken from underscore
+	debounce: function(func, wait, immediate) {
+		var timeout;
+		return function() {
+			var context = this, args = arguments;
+			var later = function() {
+				timeout = null;
+				if (!immediate) func.apply(context, args);
+			};
+			var callNow = immediate && !timeout;
+			clearTimeout(timeout);
+			timeout = setTimeout(later, wait);
+			if (callNow) func.apply(context, args);
+		};
+	}
 };
 
 
@@ -883,7 +899,7 @@ mejs.PluginMediaElement.prototype = {
 		if (this.hasAttribute(name)) {
 			return this.attributes[name];
 		}
-		return '';
+		return null;
 	},
 	setAttribute: function(name, value){
 		this.attributes[name] = value;
@@ -944,6 +960,9 @@ mejs.MediaElementDefaults = {
 	timerRate: 250,
 	// initial volume for player
 	startVolume: 0.8,
+	// custom error message in case media cannot be played; otherwise, Download File
+	// link will be displayed
+	customError: "",
 	success: function () { },
 	error: function () { }
 };
@@ -992,7 +1011,7 @@ mejs.HtmlMediaElementShim = {
 		// test for HTML5 and plugin capabilities
 		playback = this.determinePlayback(htmlMediaElement, options, mejs.MediaFeatures.supportsMediaTag, isMediaTag, src);
 		playback.url = (playback.url !== null) ? mejs.Utility.absolutizeUrl(playback.url) : '';
-        playback.scheme = mejs.Utility.determineScheme(playback.url);
+        	playback.scheme = mejs.Utility.determineScheme(playback.url);
 
 		if (playback.method == 'native') {
 			// second fix for android
@@ -1026,7 +1045,7 @@ mejs.HtmlMediaElementShim = {
 			l,
 			n,
 			type,
-			result = { method: '', url: '', htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() != 'audio'), scheme: ''},
+			result = { method: '', url: '', htmlMediaElement: htmlMediaElement, isVideo: (htmlMediaElement.tagName.toLowerCase() !== 'audio'), scheme: ''},
 			pluginName,
 			pluginVersions,
 			pluginInfo,
@@ -1080,16 +1099,16 @@ mejs.HtmlMediaElementShim = {
 		// STEP 2: Test for playback method
 		
 		// special case for Android which sadly doesn't implement the canPlayType function (always returns '')
-		if (mejs.MediaFeatures.isBustedAndroid) {
+		if (result.isVideo && mejs.MediaFeatures.isBustedAndroid) {
 			htmlMediaElement.canPlayType = function(type) {
 				return (type.match(/video\/(mp4|m4v)/gi) !== null) ? 'maybe' : '';
 			};
 		}		
 		
 		// special case for Chromium to specify natively supported video codecs (i.e. WebM and Theora) 
-		if (mejs.MediaFeatures.isChromium) { 
+		if (result.isVideo && mejs.MediaFeatures.isChromium) {
 			htmlMediaElement.canPlayType = function(type) { 
-				return (type.match(/video\/(webm|ogv|ogg)/gi) !== null) ? 'maybe' : ''; 
+				return (type.match(/video\/(webm|ogv|ogg)/gi) !== null) ? 'maybe' : '';
 			}; 
 		}
 
@@ -1258,7 +1277,7 @@ mejs.HtmlMediaElementShim = {
 				errorContent += '<img src="' + poster + '" width="100%" height="100%" alt="" />';
 			}
 
-			errorContent += '<span>' + mejs.i18n.t('Download File') + '</span></a>';
+			errorContent += '<span>' + mejs.i18n.t('mejs.download-file') + '</span></a>';
 		}
 
 		errorContainer.innerHTML = errorContent;
@@ -1282,7 +1301,7 @@ mejs.HtmlMediaElementShim = {
 			initVars;
 
 		// copy tagName from html media element
-		pluginMediaElement.tagName = htmlMediaElement.tagName
+		pluginMediaElement.tagName = htmlMediaElement.tagName;
 
 		// copy attributes from html media element to plugin media element
 		for (var i = 0; i < htmlMediaElement.attributes.length; i++) {
@@ -1334,10 +1353,21 @@ mejs.HtmlMediaElementShim = {
 		
 		if (playback.method === 'flash' || playback.method === 'silverlight') {
 
+			var canPlayVideo = htmlMediaElement.getAttribute('type') === 'audio/mp4',
+				childrenSources = htmlMediaElement.getElementsByTagName('source');
+
+			if (childrenSources && !canPlayVideo) {
+				for (var i = 0, total = childrenSources.length; i < total; i++) {
+					if (childrenSources[i].getAttribute('type') === 'audio/mp4') {
+						canPlayVideo = true;
+					}
+				}
+			}
+
 			// flash/silverlight vars
 			initVars = [
 				'id=' + pluginid,
-				'isvideo=' + ((playback.isVideo) ? "true" : "false"),
+				'isvideo=' + ((playback.isVideo || canPlayVideo) ? "true" : "false"),
 				'autoplay=' + ((autoplay) ? "true" : "false"),
 				'preload=' + preload,
 				'width=' + width,
@@ -1385,7 +1415,7 @@ mejs.HtmlMediaElementShim = {
 				if (pluginMediaElement.pluginApi != null && pluginMediaElement.success) {
 					pluginMediaElement.success(pluginMediaElement, htmlMediaElement);
 				}
-			}
+			};
 			
 			// event call from plugin
 			window[pluginid + '_event'] = function(eventName, values) {
@@ -1504,7 +1534,8 @@ mejs.HtmlMediaElementShim = {
 						videoId: videoId,
 						height: height,
 						width: width,
-                        scheme: playback.scheme
+                        scheme: playback.scheme,
+						variables: options.youtubeIframeVars
 					};				
 				
 				// favor iframe version of YouTube
@@ -1513,7 +1544,6 @@ mejs.HtmlMediaElementShim = {
 				} else if (mejs.PluginDetector.hasPluginVersion('flash', [10,0,0]) ) {
 					mejs.YouTubeApi.createFlash(youtubeSettings, options);
 				}
-				
 				break;
 			
 			// DEMO Code. Does NOT work.
@@ -1530,19 +1560,19 @@ mejs.HtmlMediaElementShim = {
 		
 						player.playVideo = function() {
 							player.api( 'play' );
-						} 
+						};
 						player.stopVideo = function() {
 							player.api( 'unload' );
-						} 
+						};
 						player.pauseVideo = function() {
 							player.api( 'pause' );
-						} 
+						};
 						player.seekTo = function( seconds ) {
 							player.api( 'seekTo', seconds );
-						}
+						};
 						player.setVolume = function( volume ) {
 							player.api( 'setVolume', volume );
-						}
+						};
 						player.setMuted = function( muted ) {
 							if( muted ) {
 								player.lastVolume = player.api( 'getVolume' );
@@ -1551,11 +1581,11 @@ mejs.HtmlMediaElementShim = {
 								player.api( 'setVolume', player.lastVolume );
 								delete player.lastVolume;
 							}
-						}
+						};
 						// parity with YT player
 						player.getPlayerState = function() {
 							return playerState;
-						}			
+						};
 
 						function createEvent(player, pluginMediaElement, eventName, e) {
 							var event = {
@@ -1694,21 +1724,22 @@ mejs.YouTubeApi = {
 		}
 	},
 	createIframe: function(settings) {
-		
+
 		var
-		pluginMediaElement = settings.pluginMediaElement,	
+		pluginMediaElement = settings.pluginMediaElement,
+		defaultVars = {controls:0, wmode:'transparent'},
 		player = new YT.Player(settings.containerId, {
 			height: settings.height,
 			width: settings.width,
 			videoId: settings.videoId,
-			playerVars: {controls:0,wmode:'transparent'},
+			playerVars: $.extend({}, defaultVars, settings.variables),
 			events: {
-				'onReady': function() {
+				'onReady': function(e) {
 					
 					// wrapper to match
 					player.setVideoSize = function(width, height) {
 						player.setSize(width, height);
-					}
+					};
 					
 					// hook up iframe object to MEjs
 					settings.pluginMediaElement.pluginApi = player;
@@ -1716,11 +1747,17 @@ mejs.YouTubeApi = {
 					
 					// init mejs
 					pluginMediaElement.success(pluginMediaElement, pluginMediaElement.pluginElement);
+
+					mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'canplay');
 					
 					// create timer
 					setInterval(function() {
 						mejs.YouTubeApi.createEvent(player, pluginMediaElement, 'timeupdate');
-					}, 250);					
+					}, 250);
+
+					if (typeof pluginMediaElement.attributes.autoplay !== 'undefined') {
+						player.playVideo();
+					}
 				},
 				'onStateChange': function(e) {
 					
@@ -1844,7 +1881,7 @@ mejs.YouTubeApi = {
 		
 		window[callbackName] = function(e) {
 			mejs.YouTubeApi.handleStateChange(e, player, pluginMediaElement);
-		}
+		};
 		
 		player.addEventListener('onStateChange', callbackName);
 		
@@ -1908,9 +1945,6 @@ window.MediaElement = mejs.MediaElement;
  * This file does not contain translations, you have to add them manually.
  * The schema is always the same: me-i18n-locale-[IETF-language-tag].js
  *
- * Examples are provided both for german and chinese translation.
- *
- *
  * What is the concept beyond i18n?
  *   http://en.wikipedia.org/wiki/Internationalization_and_localization
  *
@@ -1944,6 +1978,7 @@ window.MediaElement = mejs.MediaElement;
     "use strict";
 
     var i18n = {
+        "default": 'en',
         "locale": {
             // Ensure previous values aren't overwritten.
             "language" : (exports.i18n && exports.i18n.locale.language) || '',
@@ -2001,8 +2036,8 @@ window.MediaElement = mejs.MediaElement;
      * Translate strings to the page language or a given language.
      *
      *
-     * @param str
-     *   A string containing the English string to translate.
+     * @param uid
+     *   A string containing a unique id of the translated text to retrieve.
      *
      * @param options
      *   - 'context' (defaults to the default context): The context the source string
@@ -2011,13 +2046,22 @@ window.MediaElement = mejs.MediaElement;
      * @return
      *   The translated string, escaped via i18n.methods.checkPlain()
      */
-    i18n.methods.t = function (str, options) {
+    i18n.methods.t = function (uid, options) {
+        var str;
 
         // Fetch the localized version of the string.
-        if (i18n.locale.strings && i18n.locale.strings[options.context] && i18n.locale.strings[options.context][str]) {
-            str = i18n.locale.strings[options.context][str];
+        if (i18n.locale.strings && i18n.locale.strings[options.context]) {
+            str = i18n.locale.strings[options.context][uid];
+        }
+
+        // Fallback to default language if requested uid is not translated
+        if (!str && i18n.locale.strings && i18n.locale.strings[i18n["default"]]) {
+            str = i18n.locale.strings[i18n["default"]][uid];
         }
 
+        // As a last resort, use the requested uid, to mimic original behavior of i18n utils (in which uid was the english text)
+        str = str || uid;
+
         return i18n.methods.checkPlain(str);
     };
 
@@ -2064,3 +2108,79 @@ window.MediaElement = mejs.MediaElement;
     }
 
 }(mejs.i18n.locale.strings));
+
+/*!
+ * This is a i18n.locale language object.
+ *
+ * English; This can serve as a template for other languages to translate
+ *
+ * @author
+ *   TBD
+ *
+ * @see
+ *   me-i18n.js
+ *
+ * @params
+ *  - exports - CommonJS, window ..
+ */
+;(function(exports, undefined) {
+
+    "use strict";
+
+    if (typeof exports.en === 'undefined') {
+        exports.en = {
+            // me-shim
+            'mejs.download-file': 'Download File',
+
+            // mep-feature-contextmenu
+            'mejs.fullscreen-off': 'Turn off Fullscreen',
+            'mejs.fullscreen-on' : 'Go Fullscreen',
+            // Duplicated from mep-feature-volume
+            // 'mejs.unmute' : 'Unmute',
+            // 'mejs.mute' : 'Mute',
+            'mejs.download-video' : 'Download Video',
+
+            // mep-feature-fullscreen
+            'mejs.fullscreen' : 'Fullscreen',
+
+            // mep-feature-jumpforward
+            'mejs.time-jump-forward': 'Jump forward %1 seconds',
+
+            // mep-feature-playpause
+            'mejs.play': 'Play',
+            'mejs.pause': 'Pause',
+
+            // mep-feature-postroll
+            'mejs.close' : 'Close',
+
+            // mep-feature-progress
+            'mejs.time-slider': 'Time Slider',
+            'mejs.time-help-text': 'Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.',
+
+            // mep-feature-skipback
+            'mejs.time-skip-back': 'Skip back %1 seconds',
+
+            // mep-feature-tracks
+            'mejs.captions-subtitles' : 'Captions/Subtitles',
+            'mejs.none' : 'None',
+
+            // mep-feature-volume
+            'mejs.mute-toggle' : 'Mute Toggle',
+            'mejs.volume-help-text': 'Use Up/Down Arrow keys to increase or decrease volume.',
+            'mejs.unmute' : 'Unmute',
+            'mejs.mute' : 'Mute',
+            'mejs.volume-slider': 'Volume Slider',
+
+            // mep-player
+            'mejs.video-player': 'Video Player',
+            'mejs.audio-player': 'Audio Player',
+            	
+            // mep-feature-ads
+            'mejs.ad-skip': 'Skip ad',
+            'mejs.ad-skip-info': 'Skip in %1 seconds',
+
+            'mejs.source-chooser': 'Source Chooser'
+        };
+    }
+
+}(mejs.i18n.locale.strings));

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/mediaelement/build/mediaelement.min.js


+ 3 - 2
app/Resources/public/assets/mediaelement/build/mediaelementplayer.css

@@ -723,10 +723,12 @@
 }
 
 .mejs-captions-text {
-	padding: 3px 5px;
+	padding: 0;
 	background: url("background.png");
 	background: rgba(20, 20, 20, 0.5);
 	white-space: pre-wrap;
+	-webkit-box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
+	box-shadow: 5px 0 0 rgba(20, 20, 20, 0.5), -5px 0 0 rgba(20, 20, 20, 0.5);
 }
 /* End: Track (Captions and Chapters) */
 
@@ -815,7 +817,6 @@
 }
 
 .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector {
-	visibility: hidden;
 	position: absolute;
 	bottom: 26px;
 	right: -10px;

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 432 - 337
app/Resources/public/assets/mediaelement/build/mediaelementplayer.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/mediaelement/build/mediaelementplayer.min.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/mediaelement/build/mediaelementplayer.min.js


+ 41 - 11
app/Resources/public/assets/mediaelement/changelog.md

@@ -1,9 +1,49 @@
 ### Version History
 
+*2.23.2 (2016/10/01)*
+
+* Added fix for time rail width described on #1356 @ron666
+* Integrated markers feature (https://github.com/johndyer/mediaelement/pull/1814) @hkasera
+* Added French translation for Source Chooser feature (https://github.com/johndyer/mediaelement/pull/1850) @OlivierJaquemet
+* Fixed German translation file (https://github.com/johndyer/mediaelement/pull/1852) @SoftCreatR
+* Add complete list of supported language in translation demo file (https://github.com/johndyer/mediaelement/pull/1853) @OlivierJaquemet
+* Fix for controls when no features are set in the configuration (https://github.com/johndyer/mediaelement/pull/1797) @ron666
+* Fixed issues with translatable elements in several features files that were not being translated properly and fixed typo in Spanish translation @ron666
+* Fixed YouTube loop issue according to @michaelbucklin recommendation @ron666
+* Fixed compilation error when using YUICompressor on i18n file (https://github.com/johndyer/mediaelement/pull/1861) @OlivierJaquemet
+
+*2.23.1 (2016/09/26)*
+
+* Fix documentation in regards of control icons with CSS in different path (https://github.com/johndyer/mediaelement/pull/1837) @jangrewe
+* Added a new element to customize YouTube iframe, to solve #1840 (https://github.com/johndyer/mediaelement/pull/1842) @ron666
+* Fix issues with Chromium not playing audio files properly (https://github.com/johndyer/mediaelement/pull/1843) @ron666
+* Fix for issue related to space bar and Firefox triggering click event, causing issues in Accessibility (https://github.com/johndyer/mediaelement/pull/1848) @ron666
+* Update I18N to use unique id instead of strings (https://github.com/johndyer/mediaelement/pull/1845) @OlivierJaquemet
+* Make the sourcechooser feature keyboard-friendly for Accessibility purposes (https://github.com/johndyer/mediaelement/pull/1841) @tennety
+* Integration of `grunt` task to set translation files inside `/build/` folder (https://github.com/johndyer/mediaelement/pull/1834) @ron666
+
+*2.23.0 (2016/09/06)*
+
+* Changed way to detect fullscreen method by using _onloadstart_ event (https://github.com/johndyer/mediaelement/pull/1815) @ale-grosselle
+* Preserve volume muted when resizing player (https://github.com/johndyer/mediaelement/pull/1813) @ron666
+* Allow double lines of captions, added missing _captions_ type in tracks workflow and minor typo fix (https://github.com/johndyer/mediaelement/pull/1800) @ron666
+* Touch devices controls fix for #1820 (https://github.com/johndyer/mediaelement/issues/603) @ron666
+* Show controls when video is paused or ended (https://github.com/johndyer/mediaelement/pull/1786) @ron666
+* Progress bar variables set properly to fix #1600 (https://github.com/johndyer/mediaelement/pull/1824) @ron666
+* Configurable controls visibility time (https://github.com/johndyer/mediaelement/pull/1787) @ron666
+* Added delay when hovering out of control button (https://github.com/johndyer/mediaelement/pull/1615) @schrolli
+* Added new Grunt task to compile all html5 elements including console messages (https://github.com/johndyer/mediaelement/pull/1614) @schrolli
+* Added call to format time properly when metadata has been loaded (https://github.com/johndyer/mediaelement/pull/1826) @ron666
+* Added time tracker tooltip configuration to enable/disable it (#1692) (https://github.com/johndyer/mediaelement/pull/1830) @ron666
+* Set source properly on YouTube videos properly per @dazweeja's comments (https://github.com/johndyer/mediaelement/pull/1829) @ron666
+* Documentation improvements and addition of TODO list (https://github.com/johndyer/mediaelement/pull/1805) @ron666
+* Added missing error message configuration in documentation and in player settings
+
 *2.22.1 (2016/08/18)*
 
 * Fix wrong parameter sent to defaultSeekForwardInterval and defaultSeekBackwardInterval options (https://github.com/johndyer/mediaelement/pull/1784) @marjune163
 * Fullscreen in Safari Mac must show player skin (https://github.com/johndyer/mediaelement/pull/1794) @ale-grosselle
+* Add missing string to the English locale template https://github.com/johndyer/mediaelement/pull/1782 @ocean90 
 * Fix for aspect ratio when playing Hls Flash video if m3u8 does not have a resolution indicated (#1790) (https://github.com/johndyer/mediaelement/pull/1791) @ale-grosselle
 * Only focus the play button when the control bar is not hidden (https://github.com/johndyer/mediaelement/pull/1798) @schrolli
 * Avoid hiding audio controls when tabbing (#1668) (https://github.com/johndyer/mediaelement/pull/1804) @ron666
@@ -19,7 +59,7 @@
 * Update Flash HLS to accept audio (https://github.com/johndyer/mediaelement/pull/1763) @ale-grosselle
 * Updated Korean translation (#1743) @Jinkwon 
 * Improve video ID parsing for YouTube URLs (https://github.com/johndyer/mediaelement/pull/1774) @ocean90
-* Removed extrainous call to removePlugin @johndyer 
+* Removed extraneous call to removePlugin @johndyer 
 
 *2.21.2 (2016/05/08)*
 
@@ -860,13 +900,3 @@ Fixes and updates
 *1.0.0 (2010/08/09)*
 
 * initial release
-
-
-*Someday/Maybe features*
-
-* deeper WebVTT support (alignment, color, etc.) - include captionator
-* Full support for Ender.js, including mediaelement-and-player-standalone which includes ender.
-* thin line when controls are off
-* system-wide events
-* Ogg/Theora playback
-* Better alignment with native MediaElement (using shimichanga.com techniques)

+ 4 - 4
app/Resources/public/assets/pwstrength-bootstrap/.bower.json

@@ -1,6 +1,6 @@
 {
   "name": "pwstrength-bootstrap",
-  "version": "2.0.2",
+  "version": "2.0.3",
   "homepage": "https://github.com/ablanco/jquery.pwstrength.bootstrap",
   "authors": [
     "Alejandro Blanco <alejandro.b.e@gmail.com>"
@@ -35,11 +35,11 @@
     "Gruntfile.js",
     "package.json"
   ],
-  "_release": "2.0.2",
+  "_release": "2.0.3",
   "_resolution": {
     "type": "version",
-    "tag": "2.0.2",
-    "commit": "cafffc55da15c4e9c2c7ee32fa39231c460ef718"
+    "tag": "2.0.3",
+    "commit": "134e8360142c8be075011424ee3e22a9917ce99c"
   },
   "_source": "https://github.com/ablanco/jquery.pwstrength.bootstrap.git",
   "_target": "*",

+ 1 - 1
app/Resources/public/assets/pwstrength-bootstrap/bower.json

@@ -1,6 +1,6 @@
 {
   "name": "pwstrength-bootstrap",
-  "version": "2.0.2",
+  "version": "2.0.3",
   "homepage": "https://github.com/ablanco/jquery.pwstrength.bootstrap",
   "authors": [
     "Alejandro Blanco <alejandro.b.e@gmail.com>"

+ 1 - 1
app/Resources/public/assets/pwstrength-bootstrap/dist/pwstrength-bootstrap.js

@@ -1,6 +1,6 @@
 /*!
 * jQuery Password Strength plugin for Twitter Bootstrap
-* Version: 2.0.2
+* Version: 2.0.3
 *
 * Copyright (c) 2008-2013 Tane Piper
 * Copyright (c) 2013 Alejandro Blanco

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1 - 1
app/Resources/public/assets/pwstrength-bootstrap/dist/pwstrength-bootstrap.min.js


+ 4 - 4
app/Resources/public/assets/webcamjs/.bower.json

@@ -1,6 +1,6 @@
 {
   "name": "webcamjs",
-  "version": "1.0.15",
+  "version": "1.0.16",
   "homepage": "https://github.com/jhuckaby/webcamjs",
   "authors": [
     "Joseph Huckaby <jhuckaby@gmail.com>"
@@ -21,11 +21,11 @@
     "demos",
     "flash"
   ],
-  "_release": "1.0.15",
+  "_release": "1.0.16",
   "_resolution": {
     "type": "version",
-    "tag": "v1.0.15",
-    "commit": "15b3fedfc1bd5e6cb8b0ed4460ee0f56a8adbfa8"
+    "tag": "v1.0.16",
+    "commit": "d8b625b82df47f7ae70093cd375bf711dea3f1e4"
   },
   "_source": "https://github.com/jhuckaby/webcamjs.git",
   "_target": "1.0.*",

+ 1 - 1
app/Resources/public/assets/webcamjs/bower.json

@@ -1,6 +1,6 @@
 {
   "name": "webcamjs",
-  "version": "1.0.15",
+  "version": "1.0.16",
   "homepage": "https://github.com/jhuckaby/webcamjs",
   "authors": [
     "Joseph Huckaby <jhuckaby@gmail.com>"

+ 1 - 1
app/Resources/public/assets/webcamjs/package.json

@@ -1,6 +1,6 @@
 {
 	"name": "webcamjs",
-	"version": "1.0.15",
+	"version": "1.0.16",
 	"description": "HTML5 Webcam Image Capture Library with Flash Fallback",
 	"author": "Joseph Huckaby <jhuckaby@gmail.com>",
 	"homepage": "https://github.com/jhuckaby/webcamjs",

+ 4 - 3
app/Resources/public/assets/webcamjs/webcam.js

@@ -1,4 +1,4 @@
-// WebcamJS v1.0.15
+// WebcamJS v1.0.16
 // Webcam library for capturing JPEG/PNG images in JavaScript
 // Attempts getUserMedia, falls back to Flash
 // Author: Joseph Huckaby: http://github.com/jhuckaby
@@ -34,7 +34,7 @@ FlashError.prototype = new IntermediateInheritor();
 WebcamError.prototype = new IntermediateInheritor();
 
 var Webcam = {
-	version: '1.0.15',
+	version: '1.0.16',
 	
 	// globals
 	protocol: location.protocol.match(/https/i) ? 'https' : 'http',
@@ -258,7 +258,8 @@ var Webcam = {
 
 		if (this.userMedia !== true) {
 			// call for turn off camera in flash
-			this.getMovie()._releaseCamera();
+			var movie = this.getMovie();
+			if (movie && movie._releaseCamera) movie._releaseCamera();
 		}
 
 		if (this.container) {

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 1
app/Resources/public/assets/webcamjs/webcam.min.js


+ 4 - 4
app/Resources/public/assets/zxcvbn/.bower.json

@@ -31,12 +31,12 @@
     "test"
   ],
   "homepage": "https://github.com/dropbox/zxcvbn",
-  "version": "4.3.0",
-  "_release": "4.3.0",
+  "version": "4.4.0",
+  "_release": "4.4.0",
   "_resolution": {
     "type": "version",
-    "tag": "4.3.0",
-    "commit": "62aca144af8c6ca9651ceaa981a52cce1df4fef1"
+    "tag": "v4.4.0",
+    "commit": "4c3d1c2b4a246cc8d7c81a61e341ad92ce14411b"
   },
   "_source": "https://github.com/dropbox/zxcvbn.git",
   "_target": ">=4.2.0",

+ 1 - 1
app/Resources/public/assets/zxcvbn/LICENSE.txt

@@ -1,4 +1,4 @@
-Copyright (c) 2012-2015 Dan Wheeler and Dropbox, Inc.
+Copyright (c) 2012-2016 Dan Wheeler and Dropbox, Inc.
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the

+ 28 - 23
app/Resources/public/assets/zxcvbn/README.md

@@ -10,17 +10,28 @@ ________________________________________________________________________
 [![Build Status](https://travis-ci.org/dropbox/zxcvbn.svg?branch=master)](https://travis-ci.org/dropbox/zxcvbn)
 [![Sauce Test Status](https://saucelabs.com/browser-matrix/dropbox-zxcvbn.svg)](https://saucelabs.com/u/dropbox-zxcvbn)
 
-`zxcvbn` is a password strength estimator inspired by password crackers. Through pattern matching and conservative entropy calculations, it recognizes and weighs 30k common passwords, common names and surnames according to US census data, popular English words from Wikipedia and US television and movies, and other common patterns like dates, repeats (`aaa`), sequences (`abcd`), keyboard patterns (`qwertyuiop`), and l33t speak.
+`zxcvbn` is a password strength estimator inspired by password crackers. Through pattern matching and conservative estimation, it recognizes and weighs 30k common passwords, common names and surnames according to US census data, popular English words from Wikipedia and US television and movies, and other common patterns like dates, repeats (`aaa`), sequences (`abcd`), keyboard patterns (`qwertyuiop`), and l33t speak.
 
 Consider using zxcvbn as an algorithmic alternative to password composition policy — it is more secure, flexible, and usable when sites require a minimal complexity score in place of annoying rules like "passwords must contain three of {lower, upper, numbers, symbols}".
 
 * __More secure__: policies often fail both ways, allowing weak passwords (`P@ssword1`) and disallowing strong passwords.
 * __More flexible__: zxcvbn allows many password styles to flourish so long as it detects sufficient complexity — passphrases are rated highly given enough uncommon words, keyboard patterns are ranked based on length and number of turns, and capitalization adds more complexity when it's unpredictaBle.
-* __More usable__: Use zxcvbn to build simple, rule-free interfaces that give instant feedback. In addition to scoring, zxcvbn includes minimal, targeted verbal feedback that can help guide users towards less guessable passwords.
+* __More usable__: zxcvbn is designed to power simple, rule-free interfaces that give instant feedback. In addition to strength estimation, zxcvbn includes minimal, targeted verbal feedback that can help guide users towards less guessable passwords.
 
-At Dropbox we use zxcvbn on our [signup page](https://www.dropbox.com/register) and change/reset password flows. zxcvbn is designed for node and the browser, but we use our [python port](https://github.com/dropbox/python-zxcvbn) inside the Dropbox desktop client and [Objective C port](https://github.com/dropbox/zxcvbn-ios) in our iOS app.
+At Dropbox we use zxcvbn ([Release notes](https://github.com/dropbox/zxcvbn/releases)) on our web, desktop, iOS and Android clients. If JavaScript doesn't work for you, others have graciously ported the library to these languages:
 
-[Release notes](https://github.com/dropbox/zxcvbn/releases)
+* [`zxcvbn-c`](https://github.com/tsyrogit/zxcvbn-c) (C/C++)
+* [`zxcvbn4j`](https://github.com/nulab/zxcvbn4j) (Java)
+* [`zxcvbn-ios`](https://github.com/dropbox/zxcvbn-ios) (Objective-C)
+* [`python-zxcvbn`](https://github.com/dropbox/python-zxcvbn) (Python)
+* [`zxcvbn-go`](https://github.com/nbutton23/zxcvbn-go) (Go)
+* [`zxcvbn-ruby`](https://github.com/envato/zxcvbn-ruby) (Ruby)
+* [`zxcvbn-php`](https://github.com/bjeavons/zxcvbn-php) (PHP)
+* [`zxcvbn-cs`](https://github.com/mickford/zxcvbn-cs) (C#/.NET)
+* [`szxcvbn`](https://github.com/tekul/szxcvbn) (Scala)
+
+Integrations with other frameworks:
+* [`angular-zxcvbn`](https://github.com/ghostbar/angular-zxcvbn) (AngularJS)
 
 For more motivation, see:
 
@@ -44,7 +55,7 @@ bower install zxcvbn
 Add this script to your `index.html`:
 
 ``` html
-<script type="text/javascript" src="bower_components/zxcvbn/dist/zxcvbn.js">
+<script src="bower_components/zxcvbn/dist/zxcvbn.js">
 </script>
 ```
 
@@ -56,7 +67,7 @@ To pull in updates and bug fixes:
 bower update zxcvbn
 ```
 
-## Node / npm
+## Node / npm / MeteorJS
 
 zxcvbn works identically on the server.
 
@@ -67,11 +78,6 @@ $ node
 > zxcvbn('Tr0ub4dour&3');
 ```
 
-## Meteor (via [Atmosphere](https://atmospherejs.com/codetheweb/zxcvbn))
-``` shell
-meteor add codetheweb:zxcvbn
-```
-
 ## RequireJS
 
 Add [`zxcvbn.js`](https://raw.githubusercontent.com/dropbox/zxcvbn/master/dist/zxcvbn.js) to your project (using bower, npm or direct download) and import as usual:
@@ -122,8 +128,7 @@ Download [zxcvbn.js](https://raw.githubusercontent.com/dropbox/zxcvbn/master/dis
 Add to your .html:
 
 ``` html
-<script type="text/javascript" src="path/to/zxcvbn.js">
-</script>
+<script type="text/javascript" src="path/to/zxcvbn.js"></script>
 ```
 
 # Usage
@@ -140,7 +145,7 @@ zxcvbn(password, user_inputs=[])
 result.guesses            # estimated guesses needed to crack password
 result.guesses_log10      # order of magnitude of result.guesses
 
-result.crack_time_seconds # dictionary of back-of-the-envelope crack time
+result.crack_times_seconds # dictionary of back-of-the-envelope crack time
                           # estimations, in seconds, based on a few scenarios:
 {
   # online attack on a service that ratelimits password auth attempts.
@@ -163,9 +168,9 @@ result.crack_time_seconds # dictionary of back-of-the-envelope crack time
   offline_fast_hashing_1e10_per_second
 }
 
-result.crack_time_display # same keys as result.crack_time_seconds,
-                          # with friendlier display string values:
-                          # "less than a second", "3 hours", "centuries", etc.
+result.crack_times_display # same keys as result.crack_times_seconds,
+                           # with friendlier display string values:
+                           # "less than a second", "3 hours", "centuries", etc.
 
 result.score      # Integer from 0-4 (useful for implementing a strength bar)
 
@@ -204,19 +209,19 @@ zxcvbn operates below human perception of delay for most input: ~5-20ms for ~25
 
 ## script load latency
 
-`zxcvbn.js` bundled and minified is about 390kb gzipped or 800kb uncompressed, most of which is dictionaries. Consider these tips if you're noticing page load latency on your site.
+`zxcvbn.js` bundled and minified is about 400kB gzipped or 820kB uncompressed, most of which is dictionaries. Consider these tips if you're noticing page load latency on your site.
 
-* Make sure your server is configured to compress static assets for browsers that support it. ([nginx tutorial](https://rtcamp.com/tutorials/nginx/enable-gzip/), [apache/IIS tutorial](http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/).)
+* Make sure your server is configured to compress static assets for browsers that support it. ([nginx tutorial](https://rtcamp.com/tutorials/nginx/enable-gzip/), [Apache/IIS tutorial](http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/).)
 
 Then try one of these alternatives:
 
 1. Put your `<script src="zxcvbn.js">` tag at the end of your html, just before the closing `</body>` tag. This insures your page loads and renders before the browser fetches and loads `zxcvbn.js`. The downside with this approach is `zxcvbn()` becomes available later than had it been included in `<head>` — not an issue on most signup pages where users are filling out other fields first.
 
-2. If you're using requirejs, try loading `zxcvbn.js` separately from your main bundle. Something to watch out for: if `zxcvbn.js` is required inside a keyboard handler waiting for user input, the entire script might be loaded only after the user presses their first key, creating nasty latency. Avoid this by calling your handler once upon page load, independent of user input, such that the `requirejs()` call runs earlier.
+2. If you're using RequireJS, try loading `zxcvbn.js` separately from your main bundle. Something to watch out for: if `zxcvbn.js` is required inside a keyboard handler waiting for user input, the entire script might be loaded only after the user presses their first key, creating nasty latency. Avoid this by calling your handler once upon page load, independent of user input, such that the `requirejs()` call runs earlier.
 
 3. Use the HTML5 [`async`](http://www.w3schools.com/tags/att_script_async.asp) script attribute. Downside: [doesn't work](http://caniuse.com/#feat=script-async) in IE7-9 or Opera Mini.
 
-4. Include an inline `<script>` in `<head>` that asynchronously loads `zxcvbn.js` in the background. Despite the extra code I prefer this over (3) because it works in older browsers.
+4. Include an inline `<script>` in `<head>` that asynchronously loads `zxcvbn.js` in the background. Advantage over (3): it works in older browsers.
 
 ``` javascript
 // cross-browser asynchronous script loading for zxcvbn.
@@ -270,11 +275,11 @@ For node developers, in addition to `dist`, the zxcvbn `npm` module includes a `
 
 [Dropbox](https://dropbox.com) for supporting open source!
 
-Leah Culver and Ryan Pearl for porting zxcvbn to [Objective C](https://github.com/dropbox/zxcvbn-ios) and [python](https://github.com/dropbox/python-zxcvbn).
+Leah Culver and Ryan Pearl for porting zxcvbn to [Objective-C](https://github.com/dropbox/zxcvbn-ios) and [Python](https://github.com/dropbox/python-zxcvbn).
 
 Mark Burnett for releasing his 10M password corpus and for his 2005 book, [Perfect Passwords: Selection, Protection, Authentication](http://www.amazon.com/Perfect-Passwords-Selection-Protection-Authentication/dp/1597490415).
 
-Wiktionary contributors for building a [frequency list of English](http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists) as used in television and movies.
+Wiktionary contributors for building a [frequency list of English words](http://en.wiktionary.org/wiki/Wiktionary:Frequency_lists) as used in television and movies.
 
 Researchers at Concordia University for [studying password estimation rigorously](http://www.concordia.ca/cunews/main/stories/2015/03/25/does-your-password-pass-muster.html) and recommending zxcvbn.
 

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
app/Resources/public/assets/zxcvbn/dist/zxcvbn.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 8 - 8
app/Resources/public/assets/zxcvbn/dist/zxcvbn.js.map


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels