@ -1,15 +1,15 @@
/ * !
/ * !
* jQuery JavaScript Library v3 . 5.1 - ajax , - ajax / jsonp , - ajax / load , - ajax / script , - ajax / var / l o c a t i o n , - a j a x / v a r / n o n c e , - a j a x / v a r / r q u e r y , - a j a x / x h r , - m a n i p u l a t i o n / _ e v a l U r l , - d e p r e c a t e d / a j a x - e v e n t - a l i a s , - e f f e c t s , - e f f e c t s / T w e e n , - e f f e c t s / a n i m a t e d S e l e c t o r
* jQuery JavaScript Library v3 . 6.0 - ajax , - ajax / jsonp , - ajax / load , - ajax / script , - ajax / var / l o c a t i o n , - a j a x / v a r / n o n c e , - a j a x / v a r / r q u e r y , - a j a x / x h r , - m a n i p u l a t i o n / _ e v a l U r l , - d e p r e c a t e d / a j a x - e v e n t - a l i a s , - e f f e c t s , - e f f e c t s / T w e e n , - e f f e c t s / a n i m a t e d S e l e c t o r
* https : //jquery.com/
* https : //jquery.com/
*
*
* Includes Sizzle . js
* Includes Sizzle . js
* https : //sizzlejs.com/
* https : //sizzlejs.com/
*
*
* Copyright JS Foundation and other contributors
* Copyright Open JS Foundation and other contributors
* Released under the MIT license
* Released under the MIT license
* https : //jquery.org/license
* https : //jquery.org/license
*
*
* Date : 202 0- 05 - 04 T22 : 49 Z
* Date : 202 1- 03 - 02 T17 : 08 Z
* /
* /
( function ( global , factory ) {
( function ( global , factory ) {
@ -76,12 +76,16 @@ var support = {};
var isFunction = function isFunction ( obj ) {
var isFunction = function isFunction ( obj ) {
// Support: Chrome <=57, Firefox <=52
// Support: Chrome <=57, Firefox <=52
// In some browsers, typeof returns "function" for HTML <object> elements
// In some browsers, typeof returns "function" for HTML <object> elements
// (i.e., `typeof document.createElement( "object" ) === "function"`).
// (i.e., `typeof document.createElement( "object" ) === "function"`).
// We don't want to classify *any* DOM node as a function.
// We don't want to classify *any* DOM node as a function.
return typeof obj === "function" && typeof obj . nodeType !== "number" ;
// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5
} ;
// Plus for old WebKit, typeof returns "function" for HTML collections
// (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756)
return typeof obj === "function" && typeof obj . nodeType !== "number" &&
typeof obj . item !== "function" ;
} ;
var isWindow = function isWindow ( obj ) {
var isWindow = function isWindow ( obj ) {
@ -147,7 +151,7 @@ function toType( obj ) {
var
var
version = "3. 5.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
version = "3. 6.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",
// Define a local copy of jQuery
// Define a local copy of jQuery
jQuery = function ( selector , context ) {
jQuery = function ( selector , context ) {
@ -401,7 +405,7 @@ jQuery.extend( {
if ( isArrayLike ( Object ( arr ) ) ) {
if ( isArrayLike ( Object ( arr ) ) ) {
jQuery . merge ( ret ,
jQuery . merge ( ret ,
typeof arr === "string" ?
typeof arr === "string" ?
[ arr ] : arr
[ arr ] : arr
) ;
) ;
} else {
} else {
push . call ( ret , arr ) ;
push . call ( ret , arr ) ;
@ -496,9 +500,9 @@ if ( typeof Symbol === "function" ) {
// Populate the class2type map
// Populate the class2type map
jQuery . each ( "Boolean Number String Function Array Date RegExp Object Error Symbol" . split ( " " ) ,
jQuery . each ( "Boolean Number String Function Array Date RegExp Object Error Symbol" . split ( " " ) ,
function ( _i , name ) {
function ( _i , name ) {
class2type [ "[object " + name + "]" ] = name . toLowerCase ( ) ;
class2type [ "[object " + name + "]" ] = name . toLowerCase ( ) ;
} ) ;
} ) ;
function isArrayLike ( obj ) {
function isArrayLike ( obj ) {
@ -518,14 +522,14 @@ function isArrayLike( obj ) {
}
}
var Sizzle =
var Sizzle =
/ * !
/ * !
* Sizzle CSS Selector Engine v2 . 3. 5
* Sizzle CSS Selector Engine v2 . 3. 6
* https : //sizzlejs.com/
* https : //sizzlejs.com/
*
*
* Copyright JS Foundation and other contributors
* Copyright JS Foundation and other contributors
* Released under the MIT license
* Released under the MIT license
* https : //js.foundation/
* https : //js.foundation/
*
*
* Date : 202 0- 03 - 14
* Date : 202 1- 02 - 16
* /
* /
( function ( window ) {
( function ( window ) {
var i ,
var i ,
@ -1108,8 +1112,8 @@ support = Sizzle.support = {};
* @ returns { Boolean } True iff elem is a non - HTML XML node
* @ returns { Boolean } True iff elem is a non - HTML XML node
* /
* /
isXML = Sizzle . isXML = function ( elem ) {
isXML = Sizzle . isXML = function ( elem ) {
var namespace = elem . namespaceURI ,
var namespace = elem && elem . namespaceURI ,
docElem = ( elem . ownerDocument || elem ) . documentElement ;
docElem = elem && ( elem . ownerDocument || elem ) . documentElement ;
// Support: IE <=8
// Support: IE <=8
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
@ -3024,9 +3028,9 @@ var rneedsContext = jQuery.expr.match.needsContext;
function nodeName ( elem , name ) {
function nodeName ( elem , name ) {
return elem . nodeName && elem . nodeName . toLowerCase ( ) === name . toLowerCase ( ) ;
return elem . nodeName && elem . nodeName . toLowerCase ( ) === name . toLowerCase ( ) ;
} ;
}
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ) ;
var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ) ;
@ -3997,8 +4001,8 @@ jQuery.extend( {
resolveContexts = Array ( i ) ,
resolveContexts = Array ( i ) ,
resolveValues = slice . call ( arguments ) ,
resolveValues = slice . call ( arguments ) ,
// the maste r Deferred
// the pri mary Deferred
maste r = jQuery . Deferred ( ) ,
pri mary = jQuery . Deferred ( ) ,
// subordinate callback factory
// subordinate callback factory
updateFunc = function ( i ) {
updateFunc = function ( i ) {
@ -4006,30 +4010,30 @@ jQuery.extend( {
resolveContexts [ i ] = this ;
resolveContexts [ i ] = this ;
resolveValues [ i ] = arguments . length > 1 ? slice . call ( arguments ) : value ;
resolveValues [ i ] = arguments . length > 1 ? slice . call ( arguments ) : value ;
if ( ! ( -- remaining ) ) {
if ( ! ( -- remaining ) ) {
maste r. resolveWith ( resolveContexts , resolveValues ) ;
pri mary . resolveWith ( resolveContexts , resolveValues ) ;
}
}
} ;
} ;
} ;
} ;
// Single- and empty arguments are adopted like Promise.resolve
// Single- and empty arguments are adopted like Promise.resolve
if ( remaining <= 1 ) {
if ( remaining <= 1 ) {
adoptValue ( singleValue , maste r. done ( updateFunc ( i ) ) . resolve , maste r. reject ,
adoptValue ( singleValue , pri mary . done ( updateFunc ( i ) ) . resolve , pri mary . reject ,
! remaining ) ;
! remaining ) ;
// Use .then() to unwrap secondary thenables (cf. gh-3000)
// Use .then() to unwrap secondary thenables (cf. gh-3000)
if ( maste r. state ( ) === "pending" ||
if ( pri mary . state ( ) === "pending" ||
isFunction ( resolveValues [ i ] && resolveValues [ i ] . then ) ) {
isFunction ( resolveValues [ i ] && resolveValues [ i ] . then ) ) {
return maste r. then ( ) ;
return pri mary . then ( ) ;
}
}
}
}
// Multiple arguments are aggregated like Promise.all array elements
// Multiple arguments are aggregated like Promise.all array elements
while ( i -- ) {
while ( i -- ) {
adoptValue ( resolveValues [ i ] , updateFunc ( i ) , maste r. reject ) ;
adoptValue ( resolveValues [ i ] , updateFunc ( i ) , pri mary . reject ) ;
}
}
return maste r. promise ( ) ;
return pri mary . promise ( ) ;
}
}
} ) ;
} ) ;
@ -4180,8 +4184,8 @@ var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
for ( ; i < len ; i ++ ) {
for ( ; i < len ; i ++ ) {
fn (
fn (
elems [ i ] , key , raw ?
elems [ i ] , key , raw ?
value :
value :
value . call ( elems [ i ] , i , fn ( elems [ i ] , key ) )
value . call ( elems [ i ] , i , fn ( elems [ i ] , key ) )
) ;
) ;
}
}
}
}
@ -5089,10 +5093,7 @@ function buildFragment( elems, context, scripts, selection, ignored ) {
}
}
var
var rtypenamespace = /^([^.]*)(?:\.(.+)|)/ ;
rkeyEvent = /^key/ ,
rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/ ,
rtypenamespace = /^([^.]*)(?:\.(.+)|)/ ;
function returnTrue ( ) {
function returnTrue ( ) {
return true ;
return true ;
@ -5387,8 +5388,8 @@ jQuery.event = {
event = jQuery . event . fix ( nativeEvent ) ,
event = jQuery . event . fix ( nativeEvent ) ,
handlers = (
handlers = (
dataPriv . get ( this , "events" ) || Object . create ( null )
dataPriv . get ( this , "events" ) || Object . create ( null )
) [ event . type ] || [ ] ,
) [ event . type ] || [ ] ,
special = jQuery . event . special [ event . type ] || { } ;
special = jQuery . event . special [ event . type ] || { } ;
// Use the fix-ed jQuery.Event rather than the (read-only) native event
// Use the fix-ed jQuery.Event rather than the (read-only) native event
@ -5512,12 +5513,12 @@ jQuery.event = {
get : isFunction ( hook ) ?
get : isFunction ( hook ) ?
function ( ) {
function ( ) {
if ( this . originalEvent ) {
if ( this . originalEvent ) {
return hook ( this . originalEvent ) ;
return hook ( this . originalEvent ) ;
}
}
} :
} :
function ( ) {
function ( ) {
if ( this . originalEvent ) {
if ( this . originalEvent ) {
return this . originalEvent [ name ] ;
return this . originalEvent [ name ] ;
}
}
} ,
} ,
@ -5656,7 +5657,13 @@ function leverageNative( el, type, expectSync ) {
// Cancel the outer synthetic event
// Cancel the outer synthetic event
event . stopImmediatePropagation ( ) ;
event . stopImmediatePropagation ( ) ;
event . preventDefault ( ) ;
event . preventDefault ( ) ;
return result . value ;
// Support: Chrome 86+
// In Chrome, if an element having a focusout handler is blurred by
// clicking outside of it, it invokes the handler synchronously. If
// that handler calls `.remove()` on the element, the data is cleared,
// leaving `result` undefined. We need to guard against this.
return result && result . value ;
}
}
// If this is an inner synthetic event for an event with a bubbling surrogate
// If this is an inner synthetic event for an event with a bubbling surrogate
@ -5821,34 +5828,7 @@ jQuery.each( {
targetTouches : true ,
targetTouches : true ,
toElement : true ,
toElement : true ,
touches : true ,
touches : true ,
which : true
which : function ( event ) {
var button = event . button ;
// Add which for key events
if ( event . which == null && rkeyEvent . test ( event . type ) ) {
return event . charCode != null ? event . charCode : event . keyCode ;
}
// Add which for click: 1 === left; 2 === middle; 3 === right
if ( ! event . which && button !== undefined && rmouseEvent . test ( event . type ) ) {
if ( button & 1 ) {
return 1 ;
}
if ( button & 2 ) {
return 3 ;
}
if ( button & 4 ) {
return 2 ;
}
return 0 ;
}
return event . which ;
}
} , jQuery . event . addProp ) ;
} , jQuery . event . addProp ) ;
jQuery . each ( { focus : "focusin" , blur : "focusout" } , function ( type , delegateType ) {
jQuery . each ( { focus : "focusin" , blur : "focusout" } , function ( type , delegateType ) {
@ -5874,6 +5854,12 @@ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateTyp
return true ;
return true ;
} ,
} ,
// Suppress native focus or blur as it's already being fired
// in leverageNative.
_default : function ( ) {
return true ;
} ,
delegateType : delegateType
delegateType : delegateType
} ;
} ;
} ) ;
} ) ;
@ -6541,6 +6527,10 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
// set in CSS while `offset*` properties report correct values.
// set in CSS while `offset*` properties report correct values.
// Behavior in IE 9 is more subtle than in newer versions & it passes
// Behavior in IE 9 is more subtle than in newer versions & it passes
// some versions of this test; make sure not to make it pass there!
// some versions of this test; make sure not to make it pass there!
//
// Support: Firefox 70+
// Only Firefox includes border widths
// in computed dimensions. (gh-4529)
reliableTrDimensions : function ( ) {
reliableTrDimensions : function ( ) {
var table , tr , trChild , trStyle ;
var table , tr , trChild , trStyle ;
if ( reliableTrDimensionsVal == null ) {
if ( reliableTrDimensionsVal == null ) {
@ -6548,17 +6538,32 @@ var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
tr = document . createElement ( "tr" ) ;
tr = document . createElement ( "tr" ) ;
trChild = document . createElement ( "div" ) ;
trChild = document . createElement ( "div" ) ;
table . style . cssText = "position:absolute;left:-11111px" ;
table . style . cssText = "position:absolute;left:-11111px;border-collapse:separate" ;
tr . style . cssText = "border:1px solid" ;
// Support: Chrome 86+
// Height set through cssText does not get applied.
// Computed height then comes back as 0.
tr . style . height = "1px" ;
tr . style . height = "1px" ;
trChild . style . height = "9px" ;
trChild . style . height = "9px" ;
// Support: Android 8 Chrome 86+
// In our bodyBackground.html iframe,
// display for all div elements is set to "inline",
// which causes a problem only in Android 8 Chrome 86.
// Ensuring the div is display: block
// gets around this issue.
trChild . style . display = "block" ;
documentElement
documentElement
. appendChild ( table )
. appendChild ( table )
. appendChild ( tr )
. appendChild ( tr )
. appendChild ( trChild ) ;
. appendChild ( trChild ) ;
trStyle = window . getComputedStyle ( tr ) ;
trStyle = window . getComputedStyle ( tr ) ;
reliableTrDimensionsVal = parseInt ( trStyle . height ) > 3 ;
reliableTrDimensionsVal = ( parseInt ( trStyle . height , 10 ) +
parseInt ( trStyle . borderTopWidth , 10 ) +
parseInt ( trStyle . borderBottomWidth , 10 ) ) === tr . offsetHeight ;
documentElement . removeChild ( table ) ;
documentElement . removeChild ( table ) ;
}
}
@ -7022,10 +7027,10 @@ jQuery.each( [ "height", "width" ], function( _i, dimension ) {
// Running getBoundingClientRect on a disconnected node
// Running getBoundingClientRect on a disconnected node
// in IE throws an error.
// in IE throws an error.
( ! elem . getClientRects ( ) . length || ! elem . getBoundingClientRect ( ) . width ) ?
( ! elem . getClientRects ( ) . length || ! elem . getBoundingClientRect ( ) . width ) ?
swap ( elem , cssShow , function ( ) {
swap ( elem , cssShow , function ( ) {
return getWidthOrHeight ( elem , dimension , extra ) ;
return getWidthOrHeight ( elem , dimension , extra ) ;
} ) :
} ) :
getWidthOrHeight ( elem , dimension , extra ) ;
getWidthOrHeight ( elem , dimension , extra ) ;
}
}
} ,
} ,
@ -7084,7 +7089,7 @@ jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
swap ( elem , { marginLeft : 0 } , function ( ) {
swap ( elem , { marginLeft : 0 } , function ( ) {
return elem . getBoundingClientRect ( ) . left ;
return elem . getBoundingClientRect ( ) . left ;
} )
} )
) + "px" ;
) + "px" ;
}
}
}
}
) ;
) ;
@ -7608,8 +7613,8 @@ jQuery.fn.extend( {
if ( this . setAttribute ) {
if ( this . setAttribute ) {
this . setAttribute ( "class" ,
this . setAttribute ( "class" ,
className || value === false ?
className || value === false ?
"" :
"" :
dataPriv . get ( this , "__className__" ) || ""
dataPriv . get ( this , "__className__" ) || ""
) ;
) ;
}
}
}
}
@ -7624,7 +7629,7 @@ jQuery.fn.extend( {
while ( ( elem = this [ i ++ ] ) ) {
while ( ( elem = this [ i ++ ] ) ) {
if ( elem . nodeType === 1 &&
if ( elem . nodeType === 1 &&
( " " + stripAndCollapse ( getClass ( elem ) ) + " " ) . indexOf ( className ) > - 1 ) {
( " " + stripAndCollapse ( getClass ( elem ) ) + " " ) . indexOf ( className ) > - 1 ) {
return true ;
return true ;
}
}
}
}
@ -7914,9 +7919,7 @@ jQuery.extend( jQuery.event, {
special . bindType || type ;
special . bindType || type ;
// jQuery handler
// jQuery handler
handle = (
handle = ( dataPriv . get ( cur , "events" ) || Object . create ( null ) ) [ event . type ] &&
dataPriv . get ( cur , "events" ) || Object . create ( null )
) [ event . type ] &&
dataPriv . get ( cur , "handle" ) ;
dataPriv . get ( cur , "handle" ) ;
if ( handle ) {
if ( handle ) {
handle . apply ( cur , data ) ;
handle . apply ( cur , data ) ;
@ -8057,7 +8060,7 @@ if ( !support.focusin ) {
// Cross-browser xml parsing
// Cross-browser xml parsing
jQuery . parseXML = function ( data ) {
jQuery . parseXML = function ( data ) {
var xml ;
var xml , parserErrorElem ;
if ( ! data || typeof data !== "string" ) {
if ( ! data || typeof data !== "string" ) {
return null ;
return null ;
}
}
@ -8066,12 +8069,17 @@ jQuery.parseXML = function( data ) {
// IE throws on parseFromString with invalid input.
// IE throws on parseFromString with invalid input.
try {
try {
xml = ( new window . DOMParser ( ) ) . parseFromString ( data , "text/xml" ) ;
xml = ( new window . DOMParser ( ) ) . parseFromString ( data , "text/xml" ) ;
} catch ( e ) {
} catch ( e ) { }
xml = undefined ;
}
parserErrorElem = xml && xml . getElementsByTagName ( "parsererror" ) [ 0 ] ;
if ( ! xml || parserErrorElem ) {
if ( ! xml || xml . getElementsByTagName ( "parsererror" ) . length ) {
jQuery . error ( "Invalid XML: " + (
jQuery . error ( "Invalid XML: " + data ) ;
parserErrorElem ?
jQuery . map ( parserErrorElem . childNodes , function ( el ) {
return el . textContent ;
} ) . join ( "\n" ) :
data
) ) ;
}
}
return xml ;
return xml ;
} ;
} ;
@ -8172,16 +8180,14 @@ jQuery.fn.extend( {
// Can add propHook for "elements" to filter or add form elements
// Can add propHook for "elements" to filter or add form elements
var elements = jQuery . prop ( this , "elements" ) ;
var elements = jQuery . prop ( this , "elements" ) ;
return elements ? jQuery . makeArray ( elements ) : this ;
return elements ? jQuery . makeArray ( elements ) : this ;
} )
} ) . filter ( function ( ) {
. filter ( function ( ) {
var type = this . type ;
var type = this . type ;
// Use .is( ":disabled" ) so that fieldset[disabled] works
// Use .is( ":disabled" ) so that fieldset[disabled] works
return this . name && ! jQuery ( this ) . is ( ":disabled" ) &&
return this . name && ! jQuery ( this ) . is ( ":disabled" ) &&
rsubmittable . test ( this . nodeName ) && ! rsubmitterTypes . test ( type ) &&
rsubmittable . test ( this . nodeName ) && ! rsubmitterTypes . test ( type ) &&
( this . checked || ! rcheckableType . test ( type ) ) ;
( this . checked || ! rcheckableType . test ( type ) ) ;
} )
} ) . map ( function ( _i , elem ) {
. map ( function ( _i , elem ) {
var val = jQuery ( this ) . val ( ) ;
var val = jQuery ( this ) . val ( ) ;
if ( val == null ) {
if ( val == null ) {
@ -8387,12 +8393,6 @@ jQuery.offset = {
options . using . call ( elem , props ) ;
options . using . call ( elem , props ) ;
} else {
} else {
if ( typeof props . top === "number" ) {
props . top += "px" ;
}
if ( typeof props . left === "number" ) {
props . left += "px" ;
}
curElem . css ( props ) ;
curElem . css ( props ) ;
}
}
}
}
@ -8561,8 +8561,11 @@ jQuery.each( [ "top", "left" ], function( _i, prop ) {
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery . each ( { Height : "height" , Width : "width" } , function ( name , type ) {
jQuery . each ( { Height : "height" , Width : "width" } , function ( name , type ) {
jQuery . each ( { padding : "inner" + name , content : type , "" : "outer" + name } ,
jQuery . each ( {
function ( defaultExtra , funcName ) {
padding : "inner" + name ,
content : type ,
"" : "outer" + name
} , function ( defaultExtra , funcName ) {
// Margin is only for outerHeight, outerWidth
// Margin is only for outerHeight, outerWidth
jQuery . fn [ funcName ] = function ( margin , value ) {
jQuery . fn [ funcName ] = function ( margin , value ) {
@ -8631,7 +8634,8 @@ jQuery.fn.extend( {
}
}
} ) ;
} ) ;
jQuery . each ( ( "blur focus focusin focusout resize scroll click dblclick " +
jQuery . each (
( "blur focus focusin focusout resize scroll click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup contextmenu" ) . split ( " " ) ,
"change select submit keydown keypress keyup contextmenu" ) . split ( " " ) ,
function ( _i , name ) {
function ( _i , name ) {
@ -8642,7 +8646,8 @@ jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
this . on ( name , null , data , fn ) :
this . on ( name , null , data , fn ) :
this . trigger ( name ) ;
this . trigger ( name ) ;
} ;
} ;
} ) ;
}
) ;