updated node modules
This commit is contained in:
36
nodejs/node_modules/jquery/external/sizzle/LICENSE.txt
generated
vendored
Normal file
36
nodejs/node_modules/jquery/external/sizzle/LICENSE.txt
generated
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
Copyright jQuery Foundation and other contributors, https://jquery.org/
|
||||
|
||||
This software consists of voluntary contributions made by many
|
||||
individuals. For exact contribution history, see the revision history
|
||||
available at https://github.com/jquery/sizzle
|
||||
|
||||
The following license applies to all parts of this software except as
|
||||
documented below:
|
||||
|
||||
====
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
====
|
||||
|
||||
All files located in the node_modules and external directories are
|
||||
externally maintained libraries used by this software which have their
|
||||
own licenses; we recommend you read them, as their terms may differ from
|
||||
the terms above.
|
2217
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.js
generated
vendored
Normal file
2217
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.js
generated
vendored
Normal file
@@ -0,0 +1,2217 @@
|
||||
/*!
|
||||
* Sizzle CSS Selector Engine v2.3.0
|
||||
* https://sizzlejs.com/
|
||||
*
|
||||
* Copyright jQuery Foundation and other contributors
|
||||
* Released under the MIT license
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* Date: 2016-01-04
|
||||
*/
|
||||
(function( window ) {
|
||||
|
||||
var i,
|
||||
support,
|
||||
Expr,
|
||||
getText,
|
||||
isXML,
|
||||
tokenize,
|
||||
compile,
|
||||
select,
|
||||
outermostContext,
|
||||
sortInput,
|
||||
hasDuplicate,
|
||||
|
||||
// Local document vars
|
||||
setDocument,
|
||||
document,
|
||||
docElem,
|
||||
documentIsHTML,
|
||||
rbuggyQSA,
|
||||
rbuggyMatches,
|
||||
matches,
|
||||
contains,
|
||||
|
||||
// Instance-specific data
|
||||
expando = "sizzle" + 1 * new Date(),
|
||||
preferredDoc = window.document,
|
||||
dirruns = 0,
|
||||
done = 0,
|
||||
classCache = createCache(),
|
||||
tokenCache = createCache(),
|
||||
compilerCache = createCache(),
|
||||
sortOrder = function( a, b ) {
|
||||
if ( a === b ) {
|
||||
hasDuplicate = true;
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
|
||||
// Instance methods
|
||||
hasOwn = ({}).hasOwnProperty,
|
||||
arr = [],
|
||||
pop = arr.pop,
|
||||
push_native = arr.push,
|
||||
push = arr.push,
|
||||
slice = arr.slice,
|
||||
// Use a stripped-down indexOf as it's faster than native
|
||||
// https://jsperf.com/thor-indexof-vs-for/5
|
||||
indexOf = function( list, elem ) {
|
||||
var i = 0,
|
||||
len = list.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
if ( list[i] === elem ) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
},
|
||||
|
||||
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
|
||||
|
||||
// Regular expressions
|
||||
|
||||
// http://www.w3.org/TR/css3-selectors/#whitespace
|
||||
whitespace = "[\\x20\\t\\r\\n\\f]",
|
||||
|
||||
// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
|
||||
identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
|
||||
|
||||
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
||||
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
|
||||
// Operator (capture 2)
|
||||
"*([*^$|!~]?=)" + whitespace +
|
||||
// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
|
||||
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
|
||||
"*\\]",
|
||||
|
||||
pseudos = ":(" + identifier + ")(?:\\((" +
|
||||
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
|
||||
// 1. quoted (capture 3; capture 4 or capture 5)
|
||||
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
|
||||
// 2. simple (capture 6)
|
||||
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
|
||||
// 3. anything else (capture 2)
|
||||
".*" +
|
||||
")\\)|)",
|
||||
|
||||
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
|
||||
rwhitespace = new RegExp( whitespace + "+", "g" ),
|
||||
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
|
||||
|
||||
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
|
||||
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
|
||||
|
||||
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
|
||||
|
||||
rpseudo = new RegExp( pseudos ),
|
||||
ridentifier = new RegExp( "^" + identifier + "$" ),
|
||||
|
||||
matchExpr = {
|
||||
"ID": new RegExp( "^#(" + identifier + ")" ),
|
||||
"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
|
||||
"TAG": new RegExp( "^(" + identifier + "|[*])" ),
|
||||
"ATTR": new RegExp( "^" + attributes ),
|
||||
"PSEUDO": new RegExp( "^" + pseudos ),
|
||||
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
|
||||
"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
|
||||
"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
|
||||
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
|
||||
// For use in libraries implementing .is()
|
||||
// We use this for POS matching in `select`
|
||||
"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
|
||||
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
|
||||
},
|
||||
|
||||
rinputs = /^(?:input|select|textarea|button)$/i,
|
||||
rheader = /^h\d$/i,
|
||||
|
||||
rnative = /^[^{]+\{\s*\[native \w/,
|
||||
|
||||
// Easily-parseable/retrievable ID or TAG or CLASS selectors
|
||||
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
|
||||
|
||||
rsibling = /[+~]/,
|
||||
|
||||
// CSS escapes
|
||||
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
||||
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
|
||||
funescape = function( _, escaped, escapedWhitespace ) {
|
||||
var high = "0x" + escaped - 0x10000;
|
||||
// NaN means non-codepoint
|
||||
// Support: Firefox<24
|
||||
// Workaround erroneous numeric interpretation of +"0x"
|
||||
return high !== high || escapedWhitespace ?
|
||||
escaped :
|
||||
high < 0 ?
|
||||
// BMP codepoint
|
||||
String.fromCharCode( high + 0x10000 ) :
|
||||
// Supplemental Plane codepoint (surrogate pair)
|
||||
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
|
||||
},
|
||||
|
||||
// CSS string/identifier serialization
|
||||
// https://drafts.csswg.org/cssom/#common-serializing-idioms
|
||||
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
|
||||
fcssescape = function( ch, asCodePoint ) {
|
||||
if ( asCodePoint ) {
|
||||
|
||||
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
||||
if ( ch === "\0" ) {
|
||||
return "\uFFFD";
|
||||
}
|
||||
|
||||
// Control characters and (dependent upon position) numbers get escaped as code points
|
||||
return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
|
||||
}
|
||||
|
||||
// Other potentially-special ASCII characters get backslash-escaped
|
||||
return "\\" + ch;
|
||||
},
|
||||
|
||||
// Used for iframes
|
||||
// See setDocument()
|
||||
// Removing the function wrapper causes a "Permission Denied"
|
||||
// error in IE
|
||||
unloadHandler = function() {
|
||||
setDocument();
|
||||
},
|
||||
|
||||
disabledAncestor = addCombinator(
|
||||
function( elem ) {
|
||||
return elem.disabled === true;
|
||||
},
|
||||
{ dir: "parentNode", next: "legend" }
|
||||
);
|
||||
|
||||
// Optimize for push.apply( _, NodeList )
|
||||
try {
|
||||
push.apply(
|
||||
(arr = slice.call( preferredDoc.childNodes )),
|
||||
preferredDoc.childNodes
|
||||
);
|
||||
// Support: Android<4.0
|
||||
// Detect silently failing push.apply
|
||||
arr[ preferredDoc.childNodes.length ].nodeType;
|
||||
} catch ( e ) {
|
||||
push = { apply: arr.length ?
|
||||
|
||||
// Leverage slice if possible
|
||||
function( target, els ) {
|
||||
push_native.apply( target, slice.call(els) );
|
||||
} :
|
||||
|
||||
// Support: IE<9
|
||||
// Otherwise append directly
|
||||
function( target, els ) {
|
||||
var j = target.length,
|
||||
i = 0;
|
||||
// Can't trust NodeList.length
|
||||
while ( (target[j++] = els[i++]) ) {}
|
||||
target.length = j - 1;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function Sizzle( selector, context, results, seed ) {
|
||||
var m, i, elem, nid, match, groups, newSelector,
|
||||
newContext = context && context.ownerDocument,
|
||||
|
||||
// nodeType defaults to 9, since context defaults to document
|
||||
nodeType = context ? context.nodeType : 9;
|
||||
|
||||
results = results || [];
|
||||
|
||||
// Return early from calls with invalid selector or context
|
||||
if ( typeof selector !== "string" || !selector ||
|
||||
nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
// Try to shortcut find operations (as opposed to filters) in HTML documents
|
||||
if ( !seed ) {
|
||||
|
||||
if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
|
||||
setDocument( context );
|
||||
}
|
||||
context = context || document;
|
||||
|
||||
if ( documentIsHTML ) {
|
||||
|
||||
// If the selector is sufficiently simple, try using a "get*By*" DOM method
|
||||
// (excepting DocumentFragment context, where the methods don't exist)
|
||||
if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
|
||||
|
||||
// ID selector
|
||||
if ( (m = match[1]) ) {
|
||||
|
||||
// Document context
|
||||
if ( nodeType === 9 ) {
|
||||
if ( (elem = context.getElementById( m )) ) {
|
||||
|
||||
// Support: IE, Opera, Webkit
|
||||
// TODO: identify versions
|
||||
// getElementById can match elements by name instead of ID
|
||||
if ( elem.id === m ) {
|
||||
results.push( elem );
|
||||
return results;
|
||||
}
|
||||
} else {
|
||||
return results;
|
||||
}
|
||||
|
||||
// Element context
|
||||
} else {
|
||||
|
||||
// Support: IE, Opera, Webkit
|
||||
// TODO: identify versions
|
||||
// getElementById can match elements by name instead of ID
|
||||
if ( newContext && (elem = newContext.getElementById( m )) &&
|
||||
contains( context, elem ) &&
|
||||
elem.id === m ) {
|
||||
|
||||
results.push( elem );
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
||||
// Type selector
|
||||
} else if ( match[2] ) {
|
||||
push.apply( results, context.getElementsByTagName( selector ) );
|
||||
return results;
|
||||
|
||||
// Class selector
|
||||
} else if ( (m = match[3]) && support.getElementsByClassName &&
|
||||
context.getElementsByClassName ) {
|
||||
|
||||
push.apply( results, context.getElementsByClassName( m ) );
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
||||
// Take advantage of querySelectorAll
|
||||
if ( support.qsa &&
|
||||
!compilerCache[ selector + " " ] &&
|
||||
(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
|
||||
|
||||
if ( nodeType !== 1 ) {
|
||||
newContext = context;
|
||||
newSelector = selector;
|
||||
|
||||
// qSA looks outside Element context, which is not what we want
|
||||
// Thanks to Andrew Dupont for this workaround technique
|
||||
// Support: IE <=8
|
||||
// Exclude object elements
|
||||
} else if ( context.nodeName.toLowerCase() !== "object" ) {
|
||||
|
||||
// Capture the context ID, setting it first if necessary
|
||||
if ( (nid = context.getAttribute( "id" )) ) {
|
||||
nid = nid.replace( rcssescape, fcssescape );
|
||||
} else {
|
||||
context.setAttribute( "id", (nid = expando) );
|
||||
}
|
||||
|
||||
// Prefix every selector in the list
|
||||
groups = tokenize( selector );
|
||||
i = groups.length;
|
||||
while ( i-- ) {
|
||||
groups[i] = "#" + nid + " " + toSelector( groups[i] );
|
||||
}
|
||||
newSelector = groups.join( "," );
|
||||
|
||||
// Expand context for sibling selectors
|
||||
newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
|
||||
context;
|
||||
}
|
||||
|
||||
if ( newSelector ) {
|
||||
try {
|
||||
push.apply( results,
|
||||
newContext.querySelectorAll( newSelector )
|
||||
);
|
||||
return results;
|
||||
} catch ( qsaError ) {
|
||||
} finally {
|
||||
if ( nid === expando ) {
|
||||
context.removeAttribute( "id" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// All others
|
||||
return select( selector.replace( rtrim, "$1" ), context, results, seed );
|
||||
}
|
||||
|
||||
/**
|
||||
* Create key-value caches of limited size
|
||||
* @returns {function(string, object)} Returns the Object data after storing it on itself with
|
||||
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
|
||||
* deleting the oldest entry
|
||||
*/
|
||||
function createCache() {
|
||||
var keys = [];
|
||||
|
||||
function cache( key, value ) {
|
||||
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
|
||||
if ( keys.push( key + " " ) > Expr.cacheLength ) {
|
||||
// Only keep the most recent entries
|
||||
delete cache[ keys.shift() ];
|
||||
}
|
||||
return (cache[ key + " " ] = value);
|
||||
}
|
||||
return cache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark a function for special use by Sizzle
|
||||
* @param {Function} fn The function to mark
|
||||
*/
|
||||
function markFunction( fn ) {
|
||||
fn[ expando ] = true;
|
||||
return fn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Support testing using an element
|
||||
* @param {Function} fn Passed the created element and returns a boolean result
|
||||
*/
|
||||
function assert( fn ) {
|
||||
var el = document.createElement("fieldset");
|
||||
|
||||
try {
|
||||
return !!fn( el );
|
||||
} catch (e) {
|
||||
return false;
|
||||
} finally {
|
||||
// Remove from its parent by default
|
||||
if ( el.parentNode ) {
|
||||
el.parentNode.removeChild( el );
|
||||
}
|
||||
// release memory in IE
|
||||
el = null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the same handler for all of the specified attrs
|
||||
* @param {String} attrs Pipe-separated list of attributes
|
||||
* @param {Function} handler The method that will be applied
|
||||
*/
|
||||
function addHandle( attrs, handler ) {
|
||||
var arr = attrs.split("|"),
|
||||
i = arr.length;
|
||||
|
||||
while ( i-- ) {
|
||||
Expr.attrHandle[ arr[i] ] = handler;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks document order of two siblings
|
||||
* @param {Element} a
|
||||
* @param {Element} b
|
||||
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
|
||||
*/
|
||||
function siblingCheck( a, b ) {
|
||||
var cur = b && a,
|
||||
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
|
||||
a.sourceIndex - b.sourceIndex;
|
||||
|
||||
// Use IE sourceIndex if available on both nodes
|
||||
if ( diff ) {
|
||||
return diff;
|
||||
}
|
||||
|
||||
// Check if b follows a
|
||||
if ( cur ) {
|
||||
while ( (cur = cur.nextSibling) ) {
|
||||
if ( cur === b ) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return a ? 1 : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a function to use in pseudos for input types
|
||||
* @param {String} type
|
||||
*/
|
||||
function createInputPseudo( type ) {
|
||||
return function( elem ) {
|
||||
var name = elem.nodeName.toLowerCase();
|
||||
return name === "input" && elem.type === type;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a function to use in pseudos for buttons
|
||||
* @param {String} type
|
||||
*/
|
||||
function createButtonPseudo( type ) {
|
||||
return function( elem ) {
|
||||
var name = elem.nodeName.toLowerCase();
|
||||
return (name === "input" || name === "button") && elem.type === type;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a function to use in pseudos for :enabled/:disabled
|
||||
* @param {Boolean} disabled true for :disabled; false for :enabled
|
||||
*/
|
||||
function createDisabledPseudo( disabled ) {
|
||||
// Known :disabled false positives:
|
||||
// IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset)
|
||||
// not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
|
||||
return function( elem ) {
|
||||
|
||||
// Check form elements and option elements for explicit disabling
|
||||
return "label" in elem && elem.disabled === disabled ||
|
||||
"form" in elem && elem.disabled === disabled ||
|
||||
|
||||
// Check non-disabled form elements for fieldset[disabled] ancestors
|
||||
"form" in elem && elem.disabled === false && (
|
||||
// Support: IE6-11+
|
||||
// Ancestry is covered for us
|
||||
elem.isDisabled === disabled ||
|
||||
|
||||
// Otherwise, assume any non-<option> under fieldset[disabled] is disabled
|
||||
/* jshint -W018 */
|
||||
elem.isDisabled !== !disabled &&
|
||||
("label" in elem || !disabledAncestor( elem )) !== disabled
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a function to use in pseudos for positionals
|
||||
* @param {Function} fn
|
||||
*/
|
||||
function createPositionalPseudo( fn ) {
|
||||
return markFunction(function( argument ) {
|
||||
argument = +argument;
|
||||
return markFunction(function( seed, matches ) {
|
||||
var j,
|
||||
matchIndexes = fn( [], seed.length, argument ),
|
||||
i = matchIndexes.length;
|
||||
|
||||
// Match elements found at the specified indexes
|
||||
while ( i-- ) {
|
||||
if ( seed[ (j = matchIndexes[i]) ] ) {
|
||||
seed[j] = !(matches[j] = seed[j]);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks a node for validity as a Sizzle context
|
||||
* @param {Element|Object=} context
|
||||
* @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
|
||||
*/
|
||||
function testContext( context ) {
|
||||
return context && typeof context.getElementsByTagName !== "undefined" && context;
|
||||
}
|
||||
|
||||
// Expose support vars for convenience
|
||||
support = Sizzle.support = {};
|
||||
|
||||
/**
|
||||
* Detects XML nodes
|
||||
* @param {Element|Object} elem An element or a document
|
||||
* @returns {Boolean} True iff elem is a non-HTML XML node
|
||||
*/
|
||||
isXML = Sizzle.isXML = function( elem ) {
|
||||
// documentElement is verified for cases where it doesn't yet exist
|
||||
// (such as loading iframes in IE - #4833)
|
||||
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
|
||||
return documentElement ? documentElement.nodeName !== "HTML" : false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Sets document-related variables once based on the current document
|
||||
* @param {Element|Object} [doc] An element or document object to use to set the document
|
||||
* @returns {Object} Returns the current document
|
||||
*/
|
||||
setDocument = Sizzle.setDocument = function( node ) {
|
||||
var hasCompare, subWindow,
|
||||
doc = node ? node.ownerDocument || node : preferredDoc;
|
||||
|
||||
// Return early if doc is invalid or already selected
|
||||
if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
|
||||
return document;
|
||||
}
|
||||
|
||||
// Update global variables
|
||||
document = doc;
|
||||
docElem = document.documentElement;
|
||||
documentIsHTML = !isXML( document );
|
||||
|
||||
// Support: IE 9-11, Edge
|
||||
// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
|
||||
if ( preferredDoc !== document &&
|
||||
(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
|
||||
|
||||
// Support: IE 11, Edge
|
||||
if ( subWindow.addEventListener ) {
|
||||
subWindow.addEventListener( "unload", unloadHandler, false );
|
||||
|
||||
// Support: IE 9 - 10 only
|
||||
} else if ( subWindow.attachEvent ) {
|
||||
subWindow.attachEvent( "onunload", unloadHandler );
|
||||
}
|
||||
}
|
||||
|
||||
/* Attributes
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
// Support: IE<8
|
||||
// Verify that getAttribute really returns attributes and not properties
|
||||
// (excepting IE8 booleans)
|
||||
support.attributes = assert(function( el ) {
|
||||
el.className = "i";
|
||||
return !el.getAttribute("className");
|
||||
});
|
||||
|
||||
/* getElement(s)By*
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
// Check if getElementsByTagName("*") returns only elements
|
||||
support.getElementsByTagName = assert(function( el ) {
|
||||
el.appendChild( document.createComment("") );
|
||||
return !el.getElementsByTagName("*").length;
|
||||
});
|
||||
|
||||
// Support: IE<9
|
||||
support.getElementsByClassName = rnative.test( document.getElementsByClassName );
|
||||
|
||||
// Support: IE<10
|
||||
// Check if getElementById returns elements by name
|
||||
// The broken getElementById methods don't pick up programmatically-set names,
|
||||
// so use a roundabout getElementsByName test
|
||||
support.getById = assert(function( el ) {
|
||||
docElem.appendChild( el ).id = expando;
|
||||
return !document.getElementsByName || !document.getElementsByName( expando ).length;
|
||||
});
|
||||
|
||||
// ID find and filter
|
||||
if ( support.getById ) {
|
||||
Expr.find["ID"] = function( id, context ) {
|
||||
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
||||
var m = context.getElementById( id );
|
||||
return m ? [ m ] : [];
|
||||
}
|
||||
};
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
var attrId = id.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
return elem.getAttribute("id") === attrId;
|
||||
};
|
||||
};
|
||||
} else {
|
||||
// Support: IE6/7
|
||||
// getElementById is not reliable as a find shortcut
|
||||
delete Expr.find["ID"];
|
||||
|
||||
Expr.filter["ID"] = function( id ) {
|
||||
var attrId = id.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
var node = typeof elem.getAttributeNode !== "undefined" &&
|
||||
elem.getAttributeNode("id");
|
||||
return node && node.value === attrId;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
// Tag
|
||||
Expr.find["TAG"] = support.getElementsByTagName ?
|
||||
function( tag, context ) {
|
||||
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
||||
return context.getElementsByTagName( tag );
|
||||
|
||||
// DocumentFragment nodes don't have gEBTN
|
||||
} else if ( support.qsa ) {
|
||||
return context.querySelectorAll( tag );
|
||||
}
|
||||
} :
|
||||
|
||||
function( tag, context ) {
|
||||
var elem,
|
||||
tmp = [],
|
||||
i = 0,
|
||||
// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
|
||||
results = context.getElementsByTagName( tag );
|
||||
|
||||
// Filter out possible comments
|
||||
if ( tag === "*" ) {
|
||||
while ( (elem = results[i++]) ) {
|
||||
if ( elem.nodeType === 1 ) {
|
||||
tmp.push( elem );
|
||||
}
|
||||
}
|
||||
|
||||
return tmp;
|
||||
}
|
||||
return results;
|
||||
};
|
||||
|
||||
// Class
|
||||
Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
|
||||
if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
|
||||
return context.getElementsByClassName( className );
|
||||
}
|
||||
};
|
||||
|
||||
/* QSA/matchesSelector
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
// QSA and matchesSelector support
|
||||
|
||||
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
|
||||
rbuggyMatches = [];
|
||||
|
||||
// qSa(:focus) reports false when true (Chrome 21)
|
||||
// We allow this because of a bug in IE8/9 that throws an error
|
||||
// whenever `document.activeElement` is accessed on an iframe
|
||||
// So, we allow :focus to pass through QSA all the time to avoid the IE error
|
||||
// See https://bugs.jquery.com/ticket/13378
|
||||
rbuggyQSA = [];
|
||||
|
||||
if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
|
||||
// Build QSA regex
|
||||
// Regex strategy adopted from Diego Perini
|
||||
assert(function( el ) {
|
||||
// Select is set to empty string on purpose
|
||||
// This is to test IE's treatment of not explicitly
|
||||
// setting a boolean content attribute,
|
||||
// since its presence should be enough
|
||||
// https://bugs.jquery.com/ticket/12359
|
||||
docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
|
||||
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
|
||||
"<option selected=''></option></select>";
|
||||
|
||||
// Support: IE8, Opera 11-12.16
|
||||
// Nothing should be selected when empty strings follow ^= or $= or *=
|
||||
// The test attribute must be unknown in Opera but "safe" for WinRT
|
||||
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
||||
if ( el.querySelectorAll("[msallowcapture^='']").length ) {
|
||||
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
||||
}
|
||||
|
||||
// Support: IE8
|
||||
// Boolean attributes and "value" are not treated correctly
|
||||
if ( !el.querySelectorAll("[selected]").length ) {
|
||||
rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
|
||||
}
|
||||
|
||||
// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
|
||||
if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
|
||||
rbuggyQSA.push("~=");
|
||||
}
|
||||
|
||||
// Webkit/Opera - :checked should return selected option elements
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( !el.querySelectorAll(":checked").length ) {
|
||||
rbuggyQSA.push(":checked");
|
||||
}
|
||||
|
||||
// Support: Safari 8+, iOS 8+
|
||||
// https://bugs.webkit.org/show_bug.cgi?id=136851
|
||||
// In-page `selector#id sibling-combinator selector` fails
|
||||
if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
|
||||
rbuggyQSA.push(".#.+[+~]");
|
||||
}
|
||||
});
|
||||
|
||||
assert(function( el ) {
|
||||
el.innerHTML = "<a href='' disabled='disabled'></a>" +
|
||||
"<select disabled='disabled'><option/></select>";
|
||||
|
||||
// Support: Windows 8 Native Apps
|
||||
// The type and name attributes are restricted during .innerHTML assignment
|
||||
var input = document.createElement("input");
|
||||
input.setAttribute( "type", "hidden" );
|
||||
el.appendChild( input ).setAttribute( "name", "D" );
|
||||
|
||||
// Support: IE8
|
||||
// Enforce case-sensitivity of name attribute
|
||||
if ( el.querySelectorAll("[name=d]").length ) {
|
||||
rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
|
||||
}
|
||||
|
||||
// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
|
||||
// IE8 throws error here and will not see later tests
|
||||
if ( el.querySelectorAll(":enabled").length !== 2 ) {
|
||||
rbuggyQSA.push( ":enabled", ":disabled" );
|
||||
}
|
||||
|
||||
// Support: IE9-11+
|
||||
// IE's :disabled selector does not pick up the children of disabled fieldsets
|
||||
docElem.appendChild( el ).disabled = true;
|
||||
if ( el.querySelectorAll(":disabled").length !== 2 ) {
|
||||
rbuggyQSA.push( ":enabled", ":disabled" );
|
||||
}
|
||||
|
||||
// Opera 10-11 does not throw on post-comma invalid pseudos
|
||||
el.querySelectorAll("*,:x");
|
||||
rbuggyQSA.push(",.*:");
|
||||
});
|
||||
}
|
||||
|
||||
if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
|
||||
docElem.webkitMatchesSelector ||
|
||||
docElem.mozMatchesSelector ||
|
||||
docElem.oMatchesSelector ||
|
||||
docElem.msMatchesSelector) )) ) {
|
||||
|
||||
assert(function( el ) {
|
||||
// Check to see if it's possible to do matchesSelector
|
||||
// on a disconnected node (IE 9)
|
||||
support.disconnectedMatch = matches.call( el, "*" );
|
||||
|
||||
// This should fail with an exception
|
||||
// Gecko does not error, returns false instead
|
||||
matches.call( el, "[s!='']:x" );
|
||||
rbuggyMatches.push( "!=", pseudos );
|
||||
});
|
||||
}
|
||||
|
||||
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
|
||||
rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
|
||||
|
||||
/* Contains
|
||||
---------------------------------------------------------------------- */
|
||||
hasCompare = rnative.test( docElem.compareDocumentPosition );
|
||||
|
||||
// Element contains another
|
||||
// Purposefully self-exclusive
|
||||
// As in, an element does not contain itself
|
||||
contains = hasCompare || rnative.test( docElem.contains ) ?
|
||||
function( a, b ) {
|
||||
var adown = a.nodeType === 9 ? a.documentElement : a,
|
||||
bup = b && b.parentNode;
|
||||
return a === bup || !!( bup && bup.nodeType === 1 && (
|
||||
adown.contains ?
|
||||
adown.contains( bup ) :
|
||||
a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
|
||||
));
|
||||
} :
|
||||
function( a, b ) {
|
||||
if ( b ) {
|
||||
while ( (b = b.parentNode) ) {
|
||||
if ( b === a ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
/* Sorting
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
// Document order sorting
|
||||
sortOrder = hasCompare ?
|
||||
function( a, b ) {
|
||||
|
||||
// Flag for duplicate removal
|
||||
if ( a === b ) {
|
||||
hasDuplicate = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Sort on method existence if only one input has compareDocumentPosition
|
||||
var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
|
||||
if ( compare ) {
|
||||
return compare;
|
||||
}
|
||||
|
||||
// Calculate position if both inputs belong to the same document
|
||||
compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
|
||||
a.compareDocumentPosition( b ) :
|
||||
|
||||
// Otherwise we know they are disconnected
|
||||
1;
|
||||
|
||||
// Disconnected nodes
|
||||
if ( compare & 1 ||
|
||||
(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
|
||||
|
||||
// Choose the first element that is related to our preferred document
|
||||
if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
|
||||
return -1;
|
||||
}
|
||||
if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Maintain original order
|
||||
return sortInput ?
|
||||
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
|
||||
0;
|
||||
}
|
||||
|
||||
return compare & 4 ? -1 : 1;
|
||||
} :
|
||||
function( a, b ) {
|
||||
// Exit early if the nodes are identical
|
||||
if ( a === b ) {
|
||||
hasDuplicate = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
var cur,
|
||||
i = 0,
|
||||
aup = a.parentNode,
|
||||
bup = b.parentNode,
|
||||
ap = [ a ],
|
||||
bp = [ b ];
|
||||
|
||||
// Parentless nodes are either documents or disconnected
|
||||
if ( !aup || !bup ) {
|
||||
return a === document ? -1 :
|
||||
b === document ? 1 :
|
||||
aup ? -1 :
|
||||
bup ? 1 :
|
||||
sortInput ?
|
||||
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
|
||||
0;
|
||||
|
||||
// If the nodes are siblings, we can do a quick check
|
||||
} else if ( aup === bup ) {
|
||||
return siblingCheck( a, b );
|
||||
}
|
||||
|
||||
// Otherwise we need full lists of their ancestors for comparison
|
||||
cur = a;
|
||||
while ( (cur = cur.parentNode) ) {
|
||||
ap.unshift( cur );
|
||||
}
|
||||
cur = b;
|
||||
while ( (cur = cur.parentNode) ) {
|
||||
bp.unshift( cur );
|
||||
}
|
||||
|
||||
// Walk down the tree looking for a discrepancy
|
||||
while ( ap[i] === bp[i] ) {
|
||||
i++;
|
||||
}
|
||||
|
||||
return i ?
|
||||
// Do a sibling check if the nodes have a common ancestor
|
||||
siblingCheck( ap[i], bp[i] ) :
|
||||
|
||||
// Otherwise nodes in our document sort first
|
||||
ap[i] === preferredDoc ? -1 :
|
||||
bp[i] === preferredDoc ? 1 :
|
||||
0;
|
||||
};
|
||||
|
||||
return document;
|
||||
};
|
||||
|
||||
Sizzle.matches = function( expr, elements ) {
|
||||
return Sizzle( expr, null, null, elements );
|
||||
};
|
||||
|
||||
Sizzle.matchesSelector = function( elem, expr ) {
|
||||
// Set document vars if needed
|
||||
if ( ( elem.ownerDocument || elem ) !== document ) {
|
||||
setDocument( elem );
|
||||
}
|
||||
|
||||
// Make sure that attribute selectors are quoted
|
||||
expr = expr.replace( rattributeQuotes, "='$1']" );
|
||||
|
||||
if ( support.matchesSelector && documentIsHTML &&
|
||||
!compilerCache[ expr + " " ] &&
|
||||
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
|
||||
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
|
||||
|
||||
try {
|
||||
var ret = matches.call( elem, expr );
|
||||
|
||||
// IE 9's matchesSelector returns false on disconnected nodes
|
||||
if ( ret || support.disconnectedMatch ||
|
||||
// As well, disconnected nodes are said to be in a document
|
||||
// fragment in IE 9
|
||||
elem.document && elem.document.nodeType !== 11 ) {
|
||||
return ret;
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
return Sizzle( expr, document, null, [ elem ] ).length > 0;
|
||||
};
|
||||
|
||||
Sizzle.contains = function( context, elem ) {
|
||||
// Set document vars if needed
|
||||
if ( ( context.ownerDocument || context ) !== document ) {
|
||||
setDocument( context );
|
||||
}
|
||||
return contains( context, elem );
|
||||
};
|
||||
|
||||
Sizzle.attr = function( elem, name ) {
|
||||
// Set document vars if needed
|
||||
if ( ( elem.ownerDocument || elem ) !== document ) {
|
||||
setDocument( elem );
|
||||
}
|
||||
|
||||
var fn = Expr.attrHandle[ name.toLowerCase() ],
|
||||
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
||||
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
|
||||
fn( elem, name, !documentIsHTML ) :
|
||||
undefined;
|
||||
|
||||
return val !== undefined ?
|
||||
val :
|
||||
support.attributes || !documentIsHTML ?
|
||||
elem.getAttribute( name ) :
|
||||
(val = elem.getAttributeNode(name)) && val.specified ?
|
||||
val.value :
|
||||
null;
|
||||
};
|
||||
|
||||
Sizzle.escape = function( sel ) {
|
||||
return (sel + "").replace( rcssescape, fcssescape );
|
||||
};
|
||||
|
||||
Sizzle.error = function( msg ) {
|
||||
throw new Error( "Syntax error, unrecognized expression: " + msg );
|
||||
};
|
||||
|
||||
/**
|
||||
* Document sorting and removing duplicates
|
||||
* @param {ArrayLike} results
|
||||
*/
|
||||
Sizzle.uniqueSort = function( results ) {
|
||||
var elem,
|
||||
duplicates = [],
|
||||
j = 0,
|
||||
i = 0;
|
||||
|
||||
// Unless we *know* we can detect duplicates, assume their presence
|
||||
hasDuplicate = !support.detectDuplicates;
|
||||
sortInput = !support.sortStable && results.slice( 0 );
|
||||
results.sort( sortOrder );
|
||||
|
||||
if ( hasDuplicate ) {
|
||||
while ( (elem = results[i++]) ) {
|
||||
if ( elem === results[ i ] ) {
|
||||
j = duplicates.push( i );
|
||||
}
|
||||
}
|
||||
while ( j-- ) {
|
||||
results.splice( duplicates[ j ], 1 );
|
||||
}
|
||||
}
|
||||
|
||||
// Clear input after sorting to release objects
|
||||
// See https://github.com/jquery/sizzle/pull/225
|
||||
sortInput = null;
|
||||
|
||||
return results;
|
||||
};
|
||||
|
||||
/**
|
||||
* Utility function for retrieving the text value of an array of DOM nodes
|
||||
* @param {Array|Element} elem
|
||||
*/
|
||||
getText = Sizzle.getText = function( elem ) {
|
||||
var node,
|
||||
ret = "",
|
||||
i = 0,
|
||||
nodeType = elem.nodeType;
|
||||
|
||||
if ( !nodeType ) {
|
||||
// If no nodeType, this is expected to be an array
|
||||
while ( (node = elem[i++]) ) {
|
||||
// Do not traverse comment nodes
|
||||
ret += getText( node );
|
||||
}
|
||||
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
|
||||
// Use textContent for elements
|
||||
// innerText usage removed for consistency of new lines (jQuery #11153)
|
||||
if ( typeof elem.textContent === "string" ) {
|
||||
return elem.textContent;
|
||||
} else {
|
||||
// Traverse its children
|
||||
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
|
||||
ret += getText( elem );
|
||||
}
|
||||
}
|
||||
} else if ( nodeType === 3 || nodeType === 4 ) {
|
||||
return elem.nodeValue;
|
||||
}
|
||||
// Do not include comment or processing instruction nodes
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
Expr = Sizzle.selectors = {
|
||||
|
||||
// Can be adjusted by the user
|
||||
cacheLength: 50,
|
||||
|
||||
createPseudo: markFunction,
|
||||
|
||||
match: matchExpr,
|
||||
|
||||
attrHandle: {},
|
||||
|
||||
find: {},
|
||||
|
||||
relative: {
|
||||
">": { dir: "parentNode", first: true },
|
||||
" ": { dir: "parentNode" },
|
||||
"+": { dir: "previousSibling", first: true },
|
||||
"~": { dir: "previousSibling" }
|
||||
},
|
||||
|
||||
preFilter: {
|
||||
"ATTR": function( match ) {
|
||||
match[1] = match[1].replace( runescape, funescape );
|
||||
|
||||
// Move the given value to match[3] whether quoted or unquoted
|
||||
match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
|
||||
|
||||
if ( match[2] === "~=" ) {
|
||||
match[3] = " " + match[3] + " ";
|
||||
}
|
||||
|
||||
return match.slice( 0, 4 );
|
||||
},
|
||||
|
||||
"CHILD": function( match ) {
|
||||
/* matches from matchExpr["CHILD"]
|
||||
1 type (only|nth|...)
|
||||
2 what (child|of-type)
|
||||
3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
|
||||
4 xn-component of xn+y argument ([+-]?\d*n|)
|
||||
5 sign of xn-component
|
||||
6 x of xn-component
|
||||
7 sign of y-component
|
||||
8 y of y-component
|
||||
*/
|
||||
match[1] = match[1].toLowerCase();
|
||||
|
||||
if ( match[1].slice( 0, 3 ) === "nth" ) {
|
||||
// nth-* requires argument
|
||||
if ( !match[3] ) {
|
||||
Sizzle.error( match[0] );
|
||||
}
|
||||
|
||||
// numeric x and y parameters for Expr.filter.CHILD
|
||||
// remember that false/true cast respectively to 0/1
|
||||
match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
|
||||
match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
|
||||
|
||||
// other types prohibit arguments
|
||||
} else if ( match[3] ) {
|
||||
Sizzle.error( match[0] );
|
||||
}
|
||||
|
||||
return match;
|
||||
},
|
||||
|
||||
"PSEUDO": function( match ) {
|
||||
var excess,
|
||||
unquoted = !match[6] && match[2];
|
||||
|
||||
if ( matchExpr["CHILD"].test( match[0] ) ) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Accept quoted arguments as-is
|
||||
if ( match[3] ) {
|
||||
match[2] = match[4] || match[5] || "";
|
||||
|
||||
// Strip excess characters from unquoted arguments
|
||||
} else if ( unquoted && rpseudo.test( unquoted ) &&
|
||||
// Get excess from tokenize (recursively)
|
||||
(excess = tokenize( unquoted, true )) &&
|
||||
// advance to the next closing parenthesis
|
||||
(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
|
||||
|
||||
// excess is a negative index
|
||||
match[0] = match[0].slice( 0, excess );
|
||||
match[2] = unquoted.slice( 0, excess );
|
||||
}
|
||||
|
||||
// Return only captures needed by the pseudo filter method (type and argument)
|
||||
return match.slice( 0, 3 );
|
||||
}
|
||||
},
|
||||
|
||||
filter: {
|
||||
|
||||
"TAG": function( nodeNameSelector ) {
|
||||
var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
|
||||
return nodeNameSelector === "*" ?
|
||||
function() { return true; } :
|
||||
function( elem ) {
|
||||
return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
|
||||
};
|
||||
},
|
||||
|
||||
"CLASS": function( className ) {
|
||||
var pattern = classCache[ className + " " ];
|
||||
|
||||
return pattern ||
|
||||
(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
|
||||
classCache( className, function( elem ) {
|
||||
return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
|
||||
});
|
||||
},
|
||||
|
||||
"ATTR": function( name, operator, check ) {
|
||||
return function( elem ) {
|
||||
var result = Sizzle.attr( elem, name );
|
||||
|
||||
if ( result == null ) {
|
||||
return operator === "!=";
|
||||
}
|
||||
if ( !operator ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
result += "";
|
||||
|
||||
return operator === "=" ? result === check :
|
||||
operator === "!=" ? result !== check :
|
||||
operator === "^=" ? check && result.indexOf( check ) === 0 :
|
||||
operator === "*=" ? check && result.indexOf( check ) > -1 :
|
||||
operator === "$=" ? check && result.slice( -check.length ) === check :
|
||||
operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
|
||||
operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
|
||||
false;
|
||||
};
|
||||
},
|
||||
|
||||
"CHILD": function( type, what, argument, first, last ) {
|
||||
var simple = type.slice( 0, 3 ) !== "nth",
|
||||
forward = type.slice( -4 ) !== "last",
|
||||
ofType = what === "of-type";
|
||||
|
||||
return first === 1 && last === 0 ?
|
||||
|
||||
// Shortcut for :nth-*(n)
|
||||
function( elem ) {
|
||||
return !!elem.parentNode;
|
||||
} :
|
||||
|
||||
function( elem, context, xml ) {
|
||||
var cache, uniqueCache, outerCache, node, nodeIndex, start,
|
||||
dir = simple !== forward ? "nextSibling" : "previousSibling",
|
||||
parent = elem.parentNode,
|
||||
name = ofType && elem.nodeName.toLowerCase(),
|
||||
useCache = !xml && !ofType,
|
||||
diff = false;
|
||||
|
||||
if ( parent ) {
|
||||
|
||||
// :(first|last|only)-(child|of-type)
|
||||
if ( simple ) {
|
||||
while ( dir ) {
|
||||
node = elem;
|
||||
while ( (node = node[ dir ]) ) {
|
||||
if ( ofType ?
|
||||
node.nodeName.toLowerCase() === name :
|
||||
node.nodeType === 1 ) {
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// Reverse direction for :only-* (if we haven't yet done so)
|
||||
start = dir = type === "only" && !start && "nextSibling";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
start = [ forward ? parent.firstChild : parent.lastChild ];
|
||||
|
||||
// non-xml :nth-child(...) stores cache data on `parent`
|
||||
if ( forward && useCache ) {
|
||||
|
||||
// Seek `elem` from a previously-cached index
|
||||
|
||||
// ...in a gzip-friendly way
|
||||
node = parent;
|
||||
outerCache = node[ expando ] || (node[ expando ] = {});
|
||||
|
||||
// Support: IE <9 only
|
||||
// Defend against cloned attroperties (jQuery gh-1709)
|
||||
uniqueCache = outerCache[ node.uniqueID ] ||
|
||||
(outerCache[ node.uniqueID ] = {});
|
||||
|
||||
cache = uniqueCache[ type ] || [];
|
||||
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
|
||||
diff = nodeIndex && cache[ 2 ];
|
||||
node = nodeIndex && parent.childNodes[ nodeIndex ];
|
||||
|
||||
while ( (node = ++nodeIndex && node && node[ dir ] ||
|
||||
|
||||
// Fallback to seeking `elem` from the start
|
||||
(diff = nodeIndex = 0) || start.pop()) ) {
|
||||
|
||||
// When found, cache indexes on `parent` and break
|
||||
if ( node.nodeType === 1 && ++diff && node === elem ) {
|
||||
uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// Use previously-cached element index if available
|
||||
if ( useCache ) {
|
||||
// ...in a gzip-friendly way
|
||||
node = elem;
|
||||
outerCache = node[ expando ] || (node[ expando ] = {});
|
||||
|
||||
// Support: IE <9 only
|
||||
// Defend against cloned attroperties (jQuery gh-1709)
|
||||
uniqueCache = outerCache[ node.uniqueID ] ||
|
||||
(outerCache[ node.uniqueID ] = {});
|
||||
|
||||
cache = uniqueCache[ type ] || [];
|
||||
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
|
||||
diff = nodeIndex;
|
||||
}
|
||||
|
||||
// xml :nth-child(...)
|
||||
// or :nth-last-child(...) or :nth(-last)?-of-type(...)
|
||||
if ( diff === false ) {
|
||||
// Use the same loop as above to seek `elem` from the start
|
||||
while ( (node = ++nodeIndex && node && node[ dir ] ||
|
||||
(diff = nodeIndex = 0) || start.pop()) ) {
|
||||
|
||||
if ( ( ofType ?
|
||||
node.nodeName.toLowerCase() === name :
|
||||
node.nodeType === 1 ) &&
|
||||
++diff ) {
|
||||
|
||||
// Cache the index of each encountered element
|
||||
if ( useCache ) {
|
||||
outerCache = node[ expando ] || (node[ expando ] = {});
|
||||
|
||||
// Support: IE <9 only
|
||||
// Defend against cloned attroperties (jQuery gh-1709)
|
||||
uniqueCache = outerCache[ node.uniqueID ] ||
|
||||
(outerCache[ node.uniqueID ] = {});
|
||||
|
||||
uniqueCache[ type ] = [ dirruns, diff ];
|
||||
}
|
||||
|
||||
if ( node === elem ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Incorporate the offset, then check against cycle size
|
||||
diff -= last;
|
||||
return diff === first || ( diff % first === 0 && diff / first >= 0 );
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
"PSEUDO": function( pseudo, argument ) {
|
||||
// pseudo-class names are case-insensitive
|
||||
// http://www.w3.org/TR/selectors/#pseudo-classes
|
||||
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
||||
// Remember that setFilters inherits from pseudos
|
||||
var args,
|
||||
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
|
||||
Sizzle.error( "unsupported pseudo: " + pseudo );
|
||||
|
||||
// The user may use createPseudo to indicate that
|
||||
// arguments are needed to create the filter function
|
||||
// just as Sizzle does
|
||||
if ( fn[ expando ] ) {
|
||||
return fn( argument );
|
||||
}
|
||||
|
||||
// But maintain support for old signatures
|
||||
if ( fn.length > 1 ) {
|
||||
args = [ pseudo, pseudo, "", argument ];
|
||||
return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
|
||||
markFunction(function( seed, matches ) {
|
||||
var idx,
|
||||
matched = fn( seed, argument ),
|
||||
i = matched.length;
|
||||
while ( i-- ) {
|
||||
idx = indexOf( seed, matched[i] );
|
||||
seed[ idx ] = !( matches[ idx ] = matched[i] );
|
||||
}
|
||||
}) :
|
||||
function( elem ) {
|
||||
return fn( elem, 0, args );
|
||||
};
|
||||
}
|
||||
|
||||
return fn;
|
||||
}
|
||||
},
|
||||
|
||||
pseudos: {
|
||||
// Potentially complex pseudos
|
||||
"not": markFunction(function( selector ) {
|
||||
// Trim the selector passed to compile
|
||||
// to avoid treating leading and trailing
|
||||
// spaces as combinators
|
||||
var input = [],
|
||||
results = [],
|
||||
matcher = compile( selector.replace( rtrim, "$1" ) );
|
||||
|
||||
return matcher[ expando ] ?
|
||||
markFunction(function( seed, matches, context, xml ) {
|
||||
var elem,
|
||||
unmatched = matcher( seed, null, xml, [] ),
|
||||
i = seed.length;
|
||||
|
||||
// Match elements unmatched by `matcher`
|
||||
while ( i-- ) {
|
||||
if ( (elem = unmatched[i]) ) {
|
||||
seed[i] = !(matches[i] = elem);
|
||||
}
|
||||
}
|
||||
}) :
|
||||
function( elem, context, xml ) {
|
||||
input[0] = elem;
|
||||
matcher( input, null, xml, results );
|
||||
// Don't keep the element (issue #299)
|
||||
input[0] = null;
|
||||
return !results.pop();
|
||||
};
|
||||
}),
|
||||
|
||||
"has": markFunction(function( selector ) {
|
||||
return function( elem ) {
|
||||
return Sizzle( selector, elem ).length > 0;
|
||||
};
|
||||
}),
|
||||
|
||||
"contains": markFunction(function( text ) {
|
||||
text = text.replace( runescape, funescape );
|
||||
return function( elem ) {
|
||||
return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
|
||||
};
|
||||
}),
|
||||
|
||||
// "Whether an element is represented by a :lang() selector
|
||||
// is based solely on the element's language value
|
||||
// being equal to the identifier C,
|
||||
// or beginning with the identifier C immediately followed by "-".
|
||||
// The matching of C against the element's language value is performed case-insensitively.
|
||||
// The identifier C does not have to be a valid language name."
|
||||
// http://www.w3.org/TR/selectors/#lang-pseudo
|
||||
"lang": markFunction( function( lang ) {
|
||||
// lang value must be a valid identifier
|
||||
if ( !ridentifier.test(lang || "") ) {
|
||||
Sizzle.error( "unsupported lang: " + lang );
|
||||
}
|
||||
lang = lang.replace( runescape, funescape ).toLowerCase();
|
||||
return function( elem ) {
|
||||
var elemLang;
|
||||
do {
|
||||
if ( (elemLang = documentIsHTML ?
|
||||
elem.lang :
|
||||
elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
|
||||
|
||||
elemLang = elemLang.toLowerCase();
|
||||
return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
|
||||
}
|
||||
} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
|
||||
return false;
|
||||
};
|
||||
}),
|
||||
|
||||
// Miscellaneous
|
||||
"target": function( elem ) {
|
||||
var hash = window.location && window.location.hash;
|
||||
return hash && hash.slice( 1 ) === elem.id;
|
||||
},
|
||||
|
||||
"root": function( elem ) {
|
||||
return elem === docElem;
|
||||
},
|
||||
|
||||
"focus": function( elem ) {
|
||||
return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
|
||||
},
|
||||
|
||||
// Boolean properties
|
||||
"enabled": createDisabledPseudo( false ),
|
||||
"disabled": createDisabledPseudo( true ),
|
||||
|
||||
"checked": function( elem ) {
|
||||
// In CSS3, :checked should return both checked and selected elements
|
||||
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
||||
var nodeName = elem.nodeName.toLowerCase();
|
||||
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
|
||||
},
|
||||
|
||||
"selected": function( elem ) {
|
||||
// Accessing this property makes selected-by-default
|
||||
// options in Safari work properly
|
||||
if ( elem.parentNode ) {
|
||||
elem.parentNode.selectedIndex;
|
||||
}
|
||||
|
||||
return elem.selected === true;
|
||||
},
|
||||
|
||||
// Contents
|
||||
"empty": function( elem ) {
|
||||
// http://www.w3.org/TR/selectors/#empty-pseudo
|
||||
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
|
||||
// but not by others (comment: 8; processing instruction: 7; etc.)
|
||||
// nodeType < 6 works because attributes (2) do not appear as children
|
||||
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
|
||||
if ( elem.nodeType < 6 ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
"parent": function( elem ) {
|
||||
return !Expr.pseudos["empty"]( elem );
|
||||
},
|
||||
|
||||
// Element/input types
|
||||
"header": function( elem ) {
|
||||
return rheader.test( elem.nodeName );
|
||||
},
|
||||
|
||||
"input": function( elem ) {
|
||||
return rinputs.test( elem.nodeName );
|
||||
},
|
||||
|
||||
"button": function( elem ) {
|
||||
var name = elem.nodeName.toLowerCase();
|
||||
return name === "input" && elem.type === "button" || name === "button";
|
||||
},
|
||||
|
||||
"text": function( elem ) {
|
||||
var attr;
|
||||
return elem.nodeName.toLowerCase() === "input" &&
|
||||
elem.type === "text" &&
|
||||
|
||||
// Support: IE<8
|
||||
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
|
||||
( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
|
||||
},
|
||||
|
||||
// Position-in-collection
|
||||
"first": createPositionalPseudo(function() {
|
||||
return [ 0 ];
|
||||
}),
|
||||
|
||||
"last": createPositionalPseudo(function( matchIndexes, length ) {
|
||||
return [ length - 1 ];
|
||||
}),
|
||||
|
||||
"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
|
||||
return [ argument < 0 ? argument + length : argument ];
|
||||
}),
|
||||
|
||||
"even": createPositionalPseudo(function( matchIndexes, length ) {
|
||||
var i = 0;
|
||||
for ( ; i < length; i += 2 ) {
|
||||
matchIndexes.push( i );
|
||||
}
|
||||
return matchIndexes;
|
||||
}),
|
||||
|
||||
"odd": createPositionalPseudo(function( matchIndexes, length ) {
|
||||
var i = 1;
|
||||
for ( ; i < length; i += 2 ) {
|
||||
matchIndexes.push( i );
|
||||
}
|
||||
return matchIndexes;
|
||||
}),
|
||||
|
||||
"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
|
||||
var i = argument < 0 ? argument + length : argument;
|
||||
for ( ; --i >= 0; ) {
|
||||
matchIndexes.push( i );
|
||||
}
|
||||
return matchIndexes;
|
||||
}),
|
||||
|
||||
"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
|
||||
var i = argument < 0 ? argument + length : argument;
|
||||
for ( ; ++i < length; ) {
|
||||
matchIndexes.push( i );
|
||||
}
|
||||
return matchIndexes;
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
Expr.pseudos["nth"] = Expr.pseudos["eq"];
|
||||
|
||||
// Add button/input type pseudos
|
||||
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
|
||||
Expr.pseudos[ i ] = createInputPseudo( i );
|
||||
}
|
||||
for ( i in { submit: true, reset: true } ) {
|
||||
Expr.pseudos[ i ] = createButtonPseudo( i );
|
||||
}
|
||||
|
||||
// Easy API for creating new setFilters
|
||||
function setFilters() {}
|
||||
setFilters.prototype = Expr.filters = Expr.pseudos;
|
||||
Expr.setFilters = new setFilters();
|
||||
|
||||
tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
|
||||
var matched, match, tokens, type,
|
||||
soFar, groups, preFilters,
|
||||
cached = tokenCache[ selector + " " ];
|
||||
|
||||
if ( cached ) {
|
||||
return parseOnly ? 0 : cached.slice( 0 );
|
||||
}
|
||||
|
||||
soFar = selector;
|
||||
groups = [];
|
||||
preFilters = Expr.preFilter;
|
||||
|
||||
while ( soFar ) {
|
||||
|
||||
// Comma and first run
|
||||
if ( !matched || (match = rcomma.exec( soFar )) ) {
|
||||
if ( match ) {
|
||||
// Don't consume trailing commas as valid
|
||||
soFar = soFar.slice( match[0].length ) || soFar;
|
||||
}
|
||||
groups.push( (tokens = []) );
|
||||
}
|
||||
|
||||
matched = false;
|
||||
|
||||
// Combinators
|
||||
if ( (match = rcombinators.exec( soFar )) ) {
|
||||
matched = match.shift();
|
||||
tokens.push({
|
||||
value: matched,
|
||||
// Cast descendant combinators to space
|
||||
type: match[0].replace( rtrim, " " )
|
||||
});
|
||||
soFar = soFar.slice( matched.length );
|
||||
}
|
||||
|
||||
// Filters
|
||||
for ( type in Expr.filter ) {
|
||||
if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
|
||||
(match = preFilters[ type ]( match ))) ) {
|
||||
matched = match.shift();
|
||||
tokens.push({
|
||||
value: matched,
|
||||
type: type,
|
||||
matches: match
|
||||
});
|
||||
soFar = soFar.slice( matched.length );
|
||||
}
|
||||
}
|
||||
|
||||
if ( !matched ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Return the length of the invalid excess
|
||||
// if we're just parsing
|
||||
// Otherwise, throw an error or return tokens
|
||||
return parseOnly ?
|
||||
soFar.length :
|
||||
soFar ?
|
||||
Sizzle.error( selector ) :
|
||||
// Cache the tokens
|
||||
tokenCache( selector, groups ).slice( 0 );
|
||||
};
|
||||
|
||||
function toSelector( tokens ) {
|
||||
var i = 0,
|
||||
len = tokens.length,
|
||||
selector = "";
|
||||
for ( ; i < len; i++ ) {
|
||||
selector += tokens[i].value;
|
||||
}
|
||||
return selector;
|
||||
}
|
||||
|
||||
function addCombinator( matcher, combinator, base ) {
|
||||
var dir = combinator.dir,
|
||||
skip = combinator.next,
|
||||
key = skip || dir,
|
||||
checkNonElements = base && key === "parentNode",
|
||||
doneName = done++;
|
||||
|
||||
return combinator.first ?
|
||||
// Check against closest ancestor/preceding element
|
||||
function( elem, context, xml ) {
|
||||
while ( (elem = elem[ dir ]) ) {
|
||||
if ( elem.nodeType === 1 || checkNonElements ) {
|
||||
return matcher( elem, context, xml );
|
||||
}
|
||||
}
|
||||
} :
|
||||
|
||||
// Check against all ancestor/preceding elements
|
||||
function( elem, context, xml ) {
|
||||
var oldCache, uniqueCache, outerCache,
|
||||
newCache = [ dirruns, doneName ];
|
||||
|
||||
// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
|
||||
if ( xml ) {
|
||||
while ( (elem = elem[ dir ]) ) {
|
||||
if ( elem.nodeType === 1 || checkNonElements ) {
|
||||
if ( matcher( elem, context, xml ) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
while ( (elem = elem[ dir ]) ) {
|
||||
if ( elem.nodeType === 1 || checkNonElements ) {
|
||||
outerCache = elem[ expando ] || (elem[ expando ] = {});
|
||||
|
||||
// Support: IE <9 only
|
||||
// Defend against cloned attroperties (jQuery gh-1709)
|
||||
uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
|
||||
|
||||
if ( skip && skip === elem.nodeName.toLowerCase() ) {
|
||||
elem = elem[ dir ] || elem;
|
||||
} else if ( (oldCache = uniqueCache[ key ]) &&
|
||||
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
|
||||
|
||||
// Assign to newCache so results back-propagate to previous elements
|
||||
return (newCache[ 2 ] = oldCache[ 2 ]);
|
||||
} else {
|
||||
// Reuse newcache so results back-propagate to previous elements
|
||||
uniqueCache[ key ] = newCache;
|
||||
|
||||
// A match means we're done; a fail means we have to keep checking
|
||||
if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function elementMatcher( matchers ) {
|
||||
return matchers.length > 1 ?
|
||||
function( elem, context, xml ) {
|
||||
var i = matchers.length;
|
||||
while ( i-- ) {
|
||||
if ( !matchers[i]( elem, context, xml ) ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
} :
|
||||
matchers[0];
|
||||
}
|
||||
|
||||
function multipleContexts( selector, contexts, results ) {
|
||||
var i = 0,
|
||||
len = contexts.length;
|
||||
for ( ; i < len; i++ ) {
|
||||
Sizzle( selector, contexts[i], results );
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
function condense( unmatched, map, filter, context, xml ) {
|
||||
var elem,
|
||||
newUnmatched = [],
|
||||
i = 0,
|
||||
len = unmatched.length,
|
||||
mapped = map != null;
|
||||
|
||||
for ( ; i < len; i++ ) {
|
||||
if ( (elem = unmatched[i]) ) {
|
||||
if ( !filter || filter( elem, context, xml ) ) {
|
||||
newUnmatched.push( elem );
|
||||
if ( mapped ) {
|
||||
map.push( i );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return newUnmatched;
|
||||
}
|
||||
|
||||
function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
|
||||
if ( postFilter && !postFilter[ expando ] ) {
|
||||
postFilter = setMatcher( postFilter );
|
||||
}
|
||||
if ( postFinder && !postFinder[ expando ] ) {
|
||||
postFinder = setMatcher( postFinder, postSelector );
|
||||
}
|
||||
return markFunction(function( seed, results, context, xml ) {
|
||||
var temp, i, elem,
|
||||
preMap = [],
|
||||
postMap = [],
|
||||
preexisting = results.length,
|
||||
|
||||
// Get initial elements from seed or context
|
||||
elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
|
||||
|
||||
// Prefilter to get matcher input, preserving a map for seed-results synchronization
|
||||
matcherIn = preFilter && ( seed || !selector ) ?
|
||||
condense( elems, preMap, preFilter, context, xml ) :
|
||||
elems,
|
||||
|
||||
matcherOut = matcher ?
|
||||
// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
|
||||
postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
|
||||
|
||||
// ...intermediate processing is necessary
|
||||
[] :
|
||||
|
||||
// ...otherwise use results directly
|
||||
results :
|
||||
matcherIn;
|
||||
|
||||
// Find primary matches
|
||||
if ( matcher ) {
|
||||
matcher( matcherIn, matcherOut, context, xml );
|
||||
}
|
||||
|
||||
// Apply postFilter
|
||||
if ( postFilter ) {
|
||||
temp = condense( matcherOut, postMap );
|
||||
postFilter( temp, [], context, xml );
|
||||
|
||||
// Un-match failing elements by moving them back to matcherIn
|
||||
i = temp.length;
|
||||
while ( i-- ) {
|
||||
if ( (elem = temp[i]) ) {
|
||||
matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( seed ) {
|
||||
if ( postFinder || preFilter ) {
|
||||
if ( postFinder ) {
|
||||
// Get the final matcherOut by condensing this intermediate into postFinder contexts
|
||||
temp = [];
|
||||
i = matcherOut.length;
|
||||
while ( i-- ) {
|
||||
if ( (elem = matcherOut[i]) ) {
|
||||
// Restore matcherIn since elem is not yet a final match
|
||||
temp.push( (matcherIn[i] = elem) );
|
||||
}
|
||||
}
|
||||
postFinder( null, (matcherOut = []), temp, xml );
|
||||
}
|
||||
|
||||
// Move matched elements from seed to results to keep them synchronized
|
||||
i = matcherOut.length;
|
||||
while ( i-- ) {
|
||||
if ( (elem = matcherOut[i]) &&
|
||||
(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
|
||||
|
||||
seed[temp] = !(results[temp] = elem);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add elements to results, through postFinder if defined
|
||||
} else {
|
||||
matcherOut = condense(
|
||||
matcherOut === results ?
|
||||
matcherOut.splice( preexisting, matcherOut.length ) :
|
||||
matcherOut
|
||||
);
|
||||
if ( postFinder ) {
|
||||
postFinder( null, results, matcherOut, xml );
|
||||
} else {
|
||||
push.apply( results, matcherOut );
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function matcherFromTokens( tokens ) {
|
||||
var checkContext, matcher, j,
|
||||
len = tokens.length,
|
||||
leadingRelative = Expr.relative[ tokens[0].type ],
|
||||
implicitRelative = leadingRelative || Expr.relative[" "],
|
||||
i = leadingRelative ? 1 : 0,
|
||||
|
||||
// The foundational matcher ensures that elements are reachable from top-level context(s)
|
||||
matchContext = addCombinator( function( elem ) {
|
||||
return elem === checkContext;
|
||||
}, implicitRelative, true ),
|
||||
matchAnyContext = addCombinator( function( elem ) {
|
||||
return indexOf( checkContext, elem ) > -1;
|
||||
}, implicitRelative, true ),
|
||||
matchers = [ function( elem, context, xml ) {
|
||||
var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
|
||||
(checkContext = context).nodeType ?
|
||||
matchContext( elem, context, xml ) :
|
||||
matchAnyContext( elem, context, xml ) );
|
||||
// Avoid hanging onto element (issue #299)
|
||||
checkContext = null;
|
||||
return ret;
|
||||
} ];
|
||||
|
||||
for ( ; i < len; i++ ) {
|
||||
if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
|
||||
matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
|
||||
} else {
|
||||
matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
|
||||
|
||||
// Return special upon seeing a positional matcher
|
||||
if ( matcher[ expando ] ) {
|
||||
// Find the next relative operator (if any) for proper handling
|
||||
j = ++i;
|
||||
for ( ; j < len; j++ ) {
|
||||
if ( Expr.relative[ tokens[j].type ] ) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return setMatcher(
|
||||
i > 1 && elementMatcher( matchers ),
|
||||
i > 1 && toSelector(
|
||||
// If the preceding token was a descendant combinator, insert an implicit any-element `*`
|
||||
tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
|
||||
).replace( rtrim, "$1" ),
|
||||
matcher,
|
||||
i < j && matcherFromTokens( tokens.slice( i, j ) ),
|
||||
j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
|
||||
j < len && toSelector( tokens )
|
||||
);
|
||||
}
|
||||
matchers.push( matcher );
|
||||
}
|
||||
}
|
||||
|
||||
return elementMatcher( matchers );
|
||||
}
|
||||
|
||||
function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
|
||||
var bySet = setMatchers.length > 0,
|
||||
byElement = elementMatchers.length > 0,
|
||||
superMatcher = function( seed, context, xml, results, outermost ) {
|
||||
var elem, j, matcher,
|
||||
matchedCount = 0,
|
||||
i = "0",
|
||||
unmatched = seed && [],
|
||||
setMatched = [],
|
||||
contextBackup = outermostContext,
|
||||
// We must always have either seed elements or outermost context
|
||||
elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
|
||||
// Use integer dirruns iff this is the outermost matcher
|
||||
dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
|
||||
len = elems.length;
|
||||
|
||||
if ( outermost ) {
|
||||
outermostContext = context === document || context || outermost;
|
||||
}
|
||||
|
||||
// Add elements passing elementMatchers directly to results
|
||||
// Support: IE<9, Safari
|
||||
// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
|
||||
for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
|
||||
if ( byElement && elem ) {
|
||||
j = 0;
|
||||
if ( !context && elem.ownerDocument !== document ) {
|
||||
setDocument( elem );
|
||||
xml = !documentIsHTML;
|
||||
}
|
||||
while ( (matcher = elementMatchers[j++]) ) {
|
||||
if ( matcher( elem, context || document, xml) ) {
|
||||
results.push( elem );
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( outermost ) {
|
||||
dirruns = dirrunsUnique;
|
||||
}
|
||||
}
|
||||
|
||||
// Track unmatched elements for set filters
|
||||
if ( bySet ) {
|
||||
// They will have gone through all possible matchers
|
||||
if ( (elem = !matcher && elem) ) {
|
||||
matchedCount--;
|
||||
}
|
||||
|
||||
// Lengthen the array for every element, matched or not
|
||||
if ( seed ) {
|
||||
unmatched.push( elem );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// `i` is now the count of elements visited above, and adding it to `matchedCount`
|
||||
// makes the latter nonnegative.
|
||||
matchedCount += i;
|
||||
|
||||
// Apply set filters to unmatched elements
|
||||
// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
|
||||
// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
|
||||
// no element matchers and no seed.
|
||||
// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
|
||||
// case, which will result in a "00" `matchedCount` that differs from `i` but is also
|
||||
// numerically zero.
|
||||
if ( bySet && i !== matchedCount ) {
|
||||
j = 0;
|
||||
while ( (matcher = setMatchers[j++]) ) {
|
||||
matcher( unmatched, setMatched, context, xml );
|
||||
}
|
||||
|
||||
if ( seed ) {
|
||||
// Reintegrate element matches to eliminate the need for sorting
|
||||
if ( matchedCount > 0 ) {
|
||||
while ( i-- ) {
|
||||
if ( !(unmatched[i] || setMatched[i]) ) {
|
||||
setMatched[i] = pop.call( results );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Discard index placeholder values to get only actual matches
|
||||
setMatched = condense( setMatched );
|
||||
}
|
||||
|
||||
// Add matches to results
|
||||
push.apply( results, setMatched );
|
||||
|
||||
// Seedless set matches succeeding multiple successful matchers stipulate sorting
|
||||
if ( outermost && !seed && setMatched.length > 0 &&
|
||||
( matchedCount + setMatchers.length ) > 1 ) {
|
||||
|
||||
Sizzle.uniqueSort( results );
|
||||
}
|
||||
}
|
||||
|
||||
// Override manipulation of globals by nested matchers
|
||||
if ( outermost ) {
|
||||
dirruns = dirrunsUnique;
|
||||
outermostContext = contextBackup;
|
||||
}
|
||||
|
||||
return unmatched;
|
||||
};
|
||||
|
||||
return bySet ?
|
||||
markFunction( superMatcher ) :
|
||||
superMatcher;
|
||||
}
|
||||
|
||||
compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
|
||||
var i,
|
||||
setMatchers = [],
|
||||
elementMatchers = [],
|
||||
cached = compilerCache[ selector + " " ];
|
||||
|
||||
if ( !cached ) {
|
||||
// Generate a function of recursive functions that can be used to check each element
|
||||
if ( !match ) {
|
||||
match = tokenize( selector );
|
||||
}
|
||||
i = match.length;
|
||||
while ( i-- ) {
|
||||
cached = matcherFromTokens( match[i] );
|
||||
if ( cached[ expando ] ) {
|
||||
setMatchers.push( cached );
|
||||
} else {
|
||||
elementMatchers.push( cached );
|
||||
}
|
||||
}
|
||||
|
||||
// Cache the compiled function
|
||||
cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
|
||||
|
||||
// Save selector and tokenization
|
||||
cached.selector = selector;
|
||||
}
|
||||
return cached;
|
||||
};
|
||||
|
||||
/**
|
||||
* A low-level selection function that works with Sizzle's compiled
|
||||
* selector functions
|
||||
* @param {String|Function} selector A selector or a pre-compiled
|
||||
* selector function built with Sizzle.compile
|
||||
* @param {Element} context
|
||||
* @param {Array} [results]
|
||||
* @param {Array} [seed] A set of elements to match against
|
||||
*/
|
||||
select = Sizzle.select = function( selector, context, results, seed ) {
|
||||
var i, tokens, token, type, find,
|
||||
compiled = typeof selector === "function" && selector,
|
||||
match = !seed && tokenize( (selector = compiled.selector || selector) );
|
||||
|
||||
results = results || [];
|
||||
|
||||
// Try to minimize operations if there is only one selector in the list and no seed
|
||||
// (the latter of which guarantees us context)
|
||||
if ( match.length === 1 ) {
|
||||
|
||||
// Reduce context if the leading compound selector is an ID
|
||||
tokens = match[0] = match[0].slice( 0 );
|
||||
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
|
||||
support.getById && context.nodeType === 9 && documentIsHTML &&
|
||||
Expr.relative[ tokens[1].type ] ) {
|
||||
|
||||
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
|
||||
if ( !context ) {
|
||||
return results;
|
||||
|
||||
// Precompiled matchers will still verify ancestry, so step up a level
|
||||
} else if ( compiled ) {
|
||||
context = context.parentNode;
|
||||
}
|
||||
|
||||
selector = selector.slice( tokens.shift().value.length );
|
||||
}
|
||||
|
||||
// Fetch a seed set for right-to-left matching
|
||||
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
|
||||
while ( i-- ) {
|
||||
token = tokens[i];
|
||||
|
||||
// Abort if we hit a combinator
|
||||
if ( Expr.relative[ (type = token.type) ] ) {
|
||||
break;
|
||||
}
|
||||
if ( (find = Expr.find[ type ]) ) {
|
||||
// Search, expanding context for leading sibling combinators
|
||||
if ( (seed = find(
|
||||
token.matches[0].replace( runescape, funescape ),
|
||||
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
|
||||
)) ) {
|
||||
|
||||
// If seed is empty or no tokens remain, we can return early
|
||||
tokens.splice( i, 1 );
|
||||
selector = seed.length && toSelector( tokens );
|
||||
if ( !selector ) {
|
||||
push.apply( results, seed );
|
||||
return results;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Compile and execute a filtering function if one is not provided
|
||||
// Provide `match` to avoid retokenization if we modified the selector above
|
||||
( compiled || compile( selector, match ) )(
|
||||
seed,
|
||||
context,
|
||||
!documentIsHTML,
|
||||
results,
|
||||
!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
|
||||
);
|
||||
return results;
|
||||
};
|
||||
|
||||
// One-time assignments
|
||||
|
||||
// Sort stability
|
||||
support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
|
||||
|
||||
// Support: Chrome 14-35+
|
||||
// Always assume duplicates if they aren't passed to the comparison function
|
||||
support.detectDuplicates = !!hasDuplicate;
|
||||
|
||||
// Initialize against the default document
|
||||
setDocument();
|
||||
|
||||
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
||||
// Detached nodes confoundingly follow *each other*
|
||||
support.sortDetached = assert(function( el ) {
|
||||
// Should return 1, but returns 4 (following)
|
||||
return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
|
||||
});
|
||||
|
||||
// Support: IE<8
|
||||
// Prevent attribute/property "interpolation"
|
||||
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
||||
if ( !assert(function( el ) {
|
||||
el.innerHTML = "<a href='#'></a>";
|
||||
return el.firstChild.getAttribute("href") === "#" ;
|
||||
}) ) {
|
||||
addHandle( "type|href|height|width", function( elem, name, isXML ) {
|
||||
if ( !isXML ) {
|
||||
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Support: IE<9
|
||||
// Use defaultValue in place of getAttribute("value")
|
||||
if ( !support.attributes || !assert(function( el ) {
|
||||
el.innerHTML = "<input/>";
|
||||
el.firstChild.setAttribute( "value", "" );
|
||||
return el.firstChild.getAttribute( "value" ) === "";
|
||||
}) ) {
|
||||
addHandle( "value", function( elem, name, isXML ) {
|
||||
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
|
||||
return elem.defaultValue;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Support: IE<9
|
||||
// Use getAttributeNode to fetch booleans when getAttribute lies
|
||||
if ( !assert(function( el ) {
|
||||
return el.getAttribute("disabled") == null;
|
||||
}) ) {
|
||||
addHandle( booleans, function( elem, name, isXML ) {
|
||||
var val;
|
||||
if ( !isXML ) {
|
||||
return elem[ name ] === true ? name.toLowerCase() :
|
||||
(val = elem.getAttributeNode( name )) && val.specified ?
|
||||
val.value :
|
||||
null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// EXPOSE
|
||||
var _sizzle = window.Sizzle;
|
||||
|
||||
Sizzle.noConflict = function() {
|
||||
if ( window.Sizzle === Sizzle ) {
|
||||
window.Sizzle = _sizzle;
|
||||
}
|
||||
|
||||
return Sizzle;
|
||||
};
|
||||
|
||||
if ( typeof define === "function" && define.amd ) {
|
||||
define(function() { return Sizzle; });
|
||||
// Sizzle requires that there be a global window in Common-JS like environments
|
||||
} else if ( typeof module !== "undefined" && module.exports ) {
|
||||
module.exports = Sizzle;
|
||||
} else {
|
||||
window.Sizzle = Sizzle;
|
||||
}
|
||||
// EXPOSE
|
||||
|
||||
})( window );
|
3
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.min.js
generated
vendored
Normal file
3
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.min.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
/*! Sizzle v2.3.0 | (c) jQuery Foundation, Inc. | jquery.org/license */
|
||||
!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\x00"===a?"<22>":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=Q.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null});var Aa=a.Sizzle;ga.noConflict=function(){return a.Sizzle===ga&&(a.Sizzle=Aa),ga},"function"==typeof define&&define.amd?define(function(){return ga}):"undefined"!=typeof module&&module.exports?module.exports=ga:a.Sizzle=ga}(window);
|
||||
//# sourceMappingURL=sizzle.min.map
|
1
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.min.map
generated
vendored
Normal file
1
nodejs/node_modules/jquery/external/sizzle/dist/sizzle.min.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","list","elem","len","length","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","toString","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","replace","setAttribute","toSelector","join","testContext","parentNode","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","el","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","escape","sel","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","elems","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","defaultValue","_sizzle","noConflict","define","amd","module","exports"],"mappings":"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","file":"sizzle.min.js"}
|
Reference in New Issue
Block a user