403Webshell
Server IP : 118.139.160.155  /  Your IP : 216.73.217.153
Web Server : Apache
System : Linux sg2plmcpnl504228.prod.sin2.secureserver.net 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User : twll3xqyaqrh ( 9725459)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/twll3xqyaqrh/public_html/Site WP/wp-content/plugins/envira-gallery/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/twll3xqyaqrh/public_html/Site WP/wp-content/plugins/envira-gallery/assets/js/list.js
(function e(t, n, r) { function s(o, u) { if ( ! n[o]) {
			if ( ! t[o]) {
				var a = typeof require == "function" && require; if ( ! u && a) {
					return a( o, ! 0 );
				} if (i) {
					return i( o, ! 0 );
				} var f = new Error( "Cannot find module '" + o + "'" ); throw f.code = "MODULE_NOT_FOUND", f } var l = n[o] = { exports: {} }; t[o][0].call( l.exports, function (e) { var n = t[o][1][e]; return s( n ? n : e ) }, l, l.exports, e, t, n, r ) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++) {
	s( r[o] );
				} return s })(
					{
						1: [function (require, module, exports) {
							/*
							List.js 1.1.1
							By Jonny Strömberg (www.jonnystromberg.com, www.listjs.com)
							*/
							(function (window, undefined) {
								"use strict";

								var document = window.document,
								getByClass   = require( './src/utils/get-by-class' ),
								extend       = require( './src/utils/extend' ),
								indexOf      = require( './src/utils/index-of' ),
								events       = require( './src/utils/events' ),
								toString     = require( './src/utils/to-string' ),
								naturalSort  = require( './src/utils/natural-sort' ),
								classes      = require( './src/utils/classes' ),
								getAttribute = require( './src/utils/get-attribute' ),
								toArray      = require( './src/utils/to-array' );

								var List = function (id, options, values) {

									var self = this,
									init,
									Item     = require( './src/item' )( self ),
									addAsync = require( './src/add-async' )( self );

									init = {
										start: function () {
											self.listClass     = "list";
											self.searchClass   = "search";
											self.sortClass     = "sort";
											self.page          = 10000;
											self.i             = 1;
											self.items         = [];
											self.visibleItems  = [];
											self.matchingItems = [];
											self.searched      = false;
											self.filtered      = false;
											self.searchColumns = undefined;
											self.handlers      = { 'updated': [] };
											self.plugins       = {};
											self.valueNames    = [];
											self.utils         = {
												getByClass: getByClass,
												extend: extend,
												indexOf: indexOf,
												events: events,
												toString: toString,
												naturalSort: naturalSort,
												classes: classes,
												getAttribute: getAttribute,
												toArray: toArray
											};

											self.utils.extend( self, options );

											self.listContainer = (typeof (id) === 'string') ? document.getElementById( id ) : id;
											if ( ! self.listContainer) {
												return; }
											self.list = getByClass( self.listContainer, self.listClass, true );

											self.parse     = require( './src/parse' )( self );
											self.templater = require( './src/templater' )( self );
											self.search    = require( './src/search' )( self );
											self.filter    = require( './src/filter' )( self );
											self.sort      = require( './src/sort' )( self );

											this.handlers();
											this.items();
											self.update();
											this.plugins();
										},
										handlers: function () {
											for (var handler in self.handlers) {
												if (self[handler]) {
													self.on( handler, self[handler] );
												}
											}
										},
										items: function () {
											self.parse( self.list );
											if (values !== undefined) {
												self.add( values );
											}
										},
										plugins: function () {
											for (var i = 0; i < self.plugins.length; i++) {
												var plugin        = self.plugins[i];
												self[plugin.name] = plugin;
												plugin.init( self, List );
											}
										}
									};

									/*
									* Re-parse the List, use if html have changed
									*/
									this.reIndex = function () {
										self.items         = [];
										self.visibleItems  = [];
										self.matchingItems = [];
										self.searched      = false;
										self.filtered      = false;
										self.parse( self.list );
									};

									this.toJSON = function () {
										var json = [];
										for (var i = 0, il = self.items.length; i < il; i++) {
											json.push( self.items[i].values() );
										}
										return json;
									};

									/*
									* Add object to list
									*/
									this.add = function (values, callback) {
										if (values.length === 0) {
											return;
										}
										if (callback) {
											addAsync( values, callback );
											return;
										}
										var added = [],
										notCreate = false;
										if (values[0] === undefined) {
											values = [values];
										}
										for (var i = 0, il = values.length; i < il; i++) {
											var item  = null;
											notCreate = (self.items.length > self.page) ? true : false;
											item      = new Item( values[i], undefined, notCreate );
											self.items.push( item );
											added.push( item );
										}
										self.update();
										return added;
									};

									this.show = function (i, page) {
										this.i    = i;
										this.page = page;
										self.update();
										return self;
									};

									/* Removes object from list.
									* Loops through the list and removes objects where
									* property "valuename" === value
									*/
									this.remove = function (valueName, value, options) {
										var found = 0;
										for (var i = 0, il = self.items.length; i < il; i++) {
											if (self.items[i].values()[valueName] == value) {
												self.templater.remove( self.items[i], options );
												self.items.splice( i, 1 );
												il--;
												i--;
												found++;
											}
										}
										self.update();
										return found;
									};

									/* Gets the objects in the list which
									* property "valueName" === value
									*/
									this.get = function (valueName, value) {
										var matchedItems = [];
										for (var i = 0, il = self.items.length; i < il; i++) {
											var item = self.items[i];
											if (item.values()[valueName] == value) {
												matchedItems.push( item );
											}
										}
										return matchedItems;
									};

									/*
									* Get size of the list
									*/
									this.size = function () {
										return self.items.length;
									};

									/*
									* Removes all items from the list
									*/
									this.clear = function () {
										self.templater.clear();
										self.items = [];
										return self;
									};

									this.on = function (event, callback) {
										self.handlers[event].push( callback );
										return self;
									};

									this.off = function (event, callback) {
										var e     = self.handlers[event];
										var index = indexOf( e, callback );
										if (index > -1) {
											e.splice( index, 1 );
										}
										return self;
									};

									this.trigger = function (event) {
										var i = self.handlers[event].length;
										while (i--) {
											self.handlers[event][i](self);
										}
										return self;
									};

									this.reset = {
										filter: function () {
											var is = self.items,
											il     = is.length;
											while (il--) {
												is[il].filtered = false;
											}
											return self;
										},
										search: function () {
											var is = self.items,
											il     = is.length;
											while (il--) {
												is[il].found = false;
											}
											return self;
										}
									};

									this.update = function () {
										var is = self.items,
										il     = is.length;

										self.visibleItems  = [];
										self.matchingItems = [];
										self.templater.clear();
										for (var i = 0; i < il; i++) {
											if (is[i].matching() && ((self.matchingItems.length + 1) >= self.i && self.visibleItems.length < self.page)) {
												is[i].show();
												self.visibleItems.push( is[i] );
												self.matchingItems.push( is[i] );
											} else if (is[i].matching()) {
												self.matchingItems.push( is[i] );
												is[i].hide();
											} else {
												is[i].hide();
											}
										}
										self.trigger( 'updated' );
										return self;
									};

									init.start();
								};

								// AMD support
								if (typeof define === 'function' && define.amd) {
									define( function () { return List; } );
								}
								module.exports = List;
								window.List    = List;

							})( window );

						}, { "./src/add-async": 2, "./src/filter": 3, "./src/item": 4, "./src/parse": 5, "./src/search": 6, "./src/sort": 7, "./src/templater": 8, "./src/utils/classes": 9, "./src/utils/events": 10, "./src/utils/extend": 11, "./src/utils/get-attribute": 12, "./src/utils/get-by-class": 13, "./src/utils/index-of": 14, "./src/utils/natural-sort": 15, "./src/utils/to-array": 16, "./src/utils/to-string": 17 }], 2: [function (require, module, exports) {
							module.exports = function (list) {
								var addAsync = function (values, callback, items) {
									var valuesToAdd = values.splice( 0, 50 );
									items           = items || [];
									items           = items.concat( list.add( valuesToAdd ) );
									if (values.length > 0) {
										setTimeout(
											function () {
												addAsync( values, callback, items );
											},
											1
										);
									} else {
										list.update();
										callback( items );
									}
								};
								return addAsync;
							};

						}, {}], 3: [function (require, module, exports) {
							module.exports = function (list) {

								// Add handlers
								list.handlers.filterStart    = list.handlers.filterStart || [];
								list.handlers.filterComplete = list.handlers.filterComplete || [];

								return function (filterFunction) {
									list.trigger( 'filterStart' );
									list.i = 1; // Reset paging
									list.reset.filter();
									if (filterFunction === undefined) {
										list.filtered = false;
									} else {
										list.filtered = true;
										var is        = list.items;
										for (var i = 0, il = is.length; i < il; i++) {
											var item = is[i];
											if (filterFunction( item )) {
												item.filtered = true;
											} else {
												item.filtered = false;
											}
										}
									}
									list.update();
									list.trigger( 'filterComplete' );
									return list.visibleItems;
								};
							};

						}, {}], 4: [function (require, module, exports) {
							module.exports = function (list) {
								return function (initValues, element, notCreate) {
									var item = this;

									this._values = {};

									this.found    = false; // Show if list.searched == true and this.found == true
									this.filtered = false;// Show if list.filtered == true and this.filtered == true

									var init = function (initValues, element, notCreate) {
										if (element === undefined) {
											if (notCreate) {
												item.values( initValues, notCreate );
											} else {
												item.values( initValues );
											}
										} else {
											item.elm   = element;
											var values = list.templater.get( item, initValues );
											item.values( values );
										}
									};

									this.values = function (newValues, notCreate) {
										if (newValues !== undefined) {
											for (var name in newValues) {
												item._values[name] = newValues[name];
											}
											if (notCreate !== true) {
												list.templater.set( item, item.values() );
											}
										} else {
											return item._values;
										}
									};

									this.show = function () {
										list.templater.show( item );
									};

									this.hide = function () {
										list.templater.hide( item );
									};

									this.matching = function () {
										return (
										(list.filtered && list.searched && item.found && item.filtered) ||
										(list.filtered && ! list.searched && item.filtered) ||
										( ! list.filtered && list.searched && item.found) ||
										( ! list.filtered && ! list.searched)
										);
									};

									this.visible = function () {
										return (item.elm && (item.elm.parentNode == list.list)) ? true : false;
									};

									init( initValues, element, notCreate );
								};
							};

						}, {}], 5: [function (require, module, exports) {
							module.exports = function (list) {

								var Item = require( './item' )( list );

								var getChildren = function (parent) {
									var nodes = parent.childNodes,
									items     = [];
									for (var i = 0, il = nodes.length; i < il; i++) {
										// Only textnodes have a data attribute
										if (nodes[i].data === undefined) {
											items.push( nodes[i] );
										}
									}
									return items;
								};

								var parse      = function (itemElements, valueNames) {
									for (var i = 0, il = itemElements.length; i < il; i++) {
										list.items.push( new Item( valueNames, itemElements[i] ) );
									}
								};
								var parseAsync = function (itemElements, valueNames) {
									var itemsToIndex = itemElements.splice( 0, 50 ); // TODO: If < 100 items, what happens in IE etc?
									parse( itemsToIndex, valueNames );
									if (itemElements.length > 0) {
										setTimeout(
											function () {
												parseAsync( itemElements, valueNames );
											},
											1
										);
									} else {
										list.update();
										list.trigger( 'parseComplete' );
									}
								};

								list.handlers.parseComplete = list.handlers.parseComplete || [];

								return function () {
									var itemsToIndex = getChildren( list.list ),
									valueNames       = list.valueNames;

									if (list.indexAsync) {
										parseAsync( itemsToIndex, valueNames );
									} else {
										parse( itemsToIndex, valueNames );
									}
								};
							};

						}, { "./item": 4 }], 6: [function (require, module, exports) {
							module.exports = function (list) {
								var item,
								text,
								columns,
								searchString,
								customSearch;

								var prepare = {
									resetList: function () {
										list.i = 1;
										list.templater.clear();
										customSearch = undefined;
									},
									setOptions: function (args) {
										if (args.length == 2 && args[1] instanceof Array) {
											columns = args[1];
										} else if (args.length == 2 && typeof (args[1]) == "function") {
											customSearch = args[1];
										} else if (args.length == 3) {
											columns      = args[1];
											customSearch = args[2];
										}
									},
									setColumns: function () {
										if (list.items.length === 0) {
											return;
										}
										if (columns === undefined) {
											columns = (list.searchColumns === undefined) ? prepare.toArray( list.items[0].values() ) : list.searchColumns;
										}
									},
									setSearchString: function (s) {
										s            = list.utils.toString( s ).toLowerCase();
										s            = s.replace( /[-[\]{}()*+?.,\\^$|#]/g, "\\$&" ); // Escape regular expression characters
										searchString = s;
									},
									toArray: function (values) {
										var tmpColumn = [];
										for (var name in values) {
											tmpColumn.push( name );
										}
										return tmpColumn;
									}
								};
								var search  = {
									list: function () {
										for (var k = 0, kl = list.items.length; k < kl; k++) {
											search.item( list.items[k] );
										}
									},
									item: function (item) {
										item.found = false;
										for (var j = 0, jl = columns.length; j < jl; j++) {
											if (search.values( item.values(), columns[j] )) {
												item.found = true;
												return;
											}
										}
									},
									values: function (values, column) {
										if (values.hasOwnProperty( column )) {
											text = list.utils.toString( values[column] ).toLowerCase();
											if ((searchString !== "") && (text.search( searchString ) > -1)) {
												return true;
											}
										}
										return false;
									},
									reset: function () {
										list.reset.search();
										list.searched = false;
									}
								};

								var searchMethod = function (str) {
									list.trigger( 'searchStart' );

									prepare.resetList();
									prepare.setSearchString( str );
									prepare.setOptions( arguments ); // str, cols|searchFunction, searchFunction
									prepare.setColumns();

									if (searchString === "") {
										search.reset();
									} else {
										list.searched = true;
										if (customSearch) {
											customSearch( searchString, columns );
										} else {
											search.list();
										}
									}

									list.update();
									list.trigger( 'searchComplete' );
									return list.visibleItems;
								};

								list.handlers.searchStart    = list.handlers.searchStart || [];
								list.handlers.searchComplete = list.handlers.searchComplete || [];

								list.utils.events.bind(
									list.utils.getByClass( list.listContainer, list.searchClass ),
									'keyup',
									function (e) {
										var target     = e.target || e.srcElement, // IE have srcElement
										alreadyCleared = (target.value === "" && ! list.searched);
										if ( ! alreadyCleared) { // If oninput already have resetted the list, do nothing
											searchMethod( target.value );
										}
									}
								);

								// Used to detect click on HTML5 clear button
								list.utils.events.bind(
									list.utils.getByClass( list.listContainer, list.searchClass ),
									'input',
									function (e) {
										var target = e.target || e.srcElement;
										if (target.value === "") {
											searchMethod( '' );
										}
									}
								);

								return searchMethod;
							};

						}, {}], 7: [function (require, module, exports) {
							module.exports = function (list) {
								list.sortFunction = list.sortFunction || function (itemA, itemB, options) {
									options.desc = options.order == "desc" ? true : false; // Natural sort uses this format
									return list.utils.naturalSort( itemA.values()[options.valueName], itemB.values()[options.valueName], options );
								};

								var buttons = {
									els: undefined,
									clear: function () {
										for (var i = 0, il = buttons.els.length; i < il; i++) {
											list.utils.classes( buttons.els[i] ).remove( 'asc' );
											list.utils.classes( buttons.els[i] ).remove( 'desc' );
										}
									},
									getOrder: function (btn) {
										var predefinedOrder = list.utils.getAttribute( btn, 'data-order' );
										if (predefinedOrder == "asc" || predefinedOrder == "desc") {
											return predefinedOrder;
										} else if (list.utils.classes( btn ).has( 'desc' )) {
											return "asc";
										} else if (list.utils.classes( btn ).has( 'asc' )) {
											return "desc";
										} else {
											return "asc";
										}
									},
									getInSensitive: function (btn, options) {
										var insensitive = list.utils.getAttribute( btn, 'data-insensitive' );
										if (insensitive === "false") {
											options.insensitive = false;
										} else {
											options.insensitive = true;
										}
									},
									setOrder: function (options) {
										for (var i = 0, il = buttons.els.length; i < il; i++) {
											var btn = buttons.els[i];
											if (list.utils.getAttribute( btn, 'data-sort' ) !== options.valueName) {
												continue;
											}
											var predefinedOrder = list.utils.getAttribute( btn, 'data-order' );
											if (predefinedOrder == "asc" || predefinedOrder == "desc") {
												if (predefinedOrder == options.order) {
													list.utils.classes( btn ).add( options.order );
												}
											} else {
												list.utils.classes( btn ).add( options.order );
											}
										}
									}
								};
								var sort    = function () {
									list.trigger( 'sortStart' );
									var options = {};

									var target = arguments[0].currentTarget || arguments[0].srcElement || undefined;

									if (target) {
										options.valueName = list.utils.getAttribute( target, 'data-sort' );
										buttons.getInSensitive( target, options );
										options.order = buttons.getOrder( target );
									} else {
										options             = arguments[1] || options;
										options.valueName   = arguments[0];
										options.order       = options.order || "asc";
										options.insensitive = (typeof options.insensitive == "undefined") ? true : options.insensitive;
									}
									buttons.clear();
									buttons.setOrder( options );

									options.sortFunction = options.sortFunction || list.sortFunction;
									list.items.sort(
										function (a, b) {
											var mult = (options.order === 'desc') ? -1 : 1;
											return (options.sortFunction( a, b, options ) * mult);
										}
									);
									list.update();
									list.trigger( 'sortComplete' );
								};

								// Add handlers
								list.handlers.sortStart    = list.handlers.sortStart || [];
								list.handlers.sortComplete = list.handlers.sortComplete || [];

								buttons.els = list.utils.getByClass( list.listContainer, list.sortClass );
								list.utils.events.bind( buttons.els, 'click', sort );
								list.on( 'searchStart', buttons.clear );
								list.on( 'filterStart', buttons.clear );

								return sort;
							};

						}, {}], 8: [function (require, module, exports) {
							var Templater = function (list) {
								var itemSource,
								templater = this;

								var init = function () {
									itemSource = templater.getItemSource( list.item );
									itemSource = templater.clearSourceItem( itemSource, list.valueNames );
								};

								this.clearSourceItem = function (el, valueNames) {
									for (var i = 0, il = valueNames.length; i < il; i++) {
										var elm;
										if (valueNames[i].data) {
											for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
												el.setAttribute( 'data-' + valueNames[i].data[j], '' );
											}
										} else if (valueNames[i].attr && valueNames[i].name) {
											elm = list.utils.getByClass( el, valueNames[i].name, true );
											if (elm) {
												elm.setAttribute( valueNames[i].attr, "" );
											}
										} else {
											elm = list.utils.getByClass( el, valueNames[i], true );
											if (elm) {
												elm.innerHTML = "";
											}
										}
										elm = undefined;
									}
									return el;
								};

								this.getItemSource = function (item) {
									if (item === undefined) {
										var nodes = list.list.childNodes,
										items     = [];

										for (var i = 0, il = nodes.length; i < il; i++) {
											// Only textnodes have a data attribute
											if (nodes[i].data === undefined) {
												return nodes[i].cloneNode( true );
											}
										}
									} else if (/^tr[\s>]/.exec( item )) {
										var table       = document.createElement( 'table' );
										table.innerHTML = item;
										return table.firstChild;
									} else if (item.indexOf( "<" ) !== -1) {
										var div       = document.createElement( 'div' );
										div.innerHTML = item;
										return div.firstChild;
									} else {
										var source = document.getElementById( list.item );
										if (source) {
											return source;
										}
									}
									throw new Error( "The list need to have at list one item on init otherwise you'll have to add a template." );
								};

								this.get = function (item, valueNames) {
									templater.create( item );
									var values = {};
									for (var i = 0, il = valueNames.length; i < il; i++) {
										var elm;
										if (valueNames[i].data) {
											for (var j = 0, jl = valueNames[i].data.length; j < jl; j++) {
												values[valueNames[i].data[j]] = list.utils.getAttribute( item.elm, 'data-' + valueNames[i].data[j] );
											}
										} else if (valueNames[i].attr && valueNames[i].name) {
											elm                        = list.utils.getByClass( item.elm, valueNames[i].name, true );
											values[valueNames[i].name] = elm ? list.utils.getAttribute( elm, valueNames[i].attr ) : "";
										} else {
											elm                   = list.utils.getByClass( item.elm, valueNames[i], true );
											values[valueNames[i]] = elm ? elm.innerHTML : "";
										}
										elm = undefined;
									}
									return values;
								};

								this.set = function (item, values) {
									var getValueName = function (name) {
										for (var i = 0, il = list.valueNames.length; i < il; i++) {
											if (list.valueNames[i].data) {
												var data = list.valueNames[i].data;
												for (var j = 0, jl = data.length; j < jl; j++) {
													if (data[j] === name) {
														return { data: name };
													}
												}
											} else if (list.valueNames[i].attr && list.valueNames[i].name && list.valueNames[i].name == name) {
												return list.valueNames[i];
											} else if (list.valueNames[i] === name) {
												return name;
											}
										}
									};
									var setValue     = function (name, value) {
										var elm;
										var valueName = getValueName( name );
										if ( ! valueName) {
											return;
										}
										if (valueName.data) {
											item.elm.setAttribute( 'data-' + valueName.data, value );
										} else if (valueName.attr && valueName.name) {
											elm = list.utils.getByClass( item.elm, valueName.name, true );
											if (elm) {
												elm.setAttribute( valueName.attr, value );
											}
										} else {
											elm = list.utils.getByClass( item.elm, valueName, true );
											if (elm) {
												elm.innerHTML = value;
											}
										}
										elm = undefined;
									};
									if ( ! templater.create( item )) {
										for (var v in values) {
											if (values.hasOwnProperty( v )) {
												setValue( v, values[v] );
											}
										}
									}
								};

								this.create = function (item) {
									if (item.elm !== undefined) {
										return false;
									}
									/* If item source does not exists, use the first item in list as
									source for new items */
									var newItem = itemSource.cloneNode( true );
									newItem.removeAttribute( 'id' );
									item.elm = newItem;
									templater.set( item, item.values() );
									return true;
								};
								this.remove = function (item) {
									if (item.elm.parentNode === list.list) {
										list.list.removeChild( item.elm );
									}
								};
								this.show   = function (item) {
									templater.create( item );
									list.list.appendChild( item.elm );
								};
								this.hide   = function (item) {
									if (item.elm !== undefined && item.elm.parentNode === list.list) {
										list.list.removeChild( item.elm );
									}
								};
								this.clear  = function () {
									/* .innerHTML = ''; fucks up IE */
									if (list.list.hasChildNodes()) {
										while (list.list.childNodes.length >= 1) {
											list.list.removeChild( list.list.firstChild );
										}
									}
								};

								init();
							};

							module.exports = function (list) {
								return new Templater( list );
							};

						}, {}], 9: [function (require, module, exports) {
							/**
							 * Module dependencies.
							 */

							var index = require( './index-of' );

							/**
							 * Whitespace regexp.
							 */

							var re = /\s+/;

							/**
							 * toString reference.
							 */

							var toString = Object.prototype.toString;

							/**
							* Wrap `el` in a `ClassList`.
							*
							* @param {Element} el
							* @return {ClassList}
							* @api public
							*/

							module.exports = function (el) {
								return new ClassList( el );
							};

							/**
							 * Initialize a new ClassList for `el`.
							 *
							 * @param {Element} el
							 * @api private
							 */

							function ClassList(el) {
								if ( ! el || ! el.nodeType) {
									throw new Error( 'A DOM element reference is required' );
								}
								this.el   = el;
								this.list = el.classList;
							}

							/**
							 * Add class `name` if not already present.
							 *
							 * @param {String} name
							 * @return {ClassList}
							 * @api public
							 */

							ClassList.prototype.add = function (name) {
								// classList
								if (this.list) {
									this.list.add( name );
									return this;
								}

								// fallback
								var arr = this.array();
								var i   = index( arr, name );
								if ( ! ~i) {
									arr.push( name );
								}
								this.el.className = arr.join( ' ' );
								return this;
							};

							/**
							 * Remove class `name` when present, or
							 * pass a regular expression to remove
							 * any which match.
							 *
							 * @param {String|RegExp} name
							 * @return {ClassList}
							 * @api public
							 */

							ClassList.prototype.remove = function (name) {
								if ('[object RegExp]' == toString.call( name )) {
									return this.removeMatching( name );
								}

								// classList
								if (this.list) {
									this.list.remove( name );
									return this;
								}

								// fallback
								var arr = this.array();
								var i   = index( arr, name );
								if (~i) {
									arr.splice( i, 1 );
								}
								this.el.className = arr.join( ' ' );
								return this;
							};

							/**
							 * Remove all classes matching `re`.
							 *
							 * @param {RegExp} re
							 * @return {ClassList}
							 * @api private
							 */

							ClassList.prototype.removeMatching = function (re) {
								var arr = this.array();
								for (var i = 0; i < arr.length; i++) {
									if (re.test( arr[i] )) {
										this.remove( arr[i] );
									}
								}
								return this;
							};

							/**
							 * Toggle class `name`, can force state via `force`.
							 *
							 * For browsers that support classList, but do not support `force` yet,
							 * the mistake will be detected and corrected.
							 *
							 * @param {String} name
							 * @param {Boolean} force
							 * @return {ClassList}
							 * @api public
							 */

							ClassList.prototype.toggle = function (name, force) {
								// classList
								if (this.list) {
									if ("undefined" !== typeof force) {
										if (force !== this.list.toggle( name, force )) {
											this.list.toggle( name ); // toggle again to correct
										}
									} else {
										this.list.toggle( name );
									}
									return this;
								}

								// fallback
								if ("undefined" !== typeof force) {
									if ( ! force) {
										this.remove( name );
									} else {
										this.add( name );
									}
								} else {
									if (this.has( name )) {
										this.remove( name );
									} else {
										this.add( name );
									}
								}

								return this;
							};

							/**
							 * Return an array of classes.
							 *
							 * @return {Array}
							 * @api public
							 */

							ClassList.prototype.array = function () {
								var className = this.el.getAttribute( 'class' ) || '';
								var str       = className.replace( /^\s+|\s+$/g, '' );
								var arr       = str.split( re );
								if ('' === arr[0]) {
									arr.shift();
								}
								return arr;
							};

							/**
							 * Check if class `name` is present.
							 *
							 * @param {String} name
							 * @return {ClassList}
							 * @api public
							 */

							ClassList.prototype.has      =
							ClassList.prototype.contains = function (name) {
								return this.list ? this.list.contains( name ) : ! ! ~index( this.array(), name );
							};

						}, { "./index-of": 14 }], 10: [function (require, module, exports) {
							var bind = window.addEventListener ? 'addEventListener' : 'attachEvent',
							unbind   = window.removeEventListener ? 'removeEventListener' : 'detachEvent',
							prefix   = bind !== 'addEventListener' ? 'on' : '',
							toArray  = require( './to-array' );

							/**
							* Bind `el` event `type` to `fn`.
							*
							* @param {Element} el, NodeList, HTMLCollection or Array
							* @param {String} type
							* @param {Function} fn
							* @param {Boolean} capture
							* @api public
							*/

							exports.bind = function (el, type, fn, capture) {
								el = toArray( el );
								for (var i = 0; i < el.length; i++) {
									el[i][bind](prefix + type, fn, capture || false);
								}
							};

							/**
							* Unbind `el` event `type`'s callback `fn`.
							*
							* @param {Element} el, NodeList, HTMLCollection or Array
							* @param {String} type
							* @param {Function} fn
							* @param {Boolean} capture
							* @api public
							*/

							exports.unbind = function (el, type, fn, capture) {
								el = toArray( el );
								for (var i = 0; i < el.length; i++) {
									el[i][unbind](prefix + type, fn, capture || false);
								}
							};

						}, { "./to-array": 16 }], 11: [function (require, module, exports) {
							/*
							* Source: https://github.com/segmentio/extend
							*/

							module.exports = function extend(object) {
								// Takes an unlimited number of extenders.
								var args = Array.prototype.slice.call( arguments, 1 );

								// For each extender, copy their properties on our object.
								for (var i = 0, source; source = args[i]; i++) {
									if ( ! source) {
										continue;
									}
									for (var property in source) {
										object[property] = source[property];
									}
								}

								return object;
							};

						}, {}], 12: [function (require, module, exports) {
							/**
							* A cross-browser implementation of getAttribute.
							* Source found here: http://stackoverflow.com/a/3755343/361337 written by Vivin Paliath
							*
							* Return the value for `attr` at `element`.
							*
							* @param {Element} el
							* @param {String} attr
							* @api public
							*/

							module.exports = function (el, attr) {
								var result = (el.getAttribute && el.getAttribute( attr )) || null;
								if ( ! result) {
									var attrs  = el.attributes;
									var length = attrs.length;
									for (var i = 0; i < length; i++) {
										if (attr[i] !== undefined) {
											if (attr[i].nodeName === attr) {
												result = attr[i].nodeValue;
											}
										}
									}
								}
								return result;
							};

						}, {}], 13: [function (require, module, exports) {
							/**
							* A cross-browser implementation of getElementsByClass.
							* Heavily based on Dustin Diaz's function: http://dustindiaz.com/getelementsbyclass.
							*
							* Find all elements with class `className` inside `container`.
							* Use `single = true` to increase performance in older browsers
							* when only one element is needed.
							*
							* @param {String} className
							* @param {Element} container
							* @param {Boolean} single
							* @api public
							*/

							module.exports = (function () {
								if (document.getElementsByClassName) {
									return function (container, className, single) {
										if (single) {
											return container.getElementsByClassName( className )[0];
										} else {
											return container.getElementsByClassName( className );
										}
									};
								} else if (document.querySelector) {
									return function (container, className, single) {
										className = '.' + className;
										if (single) {
											return container.querySelector( className );
										} else {
											return container.querySelectorAll( className );
										}
									};
								} else {
									return function (container, className, single) {
										var classElements = [],
										tag               = '*';
										if (container === null) {
											container = document;
										}
										var els     = container.getElementsByTagName( tag );
										var elsLen  = els.length;
										var pattern = new RegExp( "(^|\\s)" + className + "(\\s|$)" );
										for (var i = 0, j = 0; i < elsLen; i++) {
											if (pattern.test( els[i].className )) {
												if (single) {
													return els[i];
												} else {
													classElements[j] = els[i];
													j++;
												}
											}
										}
										return classElements;
									};
								}
							})();

						}, {}], 14: [function (require, module, exports) {
							var indexOf = [].indexOf;

							module.exports = function (arr, obj) {
								if (indexOf) {
									return arr.indexOf( obj );
								}
								for (var i = 0; i < arr.length; ++i) {
									if (arr[i] === obj) {
										return i;
									}
								}
								return -1;
							};

						}, {}], 15: [function (require, module, exports) {
							/*
							* Natural Sort algorithm for Javascript - Version 0.8.1 - Released under MIT license
							* Author: Jim Palmer (based on chunking idea from Dave Koelle)
							*/
							module.exports = function (a, b, opts) {
								var re  = /(^([+\-]?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?(?=\D|\s|$))|^0x[\da-fA-F]+$|\d+)/g,
								sre     = /^\s+|\s+$/g,   // trim pre-post whitespace
								snre    = /\s+/g,        // normalize all whitespace to single ' ' character
								dre     = /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
								hre     = /^0x[0-9a-f]+$/i,
								ore     = /^0/,
								options = opts || {},
								i       = function (s) {
									return (options.insensitive && ('' + s).toLowerCase() || '' + s).replace( sre, '' );
								},
								// convert all to strings strip whitespace
								x = i( a ),
								y = i( b ),
								// chunk/tokenize
								xN = x.replace( re, '\0$1\0' ).replace( /\0$/, '' ).replace( /^\0/, '' ).split( '\0' ),
								yN = y.replace( re, '\0$1\0' ).replace( /\0$/, '' ).replace( /^\0/, '' ).split( '\0' ),
								// numeric, hex or date detection
								xD        = parseInt( x.match( hre ), 16 ) || (xN.length !== 1 && Date.parse( x )),
								yD        = parseInt( y.match( hre ), 16 ) || xD && y.match( dre ) && Date.parse( y ) || null,
								normChunk = function (s, l) {
									// normalize spaces; find floats not starting with '0', string or 0 if not defined (Clint Priest)
									return ( ! s.match( ore ) || l == 1) && parseFloat( s ) || s.replace( snre, ' ' ).replace( sre, '' ) || 0;
								},
								oFxNcL, oFyNcL;
								// first try and sort Hex codes or Dates
								if (yD) {
									if (xD < yD) {
										return -1; } else if (xD > yD) {
										return 1; }
								}
								// natural sorting through split numeric strings and default strings
								for (var cLoc = 0, xNl = xN.length, yNl = yN.length, numS = Math.max( xNl, yNl ); cLoc < numS; cLoc++) {
									oFxNcL = normChunk( xN[cLoc] || '', xNl );
									oFyNcL = normChunk( yN[cLoc] || '', yNl );
									// handle numeric vs string comparison - number < string - (Kyle Adams)
									if (isNaN( oFxNcL ) !== isNaN( oFyNcL )) {
										return isNaN( oFxNcL ) ? 1 : -1;
									}
									// if unicode use locale comparison
									if (/[^\x00-\x80]/.test( oFxNcL + oFyNcL ) && oFxNcL.localeCompare) {
										var comp = oFxNcL.localeCompare( oFyNcL );
										return comp / Math.abs( comp );
									}
									if (oFxNcL < oFyNcL) {
										return -1; } else if (oFxNcL > oFyNcL) {
										return 1; }
								}
								return 0;
							};

						}, {}], 16: [function (require, module, exports) {
							/**
							 * Source: https://github.com/timoxley/to-array
							 *
							 * Convert an array-like object into an `Array`.
							 * If `collection` is already an `Array`, then will return a clone of `collection`.
							 *
							 * @param {Array | Mixed} collection An `Array` or array-like object to convert e.g. `arguments` or `NodeList`
							 * @return {Array} Naive conversion of `collection` to a new `Array`.
							 * @api public
							 */

							module.exports = function toArray(collection) {
								if (typeof collection === 'undefined') {
									return [];
								}
								if (collection === null) {
									return [null];
								}
								if (collection === window) {
									return [window];
								}
								if (typeof collection === 'string') {
									return [collection];
								}
								if (isArray( collection )) {
									return collection;
								}
								if (typeof collection.length != 'number') {
									return [collection];
								}
								if (typeof collection === 'function' && collection instanceof Function) {
									return [collection];
								}

								var arr = [];
								for (var i = 0; i < collection.length; i++) {
									if (Object.prototype.hasOwnProperty.call( collection, i ) || i in collection) {
										arr.push( collection[i] );
									}
								}
								if ( ! arr.length) {
									return [];
								}
								return arr;
							};

							function isArray(arr) {
								return Object.prototype.toString.call( arr ) === "[object Array]";
							}

						}, {}], 17: [function (require, module, exports) {
							module.exports = function (s) {
								s = (s === undefined) ? "" : s;
								s = (s === null) ? "" : s;
								s = s.toString();
								return s;
							};

						}, {}]
					},
					{},
					[1]
				);

Youez - 2016 - github.com/yon3zu
LinuXploit