
Must Watch

‘ });
* // => ‘<script>‘
*
* // using the “evaluate” delimiter to execute JavaScript and generate HTML
* var compiled = _.template(‘
* compiled( ‘users’: [‘fred’, ‘barney’] );
* // => ‘
‘
*
* // using the internal `print` function in “evaluate” delimiters
* var compiled = _.template(‘!’);
* compiled( ‘user’: ‘barney’ );
* // => ‘hello barney!’
*
* // using the ES delimiter as an alternative to the default “interpolate” delimiter
* var compiled = _.template(‘hello $ user !’);
* compiled( ‘user’: ‘pebbles’ );
* // => ‘hello pebbles!’
*
* // using custom template delimiters
* _.templateSettings.interpolate = /([sS]+?)/g;
* var compiled = _.template(‘hello user !’);
* compiled( ‘user’: ‘mustache’ );
* // => ‘hello mustache!’
*
* // using backslashes to treat delimiters as plain text
* var compiled = _.template(‘” %>’);
* compiled( ‘value’: ‘ignored’ );
* // => ”
*
* // using the `imports` option to import `jQuery` as `jq`
* var text = ‘
* var compiled = _.template(text, ‘imports’: ‘jq’: jQuery );
* compiled( ‘users’: [‘fred’, ‘barney’] );
* // => ‘
‘
*
* // using the `sourceURL` option to specify a custom sourceURL for the template
* var compiled = _.template(‘hello !’, ‘sourceURL’: ‘/basic/greeting.jst’ );
* compiled(data);
* // => find the source of “greeting.jst” under the Sources tab or Resources panel of the web inspector
*
* // using the `variable` option to ensure a with-statement isn’t used in the compiled template
* var compiled = _.template(‘hi !’, ‘variable’: ‘data’ );
* compiled.source;
* // => function(data)
* // var __t, __p = ”;
* // __p += ‘hi ‘ + ((__t = ( data.user )) == null ? ” : __t) + ‘!’;
* // return __p;
* //
*
* // using the `source` property to inline compiled templates for meaningful
* // line numbers in error messages and a stack trace
* fs.writeFileSync(path.join(cwd, ‘jst.js’), ‘
* var JST =
* “main”: ‘ + _.template(mainText).source + ‘
* ;
* ‘);
*/
function template(string,options,otherOptions)”obj”)+”) (obj = );n”)+”var __t, __p = ””+(isEscaping?”, __e = _.escape”:””)+(isEvaluating?”, __j = Array.prototype.join;nfunction print() __p += __j.call(arguments, ”) n”:”;n”)+source+”return __pn”;var result=attempt(function()return Function(importsKeys,sourceURL+”return “+source).apply(undefined,importsValues));if(
// Provide the compiled function’s source by its `toString` method or
// the `source` property as a convenience for inlining compiled templates.
result.source=source,isError(result))throw result;return result/**
* Removes leading and trailing whitespace or specified characters from `string`.
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to trim.
* @param string [chars=whitespace] The characters to trim.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns string Returns the trimmed string.
* @example
*
* _.trim(‘ abc ‘);
* // => ‘abc’
*
* _.trim(‘-_-abc-_-‘, ‘_-‘);
* // => ‘abc’
*
* _.map([‘ foo ‘, ‘ bar ‘], _.trim);
* // => [‘foo’, ‘bar’]
*/
function trim(string,chars,guard)var value=string;return(string=baseToString(string))?(guard?isIterateeCall(value,chars,guard):null==chars)?string.slice(trimmedLeftIndex(string),trimmedRightIndex(string)+1):(chars+=””,string.slice(charsLeftIndex(string,chars),charsRightIndex(string,chars)+1)):string/**
* Removes leading whitespace or specified characters from `string`.
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to trim.
* @param string [chars=whitespace] The characters to trim.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns string Returns the trimmed string.
* @example
*
* _.trimLeft(‘ abc ‘);
* // => ‘abc ‘
*
* _.trimLeft(‘-_-abc-_-‘, ‘_-‘);
* // => ‘abc-_-‘
*/
function trimLeft(string,chars,guard)var value=string;return string=baseToString(string),string?(guard?isIterateeCall(value,chars,guard):null==chars)?string.slice(trimmedLeftIndex(string)):string.slice(charsLeftIndex(string,chars+””)):string/**
* Removes trailing whitespace or specified characters from `string`.
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to trim.
* @param string [chars=whitespace] The characters to trim.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns string Returns the trimmed string.
* @example
*
* _.trimRight(‘ abc ‘);
* // => ‘ abc’
*
* _.trimRight(‘-_-abc-_-‘, ‘_-‘);
* // => ‘-_-abc’
*/
function trimRight(string,chars,guard)var value=string;return string=baseToString(string),string?(guard?isIterateeCall(value,chars,guard):null==chars)?string.slice(0,trimmedRightIndex(string)+1):string.slice(0,charsRightIndex(string,chars+””)+1):string/**
* Truncates `string` if it’s longer than the given maximum string length.
* The last characters of the truncated string are replaced with the omission
* string which defaults to “…”.
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to truncate.
* @param Object [options] The options object or maximum string length.
* @param number [options.length=30] The maximum string length.
* @param string [options.omission=’…’] The string to indicate text is omitted.
* @param RegExp [options.separator] The separator pattern to truncate to.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns string Returns the truncated string.
* @example
*
* _.trunc(‘hi-diddly-ho there, neighborino’);
* // => ‘hi-diddly-ho there, neighbo…’
*
* _.trunc(‘hi-diddly-ho there, neighborino’, 24);
* // => ‘hi-diddly-ho there, n…’
*
* _.trunc(‘hi-diddly-ho there, neighborino’,
* ‘length’: 24,
* ‘separator’: ‘ ‘
* );
* // => ‘hi-diddly-ho there,…’
*
* _.trunc(‘hi-diddly-ho there, neighborino’,
* ‘length’: 24,
* ‘separator’: /,? +/
* );
* // => ‘hi-diddly-ho there…’
*
* _.trunc(‘hi-diddly-ho there, neighborino’,
* ‘omission’: ‘ […]’
* );
* // => ‘hi-diddly-ho there, neig […]’
*/
function trunc(string,options,guard)guard&&isIterateeCall(string,options,guard)&&(options=undefined);var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(null!=options)if(isObject(options))else length=+options/**
* The inverse of `_.escape`; this method converts the HTML entities
* `&`, “, `”`, `’`, and “` in `string` to their
* corresponding characters.
*
* **Note:** No other HTML entities are unescaped. To unescape additional HTML
* entities use a third-party library like [_he_](https://mths.be/he).
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to unescape.
* @returns string Returns the unescaped string.
* @example
*
* _.unescape(‘fred, barney, & pebbles’);
* // => ‘fred, barney, & pebbles’
*/
function unescape(string)return string=baseToString(string),string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string/**
* Splits `string` into an array of its words.
*
* @static
* @memberOf _
* @category String
* @param string [string=”] The string to inspect.
* @param RegExp [pattern] The pattern to match words.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns Array Returns the words of `string`.
* @example
*
* _.words(‘fred, barney, & pebbles’);
* // => [‘fred’, ‘barney’, ‘pebbles’]
*
* _.words(‘fred, barney, & pebbles’, /[^, ]+/g);
* // => [‘fred’, ‘barney’, ‘&’, ‘pebbles’]
*/
function words(string,pattern,guard)return guard&&isIterateeCall(string,pattern,guard)&&(pattern=undefined),string=baseToString(string),string.match(pattern/**
* Creates a function that invokes `func` with the `this` binding of `thisArg`
* and arguments of the created function. If `func` is a property name the
* created callback returns the property value for a given element. If `func`
* is an object the created callback returns `true` for elements that contain
* the equivalent object properties, otherwise it returns `false`.
*
* @static
* @memberOf _
* @alias iteratee
* @category Utility
* @param * [func=_.identity] The value to convert to a callback.
* @param * [thisArg] The `this` binding of `func`.
* @param- Object [guard] Enables use as a callback for functions like `_.map`.
* @returns Function Returns the callback.
* @example
*
* var users = [
* ‘user’: ‘barney’, ‘age’: 36 ,
* ‘user’: ‘fred’, ‘age’: 40
* ];
*
* // wrap to create custom callback shorthands
* _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
* var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
* if (!match)
* return callback(func, thisArg);
*
* return function(object) {
* return match[2] == ‘gt’
* ? object[match[1]] > match[3]
* : object[match[1]] [ ‘user’: ‘fred’, ‘age’: 40 ]
*/
function callback(func,thisArg,guard)return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=undefined),isObjectLike(func)?matches(func):baseCallback(func,thisArg)/**
* Creates a function that returns `value`.
*
* @static
* @memberOf _
* @category Utility
* @param * value The value to return from the new function.
* @returns Function Returns the new function.
* @example
*
* var object = ‘user’: ‘fred’ ;
* var getter = _.constant(object);
*
* getter() === object;
* // => true
*/
function constant(value)return function()return value/**
* This method returns the first argument provided to it.
*
* @static
* @memberOf _
* @category Utility
* @param * value Any value.
* @returns * Returns `value`.
* @example
*
* var object = ‘user’: ‘fred’ ;
*
* _.identity(object) === object;
* // => true
*/
function identity(value)return value/**
* Creates a function that performs a deep comparison between a given object
* and `source`, returning `true` if the given object has equivalent property
* values, else `false`.
*
* **Note:** This method supports comparing arrays, booleans, `Date` objects,
* numbers, `Object` objects, regexes, and strings. Objects are compared by
* their own, not inherited, enumerable properties. For comparing a single
* own or inherited property value see `_.matchesProperty`.
*
* @static
* @memberOf _
* @category Utility
* @param Object source The object of property values to match.
* @returns Function Returns the new function.
* @example
*
* var users = [
* ‘user’: ‘barney’, ‘age’: 36, ‘active’: true ,
* ‘user’: ‘fred’, ‘age’: 40, ‘active’: false
* ];
*
* _.filter(users, _.matches( ‘age’: 40, ‘active’: false ));
* // => [ ‘user’: ‘fred’, ‘age’: 40, ‘active’: false ]
*/
function matches(source)return baseMatches(baseClone(source,!0))/**
* Creates a function that compares the property value of `path` on a given
* object to `value`.
*
* **Note:** This method supports comparing arrays, booleans, `Date` objects,
* numbers, `Object` objects, regexes, and strings. Objects are compared by
* their own, not inherited, enumerable properties.
*
* @static
* @memberOf _
* @category Utility
* @param Array path The path of the property to get.
* @param * srcValue The value to match.
* @returns Function Returns the new function.
* @example
*
* var users = [
* ‘user’: ‘barney’ ,
* ‘user’: ‘fred’
* ];
*
* _.find(users, _.matchesProperty(‘user’, ‘fred’));
* // => ‘user’: ‘fred’
*/
function matchesProperty(path,srcValue)return baseMatchesProperty(path,baseClone(srcValue,!0))/**
* Adds all own enumerable function properties of a source object to the
* destination object. If `object` is a function then methods are added to
* its prototype as well.
*
* **Note:** Use `_.runInContext` to create a pristine `lodash` function to
* avoid conflicts caused by modifying the original.
*
* @static
* @memberOf _
* @category Utility
* @param Function [object=lodash] The destination object.
* @param Object source The object of functions to add.
* @param Object [options] The options object.
* @param boolean [options.chain=true] Specify whether the functions added
* are chainable.
* @returns Function Returns `object`.
* @example
*
* function vowels(string)
* return _.filter(string, function(v)
* return /[aeiou]/i.test(v);
* );
*
*
* _.mixin( ‘vowels’: vowels );
* _.vowels(‘fred’);
* // => [‘e’]
*
* _(‘fred’).vowels().value();
* // => [‘e’]
*
* _.mixin( ‘vowels’: vowels , ‘chain’: false );
* _(‘fred’).vowels();
* // => [‘e’]
*/
function mixin(object,source,options){if(null==options)(methodNames=!1,options=source,source=object,object=this)methodNames||(methodNames=baseFunctions(source,keys(source)));var chain=!0,index=-1,isFunc=isFunction(object),length=methodNames.length;options===!1?chain=!1:isObject(options)&&”chain”in options&&(chain=options.chain);for(;++index
*/
function noop()/**
* Creates a function that returns the property value at `path` on a
* given object.
*
* @static
* @memberOf _
* @category Utility
* @param Array path The path of the property to get.
* @returns Function Returns the new function.
* @example
*
* var objects = [
* ‘a’: ‘b’: ‘c’: 2 ,
* ‘a’: ‘b’: ‘c’: 1
* ];
*
* _.map(objects, _.property(‘a.b.c’));
* // => [2, 1]
*
* _.pluck(_.sortBy(objects, _.property([‘a’, ‘b’, ‘c’])), ‘a.b.c’);
* // => [1, 2]
*/
function property(path)return isKey(path)?baseProperty(path):basePropertyDeep(path)/**
* The opposite of `_.property`; this method creates a function that returns
* the property value at a given path on `object`.
*
* @static
* @memberOf _
* @category Utility
* @param Object object The object to query.
* @returns Function Returns the new function.
* @example
*
* var array = [0, 1, 2],
* object = ‘a’: array, ‘b’: array, ‘c’: array ;
*
* _.map([‘a[2]’, ‘c[0]’], _.propertyOf(object));
* // => [2, 0]
*
* _.map([[‘a’, ‘2’], [‘c’, ‘0’]], _.propertyOf(object));
* // => [2, 0]
*/
function propertyOf(object)return function(path)return baseGet(object,toPath(path),path+””)/**
* Creates an array of numbers (positive and/or negative) progressing from
* `start` up to, but not including, `end`. If `end` is not specified it is
* set to `start` with `start` then set to `0`. If `end` is less than `start`
* a zero-length range is created unless a negative `step` is specified.
*
* @static
* @memberOf _
* @category Utility
* @param number [start=0] The start of the range.
* @param number end The end of the range.
* @param number [step=1] The value to increment or decrement by.
* @returns Array Returns the new array of numbers.
* @example
*
* _.range(4);
* // => [0, 1, 2, 3]
*
* _.range(1, 5);
* // => [1, 2, 3, 4]
*
* _.range(0, 20, 5);
* // => [0, 5, 10, 15]
*
* _.range(0, -4, -1);
* // => [0, -1, -2, -3]
*
* _.range(1, 4, 0);
* // => [1, 1, 1]
*
* _.range(0);
* // => []
*/
function range(start,end,step)).call(this)).call(exports,__webpack_require__(43)(module),function()return this())},/* 43 */
/***/
function(module,exports)module.exports=function(module),/* 44 */
/***/
function(module,exports,__webpack_require__)/*jslint browser: true*/
“use strict”;__webpack_require__(45);var LightMngrMixin=VideoLightMngr:,componentDidMount:function()window.VideoplayerLightMngr&&(this.VideoLightMngr=window.VideoplayerLightMngr);module.exports=LightMngrMixin,/* 45 */
/***/
function(module,exports)/*jslint browser: true*/
“use strict”;var VideoplayerLightMngr,ACTIONS=PAUSE:”PAUSE”,MUTE:”MUTE”,DESTROY:”DESTROY”;VideoplayerLightMngr=function()var player_count=0,max_players=2,players_registry=,findAndExecute=function(id,action)var player;for(var pid in players_registry)if(players_registry.hasOwnProperty(pid)&&pid!==id)switch(player=players_registry[pid],action)case ACTIONS.PAUSE:player.controls.isPlaying()&&player.controls.pause();break;case ACTIONS.MUTE:player.controls.getMute(),destroyOldest=function()var current_player,oldest_player,oldest_pid;for(var pid in players_registry)players_registry.hasOwnProperty(pid)&&(current_player=players_registry[pid],(!oldest_player;returnregisterPlayer:function(id,inst,onDestroy)return players_registry[id]?null:(player_count+=1,players_registry[id]=inst,players_registry[id].registeredAt=new Date,players_registry[id].onDestroy=onDestroy,void(player_count>max_players&&destroyOldest())),removePlayer:function(id)player_count-=1,delete players_registry[id],onPlayback:function(id)findAndExecute(id,ACTIONS.PAUSE),onSound:function(id)findAndExecute(id,ACTIONS.MUTE),getRegistry:function()return players_registry,setMaxPlayers:function(max)max_players=max,function()()]);
Read More News Here Source link