From 88932b2264043b3a04ae44c48f9ed84f230d8f42 Mon Sep 17 00:00:00 2001 From: Adam Arling Date: Tue, 14 Nov 2017 15:03:54 -0600 Subject: [PATCH] Parser update in returning thumbnail, comment out link to external manifests --- app/iiif_parser.js | 7 +- build/iiif-player-bundle.js | 9 +- build/iiif-player-bundle.js.map | 2 +- build/index.html | 4 +- package-lock.json | 5341 +++++++++++++++++++++++++++---- 5 files changed, 4687 insertions(+), 676 deletions(-) diff --git a/app/iiif_parser.js b/app/iiif_parser.js index fd42069..45f815b 100644 --- a/app/iiif_parser.js +++ b/app/iiif_parser.js @@ -349,10 +349,15 @@ export default class IIIFParser { * @return {string} URI of thumbnail or an empty string if not found */ getCanvasPoster (canvases, canvasId) { + let thumbnailUri = '' const canvas = canvases.find((canvas) => { return canvas.id === canvasId }) - return (canvas) ? canvas.thumbnail[0].id : '' + if (canvas.thumbnail && canvas.thumbnail[0].id) { + thumbnailUri = canvas.thumbnail[0].id + } + + return thumbnailUri } } diff --git a/build/iiif-player-bundle.js b/build/iiif-player-bundle.js index 9bfe5d2..7885009 100644 --- a/build/iiif-player-bundle.js +++ b/build/iiif-player-bundle.js @@ -19499,7 +19499,7 @@ var IIIFParser = function () { }, { key: 'getFirstContentObj', value: function getFirstContentObj(canvases) { - return canvases[0].content[0]; + return canvases[0].items[0]; } /** @@ -19643,11 +19643,16 @@ var IIIFParser = function () { }, { key: 'getCanvasPoster', value: function getCanvasPoster(canvases, canvasId) { + var thumbnailUri = ''; var canvas = canvases.find(function (canvas) { return canvas.id === canvasId; }); - return canvas ? canvas.thumbnail[0].id : ''; + if (canvas.thumbnail && canvas.thumbnail[0].id) { + thumbnailUri = canvas.thumbnail[0].id; + } + + return thumbnailUri; } }]); diff --git a/build/iiif-player-bundle.js.map b/build/iiif-player-bundle.js.map index bf9486b..f77e05d 100644 --- a/build/iiif-player-bundle.js.map +++ b/build/iiif-player-bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 069dea3ab3e5f0d95706","webpack:///./~/mediaelement/src/css/mejs-controls.svg","webpack:///./~/css-loader/lib/css-base.js","webpack:///./~/jquery/dist/jquery.js","webpack:///./app/utility_helpers.js","webpack:///(webpack)/buildin/global.js","webpack:///./~/style-loader/addStyles.js","webpack:///./app/iiif_player.js","webpack:///./app/css/main.scss","webpack:///./~/mediaelement/build/mediaelement-and-player.js","webpack:///./~/mediaelement/full.js","webpack:///./~/node-libs-browser/~/process/browser.js","webpack:///./~/setimmediate/setImmediate.js","webpack:///./app/iiif_parser.js","webpack:///./app/index.js","webpack:///./~/style-loader/fixUrls.js","webpack:///./~/mediaelement/src/css/mediaelementplayer.css","webpack:///./~/timers-browserify/main.js","webpack:///(webpack)/buildin/module.js","webpack:///./~/mediaelement/src/css/mediaelementplayer.css?3cb5","webpack:///./app/css/main.scss?ce38"],"names":["module","exports","useSourceMap","list","toString","map","item","content","cssWithMappingToString","join","i","modules","mediaQuery","alreadyImportedModules","length","id","push","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","source","sourceRoot","concat","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","data","global","factory","document","w","Error","window","noGlobal","arr","getProto","Object","getPrototypeOf","slice","indexOf","class2type","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","DOMEval","code","doc","script","createElement","text","head","appendChild","parentNode","removeChild","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","isWindow","isNumeric","isNaN","parseFloat","proto","Ctor","isEmptyObject","globalEval","camelCase","string","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","proxy","tmp","args","now","Date","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","nodeType","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","matcher","unmatched","innerText","lang","elemLang","hash","location","activeElement","hasFocus","href","tabIndex","checked","selected","selectedIndex","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","needsContext","rsingleTag","risSimple","winnow","qualifier","not","self","rootjQuery","root","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","has","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","empty","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","catch","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","acceptData","owner","Data","uid","defineProperty","configurable","set","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","createTextNode","htmlPrefilter","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","button","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","focus","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rscriptTypeMasked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rmargin","rnumnonpx","getStyles","opener","getComputedStyle","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","width","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","boxSizingReliable","pixelMarginRight","reliableMarginLeft","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","augmentWidthOrHeight","extra","isBorderBox","styles","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","complete","timer","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","stripAndCollapse","getClass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","triggerHandler","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","throws","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","offsetWidth","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","clientTop","pageXOffset","clientLeft","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","bind","unbind","delegate","undelegate","holdReady","hold","parseJSON","define","_jQuery","_$","$","noConflict","UtilityHelpers","errorClass","elementTitles","getElementTitles","utilityHelpers","alertElId","toggleAlertMessage","currentManifestId","defaultManifest","manifestTitle","manifestUrlForm","mountElId","playerId","playerWrapperId","sourceElId","structureElId","urlTextInputId","labelText","$currentManifest","textEl","classList","g","Function","eval","IIIFPlayer","starterManifestEl","iiifParser","initializeClassVars","getManifestAJAX","dataset","iiifavSource","manifestUrlEl","addEventListeners","canvases","currentCanvasId","currentPlayerType","manifest","mejsPlayer","playerEl","playerWrapper","form","closeAlertListener","manifestDisplayListener","submitURLHandler","$el","structureClickHandler","updating","newCanvasId","startStopTimes","getStartStopTimes","log","goToNewTime","canvas","getCanvas","choiceItems","items","pause","setSrc","play","destroyPlayerInstance","createMediaElementPlayer","textStatus","markup","getLabel","label","getCanvases","createStructure","structures","addStructureListeners","contentObj","getFirstContentObj","qualityLevel","getContentItem","defaults","alwaysShowControls","pluginPath","mediaElement","originalNode","instance","playerMarkup","generatePlayerMarkup","poster","getCanvasPoster","stretching","MediaElementPlayer","paused","tagName","tagNameEl","subtitlesObj","getSubtitles","dimensions","getPlayerDimensions","videoSourceFormat","format","audioSourceFormat","language","ajaxSuccessHandler","setCurrentTime","require","transform","update","locals","hot","accept","newContent","dispose","r","o","u","f","_dereq_","topLevel","minDoc","doccy","setTimeoutFunc","thisArg","Promise","_state","_handled","_value","_deferreds","doResolve","_immediateFn","cb","newValue","finale","_unhandledRejectionFn","Handler","reason","prom","res","race","setImmediate","_setImmediateFn","_setUnhandledRejectionFn","_typeof","_mejs","_mejs2","_interopRequireDefault","_en","_general","__esModule","default","i18n","en","EN","_len","_key","isObjectEmpty","pluralParam","str","pluralForm","_plural","number","_pluralForms","escapeHTML","mejsL10n","strings","_window","_window2","_document","_document2","_media2","_renderer","_constants","_classCallCheck","Constructor","MediaElement","idOrNode","_this","renderers","fakeNodeName","shimScriptAccess","customError","assign","processURL","html5media","mediaTypes","IS_IOS","_url","URL","webkitURL","blobUrl","createObjectURL","mediaFiles","_sources","nodeSource","formatType","_type","promises","renderer","rendererName","changeRenderer","media","newRenderer","newRendererType","rendererArray","order","_i","total","rendererList","renderOptions","create","setSize","createErrorMessage","urlList","errorContainer","errorContent","_i2","methods","addProperty","onGet","onSet","oldValue","getFn","setFn","assignGettersSetters","propName","substring","getSrc","getTypeFromFile","_src","absolutizeUrl","_type2","_i3","_src2","_type3","_media","renderInfo","createEvent","dispatchEvent","querySelector","assignMethods","methodName","_i4","_i5","_total","eventName","callbacks","_i6","_i7","mejs","readOnlyProperties","_createClass","defineProperties","descriptor","protoProps","staticProps","Renderer","renderersLength","rendererIndicator","rendererRanking","jl","canPlayType","_order","_renderers","Renderers","_i18n","_i18n2","_player","_player2","Features","_interopRequireWildcard","_dom","newObj","config","usePluginFullScreen","fullscreenText","isFullScreen","isNativeFullScreen","isInIframe","isPluginClickThroughCreated","fullscreenMode","containerSizeTimeout","buildfullscreen","player","isVideo","detectFullscreenMode","fullscreenTitle","isString","fullscreenBtn","classPrefix","addControlElement","HAS_TRUE_NATIVE_FULLSCREEN","IS_FULLSCREEN","exitFullScreen","enterFullScreen","globalBind","normalHeight","normalWidth","fullscreenChanged","setControlsSize","FULLSCREEN_EVENT_NAME","isNative","mode","SUPPORT_POINTER_EVENTS","cleanfullscreen","containerStyles","HAS_IOS_FULLSCREEN","webkitEnterFullscreen","requestFullScreen","checkFullscreen","percentErrorMargin","windowWidth","innerWidth","clientWidth","screenWidth","screen","absDiff","abs","marginError","setDimensions","layers","zoomFactor","min","captionText","fontSize","lineHeight","bottom","cancelFullScreen","_total2","playText","pauseText","buildplaypause","controls","op","playTitle","pauseTitle","playBtn","togglePlayPause","loop","_time","enableProgressTooltip","useSmoothHover","buildprogress","lastKeyPressTime","mouseIsDown","startedPaused","autoRewindInitial","autoRewind","tooltip","rail","loaded","timefloat","timefloatcurrent","slider","hovered","newTime","forcedHandlePause","setTransformStyle","element","webkitTransform","MozTransform","msTransform","OTransform","handleMouseMove","totalStyles","offsetStyles","mozTransform","oTransform","cssMatrix","percentage","x","getDuration","getCurrentTime","toFixed","setCurrentRailHandle","updateCurrent","IS_ANDROID","matrix","handleLocation","m41","hoverScaleX","secondsToTimeCode","alwaysShowHours","showTimecodeFrameCount","framesPerSecond","secondsDecimalLength","updateSlider","seconds","timeSliderText","restartPlayer","handleMouseup","setCurrentRail","keyActions","seekForward","defaultSeekForwardInterval","seekBackward","defaultSeekBackwardInterval","seekTime","Infinity","IS_FIREFOX","floor","endEvents","totalEvents","globalUnbind","broadcast","setProgressRail","buffered","bytesTotal","bufferedBytes","lengthComputable","fakeTime","setCurrentRailMain","nTime","tW","newWidth","round","handlePos","timeAndDurationSeparator","buildcurrent","controlsAreVisible","buildduration","currTime","updateDuration","timecode","startLanguage","tracksText","chaptersText","tracksAriaLive","hideCaptionsButtonWhenEmpty","toggleCaptionsButtonWhenOnlyOne","slidesSelector","hasChapters","buildtracks","tracks","trackFiles","tracksTitle","chaptersTitle","domNode","textTracks","cleartracks","captions","captionsText","captionsButton","chaptersButton","subtitleCount","kind","trackToLoad","selectedTrack","isLoadingTrack","_kind","addTrackButton","trackId","srclang","loadNextTrack","inEvents","outEvents","setTrack","labels","_total3","_total4","_total5","_i8","_total6","displayCaptions","slidesContainer","displaySlides","chapters","rebuildtracks","findTracks","tracktags","track","entries","isLoaded","radios","_i9","_total7","_i10","_total8","_i11","_total9","_track","loadTrack","checkForTracks","d","TrackFormatParser","dfxp","webvtt","enableTrackButton","setupSlides","drawChapters","removeTrackButton","codes","targetSiblings","hasSubtitles","sanitize","allElements","_i12","attributesObj","startsWith","searchTrackPosition","slides","imgs","showSlide","img","_visible","_i13","_total10","listItems","_i14","_total11","_i15","_total12","lo","hi","mid","af","sq","ar","be","bg","ca","zh","hr","cs","da","nl","et","fl","fi","fr","gl","de","ht","iw","hu","ga","it","ja","ko","lv","lt","mk","ms","mt","no","fa","pl","pt","ro","ru","sr","sk","sl","es","sw","sv","tl","uk","vi","cy","yi","trackText","lines","convertSMPTEtoSeconds","styleNode","_i16","_total13","_temp","_style","muteText","unmuteText","allyVolumeControlText","hideVolumeOnTouchDevices","audioVolume","videoVolume","startVolume","buildvolume","volumeControlText","mute","anchor","mouseIsOver","updateVolumeSlider","volume","volumeSlider","volumeTotal","volumeCurrent","volumeHandle","positionVolumeHandle","_button","volumePercentage","volumeStyles","marginBottom","handleVolumeMove","totalOffset","railHeight","newY","railWidth","newX","setMuted","setVolume","toggleMute","muted","rendered","Zepto","ender","_mediaelement","_mediaelement2","dom","mepIndex","players","showPosterWhenEnded","showPosterWhenPaused","defaultVideoWidth","defaultVideoHeight","videoWidth","videoHeight","defaultAudioWidth","defaultAudioHeight","audioWidth","audioHeight","enableAutosize","timeFormat","hideVideoControlsOnLoad","hideVideoControlsOnPause","clickToPlayPause","controlsTimeoutDefault","controlsTimeoutMouseEnter","controlsTimeoutMouseLeave","iPadUseNativeControls","iPhoneUseNativeControls","AndroidUseNativeControls","features","enableKeyboard","pauseOtherPlayers","action","ended","showControls","startControlsTimer","newVolume","MepDefaults","controlsEnabled","controlsTimer","calculateTimeFormat","meOptions","_meReady","_handleError","isDynamic","IS_IPAD","IS_IPHONE","videoPlayerTitle","offscreen","btnSelector","isNodeAfter","background","outerContainer","wrapper","IS_SAFARI","childNode","forEach","tagType","capsTagName","initialAspectRatio","setPlayerSize","pluginWidth","pluginHeight","_loop","hideControls","forceHide","keyboardAction","_loop2","killControlsTimer","disableControls","enableControls","autoplayAttr","autoplay","created","buildposter","buildkeyboard","buildoverlays","featurePosition","feature","clickToPlayPauseCallback","pressed","createIframeLayer","playerIndex","loadingElement","exp","webkitIsFullScreen","setFillMode","setResponsiveMode","hasFluidMode","currentStyle","parentEl","frameElement","parentElement","parentStyles","nativeWidth","nativeHeight","aspectRatio","ratio","parentHeight","newHeight","parentWidth","innerHeight","clientHeight","layerChildren","isIframe","maxHeight","targetElement","initHeight","initWidth","scaleX1","scaleY1","scaleX2","scaleY2","bScaleOnWidth","finalWidth","finalHeight","marginTop","totalMargin","railStyles","railMargin","siblingsWidth","controlsWidth","child","layer","resetSize","setPoster","posterDiv","posterImg","backgroundImage","changeSkin","splitEvents","eventList","reduce","part","_eventList","_eventList2","posterUrl","loading","bigPlay","buffer","keyPressed","IS_STOCK_ANDROID","canplayTimeout","initEvent","onkeydown","keyAction","getVolume","featureIndex","_loop3","newTrack","destroy","mediaelementplayer","NativeDash","dashjs","_createPlayer","path","loadScript","MediaPlayer","DashNativeRenderer","dash","debug","drm","robustnessLevel","HAS_MSE","dashPlayer","attachSource","setProtectionData","getProtectionController","setRobustnessLevel","_dashPlayer","dashEvents","assignEvents","getDebug","setLogToBrowserConsole","initialize","setScheduleWhilePaused","setFastSwitchEnabled","attachView","setAutoPlay","Utils","assignMdashEvents","eventType","typeChecks","PluginDetector","plugins","hasPluginVersion","plugin","pv","addPlugin","pluginName","activeX","axDetect","detectPlugin","description","ax","NAV","mimeTypes","enabledPlugin","ActiveXObject","GetVariable","FlashMediaElementRenderer","flash","flashState","flashApi","flashApiStack","initEvents","flashReady","stackItem","flashWrapper","flashVars","flashHeight","flashWidth","enablePseudoStreaming","pseudoStreamingStartQueryParam","pseudoStreamingType","IS_IE","specialIEContainer","outerHTML","filename","flashNode","fire_setSize","hasFlash","FlashMediaElementVideoRenderer","FlashMediaElementHlsVideoRenderer","FlashMediaElementMdashVideoRenderer","FlashMediaElementAudioRenderer","FlashMediaElementAudioOggRenderer","NativeFlv","flvjs","LoggingControl","enableDebug","enableVerbose","createPlayer","FlvNativeRenderer","flv","flvPlayer","_flvOptions","attachMediaElement","_flvPlayer","flvEvents","Events","unload","detachMediaElement","assignFlvEvents","flvOptions","NativeHls","Hls","HlsNativeRenderer","hls","autoStartLoad","preload","hlsPlayer","loadSource","attachMedia","_hlsPlayer","hlsEvents","detachMedia","recoverDecodingErrorDate","recoverSwapAudioCodecDate","assignHlsEvents","fatal","getTime","recoverMediaError","swapAudioCodec","startLoad","stopLoad","HtmlMediaElement","SUPPORTS_NATIVE_HLS","YouTubeApi","isIframeStarted","isIframeLoaded","iframeQueue","enqueueIframe","YT","createIframe","loadIframeApi","iFrameReady","Player","containerId","getYouTubeId","youTubeId","getYouTubeIdFromParam","getYouTubeIdFromUrl","parameters","paramParts","lastIndexOf","getYouTubeNoCookieUrl","YouTubeIframeRenderer","youtube","disablekb","modestbranding","playsinline","rel","showinfo","iv_load_policy","nocookie","apiStack","youTubeApi","youTubeIframe","isMuted","percentLoaded","getVideoLoadedFraction","getVideoUrl","_videoId","loadVideoById","cueVideoById","seekTo","unMute","playVideo","pauseVideo","youtubeContainer","isAudio","videoId","youtubeSettings","playerVars","html5","origin","onReady","youTubeState","getIframe","newEvent","onStateChange","stopInterval","startInterval","onError","onEvent","_youTubeState","setInterval","clearInterval","postMessage","onYouTubePlayerAPIReady","HAS_NATIVE_FULLSCREEN_ENABLED","HAS_MS_NATIVE_FULLSCREEN","HAS_MOZ_NATIVE_FULLSCREEN","HAS_WEBKIT_NATIVE_FULLSCREEN","HAS_NATIVE_FULLSCREEN","IS_CHROME","IS_EDGE","IS_IPOD","UA","navigator","userAgent","MSStream","appName","pointerEvents","supports","html5Elements","video","hasiOSFullScreen","hasNativeFullscreen","requestFullscreen","hasWebkitNativeFullScreen","webkitRequestFullScreen","hasMozNativeFullScreen","mozRequestFullScreen","hasMsNativeFullScreen","msRequestFullscreen","hasTrueNativeFullScreen","nativeFullScreenEnabled","fullScreenEventName","mozFullScreenEnabled","msFullscreenEnabled","mozFullScreen","msFullscreenElement","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen","isiPad","isiPod","isiPhone","isiOS","isAndroid","isIE","isEdge","isChrome","isFirefox","isSafari","isStockAndroid","hasMSE","supportsNativeHLS","supportsPointerEvents","hasClassMethod","addClassMethod","removeClassMethod","timestamp","responseXML","debounce","c","_arguments","immediate","later","callNow","getOwnPropertyNames","rwindow","eventFrags","CustomEvent","sourceNode","targetNode","getMimeFromType","getExtension","normalizeExtension","substr","ext","normalizedExt","mime","baseUrl","baseName","extension","_promisePolyfill","_promisePolyfill2","Element","CharacterData","DocumentType","initCustomEvent","nextSource","nextKey","searchString","lastTime","vendors","cancelAnimationFrame","timeToCall","mediaElementJsOldGetComputedStyle","pseudoEl","Node","isDropFrame","timeCodeToSeconds","fps","forceHours","showFrameCount","dropFrames","timeBase","framesPer24Hours","framesPer10Minutes","frameSep","hours","minutes","frames","timeBaseDivision","output","totalMinutes","hFrames","mFrames","lis","firstTwoPlaces","separatorIndex","separator","firstChar","required","hasNextValue","currentTimeFormat","SMPTE","decimalLen","secs","multiplier","pow","Number","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","runClearTimeout","marker","draining","currentQueue","queueIndex","cleanUpNextTick","drainQueue","nextTick","Item","array","title","browser","env","argv","versions","addListener","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","nextHandle","tasksByHandle","currentlyRunningATask","registerImmediate","task","clearImmediate","runIfPresent","installNextTickImplementation","canUsePostMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","installPostMessageImplementation","messagePrefix","onGlobalMessage","installMessageChannelImplementation","channel","MessageChannel","port1","port2","installReadyStateChangeImplementation","installSetTimeoutImplementation","attachTo","IIIFParser","hasCanvases","hasMultipleCanvases","hasSequences","sequences","structureLink","newUl","buildStructureLink","lookForBody","canvasId","canvasesParent","possibleCanvas","canvasPos","hashPos","canvasIndex","manifestMap","buildManifestMap","canvasObject","sequence","targetItem","uri","splitFragment","choices","getCanvasIndex","getCanvasByIndex","hashParams","tIndex","timesStr","thumbnail","iiifPlayer","currentDir","pathname","fixedCss","fullMatch","origUrl","unquotedOrigUrl","$1","newUrl","Timeout","close","clearFn","_id","_clearFn","unref","ref","enroll","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","onTimeout","_onTimeout","webpackPolyfill","deprecate","paths"],"mappings":"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;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA,kBAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,mBAAmB;AAClC;AACA;AACA;AACA;AACA,iBAAiB,2BAA2B;AAC5C;AACA;AACA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA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","file":"iiif-player-bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 13);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 069dea3ab3e5f0d95706","module.exports = \"\\\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='120' viewBox='0 0 400 120'%3E%3Cstyle%3E.st0%7Bfill:%23FFFFFF;width:16px;height:16px%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.5;stroke-linecap:round;%7D .st2%7Bfill:none;stroke:%23FFFFFF;stroke-width:2;stroke-linecap:round;%7D .st3%7Bfill:none;stroke:%23FFFFFF;%7D .st4%7Bfill:%23231F20;%7D .st5%7Bopacity:0.75;fill:none;stroke:%23FFFFFF;stroke-width:5;enable-background:new;%7D .st6%7Bfill:none;stroke:%23FFFFFF;stroke-width:5;%7D .st7%7Bopacity:0.4;fill:%23FFFFFF;enable-background:new;%7D .st8%7Bopacity:0.6;fill:%23FFFFFF;enable-background:new;%7D .st9%7Bopacity:0.8;fill:%23FFFFFF;enable-background:new;%7D .st10%7Bopacity:0.9;fill:%23FFFFFF;enable-background:new;%7D .st11%7Bopacity:0.3;fill:%23FFFFFF;enable-background:new;%7D .st12%7Bopacity:0.5;fill:%23FFFFFF;enable-background:new;%7D .st13%7Bopacity:0.7;fill:%23FFFFFF;enable-background:new;%7D%3C/style%3E%3Cpath class='st0' d='M16.5 8.5c.3.1.4.5.2.8-.1.1-.1.2-.2.2l-11.4 7c-.5.3-.8.1-.8-.5V2c0-.5.4-.8.8-.5l11.4 7z'/%3E%3Cpath class='st0' d='M24 1h2.2c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1zm9.8 0H36c.6 0 1 .4 1 1v14c0 .6-.4 1-1 1h-2.2c-.6 0-1-.4-1-1V2c0-.5.4-1 1-1z'/%3E%3Cpath class='st0' d='M81 1.4c0-.6.4-1 1-1h5.4c.6 0 .7.3.3.7l-6 6c-.4.4-.7.3-.7-.3V1.4zm0 15.8c0 .6.4 1 1 1h5.4c.6 0 .7-.3.3-.7l-6-6c-.4-.4-.7-.3-.7.3v5.4zM98.8 1.4c0-.6-.4-1-1-1h-5.4c-.6 0-.7.3-.3.7l6 6c.4.4.7.3.7-.3V1.4zm0 15.8c0 .6-.4 1-1 1h-5.4c-.6 0-.7-.3-.3-.7l6-6c.4-.4.7-.3.7.3v5.4z'/%3E%3Cpath class='st0' d='M112.7 5c0 .6.4 1 1 1h4.1c.6 0 .7-.3.3-.7L113.4.6c-.4-.4-.7-.3-.7.3V5zm-7.1 1c.6 0 1-.4 1-1V.9c0-.6-.3-.7-.7-.3l-4.7 4.7c-.4.4-.3.7.3.7h4.1zm1 7.1c0-.6-.4-1-1-1h-4.1c-.6 0-.7.3-.3.7l4.7 4.7c.4.4.7.3.7-.3v-4.1zm7.1-1c-.6 0-1 .4-1 1v4.1c0 .5.3.7.7.3l4.7-4.7c.4-.4.3-.7-.3-.7h-4.1z'/%3E%3Cpath class='st0' d='M67 5.8c-.5.4-1.2.6-1.8.6H62c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L67 5.8z'/%3E%3Cpath class='st1' d='M73.9 2.5s3.9-.8 3.9 7.7-3.9 7.8-3.9 7.8'/%3E%3Cpath class='st1' d='M72.6 6.4s2.6-.4 2.6 3.8-2.6 3.9-2.6 3.9'/%3E%3Cpath class='st0' d='M47 5.8c-.5.4-1.2.6-1.8.6H42c-.6 0-1 .4-1 1v5.7c0 .6.4 1 1 1h4.2c.3.2.5.4.8.6l3.5 2.6c.4.3.8.1.8-.4V3.5c0-.5-.4-.7-.8-.4L47 5.8z'/%3E%3Cpath class='st2' d='M52.8 7l5.4 5.4m-5.4 0L58.2 7'/%3E%3Cpath class='st3' d='M128.7 8.6c-6.2-4.2-6.5 7.8 0 3.9m6.5-3.9c-6.2-4.2-6.5 7.8 0 3.9'/%3E%3Cpath class='st0' d='M122.2 3.4h15.7v13.1h-15.7V3.4zM120.8 2v15.7h18.3V2h-18.3z'/%3E%3Cpath class='st0' d='M143.2 3h14c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2h-14c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2z'/%3E%3Cpath class='st4' d='M146.4 13.8c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.6.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.7.5-1.6.7-2.5.8zm7.5 0c-.8 0-1.6-.4-2.1-1-1.1-1.4-1-3.4.1-4.8.5-.6 2-1.7 4.6.2l-.5.8c-1.4-1-2.6-1.1-3.3-.3-.8 1-.8 2.4-.1 3.5.7.9 1.9.8 3.4-.1l.5.9c-.8.5-1.7.7-2.6.8z'/%3E%3Cpath class='st0' d='M60.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L30 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L60.3 77z'/%3E%3Cpath class='st5' d='M2.5 79c0-20.7 16.8-37.5 37.5-37.5S77.5 58.3 77.5 79 60.7 116.5 40 116.5 2.5 99.7 2.5 79z'/%3E%3Cpath class='st0' d='M140.3 77c.6.2.8.8.6 1.4-.1.3-.3.5-.6.6L110 96.5c-1 .6-1.7.1-1.7-1v-35c0-1.1.8-1.5 1.7-1L140.3 77z'/%3E%3Cpath class='st6' d='M82.5 79c0-20.7 16.8-37.5 37.5-37.5s37.5 16.8 37.5 37.5-16.8 37.5-37.5 37.5S82.5 99.7 82.5 79z'/%3E%3Ccircle class='st0' cx='201.9' cy='47.1' r='8.1'/%3E%3Ccircle class='st7' cx='233.9' cy='79' r='5'/%3E%3Ccircle class='st8' cx='201.9' cy='110.9' r='6'/%3E%3Ccircle class='st9' cx='170.1' cy='79' r='7'/%3E%3Ccircle class='st10' cx='178.2' cy='56.3' r='7.5'/%3E%3Ccircle class='st11' cx='226.3' cy='56.1' r='4.5'/%3E%3Ccircle class='st12' cx='225.8' cy='102.8' r='5.5'/%3E%3Ccircle class='st13' cx='178.2' cy='102.8' r='6.5'/%3E%3Cpath class='st0' d='M178 9.4c0 .4-.4.7-.9.7-.1 0-.2 0-.2-.1L172 8.2c-.5-.2-.6-.6-.1-.8l6.2-3.6c.5-.3.8-.1.7.5l-.8 5.1z'/%3E%3Cpath class='st0' d='M169.4 15.9c-1 0-2-.2-2.9-.7-2-1-3.2-3-3.2-5.2.1-3.4 2.9-6 6.3-6 2.5.1 4.8 1.7 5.6 4.1l.1-.1 2.1 1.1c-.6-4.4-4.7-7.5-9.1-6.9-3.9.6-6.9 3.9-7 7.9 0 2.9 1.7 5.6 4.3 7 1.2.6 2.5.9 3.8 1 2.6 0 5-1.2 6.6-3.3l-1.8-.9c-1.2 1.2-3 2-4.8 2z'/%3E%3Cpath class='st0' d='M183.4 3.2c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5zm-5.1 5c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5c0-.9.7-1.5 1.5-1.5zm5.1 0h8.5c.9 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5h-8.5c-.9 0-1.5-.7-1.5-1.5-.1-.9.6-1.5 1.5-1.5z'/%3E%3C/svg%3E\\\"\"\n\n\n// WEBPACK FOOTER //\n// ./~/mediaelement/src/css/mejs-controls.svg","/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\nmodule.exports = function(useSourceMap) {\n\tvar list = [];\n\n\t// return the list of modules as css string\n\tlist.toString = function toString() {\n\t\treturn this.map(function (item) {\n\t\t\tvar content = cssWithMappingToString(item, useSourceMap);\n\t\t\tif(item[2]) {\n\t\t\t\treturn \"@media \" + item[2] + \"{\" + content + \"}\";\n\t\t\t} else {\n\t\t\t\treturn content;\n\t\t\t}\n\t\t}).join(\"\");\n\t};\n\n\t// import a list of modules into the list\n\tlist.i = function(modules, mediaQuery) {\n\t\tif(typeof modules === \"string\")\n\t\t\tmodules = [[null, modules, \"\"]];\n\t\tvar alreadyImportedModules = {};\n\t\tfor(var i = 0; i < this.length; i++) {\n\t\t\tvar id = this[i][0];\n\t\t\tif(typeof id === \"number\")\n\t\t\t\talreadyImportedModules[id] = true;\n\t\t}\n\t\tfor(i = 0; i < modules.length; i++) {\n\t\t\tvar item = modules[i];\n\t\t\t// skip already imported module\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\n\t\t\t// when a module is imported multiple times with different media queries.\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\n\t\t\t\tif(mediaQuery && !item[2]) {\n\t\t\t\t\titem[2] = mediaQuery;\n\t\t\t\t} else if(mediaQuery) {\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\n\t\t\t\t}\n\t\t\t\tlist.push(item);\n\t\t\t}\n\t\t}\n\t};\n\treturn list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n\tvar content = item[1] || '';\n\tvar cssMapping = item[3];\n\tif (!cssMapping) {\n\t\treturn content;\n\t}\n\n\tif (useSourceMap && typeof btoa === 'function') {\n\t\tvar sourceMapping = toComment(cssMapping);\n\t\tvar sourceURLs = cssMapping.sources.map(function (source) {\n\t\t\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\n\t\t});\n\n\t\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n\t}\n\n\treturn [content].join('\\n');\n}\n\n// Adapted from convert-source-map (MIT)\nfunction toComment(sourceMap) {\n\t// eslint-disable-next-line no-undef\n\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\n\n\treturn '/*# ' + data + ' */';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./~/css-loader/lib/css-base.js","/*!\n * jQuery JavaScript Library v3.2.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2017-03-20T18:59Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar document = window.document;\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar concat = arr.concat;\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\n\n\n\tfunction DOMEval( code, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar script = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.2.1\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android <=4.0 only\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && Array.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisWindow: function( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// As of jQuery 3.0, isNumeric is limited to\n\t\t// strings and numbers (primitives or objects)\n\t\t// that can be coerced to finite numbers (gh-2662)\n\t\tvar type = jQuery.type( obj );\n\t\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t\t// subtraction forces infinities to NaN\n\t\t\t!isNaN( obj - parseFloat( obj ) );\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\n\t\t/* eslint-disable no-unused-vars */\n\t\t// See https://github.com/eslint/eslint/issues/6125\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\n\t\t// Support: Android <=2.3 only (functionish RegExp)\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Evaluates a script in a global context\n\tglobalEval: function( code ) {\n\t\tDOMEval( code );\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Support: IE <=9 - 11, Edge 12 - 13\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android <=4.0 only\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar tmp, args, proxy;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: Date.now,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.3\n * https://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-08-08\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tdisabledAncestor = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && (\"form\" in elem || \"label\" in elem);\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = \"#\" + nid + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement(\"fieldset\");\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tdisabledAncestor( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( preferredDoc !== document &&\n\t\t(subWindow = document.defaultView) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( el ) {\n\t\tel.appendChild( document.createComment(\"\") );\n\t\treturn !el.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( (elem = elems[i++]) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode(\"id\");\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( el ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll(\":enabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll(\":disabled\").length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( el ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn (sel + \"\").replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( (oldCache = uniqueCache[ key ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( el ) {\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement(\"fieldset\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( el ) {\n\treturn el.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n};\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Simple selector that can be filtered directly, removing non-Elements\n\tif ( risSimple.test( qualifier ) ) {\n\t\treturn jQuery.filter( qualifier, elements, not );\n\t}\n\n\t// Complex selector, compare the two sets, removing non-Elements\n\tqualifier = jQuery.filter( qualifier, elements );\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n if ( nodeName( elem, \"iframe\" ) ) {\n return elem.contentDocument;\n }\n\n // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n // Treat the template element as a regular one in browsers that\n // don't support it.\n if ( nodeName( elem, \"template\" ) ) {\n elem = elem.content || elem;\n }\n\n return jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && jQuery.isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( jQuery.isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tjQuery.isFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tjQuery.isFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tjQuery.isFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the master Deferred\n\t\t\tmaster = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tmaster.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( master.state() === \"pending\" ||\n\t\t\t\tjQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn master.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\n\t\t}\n\n\t\treturn master.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\tvalue :\n\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see #8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ jQuery.camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ jQuery.camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( jQuery.camelCase );\n\t\t\t} else {\n\t\t\t\tkey = jQuery.camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tjQuery.contains( elem.ownerDocument, elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\n\t// Support: IE <=9 only\n\toption: [ 1, \"\" ],\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
\" ],\n\tcol: [ 2, \"\", \"
\" ],\n\ttr: [ 2, \"\", \"
\" ],\n\ttd: [ 3, \"\", \"
\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\n// Support: IE <=9 only\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, contains, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (#12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (#11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n} )();\nvar documentElement = document.documentElement;\n\n\n\nvar\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 only\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tvar event = jQuery.event.fix( nativeEvent );\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\t\t\thandlers = ( dataPriv.get( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: jQuery.isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\tthis.focus();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this.type === \"checkbox\" && this.click && nodeName( this, \"input\" ) ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (#504, #13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\n\twhich: function( event ) {\n\t\tvar button = event.button;\n\n\t\t// Add which for key events\n\t\tif ( event.which == null && rkeyEvent.test( event.type ) ) {\n\t\t\treturn event.charCode != null ? event.charCode : event.keyCode;\n\t\t}\n\n\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\tif ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {\n\t\t\tif ( button & 1 ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tif ( button & 2 ) {\n\t\t\t\treturn 3;\n\t\t\t}\n\n\t\t\tif ( button & 4 ) {\n\t\t\t\treturn 2;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn event.which;\n\t}\n}, jQuery.event.addProp );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t/* eslint-disable max-len */\n\n\t// See https://github.com/eslint/eslint/issues/3229\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,\n\n\t/* eslint-enable */\n\n\t// Support: IE <=10 - 11, Edge 12 - 13\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( \">tbody\", elem )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.access( src );\n\t\tpdataCur = dataPriv.set( dest, pdataOld );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdelete pdataCur.handle;\n\t\t\tpdataCur.events = {};\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rmargin = ( /^margin/ );\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdiv.style.cssText =\n\t\t\t\"box-sizing:border-box;\" +\n\t\t\t\"position:relative;display:block;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"top:1%;width:50%\";\n\t\tdiv.innerHTML = \"\";\n\t\tdocumentElement.appendChild( container );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = divStyle.marginLeft === \"2px\";\n\t\tboxSizingReliableVal = divStyle.width === \"4px\";\n\n\t\t// Support: Android 4.0 - 4.3 only\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.marginRight = \"50%\";\n\t\tpixelMarginRightVal = divStyle.marginRight === \"4px\";\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (#8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;\" +\n\t\t\"padding:0;margin-top:1px;position:absolute\";\n\tcontainer.appendChild( div );\n\n\tjQuery.extend( support, {\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelMarginRight: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelMarginRightVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, #12537)\n\t// .css('--customProperty) (#3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( ret === \"\" && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trcustomProp = /^--/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style;\n\n// Return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( name ) {\n\n\t// Shortcut for names that are not vendor prefixed\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a property mapped along what jQuery.cssProps suggests or to\n// a vendor prefixed property.\nfunction finalPropName( name ) {\n\tvar ret = jQuery.cssProps[ name ];\n\tif ( !ret ) {\n\t\tret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;\n\t}\n\treturn ret;\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i,\n\t\tval = 0;\n\n\t// If we already have the right measurement, avoid augmentation\n\tif ( extra === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\ti = 4;\n\n\t// Otherwise initialize for horizontal or vertical properties\n\t} else {\n\t\ti = name === \"width\" ? 1 : 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// At this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// At this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// At this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with computed style\n\tvar valueIsBorderBox,\n\t\tstyles = getStyles( elem ),\n\t\tval = curCSS( elem, name, styles ),\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// Computed unit is not pixels. Stop here and return.\n\tif ( rnumnonpx.test( val ) ) {\n\t\treturn val;\n\t}\n\n\t// Check for style in case a browser which returns unreliable values\n\t// for getComputedStyle silently falls back to the reliable elem.style\n\tvalueIsBorderBox = isBorderBox &&\n\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t// Fall back to offsetWidth/Height when value is \"auto\"\n\t// This happens for inline elements with no explicit setting (gh-3571)\n\tif ( val === \"auto\" ) {\n\t\tval = elem[ \"offset\" + name[ 0 ].toUpperCase() + name.slice( 1 ) ];\n\t}\n\n\t// Normalize \"\", auto, and prepare for extra\n\tval = parseFloat( val ) || 0;\n\n\t// Use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\t\t\"float\": \"cssFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (#7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\tif ( type === \"number\" ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = extra && getStyles( elem ),\n\t\t\t\tsubtract = extra && augmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t);\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ name ] = value;\n\t\t\t\tvalue = jQuery.css( elem, name );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 &&\n\t\t\t\t( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 13\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( jQuery.isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tjQuery.proxy( result.stop, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://html.spec.whatwg.org/multipage/infrastructure.html#strip-and-collapse-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnothtmlwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnothtmlwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\telem.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( type === \"string\" ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = value.match( rnothtmlwhite ) || [];\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/;\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\telem[ type ]();\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\njQuery.each( ( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n} );\n\njQuery.fn.extend( {\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\n\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = jQuery.now();\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\n\tif ( !xml || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = jQuery.isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\toriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 13\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce++ ) + uncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// #1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see #8605, #14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// #14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"