{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/einsteinRecs.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/einsteinUtils.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/productTile.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/slider.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/hosted.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/index.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/videoHelper.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/videoModal.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/vimeo.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/video/youtube.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/button.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/hero.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/pageDesigner/index.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/scripts/constants/SiteConstants.js","webpack:///../rvw_autobahn_core/node_modules/ev-emitter/ev-emitter.js","webpack:///../rvw_autobahn_core/node_modules/global/document.js","webpack:///../rvw_autobahn_core/node_modules/global/window.js","webpack:///../rvw_autobahn_core/node_modules/imagesloaded/imagesloaded.js","webpack:///../rvw_autobahn_core/node_modules/jquery-zoom/jquery.zoom.js","webpack:///../rvw_autobahn_core/node_modules/jquery.scrollintoview/jquery.scrollintoview.js","webpack:///../rvw_autobahn_core/node_modules/jquery/dist/jquery.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addCSSRule.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/addEvents.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/arrayFromNodeList.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/caf.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/calc.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/checkStorageValue.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/classListSupport.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/createStyleSheet.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/docElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/events.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/extend.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/forEach.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getAttr.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getCssRulesLength.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getEndProperty.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getSlideId.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/getTouchDirection.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/has3DTransforms.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hasAttr.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hasClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/hideElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/isNodeList.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/isVisible.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/jsTransform.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/mediaquerySupport.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/passiveOption.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/percentageLayout.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/raf.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeAttrs.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeCSSRule.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeClass.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/removeEvents.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/resetFakeBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setAttrs.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setFakeBody.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/setLocalStorage.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/showElement.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/toDegree.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/helpers/whichProperty.js","webpack:///../rvw_autobahn_core/node_modules/tiny-slider/src/tiny-slider.js","webpack:///../rvw_autobahn_core/node_modules/video.js/dist/video.min.js","webpack:///../rvw_pagedesigner_core/cartridges/rvw_pagedesigner_core/cartridge/client/default/js/pageDesigner.js","webpack:///../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js","webpack:///../storefront-reference-architecture/node_modules/base64-js/index.js","webpack:///../storefront-reference-architecture/node_modules/ieee754/index.js","webpack:///../storefront-reference-architecture/node_modules/isarray/index.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_Symbol.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_baseGetTag.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_baseTrim.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_freeGlobal.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_getRawTag.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_objectToString.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_root.js","webpack:///../storefront-reference-architecture/node_modules/lodash/_trimmedEndIndex.js","webpack:///../storefront-reference-architecture/node_modules/lodash/debounce.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isObject.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isObjectLike.js","webpack:///../storefront-reference-architecture/node_modules/lodash/isSymbol.js","webpack:///../storefront-reference-architecture/node_modules/lodash/now.js","webpack:///../storefront-reference-architecture/node_modules/lodash/toNumber.js","webpack:///./node_modules/node-libs-browser/node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///min-document (ignored)"],"names":["einsteinUtils","require","productTile","abSlider","module","exports","loadRecommendations","e","$context","$","$recommendationTargets","hasClass","find","each","$recTrigger","data","asyncUrl","url","getRecommendations","einsteinResponse","response","interpretResponse","i","rec","id","pidURL","indexOf","first","attr","remove","$sliderContainer","closest","removeClass","init","status","tns","errors","destroy","rebuild","initializeSliders","parent","context","document","off","on","triggerHandler","getEinsteinUtils","window","CQuotient","getCQUserId","getCQCookieId","callback","params","userId","cookieId","ccver","anchors","length","getRecs","clientId","recommender","widgets","push","recommenderName","parameters","request","recs","promiseChains","promiseIndex","selectors","processing","sending","callbackfn","scope","initErrors","filter","replace","$target","deferment","Deferred","undefined","when","then","ajax","dataType","timeout","beforeSend","addClass","error","$slide","add","eq","success","replaceWith","trigger","complete","resolve","apply","call","tinySlider","zoom","imagesLoaded","SiteConstants","mediumBreakpoint","BreakpointSizes","md","largeBreakpoint","lg","getSliderAttributes","$slider","attributes","Object","autoplayDelay","parseInt","autoplay","isNaN","autoplayTimeout","loop","itemsNumber","items","itemsNumberMedium","itemsMedium","itemsNumberLarge","itemsLarge","gutter","gutterMedium","gutterLarge","speed","mode","animateIn","animateOut","$thumbnailSlider","thumbnailContainer","navContainer","navAsThumbnails","controlsContainer","getSliderParams","slideItems","container","autoplayHoverPause","preventScrollOnTouch","responsive","slideIntoView","slider","$activeThumbnail","scrollintoview","getUpdatedSlideItems","images","assets","isThumbnail","forEach","image","$slideElement","$imageElement","index","alt","toFixed","append","getPDPGalleryAssetSlides","slideCount","hasVideo","asset","$videoButton","isVideo","assetRenderUrl","method","html","err","console","thumbnail","bindSliderUpdateEvent","event","$updatedSliderContainer","target","updatedSlideItems","updatedParams","$thumbnailContainer","$mainImageContainer","prev","small","$newSliderElement","$newSliderControls","events","enableImageZoom","handleThumbnailArrows","handleSliderVideos","isMobile","$slides","slide","zoomImageUrl","magnify","touch","$arrows","buffer","containerSize","sliderSize","done","outerWidth","scrollWidth","outerHeight","scrollHeight","$videos","_i","element","$videoContainer","videoID","player","Players","pause","config","play","bindPauseButton","sliderButtonPlacement","hasAttribute","prepend","preventDefault","toggleClass","$sliderContainers","promisegroup","$replace","isResolved","state","applyTinySlider","$container","tslider","initializeQuickviewModalSliders","modal","initializeWishlistModalSliders","initializeTargetSliders","debounce","VideoHelper","PlayerDefaults","controls","muted","hasThumb","initDomElements","$elem","domElements","$player","$thumb","siblings","$cntr","initConfig","playerAttrData","JSON","parse","ex","mute","videoId","createApiPlayer","overrides","onReadyCallback","onReady","extend","apiObj","videojs","playsinline","cache","time","currentTime","initPageEvents","$playerContainer","launchModal","paused","playPromise","removeSize","shouldPlay","autoplayPromise","playerId","type","getVolume","volume","setVolume","unmute","cachedVolume","setSize","css","height","width","setModal","VideoModal","launch","getShowEventHandler","$modal","getModalObj","$body","empty","dispose","$newPlayer","stringify","$newPlayerSource","getHideEventHandler","getPlayers","YouTube","Vimeo","Hosted","initPlayers","isAjaxEvent","$ytElements","$vimeoElements","$hostedElements","loadVimeoAPI","is","getUniquePlayerId","hasOwnProperty","loadYouTubeAPI","ytPromise","Promise","tag","createElement","src","onerror","Error","firstScriptTag","getElementsByTagName","parentNode","insertBefore","onYouTubeIframeAPIReady","onload","isPlayerVisible","onlyPlayWhenFullyInView","fitsInViewport","pageTop","scrollTop","pageBottom","elementTop","offset","top","elementBottom","isPlayerInInactiveSlide","isPlayerInInactiveTab","ModalTemplate","ModalStates","NOT_READY","READY","OPEN","CLOSED","myState","currentVideo","appendTo","States","detach","getShownEventHandler","getHiddenEventHandler","setState","getState","background","autopause","Player","getCurrentTime","seconds","ready","getPaused","test","navigator","userAgent","setTimeout","setCurrentTime","prependTo","playlist","origin","location","protocol","host","modestbranding","commonOnReady","YT","playerVars","enablejsapi","widget_referrer","onStateChange","PlayerState","PAUSED","PLAYING","onError","playerState","getPlayerState","playing","unMute","playVideo","pauseVideo","seekTo","button","heroAnimationSliders","classList","$replayButton","next","click","Button","Hero","checkIfVisible","$element","elementHeight","animateIfVisible","$elements","animationClass","isVisible","resetAnimationElement","shouldReset","offsetWidth","initScrollEvents","$animationElements","addEventListener","direction","detail","hero","TransitionSpeed","ComponentAnimationDelay","Spacer","placeholderImagePaths","defaultMapMarker","defaultStoreType","UP_KEY","DOWN_KEY","DIRECTION_DOWN","DIRECTION_UP","global","factory","define","EvEmitter","proto","prototype","eventName","listener","_events","listeners","once","onceEvents","_onceEvents","onceListeners","splice","emitEvent","args","slice","isOnce","allOff","topLevel","minDoc","doccy","win","self","jQuery","a","b","prop","arraySlice","Array","makeArray","obj","isArray","isArrayLike","ImagesLoaded","elem","options","onAlways","queryElem","querySelectorAll","elements","getImages","jqDeferred","check","bind","create","addElementImages","nodeName","addImage","addElementBackgroundImages","nodeType","elementNodeTypes","childImgs","img","children","child","style","getComputedStyle","reURL","matches","exec","backgroundImage","addBackground","loadingImage","LoadingImage","Background","_this","progressedCount","hasAnyBroken","onProgress","message","progress","isLoaded","notify","debug","log","isComplete","jqMethod","getIsImageComplete","confirm","naturalWidth","proxyImage","Image","handleEvent","unbindEvents","removeEventListener","makeJQueryPlugin","fn","instance","promise","defaults","duration","onZoomIn","onZoomOut","source","targetHeight","targetWidth","sourceHeight","sourceWidth","xRatio","yRatio","position","$source","overflow","left","opacity","border","maxWidth","maxHeight","move","pageX","pageY","Math","max","min","settings","$img","mousemove","clicked","touched","srcElement","querySelector","getAttribute","currentSrc","one","start","stop","fadeTo","support","isFunction","which","originalEvent","touches","changedTouches","setAttribute","root","converter","vertical","x","y","horizontal","both","viewPadding","rootrx","borders","domElement","styles","defaultView","currentStyle","px","parseFloat","borderTopWidth","borderLeftWidth","bottom","borderBottomWidth","right","borderRightWidth","dimensions","isRoot","scroll","scrollLeft","maxtop","clientHeight","maxleft","clientWidth","scrollbar","innerWidth","innerHeight","rect","getBoundingClientRect","toLowerCase","dirStr","el","scroller","dim","s","rel","animProperties","isEmptyObject","animateStep","now","tween","scrollExpect","floor","onscroll","key","value","scrollListener","animate","step","queue","dequeue","scrollValue","auto","visible","hidden","overflowX","overflowY","size","client","scrollableX","scrollableY","expr","scrollable","createPseudo","w","noGlobal","arr","getProto","getPrototypeOf","flat","array","concat","class2type","toString","hasOwn","fnToString","ObjectFunctionString","item","isWindow","preservedScriptAttributes","nonce","noModule","DOMEval","code","node","doc","val","script","text","head","appendChild","removeChild","toType","version","selector","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","map","arguments","last","even","grep","_elem","odd","len","j","end","sort","name","copy","copyIsArray","clone","deep","isPlainObject","expando","random","isReady","msg","noop","Ctor","globalEval","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","Symbol","iterator","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","pop","pushNative","list","booleans","whitespace","identifier","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","dir","childNodes","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","getElementById","getElementsByClassName","qsa","testContext","toSelector","join","qsaError","removeAttribute","keys","cacheLength","shift","markFunction","assert","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","relative","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","useCache","lastChild","uniqueID","pseudo","setFilters","idx","matched","matcher","unmatched","lang","elemLang","hash","activeElement","hasFocus","href","tabIndex","checked","selected","selectedIndex","_matchIndexes","radio","checkbox","file","password","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","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","n","rneedsContext","needsContext","rsingleTag","winnow","qualifier","not","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","contents","has","targets","l","prevAll","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","_","flag","Callbacks","firing","memory","fired","locked","firingIndex","fire","stopOnFalse","disable","lock","fireWith","Identity","v","Thrower","adoptValue","reject","noValue","fail","func","tuples","always","deferred","pipe","fns","newDefer","tuple","returned","onFulfilled","onRejected","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","stateString","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","warn","readyException","readyList","readyWait","wait","completed","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","dataAttr","removeData","_data","_removeData","startLength","hooks","_queueHooks","setter","clearQueue","count","defer","pnum","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","display","adjustCSS","valueParts","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","fragment","createDocumentFragment","div","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","tbody","tfoot","colgroup","caption","th","optgroup","getAll","setGlobalEval","refElements","buildFragment","scripts","selection","ignored","wrap","attached","nodes","createTextNode","htmlPrefilter","rtypenamespace","returnTrue","returnFalse","expectSync","safeActiveElement","types","origFn","handleObjIn","eventHandle","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","writable","load","noBubble","leverageNative","beforeunload","returnValue","notAsync","saved","isTrigger","stopImmediatePropagation","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","altKey","bubbles","cancelable","ctrlKey","eventPhase","metaKey","shiftKey","view","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","focus","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","before","after","replaceChild","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","swap","old","rboxStyle","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","scrollboxSizeVal","measure","round","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","offsetHeight","curCSS","computed","minWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","cssPrefixes","emptyStyle","vendorProps","vendorPropName","capName","finalPropName","final","cssProps","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","boxModelAdjustment","dimension","box","isBorderBox","computedVal","extra","delta","ceil","getWidthOrHeight","boxSizingNeeded","valueIsBorderBox","offsetProp","getClientRects","cssHooks","origName","isCustomProp","setProperty","isFinite","scrollboxSizeBuggy","margin","padding","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","pos","fx","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","propFilter","specialEasing","properties","stopped","prefilters","startTime","tweens","originalProperties","originalOptions","gotoEnd","timer","tweener","prefilter","opt","speeds","to","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","bool","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","stripAndCollapse","getClass","classesToArray","classes","curValue","clazz","finalValue","stateVal","isValidValue","classNames","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","isSuccess","conv2","current","conv","responseFields","dataFilter","active","lastModified","etag","isLocal","processData","async","contentType","accepts","json","ajaxSetup","ajaxPrefilter","ajaxTransport","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","abort","statusText","finalText","crossDomain","hasContent","ifModified","headers","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","trim","_jQuery","_$","noConflict","addCSSRule","sheet","rules","insertRule","addRule","classListSupport","str","addEvents","preventScrolling","passiveOption","arrayFromNodeList","nl","caf","cancelAnimationFrame","mozCancelAnimationFrame","calc","getBody","docOverflow","setFakeBody","vals","fake","resetFakeBody","checkStorageValue","createStyleSheet","media","styleSheet","docElement","Events","topics","emit","getAttr","getCssRulesLength","rule","cssRules","getEndProperty","propIn","propOut","endProp","getSlideId","tnsId","getTouchDirection","angle","range","gap","abs","has3DTransforms","tf","has3d","cssTF","hasAttr","hideElement","forceHide","isNodeList","jsTransform","postfix","from","Number","positionTick","running","moveElement","mediaquerySupport","matchMedia","msMatchMedia","supportsPassive","passive","percentageLayout","wrapper","outer","perPage","supported","raf","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","cb","removeAttrs","attrLength","removeCSSRule","deleteRule","removeRule","removeEvents","setAttrs","setLocalStorage","storage","setItem","showElement","toDegree","atan2","whichProperty","Props","charAt","substr","prefixes","Element","axis","edgePadding","fixedWidth","autoWidth","viewportMax","slideBy","center","controlsPosition","controlsText","prevButton","nextButton","nav","navPosition","arrowKeys","autoplayPosition","autoplayDirection","autoplayText","autoplayButton","autoplayButtonOutput","autoplayResetOnVisibility","animateNormal","animateDelay","rewind","autoHeight","lazyload","lazyloadSelector","mouseDrag","swipeAngle","nested","preventActionWhenRunning","freezable","onInit","useLocalStorage","KEYS","ENTER","SPACE","LEFT","RIGHT","tnsStorage","localStorageAccess","browserInfo","localStorage","getItem","removeItem","CALC","PERCENTAGELAYOUT","CSSMQ","TRANSFORM","HAS3DTRANSFORMS","TRANSITIONDURATION","TRANSITIONDELAY","ANIMATIONDURATION","ANIMATIONDELAY","TRANSITIONEND","ANIMATIONEND","supportConsoleWarn","tnsList","optionsElements","carousel","responsiveTem","updateOptions","outerWrapper","innerWrapper","middleWrapper","containerParent","containerHTML","outerHTML","breakpointZone","windowWidth","getWindowWidth","isOn","setBreakpointZone","getOption","viewport","getViewportWidth","fixedWidthViewportWidth","slidePositions","slideItemsOut","cloneCount","getCloneCountForLoop","slideCountNew","hasRightDeadZone","rightBoundary","getRightBoundary","updateIndexBeforeTransform","transformAttr","transformPrefix","transformPostfix","getIndexMax","getStartIndex","indexCached","displayIndex","getCurrentSlide","indexMin","indexMax","resizeTimer","moveDirectionExpected","newContainerClasses","slideId","freeze","getFreeze","frozen","controlsEvents","onControlsClick","onControlsKeydown","navEvents","onNavClick","onNavKeydown","hoverEvents","mouseoverPause","mouseoutRestart","visibilityEvent","onVisibilityChange","docmentKeydownEvent","onDocumentKeydown","touchEvents","onPanStart","onPanMove","onPanEnd","dragEvents","hasControls","hasOption","hasNav","hasAutoplay","hasTouch","hasMouseDrag","slideActiveClass","slideClonedClass","imgCompleteClass","imgEvents","onImgLoaded","onImgFailed","imgsComplete","liveregionCurrent","preventScroll","controlsContainerHTML","prevButtonHTML","nextButtonHTML","prevIsButton","nextIsButton","navContainerHTML","navItems","pages","getPages","pagesCached","navClicked","navCurrentIndex","getCurrentNavIndex","navCurrentIndexCached","navActiveClass","navStr","navStrCurrent","autoplayButtonHTML","autoplayHtmlStrings","autoplayTimer","animating","autoplayHoverPaused","autoplayUserPaused","autoplayVisibilityPaused","initPosition","lastPosition","translateInit","disX","disY","panStart","rafIndex","getDist","resetVariblesWhenDisable","initStructure","initSheet","initSliderTransform","condition","tem","ind","getAbsIndex","absIndex","getItemsMax","itemsMax","getInsertPosition","getClientWidth","ww","getSlideMarginLeft","getInnerWrapperStyles","edgePaddingTem","gutterTem","fixedWidthTem","speedTem","autoHeightBP","gutterTemUnit","getTransitionDurationStyle","getContainerWidth","itemsTem","getSlideWidthStyle","dividend","getSlideGutterStyle","getCSSPrefix","substring","getAnimationDurationStyle","classOuter","classInner","hasGutter","wp","fragmentBefore","fragmentAfter","cloneFirst","cloneLast","imgs","imgLoaded","imgsLoadedCheck","getImageArray","initSliderTransformStyleCheck","doContainerTransformSilent","initTools","initEvents","stylesApplicationCheck","initSliderTransformCore","setSlidePositions","updateContentWrapperHeight","fontSize","update_carousel_transition_duration","middleWrapperStr","innerWrapperStr","containerStr","slideStr","itemsBP","fixedWidthBP","speedBP","edgePaddingBP","gutterBP","updateSlideStatus","insertAdjacentHTML","getLiveRegionStr","txt","toggleAutoplay","startAutoplay","initIndex","navHtml","hiddenStr","updateNavVisibility","isButton","updateControlsStatus","disableUI","eve","onTransitionEnd","resizeTasks","info","onResize","doAutoHeight","doLazyLoad","disableSlider","freezeSlider","additionalUpdates","ownerNode","clearInterval","htmlList","prevEl","previousElementSibling","parentEl","nextElementSibling","getEvent","bpChanged","breakpointZoneTem","needContainerTransform","indChanged","itemsChanged","disableTem","freezeTem","arrowKeysTem","controlsTem","navTem","touchTem","mouseDragTem","autoplayTem","autoplayHoverPauseTem","autoplayResetOnVisibilityTem","indexTem","autoHeightTem","controlsTextTem","centerTem","autoplayTextTem","updateIndex","enableSlider","doContainerTransform","getContainerTransformValue","unfreezeSlider","stopAutoplay","updateLiveRegion","updateGallerySlidePositions","vp","leftEdge","rightEdge","enableUI","classN","getVisibleSlideRange","rangestart","rangeend","point","cell","srcset","getTarget","imgFailed","imgCompleted","imgSelector","updateInnerWrapperHeight","updateNavStatus","getMaxSlideHeight","slideStart","slideRange","heights","attr2","navPrev","navCurrent","getLowerCaseNodeName","isAriaDisabled","disEnableElement","prevDisabled","nextDisabled","disablePrev","disableNext","resetDuration","getSliderWidth","getCenterGap","denominator","animateSlide","number","classOut","classIn","isOut","transformCore","render","sliderMoved","strTrans","propertyName","goTo","targetIndex","indexGap","factor","passEventObject","targetIn","navIndex","targetIndexBase","setAutoplayTimer","setInterval","stopAutoplayTimer","updateAutoplayButton","action","keyIndex","setFocus","curElement","isTouchEvent","preventDefaultBehavior","getMoveDirectionExpected","panUpdate","dist","percentageX","preventClick","indexMoved","moved","rough","getInfo","updateSliderHeight","refresh","h","d","o","u","levels","r","createLogger","all","DEFAULT","level","history","clear","enable","f","assign","c","Boolean","g","T","S","getOwnPropertyNames","k","V","innerText","C","E","A","I","P","L","O","D","N","onselectstart","R","U","M","clientLeft","clientTop","B","F","H","q","W","z","G","X","K","__proto__","isReal","isEl","isInFrame","createEl","setAttributes","getAttributes","blockTextSelection","unblockTextSelection","findPosition","getPointerPosition","isTextNode","emptyEl","normalizeContent","appendContent","insertContent","isSingleLeftClick","$$","Y","autoSetup","Q","J","Z","ee","te","ie","ne","WeakMap","vdata","performance","re","se","ae","dispatcher","detachEvent","oe","ue","fixed_","fromElement","cancelBubble","le","ce","he","de","pe","fe","me","ge","ve","ye","_e","be","fixEvent","any","allowedEvents_","dispatchEvent","queueTrigger","Map","Te","Se","xe","ke","Ce","we","eventBusEl_","isTargetingSelf","Ee","every","Ae","Ie","eventBusKey","eventedCallbacks","Pe","changes","Le","handleStateChanged","Oe","De","Ne","Re","player_","isDisposed_","parentComponent_","options_","id_","name_","el_","evented","defaultState","children_","childIndex_","childNameIndex_","Set","set_","setTimeoutIds_","setIntervalIds_","rafIds_","clearingTimersOnDispose_","initChildren","reportTouchActivity","enableTouchActivity","isDisposed","localize","language","languages","contentEl","contentEl_","getChildById","getChild","getDescendant","reduce","addChild","componentClass","getComponent","some","isTech","playerOptions","buildCSSClass","isReady_","readyQueue_","triggerReady","lockShowing","unlockShowing","currentDimension","currentDimensions","currentWidth","currentHeight","handleKeyDown","handleKeyPress","emitTapEvents","sqrt","reportUserActivity","clearTimersOnDispose_","supportsRaf_","registerComponent","isPrototypeOf","components_","players","Ue","ReferenceError","setPrototypeOf","Me","Be","je","Fe","He","Ve","qe","We","ze","Ge","Xe","Ke","Ye","$e","Qe","Je","Ze","et","tt","it","nt","maxTouchPoints","DocumentTouch","rt","st","at","ot","ut","IS_IPOD","IOS_VERSION","IS_ANDROID","ANDROID_VERSION","IS_NATIVE_ANDROID","IS_FIREFOX","IS_EDGE","IS_CHROME","CHROME_VERSION","IE_VERSION","IS_SAFARI","IS_WINDOWS","TOUCH_ENABLED","IS_IPAD","IS_IPHONE","IS_IOS","IS_ANY_SAFARI","lt","ht","dt","pt","ft","prefixed","mt","gt","vt","yt","_t","defaultMessages","errorTypes","bt","Tt","St","kt","Ct","cues","endTime","wt","track","textTracks","Et","addRemoteTextTrack","addCue","xt","isEventKey","codes","backspace","tab","enter","ctrl","esc","space","home","up","down","command","aliases","windows","ctl","control","caps","spc","spacebar","pgup","pgdn","ins","del","cmd","names","title","At","It","opened_","hasBeenOpened_","hasBeenFilled_","closeable","uncloseable","role","descEl_","description","label","previouslyActiveEl_","fillAlways","fill","wasPlaying_","pauseOnOpen","hadControls_","conditionalFocus_","opened","close","conditionalBlur_","temporary","closeable_","controlText","fillWith","content_","focusableEls_","HTMLAnchorElement","HTMLAreaElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","HTMLButtonElement","HTMLIFrameElement","HTMLObjectElement","HTMLEmbedElement","Pt","tracks_","addTrack","removeTrack","getTrackById","Lt","change","addtrack","removetrack","Ot","enabled","Dt","Nt","Rt","Ut","Mt","Bt","changing_","enabledChange_","jt","selectedChange_","Ft","queueChange_","triggerSelectedlanguagechange","triggerSelectedlanguagechange_","kind","selectedlanguagechange_","Ht","trackElements_","addTrackElement_","getTrackElementByTrack_","removeTrackElement_","Vt","setCues_","length_","cues_","getCueById","qt","alternative","captions","main","sign","subtitles","commentary","Wt","descriptions","translation","zt","chapters","metadata","Gt","showing","Xt","Kt","parseUrl","getAbsoluteURL","getFileExtension","isCrossOrigin","Yt","$t","alert","prompt","Qt","Jt","ti","Zt","ei","uri","ii","useXDR","responseXML","rawRequest","XDomainRequest","sync","accept","Accept","onprogress","withCredentials","ni","WebVTT","Parser","vttjs","StringDecoder","oncue","onparsingerror","onflush","groupCollapsed","groupEnd","flush","ri","loaded_","tech_","si","tech","srclang","activeCues_","preload_","preloadTextTracks","activeCues","defineProperties","VTTCue","originalCue_","removeCue","cuechange","ai","oi","ui","NONE","LOADING","LOADED","ERROR","li","audio","ListClass","TrackClass","capitalName","video","getterName","privateName","ci","remoteText","remoteTextEl","hi","di","pi","fi","mi","gi","vi","yi","Errors","BadTimeStamp","region","integer","line","lineAlign","snapToLines","align","middle","positionAlign","BadSignature","bi","ruby","Ti","white","lime","cyan","red","yellow","magenta","blue","black","Si","ki","Ci","createProcessingInstruction","localName","wi","Ei","xi","Ai","cue","cueDiv","color","backgroundColor","writingMode","unicodeBidi","applyStyles","tagName","textAlign","font","whiteSpace","formatStyle","Ii","offsetTop","lineHeight","Pi","textTrackList","mediaElement","overlapsOppositeAxis","within","overlapsAny","intersectPercentage","toCSSCompatValues","Li","overlaps","getSimpleBoxPosition","decode","decodeURIComponent","convertCueToDOMTree","processCues","hasBeenReset","displayState","decoder","TextDecoder","regionList","reportOrThrowError","ontimestampmap","MPEGTS","LOCAL","VTTRegion","lines","regionAnchorX","regionAnchorY","viewportAnchorX","viewportAnchorY","onregion","stream","Oi","Di","lr","rl","Ni","Ri","Ui","pauseOnExit","SyntaxError","getCueAsHTML","Mi","Bi","ji","Fi","Hi","shim","restore","Vi","hasStarted_","featuresProgressEvents","manualProgressOn","featuresTimeupdateEvents","manualTimeUpdatesOn","nativeCaptions","nativeTextTracks","featuresNativeTextTracks","emulateTextTracks","autoRemoteTextTracks_","initTrackListeners","nativeControlsForTouch","triggerSourceset","onDurationChange","manualProgress","trackProgress","manualProgressOff","stopTrackingProgress","progressInterval","bufferedPercent","bufferedPercent_","duration_","buffered","manualTimeUpdates","trackCurrentTime","stopTrackingCurrentTime","manualTimeUpdatesOff","currentTimeInterval","manuallyTriggered","clearTracks","removeRemoteTextTrack","cleanupAutoTextTracks","error_","played","addWebVttScript_","remoteTextTracks","addTextTrack","createRemoteTextTrack","remoteTextTrackEls","getVideoPlaybackQuality","requestPictureInPicture","setPoster","setPlaysinline","overrideNativeAudioTracks","overrideNativeVideoTracks","canPlayType","canPlaySource","registerTech","techs_","defaultTechOrder_","getTech","featuresVolumeControl","featuresMuteControl","featuresFullscreenResize","featuresPlaybackRate","featuresSourceset","withSourceHandlers","registerSourceHandler","sourceHandlers","selectSourceHandler","canHandleSource","sourceHandler_","setSource","nativeSourceHandler","disposeSourceHandler","currentSource_","handleSource","qi","Wi","zi","Gi","Ji","Xi","Qi","Ki","seekable","Yi","setMuted","$i","Zi","en","opus","ogv","mp4","mov","m4v","mkv","m4a","mp3","aac","oga","m3u8","jpg","jpeg","gif","png","svg","webp","tn","nn","sources","techOrder","isSupported","loadTech_","rn","tabIndex_","createControlTextEl","controlTextEl_","controlText_","nonIconControl","enabled_","handleClick","handleMouseOver","handleMouseOut","clickHandler","sn","update","poster","setSrc","usingPlugin","eme","sessions","an","monospace","sansSerif","serif","monospaceSansSerif","monospaceSerif","proportionalSansSerif","proportionalSerif","casual","smallcaps","un","ln","cn","updateDisplay","toggleDisplay","preselectTrack","tracks","cache_","selectedLanguage","clearDisplay","allowMultipleShowingTracks","updateForTrack","updateDisplayState","textTrackSettings","getValues","textOpacity","backgroundOpacity","windowColor","windowOpacity","edgeStyle","textShadow","fontPercent","fontFamily","fontVariant","hn","isAudio","dn","pn","mouseused_","handleMouseDown","mn","replay","handlePlay","handlePause","handleEnded","handleSeeked","gn","vn","yn","_n","updateContent","updateTextNode_","labelText_","textNode_","formattedTime_","bn","ended","scrubbing","getCache","Tn","Sn","kn","remainingTimeDisplay","remainingTime","Cn","updateShowing","wn","updateLiveEdgeStatus","liveTracker","textEl_","atLiveEdge","seekToLiveEdge","En","xn","bar","barName","playerEvent","handleMouseMove","handleMouseUp","getProgress","progress_","getPercent","calculateDistance","stepBack","stepForward","vertical_","An","In","partEls_","percentageEl_","isLive","seekableEnd","bufferedEnd","percent_","dataset","Pn","write","updateTime","rafId_","liveWindow","Ln","On","Dn","setEventHandlers_","update_","updateInterval","enableInterval_","disableInterval_","toggleVisibility_","getCurrentTime_","liveCurrentTime","currentTime_","seekableStart","videoWasPlaying","handleAction","Nn","throttledHandleMouseSeek","handleMouseSeek","Rn","handlePictureInPictureChange","pictureInPictureEnabled","isInPictureInPicture","exitPictureInPicture","Un","handleFullscreenChange","fsApi_","fullscreenEnabled","isFullscreen","exitFullscreen","requestFullscreen","Mn","Bn","updateLastVolume_","updateARIAAttributes","checkMuted","volumeAsPercentage_","lastVolume_","jn","volumeBar","throttledHandleMouseMove","Fn","updateIcon_","updateControlText_","Hn","inline","volumeControl","volumePanelState_","muteToggle","handleVolumeControlKeyUp","sliderActive_","sliderInactive_","Vn","menuButton_","menuButton","focusedChild_","boundHandleBlur_","handleBlur","boundHandleTapClick_","handleTapClick","addEventListenerForItem","removeEventListenerForItem","addItem","contentElType","buttonPressed_","unpressButton","qn","menu","handleMenuKeyUp","handleMouseLeave","handleSubmenuKeyDown","createMenu","hideThreshold_","createItems","buildWrapperCSSClass","pressButton","handleSubmenuKeyPress","Wn","zn","Gn","selectable","isSelected_","multiSelectable","Xn","kinds","handleTracksChange","handleSelectedLanguageChange","onchange","createEvent","initEvent","Kn","Yn","label_","kinds_","kind_","$n","Qn","track_","setTrack","findChaptersTrack","updateHandler_","getMenuCaption","Jn","Zn","er","ir","nr","language_","rr","audioTracks","sr","ar","rate","playbackRate","or","updateVisibility","updateLabel","labelEl_","playbackRates","playbackRateSupported","ur","cr","hr","dr","pr","fr","mr","gr","vr","yr","_r","br","Tr","Sr","kr","Cr","parser","wr","Er","endDialog","setDefaults","persistTextTrackSettings","saveSettings","restoreSettings","createElSelect_","createElFgColor_","createElBgColor_","createElWinColor_","createElColors_","createElFont_","createElControls_","setValues","controlBar","subsCapsButton","captionsButton","xr","ResizeObserver","loadListener_","resizeObserver_","debouncedHandler_","cancel","resizeHandler","observe","contentWindow","unloadListener_","unobserve","disconnect","resizeObserver","Ar","trackingThreshold","liveTolerance","Ir","reset_","handleDurationchange","handleVisibilityChange","stopTracking","startTracking","trackLive_","lastTime_","pastSeekEnd_","pastSeekEnd","seekedBehindLive_","timeupdateSeen_","behindLiveEdge_","liveui","isTracking","hasStarted","trackingInterval_","handleFirstTimeupdate","skipNextSeeked_","lastSeekEnd_","behindLiveEdge","Pr","Lr","getOwnPropertyDescriptor","Or","resetSourceWatch_","HTMLMediaElement","Ur","Dr","resetSourceset_","Mr","Nr","Rr","Br","initNetworkState_","handleLateInit_","enableSourceset","setupSourcesetHandling_","hasChildNodes","proxyNativeTracks_","restoreMetadataTracksInIOSNativePlayer_","setControls","proxyWebkitFullscreen_","disposeMediaElement","storedMode","overrideNative_","proxyNativeTracksForType_","playerElIngest","movingMediaElementInDOM","techId","preload","networkState","NaN","webkitPresentationMode","nativeIOSFullscreen","supportsFullScreen","webkitEnterFullScreen","enterFullScreen","HAVE_METADATA","exitFullScreen","webkitDisplayingFullscreen","webkitExitFullScreen","resetMediaElement","webkitDroppedFrameCount","webkitDecodedFrameCount","droppedVideoFrames","totalVideoFrames","creationTime","timing","navigationStart","TEST_VID","canControlVolume","canMuteVolume","canControlPlaybackRate","canOverrideAttributes","supportsNativeTextTracks","supportsNativeVideoTracks","videoTracks","supportsNativeAudioTracks","patchCanPlayType","unpatchCanPlayType","jr","Fr","canplay","canplaythrough","seeked","Hr","Vr","qr","tiny","xsmall","medium","large","xlarge","huge","Wr","getTagSettings","boundDocumentFullscreenChange_","documentFullscreenChange_","boundFullWindowOnEscKey_","fullWindowOnEscKey","isFullscreen_","isPosterFromTech_","queuedCallbacks_","userActive_","tagAttributes","languages_","resetCache_","poster_","controls_","changingSrc_","playCallbacks_","playTerminatedQueue_","plugins","scrubbing_","fullscreenchange","fluid_","updateStyleEl_","middleware_","flexNotSupported_","userActive","listenForUserActivity_","handleStageClick_","breakpoints","styleEl_","playerElIngest_","VIDEOJS_NO_DYNAMIC_STYLE","fill_","fluid","aspectRatio","crossOrigin","crossorigin","techGet_","techCall_","aspectRatio_","videoWidth","videoHeight","width_","height_","unloadTech_","techName_","canOverridePoster","techCanOverridePoster","handleTechReady_","textTracksJson_","seeking","handleTechLoadStart_","handleTechSourceset_","handleTechWaiting_","handleTechEnded_","handleTechSeeking_","handleTechPlay_","handleTechFirstPlay_","handleTechPause_","handleTechDurationChange_","handleTechFullscreenChange_","handleTechFullscreenError_","handleTechEnterPictureInPicture_","handleTechLeavePictureInPicture_","handleTechError_","handleTechPosterChange_","handleTechTextData_","handleTechRateChange_","usingNativeControls","addTechControlsListeners_","removeTechControlsListeners_","handleTechClick_","handleTechDoubleClick_","handleTechTouchStart_","handleTechTouchMove_","handleTechTouchEnd_","handleTechTap_","manualAutoplay_","updateSourceCaches_","currentSource","lastSource_","techGet","lastPlaybackRate","handleTechCanPlay_","handleTechCanPlayThrough_","handleTechPlaying_","handleTechSeeked_","starttime","userActions","doubleClick","userWasActive","toggleFullscreenClass_","fullscreenElement","fullscreen","togglePictureInPictureClass_","initTime","inactivityTimeout","lastVolume","defaultPlaybackRate","reduceRight","play_","waitToPlay_","runPlayTerminatedQueue_","runPlayCallbacks_","applyInitTime_","defaultMuted","requestFullscreenHelper_","enterFullWindow","exitFullscreenHelper_","exitFullWindow","isFullWindow","docOrigOverflow","isInPictureInPicture_","hotkeys","isContentEditable","handleHotkeys","fullscreenKey","muteKey","playPauseKey","selectSource","sourceOrder","src_","notSupportedMessage","setTech","doReset_","resetControlBarUI_","resetProgressBar_","resetPlaybackRate_","resetVolumeBar_","durationDisplay","currentSources","currentType","usingNativeControls_","suppressNotSupportedError","errorDisplay","userActivity_","isAudio_","toJSON","createModal","updateCurrentBreakpoint_","currentBreakpoint","breakpoints_","breakpoint_","removeCurrentBreakpoint_","currentBreakpointClass","responsive_","loadMedia","artwork","getMedia","zr","html5","flash","userLanguage","navigationUI","Gr","Xr","Kr","Yr","ts","$r","Qr","plugin","Zr","getEventHash","Jr","Reflect","construct","sham","Proxy","Function","es","ns","VERSION","isBasic","registerPlugin","deregisterPlugin","getPlugins","getPluginVersion","getPlugin","BASE_PLUGIN_NAME","hasPlugin","rs","ss","as","getPlayer","hooks_","hookOnce","removeHook","os","us","getAllPlayers","use","writeable","middleware","browser","super_","mergeOptions","addLanguage","createTimeRange","createTimeRanges","formatTime","setFormatTime","resetFormatTime","EventTarget","TextTrack","AudioTrack","VideoTrack","computedStyle","dom","defineLazyProperty","ls","buildAbsoluteURL","alwaysNormalize","parseURL","path","normalizePath","buildURLFromParts","scheme","netLoc","query","lastIndexOf","cs","hs","ds","ps","fs","ms","customParsers","tagMappers","tagType","playlistType","allowed","URI","BYTERANGE","byterange","RESOLUTION","BANDWIDTH","dateTimeString","dateTimeObject","IV","Uint32Array","PRECISE","addParser","expression","customType","dataParser","segment","addTagMapper","gs","lineStream","parseStream","AUDIO","VIDEO","SUBTITLES","manifest","allowCache","discontinuityStarts","segments","endlist","endList","inf","mediaSequence","discontinuitySequence","METHOD","KEYFORMAT","KEYID","contentProtection","schemeIdUri","keyId","pssh","atob","Uint8Array","iv","playlists","mediaGroups","TYPE","NAME","autoselect","AUTOSELECT","LANGUAGE","instreamId","CHARACTERISTICS","characteristics","FORCED","forced","discontinuity","targetduration","targetDuration","totalduration","totalDuration","timeOffset","precise","cueOut","cueOutCont","cueIn","timeline","comment","custom","vs","ys","_s","bs","Ts","Ss","ks","Buffer","Cs","ws","Es","xs","As","Is","Ps","Ls","Os","Ds","Ns","Rs","Us","lineNumber","columnNumber","Ms","warning","setTagName","closed","Bs","qName","Hs","startPrefixMapping","startElement","currentNSMap","localNSMap","endElement","endPrefixMapping","js","characters","Fs","Vs","startCDATA","endCDATA","lastIndex","startDTD","endDTD","qs","processingInstruction","Ws","zs","domBuilder","startDocument","locator","currentElement","fatalError","nbsp","errorHandler","endDocument","getLocalName","getLocator","getQName","getURI","getValue","Gs","XMLReader","Xs","Ks","Ys","$s","Qs","ELEMENT_NODE","Js","ATTRIBUTE_NODE","Zs","TEXT_NODE","ea","CDATA_SECTION_NODE","ta","ENTITY_REFERENCE_NODE","ia","ENTITY_NODE","na","PROCESSING_INSTRUCTION_NODE","ra","COMMENT_NODE","sa","DOCUMENT_NODE","aa","DOCUMENT_TYPE_NODE","oa","DOCUMENT_FRAGMENT_NODE","ua","NOTATION_NODE","la","ca","ha","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","da","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","pa","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","fa","captureStackTrace","ma","ga","_node","_refresh","va","_inc","Xa","ya","_a","ba","ownerElement","xa","_nsMap","Ta","Sa","_features","ka","Ca","wa","Ea","Aa","Ia","previousSibling","Pa","La","Oa","Da","Na","Ra","Ua","Ma","Ba","ja","Fa","Ha","Va","qa","Wa","lookupPrefix","Ga","za","publicId","systemId","internalSubset","getNamedItem","setNamedItem","_ownerElement","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","createDocument","doctype","createElementNS","createDocumentType","setAttributeNode","normalize","appendData","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importNode","createCDATASection","createAttribute","createEntityReference","createAttributeNS","removeAttributeNode","setAttributeNodeNS","removeAttributeNS","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","getElementsByTagNameNS","substringData","insertData","replaceData","deleteData","splitText","serializeToString","$$length","Ka","Ya","$a","Qa","Ja","baseUrl","indexRange","resolvedUri","Za","timescale","sourceDuration","Vo","periodIndex","startNumber","eo","initialization","jo","sourceURL","sidx","references","referenceType","firstOffset","referencedSize","subsegmentDuration","io","no","ro","CODECS","codecs","bandwidth","so","suggestedPresentationDelay","minimumUpdatePeriod","subs","ao","NOW","clientOffset","availabilityStartTime","oo","qo","uo","RepresentationID","Bandwidth","Time","lo","segmentUrls","Fo","mediaRange","co","segmentInfo","template","ho","po","fo","mo","Wo","go","vo","yo","zo","_o","manifestUri","Uo","mediaPresentationDuration","bo","Mo","Ro","Bo","To","sidxMapping","So","Ho","ko","Co","isLeading","dependsOn","isDependedOn","hasRedundancy","paddingValue","isNonSyncSample","degradationPriority","wo","Eo","xo","Ao","Io","Po","Lo","Oo","Do","DOMImplementation","XMLSerializer","No","cdata","java","xmlns","amp","quot","apos","setDocumentLocator","documentURI","ignorableWhitespace","skippedEntity","dynamic","timeShiftBufferDepth","Go","Xo","Ko","Yo","avc1","DataView","byteOffset","byteLength","dataReferenceIndex","getUint16","horizresolution","vertresolution","frameCount","subarray","avcC","configurationVersion","avcProfileIndication","profileCompatibility","avcLevelIndication","lengthSizeMinusOne","sps","pps","btrt","bufferSizeDB","getUint32","maxBitrate","avgBitrate","esds","flags","esId","streamPriority","decoderConfig","objectProfileIndication","streamType","bufferSize","decoderConfigDescriptor","audioObjectType","samplingFrequencyIndex","channelConfiguration","ftyp","majorBrand","minorVersion","compatibleBrands","dinf","boxes","dref","dataReferences","hdlr","getUint8","handlerType","mdat","nals","mdhd","modificationTime","mdia","mfhd","sequenceNumber","minf","mp4a","channelcount","samplesize","samplerate","streamDescriptor","moof","moov","mvex","mvhd","matrix","nextTrackId","pdin","initialDelay","sdtp","samples","referenceId","earliestPresentationTime","startsWithSap","sapType","sapDeltaTime","smhd","balance","stbl","stco","chunkOffsets","stsc","sampleToChunks","firstChunk","samplesPerChunk","sampleDescriptionIndex","stsd","sampleDescriptions","stsz","sampleSize","entries","stts","timeToSamples","sampleCount","sampleDelta","styp","tfdt","baseMediaDecodeTime","pow","tfhd","trackId","baseDataOffset","defaultSampleDuration","defaultSampleSize","defaultSampleFlags","durationIsEmpty","baseDataOffsetIsMoof","tkhd","layer","alternateGroup","traf","trak","trex","defaultSampleDescriptionIndex","sampleDependsOn","sampleIsDependedOn","sampleHasRedundancy","samplePaddingValue","sampleIsDifferenceSample","sampleDegradationPriority","trun","dataOffset","getInt32","compositionTimeOffset","vmhd","graphicsmode","opcolor","Uint16Array","$o","ArrayBuffer","textify","parseType","findBox","parseTraf","parseTfdt","parseHdlr","parseTfhd","parseTrun","parseSidx","Qo","Jo","codec","Zo","eu","compositionStartTime","videoTrackIds","tu","payloadType","payloadSize","payload","iu","nu","pts","ccData","ru","su","partialFlush","endTimeline","au","captionPackets_","ccStreams_","du","ou","nalUnitType","escapedRBSP","dts","latestDts_","ignoreNextEqualDts_","numSameDts_","flushCCStreams","flushStream","presortIndex","dispatchCea608Packet","activeCea608Channel_","setsTextOrXDSActive","setsChannel1Active","setsChannel2Active","uu","cu","lu","hu","field_","dataChannel_","setConstants","lastControlCode_","PADDING_","RESUME_CAPTION_LOADING_","mode_","END_OF_CAPTION_","clearFormatting","flushDisplayed","displayed_","nonDisplayed_","startPts_","ROLL_UP_2_ROWS_","rollUpRows_","setRollUp","ROLL_UP_3_ROWS_","ROLL_UP_4_ROWS_","CARRIAGE_RETURN_","shiftRowsUp_","BACKSPACE_","row_","ERASE_DISPLAYED_MEMORY_","ERASE_NON_DISPLAYED_MEMORY_","RESUME_DIRECT_CAPTIONING_","isSpecialCharacter","column_","isExtCharacter","isMidRowCode","addFormatting","isOffsetControlCode","isPAC","formatting_","isColorPAC","isNormalChar","startPts","endPts","topRow_","BASE_","EXT_","CONTROL_","OFFSET_","popOn","rollUp","paintOn","pu","fu","gu","mu","vu","yu","isInitialized","isPartial","captionStreams","isNewInit","seiNals","pushNals","clearParsedCaptions","resetCaptionStream","clearAllCaptions","_u","bu","Tu","Su","ku","Cu","wu","Eu","xu","Au","Iu","Pu","Lu","parsePat","parsePmt","parsePayloadUnitStartIndicator","parsePesType","parsePesTime","videoPacketContainsKeyFrame","Ou","Du","isLikelyAacData","parseId3TagSize","parseAdtsSize","parseSampleRate","parseAacTimestamp","unescape","Nu","Ru","Uu","Mu","Hu","pid","Bu","firstKeyFrame","ju","Fu","Vu","dtsTime","ptsTime","qu","Wu","zu","Gu","Xu","Ku","decrypt","_tables","Yu","$u","Qu","Ju","Zu","processJob_","jobs","timeout_","tl","Int32Array","il","decryptChunk_","STEP","asyncStream_","sl","responseURL","al","ol","ul","ll","cl","hl","dl","yl","pl","fl","_l","ml","gl","vl","bl","Tl","master","customTagParsers","customTagMappers","media_","mediaUpdateTimeout","stopRequest","finalRenditionTimeout","hls_","handleManifestRedirects","playlistRequestError","haveMetadata","started","srcUrl","Sl","kl","Infinity","Cl","wl","El","xl","Al","Il","excludeUntil","Pl","Ll","Ol","Dl","MAX_VALUE","Nl","nc","beforeRequest","Hls","ic","responseTime","roundTripTime","requestTime","bytesReceived","timedout","aborted","Rl","Range","Ul","Ml","Bl","isView","bytes","jl","Fl","Hl","Vl","videoTimingInfo","transmuxedPresentationEnd","estimatedStart","transmuxedPresentationStart","seekTime","mediaSeconds","transmuxerPrependedSeconds","getTime","programDateTime","toISOString","ql","programTime","retryCount","pauseAfterSeek","tc","Wl","zl","Gl","Xl","Kl","Yl","$l","Ql","WebKitDataCue","inbandTextTracks_","timestampOffset","mediaSource_","cueTime","frames","frame","privateData","metadataTrack_","Jl","Zl","ec","safeLiveIndex","getMediaInfoForTime","mediaIndex","isEnabled","isBlacklisted","isIncompatible","playlistEnd","isAes","isFmp4","estimateSegmentRequestTime","isLowestEnabledRendition","rc","createTransferableMessage","initSegmentId","segmentKeyId","hexDump","tagDump","textRanges","sc","ac","oc","uc","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","lc","URL","webkitURL","msURL","cc","Worker","hc","mc","terminate","objURL","revokeObjectURL","postMessage","onmessage","isThisThread","dc","pc","fc","createObjectURL","Blob","getBlob","gc","vc","codecCount","videoCodec","videoObjectTypeIndicator","audioProfile","yc","_c","Cc","bc","Tc","Sc","kc","pasp","setUint32","audioobjecttype","samplingfrequencyindex","profileIdc","levelIdc","sarRatio","keyFrame","nalCount","minSegmentDts","minSegmentPts","maxSegmentDts","maxSegmentPts","timelineStartInfo","type_","CaptionStream","Cea608Stream","H264_STREAM_TYPE","ADTS_STREAM_TYPE","METADATA_STREAM_TYPE","TXXX","WXXX","PRIV","descriptor","dispatchType","dataAlignmentIndicator","packetsWaitingForPmt","programMapTable","payloadUnitStartIndicator","section_number","last_section_number","pmtPid","processPes_","STREAM_TYPES","h264","adts","packetLength","pat","pes","pmt","flushStreams_","PAT_PID","MP2T_PACKET_LENGTH","TransportPacketStream","TransportParseStream","ElementaryStream","TimestampRolloverStream","MetadataStream","bitsAvailable","loadWord","skipBits","readBits","skipLeadingZeros","skipUnsignedExpGolomb","skipExpGolomb","readUnsignedExpGolomb","readExpGolomb","readBoolean","readUnsignedByte","H264Stream","NalByteStream","setTimestamp","prependedContentDuration","setEarliestDts","setVideoBaseMediaDecodeTime","setAudioAppendStart","keepOriginalTimestamps","minPTS","gopCache_","resetStream_","getGopForFusion_","alignGopsAtEnd","alignGopsAtEnd_","alignGopsAtStart_","gop","alignGopsWith","numberOfTracks","metadataStream","remux","remuxTracks","pendingTracks","videoTrack","pendingBoxes","pendingCaptions","pendingMetadata","pendingBytes","emittedTracks","audioTrack","initSegment","setRemux","transmuxPipeline_","setupAacPipeline","aacStream","audioTimestampRolloverStream","timedMetadataTimestampRolloverStream","adtsStream","coalesceStream","headOfPipeline","audioSegmentStream","hasAudio","setupTsPipeline","packetStream","elementaryStream","timestampRolloverStream","h264Stream","captionStream","videoSegmentStream","setBaseMediaDecodeTime","resetCaptions","Transmuxer","VideoSegmentStream","AudioSegmentStream","AUDIO_PROPERTIES","VIDEO_PROPERTIES","generateVideoSegmentTimingInfo","transmuxer","gopInfo","videoSegmentTimingInfo","appendStart","gopsToAlignWith","messageHandlers","wc","Ec","inBandMetadataTrackDispatchType","pendingBuffers_","processPendingSegments_","presentation","updating","addSourceBuffer","realBuffer_","nativeMediaSource_","audioDisabled_","bufferUpdating_","audioBuffer_","transmuxer_","videoBuffer_","gopBuffer_","timeMapping_","safeAppend_","videoCodec_","audioCodec_","createRealSourceBuffers_","appendAudioInitSegment_","concatAndAppendSegments_","appendBuffer","originalError","timestampOffset_","codecs_","data_","done_","appendGopInfo_","videoSegmentTimingInfo_","appendWindowStart","xc","Ac","sourceBuffers","MediaSource","activeSourceBuffers_","updateActiveSourceBuffers_","onPlayerMediachange_","onHlsReset_","onHlsSegmentTimeMapping_","mapping","url_","Ic","mediaSources","Pc","swfId","Lc","isTypeSupported","Oc","supportsNativeMediaSources","Dc","Nc","Bc","Rc","Uc","sidxInfo","Mc","jc","Fc","masterPlaylistLoader_","childPlaylist_","loadedPlaylists_","minimumUpdatePeriodTimeout_","mediaRequest_","sidxMapping_","sidxRequestFinished_","startingState","refreshMedia_","masterXml_","clientOffset_","haveMaster_","date","masterLoaded_","syncClientServerClock_","onClientServerClockSync_","parseMasterXml","hasPendingRequest","refreshXml_","setupChildLoader","Hc","Vc","qc","Wc","sourceBuffer_","mediaSource","logger_","start_","started_","onUpdateendCallback_","pendingCallback_","removing","runCallback_","processedAppend_","queueCallback_","videoSegmentTimingInfoCallback","callbacks_","mimeType_","createSourceBuffer_","zc","Gc","ih","nh","Xc","endOfAllRequests","encryptedBytes","requestId","decrypted","encrypted","Kc","stats","loaded","firstBytesReceivedAt","Yc","timescales","fmp4Captions","$c","Qc","Jc","Zc","eh","GOAL_BUFFER_LENGTH","MAX_GOAL_BUFFER_LENGTH","GOAL_BUFFER_LENGTH_RATE","INITIAL_BANDWIDTH","BANDWIDTH_VARIANCE","BUFFER_LOW_WATER_LINE","MAX_BUFFER_LOW_WATER_LINE","BUFFER_LOW_WATER_LINE_RATE","rh","sh","mediaBytesTransferred","mediaRequests","mediaRequestsAborted","mediaRequestsTimedout","mediaRequestsErrored","mediaTransferDuration","mediaSecondsLoaded","abort_","sourceUpdater_","resetStats_","captionParser_","checkBufferTimeout_","syncController_","triggerSyncInfoUpdate_","monitorBuffer_","pendingSegment_","abortRequests","ended_","initSegments_","keyCache_","cacheEncryptionKeys_","playlist_","setDateTimeMapping","couldBeginLoading_","init_","loaderType_","sourceBufferEmitter_","resetEverything","xhrOptions_","syncInfo","saveExpiredSegmentInfo","resyncLoader","resetLoader","fetchAtBuffer_","syncPoint_","segmentMetadataTrack_","monitorBufferTick_","fillBuffer_","getSyncPoint","currentTimeline_","checkBuffer_","buffered_","hasPlayed_","isEndOfStream_","endOfStream","seeking_","startOfSegment","loadSegment_","goalBufferLength_","getSyncSegmentCandidate_","generateSegmentInfo_","segmentIndex","isSyncRequest","segmentDuration","timeUntilRebuffer","currentTimeline","syncController","rebufferingImpact","abortRequestEarly_","trimBackBuffer_","decrypter_","createSimplifiedSegmentObj_","handleProgress_","segmentRequestFinished_","seekable_","segmentKey","roundTrip","processSegmentResponse_","inbandTextTracks","captionArray","handleSegment_","probeSegmentInfo","startingMedia_","containsAudio","containsVideo","blacklistDuration","segmentTimestampInfo","mappingForTimeline","activeInitSegmentId_","handleVideoSegmentTimingInfo_","handleUpdateEnd_","recordThroughput_","addSegmentMetadataCue_","throughput","resolution","hasPlayed","hls","loaderType","segmentMetadataTrack","goalBufferLength","sourceType_","sourceType","state_","cacheEncryptionKeys","decrypter","ah","oh","uh","lh","subtitlesTrack_","skipEmptySegments_","timestampOffsetForTimeline","requested","parseVTTCues_","updateTimeMapping_","timelines","featuresNativeTextTracks_","timestampmap","adStartTime","adEndTime","hh","dh","datetimeToDisplayTime","discontinuities","ph","fh","runStrategies_","selectSyncPoint_","strategy","syncPoint","inspectCache_","probeMp4Segment_","probeTsSegment_","calculateSegmentTimeMapping_","saveDiscontinuitySyncInfo_","accuracy","mh","activePlaylistLoader","gh","vh","Th","mediaTypes","masterPlaylistLoader","activeGroup","activeTrack","Sh","onGroupChanged","segmentLoaders","playlistLoader","onTrackChanged","yh","_h","blacklistCurrentPlaylist","bh","requestOptions","kh","Ch","wh","Eh","requestOptions_","mainSegmentLoader_","audioSegmentLoader_","subtitleSegmentLoader_","mediaTypes_","triggerPresenceUsage_","setupSourceBuffers_","setupFirstPlay","excludeUnsupportedVariants_","enableLowInitialPlaylist","selectInitialPlaylist","selectPlaylist","initialMedia_","useCueTags_","updateAdCues_","updateDuration","addSeekableRange_","stuckAtPlaylistEnd_","Playlist","currentPlaylist","nextPlaylist","forwardBuffer","bufferLowWaterLine","onSyncInfoUpdate_","onEndOfStream","getExpiredTime","configureLoaderMimeTypes_","excludeIncompatibleVariants_","cueTagsTrack_","externHls","useCueTags","handleSourceOpen_","setupMasterPlaylistLoaderListeners_","setupSegmentLoaderListeners_","xh","masterPlaylistController_","smoothQualityChange","Ah","Ih","Ph","checkCurrentTime_","checkCurrentTimeTimeout_","monitorCurrentTime_","fixesBadSeeks_","consecutiveUpdates","lastRecordedTime","techWaiting_","waiting_","timer_","afterSeekableWindow_","allowSeeksWithinUnsafeLiveWindow","beforeSeekableWindow_","cancelTimer_","videoUnderflow_","skipTheGap_","gapFromVideoUnderflow_","Lh","Oh","errorInterval","getSource","reloadSourceOnError","IWillNotUseThisInPlugins","Dh","PlaylistLoader","Decrypter","AsyncStream","utils","STANDARD_PLAYLIST_SELECTOR","useDevicePixelRatio","devicePixelRatio","systemBandwidth","limitRenditionByPlayerDimensions","INITIAL_PLAYLIST_SELECTOR","comparePlaylistBandwidth","comparePlaylistResolution","Nh","Rh","selectedIndex_","Uh","Mh","audioContentType","videoContentType","source_","keySystems","initializeMediaKeys","Bh","supportsNativeHls","supportsNativeDash","supportsTypeNatively","jh","Fh","Hh","useBandwidthFromLocalStorage","setOptions_","playbackWatcher_","mediaRequests_","mediaRequestsAborted_","mediaRequestsTimedout_","mediaRequestsErrored_","mediaTransferDuration_","mediaBytesTransferred_","mediaSecondsLoaded_","currentTech","playerDimensions","timestamp","videoPlaybackQuality","representations","ignoreNextSeekingEvent_","setupQualityLevels_","qualityLevels","qualityLevels_","addQualityLevel","vhs","dash","overrideNative","featuresNativeVideoTracks","featuresNativeAudioTracks","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","smoothQualityChange_","pauseLoading","Vh","HlsHandler","HlsSourceHandler","processInclude","coreFiles","einstein","pageDesigner","$belowFoldRegion","populateRegion","showMoreUrl","spinner","selectedUrl","include","toByteArray","fromByteArray","lookup","revLookup","Arr","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","curByte","tripletToBase64","encodeChunk","uint8","output","extraBytes","maxChunkLength","len2","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","LN2","getRawTag","objectToString","nullTag","undefinedTag","symToStringTag","toStringTag","baseGetTag","trimmedEndIndex","reTrimStart","baseTrim","freeGlobal","objectProto","nativeObjectToString","isOwn","unmasked","freeSelf","reWhitespace","isObject","toNumber","FUNC_ERROR_TEXT","nativeMax","nativeMin","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","thisArg","leadingEdge","timerExpired","remainingWait","timeSinceLastCall","timeSinceLastInvoke","timeWaiting","shouldInvoke","trailingEdge","debounced","isInvoking","isObjectLike","symbolTag","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","other","valueOf","isBinary","base64","ieee754","SlowBuffer","INSPECT_MAX_BYTES","TYPED_ARRAY_SUPPORT","typedArraySupport","kMaxLength","foo","createBuffer","RangeError","encodingOrOffset","allocUnsafe","poolSize","_augment","fromArrayBuffer","fromString","fromObject","species","assertSize","alloc","encoding","allocUnsafeSlow","isEncoding","actual","fromArrayLike","isBuffer","isnan","_isBuffer","buf","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","includes","hexWrite","strLen","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","_arr","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","out","toHex","newBuf","sliceLen","checkOffset","ext","readUIntLE","noAssert","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","checkInt","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","objectWriteUInt16","littleEndian","writeUInt16LE","writeUInt16BE","objectWriteUInt32","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","checkIEEE754","writeFloat","writeFloatLE","writeFloatBE","writeDouble","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","dst","webpackPolyfill","deprecate","paths"],"mappings":"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","file":"default/js/pageDesigner.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// 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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"../rvw_pagedesigner_core/cartridges/rvw_pagedesigner_core/cartridge/client/default/js/pageDesigner.js\");\n","'use strict';\n\nvar einsteinUtils = require('./einsteinUtils');\nvar productTile = require('./productTile');\nvar abSlider = require('./slider');\n\nmodule.exports = {};\n\n/**\n * Gets all placeholder elements, which hold einstein recommendations queries the details from the\n * einstein engine and feeds them back to the dom element\n * @param {Object} e jquery event\n * @returns {Object} jquery targets\n */\nmodule.exports.loadRecommendations = function (e) {\n    var $context = $(this);\n    var $recommendationTargets = $context.hasClass('.einstein-data') ? $context : $context.find('.einstein-data');\n\n    return $recommendationTargets.each(function () {\n        var $recTrigger = $(this);\n        var data = $recTrigger.data() || {};\n        var asyncUrl = data.url;\n\n        einsteinUtils.getRecommendations(data, function (einsteinResponse) {\n            var response = einsteinUtils.interpretResponse(data, einsteinResponse);\n\n            // Add replace content URL\n            $.each(response, function (i, rec) {\n                if (!rec || !rec.id) return null;\n\n                var pidURL = asyncUrl;\n                pidURL += (pidURL.indexOf('?') === -1 ? '?' : '&') + 'pid=' + rec.id;\n                $recTrigger.find('.product[data-pid=\"placeholder\"]:not([data-replace-content])')\n                    .first()\n                    .attr('data-replace-content', pidURL); //Must be attr to allow productTile.js async selector rule to catch recommendation\n            });\n\n            // Remove empty slides\n            $recTrigger.find('.slide:has(.product[data-pid=\"placeholder\"]:not([data-replace-content]))').remove();\n\n            // Prepare Slider Container\n            var $sliderContainer = $recTrigger.closest('.slider-container').removeClass('delay-init');\n\n            productTile.init($recTrigger.find('.product'), function (status) {\n                // Re Initialize sliders to account for TileInclude Errors\n                var tns = status.errors > 0 ? $sliderContainer.data('tns') : null;\n\n                if (tns) {\n                    tns.destroy();\n                    tns.rebuild();\n                }\n            });\n\n            // Initialize sliders\n            abSlider.initializeSliders($sliderContainer.parent());\n        });\n    });\n}\n\nmodule.exports.init = function (context) {\n    // Re-triggerable dom event\n    $(document).off('load.einstein')\n        .on('load.einstein', module.exports.loadRecommendations);\n\n    context = context && 'trigger' in context ? context : $(document);\n\n    return context.triggerHandler('load.einstein');\n};\n","'use strict';\n\nmodule.exports = {};\n\n/**\n * Validates and Return the cquotient namespace provided by the commerce cloud platform\n * @returns {Object} - einsteinUtils or null\n */\nmodule.exports.getEinsteinUtils = function () {\n    var einsteinUtils = window.CQuotient;\n    if (einsteinUtils && (typeof einsteinUtils.getCQUserId === 'function') && (typeof einsteinUtils.getCQCookieId === 'function')) {\n        return einsteinUtils;\n    }\n    return null;\n}\n\n /**\n * Processes a recommendation tile, with an already initialized category specific anchors array\n * @param {Object} data object to carry info to CQuotient calls\n * @param {Function} callback handler function\n */\nmodule.exports.getRecommendations = function(data, callback) {\n    var einsteinUtils = module.exports.getEinsteinUtils();\n\n    var params = {\n        userId: einsteinUtils.getCQUserId(),\n        cookieId: einsteinUtils.getCQCookieId(),\n        ccver: '1.01'\n    };\n\n    if (data.anchors && data.anchors.length > 0) {\n        params.anchors = data.anchors;\n    }\n\n    if (einsteinUtils.getRecs) {\n        einsteinUtils.getRecs(einsteinUtils.clientId, data.recommender, params, callback);\n    } else {\n        einsteinUtils.widgets = einsteinUtils.widgets || []; // eslint-disable-line no-param-reassign\n        einsteinUtils.widgets.push({\n            recommenderName: data.recommender,\n            parameters: params,\n            callback: callback\n        });\n    }\n}\n\n/**\n * Processes a response and format data structure\n * @param {Object} request object to carry info to CQuotient calls\n * @param {Object} response data returned from CQuotient calls\n * @returns {Object}\n */\nmodule.exports.interpretResponse = function (request, response) {\n    return response[request.recommender].recs;\n}\n","'use strict';\n\nvar promiseChains = [null, null, null, null, null, null, null],\n    promiseIndex = 0;\n\nmodule.exports = {\n    selectors: {\n        processing: '.processing',\n        sending: '.sending'\n    },\n    init: function ($context = $('.product[data-replace-content], .product [data-replace-content]'), callbackfn) {\n        var scope = this,\n            initErrors = 0;\n\n        $context\n        .filter(':not(' + scope.selectors.processing + ')')\n        .each(function (i, replace) {\n            var $target = $(replace);\n            var asyncUrl = $target.data('replace-content') || $target.attr('data-replace-content');\n            var deferment = $.Deferred();\n\n            if (['', null, undefined].indexOf(asyncUrl) === -1) {\n                // Only track deferment if url is requestable\n                $target.data('deferment', deferment);\n\n                promiseChains[promiseIndex] = (promiseChains[promiseIndex] || $.when()).then(function () {\n                    // Seperate deferment-ness of ajax request from actual deferment to allow failures to progress current promise group\n                    $target.data('$xhr', $.ajax({\n                        url: asyncUrl,\n                        dataType: 'html',\n                        timeout: 60000,\n                        context: $target,\n                        beforeSend: function () {\n                            this.addClass(scope.selectors.sending.replace(/\\./gi,' '));\n                        },\n                        error: function () {\n                            var $slide = this.parent('.slide').add(this);\n\n                            $slide.eq(0).remove();\n\n                            initErrors++;\n                        },\n                        success: function (data) {\n                            // Per AJAX response populate the product tile placeholder\n                            this.replaceWith(data);\n                            //reinit tooltips for quick add to cart popover\n                            $('body').trigger('tooltip:init');\n                        },\n                        complete: function () {\n                            deferment.resolve();\n                        }\n                    }));\n\n                    return deferment;\n                });\n\n                promiseIndex = (promiseIndex + 1) % promiseChains.length;\n            }\n        });\n\n        if (callbackfn) {\n            $.when.apply($, promiseChains).then(function () {\n                return callbackfn.call(null, {errors: initErrors});\n            });\n        }\n    }\n}\n","'use strict';\n\nvar tinySlider = require('tiny-slider/src/tiny-slider');\nvar zoom = require('jquery-zoom');\nvar imagesLoaded = require('imagesloaded');\nrequire('jquery.scrollintoview');\n\nvar SiteConstants = require('constants/SiteConstants');\nvar mediumBreakpoint = SiteConstants.BreakpointSizes.md;\nvar largeBreakpoint = SiteConstants.BreakpointSizes.lg;\n\nvar abSlider = {};\n\n// Check custom attributes on slider element to get settings, falling back to defaults if not populated\nabSlider.getSliderAttributes = function($slider) {\n    var attributes = new Object();\n\n    // Autoplay (defaults to false)\n    attributes.autoplayDelay = parseInt($slider.attr('data-slider-autoplay'));\n    attributes.autoplay = isNaN(attributes.autoplayDelay) ? false : true;\n    attributes.autoplayTimeout = attributes.autoplay ? attributes.autoplayDelay : 5000;\n\n    // Loop (defaults to true)\n    attributes.loop = $slider.attr('data-slider-loop') === 'false' ? false : true;\n\n    // Number of items to show (defaults to 1 at all breakpoints)\n    attributes.itemsNumber = parseInt($slider.attr('data-slider-items'));\n    attributes.items = isNaN(attributes.itemsNumber) ? 1 : attributes.itemsNumber;\n    attributes.itemsNumberMedium = parseInt($slider.attr('data-slider-items-md'));\n    attributes.itemsMedium = isNaN(attributes.itemsNumberMedium) ? 1 : attributes.itemsNumberMedium;\n    attributes.itemsNumberLarge = parseInt($slider.attr('data-slider-items-lg'));\n    attributes.itemsLarge = isNaN(attributes.itemsNumberLarge) ? 1 : attributes.itemsNumberLarge;\n\n    // Gutter space between items (defaults to 0px)\n    attributes.gutter = parseInt($slider.attr('data-slider-gutter')) || 0;\n    attributes.gutterMedium = parseInt($slider.attr('data-slider-gutter-md')) || 0;\n    attributes.gutterLarge = parseInt($slider.attr('data-slider-gutter-lg')) || 0;\n\n    // Slide animation speed (defaults to 300ms)\n    attributes.speed = parseInt($slider.attr('data-slider-speed')) || 300;\n\n    // Slide animation (defaults to standard Carousel behavior)\n    attributes.mode = $slider.attr('data-slider-mode') || 'carousel';\n    attributes.animateIn = $slider.attr('data-slider-animatein') || 'no-animation';\n    attributes.animateOut = $slider.attr('data-slider-animateout') || 'no-animation';\n\n    // Thumbnail settings (defaults to false)\n    // If a selector is set for [data-slider-thumbnail container], the rest of the settings populate automatically\n    var $thumbnailSlider = $($slider.attr('data-slider-thumbnail-container'));\n    attributes.thumbnailContainer = $slider.attr('data-slider-thumbnail-container') || false;\n    attributes.navContainer = $thumbnailSlider.length ? $thumbnailSlider.find('.slider')[0] : false;\n    attributes.navAsThumbnails = attributes.navContainer === false ? false : true;\n    attributes.controlsContainer = $thumbnailSlider.length ? $thumbnailSlider.find('.slider-thumbnail-controls')[0] : false;\n\n    return attributes;\n}\n\n// Build parameter object to create a slider\nabSlider.getSliderParams = function($slider, slideItems) {\n    var attributes = abSlider.getSliderAttributes($slider);\n    var params = {\n        container: $slider.find('.slider')[0],\n        loop: attributes.loop,\n        items: attributes.items,\n        autoplay: attributes.autoplay,\n        autoplayTimeout: attributes.autoplayTimeout,\n        autoplayHoverPause: true,\n        mode: attributes.mode,\n        gutter: attributes.gutter,\n        speed: attributes.speed,\n        navContainer: attributes.navContainer,\n        navAsThumbnails: attributes.navAsThumbnails,\n        controlsContainer: attributes.controlsContainer,\n        preventScrollOnTouch: 'auto', // prevents mobile errors in chrome\n        responsive: {\n            [mediumBreakpoint]: {\n                items: attributes.itemsMedium,\n                gutter: attributes.gutterMedium,\n            },\n            [largeBreakpoint]: {\n                items: attributes.itemsLarge,\n                gutter: attributes.gutterLarge,\n            }\n        }\n    }\n\n    if (slideItems) {\n        params.slideItems = slideItems;\n    }\n\n    if (params.mode === 'gallery') {\n        params.animateIn = attributes.animateIn;\n        params.animateOut = attributes.animateOut;\n    }\n\n    return params;\n}\n\n// Uses scrollintoview jQuery plugin (needed for IE11 support) to scroll the active thumbnail into view\n// Note: Thumbnail container needs to be scrollable (overflow: auto) for this to work\nabSlider.slideIntoView = function(slider) {\n    if (slider.navContainer !== false && $(slider.navContainer).hasClass('slider')) {\n        var $activeThumbnail = $(slider.navContainer).find('.tns-nav-active');\n        $activeThumbnail.scrollintoview();\n    }\n}\n\n// Build out slide html for replacing images on variant selection\nabSlider.getUpdatedSlideItems = function(images, assets, isThumbnail) {\n    var slideItems = [];\n\n    images['large'].forEach(image => {\n        var $slideElement = $('<div></div>').attr('class', 'slide');\n        var $imageElement = $('<img/>');\n\n        if (!isThumbnail) {\n            $slideElement.attr('data-zoom-image', images['hi-res'].length ? images['hi-res'][image.index].url : images['large'][image.index].url);\n        }\n\n        $imageElement.attr({\n            'src': image.url,\n            'alt': image.alt + ' image number ' + (parseInt(image.index) + 1).toFixed(0),\n            'class': 'd-block img-fluid',\n            'itemprop': 'image'\n        });\n\n        $slideElement.append($imageElement);\n        slideItems.push($slideElement[0]);\n    });\n\n    abSlider.getPDPGalleryAssetSlides(slideItems, assets, isThumbnail);\n\n    return slideItems;\n}\n\n// Fetch any additional slides needed from PDP Gallery Asset IDs attribute\nabSlider.getPDPGalleryAssetSlides = function(slideItems, assets, isThumbnail) {\n    let slideCount = slideItems.length;\n    let hasVideo = false;\n\n    assets.forEach((asset, index) => {\n        var $slideElement = $('<div class=\"pdp-gallery-asset\"></div>');\n        var $imageElement = $('<img/>');\n        var $videoButton = $('<span class=\"video-thumbnail-button\"></span>');\n\n        if (asset.isVideo) {\n            hasVideo = true;\n        }\n\n        if (!isThumbnail) {\n            $slideElement.attr('class', 'slide no-zoom');\n            // ajax call to get html for asset\n            $.ajax({\n                url: asset.assetRenderUrl,\n                method: 'GET',\n                success: data => {\n                    var $sliderContainer = $slideElement.closest('.slider-container');\n                    $slideElement.html(data);\n\n                    // after all assets are added, reinit any necessary javascript\n                    if (index + 1 >= assets.length) {\n                        $slideElement.trigger('tooltip:init'); // reinit tooltips in case of hotspot asset\n\n                        if (hasVideo) {\n                            $('body').trigger('ajax:load.ajaxEvents', [$sliderContainer]); // reinit videos in video/index.js\n                            $('body').trigger('slider:videosLoaded'); // trigger custom event set up in bindSliderUpdateEvent\n                        }\n                    }\n                },\n                error: err => {\n                    console.error('There was an issue retrieving this asset: ', err);\n                }\n            });\n        } else {\n            $slideElement.attr('class', 'slide video-container');\n            $imageElement.attr({\n                'src': asset.thumbnail,\n                'alt': 'image number ' + (slideCount + 1).toFixed(0),\n                'class': 'd-block img-fluid',\n                'itemprop': 'image'\n            });\n        }\n\n        slideCount++;\n        $slideElement.append($imageElement);\n\n        if (asset.isVideo) {\n            $slideElement.append($videoButton);\n        }\n\n        slideItems.push($slideElement[0]);\n    });\n}\n\n// Listen for the slider:update event and reinitialize slider with new slides\nabSlider.bindSliderUpdateEvent = function($sliderContainer, slider) {\n    $sliderContainer.off('slider:update').on('slider:update', '.slider', (event, data) => {\n        var $updatedSliderContainer = $(event.target).closest('.slider-container');\n        var isThumbnail = $updatedSliderContainer.hasClass('slider-thumbnails');\n        var updatedSlideItems = data !== undefined ? abSlider.getUpdatedSlideItems(data.images, data.assets, isThumbnail) : null;\n        var updatedParams = abSlider.getSliderParams($updatedSliderContainer, updatedSlideItems);\n\n        // Update carousel classes to handle number of images changing\n        if (isThumbnail) {\n            var $thumbnailContainer = $updatedSliderContainer.closest('.primary-images-thumbnails');\n            var $mainImageContainer = $thumbnailContainer.prev('.primary-images-main');\n\n            if (data.images.small && data.images.small.length > 1) {\n                $thumbnailContainer.removeClass('d-none');\n                $mainImageContainer.addClass('product-has-thumbnails col-lg-9');\n            } else {\n                $thumbnailContainer.addClass('d-none');\n                $mainImageContainer.removeClass('product-has-thumbnails col-lg-9');\n            }\n        }\n\n        // Remove and re-add slider markup if there are new slides to show\n        if (updatedParams.slideItems) {\n            var $newSliderElement = $('<div></div>').attr({\n                'class': 'slider',\n                'id': updatedParams.container.id\n            });\n            var $newSliderControls = $updatedSliderContainer.find('.slider-thumbnail-controls').addClass('d-none');\n            $newSliderElement.html(updatedParams.slideItems);\n            $updatedSliderContainer.html($newSliderElement);\n            updatedParams.container = $newSliderElement[0];\n\n            // If this is a thumbnails slider, also add the arrow controls and update the item count\n            if (isThumbnail) {\n                $updatedSliderContainer.append($newSliderControls);\n                updatedParams.items = updatedParams.slideItems.length;\n                updatedParams.responsive[mediumBreakpoint].items = updatedParams.slideItems.length;\n                updatedParams.responsive[largeBreakpoint].items = updatedParams.slideItems.length;\n            }\n        }\n\n        // Reinitialize slider using new params\n        slider = tinySlider.tns(updatedParams);\n        slider.events.on('transitionEnd', abSlider.slideIntoView);\n        abSlider.enableImageZoom($updatedSliderContainer);\n\n        if (isThumbnail) {\n            abSlider.handleThumbnailArrows($updatedSliderContainer, slider);\n        } else {\n            // listen for videos getting updated from getUpdatedSlideItems function\n            $('body').on('slider:videosLoaded', () => {\n                abSlider.handleSliderVideos($updatedSliderContainer, slider);\n            });\n        }\n    });\n}\n\n// Enables zoomed images using jquery-zoom\nabSlider.enableImageZoom = function($sliderContainer) {\n    if ($sliderContainer.closest('.primary-images').length\n        && !$sliderContainer.hasClass('slider-thumbnails')\n        && !window.isMobile()) {\n        var $slides = $sliderContainer.find('.slide');\n        $slides.each((index, slide) => {\n            var $slide = $(slide);\n\n            if (!$slide.hasClass('no-zoom')) {\n                var zoomImageUrl = $slide.data('zoom-image') || $slide.find('img').attr('src');\n                $slide.zoom({\n                    url: zoomImageUrl,\n                    magnify: 1,\n                    touch: false\n                });\n            }\n        });\n    }\n}\n\n// Determine whether to show thumbnail arrows based on overflow state\nabSlider.handleThumbnailArrows = function($sliderContainer, slider) {\n    if ($sliderContainer.hasClass('slider-thumbnails')) {\n        var $slider = $sliderContainer.find('.slider');\n        var $arrows = $sliderContainer.find('.slider-thumbnail-controls');\n        var buffer = 5; // adding a buffer to prevent arrows from showing if the last slide is mostly visible\n        var containerSize;\n        var sliderSize;\n\n        $slider.imagesLoaded().done(() => {\n            if (window.isMobile()) {\n                containerSize = $sliderContainer.outerWidth();\n                sliderSize = $slider[0].scrollWidth;\n            } else {\n                containerSize = $sliderContainer.outerHeight();\n                sliderSize = $slider[0].scrollHeight;\n            }\n\n            if (sliderSize - buffer >= containerSize) {\n                $arrows.removeClass('d-none');\n            }\n        });\n    }\n}\n\n// Check for videos and pause them when they're not in the active slide\nabSlider.handleSliderVideos = function($sliderContainer, slider) {\n    var $videos = $sliderContainer.find('.hero-media.video-container, .experience-commerce_assets-video>.video-container');\n\n    if ($videos.length) {\n        slider.events.on('indexChanged', () => {\n            $videos.each((_i, element) => {\n                var $videoContainer = $(element);\n                var videoID = $videoContainer.find('.video-player').attr('id');\n                var player = window.Players[videoID];\n\n                if (player) {\n                    if (!$videoContainer.closest('.tns-slide-active').length) {\n                        player.pause();\n                    } else if (player.config.autoplay) {\n                        player.play();\n                    }\n                }\n            });\n        });\n    }\n}\n\n// Handle Pause/Play Button\nabSlider.bindPauseButton = function($sliderContainer, slider) {\n    var sliderButtonPlacement = $sliderContainer.attr('data-slider-pause-button-placement');\n\n    if ($sliderContainer[0].hasAttribute('data-slider-autoplay') && $sliderContainer.attr('data-slider-autoplay') != 'false' && $sliderContainer[0].hasAttribute('data-slider-pause-button-placement') && $sliderContainer.attr('data-slider-pause-button-placement') != \"none\")  {\n        if (sliderButtonPlacement == 'with-pagination') {\n            $sliderContainer.find('.tns-nav').addClass('with-pagination-btn').append('<a href=\"#\" class=\"tns-nav-controller\"><span class=\"sr-only\">stop and start slider</span></a>');\n        } else {\n            $sliderContainer.prepend('<a href=\"#\" class=\"tns-nav-controller\"><span class=\"sr-only\">stop and start slider</span></a>');\n        };\n\n        $('.tns-nav-controller').addClass(sliderButtonPlacement);\n\n        $sliderContainer.on('click', '.tns-nav-controller', function() {\n            event.preventDefault();\n            $(this).toggleClass('pause');\n            $sliderContainer.toggleClass('slider-pause');\n\n            if ($sliderContainer.hasClass('slider-pause')) {\n                slider.pause();\n            } else {\n                slider.play();\n            }\n        });\n    }\n};\n\nabSlider.initializeSliders = function($context = $('body')) {\n    var scope = this;\n    // delay-init is different from replace-content\n    var $sliderContainers = $context.find('.slider-container:not(.delay-init)');\n\n    $sliderContainers.each((i, slider) => {\n        var $sliderContainer = $(slider);\n        var params = scope.getSliderParams($sliderContainer);\n        var promisegroup = [];\n        var $replace = $sliderContainer.find('[data-replace-content]');\n\n        $replace.each(function (i, replace) {\n            var $target = $(replace);\n            var deferment = $target.data('deferment');\n\n            if (deferment && !deferment.isResolved && deferment.state() === 'pending') {\n                promisegroup.push(deferment);\n            }\n        });\n\n        // Done will also execute if promisegroup is empty []\n        $.when.apply($, promisegroup).done(function () {\n            scope.applyTinySlider($sliderContainer, params);\n        });\n    });\n}\n\nabSlider.applyTinySlider = function ($container, params) {\n    if (!$container) return;\n\n    var tslider = tinySlider.tns(params);\n\n    if (!!tslider) {\n        tslider.events.on('transitionStart', this.slideIntoView);\n\n        this.bindPauseButton($container, tslider);\n        this.bindSliderUpdateEvent($container, tslider);\n        this.enableImageZoom($container);\n        this.handleThumbnailArrows($container, tslider);\n        this.handleSliderVideos($container, tslider);\n\n        $('body').trigger('slider:init.sliderEvents', [$container]);\n    }\n\n    $container.data('tns', tslider);\n    $container.trigger('tooltip:init');\n}\n\nabSlider.initializeQuickviewModalSliders = function() {\n    $('body').off('quickview:ready').on('quickview:ready', (event, modal) => {\n        abSlider.initializeSliders($(modal));\n    });\n}\n\nabSlider.initializeWishlistModalSliders = function() {\n    $('body').off('editwishlistproduct:ready').on('editwishlistproduct:ready', (event, modal) => {\n        abSlider.initializeSliders($(modal));\n    });\n}\n\nabSlider.initializeTargetSliders = function() {\n    $('body').off('targetslider:ready').on('targetslider:ready', (event, target) => {\n        abSlider.initializeSliders($(target));\n    });\n}\n\nabSlider.init =  function() {\n    abSlider.initializeSliders();\n    abSlider.initializeQuickviewModalSliders();\n    abSlider.initializeWishlistModalSliders();\n    abSlider.initializeTargetSliders();\n}\n\nmodule.exports = abSlider;\n","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n    autoplay: false,\n    controls: true,\n    muted: false,\n    loop: false,\n    modal: false,\n    hasThumb: false\n};\n\n/**\n * initDomElements()\n * \n * Saves generalized references to DOM elements needed by the player to operate. \n * \n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n    let player = this;\n    let $elem = $('#' + player.id);\n    \n    player.domElements = {\n        $player: $elem,\n        $thumb: $elem.siblings('.video-thumbnail'),\n        $cntr: $elem.closest('.video-container')\n    };\n}\n\n/**\n * initConfig()\n * \n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n    let player = this;\n    \n    let playerAttrData = {};\n    try {\n        playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n    } catch (ex) {\n        playerAttrData = PlayerDefaults;\n    }\n\n    player.config = {\n        autoplay: !!playerAttrData.autoplay,\n        controls: !!playerAttrData.controls,\n        muted: !!playerAttrData.mute,\n        loop: !!playerAttrData.loop,\n        hasThumb: playerAttrData.hasThumb,\n        modal: !!playerAttrData.modal,\n        videoId: player.domElements.$player.attr('data-video-id')\n    };\n}\n\n/**\n * createApiPlayer()\n * \n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n * \n * Also attaches any needed playback events to the player. \n * \n * @param {object} overrides - attributes that can override the defined player.config attributes\n * @returns {Promise} - Vimeo player ready() Promise is returned so we don't make any calls too early\n */\nfunction createApiPlayer(overrides) {\n    let player = this;\n    let config = player.config;\n\n    let onReadyCallback = (e) => {\n        if (overrides.onReady) {\n            overrides.onReady(e);\n            delete overrides['onReady'];\n        }\n    };\n    \n    // apply overrides attributes\n    if (overrides) {\n        config = $.extend({}, player.config, overrides);\n    }\n\n    player.apiObj = new videojs(player.id, {\n        autoplay: config.autoplay,\n        playsinline: config.autoplay,\n        controls: config.controls,\n        loop: config.loop,\n        muted: config.muted\n    }, onReadyCallback);\n\n    player.apiObj.on('pause', () => {\n        // save the current location\n        player.cache.time = player.apiObj.currentTime();\n    });\n\n    player.apiObj.on('ended', () => {\n        $('body').trigger('video:ended', player);\n    });\n}\n\n/**\n * initPageEvents()\n * \n * Initializes any page load event logic for the player. \n */\nfunction initPageEvents() {\n    let player = this;\n    let $playerContainer = player.domElements.$cntr;\n\n    // pause all players at init, before deciding if they should play\n    player.pause();\n\n    if (player.config.hasThumb) {\n        //handle thumbnail click\n        player.domElements.$thumb.on('click', event => {\n            event.preventDefault();\n\n            if (player.config.modal) {\n                player.launchModal();\n            } else {\n                let paused = player.apiObj.paused();\n\n                if (!paused) {\n                    player.pause();\n                } else {\n                    var playPromise = player.domElements.$player[0].play();\n\n                    if (playPromise !== undefined) {\n                        playPromise.then(() => {\n                            player.domElements.$thumb.addClass('faded');\n                        }).catch(error => {\n                            console.error('play error:', error);\n                        });\n                    }\n                }\n            }\n        });\n    }\n\n    if (player.domElements.$cntr.closest('.modal').length) {\n        $(window).on('resize', debounce(() => player.removeSize(), 100));\n    }\n\n    if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n        let autoplayPromise = player.domElements.$player[0].play();\n\n        if (autoplayPromise !== undefined) {\n            player.play();\n        }\n    }\n\n    $(window).on('scrollUpdate', () => {\n        if (VideoHelper.shouldPlay($playerContainer)) {\n            if (player.config.autoplay && !player.config.modal) {\n                let autoplayPromise = player.domElements.$player[0].play();\n\n                if (autoplayPromise !== undefined) {\n                    player.play();\n                }\n            }\n        } else {\n            if (!player.apiObj.paused()) {\n                player.pause();\n            }\n        }\n    });\n}\n\nmodule.exports = function(playerId) {\n    var player = this;\n    this.id = playerId;\n    this.type = 'hosted';\n    this.cache = {};\n    \n    /**********************************************************\n     **  Calls to initialize the player and event listeners  **\n     **********************************************************/\n    \n    initDomElements.call(player);\n    \n    initConfig.call(player);\n\n    createApiPlayer.call(player, {onReady: () => initPageEvents.call(player)});\n\n\n    /**************************************\n     **  Generalized playback functions  **\n     **************************************/\n    \n    this.play = () => {\n        player.apiObj.play();\n        if (player.domElements.$thumb.length && !player.config.modal) {\n            player.domElements.$thumb.addClass('faded');\n        }\n    }\n    \n    this.pause = () => {\n        player.apiObj.pause();\n        if (player.domElements.$thumb.length) {\n            player.domElements.$thumb.removeClass('faded');\n        }\n    }\n    \n    this.mute = () => {\n        player.apiObj.getVolume().then((volume) => {\n            player.cache.volume = volume;\n        });\n        \n        player.apiObj.setVolume(0);\n    };\n    \n    this.unmute = () => {\n        let volume = 1;\n        if (player.cachedVolume) {\n            volume = player.cache.volume;\n        }\n        \n        player.apiObj.setVolume(volume);\n    };\n    \n    \n    /*********************************************************\n     **  Functions to support playing the video in a modal  **\n     *********************************************************/\n    \n    this.setSize = () => {\n        player.domElements.$cntr.css({\n            height: player.domElements.$cntr.outerHeight(),\n            width: player.domElements.$cntr.outerWidth()\n        });\n    };\n    \n    this.removeSize = () => {\n        player.domElements.$cntr.css({\n            height: 'auto',\n            width: 'auto'\n        });\n    };\n    \n    this.setModal = (VideoModal) => {\n        player.modal = VideoModal;\n    };\n    \n    this.launchModal = () => {\n        player.setSize();\n        player.modal.launch(player);\n    };\n    \n    \n    /*****************************************************\n     **  Event Handlers for the modal events  **\n     *****************************************************/\n    \n    this.getShowEventHandler = () => {\n        let $modal = player.modal.getModalObj();\n        let $body = $('.modal-body', $modal).empty().removeClass();\n        $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n\n        if (player.apiObj && player.apiObj.dispose) {\n            var $player = player.domElements.$player;\n\n            // create new, uninitialized video element for use in modal\n            var $newPlayer = $('<video/>', {\n                'data-asset-id': $player.data('asset-id'),\n                'data-video': $player.data('video'),\n                'data-player-attr': JSON.stringify($player.data('player-attr')),\n                'data-video-id': $player.data('video-id'),\n                'class': 'video-player video-js',\n                'id': $player.attr('id')\n            });\n\n            var $newPlayerSource = $('<source/>', {\n                'src': $player.attr('data-video-id'),\n                'type': $player.attr('data-filetype')\n            });\n\n            // remove old player\n            delete player.apiObj;\n            videojs($player[0]).dispose();\n\n            // add new player and update player properties\n            $newPlayer.append($newPlayerSource);\n            $body.append($newPlayer);\n            player.domElements.$player = $newPlayer;\n            player.id = $newPlayer.attr('id');\n        }\n\n        createApiPlayer.call(player, {\n            onReady: (e) => {\n                // set the current location if one is saved\n                if (player.cache.time) {\n                    player.apiObj.currentTime(player.cache.time);\n                }\n                player.play();\n            }\n        });\n    };\n    \n    this.getHideEventHandler = () => {\n        // save the current location\n        player.cache.time = player.apiObj.currentTime();\n\n        if (videojs.getPlayers()[player.id]) {\n            delete videojs.getPlayers()[player.id];\n        }\n\n        createApiPlayer.call(player, {autoplay: false});\n    };\n    \n    return this;\n}\n","'use strict';\n\nconst YouTube = require('./youtube');\nconst Vimeo = require('./vimeo');\nconst Hosted = require('./hosted');\nconst VideoModal = require('./videoModal');\nconst videojs = require('video.js/dist/video.min.js');\n\nwindow.Players = {};\n\nvar initPlayers = ($context = $('body'), isAjaxEvent = false) => {\n    let $ytElements = $context.find('.video-player[data-video=youtube]');\n    let $vimeoElements = $context.find('.video-player[data-video=vimeo]');\n    let $hostedElements = $context.find('video[data-video=hosted]');\n\n    if ($vimeoElements.length) {\n        loadVimeoAPI().then(() => {\n            $vimeoElements.each((index, element) => {\n                // don't create player for videos in sliders until slider has been initialized\n                if (!$(element).closest('.slider-container').length\n                    || $context.is('.slider-container') && $(element).closest($context).length) {\n                    let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n                    if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n                        window.Players[playerId] = new Vimeo(playerId);\n                        window.Players[playerId].setModal(VideoModal);\n                    }\n                }\n            });\n        }).catch((err) => {\n            if (console && console.error) {\n                console.error(err);\n            }\n        });\n    }\n\n    if ($ytElements.length) {\n        loadYouTubeAPI().then(() => {\n            $ytElements.each((index, element) => {\n                // don't create player for videos in sliders until slider has been initialized\n                if (!$(element).closest('.slider-container').length\n                    || $context.is('.slider-container') && $(element).closest($context).length) {\n                    let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n                    if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n                        window.Players[playerId] = new YouTube(playerId);\n                        window.Players[playerId].setModal(VideoModal);\n                    }\n                }\n            });\n        }).catch((err) => {\n            if (console && console.error) {\n                console.error(err);\n            }\n        });\n    }\n\n    if ($hostedElements.length) {\n        window.videojs = videojs;\n\n        $hostedElements.each((index, element) => {\n            // don't create player for videos in sliders until slider has been initialized\n            if (!$(element).closest('.slider-container').length\n                || $context.is('.slider-container') && $(element).closest($context).length) {\n                let playerId = getUniquePlayerId(index, element, isAjaxEvent);\n\n                if (!window.Players.hasOwnProperty(playerId) || isAjaxEvent) {\n                    window.Players[playerId] = new Hosted(playerId);\n                    window.Players[playerId].setModal(VideoModal);\n                }\n            }\n        });\n    }\n\n    if ($vimeoElements.length || $ytElements.length || $hostedElements.length) {\n        $('body').on('video:ended', (event, player) => {\n            if (player.domElements.$thumb.length) {\n                player.domElements.$thumb.removeClass('faded');\n            }\n\n            // prevent videos from replaying on scroll if they've already finished\n            player.config.autoplay = false;\n        });\n\n        // Reinitialze videos if slider loads, to allow creation of unique IDs\n        $('body').off('.sliderEvents').on('slider:init.sliderEvents', (event, $sliderContainer) => {\n            initPlayers($sliderContainer);\n        });\n    }\n\n    // Initialize/reinitialize videos in case of ajax partial page load \n    $('body').off('.ajaxEvents').on('ajax:load.ajaxEvents', (event, $container) => {\n        initPlayers($container, true);\n    });\n}\n\nlet ytPromise = null;\n\nvar loadYouTubeAPI = () => {\n    if (ytPromise) {\n        return ytPromise;\n    }\n\n    return ytPromise = new Promise((resolve) => {\n        let tag = document.createElement('script');\n        tag.src = \"https://www.youtube.com/iframe_api\";\n        tag.onerror = () => {\n            throw new Error('YouTube iframe API load error');\n        };\n\n        let firstScriptTag = document.getElementsByTagName('script')[0];\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\n        window.onYouTubeIframeAPIReady = () => resolve();\n    });\n}\n\nvar loadVimeoAPI = () => {\n    return new Promise(function(resolve) {\n        let tag = document.createElement('script');\n        tag.src = \"https://player.vimeo.com/api/player.js\";\n        tag.onload = resolve;\n        tag.onerror = () => {\n            throw new Error('Vimeo player SDK load error');\n        };\n\n        let firstScriptTag = document.getElementsByTagName('script')[0];\n        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n    });\n}\n\n// handle cases where multiple videos with the same ID exist, like looping sliders\nvar getUniquePlayerId = (index, element, isAjaxEvent) => {\n    let playerId = $(element).attr('id');\n\n    if (window.Players.hasOwnProperty(playerId) && !isAjaxEvent) {\n        playerId = playerId + '-' + index;\n        $(element).attr('id', playerId);\n    }\n\n    return playerId;\n}\n\n/**\n * TODO:\n *     - document everything\n *     - Youtube API pageload errors\n */\nmodule.exports = () => initPlayers();\n","'use strict';\n\n// Checks if a video player is visible in the viewport\nfunction isPlayerVisible($playerContainer, onlyPlayWhenFullyInView) {\n    let fitsInViewport = ($playerContainer.height() - 10) <= $(window).height();\n    let pageTop = $(window).scrollTop();\n    let pageBottom = pageTop + $(window).height();\n    let elementTop = $playerContainer.offset().top;\n    let elementBottom = elementTop + $playerContainer.height();\n\n    if (onlyPlayWhenFullyInView && fitsInViewport) {\n        return ((pageTop <= elementTop) && (pageBottom >= elementBottom));\n    } else {\n        return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\n    }\n}\n\n// Checks if a video player is inside an inactive slide within a slider\nfunction isPlayerInInactiveSlide($playerContainer) {\n    return !!$playerContainer.closest('.slider').length\n           && !$playerContainer.closest('.tns-slide-active').length\n           && !$playerContainer.closest('.hero-button').length;\n}\n\n// Checks if a video player is inside an inactive tab within a tab component\nfunction isPlayerInInactiveTab($playerContainer) {\n    return !!$playerContainer.closest('.tab-pane').length\n           && !$playerContainer.closest('.tab-pane.active').length;\n}\n\n// Check if a video should be played\nfunction shouldPlay($playerContainer) {\n    let onlyPlayWhenFullyInView = $playerContainer.data('play-when-fully-in-view');\n\n    return isPlayerVisible($playerContainer, onlyPlayWhenFullyInView) \n           && !isPlayerInInactiveSlide($playerContainer)\n           && !isPlayerInInactiveTab($playerContainer);\n}\n\n\nmodule.exports = {\n    shouldPlay: shouldPlay\n}\n","'use strict';\n\nconst ModalTemplate =   `<div id=\"videoModal\" class=\"video-modal modal fade\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"videoModal\">\n                            <div class=\"modal-dialog modal-lg\" role=\"document\">\n                                <div class=\"modal-content\">\n                                    <div class=\"modal-header\">\n                                        <h5 class=\"modal-title\"></h5>\n                                        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n                                            <span aria-hidden=\"true\">&times;</span>\n                                        </button>\n                                    </div>\n                                    <div class=\"modal-body\"></div>\n                                </div>\n                            </div>\n                        </div>`;\n\nconst ModalStates = {\n    NOT_READY: 0,\n    READY: 1,\n    OPEN: 2,\n    CLOSED: 3\n};\n\nmodule.exports = (() => {\n    var myState = ModalStates.NOT_READY;\n    var currentVideo = '';\n    \n    if (!$('#videoModal').length) {\n        $(ModalTemplate).appendTo('body');\n        myState = ModalStates.READY;\n    }\n\n    const $modal = $('#videoModal');\n\n    return {\n        States: ModalStates,\n\n        launch: (player) => {\n            $modal.detach().appendTo('body'); // keep video modal on top of any other open modals\n\n            //test if modal is already in use\n            if (myState === ModalStates.OPEN) {\n                console.error('Cannot launch' + player.id + ', Modal is already in use for: ' + currentVideo);\n            } else {\n                $modal.on('show.bs.modal', () => {\n                    if(typeof player.getShowEventHandler === 'function') {\n                        player.getShowEventHandler();\n                    }\n                    myState = ModalStates.OPEN;\n                    currentVideo = player.id;\n\n                }).on('shown.bs.modal', () => {\n                    if(typeof player.getShownEventHandler === 'function') {\n                        player.getShownEventHandler();\n                    }\n                    \n                }).on('hide.bs.modal', () => {\n                    if(typeof player.getHideEventHandler === 'function') {\n                        player.getHideEventHandler();\n                    }\n                    myState = ModalStates.CLOSED;\n                    \n                }).on('hidden.bs.modal', () => {\n                    if(typeof player.getHiddenEventHandler === 'function') {\n                        player.getHiddenEventHandler();\n                    }\n                    \n                    $modal.modal('dispose');\n                }).modal();\n            }\n        },\n        \n        setState: (state) => {\n            if (ModalStates[state]) {\n                myState = state;\n            }\n        },\n        \n        getState: () => myState,\n        \n        is: (state) => (myState === state),\n        \n        getModalObj: () => $modal\n    };\n})();","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n    autoplay: false,\n    controls: true,\n    muted: false,\n    loop: false,\n    modal: false,\n    hasThumb: false\n};\n\n/**\n * initDomElements()\n * \n * Saves generalized references to DOM elements needed by the player to operate. \n * \n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n    let player = this;\n    let $elem = $('#' + player.id);\n    \n    player.domElements = {\n        $player: $elem,\n        $thumb: $elem.siblings('.video-thumbnail'),\n        $cntr: $elem.closest('.video-container')\n    };\n}\n\n/**\n * initConfig()\n * \n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n    let player = this;\n    \n    let playerAttrData = {};\n    try {\n        playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n    } catch (ex) {\n        playerAttrData = PlayerDefaults;\n    }\n    \n    player.config = {\n        autoplay: !!playerAttrData.autoplay,\n        controls: !!playerAttrData.controls,\n        muted: !!playerAttrData.mute,\n        loop: !!playerAttrData.loop,\n        background: !!playerAttrData.autoplay && !playerAttrData.controls && !!playerAttrData.mute && !!playerAttrData.loop,\n        autopause: !(!!playerAttrData.autoplay && !playerAttrData.controls && !!playerAttrData.mute),\n        hasThumb: playerAttrData.hasThumb,\n        modal: !!playerAttrData.modal,\n        videoId: player.domElements.$player.attr('data-video-id')\n    };\n}\n\n/**\n * createApiPlayer()\n * \n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n * \n * Also attaches any needed playback events to the player. \n * \n * @param {object} overrides - attributes that can override the defined player.config attributes\n * @returns {Promise} - Vimeo player ready() Promise is returned so we don't make any calls too early\n */\nfunction createApiPlayer(overrides) {\n    let player = this;\n    let config = player.config;\n    \n    // apply overrides attributes\n    if (overrides) {\n        config = $.extend({}, player.config, overrides);\n    }\n    \n    player.apiObj = new Vimeo.Player(player.id, {\n        id: config.videoId,\n        autoplay: config.autoplay,\n        controls: config.controls,\n        loop: config.loop,\n        muted: config.muted,\n        background: config.background,\n        autopause: config.autopause\n    });\n\n    player.apiObj.on('pause', () => {\n        // save the current location\n        player.apiObj.getCurrentTime().then((seconds) => {\n            player.cache.time = seconds;\n        });\n    });\n\n    player.apiObj.on('ended', () => {\n        $('body').trigger('video:ended', player);\n    });\n\n    return player.apiObj.ready();\n}\n\n/**\n * initPageEvents()\n * \n * Initializes any page load event logic for the player. \n */\nfunction initPageEvents() {\n    let player = this;\n    let $playerContainer = player.domElements.$player.closest('.video-container');\n\n    // pause all players at init, before deciding if they should play\n    player.pause();\n\n    if (player.config.hasThumb) {\n        //handle thumbnail click\n        player.domElements.$thumb.on('click', event => {\n            event.preventDefault();\n\n            if (player.config.modal) {\n                player.launchModal();\n            } else {\n                player.apiObj.getPaused().then(paused => {\n                    if (!paused) {\n                        player.pause();\n                    } else {\n                        player.play();\n                    }\n                }).catch(error => console.error('error getting paused status:', error));\n            }\n        });\n    }\n    \n    if (player.domElements.$cntr.closest('.modal').length) {\n        $(window).on('resize', debounce(() => player.removeSize(), 100));\n    }\n\n    if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n        player.play();\n\n        // retrigger play method to ensure iOS autoplays\n        if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n            setTimeout(() => {\n                player.play();\n            }, 500);\n        }\n    }\n\n    $(window).on('scrollUpdate', () => {\n        if (VideoHelper.shouldPlay($playerContainer)) {\n            if (player.config.autoplay && !player.config.modal) {\n                player.apiObj.getPaused().then(paused => {\n                    if (paused) {\n                        player.play();\n                    }\n                }).catch(error => console.error('error getting paused status:', error));\n            }\n        } else {\n            player.apiObj.getPaused().then(paused => {\n                if (!paused) {\n                    player.pause();\n                }\n            }).catch(error => console.error('error getting paused status:', error));\n        }\n    });\n}\n\nmodule.exports = function(playerId) {\n    var player = this;\n    this.id = playerId;\n    this.type = 'vimeo';\n    this.cache = {};\n    \n    /**********************************************************\n     **  Calls to initialize the player and event listeners  **\n     **********************************************************/\n    \n    initDomElements.call(player);\n    \n    initConfig.call(player);\n    \n    createApiPlayer.call(player).then(() => initPageEvents.call(player));\n    \n\n    /**************************************\n     **  Generalized playback functions  **\n     **************************************/\n    \n    this.play = () => {\n        player.apiObj.play()\n        if (player.domElements.$thumb.length && !player.config.modal) {\n            player.domElements.$thumb.addClass('faded');\n        }\n    };\n    \n    this.pause = () => {\n        player.apiObj.pause();\n        if (player.domElements.$thumb.length) {\n            player.domElements.$thumb.removeClass('faded');\n        }\n    }\n    \n    this.mute = () => {\n        player.apiObj.getVolume().then((volume) => {\n            player.cache.volume = volume;\n        });\n        \n        player.apiObj.setVolume(0);\n    };\n    \n    this.unmute = () => {\n        let volume = 1;\n        if (player.cachedVolume) {\n            volume = player.cache.volume;\n        }\n        \n        player.apiObj.setVolume(volume);\n    };\n    \n    \n    /*********************************************************\n     **  Functions to support playing the video in a modal  **\n     *********************************************************/\n    \n    this.setSize = () => {\n        player.domElements.$cntr.css({\n            height: player.domElements.$cntr.outerHeight(),\n            width: player.domElements.$cntr.outerWidth()\n        });\n    };\n    \n    this.removeSize = () => {\n        player.domElements.$cntr.css({\n            height: 'auto',\n            width: 'auto'\n        });\n    };\n    \n    this.setModal = (VideoModal) => {\n        player.modal = VideoModal;\n    };\n    \n    this.launchModal = () => {\n        player.setSize();\n        player.modal.launch(player);\n    };\n    \n    \n    /*****************************************************\n     **  Event Handlers for the Bootstrap modal events  **\n     *****************************************************/\n    \n    this.getShowEventHandler = () => {\n        let $modal = player.modal.getModalObj();\n        let $body = $('.modal-body', $modal).empty().removeClass();\n        $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n        player.domElements.$player.appendTo($body);\n        \n        player.apiObj.destroy().then(() => createApiPlayer.call(player)).then(() => {\n            // set the current location if one is saved\n            if (player.cache.time) {\n                player.apiObj.setCurrentTime(player.cache.time);\n            }\n            player.play();\n        });\n    };\n    \n    this.getHideEventHandler = () => {\n        // save the current location\n        player.apiObj.getCurrentTime().then((seconds) => {\n            player.cache.time = seconds;\n        }).then(() => {\n            // vimeo doesnt like to be moved around the DOM, and loses all its event listeners\n            // so lets destroy and re-init whenever we move it to and from a modal\n            player.domElements.$player.prependTo(player.domElements.$cntr);\n            \n            player.apiObj.destroy().then(() => {\n                //create a new api player but dont let it autoplay\n                createApiPlayer.call(player, {autoplay: false});\n            });\n        });\n    };\n    \n    return this;\n}\n","'use strict';\n\nconst debounce = require('lodash/debounce');\nconst VideoHelper = require('./videoHelper');\n\nconst PlayerDefaults = {\n    autoplay: 0,\n    playsinline: 0,\n    controls: 1,\n    mute: 0,\n    loop: 0,\n    modal: false,\n    hasThumb: false,\n    playlist: ''\n};\n\nconst origin = window.location.protocol + '//' + window.location.host;\n\n/**\n * initDomElements()\n *\n * Saves generalized references to DOM elements needed by the player to operate.\n *\n * player.domElements.$player - div used to init the player API, also holds the configuration data\n * player.domElements.$thumb - thumbnail/preview image that masks the player on screen while not playing\n * player.domElements.$cntr - outer div container used to attach dimensions when needed\n */\nfunction initDomElements() {\n    let player = this;\n    let $elem = $('#' + player.id);\n\n    player.domElements = {\n        $player: $elem,\n        $thumb: $elem.siblings('.video-thumbnail'),\n        $cntr: $elem.closest('.video-container'),\n    };\n}\n\n/**\n * initConfig()\n *\n * Parses and stores the configuration data attributes set by the content asset.\n * In case of parse error, fallback to this module's PlayerDefaults.\n */\nfunction initConfig() {\n    let player = this;\n\n    let playerAttrData = {};\n    try {\n        playerAttrData = JSON.parse(player.domElements.$player.attr('data-player-attr'));\n    } catch (ex) {\n        playerAttrData = PlayerDefaults;\n    }\n\n    let videoId = player.domElements.$player.attr('data-video-id');\n    let playlist = playerAttrData.loop === 1 ? videoId : '';\n\n    player.config = {\n        autoplay: playerAttrData.autoplay,\n        playsinline: playerAttrData.autoplay === 1 ? 1 : 0,\n        controls: playerAttrData.controls,\n        mute: playerAttrData.mute,\n        loop: playerAttrData.loop,\n        hasThumb: playerAttrData.hasThumb,\n        modal: playerAttrData.modal,\n        videoId: videoId,\n        modestbranding: 1\n    };\n    if (playlist != '') {\n        player.config.playlist = playlist\n    }\n}\n\n/**\n * createApiPlayer()\n *\n * Create and store the vendor specific API Player.\n * The configurations set in the content asset can be overridden for specific use cases, like turning off autoplay when closing the modal.\n *\n * Also attaches any needed playback events to the player.\n *\n * @param {object} overrides - attributes that can override the defined player.config attributes\n */\nfunction createApiPlayer(overrides) {\n    let player = this;\n    let config = player.config;\n\n    let onReadyCallback = (e) => {\n        commonOnReady.call(player, e);\n\n        if (overrides.onReady) {\n            overrides.onReady(e);\n            delete overrides['onReady'];\n        }\n    };\n\n    // apply overrides attributes\n    if (overrides) {\n        config = $.extend({}, player.config, overrides);\n    }\n\n    player.apiObj = new YT.Player(player.id, {\n        videoId: config.videoId,\n        playerVars: {\n            autoplay: config.autoplay,\n            playsinline: config.playsinline,\n            controls: config.controls,\n            mute: config.mute,\n            loop: config.loop,\n            playlist: config.playlist,\n            enablejsapi: 1,\n            origin: origin,\n            widget_referrer: origin\n        },\n        host: 'https://www.youtube.com', // prevents 'postMessage' origin mismatch error\n        events: {\n            onReady: onReadyCallback,\n            onStateChange: (e) => {\n                if (e.data === YT.PlayerState.PAUSED) {\n                    // save the current location\n                    player.cache.time = e.target.getCurrentTime();\n                } else if (e.data === YT.PlayerState.PLAYING) {\n                    // not currently using the on play event, but it's here for future use\n                }\n\n                if (e.data === 0) {\n                    $('body').trigger('video:ended', player);\n                }\n            },\n            onError: (e) => {\n                if (console && console.error) {\n                    console.error('onError: ' + e.data);\n                }\n            }\n        }\n    });\n}\n\n/**\n * initPageEvents()\n *\n * Initializes any page event logic for the player.\n */\nfunction initPageEvents() {\n    let player = this;\n    let $playerContainer = player.domElements.$player.closest('.video-container');\n\n    // pause all players at init, before deciding if they should play\n    player.pause();\n\n    // honor the auto mute settings when launching modal\n    if (player.config.mute === 1) {\n        player.mute();\n    } else {\n        player.unmute();\n    }\n\n    if (player.config.hasThumb) {\n        //handle thumbnail click\n        player.domElements.$thumb.on('click', event => {\n            event.preventDefault();\n\n            if (player.config.modal) {\n                player.launchModal();\n            } else {\n                let playerState = player.apiObj.getPlayerState();\n                let playing = playerState === 1;\n\n                if (playing) {\n                    player.pause();\n                } else {\n                    player.play();\n                }\n            }\n        });\n    }\n\n    if (player.domElements.$cntr.closest('.modal').length) {\n        $(window).on('resize', debounce(() => player.removeSize(), 100));\n    }\n\n    if (VideoHelper.shouldPlay($playerContainer) && player.config.autoplay && !player.config.modal) {\n        player.play();\n    }\n\n    $(window).on('scrollUpdate', () => {\n        let playerState = player.apiObj.getPlayerState();\n        let playing = playerState === 1;\n\n        if (VideoHelper.shouldPlay($playerContainer)) {\n            if (player.config.autoplay && !playing && !player.config.modal) {\n                player.play();\n            }\n        } else if (playing) {\n            player.pause();\n        }\n    });\n}\n\nfunction commonOnReady(e) {\n    let player = this;\n\n    // update player dom reference\n    player.domElements.$player = $('#' + player.id);\n\n    // if we have an auto play, auto mute, modal, then honor the config,\n    // else let the app maintain the volume state\n    if (typeof player.cache.mute !== 'undefined') {\n        if (player.cache.mute === 1) {\n            e.target.mute();\n        } else {\n            e.target.unMute();\n        }\n\n        delete player.cache.mute;\n    }\n}\n\n\nmodule.exports = function(playerId) {\n    var player = this;\n    this.id = playerId;\n    this.type = 'youtube';\n    this.cache = {};\n\n    /**********************************************************\n     **  Calls to initialize the player and event listeners  **\n     **********************************************************/\n\n    initDomElements.call(player);\n\n    initConfig.call(player);\n\n    createApiPlayer.call(player, {onReady: () => initPageEvents.call(player)});\n\n\n    /***************************************\n     **  Generalized playback functions  **\n     ***************************************/\n\n    this.play = () => {\n        player.apiObj.playVideo();\n        if (player.domElements.$thumb.length && !player.config.modal) {\n            player.domElements.$thumb.addClass('faded');\n        }\n    }\n\n    this.pause = () => {\n        player.apiObj.pauseVideo();\n        if (player.domElements.$thumb.length) {\n            player.domElements.$thumb.removeClass('faded');\n        }\n    }\n\n    this.mute = () => {\n        player.apiObj.mute();\n        player.cache.mute = 1;\n    };\n\n    this.unmute = () => {\n        player.apiObj.unMute();\n        player.cache.mute = 0;\n    };\n\n\n    /*********************************************************\n     **  Functions to support playing the video in a modal  **\n     *********************************************************/\n\n    this.setSize = () => player.domElements.$cntr.css({\n        height: player.domElements.$cntr.outerHeight(),\n        width: player.domElements.$cntr.outerWidth()\n    });\n\n    this.removeSize = () => player.domElements.$cntr.css({\n        height: 'auto',\n        width: 'auto'\n    });\n\n    this.setModal = (VideoModal) => {\n        player.modal = VideoModal;\n    };\n\n    this.launchModal = () => {\n        player.setSize();\n        player.modal.launch(player);\n    };\n\n\n    /*****************************************************\n     **  Event Handlers for the Bootstrap modal events  **\n     *****************************************************/\n\n    this.getShowEventHandler = () => {\n        // move the video player to the modal body\n        let $modal = player.modal.getModalObj();\n        let $body = $('.modal-body', $modal).empty().removeClass();\n        $body.addClass('modal-body ' + player.domElements.$cntr.attr('class'));\n        player.domElements.$player.appendTo($body);\n\n        // rebuild the API player to maintain event handlers\n        if (player.apiObj && player.apiObj.destroy) {\n            player.apiObj.destroy();\n        }\n        createApiPlayer.call(player, {\n            onReady: (e) => {\n                // set the current location if one is saved\n                if (player.cache.time) {\n                    player.apiObj.seekTo(player.cache.time, true);\n                }\n                player.play();\n            }\n        });\n    };\n\n    this.getHideEventHandler = () => {\n        // save current location\n        player.cache.time = player.apiObj.getCurrentTime();\n\n        // move the video player from the modal back to its page container\n        player.domElements.$player.prependTo(player.domElements.$cntr);\n\n        // rebuild the API player to maintain event handlers\n        if (player.apiObj && player.apiObj.destroy) {\n            player.apiObj.destroy();\n        }\n        createApiPlayer.call(player, {autoplay: 0});\n    };\n\n    return this;\n}\n","'use strict';\n\nmodule.exports = function() {\n\n    // Move modal from button to body to prevent overflow issues, eliminating any duplicates\n    if ($('.button.has-modal').length > 0) {\n        $('.button.has-modal').each((index, button) => {\n            var $modal = $(button).find('.modal');\n\n            if (!$('body > #' + $modal.attr('id')).length > 0) {\n                $(button).find('.modal').appendTo('body');\n            } else {\n                $modal.remove();\n            }\n        });\n    }\n\n};\n","'use strict';\n\nmodule.exports = function() {\n\n    // add class to sliders containing animated hero banners\n    if ($('.slider').find('.hero-text[data-animation]')) {\n        var heroAnimationSliders = $('.slider').find('.hero-text[data-animation]').closest('.slider-container');\n        \n        for (var i = 0; i < heroAnimationSliders.length; i++) {\n            heroAnimationSliders[i].classList.add('hero-has-animation');\n        }\n    }\n\n    // if hero background video is set to play once, hide when finished and show replay button\n    $('body').on('video:ended', (event, player) => {\n        var $playerContainer = player.domElements.$cntr;\n        \n        if ($playerContainer.hasClass('hero-media') && $playerContainer.data('play-once') === true) {\n            var $replayButton = $playerContainer.next('.replay-video');\n            $playerContainer.addClass('video-stopped');\n\n            $replayButton.click(event => {\n                $playerContainer.removeClass('video-stopped');\n                player.config.autoplay = true;\n                if (player.type === 'youtube') {\n                    player.apiObj.seekTo(0);\n                }\n                if (player.type === 'hosted') {\n                    player.apiObj.currentTime(0);\n                }\n                if (player.type === 'vimeo') {\n                    player.apiObj.setCurrentTime(0);\n                }\n                player.play();\n            });\n        }\n    });\n\n};\n","'use strict';\n\nconst Button = require('./button');\nconst Hero = require('./hero');\n\nfunction checkIfVisible($element, context) {\n    var pageTop = $(window).scrollTop();\n    var pageBottom = pageTop + $(window).height();\n    var elementHeight = $element.height();\n    var elementTop = $element.offset().top;\n    var elementBottom = elementTop + elementHeight;\n\n    // on ititial load if animated element is already in or above viewable area, animate immediately\n    if (context === 'initialPageLoad' && elementTop <= pageBottom) {\n        return true;\n    }\n\n    if (context === 'reset') {\n        // element is above fold\n        return (elementTop <= pageBottom);\n    } else {\n        // any portion of element is in viewport\n        return ((elementTop <= pageBottom) && (elementBottom >= pageTop));\n    }\n}\n\nfunction animateIfVisible($elements, context) {\n    $elements.each((index, element) => {\n        var $element = $(element);\n        var animationClass = $element.data('animation');\n        var isVisible = checkIfVisible($element, context);\n\n        if (isVisible) {\n            $element.removeClass('animation-initial-state').addClass(animationClass);\n        }\n    });\n}\n\nfunction resetAnimationElement($elements) {\n    $elements.each((index, element) => {\n        var $element = $(element);\n        var shouldReset = !$element.data('animation-play-once');\n\n        if (shouldReset) {\n            var animationClass = $element.data('animation');\n            var isVisible = checkIfVisible($element, 'reset');\n\n            if (!isVisible) {\n                $element.removeClass(animationClass).addClass('animation-initial-state');\n                void element.offsetWidth; // allows animation to retrigger\n            }\n        }\n    });\n}\n\nfunction initScrollEvents() {\n\n    // trigger animations when animated component is scrolled to\n    var $animationElements = $('[data-animation]');\n\n    if ($animationElements.length) {\n        animateIfVisible($animationElements, 'initialPageLoad');\n\n        window.addEventListener('scrollUpdate', event => {\n            var direction = event.detail.direction;\n\n            if (direction === 'down') {\n                animateIfVisible($animationElements, null);\n            }\n\n            if (direction === 'up') {\n                resetAnimationElement($animationElements);\n            }\n        });\n    }\n\n};\n\n\nmodule.exports = {\n    initScrollEvents: initScrollEvents,\n    button: Button,\n    hero: Hero\n};\n","'use strict';\n\n// These values should always match the variables set in _variables.scss and the contentImageBreakpoints site pref\nmodule.exports.BreakpointSizes = {\n    'sm': 544,\n    'md': 769,\n    'lg': 1024,\n    'xl': 1440\n};\n\nmodule.exports.TransitionSpeed = 200;\n\nmodule.exports.ComponentAnimationDelay = 0;\n\nmodule.exports.Spacer = 16;\n\nmodule.exports.placeholderImagePaths = {\n    'thumbnail': '/images/gray.png',\n    'imageMissing': '/images/placeholder.png'\n}\n\nmodule.exports.defaultMapMarker = {\n    'color': 'white',\n    'backgroundImage': '/images/icons/map-marker-default.svg'\n}\n\nmodule.exports.defaultStoreType = {\n    'id': 0,\n    'displayValue': 'Retail',\n    'value': 'retail'\n}\n\n// These are used in cartridge/client/default/js/components/search.js\nmodule.exports.UP_KEY = 38;\nmodule.exports.DOWN_KEY = 40;\nmodule.exports.DIRECTION_DOWN = 1;\nmodule.exports.DIRECTION_UP = -1;\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n  // universal module definition\n  /* jshint strict: false */ /* globals define, module, window */\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD - RequireJS\n    define( factory );\n  } else if ( typeof module == 'object' && module.exports ) {\n    // CommonJS - Browserify, Webpack\n    module.exports = factory();\n  } else {\n    // Browser globals\n    global.EvEmitter = factory();\n  }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n  if ( !eventName || !listener ) {\n    return;\n  }\n  // set events hash\n  var events = this._events = this._events || {};\n  // set listeners array\n  var listeners = events[ eventName ] = events[ eventName ] || [];\n  // only add once\n  if ( listeners.indexOf( listener ) == -1 ) {\n    listeners.push( listener );\n  }\n\n  return this;\n};\n\nproto.once = function( eventName, listener ) {\n  if ( !eventName || !listener ) {\n    return;\n  }\n  // add event\n  this.on( eventName, listener );\n  // set once flag\n  // set onceEvents hash\n  var onceEvents = this._onceEvents = this._onceEvents || {};\n  // set onceListeners object\n  var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n  // set flag\n  onceListeners[ listener ] = true;\n\n  return this;\n};\n\nproto.off = function( eventName, listener ) {\n  var listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) {\n    return;\n  }\n  var index = listeners.indexOf( listener );\n  if ( index != -1 ) {\n    listeners.splice( index, 1 );\n  }\n\n  return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n  var listeners = this._events && this._events[ eventName ];\n  if ( !listeners || !listeners.length ) {\n    return;\n  }\n  // copy over to avoid interference if .off() in listener\n  listeners = listeners.slice(0);\n  args = args || [];\n  // once stuff\n  var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n  for ( var i=0; i < listeners.length; i++ ) {\n    var listener = listeners[i]\n    var isOnce = onceListeners && onceListeners[ listener ];\n    if ( isOnce ) {\n      // remove listener\n      // remove before trigger to prevent recursion\n      this.off( eventName, listener );\n      // unset once flag\n      delete onceListeners[ listener ];\n    }\n    // trigger listener\n    listener.apply( this, args );\n  }\n\n  return this;\n};\n\nproto.allOff = function() {\n  delete this._events;\n  delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","var topLevel = typeof global !== 'undefined' ? global :\n    typeof window !== 'undefined' ? window : {}\nvar minDoc = require('min-document');\n\nvar doccy;\n\nif (typeof document !== 'undefined') {\n    doccy = document;\n} else {\n    doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];\n\n    if (!doccy) {\n        doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc;\n    }\n}\n\nmodule.exports = doccy;\n","var win;\n\nif (typeof window !== \"undefined\") {\n    win = window;\n} else if (typeof global !== \"undefined\") {\n    win = global;\n} else if (typeof self !== \"undefined\"){\n    win = self;\n} else {\n    win = {};\n}\n\nmodule.exports = win;\n","/*!\n * imagesLoaded v4.1.4\n * JavaScript is all like \"You images are done yet or what?\"\n * MIT License\n */\n\n( function( window, factory ) { 'use strict';\n  // universal module definition\n\n  /*global define: false, module: false, require: false */\n\n  if ( typeof define == 'function' && define.amd ) {\n    // AMD\n    define( [\n      'ev-emitter/ev-emitter'\n    ], function( EvEmitter ) {\n      return factory( window, EvEmitter );\n    });\n  } else if ( typeof module == 'object' && module.exports ) {\n    // CommonJS\n    module.exports = factory(\n      window,\n      require('ev-emitter')\n    );\n  } else {\n    // browser global\n    window.imagesLoaded = factory(\n      window,\n      window.EvEmitter\n    );\n  }\n\n})( typeof window !== 'undefined' ? window : this,\n\n// --------------------------  factory -------------------------- //\n\nfunction factory( window, EvEmitter ) {\n\n'use strict';\n\nvar $ = window.jQuery;\nvar console = window.console;\n\n// -------------------------- helpers -------------------------- //\n\n// extend objects\nfunction extend( a, b ) {\n  for ( var prop in b ) {\n    a[ prop ] = b[ prop ];\n  }\n  return a;\n}\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nfunction makeArray( obj ) {\n  if ( Array.isArray( obj ) ) {\n    // use object if already an array\n    return obj;\n  }\n\n  var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n  if ( isArrayLike ) {\n    // convert nodeList to array\n    return arraySlice.call( obj );\n  }\n\n  // array of single index\n  return [ obj ];\n}\n\n// -------------------------- imagesLoaded -------------------------- //\n\n/**\n * @param {Array, Element, NodeList, String} elem\n * @param {Object or Function} options - if function, use as callback\n * @param {Function} onAlways - callback function\n */\nfunction ImagesLoaded( elem, options, onAlways ) {\n  // coerce ImagesLoaded() without new, to be new ImagesLoaded()\n  if ( !( this instanceof ImagesLoaded ) ) {\n    return new ImagesLoaded( elem, options, onAlways );\n  }\n  // use elem as selector string\n  var queryElem = elem;\n  if ( typeof elem == 'string' ) {\n    queryElem = document.querySelectorAll( elem );\n  }\n  // bail if bad element\n  if ( !queryElem ) {\n    console.error( 'Bad element for imagesLoaded ' + ( queryElem || elem ) );\n    return;\n  }\n\n  this.elements = makeArray( queryElem );\n  this.options = extend( {}, this.options );\n  // shift arguments if no options set\n  if ( typeof options == 'function' ) {\n    onAlways = options;\n  } else {\n    extend( this.options, options );\n  }\n\n  if ( onAlways ) {\n    this.on( 'always', onAlways );\n  }\n\n  this.getImages();\n\n  if ( $ ) {\n    // add jQuery Deferred object\n    this.jqDeferred = new $.Deferred();\n  }\n\n  // HACK check async to allow time to bind listeners\n  setTimeout( this.check.bind( this ) );\n}\n\nImagesLoaded.prototype = Object.create( EvEmitter.prototype );\n\nImagesLoaded.prototype.options = {};\n\nImagesLoaded.prototype.getImages = function() {\n  this.images = [];\n\n  // filter & find items if we have an item selector\n  this.elements.forEach( this.addElementImages, this );\n};\n\n/**\n * @param {Node} element\n */\nImagesLoaded.prototype.addElementImages = function( elem ) {\n  // filter siblings\n  if ( elem.nodeName == 'IMG' ) {\n    this.addImage( elem );\n  }\n  // get background image on element\n  if ( this.options.background === true ) {\n    this.addElementBackgroundImages( elem );\n  }\n\n  // find children\n  // no non-element nodes, #143\n  var nodeType = elem.nodeType;\n  if ( !nodeType || !elementNodeTypes[ nodeType ] ) {\n    return;\n  }\n  var childImgs = elem.querySelectorAll('img');\n  // concat childElems to filterFound array\n  for ( var i=0; i < childImgs.length; i++ ) {\n    var img = childImgs[i];\n    this.addImage( img );\n  }\n\n  // get child background images\n  if ( typeof this.options.background == 'string' ) {\n    var children = elem.querySelectorAll( this.options.background );\n    for ( i=0; i < children.length; i++ ) {\n      var child = children[i];\n      this.addElementBackgroundImages( child );\n    }\n  }\n};\n\nvar elementNodeTypes = {\n  1: true,\n  9: true,\n  11: true\n};\n\nImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {\n  var style = getComputedStyle( elem );\n  if ( !style ) {\n    // Firefox returns null if in a hidden iframe https://bugzil.la/548397\n    return;\n  }\n  // get url inside url(\"...\")\n  var reURL = /url\\((['\"])?(.*?)\\1\\)/gi;\n  var matches = reURL.exec( style.backgroundImage );\n  while ( matches !== null ) {\n    var url = matches && matches[2];\n    if ( url ) {\n      this.addBackground( url, elem );\n    }\n    matches = reURL.exec( style.backgroundImage );\n  }\n};\n\n/**\n * @param {Image} img\n */\nImagesLoaded.prototype.addImage = function( img ) {\n  var loadingImage = new LoadingImage( img );\n  this.images.push( loadingImage );\n};\n\nImagesLoaded.prototype.addBackground = function( url, elem ) {\n  var background = new Background( url, elem );\n  this.images.push( background );\n};\n\nImagesLoaded.prototype.check = function() {\n  var _this = this;\n  this.progressedCount = 0;\n  this.hasAnyBroken = false;\n  // complete if no images\n  if ( !this.images.length ) {\n    this.complete();\n    return;\n  }\n\n  function onProgress( image, elem, message ) {\n    // HACK - Chrome triggers event before object properties have changed. #83\n    setTimeout( function() {\n      _this.progress( image, elem, message );\n    });\n  }\n\n  this.images.forEach( function( loadingImage ) {\n    loadingImage.once( 'progress', onProgress );\n    loadingImage.check();\n  });\n};\n\nImagesLoaded.prototype.progress = function( image, elem, message ) {\n  this.progressedCount++;\n  this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;\n  // progress event\n  this.emitEvent( 'progress', [ this, image, elem ] );\n  if ( this.jqDeferred && this.jqDeferred.notify ) {\n    this.jqDeferred.notify( this, image );\n  }\n  // check if completed\n  if ( this.progressedCount == this.images.length ) {\n    this.complete();\n  }\n\n  if ( this.options.debug && console ) {\n    console.log( 'progress: ' + message, image, elem );\n  }\n};\n\nImagesLoaded.prototype.complete = function() {\n  var eventName = this.hasAnyBroken ? 'fail' : 'done';\n  this.isComplete = true;\n  this.emitEvent( eventName, [ this ] );\n  this.emitEvent( 'always', [ this ] );\n  if ( this.jqDeferred ) {\n    var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';\n    this.jqDeferred[ jqMethod ]( this );\n  }\n};\n\n// --------------------------  -------------------------- //\n\nfunction LoadingImage( img ) {\n  this.img = img;\n}\n\nLoadingImage.prototype = Object.create( EvEmitter.prototype );\n\nLoadingImage.prototype.check = function() {\n  // If complete is true and browser supports natural sizes,\n  // try to check for image status manually.\n  var isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    // report based on naturalWidth\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    return;\n  }\n\n  // If none of the checks above matched, simulate loading on detached element.\n  this.proxyImage = new Image();\n  this.proxyImage.addEventListener( 'load', this );\n  this.proxyImage.addEventListener( 'error', this );\n  // bind to image as well for Firefox. #191\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.proxyImage.src = this.img.src;\n};\n\nLoadingImage.prototype.getIsImageComplete = function() {\n  // check for non-zero, non-undefined naturalWidth\n  // fixes Safari+InfiniteScroll+Masonry bug infinite-scroll#671\n  return this.img.complete && this.img.naturalWidth;\n};\n\nLoadingImage.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  this.emitEvent( 'progress', [ this, this.img, message ] );\n};\n\n// ----- events ----- //\n\n// trigger specified handler for event type\nLoadingImage.prototype.handleEvent = function( event ) {\n  var method = 'on' + event.type;\n  if ( this[ method ] ) {\n    this[ method ]( event );\n  }\n};\n\nLoadingImage.prototype.onload = function() {\n  this.confirm( true, 'onload' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.onerror = function() {\n  this.confirm( false, 'onerror' );\n  this.unbindEvents();\n};\n\nLoadingImage.prototype.unbindEvents = function() {\n  this.proxyImage.removeEventListener( 'load', this );\n  this.proxyImage.removeEventListener( 'error', this );\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\n// -------------------------- Background -------------------------- //\n\nfunction Background( url, element ) {\n  this.url = url;\n  this.element = element;\n  this.img = new Image();\n}\n\n// inherit LoadingImage prototype\nBackground.prototype = Object.create( LoadingImage.prototype );\n\nBackground.prototype.check = function() {\n  this.img.addEventListener( 'load', this );\n  this.img.addEventListener( 'error', this );\n  this.img.src = this.url;\n  // check if image is already complete\n  var isComplete = this.getIsImageComplete();\n  if ( isComplete ) {\n    this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );\n    this.unbindEvents();\n  }\n};\n\nBackground.prototype.unbindEvents = function() {\n  this.img.removeEventListener( 'load', this );\n  this.img.removeEventListener( 'error', this );\n};\n\nBackground.prototype.confirm = function( isLoaded, message ) {\n  this.isLoaded = isLoaded;\n  this.emitEvent( 'progress', [ this, this.element, message ] );\n};\n\n// -------------------------- jQuery -------------------------- //\n\nImagesLoaded.makeJQueryPlugin = function( jQuery ) {\n  jQuery = jQuery || window.jQuery;\n  if ( !jQuery ) {\n    return;\n  }\n  // set local variable\n  $ = jQuery;\n  // $().imagesLoaded()\n  $.fn.imagesLoaded = function( options, callback ) {\n    var instance = new ImagesLoaded( this, options, callback );\n    return instance.jqDeferred.promise( $(this) );\n  };\n};\n// try making plugin\nImagesLoaded.makeJQueryPlugin();\n\n// --------------------------  -------------------------- //\n\nreturn ImagesLoaded;\n\n});\n","/*!\n\tZoom 1.7.21\n\tlicense: MIT\n\thttp://www.jacklmoore.com/zoom\n*/\n(function ($) {\n\tvar defaults = {\n\t\turl: false,\n\t\tcallback: false,\n\t\ttarget: false,\n\t\tduration: 120,\n\t\ton: 'mouseover', // other options: grab, click, toggle\n\t\ttouch: true, // enables a touch fallback\n\t\tonZoomIn: false,\n\t\tonZoomOut: false,\n\t\tmagnify: 1\n\t};\n\n\t// Core Zoom Logic, independent of event listeners.\n\t$.zoom = function(target, source, img, magnify) {\n\t\tvar targetHeight,\n\t\t\ttargetWidth,\n\t\t\tsourceHeight,\n\t\t\tsourceWidth,\n\t\t\txRatio,\n\t\t\tyRatio,\n\t\t\toffset,\n\t\t\t$target = $(target),\n\t\t\tposition = $target.css('position'),\n\t\t\t$source = $(source);\n\n\t\t// The parent element needs positioning so that the zoomed element can be correctly positioned within.\n\t\ttarget.style.position = /(absolute|fixed)/.test(position) ? position : 'relative';\n\t\ttarget.style.overflow = 'hidden';\n\t\timg.style.width = img.style.height = '';\n\n\t\t$(img)\n\t\t\t.addClass('zoomImg')\n\t\t\t.css({\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttop: 0,\n\t\t\t\tleft: 0,\n\t\t\t\topacity: 0,\n\t\t\t\twidth: img.width * magnify,\n\t\t\t\theight: img.height * magnify,\n\t\t\t\tborder: 'none',\n\t\t\t\tmaxWidth: 'none',\n\t\t\t\tmaxHeight: 'none'\n\t\t\t})\n\t\t\t.appendTo(target);\n\n\t\treturn {\n\t\t\tinit: function() {\n\t\t\t\ttargetWidth = $target.outerWidth();\n\t\t\t\ttargetHeight = $target.outerHeight();\n\n\t\t\t\tif (source === target) {\n\t\t\t\t\tsourceWidth = targetWidth;\n\t\t\t\t\tsourceHeight = targetHeight;\n\t\t\t\t} else {\n\t\t\t\t\tsourceWidth = $source.outerWidth();\n\t\t\t\t\tsourceHeight = $source.outerHeight();\n\t\t\t\t}\n\n\t\t\t\txRatio = (img.width - targetWidth) / sourceWidth;\n\t\t\t\tyRatio = (img.height - targetHeight) / sourceHeight;\n\n\t\t\t\toffset = $source.offset();\n\t\t\t},\n\t\t\tmove: function (e) {\n\t\t\t\tvar left = (e.pageX - offset.left),\n\t\t\t\t\ttop = (e.pageY - offset.top);\n\n\t\t\t\ttop = Math.max(Math.min(top, sourceHeight), 0);\n\t\t\t\tleft = Math.max(Math.min(left, sourceWidth), 0);\n\n\t\t\t\timg.style.left = (left * -xRatio) + 'px';\n\t\t\t\timg.style.top = (top * -yRatio) + 'px';\n\t\t\t}\n\t\t};\n\t};\n\n\t$.fn.zoom = function (options) {\n\t\treturn this.each(function () {\n\t\t\tvar\n\t\t\tsettings = $.extend({}, defaults, options || {}),\n\t\t\t//target will display the zoomed image\n\t\t\ttarget = settings.target && $(settings.target)[0] || this,\n\t\t\t//source will provide zoom location info (thumbnail)\n\t\t\tsource = this,\n\t\t\t$source = $(source),\n\t\t\timg = document.createElement('img'),\n\t\t\t$img = $(img),\n\t\t\tmousemove = 'mousemove.zoom',\n\t\t\tclicked = false,\n\t\t\ttouched = false;\n\n\t\t\t// If a url wasn't specified, look for an image element.\n\t\t\tif (!settings.url) {\n\t\t\t\tvar srcElement = source.querySelector('img');\n\t\t\t\tif (srcElement) {\n\t\t\t\t\tsettings.url = srcElement.getAttribute('data-src') || srcElement.currentSrc || srcElement.src;\n\t\t\t\t}\n\t\t\t\tif (!settings.url) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t$source.one('zoom.destroy', function(position, overflow){\n\t\t\t\t$source.off(\".zoom\");\n\t\t\t\ttarget.style.position = position;\n\t\t\t\ttarget.style.overflow = overflow;\n\t\t\t\timg.onload = null;\n\t\t\t\t$img.remove();\n\t\t\t}.bind(this, target.style.position, target.style.overflow));\n\n\t\t\timg.onload = function () {\n\t\t\t\tvar zoom = $.zoom(target, source, img, settings.magnify);\n\n\t\t\t\tfunction start(e) {\n\t\t\t\t\tzoom.init();\n\t\t\t\t\tzoom.move(e);\n\n\t\t\t\t\t// Skip the fade-in for IE8 and lower since it chokes on fading-in\n\t\t\t\t\t// and changing position based on mousemovement at the same time.\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo($.support.opacity ? settings.duration : 0, 1, $.isFunction(settings.onZoomIn) ? settings.onZoomIn.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\tfunction stop() {\n\t\t\t\t\t$img.stop()\n\t\t\t\t\t.fadeTo(settings.duration, 0, $.isFunction(settings.onZoomOut) ? settings.onZoomOut.call(img) : false);\n\t\t\t\t}\n\n\t\t\t\t// Mouse events\n\t\t\t\tif (settings.on === 'grab') {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mousedown.zoom',\n\t\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\t\tif (e.which === 1) {\n\t\t\t\t\t\t\t\t\t$(document).one('mouseup.zoom',\n\t\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\t\tstop();\n\n\t\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\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\t\tstart(e);\n\n\t\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\n\t\t\t\t\t\t\t\t\te.preventDefault();\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} else if (settings.on === 'click') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\t// bubble the event up to the document to trigger the unbind.\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tclicked = true;\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t\t$(document).on(mousemove, zoom.move);\n\t\t\t\t\t\t\t\t$(document).one('click.zoom',\n\t\t\t\t\t\t\t\t\tfunction () {\n\t\t\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t\t\t\tclicked = false;\n\t\t\t\t\t\t\t\t\t\t$(document).off(mousemove, zoom.move);\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\treturn false;\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} else if (settings.on === 'toggle') {\n\t\t\t\t\t$source.on('click.zoom',\n\t\t\t\t\t\tfunction (e) {\n\t\t\t\t\t\t\tif (clicked) {\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tstart(e);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclicked = !clicked;\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} else if (settings.on === 'mouseover') {\n\t\t\t\t\tzoom.init(); // Preemptively call init because IE7 will fire the mousemove handler before the hover handler.\n\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('mouseenter.zoom', start)\n\t\t\t\t\t\t.on('mouseleave.zoom', stop)\n\t\t\t\t\t\t.on(mousemove, zoom.move);\n\t\t\t\t}\n\n\t\t\t\t// Touch fallback\n\t\t\t\tif (settings.touch) {\n\t\t\t\t\t$source\n\t\t\t\t\t\t.on('touchstart.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttouched = true;\n\t\t\t\t\t\t\t\tstart( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchmove.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tzoom.move( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] );\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.on('touchend.zoom', function (e) {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tif (touched) {\n\t\t\t\t\t\t\t\ttouched = false;\n\t\t\t\t\t\t\t\tstop();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif ($.isFunction(settings.callback)) {\n\t\t\t\t\tsettings.callback.call(img);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\timg.setAttribute('role', 'presentation');\n\t\t\timg.alt = '';\n\t\t\timg.src = settings.url;\n\t\t});\n\t};\n\n\t$.fn.zoom.defaults = defaults;\n}(window.jQuery));\n","/*!\n * jQuery scrollintoview() plugin and :scrollable selector filter\n *\n * Version 1.9.4 (06 April 2016)\n * Requires jQuery 1.4 or newer\n *\n * Copyright (c) 2011 Robert Koritnik\n * Licensed under the terms of the MIT license\n * http://www.opensource.org/licenses/mit-license.php\n */\n\n!function(root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        define(['jquery'], factory);\n    } else if (typeof exports === 'object') {\n        factory(require('jquery'));\n    } else {\n        factory(root.jQuery);\n    }\n}\n(this, function($) {\n    var converter = {\n        vertical: { x: false, y: true },\n        horizontal: { x: true, y: false },\n        both: { x: true, y: true },\n        x: { x: true, y: false },\n        y: { x: false, y: true }\n    };\n\n    var settings = {\n        duration: \"fast\",\n        direction: \"both\",\n        viewPadding: 0\n    };\n\n    var rootrx = /^(?:html)$/i;\n\n    // gets border dimensions\n    var borders = function(domElement, styles) {\n        styles = styles || (document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(domElement, null) : domElement.currentStyle);\n        var px = document.defaultView && document.defaultView.getComputedStyle ? true : false;\n        var b = {\n            top: (parseFloat(px ? styles.borderTopWidth : $.css(domElement, \"borderTopWidth\")) || 0),\n            left: (parseFloat(px ? styles.borderLeftWidth : $.css(domElement, \"borderLeftWidth\")) || 0),\n            bottom: (parseFloat(px ? styles.borderBottomWidth : $.css(domElement, \"borderBottomWidth\")) || 0),\n            right: (parseFloat(px ? styles.borderRightWidth : $.css(domElement, \"borderRightWidth\")) || 0)\n        };\n        return {\n            top: b.top,\n            left: b.left,\n            bottom: b.bottom,\n            right: b.right,\n            vertical: b.top + b.bottom,\n            horizontal: b.left + b.right\n        };\n    };\n\n    var dimensions = function($element) {\n        var elem = $element[0],\n            isRoot = rootrx.test(elem.nodeName),\n            $elem = isRoot ? $(window) : $element;\n        return {\n            border: isRoot ? { top: 0, left: 0, bottom: 0, right: 0 } : borders(elem),\n            scroll: {\n                top: $elem.scrollTop(),\n                left: $elem.scrollLeft(),\n                maxtop: elem.scrollHeight - elem.clientHeight,\n                maxleft: elem.scrollWidth - elem.clientWidth\n            },\n            scrollbar: isRoot\n                ? { right: 0, bottom: 0 }\n                : {\n                    right: $elem.innerWidth() - elem.clientWidth,\n                    bottom: $elem.innerHeight() - elem.clientHeight\n                },\n            rect: isRoot ? { top: 0, left: 0, bottom: elem.clientHeight, right: elem.clientWidth } : elem.getBoundingClientRect()\n        };\n    };\n\n    $.fn.extend({\n        scrollintoview: function(options) {\n            /// <summary>Scrolls the first element in the set into view by scrolling its closest scrollable parent.</summary>\n            /// <param name=\"options\" type=\"Object\">Additional options that can configure scrolling:\n            ///        duration (default: \"fast\") - jQuery animation speed (can be a duration string or number of milliseconds)\n            ///        direction (default: \"both\") - select possible scrollings (\"vertical\" or \"y\", \"horizontal\" or \"x\", \"both\")\n            ///        complete (default: none) - a function to call when scrolling completes (called in context of the DOM element being scrolled)\n            /// </param>\n            /// <return type=\"jQuery\">Returns the same jQuery set that this function was run on.</return>\n\n            options = $.extend({}, settings, options);\n            options.direction = converter[typeof (options.direction) === \"string\" && options.direction.toLowerCase()] || converter.both;\n\n            if (typeof options.viewPadding == \"number\") {\n                options.viewPadding = { x: options.viewPadding, y: options.viewPadding };\n            } else if (typeof options.viewPadding == \"object\") {\n                if (options.viewPadding.x == undefined) {\n                    options.viewPadding.x = 0;\n                }\n                if (options.viewPadding.y == undefined) {\n                    options.viewPadding.y = 0;\n                }\n            }\n\n            var dirStr = \"\";\n            if (options.direction.x === true) dirStr = \"horizontal\";\n            if (options.direction.y === true) dirStr = dirStr ? \"both\" : \"vertical\";\n\n            var el = this.eq(0);\n            var scroller = el.parent().closest(\":scrollable(\" + dirStr + \")\");\n\n            // check if there's anything to scroll in the first place\n            if (scroller.length > 0) {\n                scroller = scroller.eq(0);\n\n                var dim = {\n                    e: dimensions(el),\n                    s: dimensions(scroller)\n                };\n\n                var rel = {\n                    top: dim.e.rect.top - (dim.s.rect.top + dim.s.border.top),\n                    bottom: dim.s.rect.bottom - dim.s.border.bottom - dim.s.scrollbar.bottom - dim.e.rect.bottom,\n                    left: dim.e.rect.left - (dim.s.rect.left + dim.s.border.left),\n                    right: dim.s.rect.right - dim.s.border.right - dim.s.scrollbar.right - dim.e.rect.right\n                };\n\n                var animProperties = {};\n\n                // vertical scroll\n                if (options.direction.y === true) {\n                    if (rel.top < 0) {\n                        animProperties.scrollTop = Math.max(0, dim.s.scroll.top + rel.top - options.viewPadding.y);\n                    } else if (rel.top > 0 && rel.bottom < 0) {\n                        animProperties.scrollTop = Math.min(dim.s.scroll.top + Math.min(rel.top, -rel.bottom) + options.viewPadding.y, dim.s.scroll.maxtop);\n                    }\n                }\n\n                // horizontal scroll\n                if (options.direction.x === true) {\n                    if (rel.left < 0) {\n                        animProperties.scrollLeft = Math.max(0, dim.s.scroll.left + rel.left - options.viewPadding.x);\n                    } else if (rel.left > 0 && rel.right < 0) {\n                        animProperties.scrollLeft = Math.min(dim.s.scroll.left + Math.min(rel.left, -rel.right) + options.viewPadding.x, dim.s.scroll.maxleft);\n                    }\n                }\n\n                // scroll if needed\n                if (!$.isEmptyObject(animProperties)) {\n                    var scrollExpect = {},\n                        scrollListener = scroller;\n\n                    if (rootrx.test(scroller[0].nodeName)) {\n                        scroller = $(\"html,body\");\n                        scrollListener = $(window);\n                    }\n\n                    function animateStep(now, tween) {\n                        scrollExpect[tween.prop] = Math.floor(now);\n                    };\n\n                    function onscroll(event) {\n                        $.each(scrollExpect, function(key, value) {\n                            if (Math.floor(scrollListener[key]()) != Math.floor(value)) {\n                                options.complete = null; // don't run complete function if the scrolling was interrupted\n                                scroller.stop('scrollintoview');\n                            }\n                        });\n                    }\n\n                    scrollListener.on('scroll', onscroll);\n\n                    scroller\n                        .stop('scrollintoview')\n                        .animate(animProperties, { duration: options.duration, step: animateStep, queue: 'scrollintoview' })\n                        .eq(0) // we want function to be called just once (ref. \"html,body\")\n                        .queue('scrollintoview', function(next) {\n                            scrollListener.off('scroll', onscroll);\n                            $.isFunction(options.complete) && options.complete.call(scroller[0]);\n                            next();\n                        })\n\n                    scroller.dequeue('scrollintoview');\n                } else {\n                    // when there's nothing to scroll, just call the \"complete\" function\n                    $.isFunction(options.complete) && options.complete.call(scroller[0]);\n                }\n            }\n\n            // return set back\n            return this;\n        }\n    });\n\n    var scrollValue = {\n        auto: true,\n        scroll: true,\n        visible: false,\n        hidden: false\n    };\n\n    var scroll = function(element, direction) {\n        direction = converter[typeof (direction) === \"string\" && direction.toLowerCase()] || converter.both;\n        var styles = (document.defaultView && document.defaultView.getComputedStyle ? document.defaultView.getComputedStyle(element, null) : element.currentStyle);\n        var overflow = {\n            x: scrollValue[styles.overflowX.toLowerCase()] || false,\n            y: scrollValue[styles.overflowY.toLowerCase()] || false,\n            isRoot: rootrx.test(element.nodeName)\n        };\n\n        // check if completely unscrollable (exclude HTML element because it's special)\n        if (!overflow.x && !overflow.y && !overflow.isRoot) {\n            return false;\n        }\n\n        var size = {\n            height: {\n                scroll: element.scrollHeight,\n                client: element.clientHeight\n            },\n            width: {\n                scroll: element.scrollWidth,\n                client: element.clientWidth\n            },\n            // check overflow.x/y because iPad (and possibly other tablets) don't dislay scrollbars\n            scrollableX: function() {\n                return (overflow.x || overflow.isRoot) && this.width.scroll > this.width.client;\n            },\n            scrollableY: function() {\n                return (overflow.y || overflow.isRoot) && this.height.scroll > this.height.client;\n            }\n        };\n        return direction.y && size.scrollableY() || direction.x && size.scrollableX();\n    };\n\n    $.expr[\":\"].scrollable = $.expr.createPseudo(function(direction) {\n        return function(element) {\n            return scroll(element, direction);\n        };\n    });\n});\n","/*!\n * jQuery JavaScript Library v3.6.0\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2021-03-02T17:08Z\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 getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\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\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\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.6.0\",\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\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\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\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\" && !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\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || 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\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\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\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\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\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\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// 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\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 flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\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( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\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 = toType( obj );\n\n\tif ( isFunction( obj ) || 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.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\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\tnonnativeSelectorCache = 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\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\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|\" +\n\t\t\"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// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\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\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\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 + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\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)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\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 +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\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-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\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 ) + \"\\\\\" +\n\t\t\t\tch.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\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\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\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\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\tpushNative.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\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\t\tsetDocument( context );\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!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\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\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\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 ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\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\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\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\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\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\tinDisabledFieldset( 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\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\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\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\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 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\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// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\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\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\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\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 = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\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// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\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\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"<a href='' disabled='disabled'></a>\" +\n\t\t\t\t\"<select disabled='disabled'><option/></select>\";\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// Support: Opera 10 - 11 only\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\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\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\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\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( 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\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\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\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\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\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\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\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ 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\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\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\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\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\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\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\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\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\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\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\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 ] ||\n\t\t\t\tmatch[ 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\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\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 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\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\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\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() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\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 +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\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\t/* eslint-disable max-len */\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\t/* eslint-enable max-len */\n\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\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\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\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\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 ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( 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\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\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\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\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 || 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\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 &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( 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\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 ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\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\t// eslint-disable-next-line no-unused-expressions\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\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 ||\n\t\t\t\t\tattr.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 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\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\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\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\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\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 ] ||\n\t\t\t\t\t\t\t( 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\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(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\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\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\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\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\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\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\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.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\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\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\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\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: <number>) 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\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\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\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\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\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(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\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\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.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\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 ) ||\n\t\t\t\t\t\tcontext\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\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 = \"<a href='#'></a>\";\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 = \"<input/>\";\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( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\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\treturn 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\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( 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// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\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 <tag> 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 ( 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 ( 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\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// <object> elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn 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 ( 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 && toType( 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 && 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 && 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 = 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 && 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 ( 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\tisFunction( 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\tisFunction( 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\tisFunction( 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// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].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 primary Deferred\n\t\t\tprimary = 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\tprimary.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, primary.done( updateFunc( i ) ).resolve, primary.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 ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.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 ), primary.reject );\n\t\t}\n\n\t\treturn primary.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 ( toType( 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 ( !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\t\tvalue :\n\t\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};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (#9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\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[ 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[ 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 ][ 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( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = 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 = 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 documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\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\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\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 = elem.nodeType &&\n\t\t\t( 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// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\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 = ( /^$|^module$|\\/(?:java|ecma)script/i );\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 = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces <option> tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"<option></option>\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\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 <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"<select multiple='multiple'>\", \"</select>\" ];\n}\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, attached, 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 ( toType( 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\tattached = isAttached( 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 ( attached ) {\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\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\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// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\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 = Object.create( null );\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\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ 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// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.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 <use> 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: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\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\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\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( 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\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\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 || Date.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\tcode: 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\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur as it's already being fired\n\t\t// in leverageNative.\n\t\t_default: function() {\n\t\t\treturn true;\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\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// Support: IE <=10 - 11, Edge 12 - 13 only\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 = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\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( elem ).children( \"tbody\" )[ 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\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\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, 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.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle 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 = flat( 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\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\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 ( valueIsFunction ) {\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 && ( node.type || \"\" ).toLowerCase()  !== \"module\" ) {\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 && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\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, \"\" ), node, 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 && isAttached( 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;\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 = isAttached( 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 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\nvar swap = function( elem, options, callback ) {\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.call( elem );\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\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\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\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\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 = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\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\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, 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\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\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 === \"\" && !isAttached( 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.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.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 cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\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 potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\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\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 boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\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\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": 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\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 = 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\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\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 = 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, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\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\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, 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 = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\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[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\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) + \"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 ( prefix !== \"margin\" ) {\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\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\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 = Date.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 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\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\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 = 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\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 ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( 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 ( 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 ( 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\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !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 ( 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\n\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 ) {\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 = Date.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://infra.spec.whatwg.org/#strip-and-collapse-ascii-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\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\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 ( 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\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\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 ( 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\tclasses = classesToArray( value );\n\n\t\tif ( classes.length ) {\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\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( 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 ( isValidValue ) {\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 = classesToArray( value );\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\t\"\" :\n\t\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\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, valueIsFunction,\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\tvalueIsFunction = 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 ( valueIsFunction ) {\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\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\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 = lastElement = 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 && !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\t\t\tlastElement = cur;\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\" ) || Object.create( null ) )[ 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 && isFunction( elem[ type ] ) && !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\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\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\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\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || 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.document || 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 = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\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\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\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 && toType( 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 = 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\tif ( a == null ) {\n\t\treturn \"\";\n\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} ).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} ).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\noriginAnchor.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 ( 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\tjQuery( callbackContext ) :\n\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() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( 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.join( \", \" );\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 - 15\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 and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\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.guid++ ) +\n\t\t\t\t\tuncached;\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// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\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 ( 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\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\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\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\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 ( 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 ( 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 htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? 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.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.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 = xhr.ontimeout = 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 or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\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\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"<form></form><form></form>\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE <=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent &&\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t//    documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( {\n\t\tpadding: \"inner\" + name,\n\t\tcontent: type,\n\t\t\"\": \"outer\" + name\n\t}, function( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\njQuery.each(\n\t( \"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\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length > 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t}\n);\n\n\n\n\n// Support: Android <=4.0 only\n// Make sure we trim BOM and NBSP\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function addCSSRule(sheet, selector, rules, index) {\n  // return raf(function() {\n    'insertRule' in sheet ?\n      sheet.insertRule(selector + '{' + rules + '}', index) :\n      sheet.addRule(selector, rules, index);\n  // });\n}","import { classListSupport, hasClass } from './hasClass.js';\nvar addClass = classListSupport ?\n    function (el, str) {\n      if (!hasClass(el,  str)) { el.classList.add(str); }\n    } :\n    function (el, str) {\n      if (!hasClass(el,  str)) { el.className += ' ' + str; }\n    };\n\nexport { addClass };","import { passiveOption } from './passiveOption.js';\n\nexport function addEvents(el, obj, preventScrolling) {\n  for (var prop in obj) {\n    var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 && !preventScrolling ? passiveOption : false;\n    el.addEventListener(prop, obj[prop], option);\n  }\n}","export function arrayFromNodeList (nl) {\n  var arr = [];\n  for (var i = 0, l = nl.length; i < l; i++) {\n    arr.push(nl[i]);\n  }\n  return arr;\n}","var win = window;\n\nexport var caf = win.cancelAnimationFrame\n  || win.mozCancelAnimationFrame\n  || function(id){ clearTimeout(id); };\n","// get css-calc \n// @return - false | calc | -webkit-calc | -moz-calc\n// @usage - var calc = getCalc(); \nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function calc() {\n  var doc = document, \n      body = getBody(),\n      docOverflow = setFakeBody(body),\n      div = doc.createElement('div'), \n      result = false;\n\n  body.appendChild(div);\n  try {\n    var str = '(10px * 10)',\n        vals = ['calc' + str, '-moz-calc' + str, '-webkit-calc' + str],\n        val;\n    for (var i = 0; i < 3; i++) {\n      val = vals[i];\n      div.style.width = val;\n      if (div.offsetWidth === 100) { \n        result = val.replace(str, ''); \n        break;\n      }\n    }\n  } catch (e) {}\n  \n  body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n  return result;\n}","export function checkStorageValue (value) {\n  return ['true', 'false'].indexOf(value) >= 0 ? JSON.parse(value) : value;\n}","export var classListSupport = 'classList' in document.createElement('_');","// create and append style sheet\nexport function createStyleSheet (media, nonce) {\n  // Create the <style> tag\n  var style = document.createElement(\"style\");\n  // style.setAttribute(\"type\", \"text/css\");\n\n  // Add a media (and/or media query) here if you'd like!\n  // style.setAttribute(\"media\", \"screen\")\n  // style.setAttribute(\"media\", \"only screen and (max-width : 1024px)\")\n  if (media) { style.setAttribute(\"media\", media); }\n\n  // Add nonce attribute for Content Security Policy\n  if (nonce) { style.setAttribute(\"nonce\", nonce); }\n\n  // WebKit hack :(\n  // style.appendChild(document.createTextNode(\"\"));\n\n  // Add the <style> element to the page\n  document.querySelector('head').appendChild(style);\n\n  return style.sheet ? style.sheet : style.styleSheet;\n};","export var docElement = document.documentElement;","export function Events() {\n  return {\n    topics: {},\n    on: function (eventName, fn) {\n      this.topics[eventName] = this.topics[eventName] || [];\n      this.topics[eventName].push(fn);\n    },\n    off: function(eventName, fn) {\n      if (this.topics[eventName]) {\n        for (var i = 0; i < this.topics[eventName].length; i++) {\n          if (this.topics[eventName][i] === fn) {\n            this.topics[eventName].splice(i, 1);\n            break;\n          }\n        }\n      }\n    },\n    emit: function (eventName, data) {\n      data.type = eventName;\n      if (this.topics[eventName]) {\n        this.topics[eventName].forEach(function(fn) {\n          fn(data, eventName);\n        });\n      }\n    }\n  };\n};","export function extend() {\n  var obj, name, copy,\n      target = arguments[0] || {},\n      i = 1,\n      length = arguments.length;\n\n  for (; i < length; i++) {\n    if ((obj = arguments[i]) !== null) {\n      for (name in obj) {\n        copy = obj[name];\n\n        if (target === copy) {\n          continue;\n        } else if (copy !== undefined) {\n          target[name] = copy;\n        }\n      }\n    }\n  }\n  return target;\n}","// https://toddmotto.com/ditch-the-array-foreach-call-nodelist-hack/\nexport function forEach (arr, callback, scope) {\n  for (var i = 0, l = arr.length; i < l; i++) {\n    callback.call(scope, arr[i], i);\n  }\n}","export function getAttr(el, attr) {\n  return el.getAttribute(attr);\n}","export function getBody () {\n  var doc = document,\n      body = doc.body;\n\n  if (!body) {\n    body = doc.createElement('body');\n    body.fake = true;\n  }\n\n  return body;\n}","export function getCssRulesLength(sheet) {\n  var rule = ('insertRule' in sheet) ? sheet.cssRules : sheet.rules;\n  return rule.length;\n}","// get transitionend, animationend based on transitionDuration\n// @propin: string\n// @propOut: string, first-letter uppercase\n// Usage: getEndProperty('WebkitTransitionDuration', 'Transition') => webkitTransitionEnd\nexport function getEndProperty(propIn, propOut) {\n  var endProp = false;\n  if (/^Webkit/.test(propIn)) {\n    endProp = 'webkit' + propOut + 'End';\n  } else if (/^O/.test(propIn)) {\n    endProp = 'o' + propOut + 'End';\n  } else if (propIn) {\n    endProp = propOut.toLowerCase() + 'end';\n  }\n  return endProp;\n}","export function getSlideId() {\n  var id = window.tnsId;\n  window.tnsId = !id ? 1 : id + 1;\n  \n  return 'tns' + window.tnsId;\n}","export function getTouchDirection(angle, range) {\n  var direction = false,\n      gap = Math.abs(90 - Math.abs(angle));\n      \n  if (gap >= 90 - range) {\n    direction = 'horizontal';\n  } else if (gap <= range) {\n    direction = 'vertical';\n  }\n\n  return direction;\n}","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function has3DTransforms(tf){\n  if (!tf) { return false; }\n  if (!window.getComputedStyle) { return false; }\n  \n  var doc = document,\n      body = getBody(),\n      docOverflow = setFakeBody(body),\n      el = doc.createElement('p'),\n      has3d,\n      cssTF = tf.length > 9 ? '-' + tf.slice(0, -9).toLowerCase() + '-' : '';\n\n  cssTF += 'transform';\n\n  // Add it to the body to get the computed style\n  body.insertBefore(el, null);\n\n  el.style[tf] = 'translate3d(1px,1px,1px)';\n  has3d = window.getComputedStyle(el).getPropertyValue(cssTF);\n\n  body.fake ? resetFakeBody(body, docOverflow) : el.remove();\n\n  return (has3d !== undefined && has3d.length > 0 && has3d !== \"none\");\n}\n","export function hasAttr(el, attr) {\n  return el.hasAttribute(attr);\n}","import { classListSupport } from './classListSupport.js';\n\nvar hasClass = classListSupport ?\n    function (el, str) { return el.classList.contains(str); } :\n    function (el, str) { return el.className.indexOf(str) >= 0; };\n\nexport { classListSupport, hasClass };","export function hideElement(el, forceHide) {\n  if (el.style.display !== 'none') { el.style.display = 'none'; }\n}","export function isNodeList(el) {\n  // Only NodeList has the \"item()\" function\n  return typeof el.item !== \"undefined\"; \n}","export function isVisible(el) {\n  return window.getComputedStyle(el).display !== 'none';\n}","export function jsTransform(element, attr, prefix, postfix, to, duration, callback) {\n  var tick = Math.min(duration, 10),\n      unit = (to.indexOf('%') >= 0) ? '%' : 'px',\n      to = to.replace(unit, ''),\n      from = Number(element.style[attr].replace(prefix, '').replace(postfix, '').replace(unit, '')),\n      positionTick = (to - from) / duration * tick,\n      running;\n\n  setTimeout(moveElement, tick);\n  function moveElement() {\n    duration -= tick;\n    from += positionTick;\n    element.style[attr] = prefix + from + unit + postfix;\n    if (duration > 0) { \n      setTimeout(moveElement, tick); \n    } else {\n      callback();\n    }\n  }\n}","import { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function mediaquerySupport () {\n  if (window.matchMedia || window.msMatchMedia) {\n    return true;\n  }\n  \n  var doc = document,\n      body = getBody(),\n      docOverflow = setFakeBody(body),\n      div = doc.createElement('div'),\n      style = doc.createElement('style'),\n      rule = '@media all and (min-width:1px){.tns-mq-test{position:absolute}}',\n      position;\n\n  style.type = 'text/css';\n  div.className = 'tns-mq-test';\n\n  body.appendChild(style);\n  body.appendChild(div);\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = rule;\n  } else {\n    style.appendChild(doc.createTextNode(rule));\n  }\n\n  position = window.getComputedStyle ? window.getComputedStyle(div).position : div.currentStyle['position'];\n\n  body.fake ? resetFakeBody(body, docOverflow) : div.remove();\n\n  return position === \"absolute\";\n}\n","// Test via a getter in the options object to see if the passive property is accessed\nvar supportsPassive = false;\ntry {\n  var opts = Object.defineProperty({}, 'passive', {\n    get: function() {\n      supportsPassive = true;\n    }\n  });\n  window.addEventListener(\"test\", null, opts);\n} catch (e) {}\nexport var passiveOption = supportsPassive ? { passive: true } : false;","// get subpixel support value\n// @return - boolean\nimport { getBody } from './getBody.js';\nimport { setFakeBody } from './setFakeBody.js';\nimport { resetFakeBody } from './resetFakeBody.js';\n\nexport function percentageLayout() {\n  // check subpixel layout supporting\n  var doc = document,\n      body = getBody(),\n      docOverflow = setFakeBody(body),\n      wrapper = doc.createElement('div'),\n      outer = doc.createElement('div'),\n      str = '',\n      count = 70,\n      perPage = 3,\n      supported = false;\n\n  wrapper.className = \"tns-t-subp2\";\n  outer.className = \"tns-t-ct\";\n\n  for (var i = 0; i < count; i++) {\n    str += '<div></div>';\n  }\n\n  outer.innerHTML = str;\n  wrapper.appendChild(outer);\n  body.appendChild(wrapper);\n\n  supported = Math.abs(wrapper.getBoundingClientRect().left - outer.children[count - perPage].getBoundingClientRect().left) < 2;\n\n  body.fake ? resetFakeBody(body, docOverflow) : wrapper.remove();\n\n  return supported;\n}","var win = window;\n\nexport var raf = win.requestAnimationFrame\n  || win.webkitRequestAnimationFrame\n  || win.mozRequestAnimationFrame\n  || win.msRequestAnimationFrame\n  || function(cb) { return setTimeout(cb, 16); };\n","import { isNodeList } from \"./isNodeList.js\";\n\nexport function removeAttrs(els, attrs) {\n  els = (isNodeList(els) || els instanceof Array) ? els : [els];\n  attrs = (attrs instanceof Array) ? attrs : [attrs];\n\n  var attrLength = attrs.length;\n  for (var i = els.length; i--;) {\n    for (var j = attrLength; j--;) {\n      els[i].removeAttribute(attrs[j]);\n    }\n  }\n}","// cross browsers addRule method\nimport { raf } from './raf.js';\nexport function removeCSSRule(sheet, index) {\n  // return raf(function() {\n    'deleteRule' in sheet ?\n      sheet.deleteRule(index) :\n      sheet.removeRule(index);\n  // });\n}","import { classListSupport, hasClass } from './hasClass.js';\nvar removeClass = classListSupport ?\n    function (el, str) {\n      if (hasClass(el,  str)) { el.classList.remove(str); }\n    } :\n    function (el, str) {\n      if (hasClass(el, str)) { el.className = el.className.replace(str, ''); }\n    };\n\nexport { removeClass };","import { passiveOption } from './passiveOption.js';\n\nexport function removeEvents(el, obj) {\n  for (var prop in obj) {\n    var option = ['touchstart', 'touchmove'].indexOf(prop) >= 0 ? passiveOption : false;\n    el.removeEventListener(prop, obj[prop], option);\n  }\n}","import { docElement } from './docElement.js';\n\nexport function resetFakeBody (body, docOverflow) {\n  if (body.fake) {\n    body.remove();\n    docElement.style.overflow = docOverflow;\n    // Trigger layout so kinetic scrolling isn't disabled in iOS6+\n    // eslint-disable-next-line\n    docElement.offsetHeight;\n  }\n}","import { isNodeList } from \"./isNodeList.js\";\n\nexport function setAttrs(els, attrs) {\n  els = (isNodeList(els) || els instanceof Array) ? els : [els];\n  if (Object.prototype.toString.call(attrs) !== '[object Object]') { return; }\n\n  for (var i = els.length; i--;) {\n    for(var key in attrs) {\n      els[i].setAttribute(key, attrs[key]);\n    }\n  }\n}","import { docElement } from './docElement.js';\n\nexport function setFakeBody (body) {\n  var docOverflow = '';\n  if (body.fake) {\n    docOverflow = docElement.style.overflow;\n    //avoid crashing IE8, if background image is used\n    body.style.background = '';\n    //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible\n    body.style.overflow = docElement.style.overflow = 'hidden';\n    docElement.appendChild(body);\n  }\n\n  return docOverflow;\n}","export function setLocalStorage(storage, key, value, access) {\n  if (access) {\n    try { storage.setItem(key, value); } catch (e) {}\n  }\n  return value;\n}","export function showElement(el, forceHide) {\n  if (el.style.display === 'none') { el.style.display = ''; }\n}","export function toDegree (y, x) {\n  return Math.atan2(y, x) * (180 / Math.PI);\n}","export function whichProperty(props){\n  if (typeof props === 'string') {\n    var arr = [props],\n        Props = props.charAt(0).toUpperCase() + props.substr(1),\n        prefixes = ['Webkit', 'Moz', 'ms', 'O'];\n        \n    prefixes.forEach(function(prefix) {\n      if (prefix !== 'ms' || props === 'transform') {\n        arr.push(prefix + Props);\n      }\n    });\n\n    props = arr;\n  }\n\n  var el = document.createElement('fakeelement'),\n      len = props.length;\n  for(var i = 0; i < props.length; i++){\n    var prop = props[i];\n    if( el.style[prop] !== undefined ){ return prop; }\n  }\n\n  return false; // explicit for ie9-\n}\n","// Object.keys\nif (!Object.keys) {\n  Object.keys = function(object) {\n    var keys = [];\n    for (var name in object) {\n      if (Object.prototype.hasOwnProperty.call(object, name)) {\n        keys.push(name);\n      }\n    }\n    return keys;\n  };\n}\n\n// ChildNode.remove\nif(!(\"remove\" in Element.prototype)){\n  Element.prototype.remove = function(){\n    if(this.parentNode) {\n      this.parentNode.removeChild(this);\n    }\n  };\n}\n\nimport { raf } from './helpers/raf.js';\nimport { caf } from './helpers/caf.js';\nimport { extend } from './helpers/extend.js';\nimport { checkStorageValue } from './helpers/checkStorageValue.js';\nimport { setLocalStorage } from './helpers/setLocalStorage.js';\nimport { getSlideId } from './helpers/getSlideId.js';\nimport { calc } from './helpers/calc.js';\nimport { percentageLayout } from './helpers/percentageLayout.js';\nimport { mediaquerySupport } from './helpers/mediaquerySupport.js';\nimport { createStyleSheet } from './helpers/createStyleSheet.js';\nimport { addCSSRule } from './helpers/addCSSRule.js';\nimport { removeCSSRule } from './helpers/removeCSSRule.js';\nimport { getCssRulesLength } from './helpers/getCssRulesLength.js';\nimport { toDegree } from './helpers/toDegree.js';\nimport { getTouchDirection } from './helpers/getTouchDirection.js';\nimport { forEach } from './helpers/forEach.js';\nimport { hasClass } from './helpers/hasClass.js';\nimport { addClass } from './helpers/addClass.js';\nimport { removeClass } from './helpers/removeClass.js';\nimport { hasAttr } from './helpers/hasAttr.js';\nimport { getAttr } from './helpers/getAttr.js';\nimport { setAttrs } from './helpers/setAttrs.js';\nimport { removeAttrs } from './helpers/removeAttrs.js';\nimport { arrayFromNodeList } from './helpers/arrayFromNodeList.js';\nimport { hideElement } from './helpers/hideElement.js';\nimport { showElement } from './helpers/showElement.js';\nimport { isVisible } from './helpers/isVisible.js';\nimport { whichProperty } from './helpers/whichProperty.js';\nimport { has3DTransforms } from './helpers/has3DTransforms.js';\nimport { getEndProperty } from './helpers/getEndProperty.js';\nimport { addEvents } from './helpers/addEvents.js';\nimport { removeEvents } from './helpers/removeEvents.js';\nimport { Events } from './helpers/events.js';\nimport { jsTransform } from './helpers/jsTransform.js';\n\nexport var tns = function(options) {\n  options = extend({\n    container: '.slider',\n    mode: 'carousel',\n    axis: 'horizontal',\n    items: 1,\n    gutter: 0,\n    edgePadding: 0,\n    fixedWidth: false,\n    autoWidth: false,\n    viewportMax: false,\n    slideBy: 1,\n    center: false,\n    controls: true,\n    controlsPosition: 'top',\n    controlsText: ['prev', 'next'],\n    controlsContainer: false,\n    prevButton: false,\n    nextButton: false,\n    nav: true,\n    navPosition: 'top',\n    navContainer: false,\n    navAsThumbnails: false,\n    arrowKeys: false,\n    speed: 300,\n    autoplay: false,\n    autoplayPosition: 'top',\n    autoplayTimeout: 5000,\n    autoplayDirection: 'forward',\n    autoplayText: ['start', 'stop'],\n    autoplayHoverPause: false,\n    autoplayButton: false,\n    autoplayButtonOutput: true,\n    autoplayResetOnVisibility: true,\n    animateIn: 'tns-fadeIn',\n    animateOut: 'tns-fadeOut',\n    animateNormal: 'tns-normal',\n    animateDelay: false,\n    loop: true,\n    rewind: false,\n    autoHeight: false,\n    responsive: false,\n    lazyload: false,\n    lazyloadSelector: '.tns-lazy-img',\n    touch: true,\n    mouseDrag: false,\n    swipeAngle: 15,\n    nested: false,\n    preventActionWhenRunning: false,\n    preventScrollOnTouch: false,\n    freezable: true,\n    onInit: false,\n    useLocalStorage: true,\n    nonce: false\n  }, options || {});\n\n  var doc = document,\n      win = window,\n      KEYS = {\n        ENTER: 13,\n        SPACE: 32,\n        LEFT: 37,\n        RIGHT: 39\n      },\n      tnsStorage = {},\n      localStorageAccess = options.useLocalStorage;\n\n  if (localStorageAccess) {\n    // check browser version and local storage access\n    var browserInfo = navigator.userAgent;\n    var uid = new Date;\n\n    try {\n      tnsStorage = win.localStorage;\n      if (tnsStorage) {\n        tnsStorage.setItem(uid, uid);\n        localStorageAccess = tnsStorage.getItem(uid) == uid;\n        tnsStorage.removeItem(uid);\n      } else {\n        localStorageAccess = false;\n      }\n      if (!localStorageAccess) { tnsStorage = {}; }\n    } catch(e) {\n      localStorageAccess = false;\n    }\n\n    if (localStorageAccess) {\n      // remove storage when browser version changes\n      if (tnsStorage['tnsApp'] && tnsStorage['tnsApp'] !== browserInfo) {\n        ['tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach(function(item) { tnsStorage.removeItem(item); });\n      }\n      // update browserInfo\n      localStorage['tnsApp'] = browserInfo;\n    }\n  }\n\n  var CALC = tnsStorage['tC'] ? checkStorageValue(tnsStorage['tC']) : setLocalStorage(tnsStorage, 'tC', calc(), localStorageAccess),\n      PERCENTAGELAYOUT = tnsStorage['tPL'] ? checkStorageValue(tnsStorage['tPL']) : setLocalStorage(tnsStorage, 'tPL', percentageLayout(), localStorageAccess),\n      CSSMQ = tnsStorage['tMQ'] ? checkStorageValue(tnsStorage['tMQ']) : setLocalStorage(tnsStorage, 'tMQ', mediaquerySupport(), localStorageAccess),\n      TRANSFORM = tnsStorage['tTf'] ? checkStorageValue(tnsStorage['tTf']) : setLocalStorage(tnsStorage, 'tTf', whichProperty('transform'), localStorageAccess),\n      HAS3DTRANSFORMS = tnsStorage['t3D'] ? checkStorageValue(tnsStorage['t3D']) : setLocalStorage(tnsStorage, 't3D', has3DTransforms(TRANSFORM), localStorageAccess),\n      TRANSITIONDURATION = tnsStorage['tTDu'] ? checkStorageValue(tnsStorage['tTDu']) : setLocalStorage(tnsStorage, 'tTDu', whichProperty('transitionDuration'), localStorageAccess),\n      TRANSITIONDELAY = tnsStorage['tTDe'] ? checkStorageValue(tnsStorage['tTDe']) : setLocalStorage(tnsStorage, 'tTDe', whichProperty('transitionDelay'), localStorageAccess),\n      ANIMATIONDURATION = tnsStorage['tADu'] ? checkStorageValue(tnsStorage['tADu']) : setLocalStorage(tnsStorage, 'tADu', whichProperty('animationDuration'), localStorageAccess),\n      ANIMATIONDELAY = tnsStorage['tADe'] ? checkStorageValue(tnsStorage['tADe']) : setLocalStorage(tnsStorage, 'tADe', whichProperty('animationDelay'), localStorageAccess),\n      TRANSITIONEND = tnsStorage['tTE'] ? checkStorageValue(tnsStorage['tTE']) : setLocalStorage(tnsStorage, 'tTE', getEndProperty(TRANSITIONDURATION, 'Transition'), localStorageAccess),\n      ANIMATIONEND = tnsStorage['tAE'] ? checkStorageValue(tnsStorage['tAE']) : setLocalStorage(tnsStorage, 'tAE', getEndProperty(ANIMATIONDURATION, 'Animation'), localStorageAccess);\n\n  // get element nodes from selectors\n  var supportConsoleWarn = win.console && typeof win.console.warn === \"function\",\n      tnsList = ['container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'],\n      optionsElements = {};\n\n  tnsList.forEach(function(item) {\n    if (typeof options[item] === 'string') {\n      var str = options[item],\n          el = doc.querySelector(str);\n      optionsElements[item] = str;\n\n      if (el && el.nodeName) {\n        options[item] = el;\n      } else {\n        if (supportConsoleWarn) { console.warn('Can\\'t find', options[item]); }\n        return;\n      }\n    }\n  });\n\n  // make sure at least 1 slide\n  if (options.container.children.length < 1) {\n    if (supportConsoleWarn) { console.warn('No slides found in', options.container); }\n    return;\n   }\n\n  // update options\n  var responsive = options.responsive,\n      nested = options.nested,\n      carousel = options.mode === 'carousel' ? true : false;\n\n  if (responsive) {\n    // apply responsive[0] to options and remove it\n    if (0 in responsive) {\n      options = extend(options, responsive[0]);\n      delete responsive[0];\n    }\n\n    var responsiveTem = {};\n    for (var key in responsive) {\n      var val = responsive[key];\n      // update responsive\n      // from: 300: 2\n      // to:\n      //   300: {\n      //     items: 2\n      //   }\n      val = typeof val === 'number' ? {items: val} : val;\n      responsiveTem[key] = val;\n    }\n    responsive = responsiveTem;\n    responsiveTem = null;\n  }\n\n  // update options\n  function updateOptions (obj) {\n    for (var key in obj) {\n      if (!carousel) {\n        if (key === 'slideBy') { obj[key] = 'page'; }\n        if (key === 'edgePadding') { obj[key] = false; }\n        if (key === 'autoHeight') { obj[key] = false; }\n      }\n\n      // update responsive options\n      if (key === 'responsive') { updateOptions(obj[key]); }\n    }\n  }\n  if (!carousel) { updateOptions(options); }\n\n\n  // === define and set variables ===\n  if (!carousel) {\n    options.axis = 'horizontal';\n    options.slideBy = 'page';\n    options.edgePadding = false;\n\n    var animateIn = options.animateIn,\n        animateOut = options.animateOut,\n        animateDelay = options.animateDelay,\n        animateNormal = options.animateNormal;\n  }\n\n  var horizontal = options.axis === 'horizontal' ? true : false,\n      outerWrapper = doc.createElement('div'),\n      innerWrapper = doc.createElement('div'),\n      middleWrapper,\n      container = options.container,\n      containerParent = container.parentNode,\n      containerHTML = container.outerHTML,\n      slideItems = container.children,\n      slideCount = slideItems.length,\n      breakpointZone,\n      windowWidth = getWindowWidth(),\n      isOn = false;\n  if (responsive) { setBreakpointZone(); }\n  if (carousel) { container.className += ' tns-vpfix'; }\n\n  // fixedWidth: viewport > rightBoundary > indexMax\n  var autoWidth = options.autoWidth,\n      fixedWidth = getOption('fixedWidth'),\n      edgePadding = getOption('edgePadding'),\n      gutter = getOption('gutter'),\n      viewport = getViewportWidth(),\n      center = getOption('center'),\n      items = !autoWidth ? Math.floor(getOption('items')) : 1,\n      slideBy = getOption('slideBy'),\n      viewportMax = options.viewportMax || options.fixedWidthViewportWidth,\n      arrowKeys = getOption('arrowKeys'),\n      speed = getOption('speed'),\n      rewind = options.rewind,\n      loop = rewind ? false : options.loop,\n      autoHeight = getOption('autoHeight'),\n      controls = getOption('controls'),\n      controlsText = getOption('controlsText'),\n      nav = getOption('nav'),\n      touch = getOption('touch'),\n      mouseDrag = getOption('mouseDrag'),\n      autoplay = getOption('autoplay'),\n      autoplayTimeout = getOption('autoplayTimeout'),\n      autoplayText = getOption('autoplayText'),\n      autoplayHoverPause = getOption('autoplayHoverPause'),\n      autoplayResetOnVisibility = getOption('autoplayResetOnVisibility'),\n      sheet = createStyleSheet(null, getOption('nonce')),\n      lazyload = options.lazyload,\n      lazyloadSelector = options.lazyloadSelector,\n      slidePositions, // collection of slide positions\n      slideItemsOut = [],\n      cloneCount = loop ? getCloneCountForLoop() : 0,\n      slideCountNew = !carousel ? slideCount + cloneCount : slideCount + cloneCount * 2,\n      hasRightDeadZone = (fixedWidth || autoWidth) && !loop ? true : false,\n      rightBoundary = fixedWidth ? getRightBoundary() : null,\n      updateIndexBeforeTransform = (!carousel || !loop) ? true : false,\n      // transform\n      transformAttr = horizontal ? 'left' : 'top',\n      transformPrefix = '',\n      transformPostfix = '',\n      // index\n      getIndexMax = (function () {\n        if (fixedWidth) {\n          return function() { return center && !loop ? slideCount - 1 : Math.ceil(- rightBoundary / (fixedWidth + gutter)); };\n        } else if (autoWidth) {\n          return function() {\n            for (var i = 0; i < slideCountNew; i++) {\n              if (slidePositions[i] >= - rightBoundary) { return i; }\n            }\n          };\n        } else {\n          return function() {\n            if (center && carousel && !loop) {\n              return slideCount - 1;\n            } else {\n              return loop || carousel ? Math.max(0, slideCountNew - Math.ceil(items)) : slideCountNew - 1;\n            }\n          };\n        }\n      })(),\n      index = getStartIndex(getOption('startIndex')),\n      indexCached = index,\n      displayIndex = getCurrentSlide(),\n      indexMin = 0,\n      indexMax = !autoWidth ? getIndexMax() : null,\n      // resize\n      resizeTimer,\n      preventActionWhenRunning = options.preventActionWhenRunning,\n      swipeAngle = options.swipeAngle,\n      moveDirectionExpected = swipeAngle ? '?' : true,\n      running = false,\n      onInit = options.onInit,\n      events = new Events(),\n      // id, class\n      newContainerClasses = ' tns-slider tns-' + options.mode,\n      slideId = container.id || getSlideId(),\n      disable = getOption('disable'),\n      disabled = false,\n      freezable = options.freezable,\n      freeze = freezable && !autoWidth ? getFreeze() : false,\n      frozen = false,\n      controlsEvents = {\n        'click': onControlsClick,\n        'keydown': onControlsKeydown\n      },\n      navEvents = {\n        'click': onNavClick,\n        'keydown': onNavKeydown\n      },\n      hoverEvents = {\n        'mouseover': mouseoverPause,\n        'mouseout': mouseoutRestart\n      },\n      visibilityEvent = {'visibilitychange': onVisibilityChange},\n      docmentKeydownEvent = {'keydown': onDocumentKeydown},\n      touchEvents = {\n        'touchstart': onPanStart,\n        'touchmove': onPanMove,\n        'touchend': onPanEnd,\n        'touchcancel': onPanEnd\n      }, dragEvents = {\n        'mousedown': onPanStart,\n        'mousemove': onPanMove,\n        'mouseup': onPanEnd,\n        'mouseleave': onPanEnd\n      },\n      hasControls = hasOption('controls'),\n      hasNav = hasOption('nav'),\n      navAsThumbnails = autoWidth ? true : options.navAsThumbnails,\n      hasAutoplay = hasOption('autoplay'),\n      hasTouch = hasOption('touch'),\n      hasMouseDrag = hasOption('mouseDrag'),\n      slideActiveClass = 'tns-slide-active',\n      slideClonedClass = 'tns-slide-cloned',\n      imgCompleteClass = 'tns-complete',\n      imgEvents = {\n        'load': onImgLoaded,\n        'error': onImgFailed\n      },\n      imgsComplete,\n      liveregionCurrent,\n      preventScroll = options.preventScrollOnTouch === 'force' ? true : false;\n\n  // controls\n  if (hasControls) {\n    var controlsContainer = options.controlsContainer,\n        controlsContainerHTML = options.controlsContainer ? options.controlsContainer.outerHTML : '',\n        prevButton = options.prevButton,\n        nextButton = options.nextButton,\n        prevButtonHTML = options.prevButton ? options.prevButton.outerHTML : '',\n        nextButtonHTML = options.nextButton ? options.nextButton.outerHTML : '',\n        prevIsButton,\n        nextIsButton;\n  }\n\n  // nav\n  if (hasNav) {\n    var navContainer = options.navContainer,\n        navContainerHTML = options.navContainer ? options.navContainer.outerHTML : '',\n        navItems,\n        pages = autoWidth ? slideCount : getPages(),\n        pagesCached = 0,\n        navClicked = -1,\n        navCurrentIndex = getCurrentNavIndex(),\n        navCurrentIndexCached = navCurrentIndex,\n        navActiveClass = 'tns-nav-active',\n        navStr = 'Carousel Page ',\n        navStrCurrent = ' (Current Slide)';\n  }\n\n  // autoplay\n  if (hasAutoplay) {\n    var autoplayDirection = options.autoplayDirection === 'forward' ? 1 : -1,\n        autoplayButton = options.autoplayButton,\n        autoplayButtonHTML = options.autoplayButton ? options.autoplayButton.outerHTML : '',\n        autoplayHtmlStrings = ['<span class=\\'tns-visually-hidden\\'>', ' animation</span>'],\n        autoplayTimer,\n        animating,\n        autoplayHoverPaused,\n        autoplayUserPaused,\n        autoplayVisibilityPaused;\n  }\n\n  if (hasTouch || hasMouseDrag) {\n    var initPosition = {},\n        lastPosition = {},\n        translateInit,\n        disX,\n        disY,\n        panStart = false,\n        rafIndex,\n        getDist = horizontal ?\n          function(a, b) { return a.x - b.x; } :\n          function(a, b) { return a.y - b.y; };\n  }\n\n  // disable slider when slidecount <= items\n  if (!autoWidth) { resetVariblesWhenDisable(disable || freeze); }\n\n  if (TRANSFORM) {\n    transformAttr = TRANSFORM;\n    transformPrefix = 'translate';\n\n    if (HAS3DTRANSFORMS) {\n      transformPrefix += horizontal ? '3d(' : '3d(0px, ';\n      transformPostfix = horizontal ? ', 0px, 0px)' : ', 0px)';\n    } else {\n      transformPrefix += horizontal ? 'X(' : 'Y(';\n      transformPostfix = ')';\n    }\n\n  }\n\n  if (carousel) { container.className = container.className.replace('tns-vpfix', ''); }\n  initStructure();\n  initSheet();\n  initSliderTransform();\n\n  // === COMMON FUNCTIONS === //\n  function resetVariblesWhenDisable (condition) {\n    if (condition) {\n      controls = nav = touch = mouseDrag = arrowKeys = autoplay = autoplayHoverPause = autoplayResetOnVisibility = false;\n    }\n  }\n\n  function getCurrentSlide () {\n    var tem = carousel ? index - cloneCount : index;\n    while (tem < 0) { tem += slideCount; }\n    return tem%slideCount + 1;\n  }\n\n  function getStartIndex (ind) {\n    ind = ind ? Math.max(0, Math.min(loop ? slideCount - 1 : slideCount - items, ind)) : 0;\n    return carousel ? ind + cloneCount : ind;\n  }\n\n  function getAbsIndex (i) {\n    if (i == null) { i = index; }\n\n    if (carousel) { i -= cloneCount; }\n    while (i < 0) { i += slideCount; }\n\n    return Math.floor(i%slideCount);\n  }\n\n  function getCurrentNavIndex () {\n    var absIndex = getAbsIndex(),\n        result;\n\n    result = navAsThumbnails ? absIndex :\n      fixedWidth || autoWidth ? Math.ceil((absIndex + 1) * pages / slideCount - 1) :\n          Math.floor(absIndex / items);\n\n    // set active nav to the last one when reaches the right edge\n    if (!loop && carousel && index === indexMax) { result = pages - 1; }\n\n    return result;\n  }\n\n  function getItemsMax () {\n    // fixedWidth or autoWidth while viewportMax is not available\n    if (autoWidth || (fixedWidth && !viewportMax)) {\n      return slideCount - 1;\n    // most cases\n    } else {\n      var str = fixedWidth ? 'fixedWidth' : 'items',\n          arr = [];\n\n      if (fixedWidth || options[str] < slideCount) { arr.push(options[str]); }\n\n      if (responsive) {\n        for (var bp in responsive) {\n          var tem = responsive[bp][str];\n          if (tem && (fixedWidth || tem < slideCount)) { arr.push(tem); }\n        }\n      }\n\n      if (!arr.length) { arr.push(0); }\n\n      return Math.ceil(fixedWidth ? viewportMax / Math.min.apply(null, arr) : Math.max.apply(null, arr));\n    }\n  }\n\n  function getCloneCountForLoop () {\n    var itemsMax = getItemsMax(),\n        result = carousel ? Math.ceil((itemsMax * 5 - slideCount)/2) : (itemsMax * 4 - slideCount);\n    result = Math.max(itemsMax, result);\n\n    return hasOption('edgePadding') ? result + 1 : result;\n  }\n\n  function getWindowWidth () {\n    return win.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;\n  }\n\n  function getInsertPosition (pos) {\n    return pos === 'top' ? 'afterbegin' : 'beforeend';\n  }\n\n  function getClientWidth (el) {\n    if (el == null) { return; }\n    var div = doc.createElement('div'), rect, width;\n    el.appendChild(div);\n    rect = div.getBoundingClientRect();\n    width = rect.right - rect.left;\n    div.remove();\n    if (width) {\n        return width;\n    } else if (el.parentNode.parentNode !== null) {\n        getClientWidth(el.parentNode);\n    } else {\n        return;\n    }\n  }\n\n  function getViewportWidth () {\n    var gap = edgePadding ? edgePadding * 2 - gutter : 0;\n    return getClientWidth(containerParent) - gap;\n  }\n\n  function hasOption (item) {\n    if (options[item]) {\n      return true;\n    } else {\n      if (responsive) {\n        for (var bp in responsive) {\n          if (responsive[bp][item]) { return true; }\n        }\n      }\n      return false;\n    }\n  }\n\n  // get option:\n  // fixed width: viewport, fixedWidth, gutter => items\n  // others: window width => all variables\n  // all: items => slideBy\n  function getOption (item, ww) {\n    if (ww == null) { ww = windowWidth; }\n\n    if (item === 'items' && fixedWidth) {\n      return Math.floor((viewport + gutter) / (fixedWidth + gutter)) || 1;\n\n    } else {\n      var result = options[item];\n\n      if (responsive) {\n        for (var bp in responsive) {\n          // bp: convert string to number\n          if (ww >= parseInt(bp)) {\n            if (item in responsive[bp]) { result = responsive[bp][item]; }\n          }\n        }\n      }\n\n      if (item === 'slideBy' && result === 'page') { result = getOption('items'); }\n      if (!carousel && (item === 'slideBy' || item === 'items')) { result = Math.floor(result); }\n\n      return result;\n    }\n  }\n\n  function getSlideMarginLeft (i) {\n    return CALC ?\n      CALC + '(' + i * 100 + '% / ' + slideCountNew + ')' :\n      i * 100 / slideCountNew + '%';\n  }\n\n  function getInnerWrapperStyles (edgePaddingTem, gutterTem, fixedWidthTem, speedTem, autoHeightBP) {\n    var str = '';\n\n    if (edgePaddingTem !== undefined) {\n      var gap = edgePaddingTem;\n      if (gutterTem) { gap -= gutterTem; }\n      str = horizontal ?\n        'margin: 0 ' + gap + 'px 0 ' + edgePaddingTem + 'px;' :\n        'margin: ' + edgePaddingTem + 'px 0 ' + gap + 'px 0;';\n    } else if (gutterTem && !fixedWidthTem) {\n      var gutterTemUnit = '-' + gutterTem + 'px',\n          dir = horizontal ? gutterTemUnit + ' 0 0' : '0 ' + gutterTemUnit + ' 0';\n      str = 'margin: 0 ' + dir + ';'\n    }\n\n    if (!carousel && autoHeightBP && TRANSITIONDURATION && speedTem) { str += getTransitionDurationStyle(speedTem); }\n    return str;\n  }\n\n  function getContainerWidth (fixedWidthTem, gutterTem, itemsTem) {\n    if (fixedWidthTem) {\n      return (fixedWidthTem + gutterTem) * slideCountNew + 'px';\n    } else {\n      return CALC ?\n        CALC + '(' + slideCountNew * 100 + '% / ' + itemsTem + ')' :\n        slideCountNew * 100 / itemsTem + '%';\n    }\n  }\n\n  function getSlideWidthStyle (fixedWidthTem, gutterTem, itemsTem) {\n    var width;\n\n    if (fixedWidthTem) {\n      width = (fixedWidthTem + gutterTem) + 'px';\n    } else {\n      if (!carousel) { itemsTem = Math.floor(itemsTem); }\n      var dividend = carousel ? slideCountNew : itemsTem;\n      width = CALC ?\n        CALC + '(100% / ' + dividend + ')' :\n        100 / dividend + '%';\n    }\n\n    width = 'width:' + width;\n\n    // inner slider: overwrite outer slider styles\n    return nested !== 'inner' ? width + ';' : width + ' !important;';\n  }\n\n  function getSlideGutterStyle (gutterTem) {\n    var str = '';\n\n    // gutter maybe interger || 0\n    // so can't use 'if (gutter)'\n    if (gutterTem !== false) {\n      var prop = horizontal ? 'padding-' : 'margin-',\n          dir = horizontal ? 'right' : 'bottom';\n      str = prop +  dir + ': ' + gutterTem + 'px;';\n    }\n\n    return str;\n  }\n\n  function getCSSPrefix (name, num) {\n    var prefix = name.substring(0, name.length - num).toLowerCase();\n    if (prefix) { prefix = '-' + prefix + '-'; }\n\n    return prefix;\n  }\n\n  function getTransitionDurationStyle (speed) {\n    return getCSSPrefix(TRANSITIONDURATION, 18) + 'transition-duration:' + speed / 1000 + 's;';\n  }\n\n  function getAnimationDurationStyle (speed) {\n    return getCSSPrefix(ANIMATIONDURATION, 17) + 'animation-duration:' + speed / 1000 + 's;';\n  }\n\n  function initStructure () {\n    var classOuter = 'tns-outer',\n        classInner = 'tns-inner',\n        hasGutter = hasOption('gutter');\n\n    outerWrapper.className = classOuter;\n    innerWrapper.className = classInner;\n    outerWrapper.id = slideId + '-ow';\n    innerWrapper.id = slideId + '-iw';\n\n    // set container properties\n    if (container.id === '') { container.id = slideId; }\n    newContainerClasses += PERCENTAGELAYOUT || autoWidth ? ' tns-subpixel' : ' tns-no-subpixel';\n    newContainerClasses += CALC ? ' tns-calc' : ' tns-no-calc';\n    if (autoWidth) { newContainerClasses += ' tns-autowidth'; }\n    newContainerClasses += ' tns-' + options.axis;\n    container.className += newContainerClasses;\n\n    // add constrain layer for carousel\n    if (carousel) {\n      middleWrapper = doc.createElement('div');\n      middleWrapper.id = slideId + '-mw';\n      middleWrapper.className = 'tns-ovh';\n\n      outerWrapper.appendChild(middleWrapper);\n      middleWrapper.appendChild(innerWrapper);\n    } else {\n      outerWrapper.appendChild(innerWrapper);\n    }\n\n    if (autoHeight) {\n      var wp = middleWrapper ? middleWrapper : innerWrapper;\n      wp.className += ' tns-ah';\n    }\n\n    containerParent.insertBefore(outerWrapper, container);\n    innerWrapper.appendChild(container);\n\n    // add id, class, aria attributes\n    // before clone slides\n    forEach(slideItems, function(item, i) {\n      addClass(item, 'tns-item');\n      if (!item.id) { item.id = slideId + '-item' + i; }\n      if (!carousel && animateNormal) { addClass(item, animateNormal); }\n      setAttrs(item, {\n        'aria-hidden': 'true',\n        'tabindex': '-1'\n      });\n      setAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), {\n        'aria-hidden': 'true',\n        'tabindex': '-1'\n      });\n    });\n\n    // ## clone slides\n    // carousel: n + slides + n\n    // gallery:      slides + n\n    if (cloneCount) {\n      var fragmentBefore = doc.createDocumentFragment(),\n          fragmentAfter = doc.createDocumentFragment();\n\n      for (var j = cloneCount; j--;) {\n        var num = j%slideCount,\n            cloneFirst = slideItems[num].cloneNode(true);\n        addClass(cloneFirst, slideClonedClass);\n        removeAttrs(cloneFirst, 'id');\n        fragmentAfter.insertBefore(cloneFirst, fragmentAfter.firstChild);\n\n        if (carousel) {\n          var cloneLast = slideItems[slideCount - 1 - num].cloneNode(true);\n          addClass(cloneLast, slideClonedClass);\n          removeAttrs(cloneLast, 'id');\n          fragmentBefore.appendChild(cloneLast);\n        }\n      }\n\n      container.insertBefore(fragmentBefore, container.firstChild);\n      container.appendChild(fragmentAfter);\n      slideItems = container.children;\n    }\n\n  }\n\n  function initSliderTransform () {\n    // ## images loaded/failed\n    if (hasOption('autoHeight') || autoWidth || !horizontal) {\n      var imgs = container.querySelectorAll('img');\n\n      // add img load event listener\n      forEach(imgs, function(img) {\n        var src = img.src;\n\n        if (!lazyload) {\n          // not data img\n          if (src && src.indexOf('data:image') < 0) {\n            img.src = '';\n            addEvents(img, imgEvents);\n            addClass(img, 'loading');\n\n            img.src = src;\n          // data img\n          } else {\n            imgLoaded(img);\n          }\n        }\n      });\n\n      // set imgsComplete\n      raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), function() { imgsComplete = true; }); });\n\n      // reset imgs for auto height: check visible imgs only\n      if (hasOption('autoHeight')) { imgs = getImageArray(index, Math.min(index + items - 1, slideCountNew - 1)); }\n\n      lazyload ? initSliderTransformStyleCheck() : raf(function(){ imgsLoadedCheck(arrayFromNodeList(imgs), initSliderTransformStyleCheck); });\n\n    } else {\n      // set container transform property\n      if (carousel) { doContainerTransformSilent(); }\n\n      // update slider tools and events\n      initTools();\n      initEvents();\n    }\n  }\n\n  function initSliderTransformStyleCheck () {\n    if (autoWidth && slideCount > 1) {\n      // check styles application\n      var num = loop ? index : slideCount - 1;\n\n      (function stylesApplicationCheck() {\n        var left = slideItems[num].getBoundingClientRect().left;\n        var right = slideItems[num - 1].getBoundingClientRect().right;\n\n        (Math.abs(left - right) <= 1) ?\n          initSliderTransformCore() :\n          setTimeout(function(){ stylesApplicationCheck() }, 16);\n      })();\n\n    } else {\n      initSliderTransformCore();\n    }\n  }\n\n\n  function initSliderTransformCore () {\n    // run Fn()s which are rely on image loading\n    if (!horizontal || autoWidth) {\n      setSlidePositions();\n\n      if (autoWidth) {\n        rightBoundary = getRightBoundary();\n        if (freezable) { freeze = getFreeze(); }\n        indexMax = getIndexMax(); // <= slidePositions, rightBoundary <=\n        resetVariblesWhenDisable(disable || freeze);\n      } else {\n        updateContentWrapperHeight();\n      }\n    }\n\n    // set container transform property\n    if (carousel) { doContainerTransformSilent(); }\n\n    // update slider tools and events\n    initTools();\n    initEvents();\n  }\n\n  function initSheet () {\n    // gallery:\n    // set animation classes and left value for gallery slider\n    if (!carousel) {\n      for (var i = index, l = index + Math.min(slideCount, items); i < l; i++) {\n        var item = slideItems[i];\n        item.style.left = (i - index) * 100 / items + '%';\n        addClass(item, animateIn);\n        removeClass(item, animateNormal);\n      }\n    }\n\n    // #### LAYOUT\n\n    // ## INLINE-BLOCK VS FLOAT\n\n    // ## PercentageLayout:\n    // slides: inline-block\n    // remove blank space between slides by set font-size: 0\n\n    // ## Non PercentageLayout:\n    // slides: float\n    //         margin-right: -100%\n    //         margin-left: ~\n\n    // Resource: https://docs.google.com/spreadsheets/d/147up245wwTXeQYve3BRSAD4oVcvQmuGsFteJOeA5xNQ/edit?usp=sharing\n    if (horizontal) {\n      if (PERCENTAGELAYOUT || autoWidth) {\n        addCSSRule(sheet, '#' + slideId + ' > .tns-item', 'font-size:' + win.getComputedStyle(slideItems[0]).fontSize + ';', getCssRulesLength(sheet));\n        addCSSRule(sheet, '#' + slideId, 'font-size:0;', getCssRulesLength(sheet));\n      } else if (carousel) {\n        forEach(slideItems, function (slide, i) {\n          slide.style.marginLeft = getSlideMarginLeft(i);\n        });\n      }\n    }\n\n\n    // ## BASIC STYLES\n    if (CSSMQ) {\n      // middle wrapper style\n      if (TRANSITIONDURATION) {\n        var str = middleWrapper && options.autoHeight ? getTransitionDurationStyle(options.speed) : '';\n        addCSSRule(sheet, '#' + slideId + '-mw', str, getCssRulesLength(sheet));\n      }\n\n      // inner wrapper styles\n      str = getInnerWrapperStyles(options.edgePadding, options.gutter, options.fixedWidth, options.speed, options.autoHeight);\n      addCSSRule(sheet, '#' + slideId + '-iw', str, getCssRulesLength(sheet));\n\n      // container styles\n      if (carousel) {\n        str = horizontal && !autoWidth ? 'width:' + getContainerWidth(options.fixedWidth, options.gutter, options.items) + ';' : '';\n        if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n        addCSSRule(sheet, '#' + slideId, str, getCssRulesLength(sheet));\n      }\n\n      // slide styles\n      str = horizontal && !autoWidth ? getSlideWidthStyle(options.fixedWidth, options.gutter, options.items) : '';\n      if (options.gutter) { str += getSlideGutterStyle(options.gutter); }\n      // set gallery items transition-duration\n      if (!carousel) {\n        if (TRANSITIONDURATION) { str += getTransitionDurationStyle(speed); }\n        if (ANIMATIONDURATION) { str += getAnimationDurationStyle(speed); }\n      }\n      if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n\n    // non CSS mediaqueries: IE8\n    // ## update inner wrapper, container, slides if needed\n    // set inline styles for inner wrapper & container\n    // insert stylesheet (one line) for slides only (since slides are many)\n    } else {\n      // middle wrapper styles\n      update_carousel_transition_duration();\n\n      // inner wrapper styles\n      innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, autoHeight);\n\n      // container styles\n      if (carousel && horizontal && !autoWidth) {\n        container.style.width = getContainerWidth(fixedWidth, gutter, items);\n      }\n\n      // slide styles\n      var str = horizontal && !autoWidth ? getSlideWidthStyle(fixedWidth, gutter, items) : '';\n      if (gutter) { str += getSlideGutterStyle(gutter); }\n\n      // append to the last line\n      if (str) { addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet)); }\n    }\n\n    // ## MEDIAQUERIES\n    if (responsive && CSSMQ) {\n      for (var bp in responsive) {\n        // bp: convert string to number\n        bp = parseInt(bp);\n\n        var opts = responsive[bp],\n            str = '',\n            middleWrapperStr = '',\n            innerWrapperStr = '',\n            containerStr = '',\n            slideStr = '',\n            itemsBP = !autoWidth ? getOption('items', bp) : null,\n            fixedWidthBP = getOption('fixedWidth', bp),\n            speedBP = getOption('speed', bp),\n            edgePaddingBP = getOption('edgePadding', bp),\n            autoHeightBP = getOption('autoHeight', bp),\n            gutterBP = getOption('gutter', bp);\n\n        // middle wrapper string\n        if (TRANSITIONDURATION && middleWrapper && getOption('autoHeight', bp) && 'speed' in opts) {\n          middleWrapperStr = '#' + slideId + '-mw{' + getTransitionDurationStyle(speedBP) + '}';\n        }\n\n        // inner wrapper string\n        if ('edgePadding' in opts || 'gutter' in opts) {\n          innerWrapperStr = '#' + slideId + '-iw{' + getInnerWrapperStyles(edgePaddingBP, gutterBP, fixedWidthBP, speedBP, autoHeightBP) + '}';\n        }\n\n        // container string\n        if (carousel && horizontal && !autoWidth && ('fixedWidth' in opts || 'items' in opts || (fixedWidth && 'gutter' in opts))) {\n          containerStr = 'width:' + getContainerWidth(fixedWidthBP, gutterBP, itemsBP) + ';';\n        }\n        if (TRANSITIONDURATION && 'speed' in opts) {\n          containerStr += getTransitionDurationStyle(speedBP);\n        }\n        if (containerStr) {\n          containerStr = '#' + slideId + '{' + containerStr + '}';\n        }\n\n        // slide string\n        if ('fixedWidth' in opts || (fixedWidth && 'gutter' in opts) || !carousel && 'items' in opts) {\n          slideStr += getSlideWidthStyle(fixedWidthBP, gutterBP, itemsBP);\n        }\n        if ('gutter' in opts) {\n          slideStr += getSlideGutterStyle(gutterBP);\n        }\n        // set gallery items transition-duration\n        if (!carousel && 'speed' in opts) {\n          if (TRANSITIONDURATION) { slideStr += getTransitionDurationStyle(speedBP); }\n          if (ANIMATIONDURATION) { slideStr += getAnimationDurationStyle(speedBP); }\n        }\n        if (slideStr) { slideStr = '#' + slideId + ' > .tns-item{' + slideStr + '}'; }\n\n        // add up\n        str = middleWrapperStr + innerWrapperStr + containerStr + slideStr;\n\n        if (str) {\n          sheet.insertRule('@media (min-width: ' + bp / 16 + 'em) {' + str + '}', sheet.cssRules.length);\n        }\n      }\n    }\n  }\n\n  function initTools () {\n    // == slides ==\n    updateSlideStatus();\n\n    // == live region ==\n    outerWrapper.insertAdjacentHTML('afterbegin', '<div class=\"tns-liveregion tns-visually-hidden\" aria-live=\"polite\" aria-atomic=\"true\">slide <span class=\"current\">' + getLiveRegionStr() + '</span>  of ' + slideCount + '</div>');\n    liveregionCurrent = outerWrapper.querySelector('.tns-liveregion .current');\n\n    // == autoplayInit ==\n    if (hasAutoplay) {\n      var txt = autoplay ? 'stop' : 'start';\n      if (autoplayButton) {\n        setAttrs(autoplayButton, {'data-action': txt});\n      } else if (options.autoplayButtonOutput) {\n        outerWrapper.insertAdjacentHTML(getInsertPosition(options.autoplayPosition), '<button type=\"button\" data-action=\"' + txt + '\">' + autoplayHtmlStrings[0] + txt + autoplayHtmlStrings[1] + autoplayText[0] + '</button>');\n        autoplayButton = outerWrapper.querySelector('[data-action]');\n      }\n\n      // add event\n      if (autoplayButton) {\n        addEvents(autoplayButton, {'click': toggleAutoplay});\n      }\n\n      if (autoplay) {\n        startAutoplay();\n        if (autoplayHoverPause) { addEvents(container, hoverEvents); }\n        if (autoplayResetOnVisibility) { addEvents(container, visibilityEvent); }\n      }\n    }\n\n    // == navInit ==\n    if (hasNav) {\n      var initIndex = !carousel ? 0 : cloneCount;\n      // customized nav\n      // will not hide the navs in case they're thumbnails\n      if (navContainer) {\n        setAttrs(navContainer, {'aria-label': 'Carousel Pagination'});\n        navItems = navContainer.children;\n        forEach(navItems, function(item, i) {\n          setAttrs(item, {\n            'data-nav': i,\n            'tabindex': '-1',\n            'aria-label': navStr + (i + 1),\n            'aria-controls': slideId,\n          });\n        });\n\n      // generated nav\n      } else {\n        var navHtml = '',\n            hiddenStr = navAsThumbnails ? '' : 'style=\"display:none\"';\n        for (var i = 0; i < slideCount; i++) {\n          // hide nav items by default\n          navHtml += '<button type=\"button\" data-nav=\"' + i +'\" tabindex=\"-1\" aria-controls=\"' + slideId + '\" ' + hiddenStr + ' aria-label=\"' + navStr + (i + 1) +'\"></button>';\n        }\n        navHtml = '<div class=\"tns-nav\" aria-label=\"Carousel Pagination\">' + navHtml + '</div>';\n        outerWrapper.insertAdjacentHTML(getInsertPosition(options.navPosition), navHtml);\n\n        navContainer = outerWrapper.querySelector('.tns-nav');\n        navItems = navContainer.children;\n      }\n\n      updateNavVisibility();\n\n      // add transition\n      if (TRANSITIONDURATION) {\n        var prefix = TRANSITIONDURATION.substring(0, TRANSITIONDURATION.length - 18).toLowerCase(),\n            str = 'transition: all ' + speed / 1000 + 's';\n\n        if (prefix) {\n          str = '-' + prefix + '-' + str;\n        }\n\n        addCSSRule(sheet, '[aria-controls^=' + slideId + '-item]', str, getCssRulesLength(sheet));\n      }\n\n      setAttrs(navItems[navCurrentIndex], {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n      removeAttrs(navItems[navCurrentIndex], 'tabindex');\n      addClass(navItems[navCurrentIndex], navActiveClass);\n\n      // add events\n      addEvents(navContainer, navEvents);\n    }\n\n\n\n    // == controlsInit ==\n    if (hasControls) {\n      if (!controlsContainer && (!prevButton || !nextButton)) {\n        outerWrapper.insertAdjacentHTML(getInsertPosition(options.controlsPosition), '<div class=\"tns-controls\" aria-label=\"Carousel Navigation\" tabindex=\"0\"><button type=\"button\" data-controls=\"prev\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[0] + '</button><button type=\"button\" data-controls=\"next\" tabindex=\"-1\" aria-controls=\"' + slideId +'\">' + controlsText[1] + '</button></div>');\n\n        controlsContainer = outerWrapper.querySelector('.tns-controls');\n      }\n\n      if (!prevButton || !nextButton) {\n        prevButton = controlsContainer.children[0];\n        nextButton = controlsContainer.children[1];\n      }\n\n      if (options.controlsContainer) {\n        setAttrs(controlsContainer, {\n          'aria-label': 'Carousel Navigation',\n          'tabindex': '0'\n        });\n      }\n\n      if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n        setAttrs([prevButton, nextButton], {\n          'aria-controls': slideId,\n          'tabindex': '-1',\n        });\n      }\n\n      if (options.controlsContainer || (options.prevButton && options.nextButton)) {\n        setAttrs(prevButton, {'data-controls' : 'prev'});\n        setAttrs(nextButton, {'data-controls' : 'next'});\n      }\n\n      prevIsButton = isButton(prevButton);\n      nextIsButton = isButton(nextButton);\n\n      updateControlsStatus();\n\n      // add events\n      if (controlsContainer) {\n        addEvents(controlsContainer, controlsEvents);\n      } else {\n        addEvents(prevButton, controlsEvents);\n        addEvents(nextButton, controlsEvents);\n      }\n    }\n\n    // hide tools if needed\n    disableUI();\n  }\n\n  function initEvents () {\n    // add events\n    if (carousel && TRANSITIONEND) {\n      var eve = {};\n      eve[TRANSITIONEND] = onTransitionEnd;\n      addEvents(container, eve);\n    }\n\n    if (touch) { addEvents(container, touchEvents, options.preventScrollOnTouch); }\n    if (mouseDrag) { addEvents(container, dragEvents); }\n    if (arrowKeys) { addEvents(doc, docmentKeydownEvent); }\n\n    if (nested === 'inner') {\n      events.on('outerResized', function () {\n        resizeTasks();\n        events.emit('innerLoaded', info());\n      });\n    } else if (responsive || fixedWidth || autoWidth || autoHeight || !horizontal) {\n      addEvents(win, {'resize': onResize});\n    }\n\n    if (autoHeight) {\n      if (nested === 'outer') {\n        events.on('innerLoaded', doAutoHeight);\n      } else if (!disable) { doAutoHeight(); }\n    }\n\n    doLazyLoad();\n    if (disable) { disableSlider(); } else if (freeze) { freezeSlider(); }\n\n    events.on('indexChanged', additionalUpdates);\n    if (nested === 'inner') { events.emit('innerLoaded', info()); }\n    if (typeof onInit === 'function') { onInit(info()); }\n    isOn = true;\n  }\n\n  function destroy () {\n    // sheet\n    sheet.disabled = true;\n    if (sheet.ownerNode) { sheet.ownerNode.remove(); }\n\n    // remove win event listeners\n    removeEvents(win, {'resize': onResize});\n\n    // arrowKeys, controls, nav\n    if (arrowKeys) { removeEvents(doc, docmentKeydownEvent); }\n    if (controlsContainer) { removeEvents(controlsContainer, controlsEvents); }\n    if (navContainer) { removeEvents(navContainer, navEvents); }\n\n    // autoplay\n    removeEvents(container, hoverEvents);\n    removeEvents(container, visibilityEvent);\n    if (autoplayButton) { removeEvents(autoplayButton, {'click': toggleAutoplay}); }\n    if (autoplay) { clearInterval(autoplayTimer); }\n\n    // container\n    if (carousel && TRANSITIONEND) {\n      var eve = {};\n      eve[TRANSITIONEND] = onTransitionEnd;\n      removeEvents(container, eve);\n    }\n    if (touch) { removeEvents(container, touchEvents); }\n    if (mouseDrag) { removeEvents(container, dragEvents); }\n\n    // cache Object values in options && reset HTML\n    var htmlList = [containerHTML, controlsContainerHTML, prevButtonHTML, nextButtonHTML, navContainerHTML, autoplayButtonHTML];\n\n    tnsList.forEach(function(item, i) {\n      var el = item === 'container' ? outerWrapper : options[item];\n\n      if (typeof el === 'object' && el) {\n        var prevEl = el.previousElementSibling ? el.previousElementSibling : false,\n            parentEl = el.parentNode;\n        el.outerHTML = htmlList[i];\n        options[item] = prevEl ? prevEl.nextElementSibling : parentEl.firstElementChild;\n      }\n    });\n\n\n    // reset variables\n    tnsList = animateIn = animateOut = animateDelay = animateNormal = horizontal = outerWrapper = innerWrapper = container = containerParent = containerHTML = slideItems = slideCount = breakpointZone = windowWidth = autoWidth = fixedWidth = edgePadding = gutter = viewport = items = slideBy = viewportMax = arrowKeys = speed = rewind = loop = autoHeight = sheet = lazyload = slidePositions = slideItemsOut = cloneCount = slideCountNew = hasRightDeadZone = rightBoundary = updateIndexBeforeTransform = transformAttr = transformPrefix = transformPostfix = getIndexMax = index = indexCached = indexMin = indexMax = resizeTimer = swipeAngle = moveDirectionExpected = running = onInit = events = newContainerClasses = slideId = disable = disabled = freezable = freeze = frozen = controlsEvents = navEvents = hoverEvents = visibilityEvent = docmentKeydownEvent = touchEvents = dragEvents = hasControls = hasNav = navAsThumbnails = hasAutoplay = hasTouch = hasMouseDrag = slideActiveClass = imgCompleteClass = imgEvents = imgsComplete = controls = controlsText = controlsContainer = controlsContainerHTML = prevButton = nextButton = prevIsButton = nextIsButton = nav = navContainer = navContainerHTML = navItems = pages = pagesCached = navClicked = navCurrentIndex = navCurrentIndexCached = navActiveClass = navStr = navStrCurrent = autoplay = autoplayTimeout = autoplayDirection = autoplayText = autoplayHoverPause = autoplayButton = autoplayButtonHTML = autoplayResetOnVisibility = autoplayHtmlStrings = autoplayTimer = animating = autoplayHoverPaused = autoplayUserPaused = autoplayVisibilityPaused = initPosition = lastPosition = translateInit = disX = disY = panStart = rafIndex = getDist = touch = mouseDrag = null;\n    // check variables\n    // [animateIn, animateOut, animateDelay, animateNormal, horizontal, outerWrapper, innerWrapper, container, containerParent, containerHTML, slideItems, slideCount, breakpointZone, windowWidth, autoWidth, fixedWidth, edgePadding, gutter, viewport, items, slideBy, viewportMax, arrowKeys, speed, rewind, loop, autoHeight, sheet, lazyload, slidePositions, slideItemsOut, cloneCount, slideCountNew, hasRightDeadZone, rightBoundary, updateIndexBeforeTransform, transformAttr, transformPrefix, transformPostfix, getIndexMax, index, indexCached, indexMin, indexMax, resizeTimer, swipeAngle, moveDirectionExpected, running, onInit, events, newContainerClasses, slideId, disable, disabled, freezable, freeze, frozen, controlsEvents, navEvents, hoverEvents, visibilityEvent, docmentKeydownEvent, touchEvents, dragEvents, hasControls, hasNav, navAsThumbnails, hasAutoplay, hasTouch, hasMouseDrag, slideActiveClass, imgCompleteClass, imgEvents, imgsComplete, controls, controlsText, controlsContainer, controlsContainerHTML, prevButton, nextButton, prevIsButton, nextIsButton, nav, navContainer, navContainerHTML, navItems, pages, pagesCached, navClicked, navCurrentIndex, navCurrentIndexCached, navActiveClass, navStr, navStrCurrent, autoplay, autoplayTimeout, autoplayDirection, autoplayText, autoplayHoverPause, autoplayButton, autoplayButtonHTML, autoplayResetOnVisibility, autoplayHtmlStrings, autoplayTimer, animating, autoplayHoverPaused, autoplayUserPaused, autoplayVisibilityPaused, initPosition, lastPosition, translateInit, disX, disY, panStart, rafIndex, getDist, touch, mouseDrag ].forEach(function(item) { if (item !== null) { console.log(item); } });\n\n    for (var a in this) {\n      if (a !== 'rebuild') { this[a] = null; }\n    }\n    isOn = false;\n  }\n\n// === ON RESIZE ===\n  // responsive || fixedWidth || autoWidth || !horizontal\n  function onResize (e) {\n    raf(function(){ resizeTasks(getEvent(e)); });\n  }\n\n  function resizeTasks (e) {\n    if (!isOn) { return; }\n    if (nested === 'outer') { events.emit('outerResized', info(e)); }\n    windowWidth = getWindowWidth();\n    var bpChanged,\n        breakpointZoneTem = breakpointZone,\n        needContainerTransform = false;\n\n    if (responsive) {\n      setBreakpointZone();\n      bpChanged = breakpointZoneTem !== breakpointZone;\n      // if (hasRightDeadZone) { needContainerTransform = true; } // *?\n      if (bpChanged) { events.emit('newBreakpointStart', info(e)); }\n    }\n\n    var indChanged,\n        itemsChanged,\n        itemsTem = items,\n        disableTem = disable,\n        freezeTem = freeze,\n        arrowKeysTem = arrowKeys,\n        controlsTem = controls,\n        navTem = nav,\n        touchTem = touch,\n        mouseDragTem = mouseDrag,\n        autoplayTem = autoplay,\n        autoplayHoverPauseTem = autoplayHoverPause,\n        autoplayResetOnVisibilityTem = autoplayResetOnVisibility,\n        indexTem = index;\n\n    if (bpChanged) {\n      var fixedWidthTem = fixedWidth,\n          autoHeightTem = autoHeight,\n          controlsTextTem = controlsText,\n          centerTem = center,\n          autoplayTextTem = autoplayText;\n\n      if (!CSSMQ) {\n        var gutterTem = gutter,\n            edgePaddingTem = edgePadding;\n      }\n    }\n\n    // get option:\n    // fixed width: viewport, fixedWidth, gutter => items\n    // others: window width => all variables\n    // all: items => slideBy\n    arrowKeys = getOption('arrowKeys');\n    controls = getOption('controls');\n    nav = getOption('nav');\n    touch = getOption('touch');\n    center = getOption('center');\n    mouseDrag = getOption('mouseDrag');\n    autoplay = getOption('autoplay');\n    autoplayHoverPause = getOption('autoplayHoverPause');\n    autoplayResetOnVisibility = getOption('autoplayResetOnVisibility');\n\n    if (bpChanged) {\n      disable = getOption('disable');\n      fixedWidth = getOption('fixedWidth');\n      speed = getOption('speed');\n      autoHeight = getOption('autoHeight');\n      controlsText = getOption('controlsText');\n      autoplayText = getOption('autoplayText');\n      autoplayTimeout = getOption('autoplayTimeout');\n\n      if (!CSSMQ) {\n        edgePadding = getOption('edgePadding');\n        gutter = getOption('gutter');\n      }\n    }\n    // update options\n    resetVariblesWhenDisable(disable);\n\n    viewport = getViewportWidth(); // <= edgePadding, gutter\n    if ((!horizontal || autoWidth) && !disable) {\n      setSlidePositions();\n      if (!horizontal) {\n        updateContentWrapperHeight(); // <= setSlidePositions\n        needContainerTransform = true;\n      }\n    }\n    if (fixedWidth || autoWidth) {\n      rightBoundary = getRightBoundary(); // autoWidth: <= viewport, slidePositions, gutter\n                                          // fixedWidth: <= viewport, fixedWidth, gutter\n      indexMax = getIndexMax(); // autoWidth: <= rightBoundary, slidePositions\n                                // fixedWidth: <= rightBoundary, fixedWidth, gutter\n    }\n\n    if (bpChanged || fixedWidth) {\n      items = getOption('items');\n      slideBy = getOption('slideBy');\n      itemsChanged = items !== itemsTem;\n\n      if (itemsChanged) {\n        if (!fixedWidth && !autoWidth) { indexMax = getIndexMax(); } // <= items\n        // check index before transform in case\n        // slider reach the right edge then items become bigger\n        updateIndex();\n      }\n    }\n\n    if (bpChanged) {\n      if (disable !== disableTem) {\n        if (disable) {\n          disableSlider();\n        } else {\n          enableSlider(); // <= slidePositions, rightBoundary, indexMax\n        }\n      }\n    }\n\n    if (freezable && (bpChanged || fixedWidth || autoWidth)) {\n      freeze = getFreeze(); // <= autoWidth: slidePositions, gutter, viewport, rightBoundary\n                            // <= fixedWidth: fixedWidth, gutter, rightBoundary\n                            // <= others: items\n\n      if (freeze !== freezeTem) {\n        if (freeze) {\n          doContainerTransform(getContainerTransformValue(getStartIndex(0)));\n          freezeSlider();\n        } else {\n          unfreezeSlider();\n          needContainerTransform = true;\n        }\n      }\n    }\n\n    resetVariblesWhenDisable(disable || freeze); // controls, nav, touch, mouseDrag, arrowKeys, autoplay, autoplayHoverPause, autoplayResetOnVisibility\n    if (!autoplay) { autoplayHoverPause = autoplayResetOnVisibility = false; }\n\n    if (arrowKeys !== arrowKeysTem) {\n      arrowKeys ?\n        addEvents(doc, docmentKeydownEvent) :\n        removeEvents(doc, docmentKeydownEvent);\n    }\n    if (controls !== controlsTem) {\n      if (controls) {\n        if (controlsContainer) {\n          showElement(controlsContainer);\n        } else {\n          if (prevButton) { showElement(prevButton); }\n          if (nextButton) { showElement(nextButton); }\n        }\n      } else {\n        if (controlsContainer) {\n          hideElement(controlsContainer);\n        } else {\n          if (prevButton) { hideElement(prevButton); }\n          if (nextButton) { hideElement(nextButton); }\n        }\n      }\n    }\n    if (nav !== navTem) {\n      if (nav) {\n        showElement(navContainer);\n        updateNavVisibility();\n      } else {\n        hideElement(navContainer)\n      }\n    }\n    if (touch !== touchTem) {\n      touch ?\n        addEvents(container, touchEvents, options.preventScrollOnTouch) :\n        removeEvents(container, touchEvents);\n    }\n    if (mouseDrag !== mouseDragTem) {\n      mouseDrag ?\n        addEvents(container, dragEvents) :\n        removeEvents(container, dragEvents);\n    }\n    if (autoplay !== autoplayTem) {\n      if (autoplay) {\n        if (autoplayButton) { showElement(autoplayButton); }\n        if (!animating && !autoplayUserPaused) { startAutoplay(); }\n      } else {\n        if (autoplayButton) { hideElement(autoplayButton); }\n        if (animating) { stopAutoplay(); }\n      }\n    }\n    if (autoplayHoverPause !== autoplayHoverPauseTem) {\n      autoplayHoverPause ?\n        addEvents(container, hoverEvents) :\n        removeEvents(container, hoverEvents);\n    }\n    if (autoplayResetOnVisibility !== autoplayResetOnVisibilityTem) {\n      autoplayResetOnVisibility ?\n        addEvents(doc, visibilityEvent) :\n        removeEvents(doc, visibilityEvent);\n    }\n\n    if (bpChanged) {\n      if (fixedWidth !== fixedWidthTem || center !== centerTem) { needContainerTransform = true; }\n\n      if (autoHeight !== autoHeightTem) {\n        if (!autoHeight) { innerWrapper.style.height = ''; }\n      }\n\n      if (controls && controlsText !== controlsTextTem) {\n        prevButton.innerHTML = controlsText[0];\n        nextButton.innerHTML = controlsText[1];\n      }\n\n      if (autoplayButton && autoplayText !== autoplayTextTem) {\n        var i = autoplay ? 1 : 0,\n            html = autoplayButton.innerHTML,\n            len = html.length - autoplayTextTem[i].length;\n        if (html.substring(len) === autoplayTextTem[i]) {\n          autoplayButton.innerHTML = html.substring(0, len) + autoplayText[i];\n        }\n      }\n    } else {\n      if (center && (fixedWidth || autoWidth)) { needContainerTransform = true; }\n    }\n\n    if (itemsChanged || fixedWidth && !autoWidth) {\n      pages = getPages();\n      updateNavVisibility();\n    }\n\n    indChanged = index !== indexTem;\n    if (indChanged) {\n      events.emit('indexChanged', info());\n      needContainerTransform = true;\n    } else if (itemsChanged) {\n      if (!indChanged) { additionalUpdates(); }\n    } else if (fixedWidth || autoWidth) {\n      doLazyLoad();\n      updateSlideStatus();\n      updateLiveRegion();\n    }\n\n    if (itemsChanged && !carousel) { updateGallerySlidePositions(); }\n\n    if (!disable && !freeze) {\n      // non-mediaqueries: IE8\n      if (bpChanged && !CSSMQ) {\n        // middle wrapper styles\n\n        // inner wrapper styles\n        if (edgePadding !== edgePaddingTem || gutter !== gutterTem) {\n          innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, speed, autoHeight);\n        }\n\n        if (horizontal) {\n          // container styles\n          if (carousel) {\n            container.style.width = getContainerWidth(fixedWidth, gutter, items);\n          }\n\n          // slide styles\n          var str = getSlideWidthStyle(fixedWidth, gutter, items) +\n                    getSlideGutterStyle(gutter);\n\n          // remove the last line and\n          // add new styles\n          removeCSSRule(sheet, getCssRulesLength(sheet) - 1);\n          addCSSRule(sheet, '#' + slideId + ' > .tns-item', str, getCssRulesLength(sheet));\n        }\n      }\n\n      // auto height\n      if (autoHeight) { doAutoHeight(); }\n\n      if (needContainerTransform) {\n        doContainerTransformSilent();\n        indexCached = index;\n      }\n    }\n\n    if (bpChanged) { events.emit('newBreakpointEnd', info(e)); }\n  }\n\n\n\n\n\n  // === INITIALIZATION FUNCTIONS === //\n  function getFreeze () {\n    if (!fixedWidth && !autoWidth) {\n      var a = center ? items - (items - 1) / 2 : items;\n      return  slideCount <= a;\n    }\n\n    var width = fixedWidth ? (fixedWidth + gutter) * slideCount : slidePositions[slideCount],\n        vp = edgePadding ? viewport + edgePadding * 2 : viewport + gutter;\n\n    if (center) {\n      vp -= fixedWidth ? (viewport - fixedWidth) / 2 : (viewport - (slidePositions[index + 1] - slidePositions[index] - gutter)) / 2;\n    }\n\n    return width <= vp;\n  }\n\n  function setBreakpointZone () {\n    breakpointZone = 0;\n    for (var bp in responsive) {\n      bp = parseInt(bp); // convert string to number\n      if (windowWidth >= bp) { breakpointZone = bp; }\n    }\n  }\n\n  // (slideBy, indexMin, indexMax) => index\n  var updateIndex = (function () {\n    return loop ?\n      carousel ?\n        // loop + carousel\n        function () {\n          var leftEdge = indexMin,\n              rightEdge = indexMax;\n\n          leftEdge += slideBy;\n          rightEdge -= slideBy;\n\n          // adjust edges when has edge paddings\n          // or fixed-width slider with extra space on the right side\n          if (edgePadding) {\n            leftEdge += 1;\n            rightEdge -= 1;\n          } else if (fixedWidth) {\n            if ((viewport + gutter)%(fixedWidth + gutter)) { rightEdge -= 1; }\n          }\n\n          if (cloneCount) {\n            if (index > rightEdge) {\n              index -= slideCount;\n            } else if (index < leftEdge) {\n              index += slideCount;\n            }\n          }\n        } :\n        // loop + gallery\n        function() {\n          if (index > indexMax) {\n            while (index >= indexMin + slideCount) { index -= slideCount; }\n          } else if (index < indexMin) {\n            while (index <= indexMax - slideCount) { index += slideCount; }\n          }\n        } :\n      // non-loop\n      function() {\n        index = Math.max(indexMin, Math.min(indexMax, index));\n      };\n  })();\n\n  function disableUI () {\n    if (!autoplay && autoplayButton) { hideElement(autoplayButton); }\n    if (!nav && navContainer) { hideElement(navContainer); }\n    if (!controls) {\n      if (controlsContainer) {\n        hideElement(controlsContainer);\n      } else {\n        if (prevButton) { hideElement(prevButton); }\n        if (nextButton) { hideElement(nextButton); }\n      }\n    }\n  }\n\n  function enableUI () {\n    if (autoplay && autoplayButton) { showElement(autoplayButton); }\n    if (nav && navContainer) { showElement(navContainer); }\n    if (controls) {\n      if (controlsContainer) {\n        showElement(controlsContainer);\n      } else {\n        if (prevButton) { showElement(prevButton); }\n        if (nextButton) { showElement(nextButton); }\n      }\n    }\n  }\n\n  function freezeSlider () {\n    if (frozen) { return; }\n\n    // remove edge padding from inner wrapper\n    if (edgePadding) { innerWrapper.style.margin = '0px'; }\n\n    // add class tns-transparent to cloned slides\n    if (cloneCount) {\n      var str = 'tns-transparent';\n      for (var i = cloneCount; i--;) {\n        if (carousel) { addClass(slideItems[i], str); }\n        addClass(slideItems[slideCountNew - i - 1], str);\n      }\n    }\n\n    // update tools\n    disableUI();\n\n    frozen = true;\n  }\n\n  function unfreezeSlider () {\n    if (!frozen) { return; }\n\n    // restore edge padding for inner wrapper\n    // for mordern browsers\n    if (edgePadding && CSSMQ) { innerWrapper.style.margin = ''; }\n\n    // remove class tns-transparent to cloned slides\n    if (cloneCount) {\n      var str = 'tns-transparent';\n      for (var i = cloneCount; i--;) {\n        if (carousel) { removeClass(slideItems[i], str); }\n        removeClass(slideItems[slideCountNew - i - 1], str);\n      }\n    }\n\n    // update tools\n    enableUI();\n\n    frozen = false;\n  }\n\n  function disableSlider () {\n    if (disabled) { return; }\n\n    sheet.disabled = true;\n    container.className = container.className.replace(newContainerClasses.substring(1), '');\n    removeAttrs(container, ['style']);\n    if (loop) {\n      for (var j = cloneCount; j--;) {\n        if (carousel) { hideElement(slideItems[j]); }\n        hideElement(slideItems[slideCountNew - j - 1]);\n      }\n    }\n\n    // vertical slider\n    if (!horizontal || !carousel) { removeAttrs(innerWrapper, ['style']); }\n\n    // gallery\n    if (!carousel) {\n      for (var i = index, l = index + slideCount; i < l; i++) {\n        var item = slideItems[i];\n        removeAttrs(item, ['style']);\n        removeClass(item, animateIn);\n        removeClass(item, animateNormal);\n      }\n    }\n\n    // update tools\n    disableUI();\n\n    disabled = true;\n  }\n\n  function enableSlider () {\n    if (!disabled) { return; }\n\n    sheet.disabled = false;\n    container.className += newContainerClasses;\n    doContainerTransformSilent();\n\n    if (loop) {\n      for (var j = cloneCount; j--;) {\n        if (carousel) { showElement(slideItems[j]); }\n        showElement(slideItems[slideCountNew - j - 1]);\n      }\n    }\n\n    // gallery\n    if (!carousel) {\n      for (var i = index, l = index + slideCount; i < l; i++) {\n        var item = slideItems[i],\n            classN = i < index + items ? animateIn : animateNormal;\n        item.style.left = (i - index) * 100 / items + '%';\n        addClass(item, classN);\n      }\n    }\n\n    // update tools\n    enableUI();\n\n    disabled = false;\n  }\n\n  function updateLiveRegion () {\n    var str = getLiveRegionStr();\n    if (liveregionCurrent.innerHTML !== str) { liveregionCurrent.innerHTML = str; }\n  }\n\n  function getLiveRegionStr () {\n    var arr = getVisibleSlideRange(),\n        start = arr[0] + 1,\n        end = arr[1] + 1;\n    return start === end ? start + '' : start + ' to ' + end;\n  }\n\n  function getVisibleSlideRange (val) {\n    if (val == null) { val = getContainerTransformValue(); }\n    var start = index, end, rangestart, rangeend;\n\n    // get range start, range end for autoWidth and fixedWidth\n    if (center || edgePadding) {\n      if (autoWidth || fixedWidth) {\n        rangestart = - (parseFloat(val) + edgePadding);\n        rangeend = rangestart + viewport + edgePadding * 2;\n      }\n    } else {\n      if (autoWidth) {\n        rangestart = slidePositions[index];\n        rangeend = rangestart + viewport;\n      }\n    }\n\n    // get start, end\n    // - check auto width\n    if (autoWidth) {\n      slidePositions.forEach(function(point, i) {\n        if (i < slideCountNew) {\n          if ((center || edgePadding) && point <= rangestart + 0.5) { start = i; }\n          if (rangeend - point >= 0.5) { end = i; }\n        }\n      });\n\n    // - check percentage width, fixed width\n    } else {\n\n      if (fixedWidth) {\n        var cell = fixedWidth + gutter;\n        if (center || edgePadding) {\n          start = Math.floor(rangestart/cell);\n          end = Math.ceil(rangeend/cell - 1);\n        } else {\n          end = start + Math.ceil(viewport/cell) - 1;\n        }\n\n      } else {\n        if (center || edgePadding) {\n          var a = items - 1;\n          if (center) {\n            start -= a / 2;\n            end = index + a / 2;\n          } else {\n            end = index + a;\n          }\n\n          if (edgePadding) {\n            var b = edgePadding * items / viewport;\n            start -= b;\n            end += b;\n          }\n\n          start = Math.floor(start);\n          end = Math.ceil(end);\n        } else {\n          end = start + items - 1;\n        }\n      }\n\n      start = Math.max(start, 0);\n      end = Math.min(end, slideCountNew - 1);\n    }\n\n    return [start, end];\n  }\n\n  function doLazyLoad () {\n    if (lazyload && !disable) {\n      var arg = getVisibleSlideRange();\n      arg.push(lazyloadSelector);\n\n      getImageArray.apply(null, arg).forEach(function (img) {\n        if (!hasClass(img, imgCompleteClass)) {\n          // stop propagation transitionend event to container\n          var eve = {};\n          eve[TRANSITIONEND] = function (e) { e.stopPropagation(); };\n          addEvents(img, eve);\n\n          addEvents(img, imgEvents);\n\n          // update src\n          img.src = getAttr(img, 'data-src');\n\n          // update srcset\n          var srcset = getAttr(img, 'data-srcset');\n          if (srcset) { img.srcset = srcset; }\n\n          addClass(img, 'loading');\n        }\n      });\n    }\n  }\n\n  function onImgLoaded (e) {\n    imgLoaded(getTarget(e));\n  }\n\n  function onImgFailed (e) {\n    imgFailed(getTarget(e));\n  }\n\n  function imgLoaded (img) {\n    addClass(img, 'loaded');\n    imgCompleted(img);\n  }\n\n  function imgFailed (img) {\n    addClass(img, 'failed');\n    imgCompleted(img);\n  }\n\n  function imgCompleted (img) {\n    addClass(img, imgCompleteClass);\n    removeClass(img, 'loading');\n    removeEvents(img, imgEvents);\n  }\n\n  function getImageArray (start, end, imgSelector) {\n    var imgs = [];\n    if (!imgSelector) { imgSelector = 'img'; }\n\n    while (start <= end) {\n      forEach(slideItems[start].querySelectorAll(imgSelector), function (img) { imgs.push(img); });\n      start++;\n    }\n\n    return imgs;\n  }\n\n  // check if all visible images are loaded\n  // and update container height if it's done\n  function doAutoHeight () {\n    var imgs = getImageArray.apply(null, getVisibleSlideRange());\n    raf(function(){ imgsLoadedCheck(imgs, updateInnerWrapperHeight); });\n  }\n\n  function imgsLoadedCheck (imgs, cb) {\n    // execute callback function if all images are complete\n    if (imgsComplete) { return cb(); }\n\n    // check image classes\n    imgs.forEach(function (img, index) {\n      if (!lazyload && img.complete) { imgCompleted(img); } // Check image.complete\n      if (hasClass(img, imgCompleteClass)) { imgs.splice(index, 1); }\n    });\n\n    // execute callback function if selected images are all complete\n    if (!imgs.length) { return cb(); }\n\n    // otherwise execute this functiona again\n    raf(function(){ imgsLoadedCheck(imgs, cb); });\n  }\n\n  function additionalUpdates () {\n    doLazyLoad();\n    updateSlideStatus();\n    updateLiveRegion();\n    updateControlsStatus();\n    updateNavStatus();\n  }\n\n\n  function update_carousel_transition_duration () {\n    if (carousel && autoHeight) {\n      middleWrapper.style[TRANSITIONDURATION] = speed / 1000 + 's';\n    }\n  }\n\n  function getMaxSlideHeight (slideStart, slideRange) {\n    var heights = [];\n    for (var i = slideStart, l = Math.min(slideStart + slideRange, slideCountNew); i < l; i++) {\n      heights.push(slideItems[i].offsetHeight);\n    }\n\n    return Math.max.apply(null, heights);\n  }\n\n  // update inner wrapper height\n  // 1. get the max-height of the visible slides\n  // 2. set transitionDuration to speed\n  // 3. update inner wrapper height to max-height\n  // 4. set transitionDuration to 0s after transition done\n  function updateInnerWrapperHeight () {\n    var maxHeight = autoHeight ? getMaxSlideHeight(index, items) : getMaxSlideHeight(cloneCount, slideCount),\n        wp = middleWrapper ? middleWrapper : innerWrapper;\n\n    if (wp.style.height !== maxHeight) { wp.style.height = maxHeight + 'px'; }\n  }\n\n  // get the distance from the top edge of the first slide to each slide\n  // (init) => slidePositions\n  function setSlidePositions () {\n    slidePositions = [0];\n    var attr = horizontal ? 'left' : 'top',\n        attr2 = horizontal ? 'right' : 'bottom',\n        base = slideItems[0].getBoundingClientRect()[attr];\n\n    forEach(slideItems, function(item, i) {\n      // skip the first slide\n      if (i) { slidePositions.push(item.getBoundingClientRect()[attr] - base); }\n      // add the end edge\n      if (i === slideCountNew - 1) { slidePositions.push(item.getBoundingClientRect()[attr2] - base); }\n    });\n  }\n\n  // update slide\n  function updateSlideStatus () {\n    var range = getVisibleSlideRange(),\n        start = range[0],\n        end = range[1];\n\n    forEach(slideItems, function(item, i) {\n      // show slides\n      if (i >= start && i <= end) {\n        if (hasAttr(item, 'aria-hidden')) {\n          removeAttrs(item, ['aria-hidden', 'tabindex']);\n          removeAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), ['aria-hidden', 'tabindex']);\n          addClass(item, slideActiveClass);\n        }\n      // hide slides\n      } else {\n        if (!hasAttr(item, 'aria-hidden')) {\n          setAttrs(item, {\n            'aria-hidden': 'true',\n            'tabindex': '-1'\n          });\n          setAttrs(item.querySelectorAll('a, button, details, input, textarea, select'), {\n            'aria-hidden': 'true',\n            'tabindex': '-1'\n          });\n          removeClass(item, slideActiveClass);\n        }\n      }\n    });\n  }\n\n  // gallery: update slide position\n  function updateGallerySlidePositions () {\n    var l = index + Math.min(slideCount, items);\n    for (var i = slideCountNew; i--;) {\n      var item = slideItems[i];\n\n      if (i >= index && i < l) {\n        // add transitions to visible slides when adjusting their positions\n        addClass(item, 'tns-moving');\n\n        item.style.left = (i - index) * 100 / items + '%';\n        addClass(item, animateIn);\n        removeClass(item, animateNormal);\n      } else if (item.style.left) {\n        item.style.left = '';\n        addClass(item, animateNormal);\n        removeClass(item, animateIn);\n      }\n\n      // remove outlet animation\n      removeClass(item, animateOut);\n    }\n\n    // removing '.tns-moving'\n    setTimeout(function() {\n      forEach(slideItems, function(el) {\n        removeClass(el, 'tns-moving');\n      });\n    }, 300);\n  }\n\n  // set tabindex on Nav\n  function updateNavStatus () {\n    // get current nav\n    if (nav) {\n      navCurrentIndex = navClicked >= 0 ? navClicked : getCurrentNavIndex();\n      navClicked = -1;\n\n      if (navCurrentIndex !== navCurrentIndexCached) {\n        var navPrev = navItems[navCurrentIndexCached],\n            navCurrent = navItems[navCurrentIndex];\n\n        setAttrs(navPrev, {\n          'tabindex': '-1',\n          'aria-label': navStr + (navCurrentIndexCached + 1)\n        });\n        removeClass(navPrev, navActiveClass);\n\n        setAttrs(navCurrent, {'aria-label': navStr + (navCurrentIndex + 1) + navStrCurrent});\n        removeAttrs(navCurrent, 'tabindex');\n        addClass(navCurrent, navActiveClass);\n\n        navCurrentIndexCached = navCurrentIndex;\n      }\n    }\n  }\n\n  function getLowerCaseNodeName (el) {\n    return el.nodeName.toLowerCase();\n  }\n\n  function isButton (el) {\n    return getLowerCaseNodeName(el) === 'button';\n  }\n\n  function isAriaDisabled (el) {\n    return el.getAttribute('aria-disabled') === 'true';\n  }\n\n  function disEnableElement (isButton, el, val) {\n    if (isButton) {\n      el.disabled = val;\n    } else {\n      el.setAttribute('aria-disabled', val.toString());\n    }\n  }\n\n  // set 'disabled' to true on controls when reach the edges\n  function updateControlsStatus () {\n    if (!controls || rewind || loop) { return; }\n\n    var prevDisabled = (prevIsButton) ? prevButton.disabled : isAriaDisabled(prevButton),\n        nextDisabled = (nextIsButton) ? nextButton.disabled : isAriaDisabled(nextButton),\n        disablePrev = (index <= indexMin) ? true : false,\n        disableNext = (!rewind && index >= indexMax) ? true : false;\n\n    if (disablePrev && !prevDisabled) {\n      disEnableElement(prevIsButton, prevButton, true);\n    }\n    if (!disablePrev && prevDisabled) {\n      disEnableElement(prevIsButton, prevButton, false);\n    }\n    if (disableNext && !nextDisabled) {\n      disEnableElement(nextIsButton, nextButton, true);\n    }\n    if (!disableNext && nextDisabled) {\n      disEnableElement(nextIsButton, nextButton, false);\n    }\n  }\n\n  // set duration\n  function resetDuration (el, str) {\n    if (TRANSITIONDURATION) { el.style[TRANSITIONDURATION] = str; }\n  }\n\n  function getSliderWidth () {\n    return fixedWidth ? (fixedWidth + gutter) * slideCountNew : slidePositions[slideCountNew];\n  }\n\n  function getCenterGap (num) {\n    if (num == null) { num = index; }\n\n    var gap = edgePadding ? gutter : 0;\n    return autoWidth ? ((viewport - gap) - (slidePositions[num + 1] - slidePositions[num] - gutter))/2 :\n      fixedWidth ? (viewport - fixedWidth) / 2 :\n        (items - 1) / 2;\n  }\n\n  function getRightBoundary () {\n    var gap = edgePadding ? gutter : 0,\n        result = (viewport + gap) - getSliderWidth();\n\n    if (center && !loop) {\n      result = fixedWidth ? - (fixedWidth + gutter) * (slideCountNew - 1) - getCenterGap() :\n        getCenterGap(slideCountNew - 1) - slidePositions[slideCountNew - 1];\n    }\n    if (result > 0) { result = 0; }\n\n    return result;\n  }\n\n  function getContainerTransformValue (num) {\n    if (num == null) { num = index; }\n\n    var val;\n    if (horizontal && !autoWidth) {\n      if (fixedWidth) {\n        val = - (fixedWidth + gutter) * num;\n        if (center) { val += getCenterGap(); }\n      } else {\n        var denominator = TRANSFORM ? slideCountNew : items;\n        if (center) { num -= getCenterGap(); }\n        val = - num * 100 / denominator;\n      }\n    } else {\n      val = - slidePositions[num];\n      if (center && autoWidth) {\n        val += getCenterGap();\n      }\n    }\n\n    if (hasRightDeadZone) { val = Math.max(val, rightBoundary); }\n\n    val += (horizontal && !autoWidth && !fixedWidth) ? '%' : 'px';\n\n    return val;\n  }\n\n  function doContainerTransformSilent (val) {\n    resetDuration(container, '0s');\n    doContainerTransform(val);\n  }\n\n  function doContainerTransform (val) {\n    if (val == null) { val = getContainerTransformValue(); }\n    container.style[transformAttr] = transformPrefix + val + transformPostfix;\n  }\n\n  function animateSlide (number, classOut, classIn, isOut) {\n    var l = number + items;\n    if (!loop) { l = Math.min(l, slideCountNew); }\n\n    for (var i = number; i < l; i++) {\n        var item = slideItems[i];\n\n      // set item positions\n      if (!isOut) { item.style.left = (i - index) * 100 / items + '%'; }\n\n      if (animateDelay && TRANSITIONDELAY) {\n        item.style[TRANSITIONDELAY] = item.style[ANIMATIONDELAY] = animateDelay * (i - number) / 1000 + 's';\n      }\n      removeClass(item, classOut);\n      addClass(item, classIn);\n\n      if (isOut) { slideItemsOut.push(item); }\n    }\n  }\n\n  // make transfer after click/drag:\n  // 1. change 'transform' property for mordern browsers\n  // 2. change 'left' property for legacy browsers\n  var transformCore = (function () {\n    return carousel ?\n      function () {\n        resetDuration(container, '');\n        if (TRANSITIONDURATION || !speed) {\n          // for morden browsers with non-zero duration or\n          // zero duration for all browsers\n          doContainerTransform();\n          // run fallback function manually\n          // when duration is 0 / container is hidden\n          if (!speed || !isVisible(container)) { onTransitionEnd(); }\n\n        } else {\n          // for old browser with non-zero duration\n          jsTransform(container, transformAttr, transformPrefix, transformPostfix, getContainerTransformValue(), speed, onTransitionEnd);\n        }\n\n        if (!horizontal) { updateContentWrapperHeight(); }\n      } :\n      function () {\n        slideItemsOut = [];\n\n        var eve = {};\n        eve[TRANSITIONEND] = eve[ANIMATIONEND] = onTransitionEnd;\n        removeEvents(slideItems[indexCached], eve);\n        addEvents(slideItems[index], eve);\n\n        animateSlide(indexCached, animateIn, animateOut, true);\n        animateSlide(index, animateNormal, animateIn);\n\n        // run fallback function manually\n        // when transition or animation not supported / duration is 0\n        if (!TRANSITIONEND || !ANIMATIONEND || !speed || !isVisible(container)) { onTransitionEnd(); }\n      };\n  })();\n\n  function render (e, sliderMoved) {\n    if (updateIndexBeforeTransform) { updateIndex(); }\n\n    // render when slider was moved (touch or drag) even though index may not change\n    if (index !== indexCached || sliderMoved) {\n      // events\n      events.emit('indexChanged', info());\n      events.emit('transitionStart', info());\n      if (autoHeight) { doAutoHeight(); }\n\n      // pause autoplay when click or keydown from user\n      if (animating && e && ['click', 'keydown'].indexOf(e.type) >= 0) { stopAutoplay(); }\n\n      running = true;\n      transformCore();\n    }\n  }\n\n  /*\n   * Transfer prefixed properties to the same format\n   * CSS: -Webkit-Transform => webkittransform\n   * JS: WebkitTransform => webkittransform\n   * @param {string} str - property\n   *\n   */\n  function strTrans (str) {\n    return str.toLowerCase().replace(/-/g, '');\n  }\n\n  // AFTER TRANSFORM\n  // Things need to be done after a transfer:\n  // 1. check index\n  // 2. add classes to visible slide\n  // 3. disable controls buttons when reach the first/last slide in non-loop slider\n  // 4. update nav status\n  // 5. lazyload images\n  // 6. update container height\n  function onTransitionEnd (event) {\n    // check running on gallery mode\n    // make sure trantionend/animationend events run only once\n    if (carousel || running) {\n      events.emit('transitionEnd', info(event));\n\n      if (!carousel && slideItemsOut.length > 0) {\n        for (var i = 0; i < slideItemsOut.length; i++) {\n          var item = slideItemsOut[i];\n          // set item positions\n          item.style.left = '';\n\n          if (ANIMATIONDELAY && TRANSITIONDELAY) {\n            item.style[ANIMATIONDELAY] = '';\n            item.style[TRANSITIONDELAY] = '';\n          }\n          removeClass(item, animateOut);\n          addClass(item, animateNormal);\n        }\n      }\n\n      /* update slides, nav, controls after checking ...\n       * => legacy browsers who don't support 'event'\n       *    have to check event first, otherwise event.target will cause an error\n       * => or 'gallery' mode:\n       *   + event target is slide item\n       * => or 'carousel' mode:\n       *   + event target is container,\n       *   + event.property is the same with transform attribute\n       */\n      if (!event ||\n          !carousel && event.target.parentNode === container ||\n          event.target === container && strTrans(event.propertyName) === strTrans(transformAttr)) {\n\n        if (!updateIndexBeforeTransform) {\n          var indexTem = index;\n          updateIndex();\n          if (index !== indexTem) {\n            events.emit('indexChanged', info());\n\n            doContainerTransformSilent();\n          }\n        }\n\n        if (nested === 'inner') { events.emit('innerLoaded', info()); }\n        running = false;\n        indexCached = index;\n      }\n    }\n\n  }\n\n  // # ACTIONS\n  function goTo (targetIndex, e) {\n    if (freeze) { return; }\n\n    // prev slideBy\n    if (targetIndex === 'prev') {\n      onControlsClick(e, -1);\n\n    // next slideBy\n    } else if (targetIndex === 'next') {\n      onControlsClick(e, 1);\n\n    // go to exact slide\n    } else {\n      if (running) {\n        if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n      }\n\n      var absIndex = getAbsIndex(),\n          indexGap = 0;\n\n      if (targetIndex === 'first') {\n        indexGap = - absIndex;\n      } else if (targetIndex === 'last') {\n        indexGap = carousel ? slideCount - items - absIndex : slideCount - 1 - absIndex;\n      } else {\n        if (typeof targetIndex !== 'number') { targetIndex = parseInt(targetIndex); }\n\n        if (!isNaN(targetIndex)) {\n          // from directly called goTo function\n          if (!e) { targetIndex = Math.max(0, Math.min(slideCount - 1, targetIndex)); }\n\n          indexGap = targetIndex - absIndex;\n        }\n      }\n\n      // gallery: make sure new page won't overlap with current page\n      if (!carousel && indexGap && Math.abs(indexGap) < items) {\n        var factor = indexGap > 0 ? 1 : -1;\n        indexGap += (index + indexGap - slideCount) >= indexMin ? slideCount * factor : slideCount * 2 * factor * -1;\n      }\n\n      index += indexGap;\n\n      // make sure index is in range\n      if (carousel && loop) {\n        if (index < indexMin) { index += slideCount; }\n        if (index > indexMax) { index -= slideCount; }\n      }\n\n      // if index is changed, start rendering\n      if (getAbsIndex(index) !== getAbsIndex(indexCached)) {\n        render(e);\n      }\n\n    }\n  }\n\n  // on controls click\n  function onControlsClick (e, dir) {\n    if (running) {\n      if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n    }\n    var passEventObject;\n\n    if (!dir) {\n      e = getEvent(e);\n      var target = getTarget(e);\n\n      while (target !== controlsContainer && [prevButton, nextButton].indexOf(target) < 0) { target = target.parentNode; }\n\n      var targetIn = [prevButton, nextButton].indexOf(target);\n      if (targetIn >= 0) {\n        passEventObject = true;\n        dir = targetIn === 0 ? -1 : 1;\n      }\n    }\n\n    if (rewind) {\n      if (index === indexMin && dir === -1) {\n        goTo('last', e);\n        return;\n      } else if (index === indexMax && dir === 1) {\n        goTo('first', e);\n        return;\n      }\n    }\n\n    if (dir) {\n      index += slideBy * dir;\n      if (autoWidth) { index = Math.floor(index); }\n      // pass e when click control buttons or keydown\n      render((passEventObject || (e && e.type === 'keydown')) ? e : null);\n    }\n  }\n\n  // on nav click\n  function onNavClick (e) {\n    if (running) {\n      if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n    }\n\n    e = getEvent(e);\n    var target = getTarget(e), navIndex;\n\n    // find the clicked nav item\n    while (target !== navContainer && !hasAttr(target, 'data-nav')) { target = target.parentNode; }\n    if (hasAttr(target, 'data-nav')) {\n      var navIndex = navClicked = Number(getAttr(target, 'data-nav')),\n          targetIndexBase = fixedWidth || autoWidth ? navIndex * slideCount / pages : navIndex * items,\n          targetIndex = navAsThumbnails ? navIndex : Math.min(Math.ceil(targetIndexBase), slideCount - 1);\n      goTo(targetIndex, e);\n\n      if (navCurrentIndex === navIndex) {\n        if (animating) { stopAutoplay(); }\n        navClicked = -1; // reset navClicked\n      }\n    }\n  }\n\n  // autoplay functions\n  function setAutoplayTimer () {\n    autoplayTimer = setInterval(function () {\n      onControlsClick(null, autoplayDirection);\n    }, autoplayTimeout);\n\n    animating = true;\n  }\n\n  function stopAutoplayTimer () {\n    clearInterval(autoplayTimer);\n    animating = false;\n  }\n\n  function updateAutoplayButton (action, txt) {\n    setAttrs(autoplayButton, {'data-action': action});\n    autoplayButton.innerHTML = autoplayHtmlStrings[0] + action + autoplayHtmlStrings[1] + txt;\n  }\n\n  function startAutoplay () {\n    setAutoplayTimer();\n    if (autoplayButton) { updateAutoplayButton('stop', autoplayText[1]); }\n  }\n\n  function stopAutoplay () {\n    stopAutoplayTimer();\n    if (autoplayButton) { updateAutoplayButton('start', autoplayText[0]); }\n  }\n\n  // programaitcally play/pause the slider\n  function play () {\n    if (autoplay && !animating) {\n      startAutoplay();\n      autoplayUserPaused = false;\n    }\n  }\n  function pause () {\n    if (animating) {\n      stopAutoplay();\n      autoplayUserPaused = true;\n    }\n  }\n\n  function toggleAutoplay () {\n    if (animating) {\n      stopAutoplay();\n      autoplayUserPaused = true;\n    } else {\n      startAutoplay();\n      autoplayUserPaused = false;\n    }\n  }\n\n  function onVisibilityChange () {\n    if (doc.hidden) {\n      if (animating) {\n        stopAutoplayTimer();\n        autoplayVisibilityPaused = true;\n      }\n    } else if (autoplayVisibilityPaused) {\n      setAutoplayTimer();\n      autoplayVisibilityPaused = false;\n    }\n  }\n\n  function mouseoverPause () {\n    if (animating) {\n      stopAutoplayTimer();\n      autoplayHoverPaused = true;\n    }\n  }\n\n  function mouseoutRestart () {\n    if (autoplayHoverPaused) {\n      setAutoplayTimer();\n      autoplayHoverPaused = false;\n    }\n  }\n\n  // keydown events on document\n  function onDocumentKeydown (e) {\n    e = getEvent(e);\n    var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n    if (keyIndex >= 0) {\n      onControlsClick(e, keyIndex === 0 ? -1 : 1);\n    }\n  }\n\n  // on key control\n  function onControlsKeydown (e) {\n    e = getEvent(e);\n    var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);\n\n    if (keyIndex >= 0) {\n      if (keyIndex === 0) {\n        if (!prevButton.disabled) { onControlsClick(e, -1); }\n      } else if (!nextButton.disabled) {\n        onControlsClick(e, 1);\n      }\n    }\n  }\n\n  // set focus\n  function setFocus (el) {\n    el.focus();\n  }\n\n  // on key nav\n  function onNavKeydown (e) {\n    e = getEvent(e);\n    var curElement = doc.activeElement;\n    if (!hasAttr(curElement, 'data-nav')) { return; }\n\n    // var code = e.keyCode,\n    var keyIndex = [KEYS.LEFT, KEYS.RIGHT, KEYS.ENTER, KEYS.SPACE].indexOf(e.keyCode),\n        navIndex = Number(getAttr(curElement, 'data-nav'));\n\n    if (keyIndex >= 0) {\n      if (keyIndex === 0) {\n        if (navIndex > 0) { setFocus(navItems[navIndex - 1]); }\n      } else if (keyIndex === 1) {\n        if (navIndex < pages - 1) { setFocus(navItems[navIndex + 1]); }\n      } else {\n        navClicked = navIndex;\n        goTo(navIndex, e);\n      }\n    }\n  }\n\n  function getEvent (e) {\n    e = e || win.event;\n    return isTouchEvent(e) ? e.changedTouches[0] : e;\n  }\n  function getTarget (e) {\n    return e.target || win.event.srcElement;\n  }\n\n  function isTouchEvent (e) {\n    return e.type.indexOf('touch') >= 0;\n  }\n\n  function preventDefaultBehavior (e) {\n    e.preventDefault ? e.preventDefault() : e.returnValue = false;\n  }\n\n  function getMoveDirectionExpected () {\n    return getTouchDirection(toDegree(lastPosition.y - initPosition.y, lastPosition.x - initPosition.x), swipeAngle) === options.axis;\n  }\n\n  function onPanStart (e) {\n    if (running) {\n      if (preventActionWhenRunning) { return; } else { onTransitionEnd(); }\n    }\n\n    if (autoplay && animating) { stopAutoplayTimer(); }\n\n    panStart = true;\n    if (rafIndex) {\n      caf(rafIndex);\n      rafIndex = null;\n    }\n\n    var $ = getEvent(e);\n    events.emit(isTouchEvent(e) ? 'touchStart' : 'dragStart', info(e));\n\n    if (!isTouchEvent(e) && ['img', 'a'].indexOf(getLowerCaseNodeName(getTarget(e))) >= 0) {\n      preventDefaultBehavior(e);\n    }\n\n    lastPosition.x = initPosition.x = $.clientX;\n    lastPosition.y = initPosition.y = $.clientY;\n    if (carousel) {\n      translateInit = parseFloat(container.style[transformAttr].replace(transformPrefix, ''));\n      resetDuration(container, '0s');\n    }\n  }\n\n  function onPanMove (e) {\n    if (panStart) {\n      var $ = getEvent(e);\n      lastPosition.x = $.clientX;\n      lastPosition.y = $.clientY;\n\n      if (carousel) {\n        if (!rafIndex) { rafIndex = raf(function(){ panUpdate(e); }); }\n      } else {\n        if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n        if (moveDirectionExpected) { preventScroll = true; }\n      }\n\n      if ((typeof e.cancelable !== 'boolean' || e.cancelable) && preventScroll) {\n        e.preventDefault();\n      }\n    }\n  }\n\n  function panUpdate (e) {\n    if (!moveDirectionExpected) {\n      panStart = false;\n      return;\n    }\n    caf(rafIndex);\n    if (panStart) { rafIndex = raf(function(){ panUpdate(e); }); }\n\n    if (moveDirectionExpected === '?') { moveDirectionExpected = getMoveDirectionExpected(); }\n    if (moveDirectionExpected) {\n      if (!preventScroll && isTouchEvent(e)) { preventScroll = true; }\n\n      try {\n        if (e.type) { events.emit(isTouchEvent(e) ? 'touchMove' : 'dragMove', info(e)); }\n      } catch(err) {}\n\n      var x = translateInit,\n          dist = getDist(lastPosition, initPosition);\n      if (!horizontal || fixedWidth || autoWidth) {\n        x += dist;\n        x += 'px';\n      } else {\n        var percentageX = TRANSFORM ? dist * items * 100 / ((viewport + gutter) * slideCountNew): dist * 100 / (viewport + gutter);\n        x += percentageX;\n        x += '%';\n      }\n\n      container.style[transformAttr] = transformPrefix + x + transformPostfix;\n    }\n  }\n\n  function onPanEnd (e) {\n    if (panStart) {\n      if (rafIndex) {\n        caf(rafIndex);\n        rafIndex = null;\n      }\n      if (carousel) { resetDuration(container, ''); }\n      panStart = false;\n\n      var $ = getEvent(e);\n      lastPosition.x = $.clientX;\n      lastPosition.y = $.clientY;\n      var dist = getDist(lastPosition, initPosition);\n\n      if (Math.abs(dist)) {\n        // drag vs click\n        if (!isTouchEvent(e)) {\n          // prevent \"click\"\n          var target = getTarget(e);\n          addEvents(target, {'click': function preventClick (e) {\n            preventDefaultBehavior(e);\n            removeEvents(target, {'click': preventClick});\n          }});\n        }\n\n        if (carousel) {\n          rafIndex = raf(function() {\n            if (horizontal && !autoWidth) {\n              var indexMoved = - dist * items / (viewport + gutter);\n              indexMoved = dist > 0 ? Math.floor(indexMoved) : Math.ceil(indexMoved);\n              index += indexMoved;\n            } else {\n              var moved = - (translateInit + dist);\n              if (moved <= 0) {\n                index = indexMin;\n              } else if (moved >= slidePositions[slideCountNew - 1]) {\n                index = indexMax;\n              } else {\n                var i = 0;\n                while (i < slideCountNew && moved >= slidePositions[i]) {\n                  index = i;\n                  if (moved > slidePositions[i] && dist < 0) { index += 1; }\n                  i++;\n                }\n              }\n            }\n\n            render(e, dist);\n            events.emit(isTouchEvent(e) ? 'touchEnd' : 'dragEnd', info(e));\n          });\n        } else {\n          if (moveDirectionExpected) {\n            onControlsClick(e, dist > 0 ? -1 : 1);\n          }\n        }\n      }\n    }\n\n    // reset\n    if (options.preventScrollOnTouch === 'auto') { preventScroll = false; }\n    if (swipeAngle) { moveDirectionExpected = '?'; }\n    if (autoplay && !animating) { setAutoplayTimer(); }\n  }\n\n  // === RESIZE FUNCTIONS === //\n  // (slidePositions, index, items) => vertical_conentWrapper.height\n  function updateContentWrapperHeight () {\n    var wp = middleWrapper ? middleWrapper : innerWrapper;\n    wp.style.height = slidePositions[index + items] - slidePositions[index] + 'px';\n  }\n\n  function getPages () {\n    var rough = fixedWidth ? (fixedWidth + gutter) * slideCount / viewport : slideCount / items;\n    return Math.min(Math.ceil(rough), slideCount);\n  }\n\n  /*\n   * 1. update visible nav items list\n   * 2. add \"hidden\" attributes to previous visible nav items\n   * 3. remove \"hidden\" attrubutes to new visible nav items\n   */\n  function updateNavVisibility () {\n    if (!nav || navAsThumbnails) { return; }\n\n    if (pages !== pagesCached) {\n      var min = pagesCached,\n          max = pages,\n          fn = showElement;\n\n      if (pagesCached > pages) {\n        min = pages;\n        max = pagesCached;\n        fn = hideElement;\n      }\n\n      while (min < max) {\n        fn(navItems[min]);\n        min++;\n      }\n\n      // cache pages\n      pagesCached = pages;\n    }\n  }\n\n  function info (e) {\n    return {\n      container: container,\n      slideItems: slideItems,\n      navContainer: navContainer,\n      navItems: navItems,\n      controlsContainer: controlsContainer,\n      hasControls: hasControls,\n      prevButton: prevButton,\n      nextButton: nextButton,\n      items: items,\n      slideBy: slideBy,\n      cloneCount: cloneCount,\n      slideCount: slideCount,\n      slideCountNew: slideCountNew,\n      index: index,\n      indexCached: indexCached,\n      displayIndex: getCurrentSlide(),\n      navCurrentIndex: navCurrentIndex,\n      navCurrentIndexCached: navCurrentIndexCached,\n      pages: pages,\n      pagesCached: pagesCached,\n      sheet: sheet,\n      isOn: isOn,\n      event: e || {},\n    };\n  }\n\n  return {\n    version: '2.9.3',\n    getInfo: info,\n    events: events,\n    goTo: goTo,\n    play: play,\n    pause: pause,\n    isOn: isOn,\n    updateSliderHeight: updateInnerWrapperHeight,\n    refresh: initSliderTransform,\n    destroy: destroy,\n    rebuild: function() {\n      return tns(extend(options, optionsElements));\n    }\n  };\n};\n","/**\n * @license\n * Video.js 7.8.4 <http://videojs.com/>\n * Copyright Brightcove, Inc. <https://www.brightcove.com/>\n * Available under Apache License Version 2.0\n * <https://github.com/videojs/video.js/blob/master/LICENSE>\n *\n * Includes vtt.js <https://github.com/mozilla/vtt.js>\n * Available under Apache License Version 2.0\n * <https://github.com/mozilla/vtt.js/blob/master/LICENSE>\n */\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t(require(\"global/window\"),require(\"global/document\")):\"function\"==typeof define&&define.amd?define([\"global/window\",\"global/document\"],t):(e=e||self).videojs=t(e.window,e.document)}(this,function(y,h){\"use strict\";y=y&&Object.prototype.hasOwnProperty.call(y,\"default\")?y.default:y,h=h&&Object.prototype.hasOwnProperty.call(h,\"default\")?h.default:h;var d=\"7.8.4\",l=[],e=function(o,u){return function(e,t,i){var n=u.levels[t],r=new RegExp(\"^(\"+n+\")$\");if(\"log\"!==e&&i.unshift(e.toUpperCase()+\":\"),i.unshift(o+\":\"),l){l.push([].concat(i));var s=l.length-1e3;l.splice(0,0<s?s:0)}if(y.console){var a=y.console[e];a||\"debug\"!==e||(a=y.console.info||y.console.log),a&&n&&r.test(e)&&a[Array.isArray(i)?\"apply\":\"call\"](y.console,i)}}};var p=function t(i){function n(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];r(\"log\",s,t)}var r,s=\"info\";return r=e(i,n),n.createLogger=function(e){return t(i+\": \"+e)},n.levels={all:\"debug|log|warn|error\",off:\"\",debug:\"debug|log|warn|error\",info:\"log|warn|error\",warn:\"warn|error\",error:\"error\",DEFAULT:s},n.level=function(e){if(\"string\"==typeof e){if(!n.levels.hasOwnProperty(e))throw new Error('\"'+e+'\" in not a valid log level');s=e}return s},(n.history=function(){return l?[].concat(l):[]}).filter=function(t){return(l||[]).filter(function(e){return new RegExp(\".*\"+t+\".*\").test(e[0])})},n.history.clear=function(){l&&(l.length=0)},n.history.disable=function(){null!==l&&(l.length=0,l=null)},n.history.enable=function(){null===l&&(l=[])},n.error=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"error\",s,t)},n.warn=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"warn\",s,t)},n.debug=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return r(\"debug\",s,t)},n}(\"VIDEOJS\"),f=p.createLogger;function t(e,t){return e(t={exports:{}},t.exports),t.exports}var r=t(function(e){function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},t.apply(this,arguments)}e.exports=t}),i=Object.prototype.toString,s=function(e){return o(e)?Object.keys(e):[]};function a(t,i){s(t).forEach(function(e){return i(t[e],e)})}function m(i){for(var e=arguments.length,t=new Array(1<e?e-1:0),n=1;n<e;n++)t[n-1]=arguments[n];return Object.assign?r.apply(void 0,[i].concat(t)):(t.forEach(function(e){e&&a(e,function(e,t){i[t]=e})}),i)}function o(e){return!!e&&\"object\"==typeof e}function u(e){return o(e)&&\"[object Object]\"===i.call(e)&&e.constructor===Object}function n(e,t){if(!e||!t)return\"\";if(\"function\"!=typeof y.getComputedStyle)return\"\";var i=y.getComputedStyle(e);return i?i.getPropertyValue(t)||i[t]:\"\"}function c(e){return\"string\"==typeof e&&Boolean(e.trim())}function g(e){if(0<=e.indexOf(\" \"))throw new Error(\"class has illegal whitespace characters\")}function v(){return h===y.document}function _(e){return o(e)&&1===e.nodeType}function b(){try{return y.parent!==y.self}catch(e){return!0}}function T(n){return function(e,t){if(!c(e))return h[n](null);c(t)&&(t=h.querySelector(t));var i=_(t)?t:h;return i[n]&&i[n](e)}}function S(e,i,t,n){void 0===e&&(e=\"div\"),void 0===i&&(i={}),void 0===t&&(t={});var r=h.createElement(e);return Object.getOwnPropertyNames(i).forEach(function(e){var t=i[e];-1!==e.indexOf(\"aria-\")||\"role\"===e||\"type\"===e?(p.warn(\"Setting attributes in the second argument of createEl()\\nhas been deprecated. Use the third argument instead.\\ncreateEl(type, properties, attributes). Attempting to set \"+e+\" to \"+t+\".\"),r.setAttribute(e,t)):\"textContent\"===e?k(r,t):r[e]!==t&&(r[e]=t)}),Object.getOwnPropertyNames(t).forEach(function(e){r.setAttribute(e,t[e])}),n&&V(r,n),r}function k(e,t){return\"undefined\"==typeof e.textContent?e.innerText=t:e.textContent=t,e}function C(e,t){t.firstChild?t.insertBefore(e,t.firstChild):t.appendChild(e)}function w(e,t){return g(t),e.classList?e.classList.contains(t):function(e){return new RegExp(\"(^|\\\\s)\"+e+\"($|\\\\s)\")}(t).test(e.className)}function E(e,t){return e.classList?e.classList.add(t):w(e,t)||(e.className=(e.className+\" \"+t).trim()),e}function x(e,t){return e.classList?e.classList.remove(t):(g(t),e.className=e.className.split(/\\s+/).filter(function(e){return e!==t}).join(\" \")),e}function A(e,t,i){var n=w(e,t);if(\"function\"==typeof i&&(i=i(e,t)),\"boolean\"!=typeof i&&(i=!n),i!==n)return i?E(e,t):x(e,t),e}function I(i,n){Object.getOwnPropertyNames(n).forEach(function(e){var t=n[e];null===t||\"undefined\"==typeof t||!1===t?i.removeAttribute(e):i.setAttribute(e,!0===t?\"\":t)})}function P(e){var t={},i=\",autoplay,controls,playsinline,loop,muted,default,defaultMuted,\";if(e&&e.attributes&&0<e.attributes.length)for(var n=e.attributes,r=n.length-1;0<=r;r--){var s=n[r].name,a=n[r].value;\"boolean\"!=typeof e[s]&&-1===i.indexOf(\",\"+s+\",\")||(a=null!==a),t[s]=a}return t}function L(e,t){return e.getAttribute(t)}function O(e,t,i){e.setAttribute(t,i)}function D(e,t){e.removeAttribute(t)}function N(){h.body.focus(),h.onselectstart=function(){return!1}}function R(){h.onselectstart=function(){return!0}}function U(e){if(e&&e.getBoundingClientRect&&e.parentNode){var t=e.getBoundingClientRect(),i={};return[\"bottom\",\"height\",\"left\",\"right\",\"top\",\"width\"].forEach(function(e){void 0!==t[e]&&(i[e]=t[e])}),i.height||(i.height=parseFloat(n(e,\"height\"))),i.width||(i.width=parseFloat(n(e,\"width\"))),i}}function M(e){var t;if(e.getBoundingClientRect&&e.parentNode&&(t=e.getBoundingClientRect()),!t)return{left:0,top:0};var i=h.documentElement,n=h.body,r=i.clientLeft||n.clientLeft||0,s=y.pageXOffset||n.scrollLeft,a=t.left+s-r,o=i.clientTop||n.clientTop||0,u=y.pageYOffset||n.scrollTop,l=t.top+u-o;return{left:Math.round(a),top:Math.round(l)}}function B(e,t){var i={},n=M(e),r=e.offsetWidth,s=e.offsetHeight,a=n.top,o=n.left,u=t.pageY,l=t.pageX;return t.changedTouches&&(l=t.changedTouches[0].pageX,u=t.changedTouches[0].pageY),i.y=Math.max(0,Math.min(1,(a-u+s)/s)),i.x=Math.max(0,Math.min(1,(l-o)/r)),i}function j(e){return o(e)&&3===e.nodeType}function F(e){for(;e.firstChild;)e.removeChild(e.firstChild);return e}function H(e){return\"function\"==typeof e&&(e=e()),(Array.isArray(e)?e:[e]).map(function(e){return\"function\"==typeof e&&(e=e()),_(e)||j(e)?e:\"string\"==typeof e&&/\\S/.test(e)?h.createTextNode(e):void 0}).filter(function(e){return e})}function V(t,e){return H(e).forEach(function(e){return t.appendChild(e)}),t}function q(e,t){return V(F(e),t)}function W(e){return void 0===e.button&&void 0===e.buttons||(0===e.button&&void 0===e.buttons||(\"mouseup\"===e.type&&0===e.button&&0===e.buttons||0===e.button&&1===e.buttons))}var z,G=T(\"querySelector\"),X=T(\"querySelectorAll\"),K=Object.freeze({__proto__:null,isReal:v,isEl:_,isInFrame:b,createEl:S,textContent:k,prependTo:C,hasClass:w,addClass:E,removeClass:x,toggleClass:A,setAttributes:I,getAttributes:P,getAttribute:L,setAttribute:O,removeAttribute:D,blockTextSelection:N,unblockTextSelection:R,getBoundingClientRect:U,findPosition:M,getPointerPosition:B,isTextNode:j,emptyEl:F,normalizeContent:H,appendContent:V,insertContent:q,isSingleLeftClick:W,$:G,$$:X}),Y=!1,$=function(){if(v()&&!1!==z.options.autoSetup){var e=Array.prototype.slice.call(h.getElementsByTagName(\"video\")),t=Array.prototype.slice.call(h.getElementsByTagName(\"audio\")),i=Array.prototype.slice.call(h.getElementsByTagName(\"video-js\")),n=e.concat(t,i);if(n&&0<n.length)for(var r=0,s=n.length;r<s;r++){var a=n[r];if(!a||!a.getAttribute){Q(1);break}void 0===a.player&&null!==a.getAttribute(\"data-setup\")&&z(a)}else Y||Q(1)}};function Q(e,t){t&&(z=t),y.setTimeout($,e)}function J(){Y=!0,y.removeEventListener(\"load\",J)}v()&&(\"complete\"===h.readyState?J():y.addEventListener(\"load\",J));function Z(e){var t=h.createElement(\"style\");return t.className=e,t}function ee(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t}var te,ie=3;function ne(){return ie++}y.WeakMap||(te=function(){function e(){this.vdata=\"vdata\"+Math.floor(y.performance&&y.performance.now()||Date.now()),this.data={}}var t=e.prototype;return t.set=function(e,t){var i=e[this.vdata]||ne();return e[this.vdata]||(e[this.vdata]=i),this.data[i]=t,this},t.get=function(e){var t=e[this.vdata];if(t)return this.data[t];p(\"We have no data for this element\",e)},t.has=function(e){return e[this.vdata]in this.data},t.delete=function(e){var t=e[this.vdata];t&&(delete this.data[t],delete e[this.vdata])},e}());var re,se=y.WeakMap?new WeakMap:new te;function ae(e,t){if(se.has(e)){var i=se.get(e);0===i.handlers[t].length&&(delete i.handlers[t],e.removeEventListener?e.removeEventListener(t,i.dispatcher,!1):e.detachEvent&&e.detachEvent(\"on\"+t,i.dispatcher)),Object.getOwnPropertyNames(i.handlers).length<=0&&(delete i.handlers,delete i.dispatcher,delete i.disabled),0===Object.getOwnPropertyNames(i).length&&se.delete(e)}}function oe(t,i,e,n){e.forEach(function(e){t(i,e,n)})}function ue(e){if(e.fixed_)return e;function t(){return!0}function i(){return!1}if(!e||!e.isPropagationStopped){var n=e||y.event;for(var r in e={},n)\"layerX\"!==r&&\"layerY\"!==r&&\"keyLocation\"!==r&&\"webkitMovementX\"!==r&&\"webkitMovementY\"!==r&&(\"returnValue\"===r&&n.preventDefault||(e[r]=n[r]));if(e.target||(e.target=e.srcElement||h),e.relatedTarget||(e.relatedTarget=e.fromElement===e.target?e.toElement:e.fromElement),e.preventDefault=function(){n.preventDefault&&n.preventDefault(),e.returnValue=!1,n.returnValue=!1,e.defaultPrevented=!0},e.defaultPrevented=!1,e.stopPropagation=function(){n.stopPropagation&&n.stopPropagation(),e.cancelBubble=!0,n.cancelBubble=!0,e.isPropagationStopped=t},e.isPropagationStopped=i,e.stopImmediatePropagation=function(){n.stopImmediatePropagation&&n.stopImmediatePropagation(),e.isImmediatePropagationStopped=t,e.stopPropagation()},e.isImmediatePropagationStopped=i,null!==e.clientX&&void 0!==e.clientX){var s=h.documentElement,a=h.body;e.pageX=e.clientX+(s&&s.scrollLeft||a&&a.scrollLeft||0)-(s&&s.clientLeft||a&&a.clientLeft||0),e.pageY=e.clientY+(s&&s.scrollTop||a&&a.scrollTop||0)-(s&&s.clientTop||a&&a.clientTop||0)}e.which=e.charCode||e.keyCode,null!==e.button&&void 0!==e.button&&(e.button=1&e.button?0:4&e.button?1:2&e.button?2:0)}return e.fixed_=!0,e}var le=function(){if(\"boolean\"!=typeof re){re=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){re=!0}});y.addEventListener(\"test\",null,e),y.removeEventListener(\"test\",null,e)}catch(e){}}return re},ce=[\"touchstart\",\"touchmove\"];function he(a,e,t){if(Array.isArray(e))return oe(he,a,e,t);se.has(a)||se.set(a,{});var o=se.get(a);if(o.handlers||(o.handlers={}),o.handlers[e]||(o.handlers[e]=[]),t.guid||(t.guid=ne()),o.handlers[e].push(t),o.dispatcher||(o.disabled=!1,o.dispatcher=function(e,t){if(!o.disabled){e=ue(e);var i=o.handlers[e.type];if(i)for(var n=i.slice(0),r=0,s=n.length;r<s&&!e.isImmediatePropagationStopped();r++)try{n[r].call(a,e,t)}catch(e){p.error(e)}}}),1===o.handlers[e].length)if(a.addEventListener){var i=!1;le()&&-1<ce.indexOf(e)&&(i={passive:!0}),a.addEventListener(e,o.dispatcher,i)}else a.attachEvent&&a.attachEvent(\"on\"+e,o.dispatcher)}function de(e,t,i){if(se.has(e)){var n=se.get(e);if(n.handlers){if(Array.isArray(t))return oe(de,e,t,i);var r=function(e,t){n.handlers[t]=[],ae(e,t)};if(void 0!==t){var s=n.handlers[t];if(s)if(i){if(i.guid)for(var a=0;a<s.length;a++)s[a].guid===i.guid&&s.splice(a--,1);ae(e,t)}else r(e,t)}else for(var o in n.handlers)Object.prototype.hasOwnProperty.call(n.handlers||{},o)&&r(e,o)}}}function pe(e,t,i){var n=se.has(e)?se.get(e):{},r=e.parentNode||e.ownerDocument;if(\"string\"==typeof t?t={type:t,target:e}:t.target||(t.target=e),t=ue(t),n.dispatcher&&n.dispatcher.call(e,t,i),r&&!t.isPropagationStopped()&&!0===t.bubbles)pe.call(null,r,t,i);else if(!r&&!t.defaultPrevented&&t.target&&t.target[t.type]){se.has(t.target)||se.set(t.target,{});var s=se.get(t.target);t.target[t.type]&&(s.disabled=!0,\"function\"==typeof t.target[t.type]&&t.target[t.type](),s.disabled=!1)}return!t.defaultPrevented}function fe(e,t,i){if(Array.isArray(t))return oe(fe,e,t,i);function n(){de(e,t,n),i.apply(this,arguments)}n.guid=i.guid=i.guid||ne(),he(e,t,n)}function me(e,t,i){function n(){de(e,t,n),i.apply(this,arguments)}n.guid=i.guid=i.guid||ne(),he(e,t,n)}function ge(e,t,i){t.guid||(t.guid=ne());var n=t.bind(e);return n.guid=i?i+\"_\"+t.guid:t.guid,n}function ve(t,i){var n=y.performance.now();return function(){var e=y.performance.now();i<=e-n&&(t.apply(void 0,arguments),n=e)}}function ye(){}var _e,be=Object.freeze({__proto__:null,fixEvent:ue,on:he,off:de,trigger:pe,one:fe,any:me});ye.prototype.allowedEvents_={},ye.prototype.addEventListener=ye.prototype.on=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},he(this,e,t),this.addEventListener=i},ye.prototype.removeEventListener=ye.prototype.off=function(e,t){de(this,e,t)},ye.prototype.one=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},fe(this,e,t),this.addEventListener=i},ye.prototype.any=function(e,t){var i=this.addEventListener;this.addEventListener=function(){},me(this,e,t),this.addEventListener=i},ye.prototype.dispatchEvent=ye.prototype.trigger=function(e){var t=e.type||e;\"string\"==typeof e&&(e={type:t}),e=ue(e),this.allowedEvents_[t]&&this[\"on\"+t]&&this[\"on\"+t](e),pe(this,e)},ye.prototype.queueTrigger=function(e){var t=this;_e=_e||new Map;var i=e.type||e,n=_e.get(this);n||(n=new Map,_e.set(this,n));var r=n.get(i);n.delete(i),y.clearTimeout(r);var s=y.setTimeout(function(){0===n.size&&(n=null,_e.delete(t)),t.trigger(e)},0);n.set(i,s)};function Te(e){return\"string\"==typeof e&&/\\S/.test(e)||Array.isArray(e)&&!!e.length}function Se(e){if(!e.nodeName&&!xe(e))throw new Error(\"Invalid target; must be a DOM node or evented object.\")}function ke(e){if(!Te(e))throw new Error(\"Invalid event type; must be a non-empty string or array.\")}function Ce(e){if(\"function\"!=typeof e)throw new Error(\"Invalid listener; must be a function.\")}function we(e,t){var i,n,r,s=t.length<3||t[0]===e||t[0]===e.eventBusEl_;return r=s?(i=e.eventBusEl_,3<=t.length&&t.shift(),n=t[0],t[1]):(i=t[0],n=t[1],t[2]),Se(i),ke(n),Ce(r),{isTargetingSelf:s,target:i,type:n,listener:r=ge(e,r)}}function Ee(e,t,i,n){Se(e),e.nodeName?be[t](e,i,n):e[t](i,n)}var xe=function(t){return t instanceof ye||!!t.eventBusEl_&&[\"on\",\"one\",\"off\",\"trigger\"].every(function(e){return\"function\"==typeof t[e]})},Ae={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=we(this,i),s=r.isTargetingSelf,a=r.target,o=r.type,u=r.listener;if(Ee(a,\"on\",o,u),!s){var l=function(){return e.off(a,o,u)};l.guid=u.guid;var c=function(){return e.off(\"dispose\",l)};c.guid=u.guid,Ee(this,\"on\",\"dispose\",l),Ee(a,\"on\",\"dispose\",c)}},one:function(){for(var r=this,e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=we(this,t),s=n.isTargetingSelf,a=n.target,o=n.type,u=n.listener;if(s)Ee(a,\"one\",o,u);else{var l=function e(){r.off(a,o,e);for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];u.apply(null,i)};l.guid=u.guid,Ee(a,\"one\",o,l)}},any:function(){for(var r=this,e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=we(this,t),s=n.isTargetingSelf,a=n.target,o=n.type,u=n.listener;if(s)Ee(a,\"any\",o,u);else{var l=function e(){r.off(a,o,e);for(var t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];u.apply(null,i)};l.guid=u.guid,Ee(a,\"any\",o,l)}},off:function(e,t,i){if(!e||Te(e))de(this.eventBusEl_,e,t);else{var n=e,r=t;Se(n),ke(r),Ce(i),i=ge(this,i),this.off(\"dispose\",i),n.nodeName?(de(n,r,i),de(n,\"dispose\",i)):xe(n)&&(n.off(r,i),n.off(\"dispose\",i))}},trigger:function(e,t){return pe(this.eventBusEl_,e,t)}};function Ie(e,t){void 0===t&&(t={});var i=t.eventBusKey;if(i){if(!e[i].nodeName)throw new Error('The eventBusKey \"'+i+'\" does not refer to an element.');e.eventBusEl_=e[i]}else e.eventBusEl_=S(\"span\",{className:\"vjs-event-bus\"});return m(e,Ae),e.eventedCallbacks&&e.eventedCallbacks.forEach(function(e){e()}),e.on(\"dispose\",function(){e.off(),y.setTimeout(function(){e.eventBusEl_=null},0)}),e}var Pe={state:{},setState:function(e){var i,n=this;return\"function\"==typeof e&&(e=e()),a(e,function(e,t){n.state[t]!==e&&((i=i||{})[t]={from:n.state[t],to:e}),n.state[t]=e}),i&&xe(this)&&this.trigger({changes:i,type:\"statechanged\"}),i}};function Le(e,t){return m(e,Pe),e.state=m({},e.state,t),\"function\"==typeof e.handleStateChanged&&xe(e)&&e.on(\"statechanged\",e.handleStateChanged),e}function Oe(e){return\"string\"!=typeof e?e:e.replace(/./,function(e){return e.toLowerCase()})}function De(e){return\"string\"!=typeof e?e:e.replace(/./,function(e){return e.toUpperCase()})}function Ne(){for(var i={},e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.forEach(function(e){e&&a(e,function(e,t){u(e)?(u(i[t])||(i[t]={}),i[t]=Ne(i[t],e)):i[t]=e})}),i}var Re=function(){function l(e,t,i){if(!e&&this.play?this.player_=e=this:this.player_=e,this.isDisposed_=!1,this.parentComponent_=null,this.options_=Ne({},this.options_),t=this.options_=Ne(this.options_,t),this.id_=t.id||t.el&&t.el.id,!this.id_){var n=e&&e.id&&e.id()||\"no_player\";this.id_=n+\"_component_\"+ne()}var r;this.name_=t.name||null,t.el?this.el_=t.el:!1!==t.createEl&&(this.el_=this.createEl()),!1!==t.evented&&Ie(this,{eventBusKey:this.el_?\"el_\":null}),Le(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},y.Set||(r=function(){function e(){this.set_={}}var t=e.prototype;return t.has=function(e){return e in this.set_},t.delete=function(e){var t=this.has(e);return delete this.set_[e],t},t.add=function(e){return this.set_[e]=1,this},t.forEach=function(e,t){for(var i in this.set_)e.call(t,i,i,this)},e}()),this.setTimeoutIds_=y.Set?new Set:new r,this.setIntervalIds_=y.Set?new Set:new r,this.rafIds_=y.Set?new Set:new r,(this.clearingTimersOnDispose_=!1)!==t.initChildren&&this.initChildren(),this.ready(i),!1!==t.reportTouchActivity&&this.enableTouchActivity()}var e=l.prototype;return e.dispose=function(){if(!this.isDisposed_){if(this.trigger({type:\"dispose\",bubbles:!1}),this.isDisposed_=!0,this.children_)for(var e=this.children_.length-1;0<=e;e--)this.children_[e].dispose&&this.children_[e].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&this.el_.parentNode.removeChild(this.el_),se.has(this.el_)&&se.delete(this.el_),this.el_=null),this.player_=null}},e.isDisposed=function(){return Boolean(this.isDisposed_)},e.player=function(){return this.player_},e.options=function(e){return e&&(this.options_=Ne(this.options_,e)),this.options_},e.el=function(){return this.el_},e.createEl=function(e,t,i){return S(e,t,i)},e.localize=function(e,r,t){void 0===t&&(t=e);var i=this.player_.language&&this.player_.language(),n=this.player_.languages&&this.player_.languages(),s=n&&n[i],a=i&&i.split(\"-\")[0],o=n&&n[a],u=t;return s&&s[e]?u=s[e]:o&&o[e]&&(u=o[e]),r&&(u=u.replace(/\\{(\\d+)\\}/g,function(e,t){var i=r[t-1],n=i;return\"undefined\"==typeof i&&(n=e),n})),u},e.contentEl=function(){return this.contentEl_||this.el_},e.id=function(){return this.id_},e.name=function(){return this.name_},e.children=function(){return this.children_},e.getChildById=function(e){return this.childIndex_[e]},e.getChild=function(e){if(e)return this.childNameIndex_[e]},e.getDescendant=function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];t=t.reduce(function(e,t){return e.concat(t)},[]);for(var n=this,r=0;r<t.length;r++)if(!(n=n.getChild(t[r]))||!n.getChild)return;return n},e.addChild=function(e,t,i){var n,r;if(void 0===t&&(t={}),void 0===i&&(i=this.children_.length),\"string\"==typeof e){r=De(e);var s=t.componentClass||r;t.name=r;var a=l.getComponent(s);if(!a)throw new Error(\"Component \"+s+\" does not exist\");if(\"function\"!=typeof a)return null;n=new a(this.player_||this,t)}else n=e;if(n.parentComponent_&&n.parentComponent_.removeChild(n),this.children_.splice(i,0,n),n.parentComponent_=this,\"function\"==typeof n.id&&(this.childIndex_[n.id()]=n),(r=r||n.name&&De(n.name()))&&(this.childNameIndex_[r]=n,this.childNameIndex_[Oe(r)]=n),\"function\"==typeof n.el&&n.el()){var o=null;this.children_[i+1]&&(this.children_[i+1].el_?o=this.children_[i+1].el_:_(this.children_[i+1])&&(o=this.children_[i+1])),this.contentEl().insertBefore(n.el(),o)}return n},e.removeChild=function(e){if(\"string\"==typeof e&&(e=this.getChild(e)),e&&this.children_){for(var t=!1,i=this.children_.length-1;0<=i;i--)if(this.children_[i]===e){t=!0,this.children_.splice(i,1);break}if(t){e.parentComponent_=null,this.childIndex_[e.id()]=null,this.childNameIndex_[De(e.name())]=null,this.childNameIndex_[Oe(e.name())]=null;var n=e.el();n&&n.parentNode===this.contentEl()&&this.contentEl().removeChild(e.el())}}},e.initChildren=function(){var r=this,n=this.options_.children;if(n){var e,s=this.options_,i=l.getComponent(\"Tech\");(e=Array.isArray(n)?n:Object.keys(n)).concat(Object.keys(this.options_).filter(function(t){return!e.some(function(e){return\"string\"==typeof e?t===e:t===e.name})})).map(function(e){var t,i;return i=\"string\"==typeof e?n[t=e]||r.options_[t]||{}:(t=e.name,e),{name:t,opts:i}}).filter(function(e){var t=l.getComponent(e.opts.componentClass||De(e.name));return t&&!i.isTech(t)}).forEach(function(e){var t=e.name,i=e.opts;if(void 0!==s[t]&&(i=s[t]),!1!==i){!0===i&&(i={}),i.playerOptions=r.options_.playerOptions;var n=r.addChild(t,i);n&&(r[t]=n)}})}},e.buildCSSClass=function(){return\"\"},e.ready=function(e,t){if(void 0===t&&(t=!1),e)return this.isReady_?void(t?e.call(this):this.setTimeout(e,1)):(this.readyQueue_=this.readyQueue_||[],void this.readyQueue_.push(e))},e.triggerReady=function(){this.isReady_=!0,this.setTimeout(function(){var e=this.readyQueue_;this.readyQueue_=[],e&&0<e.length&&e.forEach(function(e){e.call(this)},this),this.trigger(\"ready\")},1)},e.$=function(e,t){return G(e,t||this.contentEl())},e.$$=function(e,t){return X(e,t||this.contentEl())},e.hasClass=function(e){return w(this.el_,e)},e.addClass=function(e){E(this.el_,e)},e.removeClass=function(e){x(this.el_,e)},e.toggleClass=function(e,t){A(this.el_,e,t)},e.show=function(){this.removeClass(\"vjs-hidden\")},e.hide=function(){this.addClass(\"vjs-hidden\")},e.lockShowing=function(){this.addClass(\"vjs-lock-showing\")},e.unlockShowing=function(){this.removeClass(\"vjs-lock-showing\")},e.getAttribute=function(e){return L(this.el_,e)},e.setAttribute=function(e,t){O(this.el_,e,t)},e.removeAttribute=function(e){D(this.el_,e)},e.width=function(e,t){return this.dimension(\"width\",e,t)},e.height=function(e,t){return this.dimension(\"height\",e,t)},e.dimensions=function(e,t){this.width(e,!0),this.height(t)},e.dimension=function(e,t,i){if(void 0!==t)return null!==t&&t==t||(t=0),-1!==(\"\"+t).indexOf(\"%\")||-1!==(\"\"+t).indexOf(\"px\")?this.el_.style[e]=t:this.el_.style[e]=\"auto\"===t?\"\":t+\"px\",void(i||this.trigger(\"componentresize\"));if(!this.el_)return 0;var n=this.el_.style[e],r=n.indexOf(\"px\");return-1!==r?parseInt(n.slice(0,r),10):parseInt(this.el_[\"offset\"+De(e)],10)},e.currentDimension=function(e){var t=0;if(\"width\"!==e&&\"height\"!==e)throw new Error(\"currentDimension only accepts width or height value\");if(t=n(this.el_,e),0===(t=parseFloat(t))||isNaN(t)){var i=\"offset\"+De(e);t=this.el_[i]}return t},e.currentDimensions=function(){return{width:this.currentDimension(\"width\"),height:this.currentDimension(\"height\")}},e.currentWidth=function(){return this.currentDimension(\"width\")},e.currentHeight=function(){return this.currentDimension(\"height\")},e.focus=function(){this.el_.focus()},e.blur=function(){this.el_.blur()},e.handleKeyDown=function(e){this.player_&&(e.stopPropagation(),this.player_.handleKeyDown(e))},e.handleKeyPress=function(e){this.handleKeyDown(e)},e.emitTapEvents=function(){var n,t=0,r=null;this.on(\"touchstart\",function(e){1===e.touches.length&&(r={pageX:e.touches[0].pageX,pageY:e.touches[0].pageY},t=y.performance.now(),n=!0)}),this.on(\"touchmove\",function(e){if(1<e.touches.length)n=!1;else if(r){var t=e.touches[0].pageX-r.pageX,i=e.touches[0].pageY-r.pageY;10<Math.sqrt(t*t+i*i)&&(n=!1)}});function e(){n=!1}this.on(\"touchleave\",e),this.on(\"touchcancel\",e),this.on(\"touchend\",function(e){!(r=null)===n&&y.performance.now()-t<200&&(e.preventDefault(),this.trigger(\"tap\"))})},e.enableTouchActivity=function(){if(this.player()&&this.player().reportUserActivity){var t,i=ge(this.player(),this.player().reportUserActivity);this.on(\"touchstart\",function(){i(),this.clearInterval(t),t=this.setInterval(i,250)});var e=function(e){i(),this.clearInterval(t)};this.on(\"touchmove\",i),this.on(\"touchend\",e),this.on(\"touchcancel\",e)}},e.setTimeout=function(e,t){var i,n=this;return e=ge(this,e),this.clearTimersOnDispose_(),i=y.setTimeout(function(){n.setTimeoutIds_.has(i)&&n.setTimeoutIds_.delete(i),e()},t),this.setTimeoutIds_.add(i),i},e.clearTimeout=function(e){return this.setTimeoutIds_.has(e)&&(this.setTimeoutIds_.delete(e),y.clearTimeout(e)),e},e.setInterval=function(e,t){e=ge(this,e),this.clearTimersOnDispose_();var i=y.setInterval(e,t);return this.setIntervalIds_.add(i),i},e.clearInterval=function(e){return this.setIntervalIds_.has(e)&&(this.setIntervalIds_.delete(e),y.clearInterval(e)),e},e.requestAnimationFrame=function(e){var t,i=this;return this.supportsRaf_?(this.clearTimersOnDispose_(),e=ge(this,e),t=y.requestAnimationFrame(function(){i.rafIds_.has(t)&&i.rafIds_.delete(t),e()}),this.rafIds_.add(t),t):this.setTimeout(e,1e3/60)},e.cancelAnimationFrame=function(e){return this.supportsRaf_?(this.rafIds_.has(e)&&(this.rafIds_.delete(e),y.cancelAnimationFrame(e)),e):this.clearTimeout(e)},e.clearTimersOnDispose_=function(){var n=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one(\"dispose\",function(){[[\"rafIds_\",\"cancelAnimationFrame\"],[\"setTimeoutIds_\",\"clearTimeout\"],[\"setIntervalIds_\",\"clearInterval\"]].forEach(function(e){var t=e[0],i=e[1];n[t].forEach(n[i],n)}),n.clearingTimersOnDispose_=!1}))},l.registerComponent=function(e,t){if(\"string\"!=typeof e||!e)throw new Error('Illegal component name, \"'+e+'\"; must be a non-empty string.');var i,n=l.getComponent(\"Tech\"),r=n&&n.isTech(t),s=l===t||l.prototype.isPrototypeOf(t.prototype);if(r||!s)throw i=r?\"techs must be registered using Tech.registerTech()\":\"must be a Component subclass\",new Error('Illegal component, \"'+e+'\"; '+i+\".\");e=De(e),l.components_||(l.components_={});var a=l.getComponent(\"Player\");if(\"Player\"===e&&a&&a.players){var o=a.players,u=Object.keys(o);if(o&&0<u.length&&u.map(function(e){return o[e]}).every(Boolean))throw new Error(\"Can not register Player component after player has been created.\")}return l.components_[e]=t,l.components_[Oe(e)]=t},l.getComponent=function(e){if(e&&l.components_)return l.components_[e]},l}();Re.prototype.supportsRaf_=\"function\"==typeof y.requestAnimationFrame&&\"function\"==typeof y.cancelAnimationFrame,Re.registerComponent(\"Component\",Re);var Ue=function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e};t(function(t){function i(e){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?t.exports=i=function(e){return typeof e}:t.exports=i=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i(e)}t.exports=i}),t(function(t){function i(e){return t.exports=i=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},i(e)}t.exports=i});var Me,Be,je,Fe,He=function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t},Ve=y.navigator&&y.navigator.userAgent||\"\",qe=/AppleWebKit\\/([\\d.]+)/i.exec(Ve),We=qe?parseFloat(qe.pop()):null,ze=/iPod/i.test(Ve),Ge=(Me=Ve.match(/OS (\\d+)_/i))&&Me[1]?Me[1]:null,Xe=/Android/i.test(Ve),Ke=function(){var e=Ve.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);if(!e)return null;var t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);return t&&i?parseFloat(e[1]+\".\"+e[2]):t||null}(),Ye=Xe&&Ke<5&&We<537,$e=/Firefox/i.test(Ve),Qe=/Edg/i.test(Ve),Je=!Qe&&(/Chrome/i.test(Ve)||/CriOS/i.test(Ve)),Ze=(Be=Ve.match(/(Chrome|CriOS)\\/(\\d+)/))&&Be[2]?parseFloat(Be[2]):null,et=(je=/MSIE\\s(\\d+)\\.\\d/.exec(Ve),!(Fe=je&&parseFloat(je[1]))&&/Trident\\/7.0/i.test(Ve)&&/rv:11.0/.test(Ve)&&(Fe=11),Fe),tt=/Safari/i.test(Ve)&&!Je&&!Xe&&!Qe,it=/Windows/i.test(Ve),nt=v()&&(\"ontouchstart\"in y||y.navigator.maxTouchPoints||y.DocumentTouch&&y.document instanceof y.DocumentTouch),rt=/iPad/i.test(Ve)||tt&&nt&&!/iPhone/i.test(Ve),st=/iPhone/i.test(Ve)&&!rt,at=st||rt||ze,ot=(tt||at)&&!Je,ut=Object.freeze({__proto__:null,IS_IPOD:ze,IOS_VERSION:Ge,IS_ANDROID:Xe,ANDROID_VERSION:Ke,IS_NATIVE_ANDROID:Ye,IS_FIREFOX:$e,IS_EDGE:Qe,IS_CHROME:Je,CHROME_VERSION:Ze,IE_VERSION:et,IS_SAFARI:tt,IS_WINDOWS:it,TOUCH_ENABLED:nt,IS_IPAD:rt,IS_IPHONE:st,IS_IOS:at,IS_ANY_SAFARI:ot});function lt(e,t,i,n){return function(e,t,i){if(\"number\"!=typeof t||t<0||i<t)throw new Error(\"Failed to execute '\"+e+\"' on 'TimeRanges': The index provided (\"+t+\") is non-numeric or out of bounds (0-\"+i+\").\")}(e,n,i.length-1),i[n][t]}function ct(e){return void 0===e||0===e.length?{length:0,start:function(){throw new Error(\"This TimeRanges object is empty\")},end:function(){throw new Error(\"This TimeRanges object is empty\")}}:{length:e.length,start:lt.bind(null,\"start\",0,e),end:lt.bind(null,\"end\",1,e)}}function ht(e,t){return Array.isArray(e)?ct(e):void 0===e||void 0===t?ct():ct([[e,t]])}function dt(e,t){var i,n,r=0;if(!t)return 0;e&&e.length||(e=ht(0,0));for(var s=0;s<e.length;s++)i=e.start(s),t<(n=e.end(s))&&(n=t),r+=n-i;return r/t}for(var pt,ft={prefixed:!0},mt=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\",\"fullscreen\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\",\"-webkit-full-screen\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\",\"-moz-full-screen\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\",\"-ms-fullscreen\"]],gt=mt[0],vt=0;vt<mt.length;vt++)if(mt[vt][1]in h){pt=mt[vt];break}if(pt){for(var yt=0;yt<pt.length;yt++)ft[gt[yt]]=pt[yt];ft.prefixed=pt[0]!==gt[0]}function _t(e){if(e instanceof _t)return e;\"number\"==typeof e?this.code=e:\"string\"==typeof e?this.message=e:o(e)&&(\"number\"==typeof e.code&&(this.code=e.code),m(this,e)),this.message||(this.message=_t.defaultMessages[this.code]||\"\")}_t.prototype.code=0,_t.prototype.message=\"\",_t.prototype.status=null,_t.errorTypes=[\"MEDIA_ERR_CUSTOM\",\"MEDIA_ERR_ABORTED\",\"MEDIA_ERR_NETWORK\",\"MEDIA_ERR_DECODE\",\"MEDIA_ERR_SRC_NOT_SUPPORTED\",\"MEDIA_ERR_ENCRYPTED\"],_t.defaultMessages={1:\"You aborted the media playback\",2:\"A network error caused the media download to fail part-way.\",3:\"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.\",4:\"The media could not be loaded, either because the server or network failed or because the format is not supported.\",5:\"The media is encrypted and we do not have the keys to decrypt it.\"};for(var bt=0;bt<_t.errorTypes.length;bt++)_t[_t.errorTypes[bt]]=bt,_t.prototype[_t.errorTypes[bt]]=bt;var Tt=function(e,t){var i,n=null;try{i=JSON.parse(e,t)}catch(e){n=e}return[n,i]};function St(e){return null!=e&&\"function\"==typeof e.then}function kt(e){St(e)&&e.then(null,function(e){})}function Ct(n){return[\"kind\",\"label\",\"language\",\"id\",\"inBandMetadataTrackDispatchType\",\"mode\",\"src\"].reduce(function(e,t,i){return n[t]&&(e[t]=n[t]),e},{cues:n.cues&&Array.prototype.map.call(n.cues,function(e){return{startTime:e.startTime,endTime:e.endTime,text:e.text,id:e.id}})})}var wt=function(e){var t=e.$$(\"track\"),i=Array.prototype.map.call(t,function(e){return e.track});return Array.prototype.map.call(t,function(e){var t=Ct(e.track);return e.src&&(t.src=e.src),t}).concat(Array.prototype.filter.call(e.textTracks(),function(e){return-1===i.indexOf(e)}).map(Ct))},Et=function(e,i){return e.forEach(function(e){var t=i.addRemoteTextTrack(e).track;!e.src&&e.cues&&e.cues.forEach(function(e){return t.addCue(e)})}),i.textTracks()},xt=t(function(e,t){function i(e){if(e&&\"object\"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"==typeof e)return a[e];var i,n=String(e);return(i=r[n.toLowerCase()])?i:(i=s[n.toLowerCase()])||(1===n.length?n.charCodeAt(0):void 0)}i.isEventKey=function(e,t){if(e&&\"object\"==typeof e){var i=e.which||e.keyCode||e.charCode;if(null==i)return!1;if(\"string\"==typeof t){var n;if(n=r[t.toLowerCase()])return n===i;if(n=s[t.toLowerCase()])return n===i}else if(\"number\"==typeof t)return t===i;return!1}};var r=(t=e.exports=i).code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},s=t.aliases={windows:91,\"⇧\":16,\"⌥\":18,\"⌃\":17,\"⌘\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(n=97;n<123;n++)r[String.fromCharCode(n)]=n-32;for(var n=48;n<58;n++)r[n-48]=n;for(n=1;n<13;n++)r[\"f\"+n]=n+111;for(n=0;n<10;n++)r[\"numpad \"+n]=n+96;var a=t.names=t.title={};for(n in r)a[r[n]]=n;for(var o in s)r[o]=s[o]}),At=(xt.code,xt.codes,xt.aliases,xt.names,xt.title,\"vjs-modal-dialog\"),It=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).opened_=i.hasBeenOpened_=i.hasBeenFilled_=!1,i.closeable(!i.options_.uncloseable),i.content(i.options_.content),i.contentEl_=S(\"div\",{className:At+\"-content\"},{role:\"document\"}),i.descEl_=S(\"p\",{className:At+\"-description vjs-control-text\",id:i.el().getAttribute(\"aria-describedby\")}),k(i.descEl_,i.description()),i.el_.appendChild(i.descEl_),i.el_.appendChild(i.contentEl_),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:this.buildCSSClass(),tabIndex:-1},{\"aria-describedby\":this.id()+\"_description\",\"aria-hidden\":\"true\",\"aria-label\":this.label(),role:\"dialog\"})},t.dispose=function(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,n.prototype.dispose.call(this)},t.buildCSSClass=function(){return At+\" vjs-hidden \"+n.prototype.buildCSSClass.call(this)},t.label=function(){return this.localize(this.options_.label||\"Modal Window\")},t.description=function(){var e=this.options_.description||this.localize(\"This is a modal window.\");return this.closeable()&&(e+=\" \"+this.localize(\"This modal can be closed by pressing the Escape key or activating the close button.\")),e},t.open=function(){if(!this.opened_){var e=this.player();this.trigger(\"beforemodalopen\"),this.opened_=!0,!this.options_.fillAlways&&(this.hasBeenOpened_||this.hasBeenFilled_)||this.fill(),this.wasPlaying_=!e.paused(),this.options_.pauseOnOpen&&this.wasPlaying_&&e.pause(),this.on(\"keydown\",this.handleKeyDown),this.hadControls_=e.controls(),e.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute(\"aria-hidden\",\"false\"),this.trigger(\"modalopen\"),this.hasBeenOpened_=!0}},t.opened=function(e){return\"boolean\"==typeof e&&this[e?\"open\":\"close\"](),this.opened_},t.close=function(){if(this.opened_){var e=this.player();this.trigger(\"beforemodalclose\"),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&e.play(),this.off(\"keydown\",this.handleKeyDown),this.hadControls_&&e.controls(!0),this.hide(),this.el().setAttribute(\"aria-hidden\",\"true\"),this.trigger(\"modalclose\"),this.conditionalBlur_(),this.options_.temporary&&this.dispose()}},t.closeable=function(e){if(\"boolean\"==typeof e){var t=this.closeable_=!!e,i=this.getChild(\"closeButton\");if(t&&!i){var n=this.contentEl_;this.contentEl_=this.el_,i=this.addChild(\"closeButton\",{controlText:\"Close Modal Dialog\"}),this.contentEl_=n,this.on(i,\"close\",this.close)}!t&&i&&(this.off(i,\"close\",this.close),this.removeChild(i),i.dispose())}return this.closeable_},t.fill=function(){this.fillWith(this.content())},t.fillWith=function(e){var t=this.contentEl(),i=t.parentNode,n=t.nextSibling;this.trigger(\"beforemodalfill\"),this.hasBeenFilled_=!0,i.removeChild(t),this.empty(),q(t,e),this.trigger(\"modalfill\"),n?i.insertBefore(t,n):i.appendChild(t);var r=this.getChild(\"closeButton\");r&&i.appendChild(r.el_)},t.empty=function(){this.trigger(\"beforemodalempty\"),F(this.contentEl()),this.trigger(\"modalempty\")},t.content=function(e){return\"undefined\"!=typeof e&&(this.content_=e),this.content_},t.conditionalFocus_=function(){var e=h.activeElement,t=this.player_.el_;this.previouslyActiveEl_=null,!t.contains(e)&&t!==e||(this.previouslyActiveEl_=e,this.focus())},t.conditionalBlur_=function(){this.previouslyActiveEl_&&(this.previouslyActiveEl_.focus(),this.previouslyActiveEl_=null)},t.handleKeyDown=function(e){if(e.stopPropagation(),xt.isEventKey(e,\"Escape\")&&this.closeable())return e.preventDefault(),void this.close();if(xt.isEventKey(e,\"Tab\")){for(var t,i=this.focusableEls_(),n=this.el_.querySelector(\":focus\"),r=0;r<i.length;r++)if(n===i[r]){t=r;break}h.activeElement===this.el_&&(t=0),e.shiftKey&&0===t?(i[i.length-1].focus(),e.preventDefault()):e.shiftKey||t!==i.length-1||(i[0].focus(),e.preventDefault())}},t.focusableEls_=function(){var e=this.el_.querySelectorAll(\"*\");return Array.prototype.filter.call(e,function(e){return(e instanceof y.HTMLAnchorElement||e instanceof y.HTMLAreaElement)&&e.hasAttribute(\"href\")||(e instanceof y.HTMLInputElement||e instanceof y.HTMLSelectElement||e instanceof y.HTMLTextAreaElement||e instanceof y.HTMLButtonElement)&&!e.hasAttribute(\"disabled\")||e instanceof y.HTMLIFrameElement||e instanceof y.HTMLObjectElement||e instanceof y.HTMLEmbedElement||e.hasAttribute(\"tabindex\")&&-1!==e.getAttribute(\"tabindex\")||e.hasAttribute(\"contenteditable\")})},e}(Re);It.prototype.options_={pauseOnOpen:!0,temporary:!0},Re.registerComponent(\"ModalDialog\",It);var Pt=function(n){function e(e){var t;void 0===e&&(e=[]),(t=n.call(this)||this).tracks_=[],Object.defineProperty(Ue(t),\"length\",{get:function(){return this.tracks_.length}});for(var i=0;i<e.length;i++)t.addTrack(e[i]);return t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this.tracks_.length;\"\"+t in this||Object.defineProperty(this,t,{get:function(){return this.tracks_[t]}}),-1===this.tracks_.indexOf(e)&&(this.tracks_.push(e),this.trigger({track:e,type:\"addtrack\",target:this}))},t.removeTrack=function(e){for(var t,i=0,n=this.length;i<n;i++)if(this[i]===e){(t=this[i]).off&&t.off(),this.tracks_.splice(i,1);break}t&&this.trigger({track:t,type:\"removetrack\",target:this})},t.getTrackById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i];if(r.id===e){t=r;break}}return t},e}(ye);for(var Lt in Pt.prototype.allowedEvents_={change:\"change\",addtrack:\"addtrack\",removetrack:\"removetrack\"},Pt.prototype.allowedEvents_)Pt.prototype[\"on\"+Lt]=null;function Ot(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].enabled=!1)}function Dt(e,t){for(var i=0;i<e.length;i++)Object.keys(e[i]).length&&t.id!==e[i].id&&(e[i].selected=!1)}function Nt(e){var t=[\"protocol\",\"hostname\",\"port\",\"pathname\",\"search\",\"hash\",\"host\"],i=h.createElement(\"a\");i.href=e;var n,r=\"\"===i.host&&\"file:\"!==i.protocol;r&&((n=h.createElement(\"div\")).innerHTML='<a href=\"'+e+'\"></a>',i=n.firstChild,n.setAttribute(\"style\",\"display:none; position:absolute;\"),h.body.appendChild(n));for(var s={},a=0;a<t.length;a++)s[t[a]]=i[t[a]];return\"http:\"===s.protocol&&(s.host=s.host.replace(/:80$/,\"\")),\"https:\"===s.protocol&&(s.host=s.host.replace(/:443$/,\"\")),s.protocol||(s.protocol=y.location.protocol),r&&h.body.removeChild(n),s}function Rt(e){if(!e.match(/^https?:\\/\\//)){var t=h.createElement(\"div\");t.innerHTML='<a href=\"'+e+'\">x</a>',e=t.firstChild.href}return e}function Ut(e){if(\"string\"==typeof e){var t=/^(\\/?)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?)(\\.([^\\.\\/\\?]+)))(?:[\\/]*|[\\?].*)$/.exec(e);if(t)return t.pop().toLowerCase()}return\"\"}function Mt(e,t){void 0===t&&(t=y.location);var i=Nt(e);return(\":\"===i.protocol?t.protocol:i.protocol)+i.host!==t.protocol+t.host}var Bt=function(n){function e(e){var t;void 0===e&&(e=[]);for(var i=e.length-1;0<=i;i--)if(e[i].enabled){Ot(e,e[i]);break}return(t=n.call(this,e)||this).changing_=!1,t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this;e.enabled&&Ot(this,e),n.prototype.addTrack.call(this,e),e.addEventListener&&(e.enabledChange_=function(){t.changing_||(t.changing_=!0,Ot(t,e),t.changing_=!1,t.trigger(\"change\"))},e.addEventListener(\"enabledchange\",e.enabledChange_))},t.removeTrack=function(e){n.prototype.removeTrack.call(this,e),e.removeEventListener&&e.enabledChange_&&(e.removeEventListener(\"enabledchange\",e.enabledChange_),e.enabledChange_=null)},e}(Pt),jt=function(n){function e(e){var t;void 0===e&&(e=[]);for(var i=e.length-1;0<=i;i--)if(e[i].selected){Dt(e,e[i]);break}return(t=n.call(this,e)||this).changing_=!1,Object.defineProperty(Ue(t),\"selectedIndex\",{get:function(){for(var e=0;e<this.length;e++)if(this[e].selected)return e;return-1},set:function(){}}),t}He(e,n);var t=e.prototype;return t.addTrack=function(e){var t=this;e.selected&&Dt(this,e),n.prototype.addTrack.call(this,e),e.addEventListener&&(e.selectedChange_=function(){t.changing_||(t.changing_=!0,Dt(t,e),t.changing_=!1,t.trigger(\"change\"))},e.addEventListener(\"selectedchange\",e.selectedChange_))},t.removeTrack=function(e){n.prototype.removeTrack.call(this,e),e.removeEventListener&&e.selectedChange_&&(e.removeEventListener(\"selectedchange\",e.selectedChange_),e.selectedChange_=null)},e}(Pt),Ft=function(i){function e(){return i.apply(this,arguments)||this}He(e,i);var t=e.prototype;return t.addTrack=function(e){var t=this;i.prototype.addTrack.call(this,e),this.queueChange_||(this.queueChange_=function(){return t.queueTrigger(\"change\")}),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=function(){return t.trigger(\"selectedlanguagechange\")}),e.addEventListener(\"modechange\",this.queueChange_);-1===[\"metadata\",\"chapters\"].indexOf(e.kind)&&e.addEventListener(\"modechange\",this.triggerSelectedlanguagechange_)},t.removeTrack=function(e){i.prototype.removeTrack.call(this,e),e.removeEventListener&&(this.queueChange_&&e.removeEventListener(\"modechange\",this.queueChange_),this.selectedlanguagechange_&&e.removeEventListener(\"modechange\",this.triggerSelectedlanguagechange_))},e}(Pt),Ht=function(){function e(e){void 0===e&&(e=[]),this.trackElements_=[],Object.defineProperty(this,\"length\",{get:function(){return this.trackElements_.length}});for(var t=0,i=e.length;t<i;t++)this.addTrackElement_(e[t])}var t=e.prototype;return t.addTrackElement_=function(e){var t=this.trackElements_.length;\"\"+t in this||Object.defineProperty(this,t,{get:function(){return this.trackElements_[t]}}),-1===this.trackElements_.indexOf(e)&&this.trackElements_.push(e)},t.getTrackElementByTrack_=function(e){for(var t,i=0,n=this.trackElements_.length;i<n;i++)if(e===this.trackElements_[i].track){t=this.trackElements_[i];break}return t},t.removeTrackElement_=function(e){for(var t=0,i=this.trackElements_.length;t<i;t++)if(e===this.trackElements_[t]){this.trackElements_[t].track&&\"function\"==typeof this.trackElements_[t].track.off&&this.trackElements_[t].track.off(),\"function\"==typeof this.trackElements_[t].off&&this.trackElements_[t].off(),this.trackElements_.splice(t,1);break}},e}(),Vt=function(){function t(e){t.prototype.setCues_.call(this,e),Object.defineProperty(this,\"length\",{get:function(){return this.length_}})}var e=t.prototype;return e.setCues_=function(e){var t=this.length||0,i=0,n=e.length;this.cues_=e,this.length_=e.length;function r(e){\"\"+e in this||Object.defineProperty(this,\"\"+e,{get:function(){return this.cues_[e]}})}if(t<n)for(i=t;i<n;i++)r.call(this,i)},e.getCueById=function(e){for(var t=null,i=0,n=this.length;i<n;i++){var r=this[i];if(r.id===e){t=r;break}}return t},t}(),qt={alternative:\"alternative\",captions:\"captions\",main:\"main\",sign:\"sign\",subtitles:\"subtitles\",commentary:\"commentary\"},Wt={alternative:\"alternative\",descriptions:\"descriptions\",main:\"main\",\"main-desc\":\"main-desc\",translation:\"translation\",commentary:\"commentary\"},zt={subtitles:\"subtitles\",captions:\"captions\",descriptions:\"descriptions\",chapters:\"chapters\",metadata:\"metadata\"},Gt={disabled:\"disabled\",hidden:\"hidden\",showing:\"showing\"},Xt=function(s){function e(e){var t;void 0===e&&(e={}),t=s.call(this)||this;function i(e){Object.defineProperty(Ue(t),e,{get:function(){return n[e]},set:function(){}})}var n={id:e.id||\"vjs_track_\"+ne(),kind:e.kind||\"\",label:e.label||\"\",language:e.language||\"\"};for(var r in n)i(r);return t}return He(e,s),e}(ye),Kt=Object.freeze({__proto__:null,parseUrl:Nt,getAbsoluteURL:Rt,getFileExtension:Ut,isCrossOrigin:Mt}),Yt=function(e){var t=$t.call(e);return\"[object Function]\"===t||\"function\"==typeof e&&\"[object RegExp]\"!==t||\"undefined\"!=typeof window&&(e===window.setTimeout||e===window.alert||e===window.confirm||e===window.prompt)}\n/**\n   * @license\n   * slighly modified parse-headers 2.0.2 <https://github.com/kesla/parse-headers/>\n   * Copyright (c) 2014 David Björklund\n   * Available under the MIT license\n   * <https://github.com/kesla/parse-headers/blob/master/LICENCE>\n   */,$t=Object.prototype.toString;var Qt=function(e){var r={};return e&&e.trim().split(\"\\n\").forEach(function(e){var t=e.indexOf(\":\"),i=e.slice(0,t).trim().toLowerCase(),n=e.slice(t+1).trim();\"undefined\"==typeof r[i]?r[i]=n:Array.isArray(r[i])?r[i].push(n):r[i]=[r[i],n]}),r},Jt=ti,Zt=ti;function ei(e,t,i){var n=e;return Yt(t)?(i=t,\"string\"==typeof e&&(n={uri:e})):n=r({},t,{uri:e}),n.callback=i,n}function ti(e,t,i){return ii(t=ei(e,t,i))}function ii(n){if(\"undefined\"==typeof n.callback)throw new Error(\"callback argument missing\");var r=!1,s=function(e,t,i){r||(r=!0,n.callback(e,t,i))};function t(e){return clearTimeout(o),e instanceof Error||(e=new Error(\"\"+(e||\"Unknown XMLHttpRequest Error\"))),e.statusCode=0,s(e,m)}function e(){if(!a){var e;clearTimeout(o),e=n.useXDR&&void 0===u.status?200:1223===u.status?204:u.status;var t=m,i=null;return 0!==e?(t={body:function(){var e=void 0;if(e=u.response?u.response:u.responseText||function(e){try{if(\"document\"===e.responseType)return e.responseXML;var t=e.responseXML&&\"parsererror\"===e.responseXML.documentElement.nodeName;if(\"\"===e.responseType&&!t)return e.responseXML}catch(e){}return null}(u),f)try{e=JSON.parse(e)}catch(e){}return e}(),statusCode:e,method:c,headers:{},url:l,rawRequest:u},u.getAllResponseHeaders&&(t.headers=Qt(u.getAllResponseHeaders()))):i=new Error(\"Internal XMLHttpRequest Error\"),s(i,t,t.body)}}var i,a,o,u=n.xhr||null,l=(u=u||(n.cors||n.useXDR?new ti.XDomainRequest:new ti.XMLHttpRequest)).url=n.uri||n.url,c=u.method=n.method||\"GET\",h=n.body||n.data,d=u.headers=n.headers||{},p=!!n.sync,f=!1,m={body:void 0,headers:{},statusCode:0,method:c,url:l,rawRequest:u};if(\"json\"in n&&!1!==n.json&&(f=!0,d.accept||d.Accept||(d.Accept=\"application/json\"),\"GET\"!==c&&\"HEAD\"!==c&&(d[\"content-type\"]||d[\"Content-Type\"]||(d[\"Content-Type\"]=\"application/json\"),h=JSON.stringify(!0===n.json?h:n.json))),u.onreadystatechange=function(){4===u.readyState&&setTimeout(e,0)},u.onload=e,u.onerror=t,u.onprogress=function(){},u.onabort=function(){a=!0},u.ontimeout=t,u.open(c,l,!p,n.username,n.password),p||(u.withCredentials=!!n.withCredentials),!p&&0<n.timeout&&(o=setTimeout(function(){if(!a){a=!0,u.abort(\"timeout\");var e=new Error(\"XMLHttpRequest timeout\");e.code=\"ETIMEDOUT\",t(e)}},n.timeout)),u.setRequestHeader)for(i in d)d.hasOwnProperty(i)&&u.setRequestHeader(i,d[i]);else if(n.headers&&!function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}(n.headers))throw new Error(\"Headers cannot be set on an XDomainRequest object\");return\"responseType\"in n&&(u.responseType=n.responseType),\"beforeSend\"in n&&\"function\"==typeof n.beforeSend&&n.beforeSend(u),u.send(h||null),u}ti.XMLHttpRequest=y.XMLHttpRequest||function(){},ti.XDomainRequest=\"withCredentials\"in new ti.XMLHttpRequest?ti.XMLHttpRequest:y.XDomainRequest,function(e,t){for(var i=0;i<e.length;i++)t(e[i])}([\"get\",\"put\",\"post\",\"patch\",\"head\",\"delete\"],function(n){ti[\"delete\"===n?\"del\":n]=function(e,t,i){return(t=ei(e,t,i)).method=n.toUpperCase(),ii(t)}}),Jt.default=Zt;function ni(e,t){var i=new y.WebVTT.Parser(y,y.vttjs,y.WebVTT.StringDecoder()),n=[];i.oncue=function(e){t.addCue(e)},i.onparsingerror=function(e){n.push(e)},i.onflush=function(){t.trigger({type:\"loadeddata\",target:t})},i.parse(e),0<n.length&&(y.console&&y.console.groupCollapsed&&y.console.groupCollapsed(\"Text Track parsing errors for \"+t.src),n.forEach(function(e){return p.error(e)}),y.console&&y.console.groupEnd&&y.console.groupEnd()),i.flush()}function ri(e,n){var t={uri:e},i=Mt(e);i&&(t.cors=i),Jt(t,ge(this,function(e,t,i){if(e)return p.error(e,t);n.loaded_=!0,\"function\"!=typeof y.WebVTT?n.tech_&&n.tech_.any([\"vttjsloaded\",\"vttjserror\"],function(e){if(\"vttjserror\"!==e.type)return ni(i,n);p.error(\"vttjs failed to load, stopping trying to process \"+n.src)}):ni(i,n)}))}var si=function(l){function e(e){var t;if(void 0===e&&(e={}),!e.tech)throw new Error(\"A tech was not provided.\");var i=Ne(e,{kind:zt[e.kind]||\"subtitles\",language:e.language||e.srclang||\"\"}),n=Gt[i.mode]||\"disabled\",r=i.default;\"metadata\"!==i.kind&&\"chapters\"!==i.kind||(n=\"hidden\"),(t=l.call(this,i)||this).tech_=i.tech,t.cues_=[],t.activeCues_=[],t.preload_=!1!==t.tech_.preloadTextTracks;var s=new Vt(t.cues_),a=new Vt(t.activeCues_),o=!1,u=ge(Ue(t),function(){this.activeCues=this.activeCues,o&&(this.trigger(\"cuechange\"),o=!1)});return\"disabled\"!==n&&t.tech_.ready(function(){t.tech_.on(\"timeupdate\",u)},!0),Object.defineProperties(Ue(t),{default:{get:function(){return r},set:function(){}},mode:{get:function(){return n},set:function(e){var t=this;Gt[e]&&(n=e,this.preload_||\"disabled\"===n||0!==this.cues.length||ri(this.src,this),\"disabled\"!==n?this.tech_.ready(function(){t.tech_.on(\"timeupdate\",u)},!0):this.tech_.off(\"timeupdate\",u),this.trigger(\"modechange\"))}},cues:{get:function(){return this.loaded_?s:null},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(0===this.cues.length)return a;for(var e=this.tech_.currentTime(),t=[],i=0,n=this.cues.length;i<n;i++){var r=this.cues[i];r.startTime<=e&&r.endTime>=e?t.push(r):r.startTime===r.endTime&&r.startTime<=e&&r.startTime+.5>=e&&t.push(r)}if(o=!1,t.length!==this.activeCues_.length)o=!0;else for(var s=0;s<t.length;s++)-1===this.activeCues_.indexOf(t[s])&&(o=!0);return this.activeCues_=t,a.setCues_(this.activeCues_),a},set:function(){}}}),i.src?(t.src=i.src,t.preload_||(t.loaded_=!0),(t.preload_||r||\"subtitles\"!==i.kind&&\"captions\"!==i.kind)&&ri(t.src,Ue(t))):t.loaded_=!0,t}He(e,l);var t=e.prototype;return t.addCue=function(e){var t=e;if(y.vttjs&&!(e instanceof y.vttjs.VTTCue)){for(var i in t=new y.vttjs.VTTCue(e.startTime,e.endTime,e.text),e)i in t||(t[i]=e[i]);t.id=e.id,t.originalCue_=e}for(var n=this.tech_.textTracks(),r=0;r<n.length;r++)n[r]!==this&&n[r].removeCue(t);this.cues_.push(t),this.cues.setCues_(this.cues_)},t.removeCue=function(e){for(var t=this.cues_.length;t--;){var i=this.cues_[t];if(i===e||i.originalCue_&&i.originalCue_===e){this.cues_.splice(t,1),this.cues.setCues_(this.cues_);break}}},e}(Xt);si.prototype.allowedEvents_={cuechange:\"cuechange\"};var ai=function(r){function e(e){var t;void 0===e&&(e={});var i=Ne(e,{kind:Wt[e.kind]||\"\"});t=r.call(this,i)||this;var n=!1;return Object.defineProperty(Ue(t),\"enabled\",{get:function(){return n},set:function(e){\"boolean\"==typeof e&&e!==n&&(n=e,this.trigger(\"enabledchange\"))}}),i.enabled&&(t.enabled=i.enabled),t.loaded_=!0,t}return He(e,r),e}(Xt),oi=function(r){function e(e){var t;void 0===e&&(e={});var i=Ne(e,{kind:qt[e.kind]||\"\"});t=r.call(this,i)||this;var n=!1;return Object.defineProperty(Ue(t),\"selected\",{get:function(){return n},set:function(e){\"boolean\"==typeof e&&e!==n&&(n=e,this.trigger(\"selectedchange\"))}}),i.selected&&(t.selected=i.selected),t}return He(e,r),e}(Xt),ui=function(r){function e(e){var t,i;void 0===e&&(e={}),t=r.call(this)||this;var n=new si(e);return t.kind=n.kind,t.src=n.src,t.srclang=n.language,t.label=n.label,t.default=n.default,Object.defineProperties(Ue(t),{readyState:{get:function(){return i}},track:{get:function(){return n}}}),i=0,n.addEventListener(\"loadeddata\",function(){i=2,t.trigger({type:\"load\",target:Ue(t)})}),t}return He(e,r),e}(ye);ui.prototype.allowedEvents_={load:\"load\"},ui.NONE=0,ui.LOADING=1,ui.LOADED=2,ui.ERROR=3;var li={audio:{ListClass:Bt,TrackClass:ai,capitalName:\"Audio\"},video:{ListClass:jt,TrackClass:oi,capitalName:\"Video\"},text:{ListClass:Ft,TrackClass:si,capitalName:\"Text\"}};Object.keys(li).forEach(function(e){li[e].getterName=e+\"Tracks\",li[e].privateName=e+\"Tracks_\"});var ci={remoteText:{ListClass:Ft,TrackClass:si,capitalName:\"RemoteText\",getterName:\"remoteTextTracks\",privateName:\"remoteTextTracks_\"},remoteTextEl:{ListClass:Ht,TrackClass:ui,capitalName:\"RemoteTextTrackEls\",getterName:\"remoteTextTrackEls\",privateName:\"remoteTextTrackEls_\"}},hi=r({},li,ci);ci.names=Object.keys(ci),li.names=Object.keys(li),hi.names=[].concat(ci.names).concat(li.names);var di=Object.create||function(e){if(1!==arguments.length)throw new Error(\"Object.create shim only accepts one parameter.\");return pi.prototype=e,new pi};function pi(){}function fi(e,t){this.name=\"ParsingError\",this.code=e.code,this.message=t||e.message}function mi(e){function t(e,t,i,n){return 3600*(0|e)+60*(0|t)+(0|i)+(0|n)/1e3}var i=e.match(/^(\\d+):(\\d{1,2})(:\\d{1,2})?\\.(\\d{3})/);return i?i[3]?t(i[1],i[2],i[3].replace(\":\",\"\"),i[4]):59<i[1]?t(i[1],i[2],0,i[4]):t(0,i[1],i[2],i[4]):null}function gi(){this.values=di(null)}function vi(e,t,i,n){var r=n?e.split(n):[e];for(var s in r)if(\"string\"==typeof r[s]){var a=r[s].split(i);if(2===a.length)t(a[0],a[1])}}function yi(t,e,a){var i=t;function n(){var e=mi(t);if(null===e)throw new fi(fi.Errors.BadTimeStamp,\"Malformed timestamp: \"+i);return t=t.replace(/^[^\\sa-zA-Z-]+/,\"\"),e}function r(){t=t.replace(/^\\s+/,\"\")}if(r(),e.startTime=n(),r(),\"--\\x3e\"!==t.substr(0,3))throw new fi(fi.Errors.BadTimeStamp,\"Malformed time stamp (time stamps must be separated by '--\\x3e'): \"+i);t=t.substr(3),r(),e.endTime=n(),r(),function(e,t){var s=new gi;vi(e,function(e,t){switch(e){case\"region\":for(var i=a.length-1;0<=i;i--)if(a[i].id===t){s.set(e,a[i].region);break}break;case\"vertical\":s.alt(e,t,[\"rl\",\"lr\"]);break;case\"line\":var n=t.split(\",\"),r=n[0];s.integer(e,r),s.percent(e,r)&&s.set(\"snapToLines\",!1),s.alt(e,r,[\"auto\"]),2===n.length&&s.alt(\"lineAlign\",n[1],[\"start\",\"center\",\"end\"]);break;case\"position\":n=t.split(\",\"),s.percent(e,n[0]),2===n.length&&s.alt(\"positionAlign\",n[1],[\"start\",\"center\",\"end\"]);break;case\"size\":s.percent(e,t);break;case\"align\":s.alt(e,t,[\"start\",\"center\",\"end\",\"left\",\"right\"])}},/:/,/\\s/),t.region=s.get(\"region\",null),t.vertical=s.get(\"vertical\",\"\");try{t.line=s.get(\"line\",\"auto\")}catch(e){}t.lineAlign=s.get(\"lineAlign\",\"start\"),t.snapToLines=s.get(\"snapToLines\",!0),t.size=s.get(\"size\",100);try{t.align=s.get(\"align\",\"center\")}catch(e){t.align=s.get(\"align\",\"middle\")}try{t.position=s.get(\"position\",\"auto\")}catch(e){t.position=s.get(\"position\",{start:0,left:0,center:50,middle:50,end:100,right:100},t.align)}t.positionAlign=s.get(\"positionAlign\",{start:\"start\",left:\"start\",center:\"center\",middle:\"center\",end:\"end\",right:\"end\"},t.align)}(t,e)}((fi.prototype=di(Error.prototype)).constructor=fi).Errors={BadSignature:{code:0,message:\"Malformed WebVTT signature.\"},BadTimeStamp:{code:1,message:\"Malformed time stamp.\"}},gi.prototype={set:function(e,t){this.get(e)||\"\"===t||(this.values[e]=t)},get:function(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t},has:function(e){return e in this.values},alt:function(e,t,i){for(var n=0;n<i.length;++n)if(t===i[n]){this.set(e,t);break}},integer:function(e,t){/^-?\\d+$/.test(t)&&this.set(e,parseInt(t,10))},percent:function(e,t){return!!(t.match(/^([\\d]{1,3})(\\.[\\d]*)?%$/)&&0<=(t=parseFloat(t))&&t<=100)&&(this.set(e,t),!0)}};var _i=h.createElement(\"textarea\"),bi={c:\"span\",i:\"i\",b:\"b\",u:\"u\",ruby:\"ruby\",rt:\"rt\",v:\"span\",lang:\"span\"},Ti={white:\"rgba(255,255,255,1)\",lime:\"rgba(0,255,0,1)\",cyan:\"rgba(0,255,255,1)\",red:\"rgba(255,0,0,1)\",yellow:\"rgba(255,255,0,1)\",magenta:\"rgba(255,0,255,1)\",blue:\"rgba(0,0,255,1)\",black:\"rgba(0,0,0,1)\"},Si={v:\"title\",lang:\"lang\"},ki={rt:\"ruby\"};function Ci(s,i){function e(){if(!i)return null;var e,t=i.match(/^([^<]*)(<[^>]*>?)?/);return e=t[1]?t[1]:t[2],i=i.substr(e.length),e}function t(e,t){var i=bi[e];if(!i)return null;var n=s.document.createElement(i),r=Si[e];return r&&t&&(n[r]=t.trim()),n}for(var n,r,a,o,u=s.document.createElement(\"div\"),l=u,c=[];null!==(n=e());)if(\"<\"!==n[0])l.appendChild(s.document.createTextNode((r=n,_i.innerHTML=r,r=_i.textContent,_i.textContent=\"\",r)));else{if(\"/\"===n[1]){c.length&&c[c.length-1]===n.substr(2).replace(\">\",\"\")&&(c.pop(),l=l.parentNode);continue}var h,d=mi(n.substr(1,n.length-2));if(d){h=s.document.createProcessingInstruction(\"timestamp\",d),l.appendChild(h);continue}var p=n.match(/^<([^.\\s/0-9>]+)(\\.[^\\s\\\\>]+)?([^>\\\\]+)?(\\\\?)>?$/);if(!p)continue;if(!(h=t(p[1],p[3])))continue;if(a=l,ki[(o=h).localName]&&ki[o.localName]!==a.localName)continue;if(p[2]){var f=p[2].split(\".\");f.forEach(function(e){var t=/^bg_/.test(e),i=t?e.slice(3):e;if(Ti.hasOwnProperty(i)){var n=t?\"background-color\":\"color\",r=Ti[i];h.style[n]=r}}),h.className=f.join(\" \")}c.push(p[1]),l.appendChild(h),l=h}return u}var wi=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function Ei(e){for(var t=0;t<wi.length;t++){var i=wi[t];if(e>=i[0]&&e<=i[1])return!0}return!1}function xi(){}function Ai(e,t,i){xi.call(this),this.cue=t,this.cueDiv=Ci(e,t.text);var n={color:\"rgba(255, 255, 255, 1)\",backgroundColor:\"rgba(0, 0, 0, 0.8)\",position:\"relative\",left:0,right:0,top:0,bottom:0,display:\"inline\",writingMode:\"\"===t.vertical?\"horizontal-tb\":\"lr\"===t.vertical?\"vertical-lr\":\"vertical-rl\",unicodeBidi:\"plaintext\"};this.applyStyles(n,this.cueDiv),this.div=e.document.createElement(\"div\"),n={direction:function(e){var t=[],i=\"\";if(!e||!e.childNodes)return\"ltr\";function r(e,t){for(var i=t.childNodes.length-1;0<=i;i--)e.push(t.childNodes[i])}function s(e){if(!e||!e.length)return null;var t=e.pop(),i=t.textContent||t.innerText;if(i){var n=i.match(/^.*(\\n|\\r)/);return n?n[e.length=0]:i}return\"ruby\"===t.tagName?s(e):t.childNodes?(r(e,t),s(e)):void 0}for(r(t,e);i=s(t);)for(var n=0;n<i.length;n++)if(Ei(i.charCodeAt(n)))return\"rtl\";return\"ltr\"}(this.cueDiv),writingMode:\"\"===t.vertical?\"horizontal-tb\":\"lr\"===t.vertical?\"vertical-lr\":\"vertical-rl\",unicodeBidi:\"plaintext\",textAlign:\"middle\"===t.align?\"center\":t.align,font:i.font,whiteSpace:\"pre-line\",position:\"absolute\"},this.applyStyles(n),this.div.appendChild(this.cueDiv);var r=0;switch(t.positionAlign){case\"start\":r=t.position;break;case\"center\":r=t.position-t.size/2;break;case\"end\":r=t.position-t.size}\"\"===t.vertical?this.applyStyles({left:this.formatStyle(r,\"%\"),width:this.formatStyle(t.size,\"%\")}):this.applyStyles({top:this.formatStyle(r,\"%\"),height:this.formatStyle(t.size,\"%\")}),this.move=function(e){this.applyStyles({top:this.formatStyle(e.top,\"px\"),bottom:this.formatStyle(e.bottom,\"px\"),left:this.formatStyle(e.left,\"px\"),right:this.formatStyle(e.right,\"px\"),height:this.formatStyle(e.height,\"px\"),width:this.formatStyle(e.width,\"px\")})}}function Ii(e){var t,i,n,r;if(e.div){i=e.div.offsetHeight,n=e.div.offsetWidth,r=e.div.offsetTop;var s=(s=e.div.childNodes)&&(s=s[0])&&s.getClientRects&&s.getClientRects();e=e.div.getBoundingClientRect(),t=s?Math.max(s[0]&&s[0].height||0,e.height/s.length):0}this.left=e.left,this.right=e.right,this.top=e.top||r,this.height=e.height||i,this.bottom=e.bottom||r+(e.height||i),this.width=e.width||n,this.lineHeight=void 0!==t?t:e.lineHeight}function Pi(e,t,o,u){var i=new Ii(t),n=t.cue,r=function(e){if(\"number\"==typeof e.line&&(e.snapToLines||0<=e.line&&e.line<=100))return e.line;if(!e.track||!e.track.textTrackList||!e.track.textTrackList.mediaElement)return-1;for(var t=e.track,i=t.textTrackList,n=0,r=0;r<i.length&&i[r]!==t;r++)\"showing\"===i[r].mode&&n++;return-1*++n}(n),s=[];if(n.snapToLines){var a;switch(n.vertical){case\"\":s=[\"+y\",\"-y\"],a=\"height\";break;case\"rl\":s=[\"+x\",\"-x\"],a=\"width\";break;case\"lr\":s=[\"-x\",\"+x\"],a=\"width\"}var l=i.lineHeight,c=l*Math.round(r),h=o[a]+l,d=s[0];Math.abs(c)>h&&(c=c<0?-1:1,c*=Math.ceil(h/l)*l),r<0&&(c+=\"\"===n.vertical?o.height:o.width,s=s.reverse()),i.move(d,c)}else{var p=i.lineHeight/o.height*100;switch(n.lineAlign){case\"center\":r-=p/2;break;case\"end\":r-=p}switch(n.vertical){case\"\":t.applyStyles({top:t.formatStyle(r,\"%\")});break;case\"rl\":t.applyStyles({left:t.formatStyle(r,\"%\")});break;case\"lr\":t.applyStyles({right:t.formatStyle(r,\"%\")})}s=[\"+y\",\"-x\",\"+x\",\"-y\"],i=new Ii(t)}var f=function(e,t){for(var i,n=new Ii(e),r=1,s=0;s<t.length;s++){for(;e.overlapsOppositeAxis(o,t[s])||e.within(o)&&e.overlapsAny(u);)e.move(t[s]);if(e.within(o))return e;var a=e.intersectPercentage(o);a<r&&(i=new Ii(e),r=a),e=new Ii(n)}return i||n}(i,s);t.move(f.toCSSCompatValues(o))}function Li(){}xi.prototype.applyStyles=function(e,t){for(var i in t=t||this.div,e)e.hasOwnProperty(i)&&(t.style[i]=e[i])},xi.prototype.formatStyle=function(e,t){return 0===e?0:e+t},(Ai.prototype=di(xi.prototype)).constructor=Ai,Ii.prototype.move=function(e,t){switch(t=void 0!==t?t:this.lineHeight,e){case\"+x\":this.left+=t,this.right+=t;break;case\"-x\":this.left-=t,this.right-=t;break;case\"+y\":this.top+=t,this.bottom+=t;break;case\"-y\":this.top-=t,this.bottom-=t}},Ii.prototype.overlaps=function(e){return this.left<e.right&&this.right>e.left&&this.top<e.bottom&&this.bottom>e.top},Ii.prototype.overlapsAny=function(e){for(var t=0;t<e.length;t++)if(this.overlaps(e[t]))return!0;return!1},Ii.prototype.within=function(e){return this.top>=e.top&&this.bottom<=e.bottom&&this.left>=e.left&&this.right<=e.right},Ii.prototype.overlapsOppositeAxis=function(e,t){switch(t){case\"+x\":return this.left<e.left;case\"-x\":return this.right>e.right;case\"+y\":return this.top<e.top;case\"-y\":return this.bottom>e.bottom}},Ii.prototype.intersectPercentage=function(e){return Math.max(0,Math.min(this.right,e.right)-Math.max(this.left,e.left))*Math.max(0,Math.min(this.bottom,e.bottom)-Math.max(this.top,e.top))/(this.height*this.width)},Ii.prototype.toCSSCompatValues=function(e){return{top:this.top-e.top,bottom:e.bottom-this.bottom,left:this.left-e.left,right:e.right-this.right,height:this.height,width:this.width}},Ii.getSimpleBoxPosition=function(e){var t=e.div?e.div.offsetHeight:e.tagName?e.offsetHeight:0,i=e.div?e.div.offsetWidth:e.tagName?e.offsetWidth:0,n=e.div?e.div.offsetTop:e.tagName?e.offsetTop:0;return{left:(e=e.div?e.div.getBoundingClientRect():e.tagName?e.getBoundingClientRect():e).left,right:e.right,top:e.top||n,height:e.height||t,bottom:e.bottom||n+(e.height||t),width:e.width||i}},Li.StringDecoder=function(){return{decode:function(e){if(!e)return\"\";if(\"string\"!=typeof e)throw new Error(\"Error - expected string data.\");return decodeURIComponent(encodeURIComponent(e))}}},Li.convertCueToDOMTree=function(e,t){return e&&t?Ci(e,t):null};Li.processCues=function(n,r,e){if(!n||!r||!e)return null;for(;e.firstChild;)e.removeChild(e.firstChild);var s=n.document.createElement(\"div\");if(s.style.position=\"absolute\",s.style.left=\"0\",s.style.right=\"0\",s.style.top=\"0\",s.style.bottom=\"0\",s.style.margin=\"1.5%\",e.appendChild(s),function(e){for(var t=0;t<e.length;t++)if(e[t].hasBeenReset||!e[t].displayState)return!0;return!1}(r)){var a=[],o=Ii.getSimpleBoxPosition(s),u={font:Math.round(.05*o.height*100)/100+\"px sans-serif\"};!function(){for(var e,t,i=0;i<r.length;i++)t=r[i],e=new Ai(n,t,u),s.appendChild(e.div),Pi(0,e,o,a),t.displayState=e.div,a.push(Ii.getSimpleBoxPosition(e))}()}else for(var t=0;t<r.length;t++)s.appendChild(r[t].displayState)},(Li.Parser=function(e,t,i){i||(i=t,t={}),t=t||{},this.window=e,this.vttjs=t,this.state=\"INITIAL\",this.buffer=\"\",this.decoder=i||new TextDecoder(\"utf8\"),this.regionList=[]}).prototype={reportOrThrowError:function(e){if(!(e instanceof fi))throw e;this.onparsingerror&&this.onparsingerror(e)},parse:function(e){var n=this;function t(){for(var e=n.buffer,t=0;t<e.length&&\"\\r\"!==e[t]&&\"\\n\"!==e[t];)++t;var i=e.substr(0,t);return\"\\r\"===e[t]&&++t,\"\\n\"===e[t]&&++t,n.buffer=e.substr(t),i}function i(e){e.match(/X-TIMESTAMP-MAP/)?vi(e,function(e,t){switch(e){case\"X-TIMESTAMP-MAP\":!function(e){var i=new gi;vi(e,function(e,t){switch(e){case\"MPEGT\":i.integer(e+\"S\",t);break;case\"LOCA\":i.set(e+\"L\",mi(t))}},/[^\\d]:/,/,/),n.ontimestampmap&&n.ontimestampmap({MPEGTS:i.get(\"MPEGTS\"),LOCAL:i.get(\"LOCAL\")})}(t)}},/=/):vi(e,function(e,t){switch(e){case\"Region\":!function(e){var r=new gi;if(vi(e,function(e,t){switch(e){case\"id\":r.set(e,t);break;case\"width\":r.percent(e,t);break;case\"lines\":r.integer(e,t);break;case\"regionanchor\":case\"viewportanchor\":var i=t.split(\",\");if(2!==i.length)break;var n=new gi;if(n.percent(\"x\",i[0]),n.percent(\"y\",i[1]),!n.has(\"x\")||!n.has(\"y\"))break;r.set(e+\"X\",n.get(\"x\")),r.set(e+\"Y\",n.get(\"y\"));break;case\"scroll\":r.alt(e,t,[\"up\"])}},/=/,/\\s/),r.has(\"id\")){var t=new(n.vttjs.VTTRegion||n.window.VTTRegion);t.width=r.get(\"width\",100),t.lines=r.get(\"lines\",3),t.regionAnchorX=r.get(\"regionanchorX\",0),t.regionAnchorY=r.get(\"regionanchorY\",100),t.viewportAnchorX=r.get(\"viewportanchorX\",0),t.viewportAnchorY=r.get(\"viewportanchorY\",100),t.scroll=r.get(\"scroll\",\"\"),n.onregion&&n.onregion(t),n.regionList.push({id:r.get(\"id\"),region:t})}}(t)}},/:/)}e&&(n.buffer+=n.decoder.decode(e,{stream:!0}));try{var r;if(\"INITIAL\"===n.state){if(!/\\r\\n|\\n/.test(n.buffer))return this;var s=(r=t()).match(/^WEBVTT([ \\t].*)?$/);if(!s||!s[0])throw new fi(fi.Errors.BadSignature);n.state=\"HEADER\"}for(var a=!1;n.buffer;){if(!/\\r\\n|\\n/.test(n.buffer))return this;switch(a?a=!1:r=t(),n.state){case\"HEADER\":/:/.test(r)?i(r):r||(n.state=\"ID\");continue;case\"NOTE\":r||(n.state=\"ID\");continue;case\"ID\":if(/^NOTE($|[ \\t])/.test(r)){n.state=\"NOTE\";break}if(!r)continue;n.cue=new(n.vttjs.VTTCue||n.window.VTTCue)(0,0,\"\");try{n.cue.align=\"center\"}catch(e){n.cue.align=\"middle\"}if(n.state=\"CUE\",-1===r.indexOf(\"--\\x3e\")){n.cue.id=r;continue}case\"CUE\":try{yi(r,n.cue,n.regionList)}catch(e){n.reportOrThrowError(e),n.cue=null,n.state=\"BADCUE\";continue}n.state=\"CUETEXT\";continue;case\"CUETEXT\":var o=-1!==r.indexOf(\"--\\x3e\");if(!r||o&&(a=!0)){n.oncue&&n.oncue(n.cue),n.cue=null,n.state=\"ID\";continue}n.cue.text&&(n.cue.text+=\"\\n\"),n.cue.text+=r.replace(/\\u2028/g,\"\\n\").replace(/u2029/g,\"\\n\");continue;case\"BADCUE\":r||(n.state=\"ID\");continue}}}catch(e){n.reportOrThrowError(e),\"CUETEXT\"===n.state&&n.cue&&n.oncue&&n.oncue(n.cue),n.cue=null,n.state=\"INITIAL\"===n.state?\"BADWEBVTT\":\"BADCUE\"}return this},flush:function(){var t=this;try{if(t.buffer+=t.decoder.decode(),!t.cue&&\"HEADER\"!==t.state||(t.buffer+=\"\\n\\n\",t.parse()),\"INITIAL\"===t.state)throw new fi(fi.Errors.BadSignature)}catch(e){t.reportOrThrowError(e)}return t.onflush&&t.onflush(),this}};var Oi=Li,Di={\"\":1,lr:1,rl:1},Ni={start:1,center:1,end:1,left:1,right:1,auto:1,\"line-left\":1,\"line-right\":1};function Ri(e){return\"string\"==typeof e&&(!!Ni[e.toLowerCase()]&&e.toLowerCase())}function Ui(e,t,i){this.hasBeenReset=!1;var n=\"\",r=!1,s=e,a=t,o=i,u=null,l=\"\",c=!0,h=\"auto\",d=\"start\",p=\"auto\",f=\"auto\",m=100,g=\"center\";Object.defineProperties(this,{id:{enumerable:!0,get:function(){return n},set:function(e){n=\"\"+e}},pauseOnExit:{enumerable:!0,get:function(){return r},set:function(e){r=!!e}},startTime:{enumerable:!0,get:function(){return s},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"Start time must be set to a number.\");s=e,this.hasBeenReset=!0}},endTime:{enumerable:!0,get:function(){return a},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"End time must be set to a number.\");a=e,this.hasBeenReset=!0}},text:{enumerable:!0,get:function(){return o},set:function(e){o=\"\"+e,this.hasBeenReset=!0}},region:{enumerable:!0,get:function(){return u},set:function(e){u=e,this.hasBeenReset=!0}},vertical:{enumerable:!0,get:function(){return l},set:function(e){var t=function(e){return\"string\"==typeof e&&(!!Di[e.toLowerCase()]&&e.toLowerCase())}(e);if(!1===t)throw new SyntaxError(\"Vertical: an invalid or illegal direction string was specified.\");l=t,this.hasBeenReset=!0}},snapToLines:{enumerable:!0,get:function(){return c},set:function(e){c=!!e,this.hasBeenReset=!0}},line:{enumerable:!0,get:function(){return h},set:function(e){if(\"number\"!=typeof e&&\"auto\"!==e)throw new SyntaxError(\"Line: an invalid number or illegal string was specified.\");h=e,this.hasBeenReset=!0}},lineAlign:{enumerable:!0,get:function(){return d},set:function(e){var t=Ri(e);t&&(d=t,this.hasBeenReset=!0)}},position:{enumerable:!0,get:function(){return p},set:function(e){if(e<0||100<e)throw new Error(\"Position must be between 0 and 100.\");p=e,this.hasBeenReset=!0}},positionAlign:{enumerable:!0,get:function(){return f},set:function(e){var t=Ri(e);t&&(f=t,this.hasBeenReset=!0)}},size:{enumerable:!0,get:function(){return m},set:function(e){if(e<0||100<e)throw new Error(\"Size must be between 0 and 100.\");m=e,this.hasBeenReset=!0}},align:{enumerable:!0,get:function(){return g},set:function(e){var t=Ri(e);if(!t)throw new SyntaxError(\"align: an invalid or illegal alignment string was specified.\");g=t,this.hasBeenReset=!0}}}),this.displayState=void 0}Ui.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text)};var Mi=Ui,Bi={\"\":!0,up:!0};function ji(e){return\"number\"==typeof e&&0<=e&&e<=100}function Fi(){var t=100,i=3,n=0,r=100,s=0,a=100,o=\"\";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return t},set:function(e){if(!ji(e))throw new Error(\"Width must be between 0 and 100.\");t=e}},lines:{enumerable:!0,get:function(){return i},set:function(e){if(\"number\"!=typeof e)throw new TypeError(\"Lines must be set to a number.\");i=e}},regionAnchorY:{enumerable:!0,get:function(){return r},set:function(e){if(!ji(e))throw new Error(\"RegionAnchorX must be between 0 and 100.\");r=e}},regionAnchorX:{enumerable:!0,get:function(){return n},set:function(e){if(!ji(e))throw new Error(\"RegionAnchorY must be between 0 and 100.\");n=e}},viewportAnchorY:{enumerable:!0,get:function(){return a},set:function(e){if(!ji(e))throw new Error(\"ViewportAnchorY must be between 0 and 100.\");a=e}},viewportAnchorX:{enumerable:!0,get:function(){return s},set:function(e){if(!ji(e))throw new Error(\"ViewportAnchorX must be between 0 and 100.\");s=e}},scroll:{enumerable:!0,get:function(){return o},set:function(e){var t=function(e){return\"string\"==typeof e&&(!!Bi[e.toLowerCase()]&&e.toLowerCase())}(e);!1===t||(o=t)}}})}var Hi=t(function(e){var t=e.exports={WebVTT:Oi,VTTCue:Mi,VTTRegion:Fi};y.vttjs=t,y.WebVTT=t.WebVTT;var i=t.VTTCue,n=t.VTTRegion,r=y.VTTCue,s=y.VTTRegion;t.shim=function(){y.VTTCue=i,y.VTTRegion=n},t.restore=function(){y.VTTCue=r,y.VTTRegion=s},y.VTTCue||t.shim()});Hi.WebVTT,Hi.VTTCue,Hi.VTTRegion;var Vi=function(t){function i(i,e){var n;return void 0===i&&(i={}),void 0===e&&(e=function(){}),i.reportTouchActivity=!1,(n=t.call(this,null,i,e)||this).hasStarted_=!1,n.on(\"playing\",function(){this.hasStarted_=!0}),n.on(\"loadstart\",function(){this.hasStarted_=!1}),hi.names.forEach(function(e){var t=hi[e];i&&i[t.getterName]&&(n[t.privateName]=i[t.getterName])}),n.featuresProgressEvents||n.manualProgressOn(),n.featuresTimeupdateEvents||n.manualTimeUpdatesOn(),[\"Text\",\"Audio\",\"Video\"].forEach(function(e){!1===i[\"native\"+e+\"Tracks\"]&&(n[\"featuresNative\"+e+\"Tracks\"]=!1)}),!1===i.nativeCaptions||!1===i.nativeTextTracks?n.featuresNativeTextTracks=!1:!0!==i.nativeCaptions&&!0!==i.nativeTextTracks||(n.featuresNativeTextTracks=!0),n.featuresNativeTextTracks||n.emulateTextTracks(),n.preloadTextTracks=!1!==i.preloadTextTracks,n.autoRemoteTextTracks_=new hi.text.ListClass,n.initTrackListeners(),i.nativeControlsForTouch||n.emitTapEvents(),n.constructor&&(n.name_=n.constructor.name||\"Unknown Tech\"),n}He(i,t);var e=i.prototype;return e.triggerSourceset=function(e){var t=this;this.isReady_||this.one(\"ready\",function(){return t.setTimeout(function(){return t.triggerSourceset(e)},1)}),this.trigger({src:e,type:\"sourceset\"})},e.manualProgressOn=function(){this.on(\"durationchange\",this.onDurationChange),this.manualProgress=!0,this.one(\"ready\",this.trackProgress)},e.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off(\"durationchange\",this.onDurationChange)},e.trackProgress=function(e){this.stopTrackingProgress(),this.progressInterval=this.setInterval(ge(this,function(){var e=this.bufferedPercent();this.bufferedPercent_!==e&&this.trigger(\"progress\"),1===(this.bufferedPercent_=e)&&this.stopTrackingProgress()}),500)},e.onDurationChange=function(e){this.duration_=this.duration()},e.buffered=function(){return ht(0,0)},e.bufferedPercent=function(){return dt(this.buffered(),this.duration_)},e.stopTrackingProgress=function(){this.clearInterval(this.progressInterval)},e.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on(\"play\",this.trackCurrentTime),this.on(\"pause\",this.stopTrackingCurrentTime)},e.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off(\"play\",this.trackCurrentTime),this.off(\"pause\",this.stopTrackingCurrentTime)},e.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},250)},e.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},e.dispose=function(){this.clearTracks(li.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),t.prototype.dispose.call(this)},e.clearTracks=function(e){var r=this;(e=[].concat(e)).forEach(function(e){for(var t=r[e+\"Tracks\"]()||[],i=t.length;i--;){var n=t[i];\"text\"===e&&r.removeRemoteTextTrack(n),t.removeTrack(n)}})},e.cleanupAutoTextTracks=function(){for(var e=this.autoRemoteTextTracks_||[],t=e.length;t--;){var i=e[t];this.removeRemoteTextTrack(i)}},e.reset=function(){},e.error=function(e){return void 0!==e&&(this.error_=new _t(e),this.trigger(\"error\")),this.error_},e.played=function(){return this.hasStarted_?ht(0,0):ht()},e.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0})},e.initTrackListeners=function(){var r=this;li.names.forEach(function(e){function t(){r.trigger(e+\"trackchange\")}var i=li[e],n=r[i.getterName]();n.addEventListener(\"removetrack\",t),n.addEventListener(\"addtrack\",t),r.on(\"dispose\",function(){n.removeEventListener(\"removetrack\",t),n.removeEventListener(\"addtrack\",t)})})},e.addWebVttScript_=function(){var e=this;if(!y.WebVTT)if(h.body.contains(this.el())){if(!this.options_[\"vtt.js\"]&&u(Hi)&&0<Object.keys(Hi).length)return void this.trigger(\"vttjsloaded\");var t=h.createElement(\"script\");t.src=this.options_[\"vtt.js\"]||\"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js\",t.onload=function(){e.trigger(\"vttjsloaded\")},t.onerror=function(){e.trigger(\"vttjserror\")},this.on(\"dispose\",function(){t.onload=null,t.onerror=null}),y.WebVTT=!0,this.el().parentNode.appendChild(t)}else this.ready(this.addWebVttScript_)},e.emulateTextTracks=function(){function t(e){return n.addTrack(e.track)}function i(e){return n.removeTrack(e.track)}var e=this,n=this.textTracks(),r=this.remoteTextTracks();r.on(\"addtrack\",t),r.on(\"removetrack\",i),this.addWebVttScript_();function s(){return e.trigger(\"texttrackchange\")}function a(){s();for(var e=0;e<n.length;e++){var t=n[e];t.removeEventListener(\"cuechange\",s),\"showing\"===t.mode&&t.addEventListener(\"cuechange\",s)}}a(),n.addEventListener(\"change\",a),n.addEventListener(\"addtrack\",a),n.addEventListener(\"removetrack\",a),this.on(\"dispose\",function(){r.off(\"addtrack\",t),r.off(\"removetrack\",i),n.removeEventListener(\"change\",a),n.removeEventListener(\"addtrack\",a),n.removeEventListener(\"removetrack\",a);for(var e=0;e<n.length;e++){n[e].removeEventListener(\"cuechange\",s)}})},e.addTextTrack=function(e,t,i){if(!e)throw new Error(\"TextTrack kind is required but was not provided\");return function(e,t,i,n,r){void 0===r&&(r={});var s=e.textTracks();r.kind=t,i&&(r.label=i),n&&(r.language=n),r.tech=e;var a=new hi.text.TrackClass(r);return s.addTrack(a),a}(this,e,t,i)},e.createRemoteTextTrack=function(e){var t=Ne(e,{tech:this});return new ci.remoteTextEl.TrackClass(t)},e.addRemoteTextTrack=function(e,t){var i=this;void 0===e&&(e={});var n=this.createRemoteTextTrack(e);return!0!==t&&!1!==t&&(p.warn('Calling addRemoteTextTrack without explicitly setting the \"manualCleanup\" parameter to `true` is deprecated and default to `false` in future version of video.js'),t=!0),this.remoteTextTrackEls().addTrackElement_(n),this.remoteTextTracks().addTrack(n.track),!0!==t&&this.ready(function(){return i.autoRemoteTextTracks_.addTrack(n.track)}),n},e.removeRemoteTextTrack=function(e){var t=this.remoteTextTrackEls().getTrackElementByTrack_(e);this.remoteTextTrackEls().removeTrackElement_(t),this.remoteTextTracks().removeTrack(e),this.autoRemoteTextTracks_.removeTrack(e)},e.getVideoPlaybackQuality=function(){return{}},e.requestPictureInPicture=function(){var e=this.options_.Promise||y.Promise;if(e)return e.reject()},e.setPoster=function(){},e.playsinline=function(){},e.setPlaysinline=function(){},e.overrideNativeAudioTracks=function(){},e.overrideNativeVideoTracks=function(){},e.canPlayType=function(){return\"\"},i.canPlayType=function(){return\"\"},i.canPlaySource=function(e,t){return i.canPlayType(e.type)},i.isTech=function(e){return e.prototype instanceof i||e instanceof i||e===i},i.registerTech=function(e,t){if(i.techs_||(i.techs_={}),!i.isTech(t))throw new Error(\"Tech \"+e+\" must be a Tech\");if(!i.canPlayType)throw new Error(\"Techs must have a static canPlayType method on them\");if(!i.canPlaySource)throw new Error(\"Techs must have a static canPlaySource method on them\");return e=De(e),i.techs_[e]=t,i.techs_[Oe(e)]=t,\"Tech\"!==e&&i.defaultTechOrder_.push(e),t},i.getTech=function(e){if(e)return i.techs_&&i.techs_[e]?i.techs_[e]:(e=De(e),y&&y.videojs&&y.videojs[e]?(p.warn(\"The \"+e+\" tech was added to the videojs object when it should be registered using videojs.registerTech(name, tech)\"),y.videojs[e]):void 0)},i}(Re);hi.names.forEach(function(e){var t=hi[e];Vi.prototype[t.getterName]=function(){return this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName]}}),Vi.prototype.featuresVolumeControl=!0,Vi.prototype.featuresMuteControl=!0,Vi.prototype.featuresFullscreenResize=!1,Vi.prototype.featuresPlaybackRate=!1,Vi.prototype.featuresProgressEvents=!1,Vi.prototype.featuresSourceset=!1,Vi.prototype.featuresTimeupdateEvents=!1,Vi.prototype.featuresNativeTextTracks=!1,Vi.withSourceHandlers=function(r){r.registerSourceHandler=function(e,t){var i=r.sourceHandlers;i=i||(r.sourceHandlers=[]),void 0===t&&(t=i.length),i.splice(t,0,e)},r.canPlayType=function(e){for(var t,i=r.sourceHandlers||[],n=0;n<i.length;n++)if(t=i[n].canPlayType(e))return t;return\"\"},r.selectSourceHandler=function(e,t){for(var i=r.sourceHandlers||[],n=0;n<i.length;n++)if(i[n].canHandleSource(e,t))return i[n];return null},r.canPlaySource=function(e,t){var i=r.selectSourceHandler(e,t);return i?i.canHandleSource(e,t):\"\"};[\"seekable\",\"seeking\",\"duration\"].forEach(function(e){var t=this[e];\"function\"==typeof t&&(this[e]=function(){return this.sourceHandler_&&this.sourceHandler_[e]?this.sourceHandler_[e].apply(this.sourceHandler_,arguments):t.apply(this,arguments)})},r.prototype),r.prototype.setSource=function(e){var t=r.selectSourceHandler(e,this.options_);t||(r.nativeSourceHandler?t=r.nativeSourceHandler:p.error(\"No source handler found for the current source.\")),this.disposeSourceHandler(),this.off(\"dispose\",this.disposeSourceHandler),t!==r.nativeSourceHandler&&(this.currentSource_=e),this.sourceHandler_=t.handleSource(e,this,this.options_),this.one(\"dispose\",this.disposeSourceHandler)},r.prototype.disposeSourceHandler=function(){this.currentSource_&&(this.clearTracks([\"audio\",\"video\"]),this.currentSource_=null),this.cleanupAutoTextTracks(),this.sourceHandler_&&(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),this.sourceHandler_=null)}},Re.registerComponent(\"Tech\",Vi),Vi.registerTech(\"Tech\",Vi),Vi.defaultTechOrder_=[];var qi={},Wi={},zi={};function Gi(e,t,i){e.setTimeout(function(){return function i(n,e,r,s,a,o){void 0===n&&(n={});void 0===e&&(e=[]);void 0===a&&(a=[]);void 0===o&&(o=!1);var t=e,u=t[0],l=t.slice(1);if(\"string\"==typeof u)i(n,qi[u],r,s,a,o);else if(u){var c=Ji(s,u);if(!c.setSource)return a.push(c),i(n,l,r,s,a,o);c.setSource(m({},n),function(e,t){if(e)return i(n,l,r,s,a,o);a.push(c),i(t,n.type===t.type?l:qi[t.type],r,s,a,o)})}else l.length?i(n,l,r,s,a,o):o?r(n,a):i(n,qi[\"*\"],r,s,a,!0)}(t,qi[t.type],i,e)},1)}function Xi(e,t,i,n){void 0===n&&(n=null);var r=\"call\"+De(i),s=e.reduce(Qi(r),n),a=s===zi,o=a?null:t[i](s);return function(e,t,i,n){for(var r=e.length-1;0<=r;r--){var s=e[r];s[t]&&s[t](n,i)}}(e,i,o,a),o}var Ki={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1},Yi={setCurrentTime:1,setMuted:1,setVolume:1},$i={play:1,pause:1};function Qi(i){return function(e,t){return e===zi?zi:t[i]?t[i](e):e}}function Ji(e,t){var i=Wi[e.id()],n=null;if(null==i)return n=t(e),Wi[e.id()]=[[t,n]],n;for(var r=0;r<i.length;r++){var s=i[r],a=s[0],o=s[1];a===t&&(n=o)}return null===n&&(n=t(e),i.push([t,n])),n}function Zi(e){void 0===e&&(e=\"\");var t=Ut(e);return en[t.toLowerCase()]||\"\"}var en={opus:\"video/ogg\",ogv:\"video/ogg\",mp4:\"video/mp4\",mov:\"video/mp4\",m4v:\"video/mp4\",mkv:\"video/x-matroska\",m4a:\"audio/mp4\",mp3:\"audio/mpeg\",aac:\"audio/aac\",oga:\"audio/ogg\",m3u8:\"application/x-mpegURL\",jpg:\"image/jpeg\",jpeg:\"image/jpeg\",gif:\"image/gif\",png:\"image/png\",svg:\"image/svg+xml\",webp:\"image/webp\"};function tn(e){if(!e.type){var t=Zi(e.src);t&&(e.type=t)}return e}var nn=function(l){function e(e,t,i){var n,r=Ne({createEl:!1},t);if(n=l.call(this,e,r,i)||this,t.playerOptions.sources&&0!==t.playerOptions.sources.length)e.src(t.playerOptions.sources);else for(var s=0,a=t.playerOptions.techOrder;s<a.length;s++){var o=De(a[s]),u=Vi.getTech(o);if(o||(u=Re.getComponent(o)),u&&u.isSupported()){e.loadTech_(o);break}}return n}return He(e,l),e}(Re);Re.registerComponent(\"MediaLoader\",nn);var rn=function(r){function e(e,t){var i;return(i=r.call(this,e,t)||this).emitTapEvents(),i.enable(),i}He(e,r);var t=e.prototype;return t.createEl=function(e,t,i){void 0===e&&(e=\"div\"),void 0===t&&(t={}),void 0===i&&(i={}),t=m({innerHTML:'<span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>',className:this.buildCSSClass(),tabIndex:0},t),\"button\"===e&&p.error(\"Creating a ClickableComponent with an HTML element of \"+e+\" is not supported; use a Button instead.\"),i=m({role:\"button\"},i),this.tabIndex_=t.tabIndex;var n=r.prototype.createEl.call(this,e,t,i);return this.createControlTextEl(n),n},t.dispose=function(){this.controlTextEl_=null,r.prototype.dispose.call(this)},t.createControlTextEl=function(e){return this.controlTextEl_=S(\"span\",{className:\"vjs-control-text\"},{\"aria-live\":\"polite\"}),e&&e.appendChild(this.controlTextEl_),this.controlText(this.controlText_,e),this.controlTextEl_},t.controlText=function(e,t){if(void 0===t&&(t=this.el()),void 0===e)return this.controlText_||\"Need Text\";var i=this.localize(e);this.controlText_=e,k(this.controlTextEl_,i),this.nonIconControl||t.setAttribute(\"title\",i)},t.buildCSSClass=function(){return\"vjs-control vjs-button \"+r.prototype.buildCSSClass.call(this)},t.enable=function(){this.enabled_||(this.enabled_=!0,this.removeClass(\"vjs-disabled\"),this.el_.setAttribute(\"aria-disabled\",\"false\"),\"undefined\"!=typeof this.tabIndex_&&this.el_.setAttribute(\"tabIndex\",this.tabIndex_),this.on([\"tap\",\"click\"],this.handleClick),this.on(\"keydown\",this.handleKeyDown))},t.disable=function(){this.enabled_=!1,this.addClass(\"vjs-disabled\"),this.el_.setAttribute(\"aria-disabled\",\"true\"),\"undefined\"!=typeof this.tabIndex_&&this.el_.removeAttribute(\"tabIndex\"),this.off(\"mouseover\",this.handleMouseOver),this.off(\"mouseout\",this.handleMouseOut),this.off([\"tap\",\"click\"],this.handleClick),this.off(\"keydown\",this.handleKeyDown)},t.handleClick=function(e){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments)},t.handleKeyDown=function(e){xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\")?(e.preventDefault(),e.stopPropagation(),this.trigger(\"click\")):r.prototype.handleKeyDown.call(this,e)},e}(Re);Re.registerComponent(\"ClickableComponent\",rn);var sn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update(),e.on(\"posterchange\",ge(Ue(i),i.update)),i}He(e,n);var t=e.prototype;return t.dispose=function(){this.player().off(\"posterchange\",this.update),n.prototype.dispose.call(this)},t.createEl=function(){return S(\"div\",{className:\"vjs-poster\",tabIndex:-1})},t.update=function(e){var t=this.player().poster();this.setSrc(t),t?this.show():this.hide()},t.setSrc=function(e){var t=\"\";e&&(t='url(\"'+e+'\")'),this.el_.style.backgroundImage=t},t.handleClick=function(e){if(this.player_.controls()){var t=this.player_.usingPlugin(\"eme\")&&this.player_.eme.sessions&&0<this.player_.eme.sessions.length;!this.player_.tech(!0)||(et||Qe)&&t||this.player_.tech(!0).focus(),this.player_.paused()?kt(this.player_.play()):this.player_.pause()}},e}(rn);Re.registerComponent(\"PosterImage\",sn);var an=\"#222\",on={monospace:\"monospace\",sansSerif:\"sans-serif\",serif:\"serif\",monospaceSansSerif:'\"Andale Mono\", \"Lucida Console\", monospace',monospaceSerif:'\"Courier New\", monospace',proportionalSansSerif:\"sans-serif\",proportionalSerif:\"serif\",casual:'\"Comic Sans MS\", Impact, fantasy',script:'\"Monotype Corsiva\", cursive',smallcaps:'\"Andale Mono\", \"Lucida Console\", monospace, sans-serif'};function un(e,t){var i;if(4===e.length)i=e[1]+e[1]+e[2]+e[2]+e[3]+e[3];else{if(7!==e.length)throw new Error(\"Invalid color code provided, \"+e+\"; must be formatted as e.g. #f0e or #f604e2.\");i=e.slice(1)}return\"rgba(\"+parseInt(i.slice(0,2),16)+\",\"+parseInt(i.slice(2,4),16)+\",\"+parseInt(i.slice(4,6),16)+\",\"+t+\")\"}function ln(e,t,i){try{e.style[t]=i}catch(e){return}}var cn=function(s){function e(i,e,t){var n;n=s.call(this,i,e,t)||this;var r=ge(Ue(n),n.updateDisplay);return i.on(\"loadstart\",ge(Ue(n),n.toggleDisplay)),i.on(\"texttrackchange\",r),i.on(\"loadedmetadata\",ge(Ue(n),n.preselectTrack)),i.ready(ge(Ue(n),function(){if(i.tech_&&i.tech_.featuresNativeTextTracks)this.hide();else{i.on(\"fullscreenchange\",r),i.on(\"playerresize\",r),y.addEventListener(\"orientationchange\",r),i.on(\"dispose\",function(){return y.removeEventListener(\"orientationchange\",r)});for(var e=this.options_.playerOptions.tracks||[],t=0;t<e.length;t++)this.player_.addRemoteTextTrack(e[t],!0);this.preselectTrack()}})),n}He(e,s);var t=e.prototype;return t.preselectTrack=function(){for(var e,t,i,n={captions:1,subtitles:1},r=this.player_.textTracks(),s=this.player_.cache_.selectedLanguage,a=0;a<r.length;a++){var o=r[a];s&&s.enabled&&s.language&&s.language===o.language&&o.kind in n?i=o.kind===s.kind?o:i||o:s&&!s.enabled?t=e=i=null:o.default&&(\"descriptions\"!==o.kind||e?o.kind in n&&!t&&(t=o):e=o)}i?i.mode=\"showing\":t?t.mode=\"showing\":e&&(e.mode=\"showing\")},t.toggleDisplay=function(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show()},t.createEl=function(){return s.prototype.createEl.call(this,\"div\",{className:\"vjs-text-track-display\"},{\"aria-live\":\"off\",\"aria-atomic\":\"true\"})},t.clearDisplay=function(){\"function\"==typeof y.WebVTT&&y.WebVTT.processCues(y,[],this.el_)},t.updateDisplay=function(){var e=this.player_.textTracks(),t=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),t){for(var i=[],n=0;n<e.length;++n){var r=e[n];\"showing\"===r.mode&&i.push(r)}this.updateForTrack(i)}else{for(var s=null,a=null,o=e.length;o--;){var u=e[o];\"showing\"===u.mode&&(\"descriptions\"===u.kind?s=u:a=u)}a?(\"off\"!==this.getAttribute(\"aria-live\")&&this.setAttribute(\"aria-live\",\"off\"),this.updateForTrack(a)):s&&(\"assertive\"!==this.getAttribute(\"aria-live\")&&this.setAttribute(\"aria-live\",\"assertive\"),this.updateForTrack(s))}},t.updateDisplayState=function(e){for(var t=this.player_.textTrackSettings.getValues(),i=e.activeCues,n=i.length;n--;){var r=i[n];if(r){var s=r.displayState;if(t.color&&(s.firstChild.style.color=t.color),t.textOpacity&&ln(s.firstChild,\"color\",un(t.color||\"#fff\",t.textOpacity)),t.backgroundColor&&(s.firstChild.style.backgroundColor=t.backgroundColor),t.backgroundOpacity&&ln(s.firstChild,\"backgroundColor\",un(t.backgroundColor||\"#000\",t.backgroundOpacity)),t.windowColor&&(t.windowOpacity?ln(s,\"backgroundColor\",un(t.windowColor,t.windowOpacity)):s.style.backgroundColor=t.windowColor),t.edgeStyle&&(\"dropshadow\"===t.edgeStyle?s.firstChild.style.textShadow=\"2px 2px 3px #222, 2px 2px 4px #222, 2px 2px 5px \"+an:\"raised\"===t.edgeStyle?s.firstChild.style.textShadow=\"1px 1px #222, 2px 2px #222, 3px 3px \"+an:\"depressed\"===t.edgeStyle?s.firstChild.style.textShadow=\"1px 1px #ccc, 0 1px #ccc, -1px -1px #222, 0 -1px \"+an:\"uniform\"===t.edgeStyle&&(s.firstChild.style.textShadow=\"0 0 4px #222, 0 0 4px #222, 0 0 4px #222, 0 0 4px \"+an)),t.fontPercent&&1!==t.fontPercent){var a=y.parseFloat(s.style.fontSize);s.style.fontSize=a*t.fontPercent+\"px\",s.style.height=\"auto\",s.style.top=\"auto\",s.style.bottom=\"2px\"}t.fontFamily&&\"default\"!==t.fontFamily&&(\"small-caps\"===t.fontFamily?s.firstChild.style.fontVariant=\"small-caps\":s.firstChild.style.fontFamily=on[t.fontFamily])}}},t.updateForTrack=function(e){if(Array.isArray(e)||(e=[e]),\"function\"==typeof y.WebVTT&&!e.every(function(e){return!e.activeCues})){for(var t=[],i=0;i<e.length;++i)for(var n=e[i],r=0;r<n.activeCues.length;++r)t.push(n.activeCues[r]);y.WebVTT.processCues(y,t,this.el_);for(var s=0;s<e.length;++s){for(var a=e[s],o=0;o<a.activeCues.length;++o){var u=a.activeCues[o].displayState;E(u,\"vjs-text-track-cue\"),E(u,\"vjs-text-track-cue-\"+(a.language?a.language:s))}this.player_.textTrackSettings&&this.updateDisplayState(a)}}},e}(Re);Re.registerComponent(\"TextTrackDisplay\",cn);var hn=function(r){function e(){return r.apply(this,arguments)||this}return He(e,r),e.prototype.createEl=function(){var e=this.player_.isAudio(),t=this.localize(e?\"Audio Player\":\"Video Player\"),i=S(\"span\",{className:\"vjs-control-text\",innerHTML:this.localize(\"{1} is loading.\",[t])}),n=r.prototype.createEl.call(this,\"div\",{className:\"vjs-loading-spinner\",dir:\"ltr\"});return n.appendChild(i),n},e}(Re);Re.registerComponent(\"LoadingSpinner\",hn);var dn=function(t){function e(){return t.apply(this,arguments)||this}He(e,t);var i=e.prototype;return i.createEl=function(e,t,i){void 0===t&&(t={}),void 0===i&&(i={}),t=m({innerHTML:'<span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>',className:this.buildCSSClass()},t),i=m({type:\"button\"},i);var n=Re.prototype.createEl.call(this,\"button\",t,i);return this.createControlTextEl(n),n},i.addChild=function(e,t){void 0===t&&(t={});var i=this.constructor.name;return p.warn(\"Adding an actionable (user controllable) child to a Button (\"+i+\") is not supported; use a ClickableComponent instead.\"),Re.prototype.addChild.call(this,e,t)},i.enable=function(){t.prototype.enable.call(this),this.el_.removeAttribute(\"disabled\")},i.disable=function(){t.prototype.disable.call(this),this.el_.setAttribute(\"disabled\",\"disabled\")},i.handleKeyDown=function(e){xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\")?e.stopPropagation():t.prototype.handleKeyDown.call(this,e)},e}(rn);Re.registerComponent(\"Button\",dn);var pn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).mouseused_=!1,i.on(\"mousedown\",i.handleMouseDown),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-big-play-button\"},t.handleClick=function(e){var t=this.player_.play();if(this.mouseused_&&e.clientX&&e.clientY){var i=this.player_.usingPlugin(\"eme\")&&this.player_.eme.sessions&&0<this.player_.eme.sessions.length;return kt(t),void(!this.player_.tech(!0)||(et||Qe)&&i||this.player_.tech(!0).focus())}var n=this.player_.getChild(\"controlBar\"),r=n&&n.getChild(\"playToggle\");if(r){var s=function(){return r.focus()};St(t)?t.then(s,function(){}):this.setTimeout(s,1)}else this.player_.tech(!0).focus()},t.handleKeyDown=function(e){this.mouseused_=!1,n.prototype.handleKeyDown.call(this,e)},t.handleMouseDown=function(e){this.mouseused_=!0},e}(dn);pn.prototype.controlText_=\"Play Video\",Re.registerComponent(\"BigPlayButton\",pn);var fn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).controlText(t&&t.controlText||i.localize(\"Close\")),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-close-button \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){this.trigger({type:\"close\",bubbles:!1})},t.handleKeyDown=function(e){xt.isEventKey(e,\"Esc\")?(e.preventDefault(),e.stopPropagation(),this.trigger(\"click\")):n.prototype.handleKeyDown.call(this,e)},e}(dn);Re.registerComponent(\"CloseButton\",fn);var mn=function(n){function e(e,t){var i;return void 0===t&&(t={}),i=n.call(this,e,t)||this,t.replay=void 0===t.replay||t.replay,i.on(e,\"play\",i.handlePlay),i.on(e,\"pause\",i.handlePause),t.replay&&i.on(e,\"ended\",i.handleEnded),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-play-control \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},t.handleSeeked=function(e){this.removeClass(\"vjs-ended\"),this.player_.paused()?this.handlePause(e):this.handlePlay(e)},t.handlePlay=function(e){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-paused\"),this.addClass(\"vjs-playing\"),this.controlText(\"Pause\")},t.handlePause=function(e){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-paused\"),this.controlText(\"Play\")},t.handleEnded=function(e){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-ended\"),this.controlText(\"Replay\"),this.one(this.player_,\"seeked\",this.handleSeeked)},e}(dn);mn.prototype.controlText_=\"Play\",Re.registerComponent(\"PlayToggle\",mn);function gn(e,t){e=e<0?0:e;var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),s=Math.floor(t/60%60),a=Math.floor(t/3600);return!isNaN(e)&&e!==1/0||(r=n=i=\"-\"),(r=0<r||0<a?r+\":\":\"\")+(n=((r||10<=s)&&n<10?\"0\"+n:n)+\":\")+(i=i<10?\"0\"+i:i)}var vn=gn;function yn(e,t){return void 0===t&&(t=e),vn(e,t)}var _n=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,[\"timeupdate\",\"ended\"],i.updateContent),i.updateTextNode_(),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=this.buildCSSClass(),t=n.prototype.createEl.call(this,\"div\",{className:e+\" vjs-time-control vjs-control\",innerHTML:'<span class=\"vjs-control-text\" role=\"presentation\">'+this.localize(this.labelText_)+\" </span>\"});return this.contentEl_=S(\"span\",{className:e+\"-display\"},{\"aria-live\":\"off\",role:\"presentation\"}),t.appendChild(this.contentEl_),t},t.dispose=function(){this.contentEl_=null,this.textNode_=null,n.prototype.dispose.call(this)},t.updateTextNode_=function(e){var t=this;void 0===e&&(e=0),e=yn(e),this.formattedTime_!==e&&(this.formattedTime_=e,this.requestAnimationFrame(function(){if(t.contentEl_){var e=t.textNode_;t.textNode_=h.createTextNode(t.formattedTime_),t.textNode_&&(e?t.contentEl_.replaceChild(t.textNode_,e):t.contentEl_.appendChild(t.textNode_))}}))},t.updateContent=function(e){},e}(Re);_n.prototype.labelText_=\"Time\",_n.prototype.controlText_=\"Time\",Re.registerComponent(\"TimeDisplay\",_n);var bn=function(e){function t(){return e.apply(this,arguments)||this}He(t,e);var i=t.prototype;return i.buildCSSClass=function(){return\"vjs-current-time\"},i.updateContent=function(e){var t;t=this.player_.ended()?this.player_.duration():this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(t)},t}(_n);bn.prototype.labelText_=\"Current Time\",bn.prototype.controlText_=\"Current Time\",Re.registerComponent(\"CurrentTimeDisplay\",bn);var Tn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"durationchange\",i.updateContent),i.on(e,\"loadstart\",i.updateContent),i.on(e,\"loadedmetadata\",i.updateContent),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-duration\"},t.updateContent=function(e){var t=this.player_.duration();this.updateTextNode_(t)},e}(_n);Tn.prototype.labelText_=\"Duration\",Tn.prototype.controlText_=\"Duration\",Re.registerComponent(\"DurationDisplay\",Tn);var Sn=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-time-control vjs-time-divider\",innerHTML:\"<div><span>/</span></div>\"},{\"aria-hidden\":!0})},t}(Re);Re.registerComponent(\"TimeDivider\",Sn);var kn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"durationchange\",i.updateContent),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-remaining-time\"},t.createEl=function(){var e=n.prototype.createEl.call(this);return e.insertBefore(S(\"span\",{},{\"aria-hidden\":!0},\"-\"),this.contentEl_),e},t.updateContent=function(e){var t;\"number\"==typeof this.player_.duration()&&(t=this.player_.ended()?0:this.player_.remainingTimeDisplay?this.player_.remainingTimeDisplay():this.player_.remainingTime(),this.updateTextNode_(t))},e}(_n);kn.prototype.labelText_=\"Remaining Time\",kn.prototype.controlText_=\"Remaining Time\",Re.registerComponent(\"RemainingTimeDisplay\",kn);var Cn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateShowing(),i.on(i.player(),\"durationchange\",i.updateShowing),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this,\"div\",{className:\"vjs-live-control vjs-control\"});return this.contentEl_=S(\"div\",{className:\"vjs-live-display\",innerHTML:'<span class=\"vjs-control-text\">'+this.localize(\"Stream Type\")+\" </span>\"+this.localize(\"LIVE\")},{\"aria-live\":\"off\"}),e.appendChild(this.contentEl_),e},t.dispose=function(){this.contentEl_=null,n.prototype.dispose.call(this)},t.updateShowing=function(e){this.player().duration()===1/0?this.show():this.hide()},e}(Re);Re.registerComponent(\"LiveDisplay\",Cn);var wn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateLiveEdgeStatus(),i.player_.liveTracker&&i.on(i.player_.liveTracker,\"liveedgechange\",i.updateLiveEdgeStatus),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this,\"button\",{className:\"vjs-seek-to-live-control vjs-control\"});return this.textEl_=S(\"span\",{className:\"vjs-seek-to-live-text\",innerHTML:this.localize(\"LIVE\")},{\"aria-hidden\":\"true\"}),e.appendChild(this.textEl_),e},t.updateLiveEdgeStatus=function(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute(\"aria-disabled\",!0),this.addClass(\"vjs-at-live-edge\"),this.controlText(\"Seek to live, currently playing live\")):(this.setAttribute(\"aria-disabled\",!1),this.removeClass(\"vjs-at-live-edge\"),this.controlText(\"Seek to live, currently behind live\"))},t.handleClick=function(){this.player_.liveTracker.seekToLiveEdge()},t.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,\"liveedgechange\",this.updateLiveEdgeStatus),this.textEl_=null,n.prototype.dispose.call(this)},e}(dn);wn.prototype.controlText_=\"Seek to live, currently playing live\",Re.registerComponent(\"SeekToLive\",wn);function En(e,t,i){return e=Number(e),Math.min(i,Math.max(t,isNaN(e)?t:e))}var xn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).bar=i.getChild(i.options_.barName),i.vertical(!!i.options_.vertical),i.enable(),i}He(e,n);var t=e.prototype;return t.enabled=function(){return this.enabled_},t.enable=function(){this.enabled()||(this.on(\"mousedown\",this.handleMouseDown),this.on(\"touchstart\",this.handleMouseDown),this.on(\"keydown\",this.handleKeyDown),this.on(\"click\",this.handleClick),this.on(this.player_,\"controlsvisible\",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass(\"disabled\"),this.setAttribute(\"tabindex\",0),this.enabled_=!0)},t.disable=function(){if(this.enabled()){var e=this.bar.el_.ownerDocument;this.off(\"mousedown\",this.handleMouseDown),this.off(\"touchstart\",this.handleMouseDown),this.off(\"keydown\",this.handleKeyDown),this.off(\"click\",this.handleClick),this.off(this.player_,\"controlsvisible\",this.update),this.off(e,\"mousemove\",this.handleMouseMove),this.off(e,\"mouseup\",this.handleMouseUp),this.off(e,\"touchmove\",this.handleMouseMove),this.off(e,\"touchend\",this.handleMouseUp),this.removeAttribute(\"tabindex\"),this.addClass(\"disabled\"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1}},t.createEl=function(e,t,i){return void 0===t&&(t={}),void 0===i&&(i={}),t.className=t.className+\" vjs-slider\",t=m({tabIndex:0},t),i=m({role:\"slider\",\"aria-valuenow\":0,\"aria-valuemin\":0,\"aria-valuemax\":100,tabIndex:0},i),n.prototype.createEl.call(this,e,t,i)},t.handleMouseDown=function(e){var t=this.bar.el_.ownerDocument;\"mousedown\"===e.type&&e.preventDefault(),\"touchstart\"!==e.type||Je||e.preventDefault(),N(),this.addClass(\"vjs-sliding\"),this.trigger(\"slideractive\"),this.on(t,\"mousemove\",this.handleMouseMove),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchmove\",this.handleMouseMove),this.on(t,\"touchend\",this.handleMouseUp),this.handleMouseMove(e)},t.handleMouseMove=function(e){},t.handleMouseUp=function(){var e=this.bar.el_.ownerDocument;R(),this.removeClass(\"vjs-sliding\"),this.trigger(\"sliderinactive\"),this.off(e,\"mousemove\",this.handleMouseMove),this.off(e,\"mouseup\",this.handleMouseUp),this.off(e,\"touchmove\",this.handleMouseMove),this.off(e,\"touchend\",this.handleMouseUp),this.update()},t.update=function(){var t=this;if(this.el_&&this.bar){var i=this.getProgress();return i===this.progress_||(this.progress_=i,this.requestAnimationFrame(function(){var e=t.vertical()?\"height\":\"width\";t.bar.el().style[e]=(100*i).toFixed(2)+\"%\"})),i}},t.getProgress=function(){return Number(En(this.getPercent(),0,1).toFixed(4))},t.calculateDistance=function(e){var t=B(this.el_,e);return this.vertical()?t.y:t.x},t.handleKeyDown=function(e){xt.isEventKey(e,\"Left\")||xt.isEventKey(e,\"Down\")?(e.preventDefault(),e.stopPropagation(),this.stepBack()):xt.isEventKey(e,\"Right\")||xt.isEventKey(e,\"Up\")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):n.prototype.handleKeyDown.call(this,e)},t.handleClick=function(e){e.stopPropagation(),e.preventDefault()},t.vertical=function(e){if(void 0===e)return this.vertical_||!1;this.vertical_=!!e,this.vertical_?this.addClass(\"vjs-slider-vertical\"):this.addClass(\"vjs-slider-horizontal\")},e}(Re);Re.registerComponent(\"Slider\",xn);function An(e,t){return En(e/t*100,0,100).toFixed(2)+\"%\"}var In=function(r){function e(e,t){var i;return(i=r.call(this,e,t)||this).partEls_=[],i.on(e,\"progress\",i.update),i}He(e,r);var t=e.prototype;return t.createEl=function(){var e=r.prototype.createEl.call(this,\"div\",{className:\"vjs-load-progress\"}),t=S(\"span\",{className:\"vjs-control-text\"}),i=S(\"span\",{textContent:this.localize(\"Loaded\")}),n=h.createTextNode(\": \");return this.percentageEl_=S(\"span\",{className:\"vjs-control-text-loaded-percentage\",textContent:\"0%\"}),e.appendChild(t),t.appendChild(i),t.appendChild(n),t.appendChild(this.percentageEl_),e},t.dispose=function(){this.partEls_=null,this.percentageEl_=null,r.prototype.dispose.call(this)},t.update=function(e){var h=this;this.requestAnimationFrame(function(){var e=h.player_.liveTracker,t=h.player_.buffered(),i=e&&e.isLive()?e.seekableEnd():h.player_.duration(),n=h.player_.bufferedEnd(),r=h.partEls_,s=An(n,i);h.percent_!==s&&(h.el_.style.width=s,k(h.percentageEl_,s),h.percent_=s);for(var a=0;a<t.length;a++){var o=t.start(a),u=t.end(a),l=r[a];l||(l=h.el_.appendChild(S()),r[a]=l),l.dataset.start===o&&l.dataset.end===u||(l.dataset.start=o,l.dataset.end=u,l.style.left=An(o,n),l.style.width=An(u-o,n))}for(var c=r.length;c>t.length;c--)h.el_.removeChild(r[c-1]);r.length=t.length})},e}(Re);Re.registerComponent(\"LoadProgressBar\",In);var Pn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-time-tooltip\"},{\"aria-hidden\":\"true\"})},t.update=function(e,t,i){var n=U(this.el_),r=U(this.player_.el()),s=e.width*t;if(r&&n){var a=e.left-r.left+s,o=e.width-s+(r.right-e.right),u=n.width/2;a<u?u+=u-a:o<u&&(u=o),u<0?u=0:u>n.width&&(u=n.width),this.el_.style.right=\"-\"+u+\"px\",this.write(i)}},t.write=function(e){k(this.el_,e)},t.updateTime=function(r,s,a,o){var u=this;this.rafId_&&this.cancelAnimationFrame(this.rafId_),this.rafId_=this.requestAnimationFrame(function(){var e,t=u.player_.duration();if(u.player_.liveTracker&&u.player_.liveTracker.isLive()){var i=u.player_.liveTracker.liveWindow(),n=i-s*i;e=(n<1?\"\":\"-\")+yn(n,i)}else e=yn(a,t);u.update(r,s,e),o&&o()})},e}(Re);Re.registerComponent(\"TimeTooltip\",Pn);var Ln=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-play-progress vjs-slider-bar\"},{\"aria-hidden\":\"true\"})},t.update=function(e,t){var i=this.getChild(\"timeTooltip\");if(i){var n=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();i.updateTime(e,t,n)}},e}(Re);Ln.prototype.options_={children:[]},at||Xe||Ln.prototype.options_.children.push(\"timeTooltip\"),Re.registerComponent(\"PlayProgressBar\",Ln);var On=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).update=ve(ge(Ue(i),i.update),30),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-mouse-display\"})},t.update=function(e,t){var i=this,n=t*this.player_.duration();this.getChild(\"timeTooltip\").updateTime(e,t,n,function(){i.el_.style.left=e.width*t+\"px\"})},e}(Re);On.prototype.options_={children:[\"timeTooltip\"]},Re.registerComponent(\"MouseTimeDisplay\",On);var Dn=function(s){function e(e,t){var i;return(i=s.call(this,e,t)||this).setEventHandlers_(),i}He(e,s);var t=e.prototype;return t.setEventHandlers_=function(){this.update_=ge(this,this.update),this.update=ve(this.update_,30),this.on(this.player_,[\"ended\",\"durationchange\",\"timeupdate\"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,\"liveedgechange\",this.update),this.updateInterval=null,this.on(this.player_,[\"playing\"],this.enableInterval_),this.on(this.player_,[\"ended\",\"pause\",\"waiting\"],this.disableInterval_),\"hidden\"in h&&\"visibilityState\"in h&&this.on(h,\"visibilitychange\",this.toggleVisibility_)},t.toggleVisibility_=function(e){h.hidden?this.disableInterval_(e):(this.enableInterval_(),this.update())},t.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,30))},t.disableInterval_=function(e){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&e&&\"ended\"!==e.type||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null)},t.createEl=function(){return s.prototype.createEl.call(this,\"div\",{className:\"vjs-progress-holder\"},{\"aria-label\":this.localize(\"Progress Bar\")})},t.update=function(e){var n=this,r=s.prototype.update.call(this);return this.requestAnimationFrame(function(){var e=n.player_.ended()?n.player_.duration():n.getCurrentTime_(),t=n.player_.liveTracker,i=n.player_.duration();t&&t.isLive()&&(i=n.player_.liveTracker.liveCurrentTime()),n.percent_!==r&&(n.el_.setAttribute(\"aria-valuenow\",(100*r).toFixed(2)),n.percent_=r),n.currentTime_===e&&n.duration_===i||(n.el_.setAttribute(\"aria-valuetext\",n.localize(\"progress bar timing: currentTime={1} duration={2}\",[yn(e,i),yn(i,i)],\"{1} of {2}\")),n.currentTime_=e,n.duration_=i),n.bar&&n.bar.update(U(n.el()),n.getProgress())}),r},t.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime()},t.getPercent=function(){var e,t=this.getCurrentTime_(),i=this.player_.liveTracker;return i&&i.isLive()?(e=(t-i.seekableStart())/i.liveWindow(),i.atLiveEdge()&&(e=1)):e=t/this.player_.duration(),e},t.handleMouseDown=function(e){W(e)&&(e.stopPropagation(),this.player_.scrubbing(!0),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),s.prototype.handleMouseDown.call(this,e))},t.handleMouseMove=function(e){if(W(e)){var t,i=this.calculateDistance(e),n=this.player_.liveTracker;if(n&&n.isLive()){if(.99<=i)return void n.seekToLiveEdge();var r=n.seekableStart(),s=n.liveCurrentTime();if(s<=(t=r+i*n.liveWindow())&&(t=s),t<=r&&(t=r+.1),t===1/0)return}else(t=i*this.player_.duration())===this.player_.duration()&&(t-=.1);this.player_.currentTime(t)}},t.enable=function(){s.prototype.enable.call(this);var e=this.getChild(\"mouseTimeDisplay\");e&&e.show()},t.disable=function(){s.prototype.disable.call(this);var e=this.getChild(\"mouseTimeDisplay\");e&&e.hide()},t.handleMouseUp=function(e){s.prototype.handleMouseUp.call(this,e),e&&e.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:\"timeupdate\",target:this,manuallyTriggered:!0}),this.videoWasPlaying?kt(this.player_.play()):this.update_()},t.stepForward=function(){this.player_.currentTime(this.player_.currentTime()+5)},t.stepBack=function(){this.player_.currentTime(this.player_.currentTime()-5)},t.handleAction=function(e){this.player_.paused()?this.player_.play():this.player_.pause()},t.handleKeyDown=function(e){if(xt.isEventKey(e,\"Space\")||xt.isEventKey(e,\"Enter\"))e.preventDefault(),e.stopPropagation(),this.handleAction(e);else if(xt.isEventKey(e,\"Home\"))e.preventDefault(),e.stopPropagation(),this.player_.currentTime(0);else if(xt.isEventKey(e,\"End\"))e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.duration());else if(/^[0-9]$/.test(xt(e))){e.preventDefault(),e.stopPropagation();var t=10*(xt.codes[xt(e)]-xt.codes[0])/100;this.player_.currentTime(this.player_.duration()*t)}else xt.isEventKey(e,\"PgDn\")?(e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.currentTime()-60)):xt.isEventKey(e,\"PgUp\")?(e.preventDefault(),e.stopPropagation(),this.player_.currentTime(this.player_.currentTime()+60)):s.prototype.handleKeyDown.call(this,e)},t.dispose=function(){this.disableInterval_(),this.off(this.player_,[\"ended\",\"durationchange\",\"timeupdate\"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,\"liveedgechange\",this.update),this.off(this.player_,[\"playing\"],this.enableInterval_),this.off(this.player_,[\"ended\",\"pause\",\"waiting\"],this.disableInterval_),\"hidden\"in h&&\"visibilityState\"in h&&this.off(h,\"visibilitychange\",this.toggleVisibility_),s.prototype.dispose.call(this)},e}(xn);Dn.prototype.options_={children:[\"loadProgressBar\",\"playProgressBar\"],barName:\"playProgressBar\"},at||Xe||Dn.prototype.options_.children.splice(1,0,\"mouseTimeDisplay\"),Re.registerComponent(\"SeekBar\",Dn);var Nn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).handleMouseMove=ve(ge(Ue(i),i.handleMouseMove),30),i.throttledHandleMouseSeek=ve(ge(Ue(i),i.handleMouseSeek),30),i.enable(),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-progress-control vjs-control\"})},t.handleMouseMove=function(e){var t=this.getChild(\"seekBar\");if(t){var i=t.getChild(\"playProgressBar\"),n=t.getChild(\"mouseTimeDisplay\");if(i||n){var r=t.el(),s=U(r),a=B(r,e).x;a=En(0,1,a),n&&n.update(s,a),i&&i.update(s,t.getProgress())}}},t.handleMouseSeek=function(e){var t=this.getChild(\"seekBar\");t&&t.handleMouseMove(e)},t.enabled=function(){return this.enabled_},t.disable=function(){this.children().forEach(function(e){return e.disable&&e.disable()}),this.enabled()&&(this.off([\"mousedown\",\"touchstart\"],this.handleMouseDown),this.off(this.el_,\"mousemove\",this.handleMouseMove),this.handleMouseUp(),this.addClass(\"disabled\"),this.enabled_=!1)},t.enable=function(){this.children().forEach(function(e){return e.enable&&e.enable()}),this.enabled()||(this.on([\"mousedown\",\"touchstart\"],this.handleMouseDown),this.on(this.el_,\"mousemove\",this.handleMouseMove),this.removeClass(\"disabled\"),this.enabled_=!0)},t.handleMouseDown=function(e){var t=this.el_.ownerDocument,i=this.getChild(\"seekBar\");i&&i.handleMouseDown(e),this.on(t,\"mousemove\",this.throttledHandleMouseSeek),this.on(t,\"touchmove\",this.throttledHandleMouseSeek),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchend\",this.handleMouseUp)},t.handleMouseUp=function(e){var t=this.el_.ownerDocument,i=this.getChild(\"seekBar\");i&&i.handleMouseUp(e),this.off(t,\"mousemove\",this.throttledHandleMouseSeek),this.off(t,\"touchmove\",this.throttledHandleMouseSeek),this.off(t,\"mouseup\",this.handleMouseUp),this.off(t,\"touchend\",this.handleMouseUp)},e}(Re);Nn.prototype.options_={children:[\"seekBar\"]},Re.registerComponent(\"ProgressControl\",Nn);var Rn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,[\"enterpictureinpicture\",\"leavepictureinpicture\"],i.handlePictureInPictureChange),h.pictureInPictureEnabled||i.disable(),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-picture-in-picture-control \"+n.prototype.buildCSSClass.call(this)},t.handlePictureInPictureChange=function(e){this.player_.isInPictureInPicture()?this.controlText(\"Exit Picture-in-Picture\"):this.controlText(\"Picture-in-Picture\")},t.handleClick=function(e){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture()},e}(dn);Rn.prototype.controlText_=\"Picture-in-Picture\",Re.registerComponent(\"PictureInPictureToggle\",Rn);var Un=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"fullscreenchange\",i.handleFullscreenChange),!1===h[e.fsApi_.fullscreenEnabled]&&i.disable(),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-fullscreen-control \"+n.prototype.buildCSSClass.call(this)},t.handleFullscreenChange=function(e){this.player_.isFullscreen()?this.controlText(\"Non-Fullscreen\"):this.controlText(\"Fullscreen\")},t.handleClick=function(e){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen()},e}(dn);Un.prototype.controlText_=\"Fullscreen\",Re.registerComponent(\"FullscreenToggle\",Un);var Mn=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-level\",innerHTML:'<span class=\"vjs-control-text\"></span>'})},t}(Re);Re.registerComponent(\"VolumeLevel\",Mn);var Bn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(\"slideractive\",i.updateLastVolume_),i.on(e,\"volumechange\",i.updateARIAAttributes),e.ready(function(){return i.updateARIAAttributes()}),i}He(e,n);var t=e.prototype;return t.createEl=function(){return n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-bar vjs-slider-bar\"},{\"aria-label\":this.localize(\"Volume Level\"),\"aria-live\":\"polite\"})},t.handleMouseDown=function(e){W(e)&&n.prototype.handleMouseDown.call(this,e)},t.handleMouseMove=function(e){W(e)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(e)))},t.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1)},t.getPercent=function(){return this.player_.muted()?0:this.player_.volume()},t.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1)},t.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1)},t.updateARIAAttributes=function(e){var t=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute(\"aria-valuenow\",t),this.el_.setAttribute(\"aria-valuetext\",t+\"%\")},t.volumeAsPercentage_=function(){return Math.round(100*this.player_.volume())},t.updateLastVolume_=function(){var e=this,t=this.player_.volume();this.one(\"sliderinactive\",function(){0===e.player_.volume()&&e.player_.lastVolume_(t)})},e}(xn);Bn.prototype.options_={children:[\"volumeLevel\"],barName:\"volumeLevel\"},Bn.prototype.playerEvent=\"volumechange\",Re.registerComponent(\"VolumeBar\",Bn);var jn=function(n){function e(e,t){var i;return void 0===t&&(t={}),t.vertical=t.vertical||!1,\"undefined\"!=typeof t.volumeBar&&!u(t.volumeBar)||(t.volumeBar=t.volumeBar||{},t.volumeBar.vertical=t.vertical),i=n.call(this,e,t)||this,function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass(\"vjs-hidden\"),e.on(t,\"loadstart\",function(){t.tech_.featuresVolumeControl?e.removeClass(\"vjs-hidden\"):e.addClass(\"vjs-hidden\")})}(Ue(i),e),i.throttledHandleMouseMove=ve(ge(Ue(i),i.handleMouseMove),30),i.on(\"mousedown\",i.handleMouseDown),i.on(\"touchstart\",i.handleMouseDown),i.on(i.volumeBar,[\"focus\",\"slideractive\"],function(){i.volumeBar.addClass(\"vjs-slider-active\"),i.addClass(\"vjs-slider-active\"),i.trigger(\"slideractive\")}),i.on(i.volumeBar,[\"blur\",\"sliderinactive\"],function(){i.volumeBar.removeClass(\"vjs-slider-active\"),i.removeClass(\"vjs-slider-active\"),i.trigger(\"sliderinactive\")}),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=\"vjs-volume-horizontal\";return this.options_.vertical&&(e=\"vjs-volume-vertical\"),n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-control vjs-control \"+e})},t.handleMouseDown=function(e){var t=this.el_.ownerDocument;this.on(t,\"mousemove\",this.throttledHandleMouseMove),this.on(t,\"touchmove\",this.throttledHandleMouseMove),this.on(t,\"mouseup\",this.handleMouseUp),this.on(t,\"touchend\",this.handleMouseUp)},t.handleMouseUp=function(e){var t=this.el_.ownerDocument;this.off(t,\"mousemove\",this.throttledHandleMouseMove),this.off(t,\"touchmove\",this.throttledHandleMouseMove),this.off(t,\"mouseup\",this.handleMouseUp),this.off(t,\"touchend\",this.handleMouseUp)},t.handleMouseMove=function(e){this.volumeBar.handleMouseMove(e)},e}(Re);jn.prototype.options_={children:[\"volumeBar\"]},Re.registerComponent(\"VolumeControl\",jn);var Fn=function(n){function e(e,t){var i;return i=n.call(this,e,t)||this,function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass(\"vjs-hidden\"),e.on(t,\"loadstart\",function(){t.tech_.featuresMuteControl?e.removeClass(\"vjs-hidden\"):e.addClass(\"vjs-hidden\")})}(Ue(i),e),i.on(e,[\"loadstart\",\"volumechange\"],i.update),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-mute-control \"+n.prototype.buildCSSClass.call(this)},t.handleClick=function(e){var t=this.player_.volume(),i=this.player_.lastVolume_();if(0===t){var n=i<.1?.1:i;this.player_.volume(n),this.player_.muted(!1)}else this.player_.muted(!this.player_.muted())},t.update=function(e){this.updateIcon_(),this.updateControlText_()},t.updateIcon_=function(){var e=this.player_.volume(),t=3;at&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),0===e||this.player_.muted()?t=0:e<.33?t=1:e<.67&&(t=2);for(var i=0;i<4;i++)x(this.el_,\"vjs-vol-\"+i);E(this.el_,\"vjs-vol-\"+t)},t.updateControlText_=function(){var e=this.player_.muted()||0===this.player_.volume()?\"Unmute\":\"Mute\";this.controlText()!==e&&this.controlText(e)},e}(dn);Fn.prototype.controlText_=\"Mute\",Re.registerComponent(\"MuteToggle\",Fn);var Hn=function(n){function e(e,t){var i;return void 0===t&&(t={}),\"undefined\"!=typeof t.inline?t.inline=t.inline:t.inline=!0,\"undefined\"!=typeof t.volumeControl&&!u(t.volumeControl)||(t.volumeControl=t.volumeControl||{},t.volumeControl.vertical=!t.inline),(i=n.call(this,e,t)||this).on(e,[\"loadstart\"],i.volumePanelState_),i.on(i.muteToggle,\"keyup\",i.handleKeyPress),i.on(i.volumeControl,\"keyup\",i.handleVolumeControlKeyUp),i.on(\"keydown\",i.handleKeyPress),i.on(\"mouseover\",i.handleMouseOver),i.on(\"mouseout\",i.handleMouseOut),i.on(i.volumeControl,[\"slideractive\"],i.sliderActive_),i.on(i.volumeControl,[\"sliderinactive\"],i.sliderInactive_),i}He(e,n);var t=e.prototype;return t.sliderActive_=function(){this.addClass(\"vjs-slider-active\")},t.sliderInactive_=function(){this.removeClass(\"vjs-slider-active\")},t.volumePanelState_=function(){this.volumeControl.hasClass(\"vjs-hidden\")&&this.muteToggle.hasClass(\"vjs-hidden\")&&this.addClass(\"vjs-hidden\"),this.volumeControl.hasClass(\"vjs-hidden\")&&!this.muteToggle.hasClass(\"vjs-hidden\")&&this.addClass(\"vjs-mute-toggle-only\")},t.createEl=function(){var e=\"vjs-volume-panel-horizontal\";return this.options_.inline||(e=\"vjs-volume-panel-vertical\"),n.prototype.createEl.call(this,\"div\",{className:\"vjs-volume-panel vjs-control \"+e})},t.dispose=function(){this.handleMouseOut(),n.prototype.dispose.call(this)},t.handleVolumeControlKeyUp=function(e){xt.isEventKey(e,\"Esc\")&&this.muteToggle.focus()},t.handleMouseOver=function(e){this.addClass(\"vjs-hover\"),he(h,\"keyup\",ge(this,this.handleKeyPress))},t.handleMouseOut=function(e){this.removeClass(\"vjs-hover\"),de(h,\"keyup\",ge(this,this.handleKeyPress))},t.handleKeyPress=function(e){xt.isEventKey(e,\"Esc\")&&this.handleMouseOut()},e}(Re);Hn.prototype.options_={children:[\"muteToggle\",\"volumeControl\"]},Re.registerComponent(\"VolumePanel\",Hn);var Vn=function(n){function e(e,t){var i;return i=n.call(this,e,t)||this,t&&(i.menuButton_=t.menuButton),i.focusedChild_=-1,i.on(\"keydown\",i.handleKeyDown),i.boundHandleBlur_=ge(Ue(i),i.handleBlur),i.boundHandleTapClick_=ge(Ue(i),i.handleTapClick),i}He(e,n);var t=e.prototype;return t.addEventListenerForItem=function(e){e instanceof Re&&(this.on(e,\"blur\",this.boundHandleBlur_),this.on(e,[\"tap\",\"click\"],this.boundHandleTapClick_))},t.removeEventListenerForItem=function(e){e instanceof Re&&(this.off(e,\"blur\",this.boundHandleBlur_),this.off(e,[\"tap\",\"click\"],this.boundHandleTapClick_))},t.removeChild=function(e){\"string\"==typeof e&&(e=this.getChild(e)),this.removeEventListenerForItem(e),n.prototype.removeChild.call(this,e)},t.addItem=function(e){var t=this.addChild(e);t&&this.addEventListenerForItem(t)},t.createEl=function(){var e=this.options_.contentElType||\"ul\";this.contentEl_=S(e,{className:\"vjs-menu-content\"}),this.contentEl_.setAttribute(\"role\",\"menu\");var t=n.prototype.createEl.call(this,\"div\",{append:this.contentEl_,className:\"vjs-menu\"});return t.appendChild(this.contentEl_),he(t,\"click\",function(e){e.preventDefault(),e.stopImmediatePropagation()}),t},t.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,n.prototype.dispose.call(this)},t.handleBlur=function(e){var t=e.relatedTarget||h.activeElement;if(!this.children().some(function(e){return e.el()===t})){var i=this.menuButton_;i&&i.buttonPressed_&&t!==i.el().firstChild&&i.unpressButton()}},t.handleTapClick=function(t){if(this.menuButton_){this.menuButton_.unpressButton();var e=this.children();if(!Array.isArray(e))return;var i=e.filter(function(e){return e.el()===t.target})[0];if(!i)return;\"CaptionSettingsMenuItem\"!==i.name()&&this.menuButton_.focus()}},t.handleKeyDown=function(e){xt.isEventKey(e,\"Left\")||xt.isEventKey(e,\"Down\")?(e.preventDefault(),e.stopPropagation(),this.stepForward()):(xt.isEventKey(e,\"Right\")||xt.isEventKey(e,\"Up\"))&&(e.preventDefault(),e.stopPropagation(),this.stepBack())},t.stepForward=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_+1),this.focus(e)},t.stepBack=function(){var e=0;void 0!==this.focusedChild_&&(e=this.focusedChild_-1),this.focus(e)},t.focus=function(e){void 0===e&&(e=0);var t=this.children().slice();t.length&&t[0].className&&/vjs-menu-title/.test(t[0].className)&&t.shift(),0<t.length&&(e<0?e=0:e>=t.length&&(e=t.length-1),t[this.focusedChild_=e].el_.focus())},e}(Re);Re.registerComponent(\"Menu\",Vn);var qn=function(r){function e(e,t){var i;void 0===t&&(t={}),(i=r.call(this,e,t)||this).menuButton_=new dn(e,t),i.menuButton_.controlText(i.controlText_),i.menuButton_.el_.setAttribute(\"aria-haspopup\",\"true\");var n=dn.prototype.buildCSSClass();return i.menuButton_.el_.className=i.buildCSSClass()+\" \"+n,i.menuButton_.removeClass(\"vjs-control\"),i.addChild(i.menuButton_),i.update(),i.enabled_=!0,i.on(i.menuButton_,\"tap\",i.handleClick),i.on(i.menuButton_,\"click\",i.handleClick),i.on(i.menuButton_,\"keydown\",i.handleKeyDown),i.on(i.menuButton_,\"mouseenter\",function(){i.addClass(\"vjs-hover\"),i.menu.show(),he(h,\"keyup\",ge(Ue(i),i.handleMenuKeyUp))}),i.on(\"mouseleave\",i.handleMouseLeave),i.on(\"keydown\",i.handleSubmenuKeyDown),i}He(e,r);var t=e.prototype;return t.update=function(){var e=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=e,this.addChild(e),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute(\"aria-expanded\",\"false\"),this.items&&this.items.length<=this.hideThreshold_?this.hide():this.show()},t.createMenu=function(){var e=new Vn(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var t=S(\"li\",{className:\"vjs-menu-title\",innerHTML:De(this.options_.title),tabIndex:-1});this.hideThreshold_+=1;var i=new Re(this.player_,{el:t});e.addItem(i)}if(this.items=this.createItems(),this.items)for(var n=0;n<this.items.length;n++)e.addItem(this.items[n]);return e},t.createItems=function(){},t.createEl=function(){return r.prototype.createEl.call(this,\"div\",{className:this.buildWrapperCSSClass()},{})},t.buildWrapperCSSClass=function(){var e=\"vjs-menu-button\";return!0===this.options_.inline?e+=\"-inline\":e+=\"-popup\",\"vjs-menu-button \"+e+\" \"+dn.prototype.buildCSSClass()+\" \"+r.prototype.buildCSSClass.call(this)},t.buildCSSClass=function(){var e=\"vjs-menu-button\";return!0===this.options_.inline?e+=\"-inline\":e+=\"-popup\",\"vjs-menu-button \"+e+\" \"+r.prototype.buildCSSClass.call(this)},t.controlText=function(e,t){return void 0===t&&(t=this.menuButton_.el()),this.menuButton_.controlText(e,t)},t.dispose=function(){this.handleMouseLeave(),r.prototype.dispose.call(this)},t.handleClick=function(e){this.buttonPressed_?this.unpressButton():this.pressButton()},t.handleMouseLeave=function(e){this.removeClass(\"vjs-hover\"),de(h,\"keyup\",ge(this,this.handleMenuKeyUp))},t.focus=function(){this.menuButton_.focus()},t.blur=function(){this.menuButton_.blur()},t.handleKeyDown=function(e){xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\")?(this.buttonPressed_&&this.unpressButton(),xt.isEventKey(e,\"Tab\")||(e.preventDefault(),this.menuButton_.focus())):(xt.isEventKey(e,\"Up\")||xt.isEventKey(e,\"Down\"))&&(this.buttonPressed_||(e.preventDefault(),this.pressButton()))},t.handleMenuKeyUp=function(e){(xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\"))&&this.removeClass(\"vjs-hover\")},t.handleSubmenuKeyPress=function(e){this.handleSubmenuKeyDown(e)},t.handleSubmenuKeyDown=function(e){(xt.isEventKey(e,\"Esc\")||xt.isEventKey(e,\"Tab\"))&&(this.buttonPressed_&&this.unpressButton(),xt.isEventKey(e,\"Tab\")||(e.preventDefault(),this.menuButton_.focus()))},t.pressButton=function(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute(\"aria-expanded\",\"true\"),at&&b())return;this.menu.focus()}},t.unpressButton=function(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute(\"aria-expanded\",\"false\"))},t.disable=function(){this.unpressButton(),this.enabled_=!1,this.addClass(\"vjs-disabled\"),this.menuButton_.disable()},t.enable=function(){this.enabled_=!0,this.removeClass(\"vjs-disabled\"),this.menuButton_.enable()},e}(Re);Re.registerComponent(\"MenuButton\",qn);var Wn=function(s){function e(e,t){var i,n=t.tracks;if((i=s.call(this,e,t)||this).items.length<=1&&i.hide(),!n)return Ue(i);var r=ge(Ue(i),i.update);return n.addEventListener(\"removetrack\",r),n.addEventListener(\"addtrack\",r),i.player_.on(\"ready\",r),i.player_.on(\"dispose\",function(){n.removeEventListener(\"removetrack\",r),n.removeEventListener(\"addtrack\",r)}),i}return He(e,s),e}(qn);Re.registerComponent(\"TrackButton\",Wn);var zn=[\"Tab\",\"Esc\",\"Up\",\"Down\",\"Right\",\"Left\"],Gn=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).selectable=t.selectable,i.isSelected_=t.selected||!1,i.multiSelectable=t.multiSelectable,i.selected(i.isSelected_),i.selectable?i.multiSelectable?i.el_.setAttribute(\"role\",\"menuitemcheckbox\"):i.el_.setAttribute(\"role\",\"menuitemradio\"):i.el_.setAttribute(\"role\",\"menuitem\"),i}He(e,n);var t=e.prototype;return t.createEl=function(e,t,i){return this.nonIconControl=!0,n.prototype.createEl.call(this,\"li\",m({className:\"vjs-menu-item\",innerHTML:'<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label)+\"</span>\",tabIndex:-1},t),i)},t.handleKeyDown=function(t){zn.some(function(e){return xt.isEventKey(t,e)})||n.prototype.handleKeyDown.call(this,t)},t.handleClick=function(e){this.selected(!0)},t.selected=function(e){this.selectable&&(e?(this.addClass(\"vjs-selected\"),this.el_.setAttribute(\"aria-checked\",\"true\"),this.controlText(\", selected\"),this.isSelected_=!0):(this.removeClass(\"vjs-selected\"),this.el_.setAttribute(\"aria-checked\",\"false\"),this.controlText(\"\"),this.isSelected_=!1))},e}(rn);Re.registerComponent(\"MenuItem\",Gn);var Xn=function(u){function e(e,t){var n,i=t.track,r=e.textTracks();t.label=i.label||i.language||\"Unknown\",t.selected=\"showing\"===i.mode,(n=u.call(this,e,t)||this).track=i,n.kinds=(t.kinds||[t.kind||n.track.kind]).filter(Boolean);function s(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleTracksChange.apply(Ue(n),t)}function a(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleSelectedLanguageChange.apply(Ue(n),t)}var o;e.on([\"loadstart\",\"texttrackchange\"],s),r.addEventListener(\"change\",s),r.addEventListener(\"selectedlanguagechange\",a),n.on(\"dispose\",function(){e.off([\"loadstart\",\"texttrackchange\"],s),r.removeEventListener(\"change\",s),r.removeEventListener(\"selectedlanguagechange\",a)}),void 0===r.onchange&&n.on([\"tap\",\"click\"],function(){if(\"object\"!=typeof y.Event)try{o=new y.Event(\"change\")}catch(e){}o||(o=h.createEvent(\"Event\")).initEvent(\"change\",!0,!0),r.dispatchEvent(o)});return n.handleTracksChange(),n}He(e,u);var t=e.prototype;return t.handleClick=function(e){var t=this.track,i=this.player_.textTracks();if(u.prototype.handleClick.call(this,e),i)for(var n=0;n<i.length;n++){var r=i[n];-1!==this.kinds.indexOf(r.kind)&&(r===t?\"showing\"!==r.mode&&(r.mode=\"showing\"):\"disabled\"!==r.mode&&(r.mode=\"disabled\"))}},t.handleTracksChange=function(e){var t=\"showing\"===this.track.mode;t!==this.isSelected_&&this.selected(t)},t.handleSelectedLanguageChange=function(e){if(\"showing\"===this.track.mode){var t=this.player_.cache_.selectedLanguage;if(t&&t.enabled&&t.language===this.track.language&&t.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind}}},t.dispose=function(){this.track=null,u.prototype.dispose.call(this)},e}(Gn);Re.registerComponent(\"TextTrackMenuItem\",Xn);var Kn=function(i){function e(e,t){return t.track={player:e,kind:t.kind,kinds:t.kinds,default:!1,mode:\"disabled\"},t.kinds||(t.kinds=[t.kind]),t.label?t.track.label=t.label:t.track.label=t.kinds.join(\" and \")+\" off\",t.selectable=!0,t.multiSelectable=!1,i.call(this,e,t)||this}He(e,i);var t=e.prototype;return t.handleTracksChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n<r;n++){var s=t[n];if(-1<this.options_.kinds.indexOf(s.kind)&&\"showing\"===s.mode){i=!1;break}}i!==this.isSelected_&&this.selected(i)},t.handleSelectedLanguageChange=function(e){for(var t=this.player().textTracks(),i=!0,n=0,r=t.length;n<r;n++){var s=t[n];if(-1<[\"captions\",\"descriptions\",\"subtitles\"].indexOf(s.kind)&&\"showing\"===s.mode){i=!1;break}}i&&(this.player_.cache_.selectedLanguage={enabled:!1})},e}(Xn);Re.registerComponent(\"OffTextTrackMenuItem\",Kn);var Yn=function(i){function e(e,t){return void 0===t&&(t={}),t.tracks=e.textTracks(),i.call(this,e,t)||this}return He(e,i),e.prototype.createItems=function(e,t){var i;void 0===e&&(e=[]),void 0===t&&(t=Xn),this.label_&&(i=this.label_+\" off\"),e.push(new Kn(this.player_,{kinds:this.kinds_,kind:this.kind_,label:i})),this.hideThreshold_+=1;var n=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var r=0;r<n.length;r++){var s=n[r];if(-1<this.kinds_.indexOf(s.kind)){var a=new t(this.player_,{track:s,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});a.addClass(\"vjs-\"+s.kind+\"-menu-item\"),e.push(a)}}return e},e}(Wn);Re.registerComponent(\"TextTrackButton\",Yn);var $n=function(a){function e(e,t){var i,n=t.track,r=t.cue,s=e.currentTime();return t.selectable=!0,t.multiSelectable=!1,t.label=r.text,t.selected=r.startTime<=s&&s<r.endTime,(i=a.call(this,e,t)||this).track=n,i.cue=r,n.addEventListener(\"cuechange\",ge(Ue(i),i.update)),i}He(e,a);var t=e.prototype;return t.handleClick=function(e){a.prototype.handleClick.call(this),this.player_.currentTime(this.cue.startTime),this.update(this.cue.startTime)},t.update=function(e){var t=this.cue,i=this.player_.currentTime();this.selected(t.startTime<=i&&i<t.endTime)},e}(Gn);Re.registerComponent(\"ChaptersTrackMenuItem\",$n);var Qn=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-chapters-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-chapters-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.update=function(e){this.track_&&(!e||\"addtrack\"!==e.type&&\"removetrack\"!==e.type)||this.setTrack(this.findChaptersTrack()),n.prototype.update.call(this)},t.setTrack=function(e){if(this.track_!==e){if(this.updateHandler_||(this.updateHandler_=this.update.bind(this)),this.track_){var t=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);t&&t.removeEventListener(\"load\",this.updateHandler_),this.track_=null}if(this.track_=e,this.track_){this.track_.mode=\"hidden\";var i=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);i&&i.addEventListener(\"load\",this.updateHandler_)}}},t.findChaptersTrack=function(){for(var e=this.player_.textTracks()||[],t=e.length-1;0<=t;t--){var i=e[t];if(i.kind===this.kind_)return i}},t.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(De(this.kind_))},t.createMenu=function(){return this.options_.title=this.getMenuCaption(),n.prototype.createMenu.call(this)},t.createItems=function(){var e=[];if(!this.track_)return e;var t=this.track_.cues;if(!t)return e;for(var i=0,n=t.length;i<n;i++){var r=t[i],s=new $n(this.player_,{track:this.track_,cue:r});e.push(s)}return e},e}(Yn);Qn.prototype.kind_=\"chapters\",Qn.prototype.controlText_=\"Chapters\",Re.registerComponent(\"ChaptersButton\",Qn);var Jn=function(a){function e(e,t,i){var n;n=a.call(this,e,t,i)||this;var r=e.textTracks(),s=ge(Ue(n),n.handleTracksChange);return r.addEventListener(\"change\",s),n.on(\"dispose\",function(){r.removeEventListener(\"change\",s)}),n}He(e,a);var t=e.prototype;return t.handleTracksChange=function(e){for(var t=this.player().textTracks(),i=!1,n=0,r=t.length;n<r;n++){var s=t[n];if(s.kind!==this.kind_&&\"showing\"===s.mode){i=!0;break}}i?this.disable():this.enable()},t.buildCSSClass=function(){return\"vjs-descriptions-button \"+a.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-descriptions-button \"+a.prototype.buildWrapperCSSClass.call(this)},e}(Yn);Jn.prototype.kind_=\"descriptions\",Jn.prototype.controlText_=\"Descriptions\",Re.registerComponent(\"DescriptionsButton\",Jn);var Zn=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-subtitles-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-subtitles-button \"+n.prototype.buildWrapperCSSClass.call(this)},e}(Yn);Zn.prototype.kind_=\"subtitles\",Zn.prototype.controlText_=\"Subtitles\",Re.registerComponent(\"SubtitlesButton\",Zn);var er=function(n){function e(e,t){var i;return t.track={player:e,kind:t.kind,label:t.kind+\" settings\",selectable:!1,default:!1,mode:\"disabled\"},t.selectable=!1,t.name=\"CaptionSettingsMenuItem\",(i=n.call(this,e,t)||this).addClass(\"vjs-texttrack-settings\"),i.controlText(\", opens \"+t.kind+\" settings dialog\"),i}return He(e,n),e.prototype.handleClick=function(e){this.player().getChild(\"textTrackSettings\").open()},e}(Xn);Re.registerComponent(\"CaptionSettingsMenuItem\",er);var tr=function(n){function e(e,t,i){return n.call(this,e,t,i)||this}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-captions-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-captions-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(){var e=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild(\"textTrackSettings\")||(e.push(new er(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),n.prototype.createItems.call(this,e)},e}(Yn);tr.prototype.kind_=\"captions\",tr.prototype.controlText_=\"Captions\",Re.registerComponent(\"CaptionsButton\",tr);var ir=function(r){function e(){return r.apply(this,arguments)||this}return He(e,r),e.prototype.createEl=function(e,t,i){var n='<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label);return\"captions\"===this.options_.track.kind&&(n+='\\n        <span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>\\n        <span class=\"vjs-control-text\"> '+this.localize(\"Captions\")+\"</span>\\n      \"),n+=\"</span>\",r.prototype.createEl.call(this,e,m({innerHTML:n},t),i)},e}(Xn);Re.registerComponent(\"SubsCapsMenuItem\",ir);var nr=function(n){function e(e,t){var i;return void 0===t&&(t={}),(i=n.call(this,e,t)||this).label_=\"subtitles\",-1<[\"en\",\"en-us\",\"en-ca\",\"fr-ca\"].indexOf(i.player_.language_)&&(i.label_=\"captions\"),i.menuButton_.controlText(De(i.label_)),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-subs-caps-button \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-subs-caps-button \"+n.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(){var e=[];return this.player().tech_&&this.player().tech_.featuresNativeTextTracks||!this.player().getChild(\"textTrackSettings\")||(e.push(new er(this.player_,{kind:this.label_})),this.hideThreshold_+=1),e=n.prototype.createItems.call(this,e,ir)},e}(Yn);nr.prototype.kinds_=[\"captions\",\"subtitles\"],nr.prototype.controlText_=\"Subtitles\",Re.registerComponent(\"SubsCapsButton\",nr);var rr=function(a){function e(e,t){var n,i=t.track,r=e.audioTracks();t.label=i.label||i.language||\"Unknown\",t.selected=i.enabled,(n=a.call(this,e,t)||this).track=i,n.addClass(\"vjs-\"+i.kind+\"-menu-item\");function s(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];n.handleTracksChange.apply(Ue(n),t)}return r.addEventListener(\"change\",s),n.on(\"dispose\",function(){r.removeEventListener(\"change\",s)}),n}He(e,a);var t=e.prototype;return t.createEl=function(e,t,i){var n='<span class=\"vjs-menu-item-text\">'+this.localize(this.options_.label);return\"main-desc\"===this.options_.track.kind&&(n+='\\n        <span aria-hidden=\"true\" class=\"vjs-icon-placeholder\"></span>\\n        <span class=\"vjs-control-text\"> '+this.localize(\"Descriptions\")+\"</span>\\n      \"),n+=\"</span>\",a.prototype.createEl.call(this,e,m({innerHTML:n},t),i)},t.handleClick=function(e){var t=this.player_.audioTracks();a.prototype.handleClick.call(this,e);for(var i=0;i<t.length;i++){var n=t[i];n.enabled=n===this.track}},t.handleTracksChange=function(e){this.selected(this.track.enabled)},e}(Gn);Re.registerComponent(\"AudioTrackMenuItem\",rr);var sr=function(i){function e(e,t){return void 0===t&&(t={}),t.tracks=e.audioTracks(),i.call(this,e,t)||this}He(e,i);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-audio-button \"+i.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-audio-button \"+i.prototype.buildWrapperCSSClass.call(this)},t.createItems=function(e){void 0===e&&(e=[]),this.hideThreshold_=1;for(var t=this.player_.audioTracks(),i=0;i<t.length;i++){var n=t[i];e.push(new rr(this.player_,{track:n,selectable:!0,multiSelectable:!1}))}return e},e}(Wn);sr.prototype.controlText_=\"Audio Track\",Re.registerComponent(\"AudioTrackButton\",sr);var ar=function(s){function e(e,t){var i,n=t.rate,r=parseFloat(n,10);return t.label=n,t.selected=1===r,t.selectable=!0,t.multiSelectable=!1,(i=s.call(this,e,t)||this).label=n,i.rate=r,i.on(e,\"ratechange\",i.update),i}He(e,s);var t=e.prototype;return t.handleClick=function(e){s.prototype.handleClick.call(this),this.player().playbackRate(this.rate)},t.update=function(e){this.selected(this.player().playbackRate()===this.rate)},e}(Gn);ar.prototype.contentElType=\"button\",Re.registerComponent(\"PlaybackRateMenuItem\",ar);var or=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).updateVisibility(),i.updateLabel(),i.on(e,\"loadstart\",i.updateVisibility),i.on(e,\"ratechange\",i.updateLabel),i}He(e,n);var t=e.prototype;return t.createEl=function(){var e=n.prototype.createEl.call(this);return this.labelEl_=S(\"div\",{className:\"vjs-playback-rate-value\",innerHTML:\"1x\"}),e.appendChild(this.labelEl_),e},t.dispose=function(){this.labelEl_=null,n.prototype.dispose.call(this)},t.buildCSSClass=function(){return\"vjs-playback-rate \"+n.prototype.buildCSSClass.call(this)},t.buildWrapperCSSClass=function(){return\"vjs-playback-rate \"+n.prototype.buildWrapperCSSClass.call(this)},t.createMenu=function(){var e=new Vn(this.player()),t=this.playbackRates();if(t)for(var i=t.length-1;0<=i;i--)e.addChild(new ar(this.player(),{rate:t[i]+\"x\"}));return e},t.updateARIAAttributes=function(){this.el().setAttribute(\"aria-valuenow\",this.player().playbackRate())},t.handleClick=function(e){for(var t=this.player().playbackRate(),i=this.playbackRates(),n=i[0],r=0;r<i.length;r++)if(i[r]>t){n=i[r];break}this.player().playbackRate(n)},t.playbackRates=function(){return this.options_.playbackRates||this.options_.playerOptions&&this.options_.playerOptions.playbackRates},t.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&0<this.playbackRates().length},t.updateVisibility=function(e){this.playbackRateSupported()?this.removeClass(\"vjs-hidden\"):this.addClass(\"vjs-hidden\")},t.updateLabel=function(e){this.playbackRateSupported()&&(this.labelEl_.innerHTML=this.player().playbackRate()+\"x\")},e}(qn);or.prototype.controlText_=\"Playback Rate\",Re.registerComponent(\"PlaybackRateMenuButton\",or);var ur=function(e){function t(){return e.apply(this,arguments)||this}He(t,e);var i=t.prototype;return i.buildCSSClass=function(){return\"vjs-spacer \"+e.prototype.buildCSSClass.call(this)},i.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:this.buildCSSClass()})},t}(Re);Re.registerComponent(\"Spacer\",ur);var lr=function(t){function e(){return t.apply(this,arguments)||this}He(e,t);var i=e.prototype;return i.buildCSSClass=function(){return\"vjs-custom-control-spacer \"+t.prototype.buildCSSClass.call(this)},i.createEl=function(){var e=t.prototype.createEl.call(this,{className:this.buildCSSClass()});return e.innerHTML=\" \",e},e}(ur);Re.registerComponent(\"CustomControlSpacer\",lr);var cr=function(e){function t(){return e.apply(this,arguments)||this}return He(t,e),t.prototype.createEl=function(){return e.prototype.createEl.call(this,\"div\",{className:\"vjs-control-bar\",dir:\"ltr\"})},t}(Re);cr.prototype.options_={children:[\"playToggle\",\"volumePanel\",\"currentTimeDisplay\",\"timeDivider\",\"durationDisplay\",\"progressControl\",\"liveDisplay\",\"seekToLive\",\"remainingTimeDisplay\",\"customControlSpacer\",\"playbackRateMenuButton\",\"chaptersButton\",\"descriptionsButton\",\"subsCapsButton\",\"audioTrackButton\",\"fullscreenToggle\"]},\"exitPictureInPicture\"in h&&cr.prototype.options_.children.splice(cr.prototype.options_.children.length-1,0,\"pictureInPictureToggle\"),Re.registerComponent(\"ControlBar\",cr);var hr=function(n){function e(e,t){var i;return(i=n.call(this,e,t)||this).on(e,\"error\",i.open),i}He(e,n);var t=e.prototype;return t.buildCSSClass=function(){return\"vjs-error-display \"+n.prototype.buildCSSClass.call(this)},t.content=function(){var e=this.player().error();return e?this.localize(e.message):\"\"},e}(It);hr.prototype.options_=r({},It.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0}),Re.registerComponent(\"ErrorDisplay\",hr);var dr=\"vjs-text-track-settings\",pr=[\"#000\",\"Black\"],fr=[\"#00F\",\"Blue\"],mr=[\"#0FF\",\"Cyan\"],gr=[\"#0F0\",\"Green\"],vr=[\"#F0F\",\"Magenta\"],yr=[\"#F00\",\"Red\"],_r=[\"#FFF\",\"White\"],br=[\"#FF0\",\"Yellow\"],Tr=[\"1\",\"Opaque\"],Sr=[\"0.5\",\"Semi-Transparent\"],kr=[\"0\",\"Transparent\"],Cr={backgroundColor:{selector:\".vjs-bg-color > select\",id:\"captions-background-color-%s\",label:\"Color\",options:[pr,_r,yr,gr,fr,br,vr,mr]},backgroundOpacity:{selector:\".vjs-bg-opacity > select\",id:\"captions-background-opacity-%s\",label:\"Transparency\",options:[Tr,Sr,kr]},color:{selector:\".vjs-fg-color > select\",id:\"captions-foreground-color-%s\",label:\"Color\",options:[_r,pr,yr,gr,fr,br,vr,mr]},edgeStyle:{selector:\".vjs-edge-style > select\",id:\"%s\",label:\"Text Edge Style\",options:[[\"none\",\"None\"],[\"raised\",\"Raised\"],[\"depressed\",\"Depressed\"],[\"uniform\",\"Uniform\"],[\"dropshadow\",\"Dropshadow\"]]},fontFamily:{selector:\".vjs-font-family > select\",id:\"captions-font-family-%s\",label:\"Font Family\",options:[[\"proportionalSansSerif\",\"Proportional Sans-Serif\"],[\"monospaceSansSerif\",\"Monospace Sans-Serif\"],[\"proportionalSerif\",\"Proportional Serif\"],[\"monospaceSerif\",\"Monospace Serif\"],[\"casual\",\"Casual\"],[\"script\",\"Script\"],[\"small-caps\",\"Small Caps\"]]},fontPercent:{selector:\".vjs-font-percent > select\",id:\"captions-font-size-%s\",label:\"Font Size\",options:[[\"0.50\",\"50%\"],[\"0.75\",\"75%\"],[\"1.00\",\"100%\"],[\"1.25\",\"125%\"],[\"1.50\",\"150%\"],[\"1.75\",\"175%\"],[\"2.00\",\"200%\"],[\"3.00\",\"300%\"],[\"4.00\",\"400%\"]],default:2,parser:function(e){return\"1.00\"===e?null:Number(e)}},textOpacity:{selector:\".vjs-text-opacity > select\",id:\"captions-foreground-opacity-%s\",label:\"Transparency\",options:[Tr,Sr]},windowColor:{selector:\".vjs-window-color > select\",id:\"captions-window-color-%s\",label:\"Color\"},windowOpacity:{selector:\".vjs-window-opacity > select\",id:\"captions-window-opacity-%s\",label:\"Transparency\",options:[kr,Sr,Tr]}};function wr(e,t){if(t&&(e=t(e)),e&&\"none\"!==e)return e}Cr.windowColor.options=Cr.backgroundColor.options;var Er=function(n){function e(e,t){var i;return t.temporary=!1,(i=n.call(this,e,t)||this).updateDisplay=ge(Ue(i),i.updateDisplay),i.fill(),i.hasBeenOpened_=i.hasBeenFilled_=!0,i.endDialog=S(\"p\",{className:\"vjs-control-text\",textContent:i.localize(\"End of dialog window.\")}),i.el().appendChild(i.endDialog),i.setDefaults(),void 0===t.persistTextTrackSettings&&(i.options_.persistTextTrackSettings=i.options_.playerOptions.persistTextTrackSettings),i.on(i.$(\".vjs-done-button\"),\"click\",function(){i.saveSettings(),i.close()}),i.on(i.$(\".vjs-default-button\"),\"click\",function(){i.setDefaults(),i.updateDisplay()}),a(Cr,function(e){i.on(i.$(e.selector),\"change\",i.updateDisplay)}),i.options_.persistTextTrackSettings&&i.restoreSettings(),i}He(e,n);var t=e.prototype;return t.dispose=function(){this.endDialog=null,n.prototype.dispose.call(this)},t.createElSelect_=function(e,t,i){var n=this;void 0===t&&(t=\"\"),void 0===i&&(i=\"label\");var r=Cr[e],s=r.id.replace(\"%s\",this.id_),a=[t,s].join(\" \").trim();return[\"<\"+i+' id=\"'+s+'\" class=\"'+(\"label\"===i?\"vjs-label\":\"\")+'\">',this.localize(r.label),\"</\"+i+\">\",'<select aria-labelledby=\"'+a+'\">'].concat(r.options.map(function(e){var t=s+\"-\"+e[1].replace(/\\W+/g,\"\");return['<option id=\"'+t+'\" value=\"'+e[0]+'\" ','aria-labelledby=\"'+a+\" \"+t+'\">',n.localize(e[1]),\"</option>\"].join(\"\")})).concat(\"</select>\").join(\"\")},t.createElFgColor_=function(){var e=\"captions-text-legend-\"+this.id_;return['<fieldset class=\"vjs-fg-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Text\"),\"</legend>\",this.createElSelect_(\"color\",e),'<span class=\"vjs-text-opacity vjs-opacity\">',this.createElSelect_(\"textOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElBgColor_=function(){var e=\"captions-background-\"+this.id_;return['<fieldset class=\"vjs-bg-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Background\"),\"</legend>\",this.createElSelect_(\"backgroundColor\",e),'<span class=\"vjs-bg-opacity vjs-opacity\">',this.createElSelect_(\"backgroundOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElWinColor_=function(){var e=\"captions-window-\"+this.id_;return['<fieldset class=\"vjs-window-color vjs-track-setting\">','<legend id=\"'+e+'\">',this.localize(\"Window\"),\"</legend>\",this.createElSelect_(\"windowColor\",e),'<span class=\"vjs-window-opacity vjs-opacity\">',this.createElSelect_(\"windowOpacity\",e),\"</span>\",\"</fieldset>\"].join(\"\")},t.createElColors_=function(){return S(\"div\",{className:\"vjs-track-settings-colors\",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join(\"\")})},t.createElFont_=function(){return S(\"div\",{className:\"vjs-track-settings-font\",innerHTML:['<fieldset class=\"vjs-font-percent vjs-track-setting\">',this.createElSelect_(\"fontPercent\",\"\",\"legend\"),\"</fieldset>\",'<fieldset class=\"vjs-edge-style vjs-track-setting\">',this.createElSelect_(\"edgeStyle\",\"\",\"legend\"),\"</fieldset>\",'<fieldset class=\"vjs-font-family vjs-track-setting\">',this.createElSelect_(\"fontFamily\",\"\",\"legend\"),\"</fieldset>\"].join(\"\")})},t.createElControls_=function(){var e=this.localize(\"restore all settings to the default values\");return S(\"div\",{className:\"vjs-track-settings-controls\",innerHTML:['<button type=\"button\" class=\"vjs-default-button\" title=\"'+e+'\">',this.localize(\"Reset\"),'<span class=\"vjs-control-text\"> '+e+\"</span>\",\"</button>\",'<button type=\"button\" class=\"vjs-done-button\">'+this.localize(\"Done\")+\"</button>\"].join(\"\")})},t.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()]},t.label=function(){return this.localize(\"Caption Settings Dialog\")},t.description=function(){return this.localize(\"Beginning of dialog window. Escape will cancel and close the window.\")},t.buildCSSClass=function(){return n.prototype.buildCSSClass.call(this)+\" vjs-text-track-settings\"},t.getValues=function(){var r=this;return function(i,n,e){return void 0===e&&(e=0),s(i).reduce(function(e,t){return n(e,i[t],t)},e)}(Cr,function(e,t,i){var n=function(e,t){return wr(e.options[e.options.selectedIndex].value,t)}(r.$(t.selector),t.parser);return void 0!==n&&(e[i]=n),e},{})},t.setValues=function(i){var n=this;a(Cr,function(e,t){!function(e,t,i){if(t)for(var n=0;n<e.options.length;n++)if(wr(e.options[n].value,i)===t){e.selectedIndex=n;break}}(n.$(e.selector),i[t],e.parser)})},t.setDefaults=function(){var i=this;a(Cr,function(e){var t=e.hasOwnProperty(\"default\")?e.default:0;i.$(e.selector).selectedIndex=t})},t.restoreSettings=function(){var e;try{e=JSON.parse(y.localStorage.getItem(dr))}catch(e){p.warn(e)}e&&this.setValues(e)},t.saveSettings=function(){if(this.options_.persistTextTrackSettings){var e=this.getValues();try{Object.keys(e).length?y.localStorage.setItem(dr,JSON.stringify(e)):y.localStorage.removeItem(dr)}catch(e){p.warn(e)}}},t.updateDisplay=function(){var e=this.player_.getChild(\"textTrackDisplay\");e&&e.updateDisplay()},t.conditionalBlur_=function(){this.previouslyActiveEl_=null;var e=this.player_.controlBar,t=e&&e.subsCapsButton,i=e&&e.captionsButton;t?t.focus():i&&i.focus()},e}(It);Re.registerComponent(\"TextTrackSettings\",Er);var xr=function(s){function e(e,t){var i,n=t.ResizeObserver||y.ResizeObserver;null===t.ResizeObserver&&(n=!1);var r=Ne({createEl:!n,reportTouchActivity:!1},t);return(i=s.call(this,e,r)||this).ResizeObserver=t.ResizeObserver||y.ResizeObserver,i.loadListener_=null,i.resizeObserver_=null,i.debouncedHandler_=function(n,r,s,a){var o;void 0===a&&(a=y);function e(){var e=this,t=arguments,i=function(){i=o=null,s||n.apply(e,t)};!o&&s&&n.apply(e,t),a.clearTimeout(o),o=a.setTimeout(i,r)}return e.cancel=function(){a.clearTimeout(o),o=null},e}(function(){i.resizeHandler()},100,!1,Ue(i)),n?(i.resizeObserver_=new i.ResizeObserver(i.debouncedHandler_),i.resizeObserver_.observe(e.el())):(i.loadListener_=function(){if(i.el_&&i.el_.contentWindow){var e=i.debouncedHandler_,t=i.unloadListener_=function(){de(this,\"resize\",e),de(this,\"unload\",t),t=null};he(i.el_.contentWindow,\"unload\",t),he(i.el_.contentWindow,\"resize\",e)}},i.one(\"load\",i.loadListener_)),i}He(e,s);var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,\"iframe\",{className:\"vjs-resize-manager\",tabIndex:-1},{\"aria-hidden\":\"true\"})},t.resizeHandler=function(){this.player_&&this.player_.trigger&&this.player_.trigger(\"playerresize\")},t.dispose=function(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off(\"load\",this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,s.prototype.dispose.call(this)},e}(Re);Re.registerComponent(\"ResizeManager\",xr);var Ar={trackingThreshold:30,liveTolerance:15},Ir=function(r){function e(e,t){var i,n=Ne(Ar,t,{createEl:!1});return(i=r.call(this,e,n)||this).reset_(),i.on(i.player_,\"durationchange\",i.handleDurationchange),et&&\"hidden\"in h&&\"visibilityState\"in h&&i.on(h,\"visibilitychange\",i.handleVisibilityChange),i}He(e,r);var t=e.prototype;return t.handleVisibilityChange=function(){this.player_.duration()===1/0&&(h.hidden?this.stopTracking():this.startTracking())},t.trackLive_=function(){var e=this.player_.seekable();if(e&&e.length){var t=Number(y.performance.now().toFixed(4)),i=-1===this.lastTime_?0:(t-this.lastTime_)/1e3;this.lastTime_=t,this.pastSeekEnd_=this.pastSeekEnd()+i;var n=this.liveCurrentTime(),r=this.player_.currentTime(),s=this.player_.paused()||this.seekedBehindLive_||Math.abs(n-r)>this.options_.liveTolerance;this.timeupdateSeen_&&n!==1/0||(s=!1),s!==this.behindLiveEdge_&&(this.behindLiveEdge_=s,this.trigger(\"liveedgechange\"))}},t.handleDurationchange=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass(\"vjs-liveui\"),this.startTracking()):(this.player_.removeClass(\"vjs-liveui\"),this.stopTracking())},t.startTracking=function(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLive_,30),this.trackLive_(),this.on(this.player_,[\"play\",\"pause\"],this.trackLive_),this.timeupdateSeen_?this.on(this.player_,\"seeked\",this.handleSeeked):(this.one(this.player_,\"play\",this.handlePlay),this.one(this.player_,\"timeupdate\",this.handleFirstTimeupdate)))},t.handleFirstTimeupdate=function(){this.timeupdateSeen_=!0,this.on(this.player_,\"seeked\",this.handleSeeked)},t.handleSeeked=function(){var e=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=!this.skipNextSeeked_&&2<e,this.skipNextSeeked_=!1,this.trackLive_()},t.handlePlay=function(){this.one(this.player_,\"timeupdate\",this.seekToLiveEdge)},t.reset_=function(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.skipNextSeeked_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,[\"play\",\"pause\"],this.trackLive_),this.off(this.player_,\"seeked\",this.handleSeeked),this.off(this.player_,\"play\",this.handlePlay),this.off(this.player_,\"timeupdate\",this.handleFirstTimeupdate),this.off(this.player_,\"timeupdate\",this.seekToLiveEdge)},t.stopTracking=function(){this.isTracking()&&(this.reset_(),this.trigger(\"liveedgechange\"))},t.seekableEnd=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.end(i));return t.length?t.sort()[t.length-1]:1/0},t.seekableStart=function(){for(var e=this.player_.seekable(),t=[],i=e?e.length:0;i--;)t.push(e.start(i));return t.length?t.sort()[0]:0},t.liveWindow=function(){var e=this.liveCurrentTime();return e===1/0?1/0:e-this.seekableStart()},t.isLive=function(){return this.isTracking()},t.atLiveEdge=function(){return!this.behindLiveEdge()},t.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd()},t.pastSeekEnd=function(){var e=this.seekableEnd();return-1!==this.lastSeekEnd_&&e!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=e,this.pastSeekEnd_},t.behindLiveEdge=function(){return this.behindLiveEdge_},t.isTracking=function(){return\"number\"==typeof this.trackingInterval_},t.seekToLiveEdge=function(){this.seekedBehindLive_=!1,this.atLiveEdge()||(this.skipNextSeeked_=!0,this.player_.currentTime(this.liveCurrentTime()))},t.dispose=function(){this.off(h,\"visibilitychange\",this.handleVisibilityChange),this.stopTracking(),r.prototype.dispose.call(this)},e}(Re);Re.registerComponent(\"LiveTracker\",Ir);function Pr(e){var t=e.el();if(t.hasAttribute(\"src\"))return e.triggerSourceset(t.src),!0;var i=e.$$(\"source\"),n=[],r=\"\";if(!i.length)return!1;for(var s=0;s<i.length;s++){var a=i[s].src;a&&-1===n.indexOf(a)&&n.push(a)}return!!n.length&&(1===n.length&&(r=n[0]),e.triggerSourceset(r),!0)}function Lr(e,t){for(var i={},n=0;n<e.length&&!((i=Object.getOwnPropertyDescriptor(e[n],t))&&i.set&&i.get);n++);return i.enumerable=!0,i.configurable=!0,i}function Or(s){var a=s.el();if(!a.resetSourceWatch_){var t={},e=function(e){return Lr([e.el(),y.HTMLMediaElement.prototype,y.Element.prototype,Ur],\"innerHTML\")}(s),i=function(r){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=r.apply(a,t);return Pr(s),n}};[\"append\",\"appendChild\",\"insertAdjacentHTML\"].forEach(function(e){a[e]&&(t[e]=a[e],a[e]=i(t[e]))}),Object.defineProperty(a,\"innerHTML\",Ne(e,{set:i(e.set)})),a.resetSourceWatch_=function(){a.resetSourceWatch_=null,Object.keys(t).forEach(function(e){a[e]=t[e]}),Object.defineProperty(a,\"innerHTML\",e)},s.one(\"sourceset\",a.resetSourceWatch_)}}function Dr(n){if(n.featuresSourceset){var r=n.el();if(!r.resetSourceset_){var i=function(e){return Lr([e.el(),y.HTMLMediaElement.prototype,Mr],\"src\")}(n),s=r.setAttribute,t=r.load;Object.defineProperty(r,\"src\",Ne(i,{set:function(e){var t=i.set.call(r,e);return n.triggerSourceset(r.src),t}})),r.setAttribute=function(e,t){var i=s.call(r,e,t);return/src/i.test(e)&&n.triggerSourceset(r.src),i},r.load=function(){var e=t.call(r);return Pr(n)||(n.triggerSourceset(\"\"),Or(n)),e},r.currentSrc?n.triggerSourceset(r.currentSrc):Pr(n)||Or(n),r.resetSourceset_=function(){r.resetSourceset_=null,r.load=t,r.setAttribute=s,Object.defineProperty(r,\"src\",i),r.resetSourceWatch_&&r.resetSourceWatch_()}}}}function Nr(t,i,n,e){function r(e){return Object.defineProperty(t,i,{value:e,enumerable:!0,writable:!0})}void 0===e&&(e=!0);var s={configurable:!0,enumerable:!0,get:function(){var e=n();return r(e),e}};return e&&(s.set=r),Object.defineProperty(t,i,s)}var Rr,Ur=Object.defineProperty({},\"innerHTML\",{get:function(){return this.cloneNode(!0).innerHTML},set:function(e){var t=h.createElement(this.nodeName.toLowerCase());t.innerHTML=e;for(var i=h.createDocumentFragment();t.childNodes.length;)i.appendChild(t.childNodes[0]);return this.innerText=\"\",y.Element.prototype.appendChild.call(this,i),this.innerHTML}}),Mr=Object.defineProperty({},\"src\",{get:function(){return this.hasAttribute(\"src\")?Rt(y.Element.prototype.getAttribute.call(this,\"src\")):\"\"},set:function(e){return y.Element.prototype.setAttribute.call(this,\"src\",e),e}}),Br=function(c){function o(e,t){var i;i=c.call(this,e,t)||this;var n=e.source,r=!1;if(n&&(i.el_.currentSrc!==n.src||e.tag&&3===e.tag.initNetworkState_)?i.setSource(n):i.handleLateInit_(i.el_),e.enableSourceset&&i.setupSourcesetHandling_(),i.el_.hasChildNodes()){for(var s=i.el_.childNodes,a=s.length,o=[];a--;){var u=s[a];\"track\"===u.nodeName.toLowerCase()&&(i.featuresNativeTextTracks?(i.remoteTextTrackEls().addTrackElement_(u),i.remoteTextTracks().addTrack(u.track),i.textTracks().addTrack(u.track),r||i.el_.hasAttribute(\"crossorigin\")||!Mt(u.src)||(r=!0)):o.push(u))}for(var l=0;l<o.length;l++)i.el_.removeChild(o[l])}return i.proxyNativeTracks_(),i.featuresNativeTextTracks&&r&&p.warn(\"Text Tracks are being loaded from another origin but the crossorigin attribute isn't used.\\nThis may prevent text tracks from loading.\"),i.restoreMetadataTracksInIOSNativePlayer_(),(nt||st||Ye)&&!0===e.nativeControlsForTouch&&i.setControls(!0),i.proxyWebkitFullscreen_(),i.triggerReady(),i}He(o,c);var e=o.prototype;return e.dispose=function(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),o.disposeMediaElement(this.el_),this.options_=null,c.prototype.dispose.call(this)},e.setupSourcesetHandling_=function(){Dr(this)},e.restoreMetadataTracksInIOSNativePlayer_=function(){function e(){i=[];for(var e=0;e<n.length;e++){var t=n[e];\"metadata\"===t.kind&&i.push({track:t,storedMode:t.mode})}}var i,n=this.textTracks();e(),n.addEventListener(\"change\",e),this.on(\"dispose\",function(){return n.removeEventListener(\"change\",e)});function r(){for(var e=0;e<i.length;e++){var t=i[e];\"disabled\"===t.track.mode&&t.track.mode!==t.storedMode&&(t.track.mode=t.storedMode)}n.removeEventListener(\"change\",r)}this.on(\"webkitbeginfullscreen\",function(){n.removeEventListener(\"change\",e),n.removeEventListener(\"change\",r),n.addEventListener(\"change\",r)}),this.on(\"webkitendfullscreen\",function(){n.removeEventListener(\"change\",e),n.addEventListener(\"change\",e),n.removeEventListener(\"change\",r)})},e.overrideNative_=function(e,t){var i=this;if(t===this[\"featuresNative\"+e+\"Tracks\"]){var n=e.toLowerCase();this[n+\"TracksListeners_\"]&&Object.keys(this[n+\"TracksListeners_\"]).forEach(function(e){i.el()[n+\"Tracks\"].removeEventListener(e,i[n+\"TracksListeners_\"][e])}),this[\"featuresNative\"+e+\"Tracks\"]=!t,this[n+\"TracksListeners_\"]=null,this.proxyNativeTracksForType_(n)}},e.overrideNativeAudioTracks=function(e){this.overrideNative_(\"Audio\",e)},e.overrideNativeVideoTracks=function(e){this.overrideNative_(\"Video\",e)},e.proxyNativeTracksForType_=function(i){var n=this,e=li[i],r=this.el()[e.getterName],s=this[e.getterName]();if(this[\"featuresNative\"+e.capitalName+\"Tracks\"]&&r&&r.addEventListener){var a={change:function(e){var t={type:\"change\",target:s,currentTarget:s,srcElement:s};s.trigger(t),\"text\"===i&&n[ci.remoteText.getterName]().trigger(t)},addtrack:function(e){s.addTrack(e.track)},removetrack:function(e){s.removeTrack(e.track)}},t=function(){for(var e=[],t=0;t<s.length;t++){for(var i=!1,n=0;n<r.length;n++)if(r[n]===s[t]){i=!0;break}i||e.push(s[t])}for(;e.length;)s.removeTrack(e.shift())};this[e.getterName+\"Listeners_\"]=a,Object.keys(a).forEach(function(t){var i=a[t];r.addEventListener(t,i),n.on(\"dispose\",function(e){return r.removeEventListener(t,i)})}),this.on(\"loadstart\",t),this.on(\"dispose\",function(e){return n.off(\"loadstart\",t)})}},e.proxyNativeTracks_=function(){var t=this;li.names.forEach(function(e){t.proxyNativeTracksForType_(e)})},e.createEl=function(){var e=this.options_.tag;if(!e||!this.options_.playerElIngest&&!this.movingMediaElementInDOM){if(e){var t=e.cloneNode(!0);e.parentNode&&e.parentNode.insertBefore(t,e),o.disposeMediaElement(e),e=t}else{e=h.createElement(\"video\");var i=Ne({},this.options_.tag&&P(this.options_.tag));nt&&!0===this.options_.nativeControlsForTouch||delete i.controls,I(e,m(i,{id:this.options_.techId,class:\"vjs-tech\"}))}e.playerId=this.options_.playerId}\"undefined\"!=typeof this.options_.preload&&O(e,\"preload\",this.options_.preload);for(var n=[\"loop\",\"muted\",\"playsinline\",\"autoplay\"],r=0;r<n.length;r++){var s=n[r],a=this.options_[s];\"undefined\"!=typeof a&&(a?O(e,s,s):D(e,s),e[s]=a)}return e},e.handleLateInit_=function(e){if(0!==e.networkState&&3!==e.networkState){if(0===e.readyState){var t=!1,i=function(){t=!0};this.on(\"loadstart\",i);var n=function(){t||this.trigger(\"loadstart\")};return this.on(\"loadedmetadata\",n),void this.ready(function(){this.off(\"loadstart\",i),this.off(\"loadedmetadata\",n),t||this.trigger(\"loadstart\")})}var r=[\"loadstart\"];r.push(\"loadedmetadata\"),2<=e.readyState&&r.push(\"loadeddata\"),3<=e.readyState&&r.push(\"canplay\"),4<=e.readyState&&r.push(\"canplaythrough\"),this.ready(function(){r.forEach(function(e){this.trigger(e)},this)})}},e.setCurrentTime=function(e){try{this.el_.currentTime=e}catch(e){p(e,\"Video is not ready. (Video.js)\")}},e.duration=function(){var t=this;if(this.el_.duration===1/0&&Xe&&Je&&0===this.el_.currentTime){return this.on(\"timeupdate\",function e(){0<t.el_.currentTime&&(t.el_.duration===1/0&&t.trigger(\"durationchange\"),t.off(\"timeupdate\",e))}),NaN}return this.el_.duration||NaN},e.width=function(){return this.el_.offsetWidth},e.height=function(){return this.el_.offsetHeight},e.proxyWebkitFullscreen_=function(){var e=this;if(\"webkitDisplayingFullscreen\"in this.el_){var t=function(){this.trigger(\"fullscreenchange\",{isFullscreen:!1})},i=function(){\"webkitPresentationMode\"in this.el_&&\"picture-in-picture\"!==this.el_.webkitPresentationMode&&(this.one(\"webkitendfullscreen\",t),this.trigger(\"fullscreenchange\",{isFullscreen:!0,nativeIOSFullscreen:!0}))};this.on(\"webkitbeginfullscreen\",i),this.on(\"dispose\",function(){e.off(\"webkitbeginfullscreen\",i),e.off(\"webkitendfullscreen\",t)})}},e.supportsFullScreen=function(){if(\"function\"==typeof this.el_.webkitEnterFullScreen){var e=y.navigator&&y.navigator.userAgent||\"\";if(/Android/.test(e)||!/Chrome|Mac OS X 10.5/.test(e))return!0}return!1},e.enterFullScreen=function(){var e=this.el_;if(e.paused&&e.networkState<=e.HAVE_METADATA)kt(this.el_.play()),this.setTimeout(function(){e.pause();try{e.webkitEnterFullScreen()}catch(e){this.trigger(\"fullscreenerror\",e)}},0);else try{e.webkitEnterFullScreen()}catch(e){this.trigger(\"fullscreenerror\",e)}},e.exitFullScreen=function(){this.el_.webkitDisplayingFullscreen?this.el_.webkitExitFullScreen():this.trigger(\"fullscreenerror\",new Error(\"The video is not fullscreen\"))},e.requestPictureInPicture=function(){return this.el_.requestPictureInPicture()},e.src=function(e){if(void 0===e)return this.el_.src;this.setSrc(e)},e.reset=function(){o.resetMediaElement(this.el_)},e.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc},e.setControls=function(e){this.el_.controls=!!e},e.addTextTrack=function(e,t,i){return this.featuresNativeTextTracks?this.el_.addTextTrack(e,t,i):c.prototype.addTextTrack.call(this,e,t,i)},e.createRemoteTextTrack=function(e){if(!this.featuresNativeTextTracks)return c.prototype.createRemoteTextTrack.call(this,e);var t=h.createElement(\"track\");return e.kind&&(t.kind=e.kind),e.label&&(t.label=e.label),(e.language||e.srclang)&&(t.srclang=e.language||e.srclang),e.default&&(t.default=e.default),e.id&&(t.id=e.id),e.src&&(t.src=e.src),t},e.addRemoteTextTrack=function(e,t){var i=c.prototype.addRemoteTextTrack.call(this,e,t);return this.featuresNativeTextTracks&&this.el().appendChild(i),i},e.removeRemoteTextTrack=function(e){if(c.prototype.removeRemoteTextTrack.call(this,e),this.featuresNativeTextTracks)for(var t=this.$$(\"track\"),i=t.length;i--;)e!==t[i]&&e!==t[i].track||this.el().removeChild(t[i])},e.getVideoPlaybackQuality=function(){if(\"function\"==typeof this.el().getVideoPlaybackQuality)return this.el().getVideoPlaybackQuality();var e={};return\"undefined\"!=typeof this.el().webkitDroppedFrameCount&&\"undefined\"!=typeof this.el().webkitDecodedFrameCount&&(e.droppedVideoFrames=this.el().webkitDroppedFrameCount,e.totalVideoFrames=this.el().webkitDecodedFrameCount),y.performance&&\"function\"==typeof y.performance.now?e.creationTime=y.performance.now():y.performance&&y.performance.timing&&\"number\"==typeof y.performance.timing.navigationStart&&(e.creationTime=y.Date.now()-y.performance.timing.navigationStart),e},o}(Vi);Nr(Br,\"TEST_VID\",function(){if(v()){var e=h.createElement(\"video\"),t=h.createElement(\"track\");return t.kind=\"captions\",t.srclang=\"en\",t.label=\"English\",e.appendChild(t),e}}),Br.isSupported=function(){try{Br.TEST_VID.volume=.5}catch(e){return!1}return!(!Br.TEST_VID||!Br.TEST_VID.canPlayType)},Br.canPlayType=function(e){return Br.TEST_VID.canPlayType(e)},Br.canPlaySource=function(e,t){return Br.canPlayType(e.type)},Br.canControlVolume=function(){try{var e=Br.TEST_VID.volume;return Br.TEST_VID.volume=e/2+.1,e!==Br.TEST_VID.volume}catch(e){return!1}},Br.canMuteVolume=function(){try{var e=Br.TEST_VID.muted;return Br.TEST_VID.muted=!e,Br.TEST_VID.muted?O(Br.TEST_VID,\"muted\",\"muted\"):D(Br.TEST_VID,\"muted\"),e!==Br.TEST_VID.muted}catch(e){return!1}},Br.canControlPlaybackRate=function(){if(Xe&&Je&&Ze<58)return!1;try{var e=Br.TEST_VID.playbackRate;return Br.TEST_VID.playbackRate=e/2+.1,e!==Br.TEST_VID.playbackRate}catch(e){return!1}},Br.canOverrideAttributes=function(){try{var e=function(){};Object.defineProperty(h.createElement(\"video\"),\"src\",{get:e,set:e}),Object.defineProperty(h.createElement(\"audio\"),\"src\",{get:e,set:e}),Object.defineProperty(h.createElement(\"video\"),\"innerHTML\",{get:e,set:e}),Object.defineProperty(h.createElement(\"audio\"),\"innerHTML\",{get:e,set:e})}catch(e){return!1}return!0},Br.supportsNativeTextTracks=function(){return ot||at&&Je},Br.supportsNativeVideoTracks=function(){return!(!Br.TEST_VID||!Br.TEST_VID.videoTracks)},Br.supportsNativeAudioTracks=function(){return!(!Br.TEST_VID||!Br.TEST_VID.audioTracks)},Br.Events=[\"loadstart\",\"suspend\",\"abort\",\"error\",\"emptied\",\"stalled\",\"loadedmetadata\",\"loadeddata\",\"canplay\",\"canplaythrough\",\"playing\",\"waiting\",\"seeking\",\"seeked\",\"ended\",\"durationchange\",\"timeupdate\",\"progress\",\"play\",\"pause\",\"ratechange\",\"resize\",\"volumechange\"],[[\"featuresVolumeControl\",\"canControlVolume\"],[\"featuresMuteControl\",\"canMuteVolume\"],[\"featuresPlaybackRate\",\"canControlPlaybackRate\"],[\"featuresSourceset\",\"canOverrideAttributes\"],[\"featuresNativeTextTracks\",\"supportsNativeTextTracks\"],[\"featuresNativeVideoTracks\",\"supportsNativeVideoTracks\"],[\"featuresNativeAudioTracks\",\"supportsNativeAudioTracks\"]].forEach(function(e){var t=e[0],i=e[1];Nr(Br.prototype,t,function(){return Br[i]()},!0)}),Br.prototype.movingMediaElementInDOM=!at,Br.prototype.featuresFullscreenResize=!0,Br.prototype.featuresProgressEvents=!0,Br.prototype.featuresTimeupdateEvents=!0,Br.patchCanPlayType=function(){4<=Ke&&!$e&&!Je&&(Rr=Br.TEST_VID&&Br.TEST_VID.constructor.prototype.canPlayType,Br.TEST_VID.constructor.prototype.canPlayType=function(e){return e&&/^application\\/(?:x-|vnd\\.apple\\.)mpegurl/i.test(e)?\"maybe\":Rr.call(this,e)})},Br.unpatchCanPlayType=function(){var e=Br.TEST_VID.constructor.prototype.canPlayType;return Rr&&(Br.TEST_VID.constructor.prototype.canPlayType=Rr),e},Br.patchCanPlayType(),Br.disposeMediaElement=function(e){if(e){for(e.parentNode&&e.parentNode.removeChild(e);e.hasChildNodes();)e.removeChild(e.firstChild);e.removeAttribute(\"src\"),\"function\"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},Br.resetMediaElement=function(e){if(e){for(var t=e.querySelectorAll(\"source\"),i=t.length;i--;)e.removeChild(t[i]);e.removeAttribute(\"src\"),\"function\"==typeof e.load&&function(){try{e.load()}catch(e){}}()}},[\"muted\",\"defaultMuted\",\"autoplay\",\"controls\",\"loop\",\"playsinline\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]||this.el_.hasAttribute(e)}}),[\"muted\",\"defaultMuted\",\"autoplay\",\"loop\",\"playsinline\"].forEach(function(t){Br.prototype[\"set\"+De(t)]=function(e){(this.el_[t]=e)?this.el_.setAttribute(t,t):this.el_.removeAttribute(t)}}),[\"paused\",\"currentTime\",\"buffered\",\"volume\",\"poster\",\"preload\",\"error\",\"seeking\",\"seekable\",\"ended\",\"playbackRate\",\"defaultPlaybackRate\",\"played\",\"networkState\",\"readyState\",\"videoWidth\",\"videoHeight\",\"crossOrigin\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]}}),[\"volume\",\"src\",\"poster\",\"preload\",\"playbackRate\",\"defaultPlaybackRate\",\"crossOrigin\"].forEach(function(t){Br.prototype[\"set\"+De(t)]=function(e){this.el_[t]=e}}),[\"pause\",\"load\",\"play\"].forEach(function(e){Br.prototype[e]=function(){return this.el_[e]()}}),Vi.withSourceHandlers(Br),Br.nativeSourceHandler={},Br.nativeSourceHandler.canPlayType=function(e){try{return Br.TEST_VID.canPlayType(e)}catch(e){return\"\"}},Br.nativeSourceHandler.canHandleSource=function(e,t){if(e.type)return Br.nativeSourceHandler.canPlayType(e.type);if(e.src){var i=Ut(e.src);return Br.nativeSourceHandler.canPlayType(\"video/\"+i)}return\"\"},Br.nativeSourceHandler.handleSource=function(e,t,i){t.setSrc(e.src)},Br.nativeSourceHandler.dispose=function(){},Br.registerSourceHandler(Br.nativeSourceHandler),Vi.registerTech(\"Html5\",Br);var jr=[\"progress\",\"abort\",\"suspend\",\"emptied\",\"stalled\",\"loadedmetadata\",\"loadeddata\",\"timeupdate\",\"resize\",\"volumechange\",\"texttrackchange\"],Fr={canplay:\"CanPlay\",canplaythrough:\"CanPlayThrough\",playing:\"Playing\",seeked:\"Seeked\"},Hr=[\"tiny\",\"xsmall\",\"small\",\"medium\",\"large\",\"xlarge\",\"huge\"],Vr={};Hr.forEach(function(e){var t=\"x\"===e.charAt(0)?\"x-\"+e.substring(1):e;Vr[e]=\"vjs-layout-\"+t});var qr={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},Wr=function(c){function l(e,t,i){var n;if(e.id=e.id||t.id||\"vjs_video_\"+ne(),(t=m(l.getTagSettings(e),t)).initChildren=!1,t.createEl=!1,t.evented=!1,t.reportTouchActivity=!1,!t.language)if(\"function\"==typeof e.closest){var r=e.closest(\"[lang]\");r&&r.getAttribute&&(t.language=r.getAttribute(\"lang\"))}else for(var s=e;s&&1===s.nodeType;){if(P(s).hasOwnProperty(\"lang\")){t.language=s.getAttribute(\"lang\");break}s=s.parentNode}if((n=c.call(this,null,t,i)||this).boundDocumentFullscreenChange_=ge(Ue(n),n.documentFullscreenChange_),n.boundFullWindowOnEscKey_=ge(Ue(n),n.fullWindowOnEscKey),n.isFullscreen_=!1,n.log=f(n.id_),n.fsApi_=ft,n.isPosterFromTech_=!1,n.queuedCallbacks_=[],n.isReady_=!1,n.hasStarted_=!1,n.userActive_=!1,!n.options_||!n.options_.techOrder||!n.options_.techOrder.length)throw new Error(\"No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?\");if(n.tag=e,n.tagAttributes=e&&P(e),n.language(n.options_.language),t.languages){var a={};Object.getOwnPropertyNames(t.languages).forEach(function(e){a[e.toLowerCase()]=t.languages[e]}),n.languages_=a}else n.languages_=l.prototype.options_.languages;n.resetCache_(),n.poster_=t.poster||\"\",n.controls_=!!t.controls,e.controls=!1,e.removeAttribute(\"controls\"),n.changingSrc_=!1,n.playCallbacks_=[],n.playTerminatedQueue_=[],e.hasAttribute(\"autoplay\")?n.autoplay(!0):n.autoplay(n.options_.autoplay),t.plugins&&Object.keys(t.plugins).forEach(function(e){if(\"function\"!=typeof n[e])throw new Error('plugin \"'+e+'\" does not exist')}),n.scrubbing_=!1,n.el_=n.createEl(),Ie(Ue(n),{eventBusKey:\"el_\"}),n.fsApi_.requestFullscreen&&(he(h,n.fsApi_.fullscreenchange,n.boundDocumentFullscreenChange_),n.on(n.fsApi_.fullscreenchange,n.boundDocumentFullscreenChange_)),n.fluid_&&n.on(\"playerreset\",n.updateStyleEl_);var o=Ne(n.options_);t.plugins&&Object.keys(t.plugins).forEach(function(e){n[e](t.plugins[e])}),n.options_.playerOptions=o,n.middleware_=[],n.initChildren(),n.isAudio(\"audio\"===e.nodeName.toLowerCase()),n.controls()?n.addClass(\"vjs-controls-enabled\"):n.addClass(\"vjs-controls-disabled\"),n.el_.setAttribute(\"role\",\"region\"),n.isAudio()?n.el_.setAttribute(\"aria-label\",n.localize(\"Audio Player\")):n.el_.setAttribute(\"aria-label\",n.localize(\"Video Player\")),n.isAudio()&&n.addClass(\"vjs-audio\"),n.flexNotSupported_()&&n.addClass(\"vjs-no-flex\"),nt&&n.addClass(\"vjs-touch-enabled\"),at||n.addClass(\"vjs-workinghover\"),l.players[n.id_]=Ue(n);var u=d.split(\".\")[0];return n.addClass(\"vjs-v\"+u),n.userActive(!0),n.reportUserActivity(),n.one(\"play\",n.listenForUserActivity_),n.on(\"stageclick\",n.handleStageClick_),n.on(\"keydown\",n.handleKeyDown),n.breakpoints(n.options_.breakpoints),n.responsive(n.options_.responsive),n}He(l,c);var e=l.prototype;return e.dispose=function(){var n=this;this.trigger(\"dispose\"),this.off(\"dispose\"),de(h,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),de(h,\"keydown\",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),l.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=\"\"),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),function(e){Wi[e.id()]=null}(this),hi.names.forEach(function(e){var t=hi[e],i=n[t.getterName]();i&&i.off&&i.off()}),c.prototype.dispose.call(this)},e.createEl=function(){var t,i=this.tag,e=this.playerElIngest_=i.parentNode&&i.parentNode.hasAttribute&&i.parentNode.hasAttribute(\"data-vjs-player\"),n=\"video-js\"===this.tag.tagName.toLowerCase();e?t=this.el_=i.parentNode:n||(t=this.el_=c.prototype.createEl.call(this,\"div\"));var r=P(i);if(n){for(t=this.el_=i,i=this.tag=h.createElement(\"video\");t.children.length;)i.appendChild(t.firstChild);w(t,\"video-js\")||E(t,\"video-js\"),t.appendChild(i),e=this.playerElIngest_=t,Object.keys(t).forEach(function(e){try{i[e]=t[e]}catch(e){}})}if(i.setAttribute(\"tabindex\",\"-1\"),r.tabindex=\"-1\",(et||Je&&it)&&(i.setAttribute(\"role\",\"application\"),r.role=\"application\"),i.removeAttribute(\"width\"),i.removeAttribute(\"height\"),\"width\"in r&&delete r.width,\"height\"in r&&delete r.height,Object.getOwnPropertyNames(r).forEach(function(e){n&&\"class\"===e||t.setAttribute(e,r[e]),n&&i.setAttribute(e,r[e])}),i.playerId=i.id,i.id+=\"_html5_api\",i.className=\"vjs-tech\",i.player=t.player=this,this.addClass(\"vjs-paused\"),!0!==y.VIDEOJS_NO_DYNAMIC_STYLE){this.styleEl_=Z(\"vjs-styles-dimensions\");var s=G(\".vjs-styles-defaults\"),a=G(\"head\");a.insertBefore(this.styleEl_,s?s.nextSibling:a.firstChild)}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);for(var o=i.getElementsByTagName(\"a\"),u=0;u<o.length;u++){var l=o.item(u);E(l,\"vjs-hidden\"),l.setAttribute(\"hidden\",\"hidden\")}return i.initNetworkState_=i.networkState,i.parentNode&&!e&&i.parentNode.insertBefore(t,i),C(i,t),this.children_.unshift(i),this.el_.setAttribute(\"lang\",this.language_),this.el_=t},e.crossOrigin=function(e){if(!e)return this.techGet_(\"crossOrigin\");\"anonymous\"===e||\"use-credentials\"===e?this.techCall_(\"setCrossOrigin\",e):p.warn('crossOrigin must be \"anonymous\" or \"use-credentials\", given \"'+e+'\"')},e.width=function(e){return this.dimension(\"width\",e)},e.height=function(e){return this.dimension(\"height\",e)},e.dimension=function(e,t){var i=e+\"_\";if(void 0===t)return this[i]||0;if(\"\"===t||\"auto\"===t)return this[i]=void 0,void this.updateStyleEl_();var n=parseFloat(t);isNaN(n)?p.error('Improper value \"'+t+'\" supplied for for '+e):(this[i]=n,this.updateStyleEl_())},e.fluid=function(e){if(void 0===e)return!!this.fluid_;this.fluid_=!!e,xe(this)&&this.off(\"playerreset\",this.updateStyleEl_),e?(this.addClass(\"vjs-fluid\"),this.fill(!1),function(e,t){xe(e)?t():(e.eventedCallbacks||(e.eventedCallbacks=[]),e.eventedCallbacks.push(t))}(function(){this.on(\"playerreset\",this.updateStyleEl_)})):this.removeClass(\"vjs-fluid\"),this.updateStyleEl_()},e.fill=function(e){if(void 0===e)return!!this.fill_;this.fill_=!!e,e?(this.addClass(\"vjs-fill\"),this.fluid(!1)):this.removeClass(\"vjs-fill\")},e.aspectRatio=function(e){if(void 0===e)return this.aspectRatio_;if(!/^\\d+\\:\\d+$/.test(e))throw new Error(\"Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.\");this.aspectRatio_=e,this.fluid(!0),this.updateStyleEl_()},e.updateStyleEl_=function(){if(!0!==y.VIDEOJS_NO_DYNAMIC_STYLE){var e,t,i,n=(void 0!==this.aspectRatio_&&\"auto\"!==this.aspectRatio_?this.aspectRatio_:0<this.videoWidth()?this.videoWidth()+\":\"+this.videoHeight():\"16:9\").split(\":\"),r=n[1]/n[0];e=void 0!==this.width_?this.width_:void 0!==this.height_?this.height_/r:this.videoWidth()||300,t=void 0!==this.height_?this.height_:e*r,i=/^[^a-zA-Z]/.test(this.id())?\"dimensions-\"+this.id():this.id()+\"-dimensions\",this.addClass(i),ee(this.styleEl_,\"\\n      .\"+i+\" {\\n        width: \"+e+\"px;\\n        height: \"+t+\"px;\\n      }\\n\\n      .\"+i+\".vjs-fluid {\\n        padding-top: \"+100*r+\"%;\\n      }\\n    \")}else{var s=\"number\"==typeof this.width_?this.width_:this.options_.width,a=\"number\"==typeof this.height_?this.height_:this.options_.height,o=this.tech_&&this.tech_.el();o&&(0<=s&&(o.width=s),0<=a&&(o.height=a))}},e.loadTech_=function(e,t){var i=this;this.tech_&&this.unloadTech_();var n=De(e),r=e.charAt(0).toLowerCase()+e.slice(1);\"Html5\"!==n&&this.tag&&(Vi.getTech(\"Html5\").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=n,this.isReady_=!1;var s={source:t,autoplay:\"string\"!=typeof this.autoplay()&&this.autoplay(),nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+\"_\"+r+\"_api\",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,\"vtt.js\":this.options_[\"vtt.js\"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};hi.names.forEach(function(e){var t=hi[e];s[t.getterName]=i[t.privateName]}),m(s,this.options_[n]),m(s,this.options_[r]),m(s,this.options_[e.toLowerCase()]),this.tag&&(s.tag=this.tag),t&&t.src===this.cache_.src&&0<this.cache_.currentTime&&(s.startTime=this.cache_.currentTime);var a=Vi.getTech(e);if(!a)throw new Error(\"No Tech named '\"+n+\"' exists! '\"+n+\"' should be registered using videojs.registerTech()'\");this.tech_=new a(s),this.tech_.ready(ge(this,this.handleTechReady_),!0),Et(this.textTracksJson_||[],this.tech_),jr.forEach(function(e){i.on(i.tech_,e,i[\"handleTech\"+De(e)+\"_\"])}),Object.keys(Fr).forEach(function(t){i.on(i.tech_,t,function(e){0===i.tech_.playbackRate()&&i.tech_.seeking()?i.queuedCallbacks_.push({callback:i[\"handleTech\"+Fr[t]+\"_\"].bind(i),event:e}):i[\"handleTech\"+Fr[t]+\"_\"](e)})}),this.on(this.tech_,\"loadstart\",this.handleTechLoadStart_),this.on(this.tech_,\"sourceset\",this.handleTechSourceset_),this.on(this.tech_,\"waiting\",this.handleTechWaiting_),this.on(this.tech_,\"ended\",this.handleTechEnded_),this.on(this.tech_,\"seeking\",this.handleTechSeeking_),this.on(this.tech_,\"play\",this.handleTechPlay_),this.on(this.tech_,\"firstplay\",this.handleTechFirstPlay_),this.on(this.tech_,\"pause\",this.handleTechPause_),this.on(this.tech_,\"durationchange\",this.handleTechDurationChange_),this.on(this.tech_,\"fullscreenchange\",this.handleTechFullscreenChange_),this.on(this.tech_,\"fullscreenerror\",this.handleTechFullscreenError_),this.on(this.tech_,\"enterpictureinpicture\",this.handleTechEnterPictureInPicture_),this.on(this.tech_,\"leavepictureinpicture\",this.handleTechLeavePictureInPicture_),this.on(this.tech_,\"error\",this.handleTechError_),this.on(this.tech_,\"loadedmetadata\",this.updateStyleEl_),this.on(this.tech_,\"posterchange\",this.handleTechPosterChange_),this.on(this.tech_,\"textdata\",this.handleTechTextData_),this.on(this.tech_,\"ratechange\",this.handleTechRateChange_),this.usingNativeControls(this.techGet_(\"controls\")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode===this.el()||\"Html5\"===n&&this.tag||C(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null)},e.unloadTech_=function(){var i=this;hi.names.forEach(function(e){var t=hi[e];i[t.privateName]=i[t.getterName]()}),this.textTracksJson_=wt(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_=\"\",this.trigger(\"posterchange\")),this.isPosterFromTech_=!1},e.tech=function(e){return void 0===e&&p.warn(\"Using the tech directly can be dangerous. I hope you know what you're doing.\\nSee https://github.com/videojs/video.js/issues/2617 for more info.\\n\"),this.tech_},e.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,\"mouseup\",this.handleTechClick_),this.on(this.tech_,\"dblclick\",this.handleTechDoubleClick_),this.on(this.tech_,\"touchstart\",this.handleTechTouchStart_),this.on(this.tech_,\"touchmove\",this.handleTechTouchMove_),this.on(this.tech_,\"touchend\",this.handleTechTouchEnd_),this.on(this.tech_,\"tap\",this.handleTechTap_)},e.removeTechControlsListeners_=function(){this.off(this.tech_,\"tap\",this.handleTechTap_),this.off(this.tech_,\"touchstart\",this.handleTechTouchStart_),this.off(this.tech_,\"touchmove\",this.handleTechTouchMove_),this.off(this.tech_,\"touchend\",this.handleTechTouchEnd_),this.off(this.tech_,\"mouseup\",this.handleTechClick_),this.off(this.tech_,\"dblclick\",this.handleTechDoubleClick_)},e.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_(\"setVolume\",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_()},e.handleTechLoadStart_=function(){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-seeking\"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger(\"loadstart\")):(this.trigger(\"loadstart\"),this.trigger(\"firstplay\")),this.manualAutoplay_(this.autoplay())},e.manualAutoplay_=function(t){var n=this;if(this.tech_&&\"string\"==typeof t){var e,i=function(){var e=n.muted();n.muted(!0);function t(){n.muted(e)}n.playTerminatedQueue_.push(t);var i=n.play();if(St(i))return i.catch(t)};if(\"any\"===t&&!0!==this.muted()?St(e=this.play())&&(e=e.catch(i)):e=\"muted\"===t&&!0!==this.muted()?i():this.play(),St(e))return e.then(function(){n.trigger({type:\"autoplay-success\",autoplay:t})}).catch(function(e){n.trigger({type:\"autoplay-failure\",autoplay:t})})}},e.updateSourceCaches_=function(e){void 0===e&&(e=\"\");var t=e,i=\"\";\"string\"!=typeof t&&(t=e.src,i=e.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],t&&!i&&(i=function(e,t){if(!t)return\"\";if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;var i=e.cache_.sources.filter(function(e){return e.src===t});if(i.length)return i[0].type;for(var n=e.$$(\"source\"),r=0;r<n.length;r++){var s=n[r];if(s.type&&s.src&&s.src===t)return s.type}return Zi(t)}(this,t)),this.cache_.source=Ne({},e,{src:t,type:i});for(var n=this.cache_.sources.filter(function(e){return e.src&&e.src===t}),r=[],s=this.$$(\"source\"),a=[],o=0;o<s.length;o++){var u=P(s[o]);r.push(u),u.src&&u.src===t&&a.push(u.src)}a.length&&!n.length?this.cache_.sources=r:n.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=t},e.handleTechSourceset_=function(e){var i=this;if(!this.changingSrc_){var t=function(e){return i.updateSourceCaches_(e)},n=this.currentSource().src,r=e.src;n&&!/^blob:/.test(n)&&/^blob:/.test(r)&&(this.lastSource_&&(this.lastSource_.tech===r||this.lastSource_.player===n)||(t=function(){})),t(r),e.src||this.tech_.any([\"sourceset\",\"loadstart\"],function(e){if(\"sourceset\"!==e.type){var t=i.techGet(\"currentSrc\");i.lastSource_.tech=t,i.updateSourceCaches_(t)}})}this.lastSource_={player:this.currentSource().src,tech:e.src},this.trigger({src:e.src,type:\"sourceset\"})},e.hasStarted=function(e){if(void 0===e)return this.hasStarted_;e!==this.hasStarted_&&(this.hasStarted_=e,this.hasStarted_?(this.addClass(\"vjs-has-started\"),this.trigger(\"firstplay\")):this.removeClass(\"vjs-has-started\"))},e.handleTechPlay_=function(){this.removeClass(\"vjs-ended\"),this.removeClass(\"vjs-paused\"),this.addClass(\"vjs-playing\"),this.hasStarted(!0),this.trigger(\"play\")},e.handleTechRateChange_=function(){0<this.tech_.playbackRate()&&0===this.cache_.lastPlaybackRate&&(this.queuedCallbacks_.forEach(function(e){return e.callback(e.event)}),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger(\"ratechange\")},e.handleTechWaiting_=function(){var t=this;this.addClass(\"vjs-waiting\"),this.trigger(\"waiting\");var i=this.currentTime();this.on(\"timeupdate\",function e(){i!==t.currentTime()&&(t.removeClass(\"vjs-waiting\"),t.off(\"timeupdate\",e))})},e.handleTechCanPlay_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"canplay\")},e.handleTechCanPlayThrough_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"canplaythrough\")},e.handleTechPlaying_=function(){this.removeClass(\"vjs-waiting\"),this.trigger(\"playing\")},e.handleTechSeeking_=function(){this.addClass(\"vjs-seeking\"),this.trigger(\"seeking\")},e.handleTechSeeked_=function(){this.removeClass(\"vjs-seeking\"),this.removeClass(\"vjs-ended\"),this.trigger(\"seeked\")},e.handleTechFirstPlay_=function(){this.options_.starttime&&(p.warn(\"Passing the `starttime` option to the player will be deprecated in 6.0\"),this.currentTime(this.options_.starttime)),this.addClass(\"vjs-has-started\"),this.trigger(\"firstplay\")},e.handleTechPause_=function(){this.removeClass(\"vjs-playing\"),this.addClass(\"vjs-paused\"),this.trigger(\"pause\")},e.handleTechEnded_=function(){this.addClass(\"vjs-ended\"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger(\"ended\")},e.handleTechDurationChange_=function(){this.duration(this.techGet_(\"duration\"))},e.handleTechClick_=function(e){W(e)&&this.controls_&&(this.paused()?kt(this.play()):this.pause())},e.handleTechDoubleClick_=function(t){this.controls_&&(Array.prototype.some.call(this.$$(\".vjs-control-bar, .vjs-modal-dialog\"),function(e){return e.contains(t.target)})||void 0!==this.options_&&void 0!==this.options_.userActions&&void 0!==this.options_.userActions.doubleClick&&!1===this.options_.userActions.doubleClick||(void 0!==this.options_&&void 0!==this.options_.userActions&&\"function\"==typeof this.options_.userActions.doubleClick?this.options_.userActions.doubleClick.call(this,t):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen()))},e.handleTechTap_=function(){this.userActive(!this.userActive())},e.handleTechTouchStart_=function(){this.userWasActive=this.userActive()},e.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity()},e.handleTechTouchEnd_=function(e){e.preventDefault()},e.handleStageClick_=function(){this.reportUserActivity()},e.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass(\"vjs-fullscreen\"):this.removeClass(\"vjs-fullscreen\")},e.documentFullscreenChange_=function(e){var t=e.target.player;if(!t||t===this){var i=this.el(),n=h[this.fsApi_.fullscreenElement]===i;!n&&i.matches?n=i.matches(\":\"+this.fsApi_.fullscreen):!n&&i.msMatchesSelector&&(n=i.msMatchesSelector(\":\"+this.fsApi_.fullscreen)),this.isFullscreen(n)}},e.handleTechFullscreenChange_=function(e,t){t&&(t.nativeIOSFullscreen&&this.toggleClass(\"vjs-ios-native-fs\"),this.isFullscreen(t.isFullscreen))},e.handleTechFullscreenError_=function(e,t){this.trigger(\"fullscreenerror\",t)},e.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass(\"vjs-picture-in-picture\"):this.removeClass(\"vjs-picture-in-picture\")},e.handleTechEnterPictureInPicture_=function(e){this.isInPictureInPicture(!0)},e.handleTechLeavePictureInPicture_=function(e){this.isInPictureInPicture(!1)},e.handleTechError_=function(){var e=this.tech_.error();this.error(e)},e.handleTechTextData_=function(e,t){var i=null;1<arguments.length&&(i=t),this.trigger(\"textdata\",i)},e.getCache=function(){return this.cache_},e.resetCache_=function(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:\"\",source:{},sources:[],volume:1}},e.techCall_=function(e,t){this.ready(function(){if(e in Yi)return function(e,t,i,n){return t[i](e.reduce(Qi(i),n))}(this.middleware_,this.tech_,e,t);if(e in $i)return Xi(this.middleware_,this.tech_,e,t);try{this.tech_&&this.tech_[e](t)}catch(e){throw p(e),e}},!0)},e.techGet_=function(t){if(this.tech_&&this.tech_.isReady_){if(t in Ki)return function(e,t,i){return e.reduceRight(Qi(i),t[i]())}(this.middleware_,this.tech_,t);if(t in $i)return Xi(this.middleware_,this.tech_,t);try{return this.tech_[t]()}catch(e){if(void 0===this.tech_[t])throw p(\"Video.js: \"+t+\" method not defined for \"+this.techName_+\" playback technology.\",e),e;if(\"TypeError\"===e.name)throw p(\"Video.js: \"+t+\" unavailable on \"+this.techName_+\" playback technology element.\",e),this.tech_.isReady_=!1,e;throw p(e),e}}},e.play=function(){var t=this,e=this.options_.Promise||y.Promise;return e?new e(function(e){t.play_(e)}):this.play_()},e.play_=function(e){var t=this;void 0===e&&(e=kt),this.playCallbacks_.push(e);var i=Boolean(!this.changingSrc_&&(this.src()||this.currentSrc()));if(this.waitToPlay_&&(this.off([\"ready\",\"loadstart\"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!i)return this.waitToPlay_=function(e){t.play_()},this.one([\"ready\",\"loadstart\"],this.waitToPlay_),void(i||!ot&&!at||this.load());var n=this.techGet_(\"play\");null===n?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(n)},e.runPlayTerminatedQueue_=function(){var e=this.playTerminatedQueue_.slice(0);this.playTerminatedQueue_=[],e.forEach(function(e){e()})},e.runPlayCallbacks_=function(t){var e=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],e.forEach(function(e){e(t)})},e.pause=function(){this.techCall_(\"pause\")},e.paused=function(){return!1!==this.techGet_(\"paused\")},e.played=function(){return this.techGet_(\"played\")||ht(0,0)},e.scrubbing=function(e){if(\"undefined\"==typeof e)return this.scrubbing_;this.scrubbing_=!!e,e?this.addClass(\"vjs-scrubbing\"):this.removeClass(\"vjs-scrubbing\")},e.currentTime=function(e){return\"undefined\"!=typeof e?(e<0&&(e=0),this.isReady_&&!this.changingSrc_&&this.tech_&&this.tech_.isReady_?(this.techCall_(\"setCurrentTime\",e),void(this.cache_.initTime=0)):(this.cache_.initTime=e,this.off(\"canplay\",this.applyInitTime_),void this.one(\"canplay\",this.applyInitTime_))):(this.cache_.currentTime=this.techGet_(\"currentTime\")||0,this.cache_.currentTime)},e.applyInitTime_=function(){this.currentTime(this.cache_.initTime)},e.duration=function(e){if(void 0===e)return void 0!==this.cache_.duration?this.cache_.duration:NaN;(e=parseFloat(e))<0&&(e=1/0),e!==this.cache_.duration&&((this.cache_.duration=e)===1/0?this.addClass(\"vjs-live\"):this.removeClass(\"vjs-live\"),isNaN(e)||this.trigger(\"durationchange\"))},e.remainingTime=function(){return this.duration()-this.currentTime()},e.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime())},e.buffered=function(){var e=this.techGet_(\"buffered\");return e&&e.length||(e=ht(0,0)),e},e.bufferedPercent=function(){return dt(this.buffered(),this.duration())},e.bufferedEnd=function(){var e=this.buffered(),t=this.duration(),i=e.end(e.length-1);return t<i&&(i=t),i},e.volume=function(e){var t;return void 0!==e?(t=Math.max(0,Math.min(1,parseFloat(e))),this.cache_.volume=t,this.techCall_(\"setVolume\",t),void(0<t&&this.lastVolume_(t))):(t=parseFloat(this.techGet_(\"volume\")),isNaN(t)?1:t)},e.muted=function(e){if(void 0===e)return this.techGet_(\"muted\")||!1;this.techCall_(\"setMuted\",e)},e.defaultMuted=function(e){return void 0!==e?this.techCall_(\"setDefaultMuted\",e):this.techGet_(\"defaultMuted\")||!1},e.lastVolume_=function(e){if(void 0===e||0===e)return this.cache_.lastVolume;this.cache_.lastVolume=e},e.supportsFullScreen=function(){return this.techGet_(\"supportsFullScreen\")||!1},e.isFullscreen=function(e){if(void 0===e)return this.isFullscreen_;var t=this.isFullscreen_;return this.isFullscreen_=Boolean(e),this.isFullscreen_!==t&&this.fsApi_.prefixed&&this.trigger(\"fullscreenchange\"),void this.toggleFullscreenClass_()},e.requestFullscreen=function(a){var e=this.options_.Promise||y.Promise;if(e){var o=this;return new e(function(e,i){function n(){o.off(\"fullscreenerror\",r),o.off(\"fullscreenchange\",t)}function t(){n(),e()}function r(e,t){n(),i(t)}o.one(\"fullscreenchange\",t),o.one(\"fullscreenerror\",r);var s=o.requestFullscreenHelper_(a);if(s)return s.then(n,n),s})}return this.requestFullscreenHelper_()},e.requestFullscreenHelper_=function(e){var t,i=this;if(this.fsApi_.prefixed||(t=this.options_.fullscreen&&this.options_.fullscreen.options||{},void 0!==e&&(t=e)),this.fsApi_.requestFullscreen){var n=this.el_[this.fsApi_.requestFullscreen](t);return n&&n.then(function(){return i.isFullscreen(!0)},function(){return i.isFullscreen(!1)}),n}this.tech_.supportsFullScreen()?this.techCall_(\"enterFullScreen\"):this.enterFullWindow()},e.exitFullscreen=function(){var e=this.options_.Promise||y.Promise;if(e){var a=this;return new e(function(e,i){function n(){a.off(\"fullscreenerror\",r),a.off(\"fullscreenchange\",t)}function t(){n(),e()}function r(e,t){n(),i(t)}a.one(\"fullscreenchange\",t),a.one(\"fullscreenerror\",r);var s=a.exitFullscreenHelper_();if(s)return s.then(n,n),s})}return this.exitFullscreenHelper_()},e.exitFullscreenHelper_=function(){var e=this;if(this.fsApi_.requestFullscreen){var t=h[this.fsApi_.exitFullscreen]();return t&&t.then(function(){return e.isFullscreen(!1)}),t}this.tech_.supportsFullScreen()?this.techCall_(\"exitFullScreen\"):this.exitFullWindow()},e.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=h.documentElement.style.overflow,he(h,\"keydown\",this.boundFullWindowOnEscKey_),h.documentElement.style.overflow=\"hidden\",E(h.body,\"vjs-full-window\"),this.trigger(\"enterFullWindow\")},e.fullWindowOnEscKey=function(e){xt.isEventKey(e,\"Esc\")&&(!0===this.isFullscreen()?this.exitFullscreen():this.exitFullWindow())},e.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,de(h,\"keydown\",this.boundFullWindowOnEscKey_),h.documentElement.style.overflow=this.docOrigOverflow,x(h.body,\"vjs-full-window\"),this.trigger(\"exitFullWindow\")},e.isInPictureInPicture=function(e){return void 0!==e?(this.isInPictureInPicture_=!!e,void this.togglePictureInPictureClass_()):!!this.isInPictureInPicture_},e.requestPictureInPicture=function(){if(\"pictureInPictureEnabled\"in h)return this.techGet_(\"requestPictureInPicture\")},e.exitPictureInPicture=function(){if(\"pictureInPictureEnabled\"in h)return h.exitPictureInPicture()},e.handleKeyDown=function(e){var t=this.options_.userActions;if(t&&t.hotkeys){!function(e){var t=e.tagName.toLowerCase();if(e.isContentEditable)return!0;if(\"input\"===t)return-1===[\"button\",\"checkbox\",\"hidden\",\"radio\",\"reset\",\"submit\"].indexOf(e.type);return-1!==[\"textarea\"].indexOf(t)}(this.el_.ownerDocument.activeElement)&&(\"function\"==typeof t.hotkeys?t.hotkeys.call(this,e):this.handleHotkeys(e))}},e.handleHotkeys=function(e){var t=this.options_.userActions?this.options_.userActions.hotkeys:{},i=t.fullscreenKey,n=void 0===i?function(e){return xt.isEventKey(e,\"f\")}:i,r=t.muteKey,s=void 0===r?function(e){return xt.isEventKey(e,\"m\")}:r,a=t.playPauseKey,o=void 0===a?function(e){return xt.isEventKey(e,\"k\")||xt.isEventKey(e,\"Space\")}:a;if(n.call(this,e)){e.preventDefault(),e.stopPropagation();var u=Re.getComponent(\"FullscreenToggle\");!1!==h[this.fsApi_.fullscreenEnabled]&&u.prototype.handleClick.call(this,e)}else if(s.call(this,e)){e.preventDefault(),e.stopPropagation(),Re.getComponent(\"MuteToggle\").prototype.handleClick.call(this,e)}else if(o.call(this,e)){e.preventDefault(),e.stopPropagation(),Re.getComponent(\"PlayToggle\").prototype.handleClick.call(this,e)}},e.canPlayType=function(e){for(var t,i=0,n=this.options_.techOrder;i<n.length;i++){var r=n[i],s=Vi.getTech(r);if(s=s||Re.getComponent(r)){if(s.isSupported()&&(t=s.canPlayType(e)))return t}else p.error('The \"'+r+'\" tech is undefined. Skipped browser support check for that tech.')}return\"\"},e.selectSource=function(e){function t(e,i,n){var r;return e.some(function(t){return i.some(function(e){if(r=n(t,e))return!0})}),r}function i(e,t){var i=e[0];if(e[1].canPlaySource(t,r.options_[i.toLowerCase()]))return{source:t,tech:i}}var n,r=this,s=this.options_.techOrder.map(function(e){return[e,Vi.getTech(e)]}).filter(function(e){var t=e[0],i=e[1];return i?i.isSupported():(p.error('The \"'+t+'\" tech is undefined. Skipped browser support check for that tech.'),!1)});return(this.options_.sourceOrder?t(e,s,(n=i,function(e,t){return n(t,e)})):t(s,e,i))||!1},e.src=function(e){var i=this;if(\"undefined\"==typeof e)return this.cache_.src||\"\";var n=function t(e){if(Array.isArray(e)){var i=[];e.forEach(function(e){e=t(e),Array.isArray(e)?i=i.concat(e):o(e)&&i.push(e)}),e=i}else e=\"string\"==typeof e&&e.trim()?[tn({src:e})]:o(e)&&\"string\"==typeof e.src&&e.src&&e.src.trim()?[tn(e)]:[];return e}(e);n.length?(this.changingSrc_=!0,this.cache_.sources=n,this.updateSourceCaches_(n[0]),Gi(this,n[0],function(e,t){if(i.middleware_=t,i.cache_.sources=n,i.updateSourceCaches_(e),i.src_(e))return 1<n.length?i.src(n.slice(1)):(i.changingSrc_=!1,i.setTimeout(function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})},0),void i.triggerReady());!function(e,t){e.forEach(function(e){return e.setTech&&e.setTech(t)})}(t,i.tech_)})):this.setTimeout(function(){this.error({code:4,message:this.localize(this.options_.notSupportedMessage)})},0)},e.src_=function(e){var t=this,i=this.selectSource([e]);return!i||(function(e,t){return De(e)===De(t)}(i.tech,this.techName_)?this.ready(function(){this.tech_.constructor.prototype.hasOwnProperty(\"setSource\")?this.techCall_(\"setSource\",e):this.techCall_(\"src\",e.src),this.changingSrc_=!1},!0):(this.changingSrc_=!0,this.loadTech_(i.tech,i.source),this.tech_.ready(function(){t.changingSrc_=!1})),!1)},e.load=function(){this.techCall_(\"load\")},e.reset=function(){var e=this,t=this.options_.Promise||y.Promise;this.paused()||!t?this.doReset_():kt(this.play().then(function(){return e.doReset_()}))},e.doReset_=function(){this.tech_&&this.tech_.clearTracks(\"text\"),this.resetCache_(),this.poster(\"\"),this.loadTech_(this.options_.techOrder[0],null),this.techCall_(\"reset\"),this.resetControlBarUI_(),xe(this)&&this.trigger(\"playerreset\")},e.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_()},e.resetProgressBar_=function(){this.currentTime(0);var e=this.controlBar,t=e.durationDisplay,i=e.remainingTimeDisplay;t&&t.updateContent(),i&&i.updateContent()},e.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_()},e.resetVolumeBar_=function(){this.volume(1),this.trigger(\"volumechange\")},e.currentSources=function(){var e=this.currentSource(),t=[];return 0!==Object.keys(e).length&&t.push(e),this.cache_.sources||t},e.currentSource=function(){return this.cache_.source||{}},e.currentSrc=function(){return this.currentSource()&&this.currentSource().src||\"\"},e.currentType=function(){return this.currentSource()&&this.currentSource().type||\"\"},e.preload=function(e){return void 0!==e?(this.techCall_(\"setPreload\",e),void(this.options_.preload=e)):this.techGet_(\"preload\")},e.autoplay=function(e){if(void 0===e)return this.options_.autoplay||!1;var t;\"string\"==typeof e&&/(any|play|muted)/.test(e)?(this.options_.autoplay=e,this.manualAutoplay_(e),t=!1):this.options_.autoplay=!!e,t=\"undefined\"==typeof t?this.options_.autoplay:t,this.tech_&&this.techCall_(\"setAutoplay\",t)},e.playsinline=function(e){return void 0!==e?(this.techCall_(\"setPlaysinline\",e),this.options_.playsinline=e,this):this.techGet_(\"playsinline\")},e.loop=function(e){return void 0!==e?(this.techCall_(\"setLoop\",e),void(this.options_.loop=e)):this.techGet_(\"loop\")},e.poster=function(e){if(void 0===e)return this.poster_;(e=e||\"\")!==this.poster_&&(this.poster_=e,this.techCall_(\"setPoster\",e),this.isPosterFromTech_=!1,this.trigger(\"posterchange\"))},e.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var e=this.tech_.poster()||\"\";e!==this.poster_&&(this.poster_=e,this.isPosterFromTech_=!0,this.trigger(\"posterchange\"))}},e.controls=function(e){if(void 0===e)return!!this.controls_;e=!!e,this.controls_!==e&&(this.controls_=e,this.usingNativeControls()&&this.techCall_(\"setControls\",e),this.controls_?(this.removeClass(\"vjs-controls-disabled\"),this.addClass(\"vjs-controls-enabled\"),this.trigger(\"controlsenabled\"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass(\"vjs-controls-enabled\"),this.addClass(\"vjs-controls-disabled\"),this.trigger(\"controlsdisabled\"),this.usingNativeControls()||this.removeTechControlsListeners_()))},e.usingNativeControls=function(e){if(void 0===e)return!!this.usingNativeControls_;e=!!e,this.usingNativeControls_!==e&&(this.usingNativeControls_=e,this.usingNativeControls_?(this.addClass(\"vjs-using-native-controls\"),this.trigger(\"usingnativecontrols\")):(this.removeClass(\"vjs-using-native-controls\"),this.trigger(\"usingcustomcontrols\")))},e.error=function(e){if(void 0===e)return this.error_||null;if(this.options_.suppressNotSupportedError&&e&&4===e.code){var t=function(){this.error(e)};return this.options_.suppressNotSupportedError=!1,this.any([\"click\",\"touchstart\"],t),void this.one(\"loadstart\",function(){this.off([\"click\",\"touchstart\"],t)})}if(null===e)return this.error_=e,this.removeClass(\"vjs-error\"),void(this.errorDisplay&&this.errorDisplay.close());this.error_=new _t(e),this.addClass(\"vjs-error\"),p.error(\"(CODE:\"+this.error_.code+\" \"+_t.errorTypes[this.error_.code]+\")\",this.error_.message,this.error_),this.trigger(\"error\")},e.reportUserActivity=function(e){this.userActivity_=!0},e.userActive=function(e){if(void 0===e)return this.userActive_;if((e=!!e)!==this.userActive_){if(this.userActive_=e,this.userActive_)return this.userActivity_=!0,this.removeClass(\"vjs-user-inactive\"),this.addClass(\"vjs-user-active\"),void this.trigger(\"useractive\");this.tech_&&this.tech_.one(\"mousemove\",function(e){e.stopPropagation(),e.preventDefault()}),this.userActivity_=!1,this.removeClass(\"vjs-user-active\"),this.addClass(\"vjs-user-inactive\"),this.trigger(\"userinactive\")}},e.listenForUserActivity_=function(){function e(e){r(),this.clearInterval(t)}var t,i,n,r=ge(this,this.reportUserActivity);this.on(\"mousedown\",function(){r(),this.clearInterval(t),t=this.setInterval(r,250)}),this.on(\"mousemove\",function(e){e.screenX===i&&e.screenY===n||(i=e.screenX,n=e.screenY,r())}),this.on(\"mouseup\",e),this.on(\"mouseleave\",e);var s,a=this.getChild(\"controlBar\");!a||at||Xe||(a.on(\"mouseenter\",function(e){this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout,this.player().options_.inactivityTimeout=0}),a.on(\"mouseleave\",function(e){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout})),this.on(\"keydown\",r),this.on(\"keyup\",r),this.setInterval(function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(s);var e=this.options_.inactivityTimeout;e<=0||(s=this.setTimeout(function(){this.userActivity_||this.userActive(!1)},e))}},250)},e.playbackRate=function(e){if(void 0===e)return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_(\"playbackRate\"):1;this.techCall_(\"setPlaybackRate\",e)},e.defaultPlaybackRate=function(e){return void 0!==e?this.techCall_(\"setDefaultPlaybackRate\",e):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_(\"defaultPlaybackRate\"):1},e.isAudio=function(e){if(void 0===e)return!!this.isAudio_;this.isAudio_=!!e},e.addTextTrack=function(e,t,i){if(this.tech_)return this.tech_.addTextTrack(e,t,i)},e.addRemoteTextTrack=function(e,t){if(this.tech_)return this.tech_.addRemoteTextTrack(e,t)},e.removeRemoteTextTrack=function(e){void 0===e&&(e={});var t=e.track;if(t=t||e,this.tech_)return this.tech_.removeRemoteTextTrack(t)},e.getVideoPlaybackQuality=function(){return this.techGet_(\"getVideoPlaybackQuality\")},e.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0},e.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0},e.language=function(e){if(void 0===e)return this.language_;this.language_=String(e).toLowerCase()},e.languages=function(){return Ne(l.prototype.options_.languages,this.languages_)},e.toJSON=function(){var e=Ne(this.options_),t=e.tracks;e.tracks=[];for(var i=0;i<t.length;i++){var n=t[i];(n=Ne(n)).player=void 0,e.tracks[i]=n}return e},e.createModal=function(e,t){var i=this;(t=t||{}).content=e||\"\";var n=new It(this,t);return this.addChild(n),n.on(\"dispose\",function(){i.removeChild(n)}),n.open(),n},e.updateCurrentBreakpoint_=function(){if(this.responsive())for(var e=this.currentBreakpoint(),t=this.currentWidth(),i=0;i<Hr.length;i++){var n=Hr[i];if(t<=this.breakpoints_[n]){if(e===n)return;e&&this.removeClass(Vr[e]),this.addClass(Vr[n]),this.breakpoint_=n;break}}},e.removeCurrentBreakpoint_=function(){var e=this.currentBreakpointClass();this.breakpoint_=\"\",e&&this.removeClass(e)},e.breakpoints=function(e){return void 0===e||(this.breakpoint_=\"\",this.breakpoints_=m({},qr,e),this.updateCurrentBreakpoint_()),m(this.breakpoints_)},e.responsive=function(e){return void 0===e?this.responsive_:(e=Boolean(e))!==this.responsive_?((this.responsive_=e)?(this.on(\"playerresize\",this.updateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off(\"playerresize\",this.updateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),e):void 0},e.currentBreakpoint=function(){return this.breakpoint_},e.currentBreakpointClass=function(){return Vr[this.breakpoint_]||\"\"},e.loadMedia=function(e,t){var i=this;if(e&&\"object\"==typeof e){this.reset(),this.cache_.media=Ne(e);var n=this.cache_.media,r=n.artwork,s=n.poster,a=n.src,o=n.textTracks;!r&&s&&(this.cache_.media.artwork=[{src:s,type:Zi(s)}]),a&&this.src(a),s&&this.poster(s),Array.isArray(o)&&o.forEach(function(e){return i.addRemoteTextTrack(e,!1)}),this.ready(t)}},e.getMedia=function(){if(this.cache_.media)return Ne(this.cache_.media);var e=this.poster(),t={src:this.currentSources(),textTracks:Array.prototype.map.call(this.remoteTextTracks(),function(e){return{kind:e.kind,label:e.label,language:e.language,src:e.src}})};return e&&(t.poster=e,t.artwork=[{src:t.poster,type:Zi(t.poster)}]),t},l.getTagSettings=function(e){var t={sources:[],tracks:[]},i=P(e),n=i[\"data-setup\"];if(w(e,\"vjs-fill\")&&(i.fill=!0),w(e,\"vjs-fluid\")&&(i.fluid=!0),null!==n){var r=Tt(n||\"{}\"),s=r[0],a=r[1];s&&p.error(s),m(i,a)}if(m(t,i),e.hasChildNodes())for(var o=e.childNodes,u=0,l=o.length;u<l;u++){var c=o[u],h=c.nodeName.toLowerCase();\"source\"===h?t.sources.push(P(c)):\"track\"===h&&t.tracks.push(P(c))}return t},e.flexNotSupported_=function(){var e=h.createElement(\"i\");return!(\"flexBasis\"in e.style||\"webkitFlexBasis\"in e.style||\"mozFlexBasis\"in e.style||\"msFlexBasis\"in e.style||\"msFlexOrder\"in e.style)},l}(Re);hi.names.forEach(function(e){var t=hi[e];Wr.prototype[t.getterName]=function(){return this.tech_?this.tech_[t.getterName]():(this[t.privateName]=this[t.privateName]||new t.ListClass,this[t.privateName])}}),Wr.prototype.crossorigin=Wr.prototype.crossOrigin,Wr.players={};var zr=y.navigator;Wr.prototype.options_={techOrder:Vi.defaultTechOrder_,html5:{},flash:{},inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:[\"mediaLoader\",\"posterImage\",\"textTrackDisplay\",\"loadingSpinner\",\"bigPlayButton\",\"liveTracker\",\"controlBar\",\"errorDisplay\",\"textTrackSettings\",\"resizeManager\"],language:zr&&(zr.languages&&zr.languages[0]||zr.userLanguage||zr.language)||\"en\",languages:{},notSupportedMessage:\"No compatible source was found for this media.\",fullscreen:{options:{navigationUI:\"hide\"}},breakpoints:{},responsive:!1},[\"ended\",\"seeking\",\"seekable\",\"networkState\",\"readyState\"].forEach(function(e){Wr.prototype[e]=function(){return this.techGet_(e)}}),jr.forEach(function(e){Wr.prototype[\"handleTech\"+De(e)+\"_\"]=function(){return this.trigger(e)}}),Re.registerComponent(\"Player\",Wr);var Gr=t(function(i){function n(e,t){return i.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(e,t)}i.exports=n});function Xr(e){return is.hasOwnProperty(e)}function Kr(e){return Xr(e)?is[e]:void 0}function Yr(e,t){e[ts]=e[ts]||{},e[ts][t]=!0}function $r(e,t,i){var n=(i?\"before\":\"\")+\"pluginsetup\";e.trigger(n,t),e.trigger(n+\":\"+t.name,t)}function Qr(r,s){return s.prototype.name=r,function(){$r(this,{name:r,plugin:s,instance:null},!0);for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];var n=Zr(s,[this].concat(t));return this[r]=function(){return n},$r(this,n.getEventHash()),n}}var Jr=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}},Zr=t(function(n){function r(e,t,i){return Jr()?n.exports=r=Reflect.construct:n.exports=r=function(e,t,i){var n=[null];n.push.apply(n,t);var r=new(Function.bind.apply(e,n));return i&&Gr(r,i.prototype),r},r.apply(null,arguments)}n.exports=r}),es=\"plugin\",ts=\"activePlugins_\",is={},ns=function(){function i(e){if(this.constructor===i)throw new Error(\"Plugin must be sub-classed; not directly instantiated.\");this.player=e,Ie(this),delete this.trigger,Le(this,this.constructor.defaultState),Yr(e,this.name),this.dispose=ge(this,this.dispose),e.on(\"dispose\",this.dispose)}var e=i.prototype;return e.version=function(){return this.constructor.VERSION},e.getEventHash=function(e){return void 0===e&&(e={}),e.name=this.name,e.plugin=this.constructor,e.instance=this,e},e.trigger=function(e,t){return void 0===t&&(t={}),pe(this.eventBusEl_,e,this.getEventHash(t))},e.handleStateChanged=function(e){},e.dispose=function(){var e=this.name,t=this.player;this.trigger(\"dispose\"),this.off(),t.off(\"dispose\",this.dispose),t[ts][e]=!1,this.player=this.state=null,t[e]=Qr(e,is[e])},i.isBasic=function(e){var t=\"string\"==typeof e?Kr(e):e;return\"function\"==typeof t&&!i.prototype.isPrototypeOf(t.prototype)},i.registerPlugin=function(e,t){if(\"string\"!=typeof e)throw new Error('Illegal plugin name, \"'+e+'\", must be a string, was '+typeof e+\".\");if(Xr(e))p.warn('A plugin named \"'+e+'\" already exists. You may want to avoid re-registering plugins!');else if(Wr.prototype.hasOwnProperty(e))throw new Error('Illegal plugin name, \"'+e+'\", cannot share a name with an existing player method!');if(\"function\"!=typeof t)throw new Error('Illegal plugin for \"'+e+'\", must be a function, was '+typeof t+\".\");return is[e]=t,e!==es&&(i.isBasic(t)?Wr.prototype[e]=function(t,i){function n(){$r(this,{name:t,plugin:i,instance:null},!0);var e=i.apply(this,arguments);return Yr(this,t),$r(this,{name:t,plugin:i,instance:e}),e}return Object.keys(i).forEach(function(e){n[e]=i[e]}),n}(e,t):Wr.prototype[e]=Qr(e,t)),t},i.deregisterPlugin=function(e){if(e===es)throw new Error(\"Cannot de-register base plugin.\");Xr(e)&&(delete is[e],delete Wr.prototype[e])},i.getPlugins=function(e){var i;return void 0===e&&(e=Object.keys(is)),e.forEach(function(e){var t=Kr(e);t&&((i=i||{})[e]=t)}),i},i.getPluginVersion=function(e){var t=Kr(e);return t&&t.VERSION||\"\"},i}();ns.getPlugin=Kr,ns.BASE_PLUGIN_NAME=es,ns.registerPlugin(es,ns),Wr.prototype.usingPlugin=function(e){return!!this[ts]&&!0===this[ts][e]},Wr.prototype.hasPlugin=function(e){return!!Xr(e)};var rs=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gr(e,t)},ss=function(e){return 0===e.indexOf(\"#\")?e.slice(1):e};function as(e,i,t){var n=as.getPlayer(e);if(n)return i&&p.warn('Player \"'+e+'\" is already initialised. Options will not be applied.'),t&&n.ready(t),n;var r=\"string\"==typeof e?G(\"#\"+ss(e)):e;if(!_(r))throw new TypeError(\"The element or ID supplied is not valid. (videojs)\");r.ownerDocument.defaultView&&r.ownerDocument.body.contains(r)||p.warn(\"The element supplied is not included in the DOM\"),i=i||{},as.hooks(\"beforesetup\").forEach(function(e){var t=e(r,Ne(i));o(t)&&!Array.isArray(t)?i=Ne(i,t):p.error(\"please return an object in beforesetup hooks\")});var s=Re.getComponent(\"Player\");return n=new s(r,i,t),as.hooks(\"setup\").forEach(function(e){return e(n)}),n}if(as.hooks_={},as.hooks=function(e,t){return as.hooks_[e]=as.hooks_[e]||[],t&&(as.hooks_[e]=as.hooks_[e].concat(t)),as.hooks_[e]},as.hook=function(e,t){as.hooks(e,t)},as.hookOnce=function(i,e){as.hooks(i,[].concat(e).map(function(t){return function e(){return as.removeHook(i,e),t.apply(void 0,arguments)}}))},as.removeHook=function(e,t){var i=as.hooks(e).indexOf(t);return!(i<=-1)&&(as.hooks_[e]=as.hooks_[e].slice(),as.hooks_[e].splice(i,1),!0)},!0!==y.VIDEOJS_NO_DYNAMIC_STYLE&&v()){var os=G(\".vjs-styles-defaults\");if(!os){os=Z(\"vjs-styles-defaults\");var us=G(\"head\");us&&us.insertBefore(os,us.firstChild),ee(os,\"\\n      .video-js {\\n        width: 300px;\\n        height: 150px;\\n      }\\n\\n      .vjs-fluid {\\n        padding-top: 56.25%\\n      }\\n    \")}}Q(1,as),as.VERSION=d,as.options=Wr.prototype.options_,as.getPlayers=function(){return Wr.players},as.getPlayer=function(e){var t,i=Wr.players;if(\"string\"==typeof e){var n=ss(e),r=i[n];if(r)return r;t=G(\"#\"+n)}else t=e;if(_(t)){var s=t,a=s.player,o=s.playerId;if(a||i[o])return a||i[o]}},as.getAllPlayers=function(){return Object.keys(Wr.players).map(function(e){return Wr.players[e]}).filter(Boolean)},as.players=Wr.players,as.getComponent=Re.getComponent,as.registerComponent=function(e,t){Vi.isTech(t)&&p.warn(\"The \"+e+\" tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)\"),Re.registerComponent.call(Re,e,t)},as.getTech=Vi.getTech,as.registerTech=Vi.registerTech,as.use=function(e,t){qi[e]=qi[e]||[],qi[e].push(t)},Object.defineProperty(as,\"middleware\",{value:{},writeable:!1,enumerable:!0}),Object.defineProperty(as.middleware,\"TERMINATOR\",{value:zi,writeable:!1,enumerable:!0}),as.browser=ut,as.TOUCH_ENABLED=nt,as.extend=function(e,t){void 0===t&&(t={});var i=function(){e.apply(this,arguments)},n={};for(var r in\"object\"==typeof t?(t.constructor!==Object.prototype.constructor&&(i=t.constructor),n=t):\"function\"==typeof t&&(i=t),rs(i,e),e&&(i.super_=e),n)n.hasOwnProperty(r)&&(i.prototype[r]=n[r]);return i},as.mergeOptions=Ne,as.bind=ge,as.registerPlugin=ns.registerPlugin,as.deregisterPlugin=ns.deregisterPlugin,as.plugin=function(e,t){return p.warn(\"videojs.plugin() is deprecated; use videojs.registerPlugin() instead\"),ns.registerPlugin(e,t)},as.getPlugins=ns.getPlugins,as.getPlugin=ns.getPlugin,as.getPluginVersion=ns.getPluginVersion,as.addLanguage=function(e,t){var i;return e=(\"\"+e).toLowerCase(),as.options.languages=Ne(as.options.languages,((i={})[e]=t,i)),as.options.languages[e]},as.log=p,as.createLogger=f,as.createTimeRange=as.createTimeRanges=ht,as.formatTime=yn,as.setFormatTime=function(e){vn=e},as.resetFormatTime=function(){vn=gn},as.parseUrl=Nt,as.isCrossOrigin=Mt,as.EventTarget=ye,as.on=he,as.one=fe,as.off=de,as.trigger=pe,as.xhr=Jt,as.TextTrack=si,as.AudioTrack=ai,as.VideoTrack=oi,[\"isEl\",\"isTextNode\",\"createEl\",\"hasClass\",\"addClass\",\"removeClass\",\"toggleClass\",\"setAttributes\",\"getAttributes\",\"emptyEl\",\"appendContent\",\"insertContent\"].forEach(function(e){as[e]=function(){return p.warn(\"videojs.\"+e+\"() is deprecated; use videojs.dom.\"+e+\"() instead\"),K[e].apply(null,arguments)}}),as.computedStyle=n,as.dom=K,as.url=Kt,as.defineLazyProperty=Nr;var ls=t(function(e,t){var i,c,n,r,h;i=/^((?:[a-zA-Z0-9+\\-.]+:)?)(\\/\\/[^\\/?#]*)?((?:[^\\/\\?#]*\\/)*.*?)??(;.*?)?(\\?.*?)?(#.*?)?$/,c=/^([^\\/?#]*)(.*)$/,n=/(?:\\/|^)\\.(?=\\/)/g,r=/(?:\\/|^)\\.\\.\\/(?!\\.\\.\\/).*?(?=\\/)/g,h={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var n=h.parseURL(e);if(!n)throw new Error(\"Error trying to parse base URL.\");return n.path=h.normalizePath(n.path),h.buildURLFromParts(n)}var r=h.parseURL(t);if(!r)throw new Error(\"Error trying to parse relative URL.\");if(r.scheme)return i.alwaysNormalize?(r.path=h.normalizePath(r.path),h.buildURLFromParts(r)):t;var s=h.parseURL(e);if(!s)throw new Error(\"Error trying to parse base URL.\");if(!s.netLoc&&s.path&&\"/\"!==s.path[0]){var a=c.exec(s.path);s.netLoc=a[1],s.path=a[2]}s.netLoc&&!s.path&&(s.path=\"/\");var o={scheme:s.scheme,netLoc:r.netLoc,path:null,params:r.params,query:r.query,fragment:r.fragment};if(!r.netLoc&&(o.netLoc=s.netLoc,\"/\"!==r.path[0]))if(r.path){var u=s.path,l=u.substring(0,u.lastIndexOf(\"/\")+1)+r.path;o.path=h.normalizePath(l)}else o.path=s.path,r.params||(o.params=s.params,r.query||(o.query=s.query));return null===o.path&&(o.path=i.alwaysNormalize?h.normalizePath(r.path):r.path),h.buildURLFromParts(o)},parseURL:function(e){var t=i.exec(e);return t?{scheme:t[1]||\"\",netLoc:t[2]||\"\",path:t[3]||\"\",params:t[4]||\"\",query:t[5]||\"\",fragment:t[6]||\"\"}:null},normalizePath:function(e){for(e=e.split(\"\").reverse().join(\"\").replace(n,\"\");e.length!==(e=e.replace(r,\"\")).length;);return e.split(\"\").reverse().join(\"\")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}},e.exports=h});\n/*! @name m3u8-parser @version 4.4.0 @license Apache-2.0 */function cs(){return(cs=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e}).apply(this,arguments)}function hs(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}function ds(e){for(var t,i=e.split(new RegExp('(?:^|,)((?:[^=]*)=(?:\"[^\"]*\"|[^,]*))')),n={},r=i.length;r--;)\"\"!==i[r]&&((t=/([^=]*)=(.*)/.exec(i[r]).slice(1))[0]=t[0].replace(/^\\s+|\\s+$/g,\"\"),t[1]=t[1].replace(/^\\s+|\\s+$/g,\"\"),t[1]=t[1].replace(/^['\"](.*)['\"]$/g,\"$1\"),n[t[0]]=t[1]);return n}var ps=function(){function e(){this.listeners={}}var t=e.prototype;return t.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},t.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},t.trigger=function(e,t){var i,n,r,s=this.listeners[e];if(s)if(2===arguments.length)for(n=s.length,i=0;i<n;++i)s[i].call(this,t);else for(r=Array.prototype.slice.call(arguments,1),n=s.length,i=0;i<n;++i)s[i].apply(this,r)},t.dispose=function(){this.listeners={}},t.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},e}(),fs=function(t){function e(){var e;return(e=t.call(this)||this).buffer=\"\",e}return hs(e,t),e.prototype.push=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf(\"\\n\");-1<t;t=this.buffer.indexOf(\"\\n\"))this.trigger(\"data\",this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)},e}(ps),ms=function(t){function e(){var e;return(e=t.call(this)||this).customParsers=[],e.tagMappers=[],e}hs(e,t);var i=e.prototype;return i.push=function(n){var u,l,c=this;0!==(n=n.trim()).length&&(\"#\"===n[0]?this.tagMappers.reduce(function(e,t){var i=t(n);return i===n?e:e.concat([i])},[n]).forEach(function(e){for(var t=0;t<c.customParsers.length;t++)if(c.customParsers[t].call(c,e))return;if(0===e.indexOf(\"#EXT\"))if(e=e.replace(\"\\r\",\"\"),u=/^#EXTM3U/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"m3u\"});else{if(u=/^#EXTINF:?([0-9\\.]*)?,?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"inf\"},u[1]&&(l.duration=parseFloat(u[1])),u[2]&&(l.title=u[2]),void c.trigger(\"data\",l);if(u=/^#EXT-X-TARGETDURATION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"targetduration\"},u[1]&&(l.duration=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#ZEN-TOTAL-DURATION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"totalduration\"},u[1]&&(l.duration=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-VERSION:?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"version\"},u[1]&&(l.version=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-MEDIA-SEQUENCE:?(\\-?[0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"media-sequence\"},u[1]&&(l.number=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-DISCONTINUITY-SEQUENCE:?(\\-?[0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"discontinuity-sequence\"},u[1]&&(l.number=parseInt(u[1],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-PLAYLIST-TYPE:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"playlist-type\"},u[1]&&(l.playlistType=u[1]),void c.trigger(\"data\",l);if(u=/^#EXT-X-BYTERANGE:?([0-9.]*)?@?([0-9.]*)?/.exec(e))return l={type:\"tag\",tagType:\"byterange\"},u[1]&&(l.length=parseInt(u[1],10)),u[2]&&(l.offset=parseInt(u[2],10)),void c.trigger(\"data\",l);if(u=/^#EXT-X-ALLOW-CACHE:?(YES|NO)?/.exec(e))return l={type:\"tag\",tagType:\"allow-cache\"},u[1]&&(l.allowed=!/NO/.test(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-MAP:?(.*)$/.exec(e)){if(l={type:\"tag\",tagType:\"map\"},u[1]){var i=ds(u[1]);if(i.URI&&(l.uri=i.URI),i.BYTERANGE){var n=i.BYTERANGE.split(\"@\"),r=n[0],s=n[1];l.byterange={},r&&(l.byterange.length=parseInt(r,10)),s&&(l.byterange.offset=parseInt(s,10))}}c.trigger(\"data\",l)}else if(u=/^#EXT-X-STREAM-INF:?(.*)$/.exec(e)){if(l={type:\"tag\",tagType:\"stream-inf\"},u[1]){if(l.attributes=ds(u[1]),l.attributes.RESOLUTION){var a=l.attributes.RESOLUTION.split(\"x\"),o={};a[0]&&(o.width=parseInt(a[0],10)),a[1]&&(o.height=parseInt(a[1],10)),l.attributes.RESOLUTION=o}l.attributes.BANDWIDTH&&(l.attributes.BANDWIDTH=parseInt(l.attributes.BANDWIDTH,10)),l.attributes[\"PROGRAM-ID\"]&&(l.attributes[\"PROGRAM-ID\"]=parseInt(l.attributes[\"PROGRAM-ID\"],10))}c.trigger(\"data\",l)}else{if(u=/^#EXT-X-MEDIA:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"media\"},u[1]&&(l.attributes=ds(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-ENDLIST/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"endlist\"});else if(u=/^#EXT-X-DISCONTINUITY/.exec(e))c.trigger(\"data\",{type:\"tag\",tagType:\"discontinuity\"});else{if(u=/^#EXT-X-PROGRAM-DATE-TIME:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"program-date-time\"},u[1]&&(l.dateTimeString=u[1],l.dateTimeObject=new Date(u[1])),void c.trigger(\"data\",l);if(u=/^#EXT-X-KEY:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"key\"},u[1]&&(l.attributes=ds(u[1]),l.attributes.IV&&(\"0x\"===l.attributes.IV.substring(0,2).toLowerCase()&&(l.attributes.IV=l.attributes.IV.substring(2)),l.attributes.IV=l.attributes.IV.match(/.{8}/g),l.attributes.IV[0]=parseInt(l.attributes.IV[0],16),l.attributes.IV[1]=parseInt(l.attributes.IV[1],16),l.attributes.IV[2]=parseInt(l.attributes.IV[2],16),l.attributes.IV[3]=parseInt(l.attributes.IV[3],16),l.attributes.IV=new Uint32Array(l.attributes.IV))),void c.trigger(\"data\",l);if(u=/^#EXT-X-START:?(.*)$/.exec(e))return l={type:\"tag\",tagType:\"start\"},u[1]&&(l.attributes=ds(u[1]),l.attributes[\"TIME-OFFSET\"]=parseFloat(l.attributes[\"TIME-OFFSET\"]),l.attributes.PRECISE=/YES/.test(l.attributes.PRECISE)),void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-OUT-CONT:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-out-cont\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-OUT:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-out\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);if(u=/^#EXT-X-CUE-IN:?(.*)?$/.exec(e))return l={type:\"tag\",tagType:\"cue-in\"},u[1]?l.data=u[1]:l.data=\"\",void c.trigger(\"data\",l);c.trigger(\"data\",{type:\"tag\",data:e.slice(4)})}}}else c.trigger(\"data\",{type:\"comment\",text:e.slice(1)})}):this.trigger(\"data\",{type:\"uri\",uri:n}))},i.addParser=function(e){var t=this,i=e.expression,n=e.customType,r=e.dataParser,s=e.segment;\"function\"!=typeof r&&(r=function(e){return e}),this.customParsers.push(function(e){if(i.exec(e))return t.trigger(\"data\",{type:\"custom\",data:r(e),customType:n,segment:s}),!0})},i.addTagMapper=function(e){var t=e.expression,i=e.map;this.tagMappers.push(function(e){return t.test(e)?i(e):e})},e}(ps);var gs=function(t){function e(){var e;(e=t.call(this)||this).lineStream=new fs,e.parseStream=new ms,e.lineStream.pipe(e.parseStream);var r,s,a=function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(e),o=[],u={},l={AUDIO:{},VIDEO:{},\"CLOSED-CAPTIONS\":{},SUBTITLES:{}},c=0;return e.manifest={allowCache:!0,discontinuityStarts:[],segments:[]},e.parseStream.on(\"data\",function(t){var i,n;({tag:function(){({\"allow-cache\":function(){this.manifest.allowCache=t.allowed,\"allowed\"in t||(this.trigger(\"info\",{message:\"defaulting allowCache to YES\"}),this.manifest.allowCache=!0)},byterange:function(){var e={};\"length\"in t&&((u.byterange=e).length=t.length,\"offset\"in t||(this.trigger(\"info\",{message:\"defaulting offset to zero\"}),t.offset=0)),\"offset\"in t&&((u.byterange=e).offset=t.offset)},endlist:function(){this.manifest.endList=!0},inf:function(){\"mediaSequence\"in this.manifest||(this.manifest.mediaSequence=0,this.trigger(\"info\",{message:\"defaulting media sequence to zero\"})),\"discontinuitySequence\"in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger(\"info\",{message:\"defaulting discontinuity sequence to zero\"})),0<t.duration&&(u.duration=t.duration),0===t.duration&&(u.duration=.01,this.trigger(\"info\",{message:\"updating zero segment duration to a small value\"})),this.manifest.segments=o},key:function(){if(t.attributes)if(\"NONE\"!==t.attributes.METHOD)if(t.attributes.URI){if(\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\"===t.attributes.KEYFORMAT){return-1===[\"SAMPLE-AES\",\"SAMPLE-AES-CTR\",\"SAMPLE-AES-CENC\"].indexOf(t.attributes.METHOD)?void this.trigger(\"warn\",{message:\"invalid key method provided for Widevine\"}):(\"SAMPLE-AES-CENC\"===t.attributes.METHOD&&this.trigger(\"warn\",{message:\"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead\"}),\"data:text/plain;base64,\"!==t.attributes.URI.substring(0,23)?void this.trigger(\"warn\",{message:\"invalid key URI provided for Widevine\"}):t.attributes.KEYID&&\"0x\"===t.attributes.KEYID.substring(0,2)?void(this.manifest.contentProtection={\"com.widevine.alpha\":{attributes:{schemeIdUri:t.attributes.KEYFORMAT,keyId:t.attributes.KEYID.substring(2)},pssh:function(e){for(var t=y.atob(e||\"\"),i=new Uint8Array(t.length),n=0;n<t.length;n++)i[n]=t.charCodeAt(n);return i}(t.attributes.URI.split(\",\")[1])}}):void this.trigger(\"warn\",{message:\"invalid key ID provided for Widevine\"}))}t.attributes.METHOD||this.trigger(\"warn\",{message:\"defaulting key method to AES-128\"}),s={method:t.attributes.METHOD||\"AES-128\",uri:t.attributes.URI},\"undefined\"!=typeof t.attributes.IV&&(s.iv=t.attributes.IV)}else this.trigger(\"warn\",{message:\"ignoring key declaration without URI\"});else s=null;else this.trigger(\"warn\",{message:\"ignoring key declaration without attribute list\"})},\"media-sequence\":function(){isFinite(t.number)?this.manifest.mediaSequence=t.number:this.trigger(\"warn\",{message:\"ignoring invalid media sequence: \"+t.number})},\"discontinuity-sequence\":function(){isFinite(t.number)?(this.manifest.discontinuitySequence=t.number,c=t.number):this.trigger(\"warn\",{message:\"ignoring invalid discontinuity sequence: \"+t.number})},\"playlist-type\":function(){/VOD|EVENT/.test(t.playlistType)?this.manifest.playlistType=t.playlistType:this.trigger(\"warn\",{message:\"ignoring unknown playlist type: \"+t.playlist})},map:function(){r={},t.uri&&(r.uri=t.uri),t.byterange&&(r.byterange=t.byterange)},\"stream-inf\":function(){this.manifest.playlists=o,this.manifest.mediaGroups=this.manifest.mediaGroups||l,t.attributes?(u.attributes||(u.attributes={}),cs(u.attributes,t.attributes)):this.trigger(\"warn\",{message:\"ignoring empty stream-inf attributes\"})},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||l,t.attributes&&t.attributes.TYPE&&t.attributes[\"GROUP-ID\"]&&t.attributes.NAME){var e=this.manifest.mediaGroups[t.attributes.TYPE];e[t.attributes[\"GROUP-ID\"]]=e[t.attributes[\"GROUP-ID\"]]||{},i=e[t.attributes[\"GROUP-ID\"]],(n={default:/yes/i.test(t.attributes.DEFAULT)}).default?n.autoselect=!0:n.autoselect=/yes/i.test(t.attributes.AUTOSELECT),t.attributes.LANGUAGE&&(n.language=t.attributes.LANGUAGE),t.attributes.URI&&(n.uri=t.attributes.URI),t.attributes[\"INSTREAM-ID\"]&&(n.instreamId=t.attributes[\"INSTREAM-ID\"]),t.attributes.CHARACTERISTICS&&(n.characteristics=t.attributes.CHARACTERISTICS),t.attributes.FORCED&&(n.forced=/yes/i.test(t.attributes.FORCED)),i[t.attributes.NAME]=n}else this.trigger(\"warn\",{message:\"ignoring incomplete or missing media group\"})},discontinuity:function(){c+=1,u.discontinuity=!0,this.manifest.discontinuityStarts.push(o.length)},\"program-date-time\":function(){\"undefined\"==typeof this.manifest.dateTimeString&&(this.manifest.dateTimeString=t.dateTimeString,this.manifest.dateTimeObject=t.dateTimeObject),u.dateTimeString=t.dateTimeString,u.dateTimeObject=t.dateTimeObject},targetduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger(\"warn\",{message:\"ignoring invalid target duration: \"+t.duration}):this.manifest.targetDuration=t.duration},totalduration:function(){!isFinite(t.duration)||t.duration<0?this.trigger(\"warn\",{message:\"ignoring invalid total duration: \"+t.duration}):this.manifest.totalDuration=t.duration},start:function(){t.attributes&&!isNaN(t.attributes[\"TIME-OFFSET\"])?this.manifest.start={timeOffset:t.attributes[\"TIME-OFFSET\"],precise:t.attributes.PRECISE}:this.trigger(\"warn\",{message:\"ignoring start declaration without appropriate attribute list\"})},\"cue-out\":function(){u.cueOut=t.data},\"cue-out-cont\":function(){u.cueOutCont=t.data},\"cue-in\":function(){u.cueIn=t.data}}[t.tagType]||function(){}).call(a)},uri:function(){u.uri=t.uri,o.push(u),!this.manifest.targetDuration||\"duration\"in u||(this.trigger(\"warn\",{message:\"defaulting segment duration to the target duration\"}),u.duration=this.manifest.targetDuration),s&&(u.key=s),u.timeline=c,r&&(u.map=r),u={}},comment:function(){},custom:function(){t.segment?(u.custom=u.custom||{},u.custom[t.customType]=t.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[t.customType]=t.data)}})[t.type].call(a)}),e}hs(e,t);var i=e.prototype;return i.push=function(e){this.lineStream.push(e)},i.end=function(){this.lineStream.push(\"\\n\")},i.addParser=function(e){this.parseStream.addParser(e)},i.addTagMapper=function(e){this.parseStream.addTagMapper(e)},e}(ps);function vs(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}var ys=vs(ls),_s=vs(y),bs=function(e,t){return/^[a-z]+:/i.test(t)?t:(/\\/\\//i.test(e)||(e=ys.buildAbsoluteURL(_s.location&&_s.location.href||\"\",e)),ys.buildAbsoluteURL(e,t))};var Ts,Ss=(Ts=y)&&\"object\"==typeof Ts&&\"default\"in Ts?Ts.default:Ts;var ks=function(e){for(var t=function(e){return Ss.atob?Ss.atob(e):Buffer.from(e,\"base64\").toString(\"binary\")}(e),i=new Uint8Array(t.length),n=0;n<t.length;n++)i[n]=t.charCodeAt(n);return i},Cs=/[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/,ws=new RegExp(\"[\\\\-\\\\.0-9\"+Cs.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\"),Es=new RegExp(\"^\"+Cs.source+ws.source+\"*(?::\"+Cs.source+ws.source+\"*)?$\"),xs=0,As=1,Is=2,Ps=3,Ls=4,Os=5,Ds=6,Ns=7;function Rs(){}function Us(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function Ms(e,t,i,n,r,s){for(var a,o=++t,u=xs;;){var l=e.charAt(o);switch(l){case\"=\":if(u===As)a=e.slice(t,o),u=Ps;else{if(u!==Is)throw new Error(\"attribute equal must after attrName\");u=Ps}break;case\"'\":case'\"':if(u===Ps||u===As){if(u===As&&(s.warning('attribute value must after \"=\"'),a=e.slice(t,o)),t=o+1,!(0<(o=e.indexOf(l,t))))throw new Error(\"attribute value no end '\"+l+\"' match\");c=e.slice(t,o).replace(/&#?\\w+;/g,r),i.add(a,c,t-1),u=Os}else{if(u!=Ls)throw new Error('attribute value must after \"=\"');c=e.slice(t,o).replace(/&#?\\w+;/g,r),i.add(a,c,t),s.warning('attribute \"'+a+'\" missed start quot('+l+\")!!\"),t=o+1,u=Os}break;case\"/\":switch(u){case xs:i.setTagName(e.slice(t,o));case Os:case Ds:case Ns:u=Ns,i.closed=!0;case Ls:case As:case Is:break;default:throw new Error(\"attribute invalid close char('/')\")}break;case\"\":return s.error(\"unexpected end of input\"),u==xs&&i.setTagName(e.slice(t,o)),o;case\">\":switch(u){case xs:i.setTagName(e.slice(t,o));case Os:case Ds:case Ns:break;case Ls:case As:\"/\"===(c=e.slice(t,o)).slice(-1)&&(i.closed=!0,c=c.slice(0,-1));case Is:u===Is&&(c=a),u==Ls?(s.warning('attribute \"'+c+'\" missed quot(\")!!'),i.add(a,c.replace(/&#?\\w+;/g,r),t)):(\"http://www.w3.org/1999/xhtml\"===n[\"\"]&&c.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute \"'+c+'\" missed value!! \"'+c+'\" instead!!'),i.add(c,c,t));break;case Ps:throw new Error(\"attribute value missed!!\")}return o;case\"€\":l=\" \";default:if(l<=\" \")switch(u){case xs:i.setTagName(e.slice(t,o)),u=Ds;break;case As:a=e.slice(t,o),u=Is;break;case Ls:var c=e.slice(t,o).replace(/&#?\\w+;/g,r);s.warning('attribute \"'+c+'\" missed quot(\")!!'),i.add(a,c,t);case Os:u=Ds}else switch(u){case Is:i.tagName;\"http://www.w3.org/1999/xhtml\"===n[\"\"]&&a.match(/^(?:disabled|checked|selected)$/i)||s.warning('attribute \"'+a+'\" missed value!! \"'+a+'\" instead2!!'),i.add(a,a,t),t=o,u=As;break;case Os:s.warning('attribute space is required\"'+a+'\"!!');case Ds:u=As,t=o;break;case Ps:u=Ls,t=o;break;case Ns:throw new Error(\"elements closed character '/' and '>' must be connected to\")}}o++}}function Bs(e,t,i){for(var n=e.tagName,r=null,s=e.length;s--;){var a=e[s],o=a.qName,u=a.value;if(0<(d=o.indexOf(\":\")))var l=a.prefix=o.slice(0,d),c=o.slice(d+1),h=\"xmlns\"===l&&c;else l=null,h=\"xmlns\"===(c=o)&&\"\";a.localName=c,!1!==h&&(null==r&&(r={},Hs(i,i={})),i[h]=r[h]=u,a.uri=\"http://www.w3.org/2000/xmlns/\",t.startPrefixMapping(h,u))}for(s=e.length;s--;){(l=(a=e[s]).prefix)&&(\"xml\"===l&&(a.uri=\"http://www.w3.org/XML/1998/namespace\"),\"xmlns\"!==l&&(a.uri=i[l||\"\"]))}var d;c=0<(d=n.indexOf(\":\"))?(l=e.prefix=n.slice(0,d),e.localName=n.slice(d+1)):(l=null,e.localName=n);var p=e.uri=i[l||\"\"];if(t.startElement(p,c,n,e),!e.closed)return e.currentNSMap=i,e.localNSMap=r,!0;if(t.endElement(p,c,n),r)for(l in r)t.endPrefixMapping(l)}function js(e,t,i,n,r){if(/^(?:script|textarea)$/i.test(i)){var s=e.indexOf(\"</\"+i+\">\",t),a=e.substring(t+1,s);if(/[&<]/.test(a))return/^script$/i.test(i)||(a=a.replace(/&#?\\w+;/g,n)),r.characters(a,0,a.length),s}return t+1}function Fs(e,t,i,n){var r=n[i];return null==r&&((r=e.lastIndexOf(\"</\"+i+\">\"))<t&&(r=e.lastIndexOf(\"</\"+i)),n[i]=r),r<t}function Hs(e,t){for(var i in e)t[i]=e[i]}function Vs(e,t,i,n){switch(e.charAt(t+2)){case\"-\":return\"-\"!==e.charAt(t+3)?-1:t<(r=e.indexOf(\"--\\x3e\",t+4))?(i.comment(e,t+4,r-t-4),r+3):(n.error(\"Unclosed comment\"),-1);default:if(\"CDATA[\"==e.substr(t+3,6)){var r=e.indexOf(\"]]>\",t+9);return i.startCDATA(),i.characters(e,t+9,r-t-9),i.endCDATA(),r+3}var s=function(e,t){var i,n=[],r=/'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;r.lastIndex=t,r.exec(e);for(;i=r.exec(e);)if(n.push(i),i[1])return n}(e,t),a=s.length;if(1<a&&/!doctype/i.test(s[0][0])){var o=s[1][0],u=3<a&&/^public$/i.test(s[2][0])&&s[3][0],l=4<a&&s[4][0],c=s[a-1];return i.startDTD(o,u&&u.replace(/^(['\"])(.*?)\\1$/,\"$2\"),l&&l.replace(/^(['\"])(.*?)\\1$/,\"$2\")),i.endDTD(),c.index+c[0].length}}return-1}function qs(e,t,i){var n=e.indexOf(\"?>\",t);if(n){var r=e.substring(t,n).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);if(r){r[0].length;return i.processingInstruction(r[1],r[2]),n+2}return-1}return-1}function Ws(e){}function zs(e,t){return e.__proto__=t,e}Rs.prototype={parse:function(e,t,i){var n=this.domBuilder;n.startDocument(),Hs(t,t={}),function(i,e,n,r,s){function a(e){var t=e.slice(1,-1);return t in n?n[t]:\"#\"===t.charAt(0)?function(e){if(65535<e){var t=55296+((e-=65536)>>10),i=56320+(1023&e);return String.fromCharCode(t,i)}return String.fromCharCode(e)}(parseInt(t.substr(1).replace(\"x\",\"0x\"))):(s.error(\"entity not found:\"+e),e)}function t(e){if(f<e){var t=i.substring(f,e).replace(/&#?\\w+;/g,a);h&&o(f),r.characters(t,0,e-f),f=e}}function o(e,t){for(;l<=e&&(t=c.exec(i));)u=t.index,l=u+t[0].length,h.lineNumber++;h.columnNumber=e-u+1}var u=0,l=0,c=/.*(?:\\r\\n?|\\n)|.*$/g,h=r.locator,d=[{currentNSMap:e}],p={},f=0;for(;;){try{var m=i.indexOf(\"<\",f);if(m<0){if(!i.substr(f).match(/^\\s*$/)){var g=r.doc,v=g.createTextNode(i.substr(f));g.appendChild(v),r.currentElement=v}return}switch(f<m&&t(m),i.charAt(m+1)){case\"/\":var y=i.indexOf(\">\",m+3),_=i.substring(m+2,y),b=d.pop();y<0?(_=i.substring(m+2).replace(/[\\s<].*/,\"\"),s.error(\"end tag name: \"+_+\" is not complete:\"+b.tagName),y=m+1+_.length):_.match(/\\s</)&&(_=_.replace(/[\\s<].*/,\"\"),s.error(\"end tag name: \"+_+\" maybe not complete\"),y=m+1+_.length);var T=b.localNSMap,S=b.tagName==_;if(S||b.tagName&&b.tagName.toLowerCase()==_.toLowerCase()){if(r.endElement(b.uri,b.localName,_),T)for(var k in T)r.endPrefixMapping(k);S||s.fatalError(\"end tag name: \"+_+\" is not match the current start tagName:\"+b.tagName)}else d.push(b);y++;break;case\"?\":h&&o(m),y=qs(i,m,r);break;case\"!\":h&&o(m),y=Vs(i,m,r,s);break;default:h&&o(m);var C=new Ws,w=d[d.length-1].currentNSMap,E=(y=Ms(i,m,C,w,a,s),C.length);if(!C.closed&&Fs(i,y,C.tagName,p)&&(C.closed=!0,n.nbsp||s.warning(\"unclosed xml attribute\")),h&&E){for(var x=Us(h,{}),A=0;A<E;A++){var I=C[A];o(I.offset),I.locator=Us(h,{})}r.locator=x,Bs(C,r,w)&&d.push(C),r.locator=h}else Bs(C,r,w)&&d.push(C);\"http://www.w3.org/1999/xhtml\"!==C.uri||C.closed?y++:y=js(i,y,C.tagName,a,r)}}catch(e){s.error(\"element parse error: \"+e),y=-1}f<y?f=y:t(Math.max(m,f)+1)}}(e,t,i,n,this.errorHandler),n.endDocument()}},Ws.prototype={setTagName:function(e){if(!Es.test(e))throw new Error(\"invalid tagName:\"+e);this.tagName=e},add:function(e,t,i){if(!Es.test(e))throw new Error(\"invalid attribute:\"+e);this[this.length++]={qName:e,value:t,offset:i}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}},zs({},zs.prototype)instanceof zs||(zs=function(e,t){function i(){}for(t in i.prototype=t,i=new i,e)i[t]=e[t];return i});var Gs={XMLReader:Rs};function Xs(e,t){for(var i in e)t[i]=e[i]}function Ks(e,t){var i=e.prototype;if(Object.create){var n=Object.create(t.prototype);i.__proto__=n}if(!(i instanceof t)){var r=function(){};r.prototype=t.prototype,Xs(i,r=new r),e.prototype=i=r}i.constructor!=e&&(i.constructor=e)}var Ys=\"http://www.w3.org/1999/xhtml\",$s={},Qs=$s.ELEMENT_NODE=1,Js=$s.ATTRIBUTE_NODE=2,Zs=$s.TEXT_NODE=3,ea=$s.CDATA_SECTION_NODE=4,ta=$s.ENTITY_REFERENCE_NODE=5,ia=$s.ENTITY_NODE=6,na=$s.PROCESSING_INSTRUCTION_NODE=7,ra=$s.COMMENT_NODE=8,sa=$s.DOCUMENT_NODE=9,aa=$s.DOCUMENT_TYPE_NODE=10,oa=$s.DOCUMENT_FRAGMENT_NODE=11,ua=$s.NOTATION_NODE=12,la={},ca={},ha=(la.INDEX_SIZE_ERR=(ca[1]=\"Index size error\",1),la.DOMSTRING_SIZE_ERR=(ca[2]=\"DOMString size error\",2),la.HIERARCHY_REQUEST_ERR=(ca[3]=\"Hierarchy request error\",3)),da=(la.WRONG_DOCUMENT_ERR=(ca[4]=\"Wrong document\",4),la.INVALID_CHARACTER_ERR=(ca[5]=\"Invalid character\",5),la.NO_DATA_ALLOWED_ERR=(ca[6]=\"No data allowed\",6),la.NO_MODIFICATION_ALLOWED_ERR=(ca[7]=\"No modification allowed\",7),la.NOT_FOUND_ERR=(ca[8]=\"Not found\",8)),pa=(la.NOT_SUPPORTED_ERR=(ca[9]=\"Not supported\",9),la.INUSE_ATTRIBUTE_ERR=(ca[10]=\"Attribute in use\",10));la.INVALID_STATE_ERR=(ca[11]=\"Invalid state\",11),la.SYNTAX_ERR=(ca[12]=\"Syntax error\",12),la.INVALID_MODIFICATION_ERR=(ca[13]=\"Invalid modification\",13),la.NAMESPACE_ERR=(ca[14]=\"Invalid namespace\",14),la.INVALID_ACCESS_ERR=(ca[15]=\"Invalid access\",15);function fa(e,t){if(t instanceof Error)var i=t;else i=this,Error.call(this,ca[e]),this.message=ca[e],Error.captureStackTrace&&Error.captureStackTrace(this,fa);return i.code=e,t&&(this.message=this.message+\": \"+t),i}function ma(){}function ga(e,t){this._node=e,this._refresh=t,va(this)}function va(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=t){var i=e._refresh(e._node);Xa(e,\"length\",i.length),Xs(i,e),e._inc=t}}function ya(){}function _a(e,t){for(var i=e.length;i--;)if(e[i]===t)return i}function ba(e,t,i,n){if(n?t[_a(t,n)]=i:t[t.length++]=i,e){var r=(i.ownerElement=e).ownerDocument;r&&(n&&xa(r,e,n),function(e,t,i){e&&e._inc++,\"http://www.w3.org/2000/xmlns/\"==i.namespaceURI&&(t._nsMap[i.prefix?i.localName:\"\"]=i.value)}(r,e,i))}}function Ta(e,t,i){var n=_a(t,i);if(!(0<=n))throw fa(da,new Error(e.tagName+\"@\"+i));for(var r=t.length-1;n<r;)t[n]=t[++n];if(t.length=r,e){var s=e.ownerDocument;s&&(xa(s,e,i),i.ownerElement=null)}}function Sa(e){if(this._features={},e)for(var t in e)this._features=e[t]}function ka(){}function Ca(e){return(\"<\"==e?\"&lt;\":\">\"==e&&\"&gt;\")||\"&\"==e&&\"&amp;\"||'\"'==e&&\"&quot;\"||\"&#\"+e.charCodeAt()+\";\"}function wa(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(wa(e,t))return!0}while(e=e.nextSibling)}function Ea(){}function xa(e,t,i){e&&e._inc++,\"http://www.w3.org/2000/xmlns/\"==i.namespaceURI&&delete t._nsMap[i.prefix?i.localName:\"\"]}function Aa(e,t,i){if(e&&e._inc){e._inc++;var n=t.childNodes;if(i)n[n.length++]=i;else{for(var r=t.firstChild,s=0;r;)r=(n[s++]=r).nextSibling;n.length=s}}}function Ia(e,t){var i=t.previousSibling,n=t.nextSibling;return i?i.nextSibling=n:e.firstChild=n,n?n.previousSibling=i:e.lastChild=i,Aa(e.ownerDocument,e),t}function Pa(e,t,i){var n=t.parentNode;if(n&&n.removeChild(t),t.nodeType===oa){var r=t.firstChild;if(null==r)return t;var s=t.lastChild}else r=s=t;var a=i?i.previousSibling:e.lastChild;for(r.previousSibling=a,s.nextSibling=i,a?a.nextSibling=r:e.firstChild=r,null==i?e.lastChild=s:i.previousSibling=s;r.parentNode=e,r!==s&&(r=r.nextSibling););return Aa(e.ownerDocument||e,e),t.nodeType==oa&&(t.firstChild=t.lastChild=null),t}function La(){this._nsMap={}}function Oa(){}function Da(){}function Na(){}function Ra(){}function Ua(){}function Ma(){}function Ba(){}function ja(){}function Fa(){}function Ha(){}function Va(){}function qa(){}function Wa(e,t){var i=[],n=9==this.nodeType?this.documentElement:this,r=n.prefix,s=n.namespaceURI;if(s&&null==r&&null==(r=n.lookupPrefix(s)))var a=[{namespace:s,prefix:null}];return Ga(this,i,e,t,a),i.join(\"\")}function za(e,t,i){var n=e.prefix||\"\",r=e.namespaceURI;if(!n&&!r)return!1;if(\"xml\"===n&&\"http://www.w3.org/XML/1998/namespace\"===r||\"http://www.w3.org/2000/xmlns/\"==r)return!1;for(var s=i.length;s--;){var a=i[s];if(a.prefix==n)return a.namespace!=r}return!0}function Ga(e,t,i,n,r){if(n){if(!(e=n(e)))return;if(\"string\"==typeof e)return void t.push(e)}switch(e.nodeType){case Qs:r=r||[];var s=e.attributes,a=s.length,o=e.firstChild,u=e.tagName;i=Ys===e.namespaceURI||i,t.push(\"<\",u);for(var l=0;l<a;l++){\"xmlns\"==(c=s.item(l)).prefix?r.push({prefix:c.localName,namespace:c.value}):\"xmlns\"==c.nodeName&&r.push({prefix:\"\",namespace:c.value})}for(l=0;l<a;l++){var c;if(za(c=s.item(l),0,r)){var h=c.prefix||\"\",d=c.namespaceURI,p=h?\" xmlns:\"+h:\" xmlns\";t.push(p,'=\"',d,'\"'),r.push({prefix:h,namespace:d})}Ga(c,t,i,n,r)}if(za(e,0,r)){h=e.prefix||\"\",d=e.namespaceURI,p=h?\" xmlns:\"+h:\" xmlns\";t.push(p,'=\"',d,'\"'),r.push({prefix:h,namespace:d})}if(o||i&&!/^(?:meta|link|img|br|hr|input)$/i.test(u)){if(t.push(\">\"),i&&/^script$/i.test(u))for(;o;)o.data?t.push(o.data):Ga(o,t,i,n,r),o=o.nextSibling;else for(;o;)Ga(o,t,i,n,r),o=o.nextSibling;t.push(\"</\",u,\">\")}else t.push(\"/>\");return;case sa:case oa:for(o=e.firstChild;o;)Ga(o,t,i,n,r),o=o.nextSibling;return;case Js:return t.push(\" \",e.name,'=\"',e.value.replace(/[<&\"]/g,Ca),'\"');case Zs:return t.push(e.data.replace(/[<&]/g,Ca));case ea:return t.push(\"<![CDATA[\",e.data,\"]]>\");case ra:return t.push(\"\\x3c!--\",e.data,\"--\\x3e\");case aa:var f=e.publicId,m=e.systemId;if(t.push(\"<!DOCTYPE \",e.name),f)t.push(' PUBLIC \"',f),m&&\".\"!=m&&t.push('\" \"',m),t.push('\">');else if(m&&\".\"!=m)t.push(' SYSTEM \"',m,'\">');else{var g=e.internalSubset;g&&t.push(\" [\",g,\"]\"),t.push(\">\")}return;case na:return t.push(\"<?\",e.target,\" \",e.data,\"?>\");case ta:return t.push(\"&\",e.nodeName,\";\");default:t.push(\"??\",e.nodeName)}}function Xa(e,t,i){e[t]=i}fa.prototype=Error.prototype,Xs(la,fa),ma.prototype={length:0,item:function(e){return this[e]||null},toString:function(e,t){for(var i=[],n=0;n<this.length;n++)Ga(this[n],i,e,t);return i.join(\"\")}},ga.prototype.item=function(e){return va(this),this[e]},Ks(ga,ma),ya.prototype={length:0,item:ma.prototype.item,getNamedItem:function(e){for(var t=this.length;t--;){var i=this[t];if(i.nodeName==e)return i}},setNamedItem:function(e){var t=e.ownerElement;if(t&&t!=this._ownerElement)throw new fa(pa);var i=this.getNamedItem(e.nodeName);return ba(this._ownerElement,this,e,i),i},setNamedItemNS:function(e){var t,i=e.ownerElement;if(i&&i!=this._ownerElement)throw new fa(pa);return t=this.getNamedItemNS(e.namespaceURI,e.localName),ba(this._ownerElement,this,e,t),t},removeNamedItem:function(e){var t=this.getNamedItem(e);return Ta(this._ownerElement,this,t),t},removeNamedItemNS:function(e,t){var i=this.getNamedItemNS(e,t);return Ta(this._ownerElement,this,i),i},getNamedItemNS:function(e,t){for(var i=this.length;i--;){var n=this[i];if(n.localName==t&&n.namespaceURI==e)return n}return null}},Sa.prototype={hasFeature:function(e,t){var i=this._features[e.toLowerCase()];return!(!i||t&&!(t in i))},createDocument:function(e,t,i){var n=new Ea;if(n.implementation=this,n.childNodes=new ma,(n.doctype=i)&&n.appendChild(i),t){var r=n.createElementNS(e,t);n.appendChild(r)}return n},createDocumentType:function(e,t,i){var n=new Ma;return n.name=e,n.nodeName=e,n.publicId=t,n.systemId=i,n}},ka.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(e,t){return Pa(this,e,t)},replaceChild:function(e,t){this.insertBefore(e,t),t&&this.removeChild(t)},removeChild:function(e){return Ia(this,e)},appendChild:function(e){return this.insertBefore(e,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(e){return function e(t,i,n){var r=new i.constructor;for(var s in i){var a=i[s];\"object\"!=typeof a&&a!=r[s]&&(r[s]=a)}i.childNodes&&(r.childNodes=new ma);r.ownerDocument=t;switch(r.nodeType){case Qs:var o=i.attributes,u=r.attributes=new ya,l=o.length;u._ownerElement=r;for(var c=0;c<l;c++)r.setAttributeNode(e(t,o.item(c),!0));break;case Js:n=!0}if(n)for(var h=i.firstChild;h;)r.appendChild(e(t,h,n)),h=h.nextSibling;return r}(this.ownerDocument||this,this,e)},normalize:function(){for(var e=this.firstChild;e;){var t=e.nextSibling;t&&t.nodeType==Zs&&e.nodeType==Zs?(this.removeChild(t),e.appendData(t.data)):(e.normalize(),e=t)}},isSupported:function(e,t){return this.ownerDocument.implementation.hasFeature(e,t)},hasAttributes:function(){return 0<this.attributes.length},lookupPrefix:function(e){for(var t=this;t;){var i=t._nsMap;if(i)for(var n in i)if(i[n]==e)return n;t=t.nodeType==Js?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var i=t._nsMap;if(i&&e in i)return i[e];t=t.nodeType==Js?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},Xs($s,ka),Xs($s,ka.prototype),Ea.prototype={nodeName:\"#document\",nodeType:sa,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType!=oa)return null==this.documentElement&&e.nodeType==Qs&&(this.documentElement=e),Pa(this,e,t),e.ownerDocument=this,e;for(var i=e.firstChild;i;){var n=i.nextSibling;this.insertBefore(i,t),i=n}return e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),Ia(this,e)},importNode:function(e,t){return function e(t,i,n){var r;switch(i.nodeType){case Qs:(r=i.cloneNode(!1)).ownerDocument=t;case oa:break;case Js:n=!0}r=r||i.cloneNode(!1);r.ownerDocument=t;r.parentNode=null;if(n)for(var s=i.firstChild;s;)r.appendChild(e(t,s,n)),s=s.nextSibling;return r}(this,e,t)},getElementById:function(t){var i=null;return wa(this.documentElement,function(e){if(e.nodeType==Qs&&e.getAttribute(\"id\")==t)return i=e,!0}),i},createElement:function(e){var t=new La;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.childNodes=new ma,(t.attributes=new ya)._ownerElement=t},createDocumentFragment:function(){var e=new Ha;return e.ownerDocument=this,e.childNodes=new ma,e},createTextNode:function(e){var t=new Na;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new Ra;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new Ua;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var i=new Va;return i.ownerDocument=this,i.tagName=i.target=e,i.nodeValue=i.data=t,i},createAttribute:function(e){var t=new Oa;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new Fa;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var i=new La,n=t.split(\":\"),r=i.attributes=new ya;return i.childNodes=new ma,i.ownerDocument=this,i.nodeName=t,i.tagName=t,i.namespaceURI=e,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,r._ownerElement=i},createAttributeNS:function(e,t){var i=new Oa,n=t.split(\":\");return i.ownerDocument=this,i.nodeName=t,i.name=t,i.namespaceURI=e,i.specified=!0,2==n.length?(i.prefix=n[0],i.localName=n[1]):i.localName=t,i}},Ks(Ea,ka),Ea.prototype.getElementsByTagName=(La.prototype={nodeType:Qs,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||\"\"},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var i=this.ownerDocument.createAttribute(e);i.value=i.nodeValue=\"\"+t,this.setAttributeNode(i)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===oa?this.insertBefore(e,null):function(e,t){var i=t.parentNode;if(i){var n=e.lastChild;i.removeChild(t);n=e.lastChild}return n=e.lastChild,t.parentNode=e,t.previousSibling=n,t.nextSibling=null,n?n.nextSibling=t:e.firstChild=t,e.lastChild=t,Aa(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);i&&this.removeAttributeNode(i)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var i=this.getAttributeNodeNS(e,t);return i&&i.value||\"\"},setAttributeNS:function(e,t,i){var n=this.ownerDocument.createAttributeNS(e,t);n.value=n.nodeValue=\"\"+i,this.setAttributeNode(n)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(n){return new ga(this,function(t){var i=[];return wa(t,function(e){e===t||e.nodeType!=Qs||\"*\"!==n&&e.tagName!=n||i.push(e)}),i})},getElementsByTagNameNS:function(n,r){return new ga(this,function(t){var i=[];return wa(t,function(e){e===t||e.nodeType!==Qs||\"*\"!==n&&e.namespaceURI!==n||\"*\"!==r&&e.localName!=r||i.push(e)}),i})}}).getElementsByTagName,Ea.prototype.getElementsByTagNameNS=La.prototype.getElementsByTagNameNS,Ks(La,ka),Oa.prototype.nodeType=Js,Ks(Oa,ka),Da.prototype={data:\"\",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error(ca[ha])},deleteData:function(e,t){this.replaceData(e,t,\"\")},replaceData:function(e,t,i){i=this.data.substring(0,e)+i+this.data.substring(e+t),this.nodeValue=this.data=i,this.length=i.length}},Ks(Da,ka),Na.prototype={nodeName:\"#text\",nodeType:Zs,splitText:function(e){var t=this.data,i=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var n=this.ownerDocument.createTextNode(i);return this.parentNode&&this.parentNode.insertBefore(n,this.nextSibling),n}},Ks(Na,Da),Ra.prototype={nodeName:\"#comment\",nodeType:ra},Ks(Ra,Da),Ua.prototype={nodeName:\"#cdata-section\",nodeType:ea},Ks(Ua,Da),Ma.prototype.nodeType=aa,Ks(Ma,ka),Ba.prototype.nodeType=ua,Ks(Ba,ka),ja.prototype.nodeType=ia,Ks(ja,ka),Fa.prototype.nodeType=ta,Ks(Fa,ka),Ha.prototype.nodeName=\"#document-fragment\",Ha.prototype.nodeType=oa,Ks(Ha,ka),Va.prototype.nodeType=na,Ks(Va,ka),qa.prototype.serializeToString=function(e,t,i){return Wa.call(e,t,i)},ka.prototype.toString=Wa;try{if(Object.defineProperty){Object.defineProperty(ga.prototype,\"length\",{get:function(){return va(this),this.$$length}}),Object.defineProperty(ka.prototype,\"textContent\",{get:function(){return function e(t){switch(t.nodeType){case Qs:case oa:var i=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&i.push(e(t)),t=t.nextSibling;return i.join(\"\");default:return t.nodeValue}}(this)},set:function(e){switch(this.nodeType){case Qs:case oa:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),Xa=function(e,t,i){e[\"$$\"+t]=i}}}catch(e){}function Ka(e){return!!e&&\"object\"==typeof e}function Ya(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.reduce(function(t,i){return Object.keys(i).forEach(function(e){Array.isArray(t[e])&&Array.isArray(i[e])?t[e]=t[e].concat(i[e]):Ka(t[e])&&Ka(i[e])?t[e]=Ya(t[e],i[e]):t[e]=i[e]}),t},{})}function $a(e){return e.reduce(function(e,t){return e.concat(t)},[])}function Qa(e){if(!e.length)return[];for(var t=[],i=0;i<e.length;i++)t.push(e[i]);return t}function Ja(e){var t=e.baseUrl,i=void 0===t?\"\":t,n=e.source,r=void 0===n?\"\":n,s=e.range,a=void 0===s?\"\":s,o=e.indexRange,u=void 0===o?\"\":o,l={uri:r,resolvedUri:bs(i||\"\",r)};if(a||u){var c=(a||u).split(\"-\"),h=parseInt(c[0],10),d=parseInt(c[1],10);l.byterange={length:d-h+1,offset:h}}return l}function Za(e){var t=e.type,i=void 0===t?\"static\":t,n=e.duration,r=e.timescale,s=void 0===r?1:r,a=e.sourceDuration,o=Vo[i](e),u=function(e,t){for(var i=[],n=e;n<t;n++)i.push(n);return i}(o.start,o.end).map(function(o){return function(e,t){var i=o.duration,n=o.timescale,r=void 0===n?1:n,s=o.periodIndex,a=o.startNumber;return{number:(void 0===a?1:a)+e,duration:i/r,timeline:s,time:t*i}}}(e));if(\"static\"===i){var l=u.length-1;u[l].duration=a-n/s*l}return u}function eo(e){var t=e.baseUrl,i=e.initialization,n=void 0===i?{}:i,r=e.sourceDuration,s=e.timescale,a=void 0===s?1:s,o=e.indexRange,u=void 0===o?\"\":o,l=e.duration;if(!t)throw new Error(jo);var c=Ja({baseUrl:t,source:n.sourceURL,range:n.range}),h=Ja({baseUrl:t,source:t,indexRange:u});if(h.map=c,l){var d=Za(e);d.length&&(h.duration=d[0].duration,h.timeline=d[0].timeline)}else r&&(h.duration=r/a,h.timeline=0);return h.number=0,[h]}function to(e,t,i){for(var n=e.sidx.map?e.sidx.map:null,r=e.sidx.duration,s=e.timeline||0,a=e.sidx.byterange,o=a.offset+a.length,u=t.timescale,l=t.references.filter(function(e){return 1!==e.referenceType}),c=[],h=o+t.firstOffset,d=0;d<l.length;d++){var p=t.references[d],f=p.referencedSize,m=p.subsegmentDuration,g=eo({baseUrl:i,timescale:u,timeline:s,periodIndex:s,duration:m,sourceDuration:r,indexRange:h+\"-\"+(h+f-1)})[0];n&&(g.map=n),c.push(g),h+=f}return e.segments=c,e}function io(e){return function(t){return Object.keys(t).map(function(e){return t[e]})}(e.reduce(function(e,t){var i,n=t.attributes.id+(t.attributes.lang||\"\");e[n]?(t.segments[0]&&(t.segments[0].discontinuity=!0),(i=e[n].segments).push.apply(i,t.segments),t.attributes.contentProtection&&(e[n].attributes.contentProtection=t.attributes.contentProtection)):e[n]=t;return e},{})).map(function(e){return e.discontinuityStarts=function(e,n){return e.reduce(function(e,t,i){return t[n]&&e.push(i),e},[])}(e.segments,\"discontinuity\"),e})}function no(e,t){if(void 0===t&&(t={}),!Object.keys(t).length)return e;for(var i in e){var n=e[i];if(n.sidx){var r=n.sidx.uri+\"-\"+(a=n.sidx.byterange,void 0,o=a.offset+a.length-1,a.offset+\"-\"+o),s=t[r]&&t[r].sidx;n.sidx&&s&&to(n,s,n.sidx.resolvedUri)}}var a,o;return e}function ro(e){var t,i=e.attributes,n=e.segments,r=e.sidx,s={attributes:(t={NAME:i.id,AUDIO:\"audio\",SUBTITLES:\"subs\",RESOLUTION:{width:i.width,height:i.height},CODECS:i.codecs,BANDWIDTH:i.bandwidth},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1};return i.contentProtection&&(s.contentProtection=i.contentProtection),r&&(s.sidx=r),s}function so(e,t){var i;if(void 0===t&&(t={}),!e.length)return{};var n=e[0].attributes,r=n.sourceDuration,s=n.type,a=void 0===s?\"static\":s,o=n.suggestedPresentationDelay,u=n.minimumUpdatePeriod,l=void 0===u?0:u,c=io(e.filter(function(e){var t=e.attributes;return\"video/mp4\"===t.mimeType||\"video\"===t.contentType})).map(ro),h=io(e.filter(function(e){var t=e.attributes;return\"audio/mp4\"===t.mimeType||\"audio\"===t.contentType})),d=e.filter(function(e){var t=e.attributes;return\"text/vtt\"===t.mimeType||\"text\"===t.contentType}),p={allowCache:!0,discontinuityStarts:[],segments:[],endList:!0,mediaGroups:(i={AUDIO:{},VIDEO:{}},i[\"CLOSED-CAPTIONS\"]={},i.SUBTITLES={},i),uri:\"\",duration:r,playlists:no(c,t),minimumUpdatePeriod:1e3*l};return\"dynamic\"===a&&(p.suggestedPresentationDelay=o),h.length&&(p.mediaGroups.AUDIO.audio=function(e,a){var o;void 0===a&&(a={});var t=e.reduce(function(e,t){var i=t.attributes.role&&t.attributes.role.value||\"\",n=t.attributes.lang||\"\",r=\"main\";if(n){var s=i?\" (\"+i+\")\":\"\";r=t.attributes.lang+s}return e[r]&&e[r].playlists[0].attributes.BANDWIDTH>t.attributes.bandwidth||(e[r]={language:n,autoselect:!0,default:\"main\"===i,playlists:no([function(e){var t,i=e.attributes,n=e.segments,r=e.sidx,s={attributes:(t={NAME:i.id,BANDWIDTH:i.bandwidth,CODECS:i.codecs},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1};return i.contentProtection&&(s.contentProtection=i.contentProtection),r&&(s.sidx=r),s}(t)],a),uri:\"\"},\"undefined\"==typeof o&&\"main\"===i&&((o=t).default=!0)),e},{});o||(t[Object.keys(t)[0]].default=!0);return t}(h,t)),d.length&&(p.mediaGroups.SUBTITLES.subs=function(e,n){return void 0===n&&(n={}),e.reduce(function(e,t){var i=t.attributes.lang||\"text\";return e[i]||(e[i]={language:i,default:!1,autoselect:!1,playlists:no([function(e){var t,i=e.attributes,n=e.segments;return\"undefined\"==typeof n&&(n=[{uri:i.baseUrl,timeline:i.periodIndex,resolvedUri:i.baseUrl||\"\",duration:i.sourceDuration,number:0}],i.duration=i.sourceDuration),{attributes:(t={NAME:i.id,BANDWIDTH:i.bandwidth},t[\"PROGRAM-ID\"]=1,t),uri:\"\",endList:\"static\"===(i.type||\"static\"),timeline:i.periodIndex,resolvedUri:i.baseUrl||\"\",targetDuration:i.duration,segments:n,mediaSequence:n.length?n[0].number:1}}(t)],n),uri:\"\"}),e},{})}(d,t)),p}function ao(e,t){for(var i,n,r,s,a,o,u,l,c,h,d,p,f=e.type,m=void 0===f?\"static\":f,g=e.minimumUpdatePeriod,v=void 0===g?0:g,y=e.media,_=void 0===y?\"\":y,b=e.sourceDuration,T=e.timescale,S=void 0===T?1:T,k=e.startNumber,C=void 0===k?1:k,w=e.periodIndex,E=[],x=-1,A=0;A<t.length;A++){var I=t[A],P=I.d,L=I.r||0,O=I.t||0;x<0&&(x=O),O&&x<O&&(x=O);var D=void 0;if(L<0){var N=A+1;D=N===t.length?\"dynamic\"===m&&0<v&&0<_.indexOf(\"$Number$\")?(n=x,r=P,void 0,s=(i=e).NOW,a=i.clientOffset,o=i.availabilityStartTime,u=i.timescale,l=void 0===u?1:u,c=i.start,h=void 0===c?0:c,d=i.minimumUpdatePeriod,p=(s+a)/1e3+(void 0===d?0:d)-(o+h),Math.ceil((p*l-n)/r)):(b*S-x)/P:(t[N].t-x)/P}else D=L+1;for(var R=C+E.length+D,U=C+E.length;U<R;)E.push({number:U,duration:P/S,time:x,timeline:w}),x+=P,U++}return E}function oo(e,t){return e.replace(qo,function(s){return function(e,t,i,n){if(\"$$\"===e)return\"$\";if(\"undefined\"==typeof s[t])return e;var r=\"\"+s[t];return\"RepresentationID\"===t?r:(n=i?parseInt(n,10):1)<=r.length?r:new Array(n-r.length+1).join(\"0\")+r}}(t))}function uo(i,e){var n={RepresentationID:i.id,Bandwidth:i.bandwidth||0},t=i.initialization,r=void 0===t?{sourceURL:\"\",range:\"\"}:t,s=Ja({baseUrl:i.baseUrl,source:oo(r.sourceURL,n),range:r.range});return function(e,t){return e.duration||t?e.duration?Za(e):ao(e,t):[{number:e.startNumber||1,duration:e.sourceDuration,time:0,timeline:e.periodIndex}]}(i,e).map(function(e){n.Number=e.number,n.Time=e.time;var t=oo(i.media||\"\",n);return{uri:t,timeline:e.timeline,duration:e.duration,resolvedUri:bs(i.baseUrl||\"\",t),map:s,number:e.number}})}function lo(t,e){var i=t.duration,n=t.segmentUrls,r=void 0===n?[]:n;if(!i&&!e||i&&e)throw new Error(Fo);var s,a=r.map(function(e){return function(e,t){var i=e.baseUrl,n=e.initialization,r=void 0===n?{}:n,s=Ja({baseUrl:i,source:r.sourceURL,range:r.range}),a=Ja({baseUrl:i,source:t.media,range:t.mediaRange});return a.map=s,a}(t,e)});return i&&(s=Za(t)),e&&(s=ao(t,e)),s.map(function(e,t){if(a[t]){var i=a[t];return i.timeline=e.timeline,i.duration=e.duration,i.number=e.number,i}}).filter(function(e){return e})}function co(e){var t,i,n=e.attributes,r=e.segmentInfo;r.template?(i=uo,t=Ya(n,r.template)):r.base?(i=eo,t=Ya(n,r.base)):r.list&&(i=lo,t=Ya(n,r.list));var s={attributes:n};if(!i)return s;var a=i(t,r.timeline);if(t.duration){var o=t,u=o.duration,l=o.timescale,c=void 0===l?1:l;t.duration=u/c}else a.length?t.duration=a.reduce(function(e,t){return Math.max(e,Math.ceil(t.duration))},0):t.duration=0;return s.attributes=t,s.segments=a,r.base&&t.indexRange&&(s.sidx=a[0],s.segments=[]),s}function ho(e,t){return Qa(e.childNodes).filter(function(e){return e.tagName===t})}function po(e){return e.textContent.trim()}function fo(e){var t=/P(?:(\\d*)Y)?(?:(\\d*)M)?(?:(\\d*)D)?(?:T(?:(\\d*)H)?(?:(\\d*)M)?(?:([\\d.]*)S)?)?/.exec(e);if(!t)return 0;var i=t.slice(1),n=i[0],r=i[1],s=i[2],a=i[3],o=i[4],u=i[5];return 31536e3*parseFloat(n||0)+2592e3*parseFloat(r||0)+86400*parseFloat(s||0)+3600*parseFloat(a||0)+60*parseFloat(o||0)+parseFloat(u||0)}function mo(e){return e&&e.attributes?Qa(e.attributes).reduce(function(e,t){var i=Wo[t.name]||Wo.DEFAULT;return e[t.name]=i(t.value),e},{}):{}}function go(e,i){return i.length?$a(e.map(function(t){return i.map(function(e){return bs(t,po(e))})})):e}function vo(e){var t=ho(e,\"SegmentTemplate\")[0],i=ho(e,\"SegmentList\")[0],n=i&&ho(i,\"SegmentURL\").map(function(e){return Ya({tag:\"SegmentURL\"},mo(e))}),r=ho(e,\"SegmentBase\")[0],s=i||t,a=s&&ho(s,\"SegmentTimeline\")[0],o=i||r||t,u=o&&ho(o,\"Initialization\")[0],l=t&&mo(t);l&&u?l.initialization=u&&mo(u):l&&l.initialization&&(l.initialization={sourceURL:l.initialization});var c={template:l,timeline:a&&ho(a,\"S\").map(function(e){return mo(e)}),list:i&&Ya(mo(i),{segmentUrls:n,initialization:mo(u)}),base:r&&Ya(mo(r),{initialization:mo(u)})};return Object.keys(c).forEach(function(e){c[e]||delete c[e]}),c}function yo(c,h,d){return function(e){var t=mo(e),i=go(h,ho(e,\"BaseURL\")),n=ho(e,\"Role\")[0],r={role:mo(n)},s=Ya(c,t,r),a=function(e){return e.reduce(function(e,t){var i=mo(t),n=zo[i.schemeIdUri];if(n){e[n]={attributes:i};var r=ho(t,\"cenc:pssh\")[0];if(r){var s=po(r),a=s&&ks(s);e[n].pssh=a}}return e},{})}(ho(e,\"ContentProtection\"));Object.keys(a).length&&(s=Ya(s,{contentProtection:a}));var o=vo(e),u=ho(e,\"Representation\"),l=Ya(d,o);return $a(u.map(function(s,a,o){return function(e){var t=ho(e,\"BaseURL\"),i=go(a,t),n=Ya(s,mo(e)),r=vo(e);return i.map(function(e){return{segmentInfo:Ya(o,r),attributes:Ya(n,{baseUrl:e})}})}}(s,i,l)))}}function _o(e,t){void 0===t&&(t={});var i=t,n=i.manifestUri,r=void 0===n?\"\":n,s=i.NOW,a=void 0===s?Date.now():s,o=i.clientOffset,u=void 0===o?0:o,l=ho(e,\"Period\");if(!l.length)throw new Error(Uo);var c=mo(e),h=go([r],ho(e,\"BaseURL\"));return c.sourceDuration=c.mediaPresentationDuration||0,c.NOW=a,c.clientOffset=u,$a(l.map(function(l,c){return function(e,t){var i=go(c,ho(e,\"BaseURL\")),n=mo(e),r=parseInt(n.id,10),s=y.isNaN(r)?t:r,a=Ya(l,{periodIndex:s}),o=ho(e,\"AdaptationSet\"),u=vo(e);return $a(o.map(yo(a,i,u)))}}(c,h)))}function bo(e){if(\"\"===e)throw new Error(Mo);var t=(new Ro).parseFromString(e,\"application/xml\"),i=t&&\"MPD\"===t.documentElement.tagName?t.documentElement:null;if(!i||i&&0<i.getElementsByTagName(\"parsererror\").length)throw new Error(Bo);return i}function To(e,t){return void 0===t&&(t={}),so(function(e){return e.map(co)}(_o(bo(e),t)),t.sidxMapping)}function So(e){return function(e){var t=ho(e,\"UTCTiming\")[0];if(!t)return null;var i=mo(t);switch(i.schemeIdUri){case\"urn:mpeg:dash:utc:http-head:2014\":case\"urn:mpeg:dash:utc:http-head:2012\":i.method=\"HEAD\";break;case\"urn:mpeg:dash:utc:http-xsdate:2014\":case\"urn:mpeg:dash:utc:http-iso:2014\":case\"urn:mpeg:dash:utc:http-xsdate:2012\":case\"urn:mpeg:dash:utc:http-iso:2012\":i.method=\"GET\";break;case\"urn:mpeg:dash:utc:direct:2014\":case\"urn:mpeg:dash:utc:direct:2012\":i.method=\"DIRECT\",i.value=Date.parse(i.value);break;case\"urn:mpeg:dash:utc:http-ntp:2014\":case\"urn:mpeg:dash:utc:ntp:2014\":case\"urn:mpeg:dash:utc:sntp:2014\":default:throw new Error(Ho)}return i}(bo(e))}function ko(e){return new Date(1e3*e-20828448e5)}function Co(e){return{isLeading:(12&e[0])>>>2,dependsOn:3&e[0],isDependedOn:(192&e[1])>>>6,hasRedundancy:(48&e[1])>>>4,paddingValue:(14&e[1])>>>1,isNonSyncSample:1&e[1],degradationPriority:e[2]<<8|e[3]}}function wo(e){var t=\"\";return t+=String.fromCharCode(e[0]),t+=String.fromCharCode(e[1]),t+=String.fromCharCode(e[2]),t+=String.fromCharCode(e[3])}var Eo,xo,Ao,Io,Po,Lo,Oo,Do={DOMImplementation:Sa,XMLSerializer:qa},No=t(function(e,t){function i(e){this.options=e||{locator:{}}}function l(){this.cdata=!1}function c(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function h(e){if(e)return\"\\n@\"+(e.systemId||\"\")+\"#[line:\"+e.lineNumber+\",col:\"+e.columnNumber+\"]\"}function r(e,t,i){return\"string\"==typeof e?e.substr(t,i):e.length>=t+i||t?new java.lang.String(e,t,i)+\"\":e}function d(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}i.prototype.parseFromString=function(e,t){var i=this.options,n=new p,r=i.domBuilder||new l,s=i.errorHandler,a=i.locator,o=i.xmlns||{},u={lt:\"<\",gt:\">\",amp:\"&\",quot:'\"',apos:\"'\"};return a&&r.setDocumentLocator(a),n.errorHandler=function(n,e,r){if(!n){if(e instanceof l)return e;n=e}var s={},a=n instanceof Function;function t(t){var i=n[t];!i&&a&&(i=2==n.length?function(e){n(t,e)}:n),s[t]=i&&function(e){i(\"[xmldom \"+t+\"]\\t\"+e+h(r))}||function(){}}return r=r||{},t(\"warning\"),t(\"error\"),t(\"fatalError\"),s}(s,r,a),n.domBuilder=i.domBuilder||r,/\\/x?html?$/.test(t)&&(u.nbsp=\" \",u.copy=\"©\",o[\"\"]=\"http://www.w3.org/1999/xhtml\"),o.xml=o.xml||\"http://www.w3.org/XML/1998/namespace\",e?n.parse(e,o,u):n.errorHandler.error(\"invalid doc source\"),r.doc},l.prototype={startDocument:function(){this.doc=(new n).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,i,n){var r=this.doc,s=r.createElementNS(e,i||t),a=n.length;d(this,s),this.currentElement=s,this.locator&&c(this.locator,s);for(var o=0;o<a;o++){e=n.getURI(o);var u=n.getValue(o),l=(i=n.getQName(o),r.createAttributeNS(e,i));this.locator&&c(n.getLocator(o),l),l.value=l.nodeValue=u,s.setAttributeNode(l)}},endElement:function(e,t,i){var n=this.currentElement;n.tagName;this.currentElement=n.parentNode},startPrefixMapping:function(e,t){},endPrefixMapping:function(e){},processingInstruction:function(e,t){var i=this.doc.createProcessingInstruction(e,t);this.locator&&c(this.locator,i),d(this,i)},ignorableWhitespace:function(e,t,i){},characters:function(e,t,i){if(e=r.apply(this,arguments)){if(this.cdata)var n=this.doc.createCDATASection(e);else n=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(n):/^\\s*$/.test(e)&&this.doc.appendChild(n),this.locator&&c(this.locator,n)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){(this.locator=e)&&(e.lineNumber=0)},comment:function(e,t,i){e=r.apply(this,arguments);var n=this.doc.createComment(e);this.locator&&c(this.locator,n),d(this,n)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,t,i){var n=this.doc.implementation;if(n&&n.createDocumentType){var r=n.createDocumentType(e,t,i);this.locator&&c(this.locator,r),d(this,r)}},warning:function(e){},error:function(e){},fatalError:function(e){throw e}},\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(e){l.prototype[e]=function(){return null}});var p=Gs.XMLReader,n=t.DOMImplementation=Do.DOMImplementation;t.XMLSerializer=Do.XMLSerializer,t.DOMParser=i}),Ro=(No.DOMImplementation,No.XMLSerializer,No.DOMParser),Uo=\"INVALID_NUMBER_OF_PERIOD\",Mo=\"DASH_EMPTY_MANIFEST\",Bo=\"DASH_INVALID_XML\",jo=\"NO_BASE_URL\",Fo=\"SEGMENT_TIME_UNSPECIFIED\",Ho=\"UNSUPPORTED_UTC_TIMING_SCHEME\",Vo={static:function(e){var t=e.duration,i=e.timescale,n=void 0===i?1:i,r=e.sourceDuration;return{start:0,end:Math.ceil(r/(t/n))}},dynamic:function(e){var t=e.NOW,i=e.clientOffset,n=e.availabilityStartTime,r=e.timescale,s=void 0===r?1:r,a=e.duration,o=e.start,u=void 0===o?0:o,l=e.minimumUpdatePeriod,c=void 0===l?0:l,h=e.timeShiftBufferDepth,d=void 0===h?1/0:h,p=(t+i)/1e3,f=n+u,m=p+c-f,g=Math.ceil(m*s/a),v=Math.floor((p-f-d)*s/a),y=Math.floor((p-f)*s/a);return{start:Math.max(0,v),end:Math.min(g,y)}}},qo=/\\$([A-z]*)(?:(%0)([0-9]+)d)?\\$/g,Wo={mediaPresentationDuration:function(e){return fo(e)},availabilityStartTime:function(e){return function(e){return/^\\d+-\\d+-\\d+T\\d+:\\d+:\\d+(\\.\\d+)?$/.test(e)&&(e+=\"Z\"),Date.parse(e)}(e)/1e3},minimumUpdatePeriod:function(e){return fo(e)},suggestedPresentationDelay:function(e){return fo(e)},type:function(e){return e},timeShiftBufferDepth:function(e){return fo(e)},start:function(e){return fo(e)},width:function(e){return parseInt(e,10)},height:function(e){return parseInt(e,10)},bandwidth:function(e){return parseInt(e,10)},startNumber:function(e){return parseInt(e,10)},timescale:function(e){return parseInt(e,10)},duration:function(e){var t=parseInt(e,10);return isNaN(t)?fo(e):t},d:function(e){return parseInt(e,10)},t:function(e){return parseInt(e,10)},r:function(e){return parseInt(e,10)},DEFAULT:function(e){return e}},zo={\"urn:uuid:1077efec-c0b2-4d02-ace3-3c1e52e2fb4b\":\"org.w3.clearkey\",\"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed\":\"com.widevine.alpha\",\"urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95\":\"com.microsoft.playready\",\"urn:uuid:f239e769-efa3-4850-9c16-a903c6932efb\":\"com.adobe.primetime\"},Go=function(e){return e>>>0},Xo=function(e){return(\"00\"+e.toString(16)).slice(-2)},Ko=Go,Yo={avc1:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{dataReferenceIndex:t.getUint16(6),width:t.getUint16(24),height:t.getUint16(26),horizresolution:t.getUint16(28)+t.getUint16(30)/16,vertresolution:t.getUint16(32)+t.getUint16(34)/16,frameCount:t.getUint16(40),depth:t.getUint16(74),config:Eo(e.subarray(78,e.byteLength))}},avcC:function(e){var t,i,n,r,s=new DataView(e.buffer,e.byteOffset,e.byteLength),a={configurationVersion:e[0],avcProfileIndication:e[1],profileCompatibility:e[2],avcLevelIndication:e[3],lengthSizeMinusOne:3&e[4],sps:[],pps:[]},o=31&e[5];for(n=6,r=0;r<o;r++)i=s.getUint16(n),n+=2,a.sps.push(new Uint8Array(e.subarray(n,n+i))),n+=i;for(t=e[n],n++,r=0;r<t;r++)i=s.getUint16(n),n+=2,a.pps.push(new Uint8Array(e.subarray(n,n+i))),n+=i;return a},btrt:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{bufferSizeDB:t.getUint32(0),maxBitrate:t.getUint32(4),avgBitrate:t.getUint32(8)}},esds:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),esId:e[6]<<8|e[7],streamPriority:31&e[8],decoderConfig:{objectProfileIndication:e[11],streamType:e[12]>>>2&63,bufferSize:e[13]<<16|e[14]<<8|e[15],maxBitrate:e[16]<<24|e[17]<<16|e[18]<<8|e[19],avgBitrate:e[20]<<24|e[21]<<16|e[22]<<8|e[23],decoderConfigDescriptor:{tag:e[24],length:e[25],audioObjectType:e[26]>>>3&31,samplingFrequencyIndex:(7&e[26])<<1|e[27]>>>7&1,channelConfiguration:e[27]>>>3&15}}}},ftyp:function(e){for(var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={majorBrand:wo(e.subarray(0,4)),minorVersion:t.getUint32(4),compatibleBrands:[]},n=8;n<e.byteLength;)i.compatibleBrands.push(wo(e.subarray(n,n+4))),n+=4;return i},dinf:function(e){return{boxes:Eo(e)}},dref:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),dataReferences:Eo(e.subarray(8))}},hdlr:function(e){var t={version:new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0),flags:new Uint8Array(e.subarray(1,4)),handlerType:wo(e.subarray(8,12)),name:\"\"},i=8;for(i=24;i<e.byteLength;i++){if(0===e[i]){i++;break}t.name+=String.fromCharCode(e[i])}return t.name=decodeURIComponent(escape(t.name)),t},mdat:function(e){return{byteLength:e.byteLength,nals:function(e){var t,i,n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=[];for(t=0;t+4<e.length;t+=i)if(i=n.getUint32(t),t+=4,i<=0)r.push(\"<span style='color:red;'>MALFORMED DATA</span>\");else switch(31&e[t]){case 1:r.push(\"slice_layer_without_partitioning_rbsp\");break;case 5:r.push(\"slice_layer_without_partitioning_rbsp_idr\");break;case 6:r.push(\"sei_rbsp\");break;case 7:r.push(\"seq_parameter_set_rbsp\");break;case 8:r.push(\"pic_parameter_set_rbsp\");break;case 9:r.push(\"access_unit_delimiter_rbsp\");break;default:r.push(\"UNKNOWN NAL - \"+e[t]&31)}return r}(e)}},mdhd:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n=4,r={version:i.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),language:\"\"};return 1===r.version?(n+=4,r.creationTime=ko(i.getUint32(n)),n+=8,r.modificationTime=ko(i.getUint32(n)),n+=4,r.timescale=i.getUint32(n),n+=8):(r.creationTime=ko(i.getUint32(n)),n+=4,r.modificationTime=ko(i.getUint32(n)),n+=4,r.timescale=i.getUint32(n),n+=4),r.duration=i.getUint32(n),n+=4,t=i.getUint16(n),r.language+=String.fromCharCode(96+(t>>10)),r.language+=String.fromCharCode(96+((992&t)>>5)),r.language+=String.fromCharCode(96+(31&t)),r},mdia:function(e){return{boxes:Eo(e)}},mfhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sequenceNumber:e[4]<<24|e[5]<<16|e[6]<<8|e[7]}},minf:function(e){return{boxes:Eo(e)}},mp4a:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i={dataReferenceIndex:t.getUint16(6),channelcount:t.getUint16(16),samplesize:t.getUint16(18),samplerate:t.getUint16(24)+t.getUint16(26)/65536};return 28<e.byteLength&&(i.streamDescriptor=Eo(e.subarray(28))[0]),i},moof:function(e){return{boxes:Eo(e)}},moov:function(e){return{boxes:Eo(e)}},mvex:function(e){return{boxes:Eo(e)}},mvhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=4,n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return 1===n.version?(i+=4,n.creationTime=ko(t.getUint32(i)),i+=8,n.modificationTime=ko(t.getUint32(i)),i+=4,n.timescale=t.getUint32(i),i+=8):(n.creationTime=ko(t.getUint32(i)),i+=4,n.modificationTime=ko(t.getUint32(i)),i+=4,n.timescale=t.getUint32(i),i+=4),n.duration=t.getUint32(i),i+=4,n.rate=t.getUint16(i)+t.getUint16(i+2)/16,i+=4,n.volume=t.getUint8(i)+t.getUint8(i+1)/8,i+=2,i+=2,i+=8,n.matrix=new Uint32Array(e.subarray(i,i+36)),i+=36,i+=24,n.nextTrackId=t.getUint32(i),n},pdin:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4)),rate:t.getUint32(4),initialDelay:t.getUint32(8)}},sdtp:function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]};for(t=4;t<e.byteLength;t++)i.samples.push({dependsOn:(48&e[t])>>4,isDependedOn:(12&e[t])>>2,hasRedundancy:3&e[t]});return i},sidx:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),references:[],referenceId:i.getUint32(4),timescale:i.getUint32(8),earliestPresentationTime:i.getUint32(12),firstOffset:i.getUint32(16)},r=i.getUint16(22);for(t=24;r;t+=12,r--)n.references.push({referenceType:(128&e[t])>>>7,referencedSize:2147483647&i.getUint32(t),subsegmentDuration:i.getUint32(t+4),startsWithSap:!!(128&e[t+8]),sapType:(112&e[t+8])>>>4,sapDeltaTime:268435455&i.getUint32(t+8)});return n},smhd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),balance:e[4]+e[5]/256}},stbl:function(e){return{boxes:Eo(e)}},stco:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),chunkOffsets:[]},r=i.getUint32(4);for(t=8;r;t+=4,r--)n.chunkOffsets.push(i.getUint32(t));return n},stsc:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n=i.getUint32(4),r={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleToChunks:[]};for(t=8;n;t+=12,n--)r.sampleToChunks.push({firstChunk:i.getUint32(t),samplesPerChunk:i.getUint32(t+4),sampleDescriptionIndex:i.getUint32(t+8)});return r},stsd:function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleDescriptions:Eo(e.subarray(8))}},stsz:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),sampleSize:i.getUint32(4),entries:[]};for(t=12;t<e.byteLength;t+=4)n.entries.push(i.getUint32(t));return n},stts:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),timeToSamples:[]},r=i.getUint32(4);for(t=8;r;t+=8,r--)n.timeToSamples.push({sampleCount:i.getUint32(t),sampleDelta:i.getUint32(t+4)});return n},styp:function(e){return Yo.ftyp(e)},tfdt:function(e){var t={version:e[0],flags:new Uint8Array(e.subarray(1,4)),baseMediaDecodeTime:Ko(e[4]<<24|e[5]<<16|e[6]<<8|e[7])};return 1===t.version&&(t.baseMediaDecodeTime*=Math.pow(2,32),t.baseMediaDecodeTime+=Ko(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),t},tfhd:function(e){var t,i=new DataView(e.buffer,e.byteOffset,e.byteLength),n={version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:i.getUint32(4)},r=1&n.flags[2],s=2&n.flags[2],a=8&n.flags[2],o=16&n.flags[2],u=32&n.flags[2],l=65536&n.flags[0],c=131072&n.flags[0];return t=8,r&&(t+=4,n.baseDataOffset=i.getUint32(12),t+=4),s&&(n.sampleDescriptionIndex=i.getUint32(t),t+=4),a&&(n.defaultSampleDuration=i.getUint32(t),t+=4),o&&(n.defaultSampleSize=i.getUint32(t),t+=4),u&&(n.defaultSampleFlags=i.getUint32(t)),l&&(n.durationIsEmpty=!0),!r&&c&&(n.baseDataOffsetIsMoof=!0),n},tkhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),i=4,n={version:t.getUint8(0),flags:new Uint8Array(e.subarray(1,4))};return 1===n.version?(i+=4,n.creationTime=ko(t.getUint32(i)),i+=8,n.modificationTime=ko(t.getUint32(i)),i+=4,n.trackId=t.getUint32(i),i+=4,i+=8):(n.creationTime=ko(t.getUint32(i)),i+=4,n.modificationTime=ko(t.getUint32(i)),i+=4,n.trackId=t.getUint32(i),i+=4,i+=4),n.duration=t.getUint32(i),i+=4,i+=8,n.layer=t.getUint16(i),i+=2,n.alternateGroup=t.getUint16(i),i+=2,n.volume=t.getUint8(i)+t.getUint8(i+1)/8,i+=2,i+=2,n.matrix=new Uint32Array(e.subarray(i,i+36)),i+=36,n.width=t.getUint16(i)+t.getUint16(i+2)/16,i+=4,n.height=t.getUint16(i)+t.getUint16(i+2)/16,n},traf:function(e){return{boxes:Eo(e)}},trak:function(e){return{boxes:Eo(e)}},trex:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),trackId:t.getUint32(4),defaultSampleDescriptionIndex:t.getUint32(8),defaultSampleDuration:t.getUint32(12),defaultSampleSize:t.getUint32(16),sampleDependsOn:3&e[20],sampleIsDependedOn:(192&e[21])>>6,sampleHasRedundancy:(48&e[21])>>4,samplePaddingValue:(14&e[21])>>1,sampleIsDifferenceSample:!!(1&e[21]),sampleDegradationPriority:t.getUint16(22)}},trun:function(e){var t,i={version:e[0],flags:new Uint8Array(e.subarray(1,4)),samples:[]},n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=1&i.flags[2],s=4&i.flags[2],a=1&i.flags[1],o=2&i.flags[1],u=4&i.flags[1],l=8&i.flags[1],c=n.getUint32(4),h=8;for(r&&(i.dataOffset=n.getInt32(h),h+=4),s&&c&&(t={flags:Co(e.subarray(h,h+4))},h+=4,a&&(t.duration=n.getUint32(h),h+=4),o&&(t.size=n.getUint32(h),h+=4),l&&(t.compositionTimeOffset=n.getUint32(h),h+=4),i.samples.push(t),c--);c--;)t={},a&&(t.duration=n.getUint32(h),h+=4),o&&(t.size=n.getUint32(h),h+=4),u&&(t.flags=Co(e.subarray(h,h+4)),h+=4),l&&(t.compositionTimeOffset=n.getUint32(h),h+=4),i.samples.push(t);return i},\"url \":function(e){return{version:e[0],flags:new Uint8Array(e.subarray(1,4))}},vmhd:function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength);return{version:e[0],flags:new Uint8Array(e.subarray(1,4)),graphicsmode:t.getUint16(4),opcolor:new Uint16Array([t.getUint16(6),t.getUint16(8),t.getUint16(10)])}}},$o={inspect:Eo=function(e){for(var t,i,n,r,s,a=0,o=[],u=new ArrayBuffer(e.length),l=new Uint8Array(u),c=0;c<e.length;++c)l[c]=e[c];for(t=new DataView(u);a<e.byteLength;)i=t.getUint32(a),n=wo(e.subarray(a+4,a+8)),r=1<i?a+i:e.byteLength,(s=(Yo[n]||function(e){return{data:e}})(e.subarray(a+8,r))).size=i,s.type=n,o.push(s),a=r;return o},textify:xo=function(e,t){var s;return t=t||0,s=new Array(2*t+1).join(\" \"),e.map(function(r,e){return s+r.type+\"\\n\"+Object.keys(r).filter(function(e){return\"type\"!==e&&\"boxes\"!==e}).map(function(e){var t=s+\"  \"+e+\": \",i=r[e];if(i instanceof Uint8Array||i instanceof Uint32Array){var n=Array.prototype.slice.call(new Uint8Array(i.buffer,i.byteOffset,i.byteLength)).map(function(e){return\" \"+(\"00\"+e.toString(16)).slice(-2)}).join(\"\").match(/.{1,24}/g);return n?1===n.length?t+\"<\"+n.join(\"\").slice(1)+\">\":t+\"<\\n\"+n.map(function(e){return s+\"  \"+e}).join(\"\\n\")+\"\\n\"+s+\"  >\":t+\"<>\"}return t+JSON.stringify(i,null,2).split(\"\\n\").map(function(e,t){return 0===t?e:s+\"  \"+e}).join(\"\\n\")}).join(\"\\n\")+(r.boxes?\"\\n\"+xo(r.boxes,t+1):\"\")}).join(\"\\n\")},parseType:wo,findBox:function e(t,i){var n,r,s,a,o,u=[];if(!i.length)return null;for(n=0;n<t.byteLength;)r=Ko(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3]),s=wo(t.subarray(n+4,n+8)),a=1<r?n+r:t.byteLength,s===i[0]&&(1===i.length?u.push(t.subarray(n+8,a)):(o=e(t.subarray(n+8,a),i.slice(1))).length&&(u=u.concat(o))),n=a;return u},parseTraf:Yo.traf,parseTfdt:Yo.tfdt,parseHdlr:Yo.hdlr,parseTfhd:Yo.tfhd,parseTrun:Yo.trun,parseSidx:Yo.sidx},Qo=Go,Jo=Xo;Ao=function(e){return $o.findBox(e,[\"moov\",\"trak\"]).reduce(function(e,t){var i,n,r,s,a;return(i=$o.findBox(t,[\"tkhd\"])[0])?(n=i[0],s=Qo(i[r=0===n?12:20]<<24|i[r+1]<<16|i[r+2]<<8|i[r+3]),(a=$o.findBox(t,[\"mdia\",\"mdhd\"])[0])?(r=0===(n=a[0])?12:20,e[s]=Qo(a[r]<<24|a[r+1]<<16|a[r+2]<<8|a[r+3]),e):null):null},{})},Io=function(r,e){var t,i,n;return t=$o.findBox(e,[\"moof\",\"traf\"]),i=[].concat.apply([],t.map(function(n){return $o.findBox(n,[\"tfhd\"]).map(function(e){var t,i;return t=Qo(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),i=r[t]||9e4,($o.findBox(n,[\"tfdt\"]).map(function(e){var t,i;return t=e[0],i=Qo(e[4]<<24|e[5]<<16|e[6]<<8|e[7]),1===t&&(i*=Math.pow(2,32),i+=Qo(e[8]<<24|e[9]<<16|e[10]<<8|e[11])),i})[0]||1/0)/i})})),n=Math.min.apply(null,i),isFinite(n)?n:0},Po=function(e,t){var i,n=$o.findBox(t,[\"moof\",\"traf\"]),r=0,s=0;if(n&&n.length)for(var a=$o.parseTraf(n[0]),o=0;o<a.boxes.length;o++)\"tfhd\"===a.boxes[o].type?i=a.boxes[o].trackId:\"tfdt\"===a.boxes[o].type?r=a.boxes[o].baseMediaDecodeTime:\"trun\"===a.boxes[o].type&&a.boxes[o].samples.length&&(s=a.boxes[o].samples[0].compositionTimeOffset||0);return(r+s)/(e[i]||9e4)},Lo=function(e){var t=$o.findBox(e,[\"moov\",\"trak\"]),o=[];return t.forEach(function(e){var t=$o.findBox(e,[\"mdia\",\"hdlr\"]),a=$o.findBox(e,[\"tkhd\"]);t.forEach(function(e,t){var i,n,r=$o.parseType(e.subarray(8,12)),s=a[t];\"vide\"===r&&(n=0===(i=new DataView(s.buffer,s.byteOffset,s.byteLength)).getUint8(0)?i.getUint32(12):i.getUint32(20),o.push(n))})}),o},Oo=function(e){var t=$o.findBox(e,[\"moov\",\"trak\"]),p=[];return t.forEach(function(e){var t,i,n={},r=$o.findBox(e,[\"tkhd\"])[0];r&&(i=(t=new DataView(r.buffer,r.byteOffset,r.byteLength)).getUint8(0),n.id=0===i?t.getUint32(12):t.getUint32(20));var s=$o.findBox(e,[\"mdia\",\"hdlr\"])[0];if(s){var a=$o.parseType(s.subarray(8,12));n.type=\"vide\"===a?\"video\":\"soun\"===a?\"audio\":a}var o=$o.findBox(e,[\"mdia\",\"minf\",\"stbl\",\"stsd\"])[0];if(o){var u=o.subarray(8);n.codec=$o.parseType(u.subarray(4,8));var l,c=$o.findBox(u,[n.codec])[0];c&&(/^[a-z]vc[1-9]$/i.test(n.codec)?(l=c.subarray(78),\"avcC\"===$o.parseType(l.subarray(4,8))&&11<l.length?(n.codec+=\".\",n.codec+=Jo(l[9]),n.codec+=Jo(l[10]),n.codec+=Jo(l[11])):n.codec=\"avc1.4d400d\"):/^mp4[a,v]$/i.test(n.codec)&&(l=c.subarray(28),\"esds\"===$o.parseType(l.subarray(4,8))&&20<l.length&&0!==l[19]?(n.codec+=\".\"+Jo(l[19]),n.codec+=\".\"+Jo(l[20]>>>2&63).replace(/^0/,\"\")):n.codec=\"mp4a.40.2\"))}var h=$o.findBox(e,[\"mdia\",\"mdhd\"])[0];if(h&&r){var d=0===i?12:20;n.timescale=Qo(h[d]<<24|h[1+d]<<16|h[2+d]<<8|h[3+d])}p.push(n)}),p};function Zo(){this.init=function(){var s={};this.on=function(e,t){s[e]||(s[e]=[]),s[e]=s[e].concat(t)},this.off=function(e,t){var i;return!!s[e]&&(i=s[e].indexOf(t),s[e]=s[e].slice(),s[e].splice(i,1),-1<i)},this.trigger=function(e){var t,i,n,r;if(t=s[e])if(2===arguments.length)for(n=t.length,i=0;i<n;++i)t[i].call(this,arguments[1]);else{for(r=[],i=arguments.length,i=1;i<arguments.length;++i)r.push(arguments[i]);for(n=t.length,i=0;i<n;++i)t[i].apply(this,r)}},this.dispose=function(){s={}}}}var eu={findBox:$o.findBox,parseType:$o.parseType,timescale:Ao,startTime:Io,compositionStartTime:Po,videoTrackIds:Lo,tracks:Oo},tu=function(e){for(var t=0,i={payloadType:-1,payloadSize:0},n=0,r=0;t<e.byteLength&&128!==e[t];){for(;255===e[t];)n+=255,t++;for(n+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],!i.payload&&4===n){i.payloadType=n,i.payloadSize=r,i.payload=e.subarray(t,t+r);break}t+=r,r=n=0}return i},iu=function(e){return 181!==e.payload[0]?null:49!=(e.payload[1]<<8|e.payload[2])?null:\"GA94\"!==String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])?null:3!==e.payload[7]?null:e.payload.subarray(8,e.payload.length-1)},nu=function(e,t){var i,n,r,s,a=[];if(!(64&t[0]))return a;for(n=31&t[0],i=0;i<n;i++)s={type:3&t[2+(r=3*i)],pts:e},4&t[2+r]&&(s.ccData=t[3+r]<<8|t[4+r],a.push(s));return a},ru=function(e){for(var t,i,n=e.byteLength,r=[],s=1;s<n-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(r.push(s+2),s+=2):s++;if(0===r.length)return e;t=n-r.length,i=new Uint8Array(t);var a=0;for(s=0;s<t;a++,s++)a===r[0]&&(a++,r.shift()),i[s]=e[a];return i},su=4;Zo.prototype.pipe=function(t){return this.on(\"data\",function(e){t.push(e)}),this.on(\"done\",function(e){t.flush(e)}),this.on(\"partialdone\",function(e){t.partialFlush(e)}),this.on(\"endedtimeline\",function(e){t.endTimeline(e)}),this.on(\"reset\",function(e){t.reset(e)}),t},Zo.prototype.push=function(e){this.trigger(\"data\",e)},Zo.prototype.flush=function(e){this.trigger(\"done\",e)},Zo.prototype.partialFlush=function(e){this.trigger(\"partialdone\",e)},Zo.prototype.endTimeline=function(e){this.trigger(\"endedtimeline\",e)},Zo.prototype.reset=function(e){this.trigger(\"reset\",e)};function au(){au.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new du(0,0),new du(0,1),new du(1,0),new du(1,1)],this.reset(),this.ccStreams_.forEach(function(e){e.on(\"data\",this.trigger.bind(this,\"data\")),e.on(\"partialdone\",this.trigger.bind(this,\"partialdone\")),e.on(\"done\",this.trigger.bind(this,\"done\"))},this)}var ou=Zo;(au.prototype=new ou).push=function(e){var t,i,n;if(\"sei_rbsp\"===e.nalUnitType&&(t=tu(e.escapedRBSP)).payloadType===su&&(i=iu(t)))if(e.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(e.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));n=nu(e.pts,i),this.captionPackets_=this.captionPackets_.concat(n),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts}},au.prototype.flushCCStreams=function(t){this.ccStreams_.forEach(function(e){return\"flush\"===t?e.flush():e.partialFlush()},this)},au.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2&&this.dispatchCea608Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},au.prototype.flush=function(){return this.flushStream(\"flush\")},au.prototype.partialFlush=function(){return this.flushStream(\"partialFlush\")},au.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},au.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),null!==this.activeCea608Channel_[e.type]&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},au.prototype.setsChannel1Active=function(e){return 4096==(30720&e.ccData)},au.prototype.setsChannel2Active=function(e){return 6144==(30720&e.ccData)},au.prototype.setsTextOrXDSActive=function(e){return 256==(28928&e.ccData)||4138==(30974&e.ccData)||6186==(30974&e.ccData)};function uu(e){return null===e?\"\":(e=cu[e]||e,String.fromCharCode(e))}function lu(){for(var e=[],t=15;t--;)e.push(\"\");return e}var cu={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},hu=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],du=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_=\"CC\"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,s;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_=\"popOn\";else if(t===this.END_OF_CAPTION_)this.mode_=\"popOn\",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=lu();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=lu();else if(t===this.RESUME_DIRECT_CAPTIONING_)\"paintOn\"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=lu()),this.mode_=\"paintOn\",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))s=uu((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isExtCharacter(n,r))\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),s=uu((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts,\" \"),this.column_++,14==(14&r)&&this.addFormatting(e.pts,[\"i\"]),1==(1&r)&&this.addFormatting(e.pts,[\"u\"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var a=hu.indexOf(7968&t);\"rollUp\"===this.mode_&&(a-this.rollUpRows_+1<0&&(a=this.rollUpRows_-1),this.setRollUp(e.pts,a)),a!==this.row_&&(this.clearFormatting(e.pts),this.row_=a),1&r&&-1===this.formatting_.indexOf(\"u\")&&this.addFormatting(e.pts,[\"u\"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,[\"i\"])}else this.isNormalChar(n)&&(0===r&&(r=null),s=uu(n),s+=uu(r),this[this.mode_](e.pts,s),this.column_+=s.length)}else this.lastControlCode_=null}};du.prototype=new ou,du.prototype.flushDisplayed=function(e){var t=this.displayed_.map(function(e){try{return e.trim()}catch(e){return\"\"}}).join(\"\\n\").replace(/^\\n+|\\n+$/g,\"\");t.length&&this.trigger(\"data\",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},du.prototype.reset=function(){this.mode_=\"popOn\",this.topRow_=0,this.startPts_=0,this.displayed_=lu(),this.nonDisplayed_=lu(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},du.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},du.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&48<=t&&t<=63},du.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&32<=t&&t<=63},du.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&32<=t&&t<=47},du.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&33<=t&&t<=35},du.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&64<=t&&t<=127},du.prototype.isColorPAC=function(e){return 64<=e&&e<=79||96<=e&&e<=127},du.prototype.isNormalChar=function(e){return 32<=e&&e<=127},du.prototype.setRollUp=function(e,t){if(\"rollUp\"!==this.mode_&&(this.row_=14,this.mode_=\"rollUp\",this.flushDisplayed(e),this.nonDisplayed_=lu(),this.displayed_=lu()),void 0!==t&&t!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[t-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]=\"\";void 0===t&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},du.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var i=t.reduce(function(e,t){return e+\"<\"+t+\">\"},\"\");this[this.mode_](e,i)},du.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+\"</\"+t+\">\"},\"\");this.formatting_=[],this[this.mode_](e,t)}},du.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},du.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},du.prototype.shiftRowsUp_=function(){var e;for(e=0;e<this.topRow_;e++)this.displayed_[e]=\"\";for(e=this.row_+1;e<15;e++)this.displayed_[e]=\"\";for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]=\"\"},du.prototype.paintOn=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i};function pu(e,t){for(var i=e,n=0;n<t.length;n++){var r=t[n];if(i<r.size)return r;i-=r.size}return null}function fu(e,c){var n=eu.findBox(e,[\"moof\",\"traf\"]),t=eu.findBox(e,[\"mdat\"]),h={},r=[];return t.forEach(function(e,t){var i=n[t];r.push({mdat:e,traf:i})}),r.forEach(function(e){var t,i=e.mdat,n=e.traf,r=eu.findBox(n,[\"tfhd\"]),s=$o.parseTfhd(r[0]),a=s.trackId,o=eu.findBox(n,[\"tfdt\"]),u=0<o.length?$o.parseTfdt(o[0]).baseMediaDecodeTime:0,l=eu.findBox(n,[\"trun\"]);c===a&&0<l.length&&(t=function(e,t,i){var n,r,s,a,o=new DataView(e.buffer,e.byteOffset,e.byteLength),u=[];for(r=0;r+4<e.length;r+=s)if(s=o.getUint32(r),r+=4,!(s<=0))switch(31&e[r]){case 6:var l=e.subarray(r+1,r+1+s),c=pu(r,t);n={nalUnitType:\"sei_rbsp\",size:s,data:l,escapedRBSP:gu(l),trackId:i},c?(n.pts=c.pts,n.dts=c.dts,a=c):(n.pts=a.pts,n.dts=a.dts),u.push(n)}return u}(i,function(e,t,i){var n=t,r=i.defaultSampleDuration||0,s=i.defaultSampleSize||0,a=i.trackId,o=[];return e.forEach(function(e){var t=$o.parseTrun(e).samples;t.forEach(function(e){void 0===e.duration&&(e.duration=r),void 0===e.size&&(e.size=s),e.trackId=a,e.dts=n,void 0===e.compositionTimeOffset&&(e.compositionTimeOffset=0),e.pts=n+e.compositionTimeOffset,n+=e.duration}),o=o.concat(t)}),o}(l,u,s),a),h[a]||(h[a]=[]),h[a]=h[a].concat(t))}),h}function mu(e,t){var i=1;for(t<e&&(i=-1);4294967296<Math.abs(t-e);)e+=8589934592*i;return e}var gu=ru,vu=au,yu=function(){var t,s,a,o,u,i,n=!1;this.isInitialized=function(){return n},this.init=function(e){t=new vu,n=!0,i=!!e&&e.isPartial,t.on(\"data\",function(e){e.startTime=e.startPts/o,e.endTime=e.endPts/o,u.captions.push(e),u.captionStreams[e.stream]=!0})},this.isNewInit=function(e,t){return!(e&&0===e.length||t&&\"object\"==typeof t&&0===Object.keys(t).length)&&(a!==e[0]||o!==t[a])},this.parse=function(e,t,i){var n;if(!this.isInitialized())return null;if(!t||!i)return null;if(this.isNewInit(t,i))a=t[0],o=i[a];else if(null===a||!o)return s.push(e),null;for(;0<s.length;){var r=s.shift();this.parse(r,t,i)}return null!==(n=function(e,t,i){return null===t?null:{seiNals:fu(e,t)[t],timescale:i}}(e,a,o))&&n.seiNals?(this.pushNals(n.seiNals),this.flushStream(),u):null},this.pushNals=function(e){if(!this.isInitialized()||!e||0===e.length)return null;e.forEach(function(e){t.push(e)})},this.flushStream=function(){if(!this.isInitialized())return null;i?t.partialFlush():t.flush()},this.clearParsedCaptions=function(){u.captions=[],u.captionStreams={}},this.resetCaptionStream=function(){if(!this.isInitialized())return null;t.reset()},this.clearAllCaptions=function(){this.clearParsedCaptions(),this.resetCaptionStream()},this.reset=function(){s=[],o=a=null,u?this.clearParsedCaptions():u={captions:[],captionStreams:{}},this.resetCaptionStream()},this.reset()},_u=27,bu=15,Tu=21;new ou;function Su(e){var t=31&e[1];return t<<=8,t|=e[2]}function ku(e){return!!(64&e[1])}function Cu(e){var t=0;return 1<(48&e[3])>>>4&&(t+=e[4]+1),t}function wu(e){switch(e){case 5:return\"slice_layer_without_partitioning_rbsp_idr\";case 6:return\"sei_rbsp\";case 7:return\"seq_parameter_set_rbsp\";case 8:return\"pic_parameter_set_rbsp\";case 9:return\"access_unit_delimiter_rbsp\";default:return null}}function Eu(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]}var xu,Au,Iu,Pu,Lu={parseType:function(e,t){var i=Su(e);return 0===i?\"pat\":i===t?\"pmt\":t?\"pes\":null},parsePat:function(e){var t=ku(e),i=4+Cu(e);return t&&(i+=e[i]+1),(31&e[i+10])<<8|e[i+11]},parsePmt:function(e){var t={},i=ku(e),n=4+Cu(e);if(i&&(n+=e[n]+1),1&e[n+5]){var r;r=3+((15&e[n+1])<<8|e[n+2])-4;for(var s=12+((15&e[n+10])<<8|e[n+11]);s<r;){var a=n+s;t[(31&e[a+1])<<8|e[a+2]]=e[a],s+=5+((15&e[a+3])<<8|e[a+4])}return t}},parsePayloadUnitStartIndicator:ku,parsePesType:function(e,t){switch(t[Su(e)]){case _u:return\"video\";case bu:return\"audio\";case Tu:return\"timed-metadata\";default:return null}},parsePesTime:function(e){if(!ku(e))return null;var t=4+Cu(e);if(t>=e.byteLength)return null;var i,n=null;return 192&(i=e[t+7])&&((n={}).pts=(14&e[t+9])<<27|(255&e[t+10])<<20|(254&e[t+11])<<12|(255&e[t+12])<<5|(254&e[t+13])>>>3,n.pts*=4,n.pts+=(6&e[t+13])>>>1,n.dts=n.pts,64&i&&(n.dts=(14&e[t+14])<<27|(255&e[t+15])<<20|(254&e[t+16])<<12|(255&e[t+17])<<5|(254&e[t+18])>>>3,n.dts*=4,n.dts+=(6&e[t+18])>>>1)),n},videoPacketContainsKeyFrame:function(e){for(var t=4+Cu(e),i=e.subarray(t),n=0,r=0,s=!1;r<i.byteLength-3;r++)if(1===i[r+2]){n=r+5;break}for(;n<i.byteLength;)switch(i[n]){case 0:if(0!==i[n-1]){n+=2;break}if(0!==i[n-2]){n++;break}for(r+3!==n-2&&\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0);1!==i[++n]&&n<i.length;);r=n-2,n+=3;break;case 1:if(0!==i[n-1]||0!==i[n-2]){n+=3;break}\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0),r=n-2,n+=3;break;default:n+=3}return i=i.subarray(r),n-=r,r=0,i&&3<i.byteLength&&\"slice_layer_without_partitioning_rbsp_idr\"===wu(31&i[r+3])&&(s=!0),s}},Ou=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],Du={isLikelyAacData:function(e){return e[0]===\"I\".charCodeAt(0)&&e[1]===\"D\".charCodeAt(0)&&e[2]===\"3\".charCodeAt(0)},parseId3TagSize:function(e,t){var i=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&e[t+5])>>4?20+i:10+i},parseAdtsSize:function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i},parseType:function(e,t){return e[t]===\"I\".charCodeAt(0)&&e[t+1]===\"D\".charCodeAt(0)&&e[t+2]===\"3\".charCodeAt(0)?\"timed-metadata\":!0&e[t]&&240==(240&e[t+1])?\"audio\":null},parseSampleRate:function(e){for(var t=0;t+5<e.length;){if(255===e[t]&&240==(246&e[t+1]))return Ou[(60&e[t+2])>>>2];t++}return null},parseAacTimestamp:function(e){var t,i,n;t=10,64&e[5]&&(t+=4,t+=Eu(e.subarray(10,14)));do{if((i=Eu(e.subarray(t+4,t+8)))<1)return null;if(\"PRIV\"===String.fromCharCode(e[t],e[t+1],e[t+2],e[t+3])){n=e.subarray(t+10,t+i+10);for(var r=0;r<n.byteLength;r++)if(0===n[r]){if(\"com.apple.streaming.transportStreamTimestamp\"!==unescape(function(e,t,i){var n,r=\"\";for(n=t;n<i;n++)r+=\"%\"+(\"00\"+e[n].toString(16)).slice(-2);return r}(n,0,r)))break;var s=n.subarray(r+1),a=(1&s[3])<<30|s[4]<<22|s[5]<<14|s[6]<<6|s[7]>>>2;return a*=4,a+=3&s[7]}}t+=10,t+=i}while(t<e.byteLength);return null}},Nu=9e4,Ru=(xu=function(e){return 9e4*e},Au=function(e,t){return e*t},Iu=function(e){return e/9e4},Pu=function(e,t){return e/t},mu),Uu={};Uu.ts=Lu,Uu.aac=Du;function Mu(e,t,i){for(var n,r,s,a,o=0,u=Hu,l=!1;u<=e.byteLength;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o++,u++;else{switch(n=e.subarray(o,u),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"audio\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"audio\",i.audio.push(a),l=!0)}if(l)break;o+=Hu,u+=Hu}for(o=(u=e.byteLength)-Hu,l=!1;0<=o;)if(71!==e[o]||71!==e[u]&&u!==e.byteLength)o--,u--;else{switch(n=e.subarray(o,u),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"audio\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"audio\",i.audio.push(a),l=!0)}if(l)break;o-=Hu,u-=Hu}}function Bu(e,t,i){for(var n,r,s,a,o,u,l,c=0,h=Hu,d=!1,p={data:[],size:0};h<e.byteLength;)if(71!==e[c]||71!==e[h])c++,h++;else{switch(n=e.subarray(c,h),Uu.ts.parseType(n,t.pid)){case\"pes\":if(r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"video\"===r&&(s&&!d&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"video\",i.video.push(a),d=!0),!i.firstKeyFrame)){if(s&&0!==p.size){for(o=new Uint8Array(p.size),u=0;p.data.length;)l=p.data.shift(),o.set(l,u),u+=l.byteLength;if(Uu.ts.videoPacketContainsKeyFrame(o)){var f=Uu.ts.parsePesTime(o);f&&(i.firstKeyFrame=f,i.firstKeyFrame.type=\"video\")}p.size=0}p.data.push(n),p.size+=n.byteLength}}if(d&&i.firstKeyFrame)break;c+=Hu,h+=Hu}for(c=(h=e.byteLength)-Hu,d=!1;0<=c;)if(71!==e[c]||71!==e[h])c--,h--;else{switch(n=e.subarray(c,h),Uu.ts.parseType(n,t.pid)){case\"pes\":r=Uu.ts.parsePesType(n,t.table),s=Uu.ts.parsePayloadUnitStartIndicator(n),\"video\"===r&&s&&(a=Uu.ts.parsePesTime(n))&&(a.type=\"video\",i.video.push(a),d=!0)}if(d)break;c-=Hu,h-=Hu}}function ju(e){var t={pid:null,table:null},i={};for(var n in function(e,t){for(var i,n=0,r=Hu;r<e.byteLength;)if(71!==e[n]||71!==e[r])n++,r++;else{switch(i=e.subarray(n,r),Uu.ts.parseType(i,t.pid)){case\"pat\":t.pid||(t.pid=Uu.ts.parsePat(i));break;case\"pmt\":t.table||(t.table=Uu.ts.parsePmt(i))}if(t.pid&&t.table)return;n+=Hu,r+=Hu}}(e,t),t.table){if(t.table.hasOwnProperty(n))switch(t.table[n]){case _u:i.video=[],Bu(e,t,i),0===i.video.length&&delete i.video;break;case bu:i.audio=[],Mu(e,t,i),0===i.audio.length&&delete i.audio}}return i}var Fu=Nu,Hu=188,Vu=function(e,t){var i;return(i=Uu.aac.isLikelyAacData(e)?function(e){for(var t,i=!1,n=0,r=null,s=null,a=0,o=0;3<=e.length-o;){switch(Uu.aac.parseType(e,o)){case\"timed-metadata\":if(e.length-o<10){i=!0;break}if((a=Uu.aac.parseId3TagSize(e,o))>e.length){i=!0;break}null===s&&(t=e.subarray(o,o+a),s=Uu.aac.parseAacTimestamp(t)),o+=a;break;case\"audio\":if(e.length-o<7){i=!0;break}if((a=Uu.aac.parseAdtsSize(e,o))>e.length){i=!0;break}null===r&&(t=e.subarray(o,o+a),r=Uu.aac.parseSampleRate(t)),n++,o+=a;break;default:o++}if(i)return null}if(null===r||null===s)return null;var u=Fu/r;return{audio:[{type:\"audio\",dts:s,pts:s},{type:\"audio\",dts:s+1024*n*u,pts:s+1024*n*u}]}}(e):ju(e))&&(i.audio||i.video)?(function(e,t){if(e.audio&&e.audio.length){var i=t;\"undefined\"==typeof i&&(i=e.audio[0].dts),e.audio.forEach(function(e){e.dts=Ru(e.dts,i),e.pts=Ru(e.pts,i),e.dtsTime=e.dts/Fu,e.ptsTime=e.pts/Fu})}if(e.video&&e.video.length){var n=t;if(\"undefined\"==typeof n&&(n=e.video[0].dts),e.video.forEach(function(e){e.dts=Ru(e.dts,n),e.pts=Ru(e.pts,n),e.dtsTime=e.dts/Fu,e.ptsTime=e.pts/Fu}),e.firstKeyFrame){var r=e.firstKeyFrame;r.dts=Ru(r.dts,n),r.pts=Ru(r.pts,n),r.dtsTime=r.dts/Fu,r.ptsTime=r.dts/Fu}}}(i,t),i):null};function qu(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var Wu=function(e,t,i){return t&&zu(e.prototype,t),i&&zu(e,i),e};function zu(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Gu=null,Xu=(Ku.prototype.decrypt=function(e,t,i,n,r,s){var a=this._key[1],o=e^a[0],u=n^a[1],l=i^a[2],c=t^a[3],h=void 0,d=void 0,p=void 0,f=a.length/4-2,m=void 0,g=4,v=this._tables[1],y=v[0],_=v[1],b=v[2],T=v[3],S=v[4];for(m=0;m<f;m++)h=y[o>>>24]^_[u>>16&255]^b[l>>8&255]^T[255&c]^a[g],d=y[u>>>24]^_[l>>16&255]^b[c>>8&255]^T[255&o]^a[g+1],p=y[l>>>24]^_[c>>16&255]^b[o>>8&255]^T[255&u]^a[g+2],c=y[c>>>24]^_[o>>16&255]^b[u>>8&255]^T[255&l]^a[g+3],g+=4,o=h,u=d,l=p;for(m=0;m<4;m++)r[(3&-m)+s]=S[o>>>24]<<24^S[u>>16&255]<<16^S[l>>8&255]<<8^S[255&c]^a[g++],h=o,o=u,u=l,l=c,c=h},Ku);function Ku(e){qu(this,Ku),Gu=Gu||function(){var e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],i=e[1],n=t[4],r=i[4],s=void 0,a=void 0,o=void 0,u=[],l=[],c=void 0,h=void 0,d=void 0,p=void 0,f=void 0;for(s=0;s<256;s++)l[(u[s]=s<<1^283*(s>>7))^s]=s;for(a=o=0;!n[a];a^=c||1,o=l[o]||1)for(d=(d=o^o<<1^o<<2^o<<3^o<<4)>>8^255&d^99,f=16843009*u[h=u[c=u[r[n[a]=d]=a]]]^65537*h^257*c^16843008*a,p=257*u[d]^16843008*d,s=0;s<4;s++)t[s][a]=p=p<<24^p>>>8,i[s][d]=f=f<<24^f>>>8;for(s=0;s<5;s++)t[s]=t[s].slice(0),i[s]=i[s].slice(0);return e}(),this._tables=[[Gu[0][0].slice(),Gu[0][1].slice(),Gu[0][2].slice(),Gu[0][3].slice(),Gu[0][4].slice()],[Gu[1][0].slice(),Gu[1][1].slice(),Gu[1][2].slice(),Gu[1][3].slice(),Gu[1][4].slice()]];var t=void 0,i=void 0,n=void 0,r=void 0,s=void 0,a=this._tables[0][4],o=this._tables[1],u=e.length,l=1;if(4!==u&&6!==u&&8!==u)throw new Error(\"Invalid aes key size\");for(r=e.slice(0),s=[],this._key=[r,s],t=u;t<4*u+28;t++)n=r[t-1],(t%u==0||8===u&&t%u==4)&&(n=a[n>>>24]<<24^a[n>>16&255]<<16^a[n>>8&255]<<8^a[255&n],t%u==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[t]=r[t-u]^n;for(i=0;t;i++,t--)n=r[3&i?t:t-4],s[i]=t<=4||i<4?n:o[0][a[n>>>24]]^o[1][a[n>>16&255]]^o[2][a[n>>8&255]]^o[3][a[255&n]]}var Yu=($u.prototype.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},$u.prototype.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},$u.prototype.trigger=function(e,t){var i=this.listeners[e];if(i)if(2===arguments.length)for(var n=i.length,r=0;r<n;++r)i[r].call(this,t);else for(var s=Array.prototype.slice.call(arguments,1),a=i.length,o=0;o<a;++o)i[o].apply(this,s)},$u.prototype.dispose=function(){this.listeners={}},$u.prototype.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},$u);function $u(){qu(this,$u),this.listeners={}}var Qu,Ju=(function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(Zu,Qu=Yu),Zu.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},Zu.prototype.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},Zu);function Zu(){qu(this,Zu);var e=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,Qu.call(this,Yu));return e.jobs=[],e.delay=1,e.timeout_=null,e}function el(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24}function tl(e,t,i){var n=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),r=new Xu(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),a=new Int32Array(s.buffer),o=void 0,u=void 0,l=void 0,c=void 0,h=void 0,d=void 0,p=void 0,f=void 0,m=void 0;for(o=i[0],u=i[1],l=i[2],c=i[3],m=0;m<n.length;m+=4)h=el(n[m]),d=el(n[m+1]),p=el(n[m+2]),f=el(n[m+3]),r.decrypt(h,d,p,f,a,m),a[m]=el(a[m]^o),a[m+1]=el(a[m+1]^u),a[m+2]=el(a[m+2]^l),a[m+3]=el(a[m+3]^c),o=h,u=d,l=p,c=f;return s}var il=(nl.prototype.decryptChunk_=function(t,i,n,r){return function(){var e=tl(t,i,n);r.set(e,t.byteOffset)}},Wu(nl,null,[{key:\"STEP\",get:function(){return 32e3}}]),nl);function nl(e,t,i,n){qu(this,nl);var r=nl.STEP,s=new Int32Array(e.buffer),a=new Uint8Array(e.byteLength),o=0;for(this.asyncStream_=new Ju,this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a)),o=r;o<s.length;o+=r)i=new Uint32Array([el(s[o-4]),el(s[o-3]),el(s[o-2]),el(s[o-1])]),this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a));this.asyncStream_.push(function(){n(null,function(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}(a))})}function rl(e,t){return/^[a-z]+:/i.test(t)?t:(/\\/\\//i.test(e)||(e=ls.buildAbsoluteURL(y.location.href,e)),ls.buildAbsoluteURL(e,t))}function sl(e,t,i){return e&&i.responseURL&&t!==i.responseURL?i.responseURL:t}function al(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}\n/**\n   * @videojs/http-streaming\n   * @version 1.13.2\n   * @copyright 2020 Brightcove, Inc\n   * @license Apache-2.0\n   */\nvar ol=function(e,t,i){return t&&ul(e.prototype,t),i&&ul(e,i),e};function ul(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ll(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function cl(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function hl(r,s){[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){for(var t in r.mediaGroups[e])for(var i in r.mediaGroups[e][t]){var n=r.mediaGroups[e][t][i];s(n,e,t,i)}})}function dl(e,t){var i=yl(e,{}),n=i.playlists[t.id];if(!n)return null;if(n.segments&&t.segments&&n.segments.length===t.segments.length&&n.endList===t.endList&&n.mediaSequence===t.mediaSequence)return null;var r=yl(n,t);n.segments&&(r.segments=function(e,t,i){var n=t.slice();i=i||0;for(var r=Math.min(e.length,t.length+i),s=i;s<r;s++)n[s-i]=yl(e[s],n[s-i]);return n}(n.segments,t.segments,t.mediaSequence-n.mediaSequence)),r.segments.forEach(function(e){!function(e,t){e.resolvedUri||(e.resolvedUri=rl(t,e.uri)),e.key&&!e.key.resolvedUri&&(e.key.resolvedUri=rl(t,e.key.uri)),e.map&&!e.map.resolvedUri&&(e.map.resolvedUri=rl(t,e.map.uri))}(e,r.resolvedUri)});for(var s=0;s<i.playlists.length;s++)i.playlists[s].id===t.id&&(i.playlists[s]=r);return i.playlists[t.id]=r,i.playlists[t.uri]=r,i}function pl(e,t){return e+\"-\"+t}function fl(e){for(var t=e.playlists.length;t--;){var i=e.playlists[t];i.resolvedUri=rl(e.uri,i.uri),i.id=pl(t,i.uri),e.playlists[i.id]=i,(e.playlists[i.uri]=i).attributes||(i.attributes={},_l.warn(\"Invalid playlist STREAM-INF detected. Missing BANDWIDTH attribute.\"))}}function ml(t){hl(t,function(e){e.uri&&(e.resolvedUri=rl(t.uri,e.uri))})}function gl(e,t){var i=e.segments[e.segments.length-1];return t&&i&&i.duration?1e3*i.duration:500*(e.targetDuration||10)}var vl=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var i=[],n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done)&&(i.push(a.value),!t||i.length!==t);n=!0);}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}return i}(e,t);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")},yl=as.mergeOptions,_l=as.log,bl=(ll(Tl,as.EventTarget),ol(Tl,[{key:\"playlistRequestError\",value:function(e,t,i){var n=t.uri,r=t.id;this.request=null,i&&(this.state=i),this.error={playlist:this.master.playlists[r],status:e.status,message:\"HLS playlist request error at URL: \"+n+\".\",responseText:e.responseText,code:500<=e.status?4:2},this.trigger(\"error\")}},{key:\"haveMetadata\",value:function(e,t,i){var n=this;this.request=null,this.state=\"HAVE_METADATA\";var r=new gs;this.customTagParsers.forEach(function(e){return r.addParser(e)}),this.customTagMappers.forEach(function(e){return r.addTagMapper(e)}),r.push(e.responseText),r.end(),r.manifest.uri=t,r.manifest.id=i,r.manifest.attributes=r.manifest.attributes||{};var s=dl(this.master,r.manifest);this.targetDuration=r.manifest.targetDuration,s?(this.master=s,this.media_=this.master.playlists[i]):this.trigger(\"playlistunchanged\"),this.media().endList||(y.clearTimeout(this.mediaUpdateTimeout),this.mediaUpdateTimeout=y.setTimeout(function(){n.trigger(\"mediaupdatetimeout\")},gl(this.media(),!!s))),this.trigger(\"loadedplaylist\")}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.finalRenditionTimeout),this.off()}},{key:\"stopRequest\",value:function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}},{key:\"media\",value:function(i,e){var n=this;if(!i)return this.media_;if(\"HAVE_NOTHING\"===this.state)throw new Error(\"Cannot switch media playlist from \"+this.state);if(\"string\"==typeof i){if(!this.master.playlists[i])throw new Error(\"Unknown playlist URI: \"+i);i=this.master.playlists[i]}if(y.clearTimeout(this.finalRenditionTimeout),e){var t=i.targetDuration/2*1e3||5e3;this.finalRenditionTimeout=y.setTimeout(this.media.bind(this,i,!1),t)}else{var r=this.state,s=!this.media_||i.id!==this.media_.id;if(this.master.playlists[i.id].endList)return this.request&&(this.request.onreadystatechange=null,this.request.abort(),this.request=null),this.state=\"HAVE_METADATA\",this.media_=i,void(s&&(this.trigger(\"mediachanging\"),this.trigger(\"mediachange\")));if(s){if(this.state=\"SWITCHING_MEDIA\",this.request){if(i.resolvedUri===this.request.url)return;this.request.onreadystatechange=null,this.request.abort(),this.request=null}this.media_&&this.trigger(\"mediachanging\"),this.request=this.hls_.xhr({uri:i.resolvedUri,withCredentials:this.withCredentials},function(e,t){if(n.request){if(i.resolvedUri=sl(n.handleManifestRedirects,i.resolvedUri,t),e)return n.playlistRequestError(n.request,i,r);n.haveMetadata(t,i.uri,i.id),\"HAVE_MASTER\"===r?n.trigger(\"loadedmetadata\"):n.trigger(\"mediachange\")}})}}}},{key:\"pause\",value:function(){this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),\"HAVE_NOTHING\"===this.state&&(this.started=!1),\"SWITCHING_MEDIA\"===this.state?this.media_?this.state=\"HAVE_METADATA\":this.state=\"HAVE_MASTER\":\"HAVE_CURRENT_METADATA\"===this.state&&(this.state=\"HAVE_METADATA\")}},{key:\"load\",value:function(e){var t=this;y.clearTimeout(this.mediaUpdateTimeout);var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=y.setTimeout(function(){return t.load()},n)}else this.started?i&&!i.endList?this.trigger(\"mediaupdatetimeout\"):this.trigger(\"loadedplaylist\"):this.start()}},{key:\"start\",value:function(){var r=this;this.started=!0,this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(r.request){if(r.request=null,e)return r.error={status:t.status,message:\"HLS playlist request error at URL: \"+r.srcUrl+\".\",responseText:t.responseText,code:2},\"HAVE_NOTHING\"===r.state&&(r.started=!1),r.trigger(\"error\");var i=new gs;if(r.customTagParsers.forEach(function(e){return i.addParser(e)}),r.customTagMappers.forEach(function(e){return i.addTagMapper(e)}),i.push(t.responseText),i.end(),r.state=\"HAVE_MASTER\",r.srcUrl=sl(r.handleManifestRedirects,r.srcUrl,t),i.manifest.uri=r.srcUrl,i.manifest.playlists)return r.master=i.manifest,fl(r.master),ml(r.master),r.trigger(\"loadedplaylist\"),void(r.request||r.media(i.manifest.playlists[0]));var n=pl(0,r.srcUrl);return r.master={mediaGroups:{AUDIO:{},VIDEO:{},\"CLOSED-CAPTIONS\":{},SUBTITLES:{}},uri:y.location.href,playlists:[{uri:r.srcUrl,id:n,resolvedUri:r.srcUrl,attributes:{}}]},r.master.playlists[n]=r.master.playlists[0],r.master.playlists[r.srcUrl]=r.master.playlists[0],r.haveMetadata(t,r.srcUrl,n),r.trigger(\"loadedmetadata\")}})}}]),Tl);function Tl(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};al(this,Tl);var n=cl(this,(Tl.__proto__||Object.getPrototypeOf(Tl)).call(this)),r=i.withCredentials,s=void 0!==r&&r,a=i.handleManifestRedirects,o=void 0!==a&&a;n.srcUrl=e,n.hls_=t,n.withCredentials=s,n.handleManifestRedirects=o;var u=t.options_;if(n.customTagParsers=u&&u.customTagParsers||[],n.customTagMappers=u&&u.customTagMappers||[],!n.srcUrl)throw new Error(\"A non-empty playlist URL is required\");return n.state=\"HAVE_NOTHING\",n.on(\"mediaupdatetimeout\",function(){\"HAVE_METADATA\"===n.state&&(n.state=\"HAVE_CURRENT_METADATA\",n.request=n.hls_.xhr({uri:rl(n.master.uri,n.media().uri),withCredentials:n.withCredentials},function(e,t){if(n.request)return e?n.playlistRequestError(n.request,n.media(),\"HAVE_METADATA\"):void n.haveMetadata(n.request,n.media().uri,n.media().id)}))}),n}function Sl(e,t,i){var n,r;return\"undefined\"==typeof t&&(t=e.mediaSequence+e.segments.length),t<e.mediaSequence?0:(n=function(e,t){var i=0,n=t-e.mediaSequence,r=e.segments[n];if(r){if(\"undefined\"!=typeof r.start)return{result:r.start,precise:!0};if(\"undefined\"!=typeof r.end)return{result:r.end-r.duration,precise:!0}}for(;n--;){if(\"undefined\"!=typeof(r=e.segments[n]).end)return{result:i+r.end,precise:!0};if(i+=r.duration,\"undefined\"!=typeof r.start)return{result:i+r.start,precise:!0}}return{result:i,precise:!1}}(e,t)).precise?n.result:(r=function(e,t){for(var i=0,n=void 0,r=t-e.mediaSequence;r<e.segments.length;r++){if(\"undefined\"!=typeof(n=e.segments[r]).start)return{result:n.start-i,precise:!0};if(i+=n.duration,\"undefined\"!=typeof n.end)return{result:n.end-i,precise:!0}}return{result:-1,precise:!1}}(e,t)).precise?r.result:n.result+i}function kl(e,t,i){if(!e)return 0;if(\"number\"!=typeof i&&(i=0),\"undefined\"==typeof t){if(e.totalDuration)return e.totalDuration;if(!e.endList)return y.Infinity}return Sl(e,t,i)}function Cl(e,t,i){var n=0;if(i<t){var r=[i,t];t=r[0],i=r[1]}if(t<0){for(var s=t;s<Math.min(0,i);s++)n+=e.targetDuration;t=0}for(var a=t;a<i;a++)n+=e.segments[a].duration;return n}function wl(e,t){if(!e.segments.length)return 0;var i=e.segments.length,n=e.segments[i-1].duration||e.targetDuration,r=\"number\"==typeof t?t:n+2*e.targetDuration;if(0===r)return i;for(var s=0;i--&&!(r<=(s+=e.segments[i].duration)););return Math.max(0,i)}function El(e,t,i,n){if(!e||!e.segments)return null;if(e.endList)return kl(e);if(null===t)return null;t=t||0;var r=i?wl(e,n):e.segments.length;return Sl(e,e.mediaSequence+r,t)}function xl(e){return e-Math.floor(e)==0}function Al(e,t){if(xl(t))return t+.1*e;for(var i=t.toString().split(\".\")[1].length,n=1;n<=i;n++){var r=Math.pow(10,n),s=t*r;if(xl(s)||n===i)return(s+e)/r}}function Il(e){return e.excludeUntil&&e.excludeUntil>Date.now()}function Pl(e){return e.excludeUntil&&e.excludeUntil===1/0}function Ll(e){var t=Il(e);return!e.disabled&&!t}function Ol(e,t){return t.attributes&&t.attributes[e]}function Dl(e,t){if(1===e.playlists.length)return!0;var i=t.attributes.BANDWIDTH||Number.MAX_VALUE;return 0===e.playlists.filter(function(e){return!!Ll(e)&&(e.attributes.BANDWIDTH||0)<i}).length}function Nl(){return function e(t,n){t=nc({timeout:45e3},t);var i=e.beforeRequest||as.Hls.xhr.beforeRequest;if(i&&\"function\"==typeof i){var r=i(t);r&&(t=r)}var s=ic(t,function(e,t){var i=s.response;!e&&i&&(s.responseTime=Date.now(),s.roundTripTime=s.responseTime-s.requestTime,s.bytesReceived=i.byteLength||i.length,s.bandwidth||(s.bandwidth=Math.floor(s.bytesReceived/s.roundTripTime*8*1e3))),t.headers&&(s.responseHeaders=t.headers),e&&\"ETIMEDOUT\"===e.code&&(s.timedout=!0),e||s.aborted||200===t.statusCode||206===t.statusCode||0===t.statusCode||(e=new Error(\"XHR Failed with a response of: \"+(s&&(i||s.responseText)))),n(e,s)}),a=s.abort;return s.abort=function(){return s.aborted=!0,a.apply(s,arguments)},s.uri=t.uri,s.requestTime=Date.now(),s}}function Rl(e){var t={};return e.byterange&&(t.Range=function(e){var t;return t=e.offset+e.length-1,\"bytes=\"+e.offset+\"-\"+t}(e.byterange)),t}function Ul(e,t){var i=e.toString(16);return\"00\".substring(0,2-i.length)+i+(t%2?\" \":\"\")}function Ml(e){return 32<=e&&e<126?String.fromCharCode(e):\".\"}function Bl(i){var n={};return Object.keys(i).forEach(function(e){var t=i[e];ArrayBuffer.isView(t)?n[e]={bytes:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength}:n[e]=t}),n}function jl(e){var t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(\",\")}function Fl(e){return e.resolvedUri}function Hl(e){for(var t=Array.prototype.slice.call(e),i=\"\",n=0;n<t.length/16;n++)i+=t.slice(16*n,16*n+16).map(Ul).join(\"\")+\" \"+t.slice(16*n,16*n+16).map(Ml).join(\"\")+\"\\n\";return i}function Vl(e){var t=e.playlist,i=e.time,n=void 0===i?void 0:i,r=e.callback;if(!r)throw new Error(\"getProgramTime: callback must be provided\");if(!t||void 0===n)return r({message:\"getProgramTime: playlist and time must be provided\"});var s=function(e,t){if(!t||!t.segments||0===t.segments.length)return null;for(var i=0,n=void 0,r=0;r<t.segments.length&&!(e<=(i=(n=t.segments[r]).videoTimingInfo?n.videoTimingInfo.transmuxedPresentationEnd:i+n.duration));r++);var s=t.segments[t.segments.length-1];if(s.videoTimingInfo&&s.videoTimingInfo.transmuxedPresentationEnd<e)return null;if(i<e){if(e>i+.25*s.duration)return null;n=s}return{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:i-n.duration,type:n.videoTimingInfo?\"accurate\":\"estimate\"}}(n,t);if(!s)return r({message:\"valid programTime was not found\"});if(\"estimate\"===s.type)return r({message:\"Accurate programTime could not be determined. Please seek to e.seekTime and try again\",seekTime:s.estimatedStart});var a={mediaSeconds:n},o=function(e,t){if(!t.dateTimeObject)return null;var i=t.videoTimingInfo.transmuxerPrependedSeconds,n=e-(t.videoTimingInfo.transmuxedPresentationStart+i);return new Date(t.dateTimeObject.getTime()+1e3*n)}(n,s.segment);return o&&(a.programDateTime=o.toISOString()),r(null,a)}function ql(e){var t=e.programTime,i=e.playlist,n=e.retryCount,r=void 0===n?2:n,s=e.seekTo,a=e.pauseAfterSeek,o=void 0===a||a,u=e.tech,l=e.callback;if(!l)throw new Error(\"seekToProgramTime: callback must be provided\");if(\"undefined\"==typeof t||!i||!s)return l({message:\"seekToProgramTime: programTime, seekTo and playlist must be provided\"});if(!i.endList&&!u.hasStarted_)return l({message:\"player must be playing a live stream to start buffering\"});if(!function(e){if(!e.segments||0===e.segments.length)return!1;for(var t=0;t<e.segments.length;t++){if(!e.segments[t].dateTimeObject)return!1}return!0}(i))return l({message:\"programDateTime tags must be provided in the manifest \"+i.resolvedUri});var c=function(e,t){var i=void 0;try{i=new Date(e)}catch(e){return null}if(!t||!t.segments||0===t.segments.length)return null;var n=t.segments[0];if(i<n.dateTimeObject)return null;for(var r=0;r<t.segments.length-1;r++){if(n=t.segments[r],i<t.segments[r+1].dateTimeObject)break}var s=t.segments[t.segments.length-1],a=s.dateTimeObject,o=s.videoTimingInfo?function(e){return e.transmuxedPresentationEnd-e.transmuxedPresentationStart-e.transmuxerPrependedSeconds}(s.videoTimingInfo):s.duration+.25*s.duration;return new Date(a.getTime()+1e3*o)<i?null:(a<i&&(n=s),{segment:n,estimatedStart:n.videoTimingInfo?n.videoTimingInfo.transmuxedPresentationStart:tc.duration(t,t.mediaSequence+t.segments.indexOf(n)),type:n.videoTimingInfo?\"accurate\":\"estimate\"})}(t,i);if(!c)return l({message:t+\" was not found in the stream\"});var h=c.segment,d=function(e,t){var i=void 0,n=void 0;try{i=new Date(e),n=new Date(t)}catch(e){}var r=i.getTime();return(n.getTime()-r)/1e3}(h.dateTimeObject,t);if(\"estimate\"===c.type)return 0===r?l({message:t+\" is not buffered yet. Try again\"}):(s(c.estimatedStart+d),void u.one(\"seeked\",function(){ql({programTime:t,playlist:i,retryCount:r-1,seekTo:s,pauseAfterSeek:o,tech:u,callback:l})}));var p=h.start+d;u.one(\"seeked\",function(){return l(null,u.currentTime())}),o&&u.pause(),s(p)}function Wl(e,t){var i=[],n=void 0;if(e&&e.length)for(n=0;n<e.length;n++)t(e.start(n),e.end(n))&&i.push([e.start(n),e.end(n)]);return as.createTimeRanges(i)}function zl(e,i){return Wl(e,function(e,t){return e-.1<=i&&i<=t+.1})}function Gl(e,t){return Wl(e,function(e){return t<=e-1/30})}function Xl(e){var t=[];if(!e||!e.length)return\"\";for(var i=0;i<e.length;i++)t.push(e.start(i)+\" => \"+e.end(i));return t.join(\", \")}function Kl(e){for(var t=[],i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}function Yl(e,t,i){var n=void 0,r=void 0;if(i&&i.cues)for(n=i.cues.length;n--;)(r=i.cues[n]).startTime<=t&&r.endTime>=e&&i.removeCue(r)}function $l(e){return isNaN(e)||Math.abs(e)===1/0?Number.MAX_VALUE:e}function Ql(e,t,i){var n=y.WebKitDataCue||y.VTTCue;if(t&&t.forEach(function(e){var t=e.stream;this.inbandTextTracks_[t].addCue(new n(e.startTime+this.timestampOffset,e.endTime+this.timestampOffset,e.text))},e),i){var r=$l(e.mediaSource_.duration);if(i.forEach(function(e){var i=e.cueTime+this.timestampOffset;!(\"number\"!=typeof i||y.isNaN(i)||i<0)&&i<1/0&&e.frames.forEach(function(e){var t=new n(i,i,e.value||e.url||e.data||\"\");t.frame=e,t.value=e,function(e){Object.defineProperties(e.frame,{id:{get:function(){return as.log.warn(\"cue.frame.id is deprecated. Use cue.value.key instead.\"),e.value.key}},value:{get:function(){return as.log.warn(\"cue.frame.value is deprecated. Use cue.value.data instead.\"),e.value.data}},privateData:{get:function(){return as.log.warn(\"cue.frame.privateData is deprecated. Use cue.value.data instead.\"),e.value.data}}})}(t),this.metadataTrack_.addCue(t)},this)},e),e.metadataTrack_&&e.metadataTrack_.cues&&e.metadataTrack_.cues.length){for(var s=e.metadataTrack_.cues,a=[],o=0;o<s.length;o++)s[o]&&a.push(s[o]);var u=a.reduce(function(e,t){var i=e[t.startTime]||[];return i.push(t),e[t.startTime]=i,e},{}),l=Object.keys(u).sort(function(e,t){return Number(e)-Number(t)});l.forEach(function(e,t){var i=u[e],n=Number(l[t+1])||r;i.forEach(function(e){e.endTime=n})})}}}var Jl=as.createTimeRange,Zl=Al.bind(null,1),ec=Al.bind(null,-1),tc={duration:kl,seekable:function(e,t,i){var n=t||0,r=El(e,t,!0,i);return null===r?Jl():Jl(n,r)},safeLiveIndex:wl,getMediaInfoForTime:function(e,t,i,n){var r=void 0,s=void 0,a=e.segments.length,o=t-n;if(o<0){if(0<i)for(r=i-1;0<=r;r--)if(s=e.segments[r],0<(o+=ec(s.duration)))return{mediaIndex:r,startTime:n-Cl(e,i,r)};return{mediaIndex:0,startTime:t}}if(i<0){for(r=i;r<0;r++)if((o-=e.targetDuration)<0)return{mediaIndex:0,startTime:t};i=0}for(r=i;r<a;r++)if(s=e.segments[r],(o-=Zl(s.duration))<0)return{mediaIndex:r,startTime:n+Cl(e,i,r)};return{mediaIndex:a-1,startTime:t}},isEnabled:Ll,isDisabled:function(e){return e.disabled},isBlacklisted:Il,isIncompatible:Pl,playlistEnd:El,isAes:function(e){for(var t=0;t<e.segments.length;t++)if(e.segments[t].key)return!0;return!1},isFmp4:function(e){for(var t=0;t<e.segments.length;t++)if(e.segments[t].map)return!0;return!1},hasAttribute:Ol,estimateSegmentRequestTime:function(e,t,i,n){var r=3<arguments.length&&void 0!==n?n:0;return Ol(\"BANDWIDTH\",i)?(e*i.attributes.BANDWIDTH-8*r)/t:NaN},isLowestEnabledRendition:Dl},ic=as.xhr,nc=as.mergeOptions,rc=Object.freeze({createTransferableMessage:Bl,initSegmentId:jl,segmentKeyId:Fl,hexDump:Hl,tagDump:function(e){var t=e.bytes;return Hl(t)},textRanges:function(e){var t,i,n=\"\",r=void 0;for(r=0;r<e.length;r++)n+=(i=r,(t=e).start(i)+\"-\"+t.end(i)+\" \");return n}}),sc=\"undefined\"!=typeof window?window:{},ac=\"undefined\"==typeof Symbol?\"__target\":Symbol(),oc=\"application/javascript\",uc=sc.BlobBuilder||sc.WebKitBlobBuilder||sc.MozBlobBuilder||sc.MSBlobBuilder,lc=sc.URL||sc.webkitURL||lc&&lc.msURL,cc=sc.Worker;function hc(r,s){return function(e){var t=this;if(!s)return new cc(r);if(cc&&!e){var i=mc(s.toString().replace(/^function.+?{/,\"\").slice(0,-1));return this[ac]=new cc(i),function(e,t){if(!e||!t)return;var i=e.terminate;e.objURL=t,e.terminate=function(){e.objURL&&lc.revokeObjectURL(e.objURL),i.call(e)}}(this[ac],i),this[ac]}var n={postMessage:function(e){t.onmessage&&setTimeout(function(){t.onmessage({data:e,target:n})})}};s.call(n),this.postMessage=function(e){setTimeout(function(){n.onmessage({data:e,target:t})})},this.isThisThread=!0}}if(cc){var dc,pc=mc(\"self.onmessage = function () {}\"),fc=new Uint8Array(1);try{(dc=new cc(pc)).postMessage(fc,[fc.buffer])}catch(e){cc=null}finally{lc.revokeObjectURL(pc),dc&&dc.terminate()}}function mc(t){try{return lc.createObjectURL(new Blob([t],{type:oc}))}catch(e){var i=new uc;return i.append(t),lc.createObjectURL(i.getBlob(type))}}function gc(e){return e.map(function(e){return e.replace(/avc1\\.(\\d+)\\.(\\d+)/i,function(e,t,i){return\"avc1.\"+(\"00\"+Number(t).toString(16)).slice(-2)+\"00\"+(\"00\"+Number(i).toString(16)).slice(-2)})})}function vc(e){var t,i=0<arguments.length&&void 0!==e?e:\"\",n={codecCount:0};return n.codecCount=i.split(\",\").length,n.codecCount=n.codecCount||2,(t=/(^|\\s|,)+(avc[13])([^ ,]*)/i.exec(i))&&(n.videoCodec=t[2],n.videoObjectTypeIndicator=t[3]),n.audioProfile=/(^|\\s|,)+mp4a.[0-9A-Fa-f]+\\.([0-9A-Fa-f]+)/i.exec(i),n.audioProfile=n.audioProfile&&n.audioProfile[2],n}function yc(e,t,i){return e+\"/\"+t+'; codecs=\"'+i.filter(function(e){return!!e}).join(\", \")+'\"'}function _c(e,t){var i=function(e){return e.segments&&e.segments.length&&e.segments[0].map?\"mp4\":\"mp2t\"}(t),n=function(e){var t=e.attributes||{};return t.CODECS?vc(t.CODECS):Cc}(t),r=t.attributes||{},s=!0,a=!1;if(!t)return[];if(e.mediaGroups.AUDIO&&r.AUDIO){var o=e.mediaGroups.AUDIO[r.AUDIO];if(o)for(var u in s=!(a=!0),o)if(!o[u].uri&&!o[u].playlists){s=!0;break}}a&&!n.audioProfile&&(s||(n.audioProfile=function(e,t){if(!e.mediaGroups.AUDIO||!t)return null;var i=e.mediaGroups.AUDIO[t];if(!i)return null;for(var n in i){var r=i[n];if(r.default&&r.playlists)return vc(r.playlists[0].attributes.CODECS).audioProfile}return null}(e,r.AUDIO)),n.audioProfile||(as.log.warn(\"Multiple audio tracks present but no audio codec string is specified. Attempting to use the default audio codec (mp4a.40.2)\"),n.audioProfile=Cc.audioProfile));var l={};n.videoCodec&&(l.video=\"\"+n.videoCodec+n.videoObjectTypeIndicator),n.audioProfile&&(l.audio=\"mp4a.40.\"+n.audioProfile);var c=yc(\"audio\",i,[l.audio]),h=yc(\"video\",i,[l.video]),d=yc(\"video\",i,[l.video,l.audio]);return a?!s&&l.video?[h,c]:s||l.video?[d,c]:[c,c]:l.video?[d]:[c]}function bc(e){var r={type:\"\",parameters:{}},t=e.trim().split(\";\");return r.type=t.shift().trim(),t.forEach(function(e){var t=e.trim().split(\"=\");if(1<t.length){var i=t[0].replace(/\"/g,\"\").trim(),n=t[1].replace(/\"/g,\"\").trim();r.parameters[i]=n}}),r}function Tc(e){return/mp4a\\.\\d+.\\d+/i.test(e)}function Sc(e){return/avc1\\.[\\da-f]+/i.test(e)}var kc=new hc(\"./transmuxer-worker.worker.js\",function(e,t){var kt=this;!function(){function e(){this.init=function(){var s={};this.on=function(e,t){s[e]||(s[e]=[]),s[e]=s[e].concat(t)},this.off=function(e,t){var i;return!!s[e]&&(i=s[e].indexOf(t),s[e]=s[e].slice(),s[e].splice(i,1),-1<i)},this.trigger=function(e){var t,i,n,r;if(t=s[e])if(2===arguments.length)for(n=t.length,i=0;i<n;++i)t[i].call(this,arguments[1]);else{for(r=[],i=arguments.length,i=1;i<arguments.length;++i)r.push(arguments[i]);for(n=t.length,i=0;i<n;++i)t[i].apply(this,r)}},this.dispose=function(){s={}}}}e.prototype.pipe=function(t){return this.on(\"data\",function(e){t.push(e)}),this.on(\"done\",function(e){t.flush(e)}),this.on(\"partialdone\",function(e){t.partialFlush(e)}),this.on(\"endedtimeline\",function(e){t.endTimeline(e)}),this.on(\"reset\",function(e){t.reset(e)}),t},e.prototype.push=function(e){this.trigger(\"data\",e)},e.prototype.flush=function(e){this.trigger(\"done\",e)},e.prototype.partialFlush=function(e){this.trigger(\"partialdone\",e)},e.prototype.endTimeline=function(e){this.trigger(\"endedtimeline\",e)},e.prototype.reset=function(e){this.trigger(\"reset\",e)};var l,t,i,r,s,n,a,o,u,c,h,d,p,f,m,g,v,y,_,b,T,S,k,C,w,E,x,A,I,P,L,O,D,N,R,U,M,B,j,F,H=e,V=Math.pow(2,32)-1;!function(){var e;if(S={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],pasp:[],sdtp:[],smhd:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],styp:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[]},\"undefined\"!=typeof Uint8Array){for(e in S)S.hasOwnProperty(e)&&(S[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);k=new Uint8Array([\"i\".charCodeAt(0),\"s\".charCodeAt(0),\"o\".charCodeAt(0),\"m\".charCodeAt(0)]),w=new Uint8Array([\"a\".charCodeAt(0),\"v\".charCodeAt(0),\"c\".charCodeAt(0),\"1\".charCodeAt(0)]),C=new Uint8Array([0,0,0,1]),E=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),x=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),A={video:E,audio:x},L=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),P=new Uint8Array([0,0,0,0,0,0,0,0]),O=new Uint8Array([0,0,0,0,0,0,0,0]),D=O,N=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),R=O,I=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}}(),l=function(e){var t,i,n=[],r=0;for(t=1;t<arguments.length;t++)n.push(arguments[t]);for(t=n.length;t--;)r+=n[t].byteLength;for(i=new Uint8Array(r+8),new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,i.byteLength),i.set(e,4),t=0,r=8;t<n.length;t++)i.set(n[t],r),r+=n[t].byteLength;return i},t=function(){return l(S.dinf,l(S.dref,L))},i=function(e){return l(S.esds,new Uint8Array([0,0,0,0,3,25,0,0,0,4,17,64,21,0,6,0,0,0,218,192,0,0,218,192,5,2,e.audioobjecttype<<3|e.samplingfrequencyindex>>>1,e.samplingfrequencyindex<<7|e.channelcount<<3,6,1,2]))},m=function(e){return l(S.hdlr,A[e])},f=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,2,0,0,0,3,0,1,95,144,e.duration>>>24&255,e.duration>>>16&255,e.duration>>>8&255,255&e.duration,85,196,0,0]);return e.samplerate&&(t[12]=e.samplerate>>>24&255,t[13]=e.samplerate>>>16&255,t[14]=e.samplerate>>>8&255,t[15]=255&e.samplerate),l(S.mdhd,t)},p=function(e){return l(S.mdia,f(e),m(e.type),n(e))},s=function(e){return l(S.mfhd,new Uint8Array([0,0,0,0,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e]))},n=function(e){return l(S.minf,\"video\"===e.type?l(S.vmhd,I):l(S.smhd,P),t(),v(e))},a=function(e,t){for(var i=[],n=t.length;n--;)i[n]=_(t[n]);return l.apply(null,[S.moof,s(e)].concat(i))},o=function(e){for(var t=e.length,i=[];t--;)i[t]=h(e[t]);return l.apply(null,[S.moov,c(4294967295)].concat(i).concat(u(e)))},u=function(e){for(var t=e.length,i=[];t--;)i[t]=b(e[t]);return l.apply(null,[S.mvex].concat(i))},c=function(e){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,2,0,1,95,144,(4278190080&e)>>24,(16711680&e)>>16,(65280&e)>>8,255&e,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return l(S.mvhd,t)},g=function(e){var t,i,n=e.samples||[],r=new Uint8Array(4+n.length);for(i=0;i<n.length;i++)t=n[i].flags,r[i+4]=t.dependsOn<<4|t.isDependedOn<<2|t.hasRedundancy;return l(S.sdtp,r)},v=function(e){return l(S.stbl,y(e),l(S.stts,R),l(S.stsc,D),l(S.stsz,N),l(S.stco,O))},y=function(e){return l(S.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),\"video\"===e.type?U(e):M(e))},U=function(e){var t,i,n=e.sps||[],r=e.pps||[],s=[],a=[];for(t=0;t<n.length;t++)s.push((65280&n[t].byteLength)>>>8),s.push(255&n[t].byteLength),s=s.concat(Array.prototype.slice.call(n[t]));for(t=0;t<r.length;t++)a.push((65280&r[t].byteLength)>>>8),a.push(255&r[t].byteLength),a=a.concat(Array.prototype.slice.call(r[t]));if(i=[S.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,(65280&e.width)>>8,255&e.width,(65280&e.height)>>8,255&e.height,0,72,0,0,0,72,0,0,0,0,0,0,0,1,19,118,105,100,101,111,106,115,45,99,111,110,116,114,105,98,45,104,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l(S.avcC,new Uint8Array([1,e.profileIdc,e.profileCompatibility,e.levelIdc,255].concat([n.length],s,[r.length],a))),l(S.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192]))],e.sarRatio){var o=e.sarRatio[0],u=e.sarRatio[1];i.push(l(S.pasp,new Uint8Array([(4278190080&o)>>24,(16711680&o)>>16,(65280&o)>>8,255&o,(4278190080&u)>>24,(16711680&u)>>16,(65280&u)>>8,255&u])))}return l.apply(null,i)},M=function(e){return l(S.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,(65280&e.channelcount)>>8,255&e.channelcount,(65280&e.samplesize)>>8,255&e.samplesize,0,0,0,0,(65280&e.samplerate)>>8,255&e.samplerate,0,0]),i(e))},d=function(e){var t=new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,0,(4278190080&e.duration)>>24,(16711680&e.duration)>>16,(65280&e.duration)>>8,255&e.duration,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,(65280&e.width)>>8,255&e.width,0,0,(65280&e.height)>>8,255&e.height,0,0]);return l(S.tkhd,t)},_=function(e){var t,i,n,r,s,a;return t=l(S.tfhd,new Uint8Array([0,0,0,58,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0])),s=Math.floor(e.baseMediaDecodeTime/(1+V)),a=Math.floor(e.baseMediaDecodeTime%(1+V)),i=l(S.tfdt,new Uint8Array([1,0,0,0,s>>>24&255,s>>>16&255,s>>>8&255,255&s,a>>>24&255,a>>>16&255,a>>>8&255,255&a])),92,\"audio\"===e.type?(n=T(e,92),l(S.traf,t,i,n)):(r=g(e),n=T(e,r.length+92),l(S.traf,t,i,n,r))},h=function(e){return e.duration=e.duration||4294967295,l(S.trak,d(e),p(e))},b=function(e){var t=new Uint8Array([0,0,0,0,(4278190080&e.id)>>24,(16711680&e.id)>>16,(65280&e.id)>>8,255&e.id,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return\"video\"!==e.type&&(t[t.length-1]=0),l(S.trex,t)},F=function(e,t){var i=0,n=0,r=0,s=0;return e.length&&(void 0!==e[0].duration&&(i=1),void 0!==e[0].size&&(n=2),void 0!==e[0].flags&&(r=4),void 0!==e[0].compositionTimeOffset&&(s=8)),[0,0,i|n|r|s,1,(4278190080&e.length)>>>24,(16711680&e.length)>>>16,(65280&e.length)>>>8,255&e.length,(4278190080&t)>>>24,(16711680&t)>>>16,(65280&t)>>>8,255&t]},j=function(e,t){var i,n,r,s;for(t+=20+16*(n=e.samples||[]).length,i=F(n,t),s=0;s<n.length;s++)r=n[s],i=i.concat([(4278190080&r.duration)>>>24,(16711680&r.duration)>>>16,(65280&r.duration)>>>8,255&r.duration,(4278190080&r.size)>>>24,(16711680&r.size)>>>16,(65280&r.size)>>>8,255&r.size,r.flags.isLeading<<2|r.flags.dependsOn,r.flags.isDependedOn<<6|r.flags.hasRedundancy<<4|r.flags.paddingValue<<1|r.flags.isNonSyncSample,61440&r.flags.degradationPriority,15&r.flags.degradationPriority,(4278190080&r.compositionTimeOffset)>>>24,(16711680&r.compositionTimeOffset)>>>16,(65280&r.compositionTimeOffset)>>>8,255&r.compositionTimeOffset]);return l(S.trun,new Uint8Array(i))},B=function(e,t){var i,n,r,s;for(t+=20+8*(n=e.samples||[]).length,i=F(n,t),s=0;s<n.length;s++)r=n[s],i=i.concat([(4278190080&r.duration)>>>24,(16711680&r.duration)>>>16,(65280&r.duration)>>>8,255&r.duration,(4278190080&r.size)>>>24,(16711680&r.size)>>>16,(65280&r.size)>>>8,255&r.size]);return l(S.trun,new Uint8Array(i))},T=function(e,t){return\"audio\"===e.type?B(e,t):j(e,t)};r=function(){return l(S.ftyp,k,C,k,w)};function q(e,t){var i={size:0,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0,degradationPriority:0,isNonSyncSample:1}};return i.dataOffset=t,i.compositionTimeOffset=e.pts-e.dts,i.duration=e.duration,i.size=4*e.length,i.size+=e.byteLength,e.keyFrame&&(i.flags.dependsOn=2,i.flags.isNonSyncSample=0),i}function W(e){for(var t=[];e--;)t.push(0);return t}function z(){z.prototype.init.call(this),this.captionPackets_=[],this.ccStreams_=[new Ie(0,0),new Ie(0,1),new Ie(1,0),new Ie(1,1)],this.reset(),this.ccStreams_.forEach(function(e){e.on(\"data\",this.trigger.bind(this,\"data\")),e.on(\"partialdone\",this.trigger.bind(this,\"partialdone\")),e.on(\"done\",this.trigger.bind(this,\"done\"))},this)}var G,X,K,Y,$,Q=function(e){return l(S.mdat,e)},J=a,Z=function(e){var t,i=r(),n=o(e);return(t=new Uint8Array(i.byteLength+n.byteLength)).set(i),t.set(n,i.byteLength),t},ee=function(e){var t,i,n=[],r=[];for(r.byteLength=0,r.nalCount=0,r.duration=0,t=n.byteLength=0;t<e.length;t++)\"access_unit_delimiter_rbsp\"===(i=e[t]).nalUnitType?(n.length&&(n.duration=i.dts-n.dts,r.byteLength+=n.byteLength,r.nalCount+=n.length,r.duration+=n.duration,r.push(n)),(n=[i]).byteLength=i.data.byteLength,n.pts=i.pts,n.dts=i.dts):(\"slice_layer_without_partitioning_rbsp_idr\"===i.nalUnitType&&(n.keyFrame=!0),n.duration=i.dts-n.dts,n.byteLength+=i.data.byteLength,n.push(i));return r.length&&(!n.duration||n.duration<=0)&&(n.duration=r[r.length-1].duration),r.byteLength+=n.byteLength,r.nalCount+=n.length,r.duration+=n.duration,r.push(n),r},te=function(e){var t,i,n=[],r=[];for(n.byteLength=0,n.nalCount=0,n.duration=0,n.pts=e[0].pts,n.dts=e[0].dts,r.byteLength=0,r.nalCount=0,r.duration=0,r.pts=e[0].pts,r.dts=e[0].dts,t=0;t<e.length;t++)(i=e[t]).keyFrame?(n.length&&(r.push(n),r.byteLength+=n.byteLength,r.nalCount+=n.nalCount,r.duration+=n.duration),(n=[i]).nalCount=i.length,n.byteLength=i.byteLength,n.pts=i.pts,n.dts=i.dts,n.duration=i.duration):(n.duration+=i.duration,n.nalCount+=i.length,n.byteLength+=i.byteLength,n.push(i));return r.length&&n.duration<=0&&(n.duration=r[r.length-1].duration),r.byteLength+=n.byteLength,r.nalCount+=n.nalCount,r.duration+=n.duration,r.push(n),r},ie=function(e){var t;return!e[0][0].keyFrame&&1<e.length&&(t=e.shift(),e.byteLength-=t.byteLength,e.nalCount-=t.nalCount,e[0][0].dts=t.dts,e[0][0].pts=t.pts,e[0][0].duration+=t.duration),e},ne=function(e,t){var i,n,r,s,a,o=t||0,u=[];for(i=0;i<e.length;i++)for(s=e[i],n=0;n<s.length;n++)a=s[n],o+=(r=q(a,o)).size,u.push(r);return u},re=function(e){var t,i,n,r,s,a,o=0,u=e.byteLength,l=e.nalCount,c=new Uint8Array(u+4*l),h=new DataView(c.buffer);for(t=0;t<e.length;t++)for(r=e[t],i=0;i<r.length;i++)for(s=r[i],n=0;n<s.length;n++)a=s[n],h.setUint32(o,a.data.byteLength),o+=4,c.set(a.data,o),o+=a.data.byteLength;return c},se=[33,16,5,32,164,27],ae=[33,65,108,84,1,2,4,8,168,2,4,8,17,191,252],oe={96e3:[se,[227,64],W(154),[56]],88200:[se,[231],W(170),[56]],64e3:[se,[248,192],W(240),[56]],48e3:[se,[255,192],W(268),[55,148,128],W(54),[112]],44100:[se,[255,192],W(268),[55,163,128],W(84),[112]],32e3:[se,[255,192],W(268),[55,234],W(226),[112]],24e3:[se,[255,192],W(268),[55,255,128],W(268),[111,112],W(126),[224]],16e3:[se,[255,192],W(268),[55,255,128],W(268),[111,255],W(269),[223,108],W(195),[1,192]],12e3:[ae,W(268),[3,127,248],W(268),[6,255,240],W(268),[13,255,224],W(268),[27,253,128],W(259),[56]],11025:[ae,W(268),[3,127,248],W(268),[6,255,240],W(268),[13,255,224],W(268),[27,255,192],W(268),[55,175,128],W(108),[112]],8e3:[ae,W(268),[3,121,16],W(47),[7]]},ue=(G=oe,Object.keys(G).reduce(function(e,t){return e[t]=new Uint8Array(G[t].reduce(function(e,t){return e.concat(t)},[])),e},{})),le=9e4,ce=(X=function(e){return 9e4*e},K=function(e,t){return e*t},Y=function(e){return e/9e4},$=function(e,t){return e/t},function(e,t){return X($(e,t))}),he=function(e,t){return K(Y(e),t)},de=function(e,t,i){return Y(i?e:e-t)},pe=function(e,t,i,n){var r,s,a,o,u,l=0,c=0,h=0;if(t.length&&(r=ce(e.baseMediaDecodeTime,e.samplerate),s=Math.ceil(le/(e.samplerate/1024)),i&&n&&(l=r-Math.max(i,n),h=(c=Math.floor(l/s))*s),!(c<1||le/2<h))){for(a=(a=ue[e.samplerate])||t[0].data,o=0;o<c;o++)u=t[0],t.splice(0,0,{data:a,dts:u.dts-s,pts:u.pts-s});e.baseMediaDecodeTime-=Math.floor(he(h,e.samplerate))}},fe=function(e,t,i){return t.minSegmentDts>=i?e:(t.minSegmentDts=1/0,e.filter(function(e){return e.dts>=i&&(t.minSegmentDts=Math.min(t.minSegmentDts,e.dts),t.minSegmentPts=t.minSegmentDts,!0)}))},me=function(e){var t,i,n=[];for(t=0;t<e.length;t++)i=e[t],n.push({size:i.data.byteLength,duration:1024});return n},ge=function(e){var t,i,n=0,r=new Uint8Array(function(e){var t,i=0;for(t=0;t<e.length;t++)i+=e[t].data.byteLength;return i}(e));for(t=0;t<e.length;t++)i=e[t],r.set(i.data,n),n+=i.data.byteLength;return r},ve=le,ye=function(e){delete e.minSegmentDts,delete e.maxSegmentDts,delete e.minSegmentPts,delete e.maxSegmentPts},_e=function(e,t){var i,n=e.minSegmentDts;return t||(n-=e.timelineStartInfo.dts),i=e.timelineStartInfo.baseMediaDecodeTime,i+=n,i=Math.max(0,i),\"audio\"===e.type&&(i*=e.samplerate/ve,i=Math.floor(i)),i},be=function(e,t){\"number\"==typeof t.pts&&(void 0===e.timelineStartInfo.pts&&(e.timelineStartInfo.pts=t.pts),void 0===e.minSegmentPts?e.minSegmentPts=t.pts:e.minSegmentPts=Math.min(e.minSegmentPts,t.pts),void 0===e.maxSegmentPts?e.maxSegmentPts=t.pts:e.maxSegmentPts=Math.max(e.maxSegmentPts,t.pts)),\"number\"==typeof t.dts&&(void 0===e.timelineStartInfo.dts&&(e.timelineStartInfo.dts=t.dts),void 0===e.minSegmentDts?e.minSegmentDts=t.dts:e.minSegmentDts=Math.min(e.minSegmentDts,t.dts),void 0===e.maxSegmentDts?e.maxSegmentDts=t.dts:e.maxSegmentDts=Math.max(e.maxSegmentDts,t.dts))},Te=function(e){for(var t=0,i={payloadType:-1,payloadSize:0},n=0,r=0;t<e.byteLength&&128!==e[t];){for(;255===e[t];)n+=255,t++;for(n+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],!i.payload&&4===n){i.payloadType=n,i.payloadSize=r,i.payload=e.subarray(t,t+r);break}t+=r,r=n=0}return i},Se=function(e){return 181!==e.payload[0]?null:49!=(e.payload[1]<<8|e.payload[2])?null:\"GA94\"!==String.fromCharCode(e.payload[3],e.payload[4],e.payload[5],e.payload[6])?null:3!==e.payload[7]?null:e.payload.subarray(8,e.payload.length-1)},ke=function(e,t){var i,n,r,s,a=[];if(!(64&t[0]))return a;for(n=31&t[0],i=0;i<n;i++)s={type:3&t[2+(r=3*i)],pts:e},4&t[2+r]&&(s.ccData=t[3+r]<<8|t[4+r],a.push(s));return a},Ce=4;(z.prototype=new H).push=function(e){var t,i,n;if(\"sei_rbsp\"===e.nalUnitType&&(t=Te(e.escapedRBSP)).payloadType===Ce&&(i=Se(t)))if(e.dts<this.latestDts_)this.ignoreNextEqualDts_=!0;else{if(e.dts===this.latestDts_&&this.ignoreNextEqualDts_)return this.numSameDts_--,void(this.numSameDts_||(this.ignoreNextEqualDts_=!1));n=ke(e.pts,i),this.captionPackets_=this.captionPackets_.concat(n),this.latestDts_!==e.dts&&(this.numSameDts_=0),this.numSameDts_++,this.latestDts_=e.dts}},z.prototype.flushCCStreams=function(t){this.ccStreams_.forEach(function(e){return\"flush\"===t?e.flush():e.partialFlush()},this)},z.prototype.flushStream=function(e){this.captionPackets_.length&&(this.captionPackets_.forEach(function(e,t){e.presortIndex=t}),this.captionPackets_.sort(function(e,t){return e.pts===t.pts?e.presortIndex-t.presortIndex:e.pts-t.pts}),this.captionPackets_.forEach(function(e){e.type<2&&this.dispatchCea608Packet(e)},this),this.captionPackets_.length=0),this.flushCCStreams(e)},z.prototype.flush=function(){return this.flushStream(\"flush\")},z.prototype.partialFlush=function(){return this.flushStream(\"partialFlush\")},z.prototype.reset=function(){this.latestDts_=null,this.ignoreNextEqualDts_=!1,this.numSameDts_=0,this.activeCea608Channel_=[null,null],this.ccStreams_.forEach(function(e){e.reset()})},z.prototype.dispatchCea608Packet=function(e){this.setsTextOrXDSActive(e)?this.activeCea608Channel_[e.type]=null:this.setsChannel1Active(e)?this.activeCea608Channel_[e.type]=0:this.setsChannel2Active(e)&&(this.activeCea608Channel_[e.type]=1),null!==this.activeCea608Channel_[e.type]&&this.ccStreams_[(e.type<<1)+this.activeCea608Channel_[e.type]].push(e)},z.prototype.setsChannel1Active=function(e){return 4096==(30720&e.ccData)},z.prototype.setsChannel2Active=function(e){return 6144==(30720&e.ccData)},z.prototype.setsTextOrXDSActive=function(e){return 256==(28928&e.ccData)||4138==(30974&e.ccData)||6186==(30974&e.ccData)};function we(e){return null===e?\"\":(e=xe[e]||e,String.fromCharCode(e))}function Ee(){for(var e=[],t=15;t--;)e.push(\"\");return e}var xe={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,304:174,305:176,306:189,307:191,308:8482,309:162,310:163,311:9834,312:224,313:160,314:232,315:226,316:234,317:238,318:244,319:251,544:193,545:201,546:211,547:218,548:220,549:252,550:8216,551:161,552:42,553:39,554:8212,555:169,556:8480,557:8226,558:8220,559:8221,560:192,561:194,562:199,563:200,564:202,565:203,566:235,567:206,568:207,569:239,570:212,571:217,572:249,573:219,574:171,575:187,800:195,801:227,802:205,803:204,804:236,805:210,806:242,807:213,808:245,809:123,810:125,811:92,812:94,813:95,814:124,815:126,816:196,817:228,818:214,819:246,820:223,821:165,822:164,823:9474,824:197,825:229,826:216,827:248,828:9484,829:9488,830:9492,831:9496},Ae=[4352,4384,4608,4640,5376,5408,5632,5664,5888,5920,4096,4864,4896,5120,5152],Ie=function e(t,i){e.prototype.init.call(this),this.field_=t||0,this.dataChannel_=i||0,this.name_=\"CC\"+(1+(this.field_<<1|this.dataChannel_)),this.setConstants(),this.reset(),this.push=function(e){var t,i,n,r,s;if((t=32639&e.ccData)!==this.lastControlCode_){if(4096==(61440&t)?this.lastControlCode_=t:t!==this.PADDING_&&(this.lastControlCode_=null),n=t>>>8,r=255&t,t!==this.PADDING_)if(t===this.RESUME_CAPTION_LOADING_)this.mode_=\"popOn\";else if(t===this.END_OF_CAPTION_)this.mode_=\"popOn\",this.clearFormatting(e.pts),this.flushDisplayed(e.pts),i=this.displayed_,this.displayed_=this.nonDisplayed_,this.nonDisplayed_=i,this.startPts_=e.pts;else if(t===this.ROLL_UP_2_ROWS_)this.rollUpRows_=2,this.setRollUp(e.pts);else if(t===this.ROLL_UP_3_ROWS_)this.rollUpRows_=3,this.setRollUp(e.pts);else if(t===this.ROLL_UP_4_ROWS_)this.rollUpRows_=4,this.setRollUp(e.pts);else if(t===this.CARRIAGE_RETURN_)this.clearFormatting(e.pts),this.flushDisplayed(e.pts),this.shiftRowsUp_(),this.startPts_=e.pts;else if(t===this.BACKSPACE_)\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1);else if(t===this.ERASE_DISPLAYED_MEMORY_)this.flushDisplayed(e.pts),this.displayed_=Ee();else if(t===this.ERASE_NON_DISPLAYED_MEMORY_)this.nonDisplayed_=Ee();else if(t===this.RESUME_DIRECT_CAPTIONING_)\"paintOn\"!==this.mode_&&(this.flushDisplayed(e.pts),this.displayed_=Ee()),this.mode_=\"paintOn\",this.startPts_=e.pts;else if(this.isSpecialCharacter(n,r))s=we((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isExtCharacter(n,r))\"popOn\"===this.mode_?this.nonDisplayed_[this.row_]=this.nonDisplayed_[this.row_].slice(0,-1):this.displayed_[this.row_]=this.displayed_[this.row_].slice(0,-1),s=we((n=(3&n)<<8)|r),this[this.mode_](e.pts,s),this.column_++;else if(this.isMidRowCode(n,r))this.clearFormatting(e.pts),this[this.mode_](e.pts,\" \"),this.column_++,14==(14&r)&&this.addFormatting(e.pts,[\"i\"]),1==(1&r)&&this.addFormatting(e.pts,[\"u\"]);else if(this.isOffsetControlCode(n,r))this.column_+=3&r;else if(this.isPAC(n,r)){var a=Ae.indexOf(7968&t);\"rollUp\"===this.mode_&&(a-this.rollUpRows_+1<0&&(a=this.rollUpRows_-1),this.setRollUp(e.pts,a)),a!==this.row_&&(this.clearFormatting(e.pts),this.row_=a),1&r&&-1===this.formatting_.indexOf(\"u\")&&this.addFormatting(e.pts,[\"u\"]),16==(16&t)&&(this.column_=4*((14&t)>>1)),this.isColorPAC(r)&&14==(14&r)&&this.addFormatting(e.pts,[\"i\"])}else this.isNormalChar(n)&&(0===r&&(r=null),s=we(n),s+=we(r),this[this.mode_](e.pts,s),this.column_+=s.length)}else this.lastControlCode_=null}};Ie.prototype=new H,Ie.prototype.flushDisplayed=function(e){var t=this.displayed_.map(function(e){try{return e.trim()}catch(e){return\"\"}}).join(\"\\n\").replace(/^\\n+|\\n+$/g,\"\");t.length&&this.trigger(\"data\",{startPts:this.startPts_,endPts:e,text:t,stream:this.name_})},Ie.prototype.reset=function(){this.mode_=\"popOn\",this.topRow_=0,this.startPts_=0,this.displayed_=Ee(),this.nonDisplayed_=Ee(),this.lastControlCode_=null,this.column_=0,this.row_=14,this.rollUpRows_=2,this.formatting_=[]},Ie.prototype.setConstants=function(){0===this.dataChannel_?(this.BASE_=16,this.EXT_=17,this.CONTROL_=(20|this.field_)<<8,this.OFFSET_=23):1===this.dataChannel_&&(this.BASE_=24,this.EXT_=25,this.CONTROL_=(28|this.field_)<<8,this.OFFSET_=31),this.PADDING_=0,this.RESUME_CAPTION_LOADING_=32|this.CONTROL_,this.END_OF_CAPTION_=47|this.CONTROL_,this.ROLL_UP_2_ROWS_=37|this.CONTROL_,this.ROLL_UP_3_ROWS_=38|this.CONTROL_,this.ROLL_UP_4_ROWS_=39|this.CONTROL_,this.CARRIAGE_RETURN_=45|this.CONTROL_,this.RESUME_DIRECT_CAPTIONING_=41|this.CONTROL_,this.BACKSPACE_=33|this.CONTROL_,this.ERASE_DISPLAYED_MEMORY_=44|this.CONTROL_,this.ERASE_NON_DISPLAYED_MEMORY_=46|this.CONTROL_},Ie.prototype.isSpecialCharacter=function(e,t){return e===this.EXT_&&48<=t&&t<=63},Ie.prototype.isExtCharacter=function(e,t){return(e===this.EXT_+1||e===this.EXT_+2)&&32<=t&&t<=63},Ie.prototype.isMidRowCode=function(e,t){return e===this.EXT_&&32<=t&&t<=47},Ie.prototype.isOffsetControlCode=function(e,t){return e===this.OFFSET_&&33<=t&&t<=35},Ie.prototype.isPAC=function(e,t){return e>=this.BASE_&&e<this.BASE_+8&&64<=t&&t<=127},Ie.prototype.isColorPAC=function(e){return 64<=e&&e<=79||96<=e&&e<=127},Ie.prototype.isNormalChar=function(e){return 32<=e&&e<=127},Ie.prototype.setRollUp=function(e,t){if(\"rollUp\"!==this.mode_&&(this.row_=14,this.mode_=\"rollUp\",this.flushDisplayed(e),this.nonDisplayed_=Ee(),this.displayed_=Ee()),void 0!==t&&t!==this.row_)for(var i=0;i<this.rollUpRows_;i++)this.displayed_[t-i]=this.displayed_[this.row_-i],this.displayed_[this.row_-i]=\"\";void 0===t&&(t=this.row_),this.topRow_=t-this.rollUpRows_+1},Ie.prototype.addFormatting=function(e,t){this.formatting_=this.formatting_.concat(t);var i=t.reduce(function(e,t){return e+\"<\"+t+\">\"},\"\");this[this.mode_](e,i)},Ie.prototype.clearFormatting=function(e){if(this.formatting_.length){var t=this.formatting_.reverse().reduce(function(e,t){return e+\"</\"+t+\">\"},\"\");this.formatting_=[],this[this.mode_](e,t)}},Ie.prototype.popOn=function(e,t){var i=this.nonDisplayed_[this.row_];i+=t,this.nonDisplayed_[this.row_]=i},Ie.prototype.rollUp=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i},Ie.prototype.shiftRowsUp_=function(){var e;for(e=0;e<this.topRow_;e++)this.displayed_[e]=\"\";for(e=this.row_+1;e<15;e++)this.displayed_[e]=\"\";for(e=this.topRow_;e<this.row_;e++)this.displayed_[e]=this.displayed_[e+1];this.displayed_[this.row_]=\"\"},Ie.prototype.paintOn=function(e,t){var i=this.displayed_[this.row_];i+=t,this.displayed_[this.row_]=i};function Pe(e,t){var i=1;for(t<e&&(i=-1);4294967296<Math.abs(t-e);)e+=8589934592*i;return e}function Le(e){var t,i;Le.prototype.init.call(this),this.type_=e||\"shared\",this.push=function(e){\"shared\"!==this.type_&&e.type!==this.type_||(void 0===i&&(i=e.dts),e.dts=Pe(e.dts,i),e.pts=Pe(e.pts,i),t=e.dts,this.trigger(\"data\",e))},this.flush=function(){i=t,this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")},this.discontinuity=function(){t=i=void 0},this.reset=function(){this.discontinuity(),this.trigger(\"reset\")}}var Oe={CaptionStream:z,Cea608Stream:Ie},De={H264_STREAM_TYPE:27,ADTS_STREAM_TYPE:15,METADATA_STREAM_TYPE:21};Le.prototype=new H;function Ne(e,t,i){var n,r=\"\";for(n=t;n<i;n++)r+=\"%\"+(\"00\"+e[n].toString(16)).slice(-2);return r}function Re(e,t,i){return decodeURIComponent(Ne(e,t,i))}function Ue(e){return e[0]<<21|e[1]<<14|e[2]<<7|e[3]}var Me,Be=Le,je={TXXX:function(e){var t;if(3===e.data[0]){for(t=1;t<e.data.length;t++)if(0===e.data[t]){e.description=Re(e.data,1,t),e.value=Re(e.data,t+1,e.data.length).replace(/\\0*$/,\"\");break}e.data=e.value}},WXXX:function(e){var t;if(3===e.data[0])for(t=1;t<e.data.length;t++)if(0===e.data[t]){e.description=Re(e.data,1,t),e.url=Re(e.data,t+1,e.data.length);break}},PRIV:function(e){var t,i;for(t=0;t<e.data.length;t++)if(0===e.data[t]){e.owner=(i=e.data,unescape(Ne(i,0,t)));break}e.privateData=e.data.subarray(t+1),e.data=e.privateData}};(Me=function(e){var t,u={debug:!(!e||!e.debug),descriptor:e&&e.descriptor},l=0,c=[],h=0;if(Me.prototype.init.call(this),this.dispatchType=De.METADATA_STREAM_TYPE.toString(16),u.descriptor)for(t=0;t<u.descriptor.length;t++)this.dispatchType+=(\"00\"+u.descriptor[t].toString(16)).slice(-2);this.push=function(e){var t,i,n,r,s;if(\"timed-metadata\"===e.type)if(e.dataAlignmentIndicator&&(h=0,c.length=0),0===c.length&&(e.data.length<10||e.data[0]!==\"I\".charCodeAt(0)||e.data[1]!==\"D\".charCodeAt(0)||e.data[2]!==\"3\".charCodeAt(0)))u.debug;else if(c.push(e),h+=e.data.byteLength,1===c.length&&(l=Ue(e.data.subarray(6,10)),l+=10),!(h<l)){for(t={data:new Uint8Array(l),frames:[],pts:c[0].pts,dts:c[0].dts},s=0;s<l;)t.data.set(c[0].data.subarray(0,l-s),s),s+=c[0].data.byteLength,h-=c[0].data.byteLength,c.shift();i=10,64&t.data[5]&&(i+=4,i+=Ue(t.data.subarray(10,14)),l-=Ue(t.data.subarray(16,20)));do{if((n=Ue(t.data.subarray(i+4,i+8)))<1)return;if((r={id:String.fromCharCode(t.data[i],t.data[i+1],t.data[i+2],t.data[i+3]),data:t.data.subarray(i+10,i+n+10)}).key=r.id,je[r.id]&&(je[r.id](r),\"com.apple.streaming.transportStreamTimestamp\"===r.owner)){var a=r.data,o=(1&a[3])<<30|a[4]<<22|a[5]<<14|a[6]<<6|a[7]>>>2;o*=4,o+=3&a[7],r.timeStamp=o,void 0===t.pts&&void 0===t.dts&&(t.pts=r.timeStamp,t.dts=r.timeStamp),this.trigger(\"timestamp\",r)}t.frames.push(r),i+=10,i+=n}while(i<l);this.trigger(\"data\",t)}}}).prototype=new H;var Fe,He,Ve,qe=Me,We=Be;(Fe=function(){var r=new Uint8Array(188),s=0;Fe.prototype.init.call(this),this.push=function(e){var t,i=0,n=188;for(s?((t=new Uint8Array(e.byteLength+s)).set(r.subarray(0,s)),t.set(e,s),s=0):t=e;n<t.byteLength;)71!==t[i]||71!==t[n]?(i++,n++):(this.trigger(\"data\",t.subarray(i,n)),i+=188,n+=188);i<t.byteLength&&(r.set(t.subarray(i),0),s=t.byteLength-i)},this.flush=function(){188===s&&71===r[0]&&(this.trigger(\"data\",r),s=0),this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")},this.reset=function(){s=0,this.trigger(\"reset\")}}).prototype=new H,(He=function(){var n,r,s,a;He.prototype.init.call(this),(a=this).packetsWaitingForPmt=[],this.programMapTable=void 0,n=function(e,t){var i=0;t.payloadUnitStartIndicator&&(i+=e[i]+1),\"pat\"===t.type?r(e.subarray(i),t):s(e.subarray(i),t)},r=function(e,t){t.section_number=e[7],t.last_section_number=e[8],a.pmtPid=(31&e[10])<<8|e[11],t.pmtPid=a.pmtPid},s=function(e,t){var i,n;if(1&e[5]){for(a.programMapTable={video:null,audio:null,\"timed-metadata\":{}},i=3+((15&e[1])<<8|e[2])-4,n=12+((15&e[10])<<8|e[11]);n<i;){var r=e[n],s=(31&e[n+1])<<8|e[n+2];r===De.H264_STREAM_TYPE&&null===a.programMapTable.video?a.programMapTable.video=s:r===De.ADTS_STREAM_TYPE&&null===a.programMapTable.audio?a.programMapTable.audio=s:r===De.METADATA_STREAM_TYPE&&(a.programMapTable[\"timed-metadata\"][s]=r),n+=5+((15&e[n+3])<<8|e[n+4])}t.programMapTable=a.programMapTable}},this.push=function(e){var t={},i=4;if(t.payloadUnitStartIndicator=!!(64&e[1]),t.pid=31&e[1],t.pid<<=8,t.pid|=e[2],1<(48&e[3])>>>4&&(i+=e[i]+1),0===t.pid)t.type=\"pat\",n(e.subarray(i),t),this.trigger(\"data\",t);else if(t.pid===this.pmtPid)for(t.type=\"pmt\",n(e.subarray(i),t),this.trigger(\"data\",t);this.packetsWaitingForPmt.length;)this.processPes_.apply(this,this.packetsWaitingForPmt.shift());else void 0===this.programMapTable?this.packetsWaitingForPmt.push([e,i,t]):this.processPes_(e,i,t)},this.processPes_=function(e,t,i){i.pid===this.programMapTable.video?i.streamType=De.H264_STREAM_TYPE:i.pid===this.programMapTable.audio?i.streamType=De.ADTS_STREAM_TYPE:i.streamType=this.programMapTable[\"timed-metadata\"][i.pid],i.type=\"pes\",i.data=e.subarray(t),this.trigger(\"data\",i)}}).prototype=new H,He.STREAM_TYPES={h264:27,adts:15},(Ve=function(){function n(e,t,i){var n,r,s=new Uint8Array(e.size),a={type:t},o=0,u=0;if(e.data.length&&!(e.size<9)){for(a.trackId=e.data[0].pid,o=0;o<e.data.length;o++)r=e.data[o],s.set(r.data,u),u+=r.data.byteLength;!function(e,t){var i;t.packetLength=6+(e[4]<<8|e[5]),t.dataAlignmentIndicator=0!=(4&e[6]),192&(i=e[7])&&(t.pts=(14&e[9])<<27|(255&e[10])<<20|(254&e[11])<<12|(255&e[12])<<5|(254&e[13])>>>3,t.pts*=4,t.pts+=(6&e[13])>>>1,t.dts=t.pts,64&i&&(t.dts=(14&e[14])<<27|(255&e[15])<<20|(254&e[16])<<12|(255&e[17])<<5|(254&e[18])>>>3,t.dts*=4,t.dts+=(6&e[18])>>>1)),t.data=e.subarray(9+e[8])}(s,a),n=\"video\"===t||a.packetLength<=e.size,(i||n)&&(e.size=0,e.data.length=0),n&&l.trigger(\"data\",a)}}var t,l=this,r={data:[],size:0},s={data:[],size:0},a={data:[],size:0};Ve.prototype.init.call(this),this.push=function(i){({pat:function(){},pes:function(){var e,t;switch(i.streamType){case De.H264_STREAM_TYPE:case De.H264_STREAM_TYPE:e=r,t=\"video\";break;case De.ADTS_STREAM_TYPE:e=s,t=\"audio\";break;case De.METADATA_STREAM_TYPE:e=a,t=\"timed-metadata\";break;default:return}i.payloadUnitStartIndicator&&n(e,t,!0),e.data.push(i),e.size+=i.data.byteLength},pmt:function(){var e={type:\"metadata\",tracks:[]};null!==(t=i.programMapTable).video&&e.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+t.video,codec:\"avc\",type:\"video\"}),null!==t.audio&&e.tracks.push({timelineStartInfo:{baseMediaDecodeTime:0},id:+t.audio,codec:\"adts\",type:\"audio\"}),l.trigger(\"data\",e)}})[i.type]()},this.reset=function(){r.size=0,r.data.length=0,s.size=0,s.data.length=0,this.trigger(\"reset\")},this.flushStreams_=function(){n(r,\"video\"),n(s,\"audio\"),n(a,\"timed-metadata\")},this.flush=function(){this.flushStreams_(),this.trigger(\"done\")}}).prototype=new H;var ze={PAT_PID:0,MP2T_PACKET_LENGTH:188,TransportPacketStream:Fe,TransportParseStream:He,ElementaryStream:Ve,TimestampRolloverStream:We,CaptionStream:Oe.CaptionStream,Cea608Stream:Oe.Cea608Stream,MetadataStream:qe};for(var Ge in De)De.hasOwnProperty(Ge)&&(ze[Ge]=De[Ge]);var Xe,Ke=ze,Ye=le,$e=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];(Xe=function(u){var l,c=0;Xe.prototype.init.call(this),this.push=function(e){var t,i,n,r,s,a,o=0;if(u||(c=0),\"audio\"===e.type)for(l?(r=l,(l=new Uint8Array(r.byteLength+e.data.byteLength)).set(r),l.set(e.data,r.byteLength)):l=e.data;o+5<l.length;)if(255===l[o]&&240==(246&l[o+1])){if(i=2*(1&~l[o+1]),t=(3&l[o+3])<<11|l[o+4]<<3|(224&l[o+5])>>5,a=(s=1024*(1+(3&l[o+6])))*Ye/$e[(60&l[o+2])>>>2],n=o+t,l.byteLength<n)return;if(this.trigger(\"data\",{pts:e.pts+c*a,dts:e.dts+c*a,sampleCount:s,audioobjecttype:1+(l[o+2]>>>6&3),channelcount:(1&l[o+2])<<2|(192&l[o+3])>>>6,samplerate:$e[(60&l[o+2])>>>2],samplingfrequencyindex:(60&l[o+2])>>>2,samplesize:16,data:l.subarray(o+7+i,n)}),c++,l.byteLength===n)return void(l=void 0);l=l.subarray(n)}else o++},this.flush=function(){c=0,this.trigger(\"done\")},this.reset=function(){l=void 0,this.trigger(\"reset\")},this.endTimeline=function(){l=void 0,this.trigger(\"endedtimeline\")}}).prototype=new H;var Qe,Je,Ze,et=Xe,tt=function(n){var r=n.byteLength,s=0,a=0;this.length=function(){return 8*r},this.bitsAvailable=function(){return 8*r+a},this.loadWord=function(){var e=n.byteLength-r,t=new Uint8Array(4),i=Math.min(4,r);if(0===i)throw new Error(\"no bytes available\");t.set(n.subarray(e,e+i)),s=new DataView(t.buffer).getUint32(0),a=8*i,r-=i},this.skipBits=function(e){var t;e<a||(e-=a,e-=8*(t=Math.floor(e/8)),r-=t,this.loadWord()),s<<=e,a-=e},this.readBits=function(e){var t=Math.min(a,e),i=s>>>32-t;return 0<(a-=t)?s<<=t:0<r&&this.loadWord(),0<(t=e-t)?i<<t|this.readBits(t):i},this.skipLeadingZeros=function(){var e;for(e=0;e<a;++e)if(0!=(s&2147483648>>>e))return s<<=e,a-=e,e;return this.loadWord(),e+this.skipLeadingZeros()},this.skipUnsignedExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.skipExpGolomb=function(){this.skipBits(1+this.skipLeadingZeros())},this.readUnsignedExpGolomb=function(){var e=this.skipLeadingZeros();return this.readBits(e+1)-1},this.readExpGolomb=function(){var e=this.readUnsignedExpGolomb();return 1&e?1+e>>>1:-1*(e>>>1)},this.readBoolean=function(){return 1===this.readBits(1)},this.readUnsignedByte=function(){return this.readBits(8)},this.loadWord()};(Je=function(){var n,r,s=0;Je.prototype.init.call(this),this.push=function(e){for(var t,i=(r=r?((t=new Uint8Array(r.byteLength+e.data.byteLength)).set(r),t.set(e.data,r.byteLength),t):e.data).byteLength;s<i-3;s++)if(1===r[s+2]){n=s+5;break}for(;n<i;)switch(r[n]){case 0:if(0!==r[n-1]){n+=2;break}if(0!==r[n-2]){n++;break}for(s+3!==n-2&&this.trigger(\"data\",r.subarray(s+3,n-2));1!==r[++n]&&n<i;);s=n-2,n+=3;break;case 1:if(0!==r[n-1]||0!==r[n-2]){n+=3;break}this.trigger(\"data\",r.subarray(s+3,n-2)),s=n-2,n+=3;break;default:n+=3}r=r.subarray(s),n-=s,s=0},this.reset=function(){r=null,s=0,this.trigger(\"reset\")},this.flush=function(){r&&3<r.byteLength&&this.trigger(\"data\",r.subarray(s+3)),r=null,s=0,this.trigger(\"done\")},this.endTimeline=function(){this.flush(),this.trigger(\"endedtimeline\")}}).prototype=new H,Ze={100:!0,110:!0,122:!0,244:!0,44:!0,83:!0,86:!0,118:!0,128:!0,138:!0,139:!0,134:!0},(Qe=function(){var i,n,r,s,a,o,_,t=new Je;Qe.prototype.init.call(this),(i=this).push=function(e){\"video\"===e.type&&(n=e.trackId,r=e.pts,s=e.dts,t.push(e))},t.on(\"data\",function(e){var t={trackId:n,pts:r,dts:s,data:e};switch(31&e[0]){case 5:t.nalUnitType=\"slice_layer_without_partitioning_rbsp_idr\";break;case 6:t.nalUnitType=\"sei_rbsp\",t.escapedRBSP=a(e.subarray(1));break;case 7:t.nalUnitType=\"seq_parameter_set_rbsp\",t.escapedRBSP=a(e.subarray(1)),t.config=o(t.escapedRBSP);break;case 8:t.nalUnitType=\"pic_parameter_set_rbsp\";break;case 9:t.nalUnitType=\"access_unit_delimiter_rbsp\"}i.trigger(\"data\",t)}),t.on(\"done\",function(){i.trigger(\"done\")}),t.on(\"partialdone\",function(){i.trigger(\"partialdone\")}),t.on(\"reset\",function(){i.trigger(\"reset\")}),t.on(\"endedtimeline\",function(){i.trigger(\"endedtimeline\")}),this.flush=function(){t.flush()},this.partialFlush=function(){t.partialFlush()},this.reset=function(){t.reset()},this.endTimeline=function(){t.endTimeline()},_=function(e,t){var i,n=8,r=8;for(i=0;i<e;i++)0!==r&&(r=(n+t.readExpGolomb()+256)%256),n=0===r?n:r},a=function(e){for(var t,i,n=e.byteLength,r=[],s=1;s<n-2;)0===e[s]&&0===e[s+1]&&3===e[s+2]?(r.push(s+2),s+=2):s++;if(0===r.length)return e;t=n-r.length,i=new Uint8Array(t);var a=0;for(s=0;s<t;a++,s++)a===r[0]&&(a++,r.shift()),i[s]=e[a];return i},o=function(e){var t,i,n,r,s,a,o,u,l,c,h,d,p,f=0,m=0,g=0,v=0,y=1;if(i=(t=new tt(e)).readUnsignedByte(),r=t.readUnsignedByte(),n=t.readUnsignedByte(),t.skipUnsignedExpGolomb(),Ze[i]&&(3===(s=t.readUnsignedExpGolomb())&&t.skipBits(1),t.skipUnsignedExpGolomb(),t.skipUnsignedExpGolomb(),t.skipBits(1),t.readBoolean()))for(h=3!==s?8:12,p=0;p<h;p++)t.readBoolean()&&_(p<6?16:64,t);if(t.skipUnsignedExpGolomb(),0===(a=t.readUnsignedExpGolomb()))t.readUnsignedExpGolomb();else if(1===a)for(t.skipBits(1),t.skipExpGolomb(),t.skipExpGolomb(),o=t.readUnsignedExpGolomb(),p=0;p<o;p++)t.skipExpGolomb();if(t.skipUnsignedExpGolomb(),t.skipBits(1),u=t.readUnsignedExpGolomb(),l=t.readUnsignedExpGolomb(),0===(c=t.readBits(1))&&t.skipBits(1),t.skipBits(1),t.readBoolean()&&(f=t.readUnsignedExpGolomb(),m=t.readUnsignedExpGolomb(),g=t.readUnsignedExpGolomb(),v=t.readUnsignedExpGolomb()),t.readBoolean()&&t.readBoolean()){switch(t.readUnsignedByte()){case 1:d=[1,1];break;case 2:d=[12,11];break;case 3:d=[10,11];break;case 4:d=[16,11];break;case 5:d=[40,33];break;case 6:d=[24,11];break;case 7:d=[20,11];break;case 8:d=[32,11];break;case 9:d=[80,33];break;case 10:d=[18,11];break;case 11:d=[15,11];break;case 12:d=[64,33];break;case 13:d=[160,99];break;case 14:d=[4,3];break;case 15:d=[3,2];break;case 16:d=[2,1];break;case 255:d=[t.readUnsignedByte()<<8|t.readUnsignedByte(),t.readUnsignedByte()<<8|t.readUnsignedByte()]}d&&(y=d[0]/d[1])}return{profileIdc:i,levelIdc:n,profileCompatibility:r,width:Math.ceil((16*(u+1)-2*f-2*m)*y),height:(2-c)*(l+1)*16-2*g-2*v,sarRatio:d}}}).prototype=new H;var it,nt={H264Stream:Qe,NalByteStream:Je},rt=function(e){return e[0]===\"I\".charCodeAt(0)&&e[1]===\"D\".charCodeAt(0)&&e[2]===\"3\".charCodeAt(0)},st=function(e,t){var i=e[t+6]<<21|e[t+7]<<14|e[t+8]<<7|e[t+9];return(16&e[t+5])>>4?20+i:10+i},at=function(e,t){var i=(224&e[t+5])>>5,n=e[t+4]<<3;return 6144&e[t+3]|n|i};(it=function(){var o=new Uint8Array,u=0;it.prototype.init.call(this),this.setTimestamp=function(e){u=e},this.push=function(e){var t,i,n,r,s=0,a=0;for(o.length?(r=o.length,(o=new Uint8Array(e.byteLength+r)).set(o.subarray(0,r)),o.set(e,r)):o=e;3<=o.length-a;)if(o[a]!==\"I\".charCodeAt(0)||o[a+1]!==\"D\".charCodeAt(0)||o[a+2]!==\"3\".charCodeAt(0))if(255!=(255&o[a])||240!=(240&o[a+1]))a++;else{if(o.length-a<7)break;if(a+(s=at(o,a))>o.length)break;n={type:\"audio\",data:o.subarray(a,a+s),pts:u,dts:u},this.trigger(\"data\",n),a+=s}else{if(o.length-a<10)break;if(a+(s=st(o,a))>o.length)break;i={type:\"timed-metadata\",data:o.subarray(a,a+s)},this.trigger(\"data\",i),a+=s}t=o.length-a,o=0<t?o.subarray(a):new Uint8Array},this.reset=function(){o=new Uint8Array,this.trigger(\"reset\")},this.endTimeline=function(){o=new Uint8Array,this.trigger(\"endedtimeline\")}}).prototype=new H;function ot(e,t){var i;if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}function ut(e,t,i,n,r,s){return{start:{dts:e,pts:e+(i-t)},end:{dts:e+(n-t),pts:e+(r-i)},prependedContentDuration:s,baseMediaDecodeTime:e}}var lt,ct,ht,dt,pt=it,ft=nt.H264Stream,mt=rt,gt=le,vt=[\"audioobjecttype\",\"channelcount\",\"samplerate\",\"samplingfrequencyindex\",\"samplesize\"],yt=[\"width\",\"height\",\"profileIdc\",\"levelIdc\",\"profileCompatibility\",\"sarRatio\"];(ct=function(s,a){var o=[],u=0,l=0,c=0,h=1/0;a=a||{},ct.prototype.init.call(this),this.push=function(t){be(s,t),s&&vt.forEach(function(e){s[e]=t[e]}),o.push(t)},this.setEarliestDts=function(e){l=e-s.timelineStartInfo.baseMediaDecodeTime},this.setVideoBaseMediaDecodeTime=function(e){h=e},this.setAudioAppendStart=function(e){c=e},this.flush=function(){var e,t,i,n,r;0!==o.length&&(e=fe(o,s,l),s.baseMediaDecodeTime=_e(s,a.keepOriginalTimestamps),pe(s,e,c,h),s.samples=me(e),i=Q(ge(e)),o=[],t=J(u,[s]),n=new Uint8Array(t.byteLength+i.byteLength),u++,n.set(t),n.set(i,t.byteLength),ye(s),r=Math.ceil(1024*gt/s.samplerate),e.length&&this.trigger(\"timingInfo\",{start:e[0].pts,end:e[0].pts+e.length*r}),this.trigger(\"data\",{track:s,boxes:n})),this.trigger(\"done\",\"AudioSegmentStream\")},this.reset=function(){ye(s),o=[],this.trigger(\"reset\")}}).prototype=new H,(lt=function(c,h){var t,i,d=0,p=[],f=[];h=h||{},lt.prototype.init.call(this),delete c.minPTS,this.gopCache_=[],this.push=function(e){be(c,e),\"seq_parameter_set_rbsp\"!==e.nalUnitType||t||(t=e.config,c.sps=[e.data],yt.forEach(function(e){c[e]=t[e]},this)),\"pic_parameter_set_rbsp\"!==e.nalUnitType||i||(i=e.data,c.pps=[e.data]),p.push(e)},this.flush=function(){for(var e,t,i,n,r,s,a,o,u=0;p.length&&\"access_unit_delimiter_rbsp\"!==p[0].nalUnitType;)p.shift();if(0===p.length)return this.resetStream_(),void this.trigger(\"done\",\"VideoSegmentStream\");if(e=ee(p),(i=te(e))[0][0].keyFrame||((t=this.getGopForFusion_(p[0],c))?(u=t.duration,i.unshift(t),i.byteLength+=t.byteLength,i.nalCount+=t.nalCount,i.pts=t.pts,i.dts=t.dts,i.duration+=t.duration):i=ie(i)),f.length){var l;if(!(l=h.alignGopsAtEnd?this.alignGopsAtEnd_(i):this.alignGopsAtStart_(i)))return this.gopCache_.unshift({gop:i.pop(),pps:c.pps,sps:c.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),p=[],this.resetStream_(),void this.trigger(\"done\",\"VideoSegmentStream\");ye(c),i=l}be(c,i),c.samples=ne(i),r=Q(re(i)),c.baseMediaDecodeTime=_e(c,h.keepOriginalTimestamps),this.trigger(\"processedGopsInfo\",i.map(function(e){return{pts:e.pts,dts:e.dts,byteLength:e.byteLength}})),a=i[0],o=i[i.length-1],this.trigger(\"segmentTimingInfo\",ut(c.baseMediaDecodeTime,a.dts,a.pts,o.dts+o.duration,o.pts+o.duration,u)),this.trigger(\"timingInfo\",{start:i[0].pts,end:i[i.length-1].pts+i[i.length-1].duration}),this.gopCache_.unshift({gop:i.pop(),pps:c.pps,sps:c.sps}),this.gopCache_.length=Math.min(6,this.gopCache_.length),p=[],this.trigger(\"baseMediaDecodeTime\",c.baseMediaDecodeTime),this.trigger(\"timelineStartInfo\",c.timelineStartInfo),n=J(d,[c]),s=new Uint8Array(n.byteLength+r.byteLength),d++,s.set(n),s.set(r,n.byteLength),this.trigger(\"data\",{track:c,boxes:s}),this.resetStream_(),this.trigger(\"done\",\"VideoSegmentStream\")},this.reset=function(){this.resetStream_(),p=[],this.gopCache_.length=0,f.length=0,this.trigger(\"reset\")},this.resetStream_=function(){ye(c),i=t=void 0},this.getGopForFusion_=function(e){var t,i,n,r,s,a=1/0;for(s=0;s<this.gopCache_.length;s++)n=(r=this.gopCache_[s]).gop,c.pps&&ot(c.pps[0],r.pps[0])&&c.sps&&ot(c.sps[0],r.sps[0])&&(n.dts<c.timelineStartInfo.dts||-1e4<=(t=e.dts-n.dts-n.duration)&&t<=45e3&&(!i||t<a)&&(i=r,a=t));return i?i.gop:null},this.alignGopsAtStart_=function(e){var t,i,n,r,s,a,o,u;for(s=e.byteLength,a=e.nalCount,o=e.duration,t=i=0;t<f.length&&i<e.length&&(n=f[t],r=e[i],n.pts!==r.pts);)r.pts>n.pts?t++:(i++,s-=r.byteLength,a-=r.nalCount,o-=r.duration);return 0===i?e:i===e.length?null:((u=e.slice(i)).byteLength=s,u.duration=o,u.nalCount=a,u.pts=u[0].pts,u.dts=u[0].dts,u)},this.alignGopsAtEnd_=function(e){var t,i,n,r,s,a,o;for(t=f.length-1,i=e.length-1,s=null,a=!1;0<=t&&0<=i;){if(n=f[t],r=e[i],n.pts===r.pts){a=!0;break}n.pts>r.pts?t--:(t===f.length-1&&(s=i),i--)}if(!a&&null===s)return null;if(0===(o=a?i:s))return e;var u=e.slice(o),l=u.reduce(function(e,t){return e.byteLength+=t.byteLength,e.duration+=t.duration,e.nalCount+=t.nalCount,e},{byteLength:0,duration:0,nalCount:0});return u.byteLength=l.byteLength,u.duration=l.duration,u.nalCount=l.nalCount,u.pts=u[0].pts,u.dts=u[0].dts,u},this.alignGopsWith=function(e){f=e}}).prototype=new H,(dt=function(e,t){this.numberOfTracks=0,this.metadataStream=t,\"undefined\"!=typeof(e=e||{}).remux?this.remuxTracks=!!e.remux:this.remuxTracks=!0,\"boolean\"==typeof e.keepOriginalTimestamps?this.keepOriginalTimestamps=e.keepOriginalTimestamps:this.keepOriginalTimestamps=!1,this.pendingTracks=[],this.videoTrack=null,this.pendingBoxes=[],this.pendingCaptions=[],this.pendingMetadata=[],this.pendingBytes=0,this.emittedTracks=0,dt.prototype.init.call(this),this.push=function(e){return e.text?this.pendingCaptions.push(e):e.frames?this.pendingMetadata.push(e):(this.pendingTracks.push(e.track),this.pendingBytes+=e.boxes.byteLength,\"video\"===e.track.type&&(this.videoTrack=e.track,this.pendingBoxes.push(e.boxes)),void(\"audio\"===e.track.type&&(this.audioTrack=e.track,this.pendingBoxes.unshift(e.boxes))))}}).prototype=new H,dt.prototype.flush=function(e){var t,i,n,r,s=0,a={captions:[],captionStreams:{},metadata:[],info:{}},o=0;if(this.pendingTracks.length<this.numberOfTracks){if(\"VideoSegmentStream\"!==e&&\"AudioSegmentStream\"!==e)return;if(this.remuxTracks)return;if(0===this.pendingTracks.length)return this.emittedTracks++,void(this.emittedTracks>=this.numberOfTracks&&(this.trigger(\"done\"),this.emittedTracks=0))}if(this.videoTrack?(o=this.videoTrack.timelineStartInfo.pts,yt.forEach(function(e){a.info[e]=this.videoTrack[e]},this)):this.audioTrack&&(o=this.audioTrack.timelineStartInfo.pts,vt.forEach(function(e){a.info[e]=this.audioTrack[e]},this)),this.videoTrack||this.audioTrack){for(1===this.pendingTracks.length?a.type=this.pendingTracks[0].type:a.type=\"combined\",this.emittedTracks+=this.pendingTracks.length,n=Z(this.pendingTracks),a.initSegment=new Uint8Array(n.byteLength),a.initSegment.set(n),a.data=new Uint8Array(this.pendingBytes),r=0;r<this.pendingBoxes.length;r++)a.data.set(this.pendingBoxes[r],s),s+=this.pendingBoxes[r].byteLength;for(r=0;r<this.pendingCaptions.length;r++)(t=this.pendingCaptions[r]).startTime=de(t.startPts,o,this.keepOriginalTimestamps),t.endTime=de(t.endPts,o,this.keepOriginalTimestamps),a.captionStreams[t.stream]=!0,a.captions.push(t);for(r=0;r<this.pendingMetadata.length;r++)(i=this.pendingMetadata[r]).cueTime=de(i.pts,o,this.keepOriginalTimestamps),a.metadata.push(i);for(a.metadata.dispatchType=this.metadataStream.dispatchType,this.pendingTracks.length=0,this.videoTrack=null,this.pendingBoxes.length=0,this.pendingCaptions.length=0,this.pendingBytes=0,this.pendingMetadata.length=0,this.trigger(\"data\",a),r=0;r<a.captions.length;r++)t=a.captions[r],this.trigger(\"caption\",t);for(r=0;r<a.metadata.length;r++)i=a.metadata[r],this.trigger(\"id3Frame\",i)}this.emittedTracks>=this.numberOfTracks&&(this.trigger(\"done\"),this.emittedTracks=0)},dt.prototype.setRemux=function(e){this.remuxTracks=e},(ht=function(n){var r,s,a=this,i=!0;ht.prototype.init.call(this),n=n||{},this.baseMediaDecodeTime=n.baseMediaDecodeTime||0,this.transmuxPipeline_={},this.setupAacPipeline=function(){var t={};(this.transmuxPipeline_=t).type=\"aac\",t.metadataStream=new Ke.MetadataStream,t.aacStream=new pt,t.audioTimestampRolloverStream=new Ke.TimestampRolloverStream(\"audio\"),t.timedMetadataTimestampRolloverStream=new Ke.TimestampRolloverStream(\"timed-metadata\"),t.adtsStream=new et,t.coalesceStream=new dt(n,t.metadataStream),t.headOfPipeline=t.aacStream,t.aacStream.pipe(t.audioTimestampRolloverStream).pipe(t.adtsStream),t.aacStream.pipe(t.timedMetadataTimestampRolloverStream).pipe(t.metadataStream).pipe(t.coalesceStream),t.metadataStream.on(\"timestamp\",function(e){t.aacStream.setTimestamp(e.timeStamp)}),t.aacStream.on(\"data\",function(e){\"timed-metadata\"!==e.type||t.audioSegmentStream||(s=s||{timelineStartInfo:{baseMediaDecodeTime:a.baseMediaDecodeTime},codec:\"adts\",type:\"audio\"},t.coalesceStream.numberOfTracks++,t.audioSegmentStream=new ct(s,n),t.audioSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"audioTimingInfo\")),t.adtsStream.pipe(t.audioSegmentStream).pipe(t.coalesceStream)),a.trigger(\"trackinfo\",{hasAudio:!!s,hasVideo:!!r})}),t.coalesceStream.on(\"data\",this.trigger.bind(this,\"data\")),t.coalesceStream.on(\"done\",this.trigger.bind(this,\"done\"))},this.setupTsPipeline=function(){var i={};(this.transmuxPipeline_=i).type=\"ts\",i.metadataStream=new Ke.MetadataStream,i.packetStream=new Ke.TransportPacketStream,i.parseStream=new Ke.TransportParseStream,i.elementaryStream=new Ke.ElementaryStream,i.timestampRolloverStream=new Ke.TimestampRolloverStream,i.adtsStream=new et,i.h264Stream=new ft,i.captionStream=new Ke.CaptionStream,i.coalesceStream=new dt(n,i.metadataStream),i.headOfPipeline=i.packetStream,i.packetStream.pipe(i.parseStream).pipe(i.elementaryStream).pipe(i.timestampRolloverStream),i.timestampRolloverStream.pipe(i.h264Stream),i.timestampRolloverStream.pipe(i.adtsStream),i.timestampRolloverStream.pipe(i.metadataStream).pipe(i.coalesceStream),i.h264Stream.pipe(i.captionStream).pipe(i.coalesceStream),i.elementaryStream.on(\"data\",function(e){var t;if(\"metadata\"===e.type){for(t=e.tracks.length;t--;)r||\"video\"!==e.tracks[t].type?s||\"audio\"!==e.tracks[t].type||((s=e.tracks[t]).timelineStartInfo.baseMediaDecodeTime=a.baseMediaDecodeTime):(r=e.tracks[t]).timelineStartInfo.baseMediaDecodeTime=a.baseMediaDecodeTime;r&&!i.videoSegmentStream&&(i.coalesceStream.numberOfTracks++,i.videoSegmentStream=new lt(r,n),i.videoSegmentStream.on(\"timelineStartInfo\",function(e){s&&(s.timelineStartInfo=e,i.audioSegmentStream.setEarliestDts(e.dts))}),i.videoSegmentStream.on(\"processedGopsInfo\",a.trigger.bind(a,\"gopInfo\")),i.videoSegmentStream.on(\"segmentTimingInfo\",a.trigger.bind(a,\"videoSegmentTimingInfo\")),i.videoSegmentStream.on(\"baseMediaDecodeTime\",function(e){s&&i.audioSegmentStream.setVideoBaseMediaDecodeTime(e)}),i.videoSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"videoTimingInfo\")),i.h264Stream.pipe(i.videoSegmentStream).pipe(i.coalesceStream)),s&&!i.audioSegmentStream&&(i.coalesceStream.numberOfTracks++,i.audioSegmentStream=new ct(s,n),i.audioSegmentStream.on(\"timingInfo\",a.trigger.bind(a,\"audioTimingInfo\")),i.adtsStream.pipe(i.audioSegmentStream).pipe(i.coalesceStream)),a.trigger(\"trackinfo\",{hasAudio:!!s,hasVideo:!!r})}}),i.coalesceStream.on(\"data\",this.trigger.bind(this,\"data\")),i.coalesceStream.on(\"id3Frame\",function(e){e.dispatchType=i.metadataStream.dispatchType,a.trigger(\"id3Frame\",e)}),i.coalesceStream.on(\"caption\",this.trigger.bind(this,\"caption\")),i.coalesceStream.on(\"done\",this.trigger.bind(this,\"done\"))},this.setBaseMediaDecodeTime=function(e){var t=this.transmuxPipeline_;n.keepOriginalTimestamps||(this.baseMediaDecodeTime=e),s&&(s.timelineStartInfo.dts=void 0,s.timelineStartInfo.pts=void 0,ye(s),n.keepOriginalTimestamps||(s.timelineStartInfo.baseMediaDecodeTime=e),t.audioTimestampRolloverStream&&t.audioTimestampRolloverStream.discontinuity()),r&&(t.videoSegmentStream&&(t.videoSegmentStream.gopCache_=[]),r.timelineStartInfo.dts=void 0,r.timelineStartInfo.pts=void 0,ye(r),t.captionStream.reset(),n.keepOriginalTimestamps||(r.timelineStartInfo.baseMediaDecodeTime=e)),t.timestampRolloverStream&&t.timestampRolloverStream.discontinuity()},this.setAudioAppendStart=function(e){s&&this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(e)},this.setRemux=function(e){var t=this.transmuxPipeline_;n.remux=e,t&&t.coalesceStream&&t.coalesceStream.setRemux(e)},this.alignGopsWith=function(e){r&&this.transmuxPipeline_.videoSegmentStream&&this.transmuxPipeline_.videoSegmentStream.alignGopsWith(e)},this.push=function(e){if(i){var t=mt(e);t&&\"aac\"!==this.transmuxPipeline_.type?this.setupAacPipeline():t||\"ts\"===this.transmuxPipeline_.type||this.setupTsPipeline(),i=!1}this.transmuxPipeline_.headOfPipeline.push(e)},this.flush=function(){i=!0,this.transmuxPipeline_.headOfPipeline.flush()},this.endTimeline=function(){this.transmuxPipeline_.headOfPipeline.endTimeline()},this.reset=function(){this.transmuxPipeline_.headOfPipeline&&this.transmuxPipeline_.headOfPipeline.reset()},this.resetCaptions=function(){this.transmuxPipeline_.captionStream&&this.transmuxPipeline_.captionStream.reset()}}).prototype=new H;var _t={Transmuxer:ht,VideoSegmentStream:lt,AudioSegmentStream:ct,AUDIO_PROPERTIES:vt,VIDEO_PROPERTIES:yt,generateVideoSegmentTimingInfo:ut};function bt(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Tt=(function(e,t,i){return t&&bt(e.prototype,t),i&&bt(e,i),e}(St,[{key:\"init\",value:function(){this.transmuxer&&this.transmuxer.dispose(),this.transmuxer=new _t.Transmuxer(this.options),function(n,e){e.on(\"data\",function(e){var t=e.initSegment;e.initSegment={data:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength};var i=e.data;e.data=i.buffer,n.postMessage({action:\"data\",segment:e,byteOffset:i.byteOffset,byteLength:i.byteLength},[e.data])}),e.captionStream&&e.captionStream.on(\"data\",function(e){n.postMessage({action:\"caption\",data:e})}),e.on(\"done\",function(e){n.postMessage({action:\"done\"})}),e.on(\"gopInfo\",function(e){n.postMessage({action:\"gopInfo\",gopInfo:e})}),e.on(\"videoSegmentTimingInfo\",function(e){n.postMessage({action:\"videoSegmentTimingInfo\",videoSegmentTimingInfo:e})})}(this.self,this.transmuxer)}},{key:\"push\",value:function(e){var t=new Uint8Array(e.data,e.byteOffset,e.byteLength);this.transmuxer.push(t)}},{key:\"reset\",value:function(){this.init()}},{key:\"setTimestampOffset\",value:function(e){var t=e.timestampOffset||0;this.transmuxer.setBaseMediaDecodeTime(Math.round(9e4*t))}},{key:\"setAudioAppendStart\",value:function(e){this.transmuxer.setAudioAppendStart(Math.ceil(9e4*e.appendStart))}},{key:\"flush\",value:function(e){this.transmuxer.flush()}},{key:\"resetCaptions\",value:function(){this.transmuxer.resetCaptions()}},{key:\"alignGopsWith\",value:function(e){this.transmuxer.alignGopsWith(e.gopsToAlignWith.slice())}}]),St);function St(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,St),this.options=t||{},this.self=e,this.init()}new function(t){t.onmessage=function(e){\"init\"===e.data.action&&e.data.options?this.messageHandlers=new Tt(t,e.data.options):(this.messageHandlers||(this.messageHandlers=new Tt(t)),e.data&&e.data.action&&\"init\"!==e.data.action&&this.messageHandlers[e.data.action]&&this.messageHandlers[e.data.action](e.data))}}(kt)}()}),Cc={videoCodec:\"avc1\",videoObjectTypeIndicator:\".4d400d\",audioProfile:\"2\"},wc=(ll(Ec,as.EventTarget),ol(Ec,[{key:\"data_\",value:function(e){var t=e.data.segment;t.data=new Uint8Array(t.data,e.data.byteOffset,e.data.byteLength),t.initSegment=new Uint8Array(t.initSegment.data,t.initSegment.byteOffset,t.initSegment.byteLength),function(e,t,i){var n=t.player_;if(i.captions&&i.captions.length)for(var r in e.inbandTextTracks_||(e.inbandTextTracks_={}),i.captionStreams)if(!e.inbandTextTracks_[r]){n.tech_.trigger({type:\"usage\",name:\"hls-608\"});var s=n.textTracks().getTrackById(r);e.inbandTextTracks_[r]=s||n.addRemoteTextTrack({kind:\"captions\",id:r,label:r},!1).track}i.metadata&&i.metadata.length&&!e.metadataTrack_&&(e.metadataTrack_=n.addRemoteTextTrack({kind:\"metadata\",label:\"Timed Metadata\"},!1).track,e.metadataTrack_.inBandMetadataTrackDispatchType=i.metadata.dispatchType)}(this,this.mediaSource_,t),this.pendingBuffers_.push(t)}},{key:\"done_\",value:function(e){\"closed\"!==this.mediaSource_.readyState?this.processPendingSegments_():this.pendingBuffers_.length=0}},{key:\"videoSegmentTimingInfo_\",value:function(e){var t={start:{decode:e.start.dts/9e4,presentation:e.start.pts/9e4},end:{decode:e.end.dts/9e4,presentation:e.end.pts/9e4},baseMediaDecodeTime:e.baseMediaDecodeTime/9e4};e.prependedContentDuration&&(t.prependedContentDuration=e.prependedContentDuration/9e4),this.trigger({type:\"videoSegmentTimingInfo\",videoSegmentTimingInfo:t})}},{key:\"createRealSourceBuffers_\",value:function(){var n=this,r=[\"audio\",\"video\"];r.forEach(function(t){if(n[t+\"Codec_\"]&&!n[t+\"Buffer_\"]){var i=null;if(n.mediaSource_[t+\"Buffer_\"])(i=n.mediaSource_[t+\"Buffer_\"]).updating=!1;else{var e=t+'/mp4;codecs=\"'+n[t+\"Codec_\"]+'\"';i=function(e,t){var i=e.addSourceBuffer(t),n=Object.create(null);function r(t){\"function\"==typeof i[t]?n[t]=function(){return i[t].apply(i,arguments)}:\"undefined\"==typeof n[t]&&Object.defineProperty(n,t,{get:function(){return i[t]},set:function(e){return i[t]=e}})}for(var s in n.updating=!1,n.realBuffer_=i)r(s);return n}(n.mediaSource_.nativeMediaSource_,e),n.mediaSource_[t+\"Buffer_\"]=i}n[t+\"Buffer_\"]=i,[\"update\",\"updatestart\",\"updateend\"].forEach(function(e){i.addEventListener(e,function(){if(\"audio\"!==t||!n.audioDisabled_)return\"updateend\"===e&&(n[t+\"Buffer_\"].updating=!1),r.every(function(e){return!(\"audio\"!==e||!n.audioDisabled_)||t===e||!n[e+\"Buffer_\"]||!n[e+\"Buffer_\"].updating})?n.trigger(e):void 0})})}})}},{key:\"appendBuffer\",value:function(e){if(this.bufferUpdating_=!0,this.audioBuffer_&&this.audioBuffer_.buffered.length){var t=this.audioBuffer_.buffered;this.transmuxer_.postMessage({action:\"setAudioAppendStart\",appendStart:t.end(t.length-1)})}this.videoBuffer_&&this.transmuxer_.postMessage({action:\"alignGopsWith\",gopsToAlignWith:function(e,t,i){if(\"undefined\"==typeof t||null===t||!e.length)return[];var n=Math.ceil(9e4*(t-i+3)),r=void 0;for(r=0;r<e.length&&!(e[r].pts>n);r++);return e.slice(r)}(this.gopBuffer_,this.mediaSource_.player_?this.mediaSource_.player_.currentTime():null,this.timeMapping_)}),this.transmuxer_.postMessage({action:\"push\",data:e.buffer,byteOffset:e.byteOffset,byteLength:e.byteLength},[e.buffer]),this.transmuxer_.postMessage({action:\"flush\"})}},{key:\"appendGopInfo_\",value:function(e){this.gopBuffer_=function(e,t,i){if(!t.length)return e;if(i)return t.slice();for(var n=t[0].pts,r=0;r<e.length&&!(e[r].pts>=n);r++);return e.slice(0,r).concat(t)}(this.gopBuffer_,e.data.gopInfo,this.safeAppend_)}},{key:\"remove\",value:function(e,t){if(this.videoBuffer_&&(this.videoBuffer_.updating=!0,this.videoBuffer_.remove(e,t),this.gopBuffer_=function(e,t,i,n){for(var r=Math.ceil(9e4*(t-n)),s=Math.ceil(9e4*(i-n)),a=e.slice(),o=e.length;o--&&!(e[o].pts<=s););if(-1===o)return a;for(var u=o+1;u--&&!(e[u].pts<=r););return u=Math.max(u,0),a.splice(u,o-u+1),a}(this.gopBuffer_,e,t,this.timeMapping_)),!this.audioDisabled_&&this.audioBuffer_&&(this.audioBuffer_.updating=!0,this.audioBuffer_.remove(e,t)),Yl(e,t,this.metadataTrack_),this.inbandTextTracks_)for(var i in this.inbandTextTracks_)Yl(e,t,this.inbandTextTracks_[i])}},{key:\"processPendingSegments_\",value:function(){var e={video:{segments:[],bytes:0},audio:{segments:[],bytes:0},captions:[],metadata:[]};if(!this.pendingBuffers_.length)return this.trigger(\"updateend\"),void(this.bufferUpdating_=!1);e=this.pendingBuffers_.reduce(function(e,t){var i=t.type,n=t.data,r=t.initSegment;return e[i].segments.push(n),e[i].bytes+=n.byteLength,e[i].initSegment=r,t.captions&&(e.captions=e.captions.concat(t.captions)),t.info&&(e[i].info=t.info),t.metadata&&(e.metadata=e.metadata.concat(t.metadata)),e},e),this.videoBuffer_||this.audioBuffer_||(0===e.video.bytes&&(this.videoCodec_=null),0===e.audio.bytes&&(this.audioCodec_=null),this.createRealSourceBuffers_()),e.audio.info&&this.mediaSource_.trigger({type:\"audioinfo\",info:e.audio.info}),e.video.info&&this.mediaSource_.trigger({type:\"videoinfo\",info:e.video.info}),this.appendAudioInitSegment_&&(!this.audioDisabled_&&this.audioBuffer_&&(e.audio.segments.unshift(e.audio.initSegment),e.audio.bytes+=e.audio.initSegment.byteLength),this.appendAudioInitSegment_=!1);var t=!1;this.videoBuffer_&&e.video.bytes?(e.video.segments.unshift(e.video.initSegment),e.video.bytes+=e.video.initSegment.byteLength,this.concatAndAppendSegments_(e.video,this.videoBuffer_)):!this.videoBuffer_||!this.audioDisabled_&&this.audioBuffer_||(t=!0),Ql(this,e.captions,e.metadata),!this.audioDisabled_&&this.audioBuffer_&&this.concatAndAppendSegments_(e.audio,this.audioBuffer_),this.pendingBuffers_.length=0,t&&this.trigger(\"updateend\"),this.bufferUpdating_=!1}},{key:\"concatAndAppendSegments_\",value:function(e,t){var i=0,n=void 0;if(e.bytes){n=new Uint8Array(e.bytes),e.segments.forEach(function(e){n.set(e,i),i+=e.byteLength});try{t.updating=!0,t.appendBuffer(n)}catch(e){this.mediaSource_.player_&&this.mediaSource_.player_.error({code:-3,type:\"APPEND_BUFFER_ERR\",message:e.message,originalError:e})}}}},{key:\"abort\",value:function(){this.videoBuffer_&&this.videoBuffer_.abort(),!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.abort(),this.transmuxer_&&this.transmuxer_.postMessage({action:\"reset\"}),this.pendingBuffers_.length=0,this.bufferUpdating_=!1}},{key:\"dispose\",value:function(){this.transmuxer_&&this.transmuxer_.terminate(),this.trigger(\"dispose\"),this.off()}}]),Ec);function Ec(e,t){al(this,Ec);var i=cl(this,(Ec.__proto__||Object.getPrototypeOf(Ec)).call(this,as.EventTarget));i.timestampOffset_=0,i.pendingBuffers_=[],i.bufferUpdating_=!1,i.mediaSource_=e,i.codecs_=t,i.audioCodec_=null,i.videoCodec_=null,i.audioDisabled_=!1,i.appendAudioInitSegment_=!0,i.gopBuffer_=[],i.timeMapping_=0,i.safeAppend_=11<=as.browser.IE_VERSION;var n={remux:!1,alignGopsAtEnd:i.safeAppend_};return i.codecs_.forEach(function(e){Tc(e)?i.audioCodec_=e:Sc(e)&&(i.videoCodec_=e)}),i.transmuxer_=new kc,i.transmuxer_.postMessage({action:\"init\",options:n}),i.transmuxer_.onmessage=function(e){return\"data\"===e.data.action?i.data_(e):\"done\"===e.data.action?i.done_(e):\"gopInfo\"===e.data.action?i.appendGopInfo_(e):\"videoSegmentTimingInfo\"===e.data.action?i.videoSegmentTimingInfo_(e.data.videoSegmentTimingInfo):void 0},Object.defineProperty(i,\"timestampOffset\",{get:function(){return this.timestampOffset_},set:function(e){\"number\"==typeof e&&0<=e&&(this.timestampOffset_=e,this.appendAudioInitSegment_=!0,this.gopBuffer_.length=0,this.timeMapping_=0,this.transmuxer_.postMessage({action:\"setTimestampOffset\",timestampOffset:e}))}}),Object.defineProperty(i,\"appendWindowStart\",{get:function(){return(this.videoBuffer_||this.audioBuffer_).appendWindowStart},set:function(e){this.videoBuffer_&&(this.videoBuffer_.appendWindowStart=e),this.audioBuffer_&&(this.audioBuffer_.appendWindowStart=e)}}),Object.defineProperty(i,\"updating\",{get:function(){return!!(this.bufferUpdating_||!this.audioDisabled_&&this.audioBuffer_&&this.audioBuffer_.updating||this.videoBuffer_&&this.videoBuffer_.updating)}}),Object.defineProperty(i,\"buffered\",{get:function(){return function(e,t,i){var n=null,r=null,s=0,a=[],o=[];if(!e&&!t)return as.createTimeRange();if(!e)return t.buffered;if(!t)return e.buffered;if(i)return e.buffered;if(0===e.buffered.length&&0===t.buffered.length)return as.createTimeRange();for(var u=e.buffered,l=t.buffered,c=u.length;c--;)a.push({time:u.start(c),type:\"start\"}),a.push({time:u.end(c),type:\"end\"});for(c=l.length;c--;)a.push({time:l.start(c),type:\"start\"}),a.push({time:l.end(c),type:\"end\"});for(a.sort(function(e,t){return e.time-t.time}),c=0;c<a.length;c++)\"start\"===a[c].type?2===++s&&(n=a[c].time):\"end\"===a[c].type&&1===--s&&(r=a[c].time),null!==n&&null!==r&&(o.push([n,r]),r=n=null);return as.createTimeRanges(o)}(this.videoBuffer_,this.audioBuffer_,this.audioDisabled_)}}),i}var xc=(ll(Ac,as.EventTarget),ol(Ac,[{key:\"addSeekableRange_\",value:function(e,t){var i=void 0;if(this.duration!==1/0)throw(i=new Error(\"MediaSource.addSeekableRange() can only be invoked when the duration is Infinity\")).name=\"InvalidStateError\",i.code=11,i;(t>this.nativeMediaSource_.duration||isNaN(this.nativeMediaSource_.duration))&&(this.nativeMediaSource_.duration=t)}},{key:\"addSourceBuffer\",value:function(e){var t=void 0,i=bc(e);if(/^(video|audio)\\/mp2t$/i.test(i.type)){var n=[];i.parameters&&i.parameters.codecs&&(n=i.parameters.codecs.split(\",\"),n=(n=gc(n)).filter(function(e){return Tc(e)||Sc(e)})),0===n.length&&(n=[\"avc1.4d400d\",\"mp4a.40.2\"]),t=new wc(this,n),0!==this.sourceBuffers.length&&(this.sourceBuffers[0].createRealSourceBuffers_(),t.createRealSourceBuffers_(),this.sourceBuffers[0].audioDisabled_=!0)}else t=this.nativeMediaSource_.addSourceBuffer(e);return this.sourceBuffers.push(t),t}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.off(),this.sourceBuffers.forEach(function(e){e.dispose&&e.dispose()}),this.sourceBuffers.length=0}}]),Ac);function Ac(){al(this,Ac);var s=cl(this,(Ac.__proto__||Object.getPrototypeOf(Ac)).call(this)),e=void 0;for(e in s.nativeMediaSource_=new y.MediaSource,s.nativeMediaSource_)e in Ac.prototype||\"function\"!=typeof s.nativeMediaSource_[e]||(s[e]=s.nativeMediaSource_[e].bind(s.nativeMediaSource_));return s.duration_=NaN,Object.defineProperty(s,\"duration\",{get:function(){return this.duration_===1/0?this.duration_:this.nativeMediaSource_.duration},set:function(e){(this.duration_=e)===1/0||(this.nativeMediaSource_.duration=e)}}),Object.defineProperty(s,\"seekable\",{get:function(){return this.duration_===1/0?as.createTimeRanges([[0,this.nativeMediaSource_.duration]]):this.nativeMediaSource_.seekable}}),Object.defineProperty(s,\"readyState\",{get:function(){return this.nativeMediaSource_.readyState}}),Object.defineProperty(s,\"activeSourceBuffers\",{get:function(){return this.activeSourceBuffers_}}),s.sourceBuffers=[],s.activeSourceBuffers_=[],s.updateActiveSourceBuffers_=function(){if(s.activeSourceBuffers_.length=0,1===s.sourceBuffers.length){var e=s.sourceBuffers[0];return e.appendAudioInitSegment_=!0,e.audioDisabled_=!e.audioCodec_,void s.activeSourceBuffers_.push(e)}for(var i=!1,n=!0,t=0;t<s.player_.audioTracks().length;t++){var r=s.player_.audioTracks()[t];if(r.enabled&&\"main\"!==r.kind){n=!(i=!0);break}}s.sourceBuffers.forEach(function(e,t){if(e.appendAudioInitSegment_=!0,e.videoCodec_&&e.audioCodec_)e.audioDisabled_=i;else if(e.videoCodec_&&!e.audioCodec_)e.audioDisabled_=!0,n=!1;else if(!e.videoCodec_&&e.audioCodec_&&(e.audioDisabled_=t?n:!n,e.audioDisabled_))return;s.activeSourceBuffers_.push(e)})},s.onPlayerMediachange_=function(){s.sourceBuffers.forEach(function(e){e.appendAudioInitSegment_=!0})},s.onHlsReset_=function(){s.sourceBuffers.forEach(function(e){e.transmuxer_&&e.transmuxer_.postMessage({action:\"resetCaptions\"})})},s.onHlsSegmentTimeMapping_=function(t){s.sourceBuffers.forEach(function(e){return e.timeMapping_=t.mapping})},[\"sourceopen\",\"sourceclose\",\"sourceended\"].forEach(function(e){this.nativeMediaSource_.addEventListener(e,this.trigger.bind(this))},s),s.on(\"sourceopen\",function(e){var t=h.querySelector('[src=\"'+s.url_+'\"]');t&&(s.player_=as(t.parentNode),s.player_&&(s.player_.tech_.on(\"hls-reset\",s.onHlsReset_),s.player_.tech_.on(\"hls-segment-time-mapping\",s.onHlsSegmentTimeMapping_),s.player_.audioTracks&&s.player_.audioTracks()&&(s.player_.audioTracks().on(\"change\",s.updateActiveSourceBuffers_),s.player_.audioTracks().on(\"addtrack\",s.updateActiveSourceBuffers_),s.player_.audioTracks().on(\"removetrack\",s.updateActiveSourceBuffers_)),s.player_.on(\"mediachange\",s.onPlayerMediachange_)))}),s.on(\"sourceended\",function(e){for(var t=$l(s.duration),i=0;i<s.sourceBuffers.length;i++){var n=s.sourceBuffers[i],r=n.metadataTrack_&&n.metadataTrack_.cues;r&&r.length&&(r[r.length-1].endTime=t)}}),s.on(\"sourceclose\",function(e){this.sourceBuffers.forEach(function(e){e.transmuxer_&&e.transmuxer_.terminate()}),this.sourceBuffers.length=0,this.player_&&(this.player_.audioTracks&&this.player_.audioTracks()&&(this.player_.audioTracks().off(\"change\",this.updateActiveSourceBuffers_),this.player_.audioTracks().off(\"addtrack\",this.updateActiveSourceBuffers_),this.player_.audioTracks().off(\"removetrack\",this.updateActiveSourceBuffers_)),this.player_.el_&&this.player_.off(\"mediachange\",this.onPlayerMediachange_),this.player_.tech_&&this.player_.tech_.el_&&(this.player_.tech_.off(\"hls-reset\",this.onHlsReset_),this.player_.tech_.off(\"hls-segment-time-mapping\",this.onHlsSegmentTimeMapping_)))}),s}var Ic=0;as.mediaSources={};function Pc(e,t){var i=as.mediaSources[e];if(!i)throw new Error(\"Media Source not found (Video.js)\");i.trigger({type:\"sourceopen\",swfId:t})}function Lc(){return!!y.MediaSource&&!!y.MediaSource.isTypeSupported&&y.MediaSource.isTypeSupported('video/mp4;codecs=\"avc1.4d400d,mp4a.40.2\"')}function Oc(){if(this.MediaSource={open:Pc,supportsNativeMediaSources:Lc},Lc())return new xc;throw new Error(\"Cannot use create a virtual MediaSource for this video\")}Oc.open=Pc,Oc.supportsNativeMediaSources=Lc;var Dc={createObjectURL:function(e){var t=void 0;return e instanceof xc?(t=y.URL.createObjectURL(e.nativeMediaSource_),e.url_=t):e instanceof xc?(t=\"blob:vjs-media-source/\"+Ic,Ic++,as.mediaSources[t]=e,t):(t=y.URL.createObjectURL(e),e.url_=t)}};as.MediaSource=Oc,as.URL=Dc;function Nc(e,t){for(var a=void 0,o=Bc(e,{duration:t.duration,minimumUpdatePeriod:t.minimumUpdatePeriod}),i=0;i<t.playlists.length;i++){var n=dl(o,t.playlists[i]);n?o=n:a=!0}return hl(t,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=e.playlists[0].id,s=dl(o,e.playlists[0]);s&&((o=s).mediaGroups[t][i][n].playlists[0]=o.playlists[r],a=!1)}}),a?null:o}function Rc(e){var t=e.byterange.offset+e.byterange.length-1;return e.uri+\"-\"+e.byterange.offset+\"-\"+t}function Uc(e,t){var i,n,r={};for(var s in e){var a=e[s].sidx;if(a){var o=Rc(a);if(!t[o])break;var u=t[o].sidxInfo;i=u,n=a,(Boolean(!i.map&&!n.map)||Boolean(i.map&&n.map&&i.map.byterange.offset===n.map.byterange.offset&&i.map.byterange.length===n.map.byterange.length))&&i.uri===n.uri&&i.byterange.offset===n.byterange.offset&&i.byterange.length===n.byterange.length&&(r[o]=t[o])}}return r}function Mc(e,t,i,n,r){var s={uri:sl(n.handleManifestRedirects,e.resolvedUri),byterange:e.byterange,playlist:t};return i(as.mergeOptions(s,{responseType:\"arraybuffer\",headers:Rl(s)}),r)}var Bc=as.mergeOptions,jc=(ll(Fc,as.EventTarget),ol(Fc,[{key:\"setupChildLoader\",value:function(e,t){this.masterPlaylistLoader_=e,this.childPlaylist_=t}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.stopRequest(),this.loadedPlaylists_={},y.clearTimeout(this.minimumUpdatePeriodTimeout_),y.clearTimeout(this.mediaRequest_),y.clearTimeout(this.mediaUpdateTimeout),this.off()}},{key:\"hasPendingRequest\",value:function(){return this.request||this.mediaRequest_}},{key:\"stopRequest\",value:function(){if(this.request){var e=this.request;this.request=null,e.onreadystatechange=null,e.abort()}}},{key:\"sidxRequestFinished_\",value:function(r,s,a,o){var u=this;return function(e,t){if(u.request){if(u.request=null,e)return u.error={status:t.status,message:\"DASH playlist request error at URL: \"+r.uri,response:t.response,code:2},a&&(u.state=a),u.trigger(\"error\"),o(s,null);var i=new Uint8Array(t.response),n=$o.parseSidx(i.subarray(8));return o(s,n)}}}},{key:\"media\",value:function(i){var n=this;if(!i)return this.media_;if(\"HAVE_NOTHING\"===this.state)throw new Error(\"Cannot switch media playlist from \"+this.state);var r=this.state;if(\"string\"==typeof i){if(!this.master.playlists[i])throw new Error(\"Unknown playlist URI: \"+i);i=this.master.playlists[i]}var e=!this.media_||i.id!==this.media_.id;if(e&&this.loadedPlaylists_[i.id]&&this.loadedPlaylists_[i.id].endList)return this.state=\"HAVE_METADATA\",this.media_=i,void(e&&(this.trigger(\"mediachanging\"),this.trigger(\"mediachange\")));if(e)if(this.media_&&this.trigger(\"mediachanging\"),i.sidx){var t=void 0,s=void 0;s=this.masterPlaylistLoader_?(t=this.masterPlaylistLoader_.master,this.masterPlaylistLoader_.sidxMapping_):(t=this.master,this.sidxMapping_);var a=Rc(i.sidx);s[a]={sidxInfo:i.sidx},this.request=Mc(i.sidx,i,this.hls_.xhr,{handleManifestRedirects:this.handleManifestRedirects},this.sidxRequestFinished_(i,t,r,function(e,t){if(!e||!t)throw new Error(\"failed to request sidx\");s[a].sidx=t,n.haveMetadata({startingState:r,playlist:e.playlists[i.id]})}))}else this.mediaRequest_=y.setTimeout(this.haveMetadata.bind(this,{startingState:r,playlist:i}),0)}},{key:\"haveMetadata\",value:function(e){var t=e.startingState,i=e.playlist;this.state=\"HAVE_METADATA\",this.loadedPlaylists_[i.id]=i,this.mediaRequest_=null,this.refreshMedia_(i.id),\"HAVE_MASTER\"===t?this.trigger(\"loadedmetadata\"):this.trigger(\"mediachange\")}},{key:\"pause\",value:function(){this.stopRequest(),y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.minimumUpdatePeriodTimeout_),\"HAVE_NOTHING\"===this.state&&(this.started=!1)}},{key:\"load\",value:function(e){var t=this;y.clearTimeout(this.mediaUpdateTimeout),y.clearTimeout(this.minimumUpdatePeriodTimeout_);var i=this.media();if(e){var n=i?i.targetDuration/2*1e3:5e3;this.mediaUpdateTimeout=y.setTimeout(function(){return t.load()},n)}else this.started?i&&!i.endList?this.trigger(\"mediaupdatetimeout\"):this.trigger(\"loadedplaylist\"):this.start()}},{key:\"parseMasterXml\",value:function(){var a=To(this.masterXml_,{manifestUri:this.srcUrl,clientOffset:this.clientOffset_,sidxMapping:this.sidxMapping_});a.uri=this.srcUrl;for(var e=0;e<a.playlists.length;e++){var t=\"placeholder-uri-\"+e;a.playlists[e].uri=t}return hl(a,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=\"placeholder-uri-\"+t+\"-\"+i+\"-\"+n,s=pl(0,r);e.playlists[0].uri=r,e.playlists[0].id=s,a.playlists[s]=e.playlists[0],a.playlists[r]=e.playlists[0]}}),fl(a),ml(a),a}},{key:\"start\",value:function(){var i=this;this.started=!0,this.masterPlaylistLoader_?this.mediaRequest_=y.setTimeout(this.haveMaster_.bind(this),0):this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(i.request){if(i.request=null,e)return i.error={status:t.status,message:\"DASH playlist request error at URL: \"+i.srcUrl,responseText:t.responseText,code:2},\"HAVE_NOTHING\"===i.state&&(i.started=!1),i.trigger(\"error\");i.masterXml_=t.responseText,t.responseHeaders&&t.responseHeaders.date?i.masterLoaded_=Date.parse(t.responseHeaders.date):i.masterLoaded_=Date.now(),i.srcUrl=sl(i.handleManifestRedirects,i.srcUrl,t),i.syncClientServerClock_(i.onClientServerClockSync_.bind(i))}})}},{key:\"syncClientServerClock_\",value:function(n){var r=this,s=So(this.masterXml_);return null===s?(this.clientOffset_=this.masterLoaded_-Date.now(),n()):\"DIRECT\"===s.method?(this.clientOffset_=s.value-Date.now(),n()):void(this.request=this.hls_.xhr({uri:rl(this.srcUrl,s.value),method:s.method,withCredentials:this.withCredentials},function(e,t){if(r.request){if(e)return r.clientOffset_=r.masterLoaded_-Date.now(),n();var i=void 0;i=\"HEAD\"===s.method?t.responseHeaders&&t.responseHeaders.date?Date.parse(t.responseHeaders.date):r.masterLoaded_:Date.parse(t.responseText),r.clientOffset_=i-Date.now(),n()}}))}},{key:\"haveMaster_\",value:function(){this.state=\"HAVE_MASTER\",this.mediaRequest_=null,this.masterPlaylistLoader_?this.media_||this.media(this.childPlaylist_):(this.master=this.parseMasterXml(),this.trigger(\"loadedplaylist\"))}},{key:\"onClientServerClockSync_\",value:function(){var e=this;this.haveMaster_(),this.hasPendingRequest()||this.media_||this.media(this.master.playlists[0]),this.master&&this.master.minimumUpdatePeriod&&(this.minimumUpdatePeriodTimeout_=y.setTimeout(function(){e.trigger(\"minimumUpdatePeriod\")},this.master.minimumUpdatePeriod))}},{key:\"refreshXml_\",value:function(){var o=this;this.request=this.hls_.xhr({uri:this.srcUrl,withCredentials:this.withCredentials},function(e,t){if(o.request){if(o.request=null,e)return o.error={status:t.status,message:\"DASH playlist request error at URL: \"+o.srcUrl,responseText:t.responseText,code:2},\"HAVE_NOTHING\"===o.state&&(o.started=!1),o.trigger(\"error\");o.masterXml_=t.responseText,o.sidxMapping_=function(e,t,i,s){var n=To(e,{manifestUri:t,clientOffset:i}),a=Uc(n.playlists,s);return hl(n,function(e,t,i,n){if(e.playlists&&e.playlists.length){var r=e.playlists;a=Bc(a,Uc(r,s))}}),a}(o.masterXml_,o.srcUrl,o.clientOffset_,o.sidxMapping_);var i=o.parseMasterXml(),n=Nc(o.master,i),r=o.media().sidx;if(n)if(r){var s=Rc(r);if(!o.sidxMapping_[s]){var a=o.media();o.request=Mc(a.sidx,a,o.hls_.xhr,{handleManifestRedirects:o.handleManifestRedirects},o.sidxRequestFinished_(a,i,o.state,function(e,t){if(!e||!t)throw new Error(\"failed to request sidx on minimumUpdatePeriod\");o.sidxMapping_[s].sidx=t,o.minimumUpdatePeriodTimeout_=y.setTimeout(function(){o.trigger(\"minimumUpdatePeriod\")},o.master.minimumUpdatePeriod),o.refreshMedia_(o.media().id)}))}}else o.master=n;o.minimumUpdatePeriodTimeout_=y.setTimeout(function(){o.trigger(\"minimumUpdatePeriod\")},o.master.minimumUpdatePeriod)}})}},{key:\"refreshMedia_\",value:function(e){var t=this;if(!e)throw new Error(\"refreshMedia_ must take a media id\");var i=void 0,n=void 0;n=this.masterPlaylistLoader_?(i=this.masterPlaylistLoader_.master,this.masterPlaylistLoader_.parseMasterXml()):(i=this.master,this.parseMasterXml());var r=Nc(i,n);r?(this.masterPlaylistLoader_?this.masterPlaylistLoader_.master=r:this.master=r,this.media_=r.playlists[e]):(this.media_=n.playlists[e],this.trigger(\"playlistunchanged\")),this.media().endList||(this.mediaUpdateTimeout=y.setTimeout(function(){t.trigger(\"mediaupdatetimeout\")},gl(this.media(),!!r))),this.trigger(\"loadedplaylist\")}}]),Fc);function Fc(e,t){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=arguments[3];al(this,Fc);var r=cl(this,(Fc.__proto__||Object.getPrototypeOf(Fc)).call(this)),s=i.withCredentials,a=void 0!==s&&s,o=i.handleManifestRedirects,u=void 0!==o&&o;if(r.hls_=t,r.withCredentials=a,r.handleManifestRedirects=u,!e)throw new Error(\"A non-empty playlist URL or playlist is required\");return r.on(\"minimumUpdatePeriod\",function(){r.refreshXml_()}),r.on(\"mediaupdatetimeout\",function(){r.refreshMedia_(r.media().id)}),r.state=\"HAVE_NOTHING\",r.loadedPlaylists_={},\"string\"==typeof e?(r.srcUrl=e,r.sidxMapping_={},cl(r)):(r.setupChildLoader(n,e),r)}function Hc(e){return as.log.debug?as.log.debug.bind(as,\"VHS:\",e+\" >\"):function(){}}function Vc(){}var qc=(ol(Wc,[{key:\"createSourceBuffer_\",value:function(e,t){var i=this;this.sourceBuffer_=this.mediaSource.addSourceBuffer(e),this.logger_(\"created SourceBuffer\"),t&&(t.trigger(\"sourcebufferadded\"),this.mediaSource.sourceBuffers.length<2)?t.on(\"sourcebufferadded\",function(){i.start_()}):this.start_()}},{key:\"start_\",value:function(){var t=this;this.started_=!0,this.onUpdateendCallback_=function(){var e=t.pendingCallback_;t.pendingCallback_=null,t.sourceBuffer_.removing=!1,t.logger_(\"buffered [\"+Xl(t.buffered())+\"]\"),e&&e(),t.runCallback_()},this.sourceBuffer_.addEventListener(\"updateend\",this.onUpdateendCallback_),this.runCallback_()}},{key:\"abort\",value:function(e){var t=this;this.processedAppend_&&this.queueCallback_(function(){t.sourceBuffer_.abort()},e)}},{key:\"appendBuffer\",value:function(e,t){var i=this;this.processedAppend_=!0,this.queueCallback_(function(){e.videoSegmentTimingInfoCallback&&i.sourceBuffer_.addEventListener(\"videoSegmentTimingInfo\",e.videoSegmentTimingInfoCallback),i.sourceBuffer_.appendBuffer(e.bytes)},function(){e.videoSegmentTimingInfoCallback&&i.sourceBuffer_.removeEventListener(\"videoSegmentTimingInfo\",e.videoSegmentTimingInfoCallback),t()})}},{key:\"buffered\",value:function(){return this.sourceBuffer_?this.sourceBuffer_.buffered:as.createTimeRanges()}},{key:\"remove\",value:function(e,t,i){var n=this,r=2<arguments.length&&void 0!==i?i:Vc;this.processedAppend_&&this.queueCallback_(function(){n.logger_(\"remove [\"+e+\" => \"+t+\"]\"),n.sourceBuffer_.removing=!0,n.sourceBuffer_.remove(e,t)},r)}},{key:\"updating\",value:function(){return!this.sourceBuffer_||this.sourceBuffer_.updating||!!this.pendingCallback_&&this.pendingCallback_!==Vc}},{key:\"timestampOffset\",value:function(e){var t=this;return\"undefined\"!=typeof e&&(this.queueCallback_(function(){t.sourceBuffer_.timestampOffset=e,t.runCallback_()}),this.timestampOffset_=e),this.timestampOffset_}},{key:\"queueCallback_\",value:function(e,t){this.callbacks_.push([e.bind(this),t]),this.runCallback_()}},{key:\"runCallback_\",value:function(){var e=void 0;!this.updating()&&this.callbacks_.length&&this.started_&&(e=this.callbacks_.shift(),this.pendingCallback_=e[1],e[0]())}},{key:\"dispose\",value:function(){function e(){t.sourceBuffer_&&\"open\"===t.mediaSource.readyState&&t.sourceBuffer_.abort(),t.sourceBuffer_.removeEventListener(\"updateend\",e)}var t=this;this.sourceBuffer_.removeEventListener(\"updateend\",this.onUpdateendCallback_),this.sourceBuffer_.removing?this.sourceBuffer_.addEventListener(\"updateend\",e):e()}}]),Wc);function Wc(e,t,i,n){al(this,Wc),this.callbacks_=[],this.pendingCallback_=null,this.timestampOffset_=0,this.mediaSource=e,this.processedAppend_=!1,this.type_=i,this.mimeType_=t,this.logger_=Hc(\"SourceUpdater[\"+i+\"][\"+t+\"]\"),\"closed\"===e.readyState?e.addEventListener(\"sourceopen\",this.createSourceBuffer_.bind(this,t,n)):this.createSourceBuffer_(t,n)}function zc(e){e.forEach(function(e){e.abort()})}function Gc(e,t){return t.timedout?{status:t.status,message:\"HLS request timed-out at URL: \"+t.uri,code:ih,xhr:t}:t.aborted?{status:t.status,message:\"HLS request aborted at URL: \"+t.uri,code:nh,xhr:t}:e?{status:t.status,message:\"HLS request errored at URL: \"+t.uri,code:th,xhr:t}:null}function Xc(i,n,r){var s=0,a=!1;return function(e,t){if(!a)return e?(a=!0,zc(i),r(e,t)):(s+=1)===i.length?(t.endOfAllRequests=Date.now(),t.encryptedBytes?function(n,r,s){n.addEventListener(\"message\",function e(t){if(t.data.source===r.requestId){n.removeEventListener(\"message\",e);var i=t.data.decrypted;return r.bytes=new Uint8Array(i.bytes,i.byteOffset,i.byteLength),s(null,r)}});var e=void 0;e=r.key.bytes.slice?r.key.bytes.slice():new Uint32Array(Array.prototype.slice.call(r.key.bytes)),n.postMessage(Bl({source:r.requestId,encrypted:r.encryptedBytes,key:e,iv:r.key.iv}),[r.encryptedBytes.buffer,e.buffer])}(n,t,r):r(null,t)):void 0}}function Kc(t,i){return function(e){return t.stats=as.mergeOptions(t.stats,function(e){var t=e.target,i={bandwidth:1/0,bytesReceived:0,roundTripTime:Date.now()-t.requestTime||0};return i.bytesReceived=e.loaded,i.bandwidth=Math.floor(i.bytesReceived/i.roundTripTime*8*1e3),i}(e)),!t.stats.firstBytesReceivedAt&&t.stats.bytesReceived&&(t.stats.firstBytesReceivedAt=Date.now()),i(e,t)}}function Yc(e,t,i,n,r,s,a){var o=[],u=Xc(o,i,a);if(r.key&&!r.key.bytes){var l=e(as.mergeOptions(t,{uri:r.key.resolvedUri,responseType:\"arraybuffer\"}),function(s,a){return function(e,t){var i=t.response,n=Gc(e,t);if(n)return a(n,s);if(16!==i.byteLength)return a({status:t.status,message:\"Invalid HLS key at URL: \"+t.uri,code:th,xhr:t},s);var r=new DataView(i);return s.key.bytes=new Uint32Array([r.getUint32(0),r.getUint32(4),r.getUint32(8),r.getUint32(12)]),a(null,s)}}(r,u));o.push(l)}if(r.map&&!r.map.bytes){var c=e(as.mergeOptions(t,{uri:r.map.resolvedUri,responseType:\"arraybuffer\",headers:Rl(r.map)}),function(r,s,a){return function(e,t){var i=t.response,n=Gc(e,t);return n?a(n,r):0===i.byteLength?a({status:t.status,message:\"Empty HLS segment content at URL: \"+t.uri,code:th,xhr:t},r):(r.map.bytes=new Uint8Array(t.response),s&&!s.isInitialized()&&s.init(),r.map.timescales=eu.timescale(r.map.bytes),r.map.videoTrackIds=eu.videoTrackIds(r.map.bytes),a(null,r))}}(r,n,u));o.push(c)}var h=e(as.mergeOptions(t,{uri:r.resolvedUri,responseType:\"arraybuffer\",headers:Rl(r)}),function(s,a,o){return function(e,t){var i=t.response,n=Gc(e,t),r=void 0;return n?o(n,s):0===i.byteLength?o({status:t.status,message:\"Empty HLS segment content at URL: \"+t.uri,code:th,xhr:t},s):(s.stats=function(e){return{bandwidth:e.bandwidth,bytesReceived:e.bytesReceived||0,roundTripTime:e.roundTripTime||0}}(t),s.key?s.encryptedBytes=new Uint8Array(t.response):s.bytes=new Uint8Array(t.response),a&&s.map&&s.map.bytes&&(a.isInitialized()||a.init(),(r=a.parse(s.bytes,s.map.videoTrackIds,s.map.timescales))&&r.captions&&(s.captionStreams=r.captionStreams,s.fmp4Captions=r.captions)),o(null,s))}}(r,n,u));return h.addEventListener(\"progress\",Kc(r,s)),o.push(h),function(){return zc(o)}}function $c(e,t){var i;return e&&(i=y.getComputedStyle(e))?i[t]:\"\"}function Qc(e,n){var r=e.slice();e.sort(function(e,t){var i=n(e,t);return 0===i?r.indexOf(e)-r.indexOf(t):i})}function Jc(e,t){var i=void 0,n=void 0;return e.attributes.BANDWIDTH&&(i=e.attributes.BANDWIDTH),i=i||y.Number.MAX_VALUE,t.attributes.BANDWIDTH&&(n=t.attributes.BANDWIDTH),i-(n=n||y.Number.MAX_VALUE)}function Zc(e){return\"number\"==typeof e&&isFinite(e)}var eh={GOAL_BUFFER_LENGTH:30,MAX_GOAL_BUFFER_LENGTH:60,GOAL_BUFFER_LENGTH_RATE:1,INITIAL_BANDWIDTH:4194304,BANDWIDTH_VARIANCE:1.2,BUFFER_LOW_WATER_LINE:0,MAX_BUFFER_LOW_WATER_LINE:30,BUFFER_LOW_WATER_LINE_RATE:1},th=2,ih=-101,nh=-102,rh=(ll(sh,as.EventTarget),ol(sh,[{key:\"resetStats_\",value:function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaRequestsAborted=0,this.mediaRequestsTimedout=0,this.mediaRequestsErrored=0,this.mediaTransferDuration=0,this.mediaSecondsLoaded=0}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.state=\"DISPOSED\",this.pause(),this.abort_(),this.sourceUpdater_&&this.sourceUpdater_.dispose(),this.resetStats_(),this.captionParser_&&this.captionParser_.reset(),this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.syncController_&&this.triggerSyncInfoUpdate_&&this.syncController_.off(\"syncinfoupdate\",this.triggerSyncInfoUpdate_),this.off()}},{key:\"abort\",value:function(){\"WAITING\"===this.state?(this.abort_(),this.state=\"READY\",this.paused()||this.monitorBuffer_()):this.pendingSegment_&&(this.pendingSegment_=null)}},{key:\"abort_\",value:function(){this.pendingSegment_&&this.pendingSegment_.abortRequests(),this.pendingSegment_=null}},{key:\"error\",value:function(e){return\"undefined\"!=typeof e&&(this.error_=e),this.pendingSegment_=null,this.error_}},{key:\"endOfStream\",value:function(){this.ended_=!0,this.pause(),this.trigger(\"ended\")}},{key:\"buffered_\",value:function(){return this.sourceUpdater_?this.sourceUpdater_.buffered():as.createTimeRanges()}},{key:\"initSegment\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=jl(e),r=this.initSegments_[n];return i&&!r&&e.bytes&&(this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:e.bytes,timescales:e.timescales,videoTrackIds:e.videoTrackIds}),r||e}},{key:\"segmentKey\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=Fl(e),r=this.keyCache_[n];this.cacheEncryptionKeys_&&i&&!r&&e.bytes&&(this.keyCache_[n]=r={resolvedUri:e.resolvedUri,bytes:e.bytes});var s={resolvedUri:(r||e).resolvedUri};return r&&(s.bytes=r.bytes),s}},{key:\"couldBeginLoading_\",value:function(){return this.playlist_&&(this.sourceUpdater_||this.mimeType_&&\"INIT\"===this.state)&&!this.paused()}},{key:\"load\",value:function(){if(this.monitorBuffer_(),this.playlist_){if(this.syncController_.setDateTimeMapping(this.playlist_),\"INIT\"===this.state&&this.couldBeginLoading_())return this.init_();!this.couldBeginLoading_()||\"READY\"!==this.state&&\"INIT\"!==this.state||(this.state=\"READY\")}}},{key:\"init_\",value:function(){return this.state=\"READY\",this.sourceUpdater_=new qc(this.mediaSource_,this.mimeType_,this.loaderType_,this.sourceBufferEmitter_),this.resetEverything(),this.monitorBuffer_()}},{key:\"playlist\",value:function(e,t){var i=1<arguments.length&&void 0!==t?t:{};if(e){var n=this.playlist_,r=this.pendingSegment_;this.playlist_=e,this.xhrOptions_=i,\"INIT\"===this.state&&(e.syncInfo={mediaSequence:e.mediaSequence,time:0});var s=null;if(n&&(n.id?s=n.id:n.uri&&(s=n.uri)),this.logger_(\"playlist update [\"+s+\" => \"+(e.id||e.uri)+\"]\"),this.trigger(\"syncinfoupdate\"),\"INIT\"===this.state&&this.couldBeginLoading_())return this.init_();if(n&&n.uri===e.uri){var a=e.mediaSequence-n.mediaSequence;this.logger_(\"live window shift [\"+a+\"]\"),null!==this.mediaIndex&&(this.mediaIndex-=a),r&&(r.mediaIndex-=a,0<=r.mediaIndex&&(r.segment=e.segments[r.mediaIndex])),this.syncController_.saveExpiredSegmentInfo(n,e)}else null!==this.mediaIndex&&this.resyncLoader()}}},{key:\"pause\",value:function(){this.checkBufferTimeout_&&(y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)}},{key:\"paused\",value:function(){return null===this.checkBufferTimeout_}},{key:\"mimeType\",value:function(e,t){this.mimeType_||(this.mimeType_=e,this.sourceBufferEmitter_=t,\"INIT\"===this.state&&this.couldBeginLoading_()&&this.init_())}},{key:\"resetEverything\",value:function(e){this.ended_=!1,this.resetLoader(),this.remove(0,1/0,e),this.captionParser_&&this.captionParser_.clearAllCaptions(),this.trigger(\"reseteverything\")}},{key:\"resetLoader\",value:function(){this.fetchAtBuffer_=!1,this.resyncLoader()}},{key:\"resyncLoader\",value:function(){this.mediaIndex=null,this.syncPoint_=null,this.abort()}},{key:\"remove\",value:function(e,t,i){if(t===1/0&&(t=this.duration_()),this.sourceUpdater_&&this.sourceUpdater_.remove(e,t,i),Yl(e,t,this.segmentMetadataTrack_),this.inbandTextTracks_)for(var n in this.inbandTextTracks_)Yl(e,t,this.inbandTextTracks_[n])}},{key:\"monitorBuffer_\",value:function(){this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.setTimeout(this.monitorBufferTick_.bind(this),1)}},{key:\"monitorBufferTick_\",value:function(){\"READY\"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&y.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=y.setTimeout(this.monitorBufferTick_.bind(this),500)}},{key:\"fillBuffer_\",value:function(){if(!this.sourceUpdater_.updating()){this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var e=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);e&&(this.isEndOfStream_(e.mediaIndex)?this.endOfStream():e.mediaIndex===this.playlist_.segments.length-1&&\"ended\"===this.mediaSource_.readyState&&!this.seeking_()||(e.timeline!==this.currentTimeline_&&(this.syncController_.reset(),e.timestampOffset=e.startOfSegment,this.captionParser_&&this.captionParser_.clearAllCaptions()),this.loadSegment_(e)))}}},{key:\"isEndOfStream_\",value:function(e,t){return function(e,t,i){if(!e||!t)return!1;var n=i===e.segments.length;return e.endList&&\"open\"===t.readyState&&n}(1<arguments.length&&void 0!==t?t:this.playlist_,this.mediaSource_,e)&&!this.sourceUpdater_.updating()}},{key:\"checkBuffer_\",value:function(e,t,i,n,r,s){var a=0,o=void 0;e.length&&(a=e.end(e.length-1));var u=Math.max(0,a-r);if(!t.segments.length)return null;if(u>=this.goalBufferLength_())return null;if(!n&&1<=u)return null;if(null===s)return i=this.getSyncSegmentCandidate_(t),this.generateSegmentInfo_(t,i,null,!0);if(null!==i)return t.segments[i],o=a,this.generateSegmentInfo_(t,i+1,o,!1);if(this.fetchAtBuffer_){var l=tc.getMediaInfoForTime(t,a,s.segmentIndex,s.time);i=l.mediaIndex,o=l.startTime}else{var c=tc.getMediaInfoForTime(t,r,s.segmentIndex,s.time);i=c.mediaIndex,o=c.startTime}return this.generateSegmentInfo_(t,i,o,!1)}},{key:\"getSyncSegmentCandidate_\",value:function(e){var t=this;if(-1===this.currentTimeline_)return 0;var i=e.segments.map(function(e,t){return{timeline:e.timeline,segmentIndex:t}}).filter(function(e){return e.timeline===t.currentTimeline_});return i.length?i[Math.min(i.length-1,1)].segmentIndex:Math.max(e.segments.length-1,0)}},{key:\"generateSegmentInfo_\",value:function(e,t,i,n){if(t<0||t>=e.segments.length)return null;var r=e.segments[t];return{requestId:\"segment-loader-\"+Math.random(),uri:r.resolvedUri,mediaIndex:t,isSyncRequest:n,startOfSegment:i,playlist:e,bytes:null,encryptedBytes:null,timestampOffset:null,timeline:r.timeline,duration:r.duration,segment:r}}},{key:\"abortRequestEarly_\",value:function(e){if(this.hls_.tech_.paused()||!this.xhrOptions_.timeout||!this.playlist_.attributes.BANDWIDTH)return!1;if(Date.now()-(e.firstBytesReceivedAt||Date.now())<1e3)return!1;var t=this.currentTime_(),i=e.bandwidth,n=this.pendingSegment_.duration,r=tc.estimateSegmentRequestTime(n,i,this.playlist_,e.bytesReceived),s=function(e,t,i){var n=2<arguments.length&&void 0!==i?i:1;return((e.length?e.end(e.length-1):0)-t)/n}(this.buffered_(),t,this.hls_.tech_.playbackRate())-1;if(r<=s)return!1;var a=function(e){var t=e.master,i=e.currentTime,n=e.bandwidth,r=e.duration,s=e.segmentDuration,a=e.timeUntilRebuffer,o=e.currentTimeline,u=e.syncController,l=t.playlists.filter(function(e){return!tc.isIncompatible(e)}),c=l.filter(tc.isEnabled);c.length||(c=l.filter(function(e){return!tc.isDisabled(e)}));var h=c.filter(tc.hasAttribute.bind(null,\"BANDWIDTH\")).map(function(e){var t=u.getSyncPoint(e,r,o,i)?1:2;return{playlist:e,rebufferingImpact:tc.estimateSegmentRequestTime(s,n,e)*t-a}}),d=h.filter(function(e){return e.rebufferingImpact<=0});return Qc(d,function(e,t){return Jc(t.playlist,e.playlist)}),d.length?d[0]:(Qc(h,function(e,t){return e.rebufferingImpact-t.rebufferingImpact}),h[0]||null)}({master:this.hls_.playlists.master,currentTime:t,bandwidth:i,duration:this.duration_(),segmentDuration:n,timeUntilRebuffer:s,currentTimeline:this.currentTimeline_,syncController:this.syncController_});if(a){var o=r-s-a.rebufferingImpact,u=.5;return s<=1/30&&(u=1),!(!a.playlist||a.playlist.uri===this.playlist_.uri||o<u)&&(this.bandwidth=a.playlist.attributes.BANDWIDTH*eh.BANDWIDTH_VARIANCE+1,this.abort(),this.trigger(\"earlyabort\"),!0)}}},{key:\"handleProgress_\",value:function(e,t){this.pendingSegment_&&t.requestId===this.pendingSegment_.requestId&&!this.abortRequestEarly_(t.stats)&&this.trigger(\"progress\")}},{key:\"loadSegment_\",value:function(e){this.state=\"WAITING\",this.pendingSegment_=e,this.trimBackBuffer_(e),e.abortRequests=Yc(this.hls_.xhr,this.xhrOptions_,this.decrypter_,this.captionParser_,this.createSimplifiedSegmentObj_(e),this.handleProgress_.bind(this),this.segmentRequestFinished_.bind(this))}},{key:\"trimBackBuffer_\",value:function(e){var t=function(e,t,i){var n=t-30;e.length&&(n=Math.max(n,e.start(0)));var r=t-i;return Math.min(r,n)}(this.seekable_(),this.currentTime_(),this.playlist_.targetDuration||10);0<t&&this.remove(0,t)}},{key:\"createSimplifiedSegmentObj_\",value:function(e){var t=e.segment,i={resolvedUri:t.resolvedUri,byterange:t.byterange,requestId:e.requestId};if(t.key){var n=t.key.iv||new Uint32Array([0,0,0,e.mediaIndex+e.playlist.mediaSequence]);i.key=this.segmentKey(t.key),i.key.iv=n}return t.map&&(i.map=this.initSegment(t.map)),i}},{key:\"segmentRequestFinished_\",value:function(e,t){if(this.mediaRequests+=1,t.stats&&(this.mediaBytesTransferred+=t.stats.bytesReceived,this.mediaTransferDuration+=t.stats.roundTripTime),this.pendingSegment_){if(t.requestId===this.pendingSegment_.requestId){if(e)return this.pendingSegment_=null,this.state=\"READY\",e.code===nh?void(this.mediaRequestsAborted+=1):(this.pause(),e.code===ih?(this.mediaRequestsTimedout+=1,this.bandwidth=1,this.roundTrip=NaN,void this.trigger(\"bandwidthupdate\")):(this.mediaRequestsErrored+=1,this.error(e),void this.trigger(\"error\")));this.bandwidth=t.stats.bandwidth,this.roundTrip=t.stats.roundTripTime,t.map&&(t.map=this.initSegment(t.map,!0)),t.key&&this.segmentKey(t.key,!0),this.processSegmentResponse_(t)}}else this.mediaRequestsAborted+=1}},{key:\"processSegmentResponse_\",value:function(e){var t=this.pendingSegment_;t.bytes=e.bytes,e.map&&(t.segment.map.bytes=e.map.bytes),t.endOfAllRequests=e.endOfAllRequests,e.fmp4Captions&&(function(e,t,i){for(var n in i)if(!e[n]){t.trigger({type:\"usage\",name:\"hls-608\"});var r=t.textTracks().getTrackById(n);e[n]=r||t.addRemoteTextTrack({kind:\"captions\",id:n,label:n},!1).track}}(this.inbandTextTracks_,this.hls_.tech_,e.captionStreams),function(e){var r=e.inbandTextTracks,t=e.captionArray,s=e.timestampOffset;if(t){var a=window.WebKitDataCue||window.VTTCue;t.forEach(function(e){var t=e.stream,i=e.startTime,n=e.endTime;r[t]&&(i+=s,n+=s,r[t].addCue(new a(i,n,e.text)))})}}({inbandTextTracks:this.inbandTextTracks_,captionArray:e.fmp4Captions,timestampOffset:0}),this.captionParser_&&this.captionParser_.clearParsedCaptions()),this.handleSegment_()}},{key:\"handleSegment_\",value:function(){var e=this;if(this.pendingSegment_){var t=this.pendingSegment_,i=t.segment,n=this.syncController_.probeSegmentInfo(t);\"undefined\"==typeof this.startingMedia_&&n&&(n.containsAudio||n.containsVideo)&&(this.startingMedia_={containsAudio:n.containsAudio,containsVideo:n.containsVideo});var r=function(e,t,i){return\"main\"===e&&t&&i?i.containsAudio||i.containsVideo?t.containsVideo&&!i.containsVideo?\"Only audio found in segment when we expected video. We can't switch to audio only from a stream that had video. To get rid of this message, please add codec information to the manifest.\":!t.containsVideo&&i.containsVideo?\"Video found in segment when we expected only audio. We can't switch to a stream with video from an audio only stream. To get rid of this message, please add codec information to the manifest.\":null:\"Neither audio nor video found in segment.\":null}(this.loaderType_,this.startingMedia_,n);if(r)return this.error({message:r,blacklistDuration:1/0}),void this.trigger(\"error\");if(t.isSyncRequest)return this.trigger(\"syncinfoupdate\"),this.pendingSegment_=null,void(this.state=\"READY\");if(null!==t.timestampOffset&&t.timestampOffset!==this.sourceUpdater_.timestampOffset()){if(n&&n.segmentTimestampInfo){var s=n.segmentTimestampInfo[0].ptsTime,a=n.segmentTimestampInfo[0].dtsTime;t.timestampOffset-=s-a}this.sourceUpdater_.timestampOffset(t.timestampOffset),this.trigger(\"timestampoffset\")}var o=this.syncController_.mappingForTimeline(t.timeline);if(null!==o&&this.trigger({type:\"segmenttimemapping\",mapping:o}),this.state=\"APPENDING\",i.map){var u=jl(i.map);if(!this.activeInitSegmentId_||this.activeInitSegmentId_!==u){var l=this.initSegment(i.map);this.sourceUpdater_.appendBuffer({bytes:l.bytes},function(){e.activeInitSegmentId_=u})}}t.byteLength=t.bytes.byteLength,\"number\"==typeof i.start&&\"number\"==typeof i.end?this.mediaSecondsLoaded+=i.end-i.start:this.mediaSecondsLoaded+=i.duration,this.logger_(function(e){var t=e.segment,i=t.start,n=t.end,r=e.playlist,s=r.mediaSequence,a=r.id,o=r.segments,u=void 0===o?[]:o,l=e.mediaIndex,c=e.timeline;return[\"appending [\"+l+\"] of [\"+s+\", \"+(s+u.length)+\"] from playlist [\"+a+\"]\",\"[\"+i+\" => \"+n+\"] in timeline [\"+c+\"]\"].join(\" \")}(t)),this.sourceUpdater_.appendBuffer({bytes:t.bytes,videoSegmentTimingInfoCallback:this.handleVideoSegmentTimingInfo_.bind(this,t.requestId)},this.handleUpdateEnd_.bind(this))}else this.state=\"READY\"}},{key:\"handleVideoSegmentTimingInfo_\",value:function(e,t){if(this.pendingSegment_&&e===this.pendingSegment_.requestId){var i=this.pendingSegment_.segment;i.videoTimingInfo||(i.videoTimingInfo={}),i.videoTimingInfo.transmuxerPrependedSeconds=t.videoSegmentTimingInfo.prependedContentDuration||0,i.videoTimingInfo.transmuxedPresentationStart=t.videoSegmentTimingInfo.start.presentation,i.videoTimingInfo.transmuxedPresentationEnd=t.videoSegmentTimingInfo.end.presentation,i.videoTimingInfo.baseMediaDecodeTime=t.videoSegmentTimingInfo.baseMediaDecodeTime}}},{key:\"handleUpdateEnd_\",value:function(){if(!this.pendingSegment_)return this.state=\"READY\",void(this.paused()||this.monitorBuffer_());var e=this.pendingSegment_,t=e.segment,i=null!==this.mediaIndex;this.pendingSegment_=null,this.recordThroughput_(e),this.addSegmentMetadataCue_(e),this.state=\"READY\",this.mediaIndex=e.mediaIndex,this.fetchAtBuffer_=!0,this.currentTimeline_=e.timeline,this.trigger(\"syncinfoupdate\"),t.end&&this.currentTime_()-t.end>3*e.playlist.targetDuration?this.resetEverything():(i&&this.trigger(\"bandwidthupdate\"),this.trigger(\"progress\"),this.isEndOfStream_(e.mediaIndex+1,e.playlist)&&this.endOfStream(),this.paused()||this.monitorBuffer_())}},{key:\"recordThroughput_\",value:function(e){var t=this.throughput.rate,i=Date.now()-e.endOfAllRequests+1,n=Math.floor(e.byteLength/i*8*1e3);this.throughput.rate+=(n-t)/++this.throughput.count}},{key:\"addSegmentMetadataCue_\",value:function(e){if(this.segmentMetadataTrack_){var t=e.segment,i=t.start,n=t.end;if(Zc(i)&&Zc(n)){Yl(i,n,this.segmentMetadataTrack_);var r=y.WebKitDataCue||y.VTTCue,s={custom:t.custom,dateTimeObject:t.dateTimeObject,dateTimeString:t.dateTimeString,bandwidth:e.playlist.attributes.BANDWIDTH,resolution:e.playlist.attributes.RESOLUTION,codecs:e.playlist.attributes.CODECS,byteLength:e.byteLength,uri:e.uri,timeline:e.timeline,playlist:e.playlist.id,start:i,end:n},a=new r(i,n,JSON.stringify(s));a.value=s,this.segmentMetadataTrack_.addCue(a)}}}}]),sh);function sh(e){al(this,sh);var t=cl(this,(sh.__proto__||Object.getPrototypeOf(sh)).call(this));if(!e)throw new TypeError(\"Initialization settings are required\");if(\"function\"!=typeof e.currentTime)throw new TypeError(\"No currentTime getter specified\");if(!e.mediaSource)throw new TypeError(\"No MediaSource specified\");return t.bandwidth=e.bandwidth,t.throughput={rate:0,count:0},t.roundTrip=NaN,t.resetStats_(),t.mediaIndex=null,t.hasPlayed_=e.hasPlayed,t.currentTime_=e.currentTime,t.seekable_=e.seekable,t.seeking_=e.seeking,t.duration_=e.duration,t.mediaSource_=e.mediaSource,t.hls_=e.hls,t.loaderType_=e.loaderType,t.startingMedia_=void 0,t.segmentMetadataTrack_=e.segmentMetadataTrack,t.goalBufferLength_=e.goalBufferLength,t.sourceType_=e.sourceType,t.inbandTextTracks_=e.inbandTextTracks,t.state_=\"INIT\",t.checkBufferTimeout_=null,t.error_=void 0,t.currentTimeline_=-1,t.pendingSegment_=null,t.mimeType_=null,t.sourceUpdater_=null,t.xhrOptions_=null,t.activeInitSegmentId_=null,t.initSegments_={},t.cacheEncryptionKeys_=e.cacheEncryptionKeys,t.keyCache_={},\"main\"===t.loaderType_?t.captionParser_=new yu:t.captionParser_=null,t.decrypter_=e.decrypter,t.syncController_=e.syncController,t.syncPoint_={segmentIndex:0,time:0},t.triggerSyncInfoUpdate_=function(){return t.trigger(\"syncinfoupdate\")},t.syncController_.on(\"syncinfoupdate\",t.triggerSyncInfoUpdate_),t.mediaSource_.addEventListener(\"sourceopen\",function(){return t.ended_=!1}),t.fetchAtBuffer_=!1,t.logger_=Hc(\"SegmentLoader[\"+t.loaderType_+\"]\"),Object.defineProperty(t,\"state\",{get:function(){return this.state_},set:function(e){e!==this.state_&&(this.logger_(this.state_+\" -> \"+e),this.state_=e)}}),t}function ah(e){return decodeURIComponent(escape(String.fromCharCode.apply(null,e)))}var oh=new Uint8Array(\"\\n\\n\".split(\"\").map(function(e){return e.charCodeAt(0)})),uh=(ll(lh,rh),ol(lh,[{key:\"buffered_\",value:function(){if(!this.subtitlesTrack_||!this.subtitlesTrack_.cues.length)return as.createTimeRanges();var e=this.subtitlesTrack_.cues,t=e[0].startTime,i=e[e.length-1].startTime;return as.createTimeRanges([[t,i]])}},{key:\"initSegment\",value:function(e,t){var i=1<arguments.length&&void 0!==t&&t;if(!e)return null;var n=jl(e),r=this.initSegments_[n];if(i&&!r&&e.bytes){var s=oh.byteLength+e.bytes.byteLength,a=new Uint8Array(s);a.set(e.bytes),a.set(oh,e.bytes.byteLength),this.initSegments_[n]=r={resolvedUri:e.resolvedUri,byterange:e.byterange,bytes:a}}return r||e}},{key:\"couldBeginLoading_\",value:function(){return this.playlist_&&this.subtitlesTrack_&&!this.paused()}},{key:\"init_\",value:function(){return this.state=\"READY\",this.resetEverything(),this.monitorBuffer_()}},{key:\"track\",value:function(e){return\"undefined\"==typeof e||(this.subtitlesTrack_=e,\"INIT\"===this.state&&this.couldBeginLoading_()&&this.init_()),this.subtitlesTrack_}},{key:\"remove\",value:function(e,t){Yl(e,t,this.subtitlesTrack_)}},{key:\"fillBuffer_\",value:function(){var e=this;this.syncPoint_||(this.syncPoint_=this.syncController_.getSyncPoint(this.playlist_,this.duration_(),this.currentTimeline_,this.currentTime_()));var t=this.checkBuffer_(this.buffered_(),this.playlist_,this.mediaIndex,this.hasPlayed_(),this.currentTime_(),this.syncPoint_);if(t=this.skipEmptySegments_(t)){if(null===this.syncController_.timestampOffsetForTimeline(t.timeline))return this.syncController_.one(\"timestampoffset\",function(){e.state=\"READY\",e.paused()||e.monitorBuffer_()}),void(this.state=\"WAITING_ON_TIMELINE\");this.loadSegment_(t)}}},{key:\"skipEmptySegments_\",value:function(e){for(;e&&e.segment.empty;)e=this.generateSegmentInfo_(e.playlist,e.mediaIndex+1,e.startOfSegment+e.duration,e.isSyncRequest);return e}},{key:\"handleSegment_\",value:function(){var t=this;if(this.pendingSegment_&&this.subtitlesTrack_){this.state=\"APPENDING\";var e=this.pendingSegment_,i=e.segment;if(\"function\"!=typeof y.WebVTT&&this.subtitlesTrack_&&this.subtitlesTrack_.tech_){var n=void 0,r=function(){t.subtitlesTrack_.tech_.off(\"vttjsloaded\",n),t.error({message:\"Error loading vtt.js\"}),t.state=\"READY\",t.pause(),t.trigger(\"error\")};return n=function(){t.subtitlesTrack_.tech_.off(\"vttjserror\",r),t.handleSegment_()},this.state=\"WAITING_ON_VTTJS\",this.subtitlesTrack_.tech_.one(\"vttjsloaded\",n),void this.subtitlesTrack_.tech_.one(\"vttjserror\",r)}i.requested=!0;try{this.parseVTTCues_(e)}catch(e){return this.error({message:e.message}),this.state=\"READY\",this.pause(),this.trigger(\"error\")}if(this.updateTimeMapping_(e,this.syncController_.timelines[e.timeline],this.playlist_),e.isSyncRequest)return this.trigger(\"syncinfoupdate\"),this.pendingSegment_=null,void(this.state=\"READY\");e.byteLength=e.bytes.byteLength,this.mediaSecondsLoaded+=i.duration,e.cues.length&&this.remove(e.cues[0].endTime,e.cues[e.cues.length-1].endTime),e.cues.forEach(function(e){t.subtitlesTrack_.addCue(t.featuresNativeTextTracks_?new y.VTTCue(e.startTime,e.endTime,e.text):e)}),this.handleUpdateEnd_()}else this.state=\"READY\"}},{key:\"parseVTTCues_\",value:function(t){var e=void 0,i=!1;\"function\"==typeof y.TextDecoder?e=new y.TextDecoder(\"utf8\"):(e=y.WebVTT.StringDecoder(),i=!0);var n=new y.WebVTT.Parser(y,y.vttjs,e);if(t.cues=[],t.timestampmap={MPEGTS:0,LOCAL:0},n.oncue=t.cues.push.bind(t.cues),n.ontimestampmap=function(e){return t.timestampmap=e},n.onparsingerror=function(e){as.log.warn(\"Error encountered when parsing cues: \"+e.message)},t.segment.map){var r=t.segment.map.bytes;i&&(r=ah(r)),n.parse(r)}var s=t.bytes;i&&(s=ah(s)),n.parse(s),n.flush()}},{key:\"updateTimeMapping_\",value:function(e,t,i){var n=e.segment;if(t)if(e.cues.length){var r=e.timestampmap,s=r.MPEGTS/9e4-r.LOCAL+t.mapping;if(e.cues.forEach(function(e){e.startTime+=s,e.endTime+=s}),!i.syncInfo){var a=e.cues[0].startTime,o=e.cues[e.cues.length-1].startTime;i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:Math.min(a,o-n.duration)}}}else n.empty=!0}}]),lh);function lh(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};al(this,lh);var i=cl(this,(lh.__proto__||Object.getPrototypeOf(lh)).call(this,e,t));return i.mediaSource_=null,i.subtitlesTrack_=null,i.featuresNativeTextTracks_=e.featuresNativeTextTracks,i}function ch(e,t){for(var i=e.cues,n=0;n<i.length;n++){var r=i[n];if(t>=r.adStartTime&&t<=r.adEndTime)return r}return null}var hh=Vu,dh=[{name:\"VOD\",run:function(e,t,i,n,r){if(i===1/0)return null;return{time:0,segmentIndex:0}}},{name:\"ProgramDateTime\",run:function(e,t,i,n,r){if(!e.datetimeToDisplayTime)return null;var s=t.segments||[],a=null,o=null;r=r||0;for(var u=0;u<s.length;u++){var l=s[u];if(l.dateTimeObject){var c=l.dateTimeObject.getTime()/1e3+e.datetimeToDisplayTime,h=Math.abs(r-c);if(null!==o&&(0===h||o<h))break;o=h,a={time:c,segmentIndex:u}}}return a}},{name:\"Segment\",run:function(e,t,i,n,r){var s=t.segments||[],a=null,o=null;r=r||0;for(var u=0;u<s.length;u++){var l=s[u];if(l.timeline===n&&\"undefined\"!=typeof l.start){var c=Math.abs(r-l.start);if(null!==o&&o<c)break;(!a||null===o||c<=o)&&(o=c,a={time:l.start,segmentIndex:u})}}return a}},{name:\"Discontinuity\",run:function(e,t,i,n,r){var s=null;if(r=r||0,t.discontinuityStarts&&t.discontinuityStarts.length)for(var a=null,o=0;o<t.discontinuityStarts.length;o++){var u=t.discontinuityStarts[o],l=t.discontinuitySequence+o+1,c=e.discontinuities[l];if(c){var h=Math.abs(r-c.time);if(null!==a&&a<h)break;(!s||null===a||h<=a)&&(a=h,s={time:c.time,segmentIndex:u})}}return s}},{name:\"Playlist\",run:function(e,t,i,n,r){return t.syncInfo?{time:t.syncInfo.time,segmentIndex:t.syncInfo.mediaSequence-t.mediaSequence}:null}}],ph=(ll(fh,as.EventTarget),ol(fh,[{key:\"getSyncPoint\",value:function(e,t,i,n){var r=this.runStrategies_(e,t,i,n);return r.length?this.selectSyncPoint_(r,{key:\"time\",value:n}):null}},{key:\"getExpiredTime\",value:function(e,t){if(!e||!e.segments)return null;var i=this.runStrategies_(e,t,e.discontinuitySequence,0);if(!i.length)return null;var n=this.selectSyncPoint_(i,{key:\"segmentIndex\",value:0});return 0<n.segmentIndex&&(n.time*=-1),Math.abs(n.time+Cl(e,n.segmentIndex,0))}},{key:\"runStrategies_\",value:function(e,t,i,n){for(var r=[],s=0;s<dh.length;s++){var a=dh[s],o=a.run(this,e,t,i,n);o&&(o.strategy=a.name,r.push({strategy:a.name,syncPoint:o}))}return r}},{key:\"selectSyncPoint_\",value:function(e,t){for(var i=e[0].syncPoint,n=Math.abs(e[0].syncPoint[t.key]-t.value),r=e[0].strategy,s=1;s<e.length;s++){var a=Math.abs(e[s].syncPoint[t.key]-t.value);a<n&&(n=a,i=e[s].syncPoint,r=e[s].strategy)}return this.logger_(\"syncPoint for [\"+t.key+\": \"+t.value+\"] chosen with strategy [\"+r+\"]: [time:\"+i.time+\", segmentIndex:\"+i.segmentIndex+\"]\"),i}},{key:\"saveExpiredSegmentInfo\",value:function(e,t){for(var i=t.mediaSequence-e.mediaSequence-1;0<=i;i--){var n=e.segments[i];if(n&&\"undefined\"!=typeof n.start){t.syncInfo={mediaSequence:e.mediaSequence+i,time:n.start},this.logger_(\"playlist refresh sync: [time:\"+t.syncInfo.time+\", mediaSequence: \"+t.syncInfo.mediaSequence+\"]\"),this.trigger(\"syncinfoupdate\");break}}}},{key:\"setDateTimeMapping\",value:function(e){if(!this.datetimeToDisplayTime&&e.segments&&e.segments.length&&e.segments[0].dateTimeObject){var t=e.segments[0].dateTimeObject.getTime()/1e3;this.datetimeToDisplayTime=-t}}},{key:\"reset\",value:function(){this.inspectCache_=void 0}},{key:\"probeSegmentInfo\",value:function(e){var t=e.segment,i=e.playlist,n=void 0;return(n=t.map?this.probeMp4Segment_(e):this.probeTsSegment_(e))&&this.calculateSegmentTimeMapping_(e,n)&&(this.saveDiscontinuitySyncInfo_(e),i.syncInfo||(i.syncInfo={mediaSequence:i.mediaSequence+e.mediaIndex,time:t.start})),n}},{key:\"probeMp4Segment_\",value:function(e){var t=e.segment,i=eu.timescale(t.map.bytes),n=eu.compositionStartTime(i,e.bytes);return null!==e.timestampOffset&&(e.timestampOffset-=n),{start:n,end:n+t.duration}}},{key:\"probeTsSegment_\",value:function(e){var t=hh(e.bytes,this.inspectCache_),i=void 0,n=void 0,r=void 0;return t?(t.video&&2===t.video.length?(this.inspectCache_=t.video[1].dts,i=t.video[0].dtsTime,n=t.video[1].dtsTime,r=t.video):t.audio&&2===t.audio.length&&(this.inspectCache_=t.audio[1].dts,i=t.audio[0].dtsTime,n=t.audio[1].dtsTime,r=t.audio),{segmentTimestampInfo:r,start:i,end:n,containsVideo:t.video&&2===t.video.length,containsAudio:t.audio&&2===t.audio.length}):null}},{key:\"timestampOffsetForTimeline\",value:function(e){return\"undefined\"==typeof this.timelines[e]?null:this.timelines[e].time}},{key:\"mappingForTimeline\",value:function(e){return\"undefined\"==typeof this.timelines[e]?null:this.timelines[e].mapping}},{key:\"calculateSegmentTimeMapping_\",value:function(e,t){var i=e.segment,n=this.timelines[e.timeline];if(null!==e.timestampOffset)n={time:e.startOfSegment,mapping:e.startOfSegment-t.start},this.timelines[e.timeline]=n,this.trigger(\"timestampoffset\"),this.logger_(\"time mapping for timeline \"+e.timeline+\": [time: \"+n.time+\"] [mapping: \"+n.mapping+\"]\"),i.start=e.startOfSegment,i.end=t.end+n.mapping;else{if(!n)return!1;i.start=t.start+n.mapping,i.end=t.end+n.mapping}return!0}},{key:\"saveDiscontinuitySyncInfo_\",value:function(e){var t=e.playlist,i=e.segment;if(i.discontinuity)this.discontinuities[i.timeline]={time:i.start,accuracy:0};else if(t.discontinuityStarts&&t.discontinuityStarts.length)for(var n=0;n<t.discontinuityStarts.length;n++){var r=t.discontinuityStarts[n],s=t.discontinuitySequence+n+1,a=r-e.mediaIndex,o=Math.abs(a);if(!this.discontinuities[s]||this.discontinuities[s].accuracy>o){var u=void 0;u=a<0?i.start-Cl(t,e.mediaIndex,r):i.end+Cl(t,e.mediaIndex+1,r),this.discontinuities[s]={time:u,accuracy:o}}}}},{key:\"dispose\",value:function(){this.trigger(\"dispose\"),this.off()}}]),fh);function fh(){al(this,fh);var e=cl(this,(fh.__proto__||Object.getPrototypeOf(fh)).call(this));return e.inspectCache_=void 0,e.timelines=[],e.discontinuities=[],e.datetimeToDisplayTime=null,e.logger_=Hc(\"SyncController\"),e}function mh(e,t){e.abort(),e.pause(),t&&t.activePlaylistLoader&&(t.activePlaylistLoader.pause(),t.activePlaylistLoader=null)}function gh(e,t){(t.activePlaylistLoader=e).load()}function vh(t){[\"AUDIO\",\"SUBTITLES\",\"CLOSED-CAPTIONS\"].forEach(function(e){Th[e](e,t)});var i=t.mediaTypes,e=t.masterPlaylistLoader,n=t.tech,r=t.hls;[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){i[e].activeGroup=function(s,a){return function(t){var e=a.masterPlaylistLoader,i=a.mediaTypes[s].groups,n=e.media();if(!n)return null;var r=null;return n.attributes[s]&&(r=i[n.attributes[s]]),r=r||i.main,\"undefined\"==typeof t?r:null===t?null:r.filter(function(e){return e.id===t.id})[0]||null}}(e,t),i[e].activeTrack=Sh[e](e,t),i[e].onGroupChanged=function(o,u){return function(){var e=u.segmentLoaders,t=e[o],i=e.main,n=u.mediaTypes[o],r=n.activeTrack(),s=n.activeGroup(r),a=n.activePlaylistLoader;mh(t,n),s&&(s.playlistLoader?(t.resyncLoader(),gh(s.playlistLoader,n)):a&&i.resetEverything())}}(e,t),i[e].onTrackChanged=function(o,u){return function(){var e=u.segmentLoaders,t=e[o],i=e.main,n=u.mediaTypes[o],r=n.activeTrack(),s=n.activeGroup(r),a=n.activePlaylistLoader;mh(t,n),s&&(s.playlistLoader?(a!==s.playlistLoader&&(t.track&&t.track(r),t.resetEverything()),gh(s.playlistLoader,n)):i.resetEverything())}}(e,t)});var s=i.AUDIO.activeGroup(),a=(s.filter(function(e){return e.default})[0]||s[0]).id;function o(){i.AUDIO.onTrackChanged(),n.trigger({type:\"usage\",name:\"hls-audio-change\"})}for(var u in i.AUDIO.tracks[a].enabled=!0,i.AUDIO.onTrackChanged(),e.on(\"mediachange\",function(){[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){return i[e].onGroupChanged()})}),n.audioTracks().addEventListener(\"change\",o),n.remoteTextTracks().addEventListener(\"change\",i.SUBTITLES.onTrackChanged),r.on(\"dispose\",function(){n.audioTracks().removeEventListener(\"change\",o),n.remoteTextTracks().removeEventListener(\"change\",i.SUBTITLES.onTrackChanged)}),n.clearTracks(\"audio\"),i.AUDIO.tracks)n.audioTracks().addTrack(i.AUDIO.tracks[u])}var yh=new hc(\"./decrypter-worker.worker.js\",function(e,t){var i,c,g,n,r,u,a,s=this;i=function(e,t,i){return t&&o(e.prototype,t),i&&o(e,i),e},c=null,d.prototype.decrypt=function(e,t,i,n,r,s){var a=this._key[1],o=e^a[0],u=n^a[1],l=i^a[2],c=t^a[3],h=void 0,d=void 0,p=void 0,f=a.length/4-2,m=void 0,g=4,v=this._tables[1],y=v[0],_=v[1],b=v[2],T=v[3],S=v[4];for(m=0;m<f;m++)h=y[o>>>24]^_[u>>16&255]^b[l>>8&255]^T[255&c]^a[g],d=y[u>>>24]^_[l>>16&255]^b[c>>8&255]^T[255&o]^a[g+1],p=y[l>>>24]^_[c>>16&255]^b[o>>8&255]^T[255&u]^a[g+2],c=y[c>>>24]^_[o>>16&255]^b[u>>8&255]^T[255&l]^a[g+3],g+=4,o=h,u=d,l=p;for(m=0;m<4;m++)r[(3&-m)+s]=S[o>>>24]<<24^S[u>>16&255]<<16^S[l>>8&255]<<8^S[255&c]^a[g++],h=o,o=u,u=l,l=c,c=h},g=d,l.prototype.on=function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)},l.prototype.off=function(e,t){if(!this.listeners[e])return!1;var i=this.listeners[e].indexOf(t);return this.listeners[e].splice(i,1),-1<i},l.prototype.trigger=function(e,t){var i=this.listeners[e];if(i)if(2===arguments.length)for(var n=i.length,r=0;r<n;++r)i[r].call(this,t);else for(var s=Array.prototype.slice.call(arguments,1),a=i.length,o=0;o<a;++o)i[o].apply(this,s)},l.prototype.dispose=function(){this.listeners={}},l.prototype.pipe=function(t){this.on(\"data\",function(e){t.push(e)})},function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(p,r=n=l),p.prototype.processJob_=function(){this.jobs.shift()(),this.jobs.length?this.timeout_=setTimeout(this.processJob_.bind(this),this.delay):this.timeout_=null},p.prototype.push=function(e){this.jobs.push(e),this.timeout_||(this.timeout_=setTimeout(this.processJob_.bind(this),this.delay))},u=p,f.prototype.decryptChunk_=function(t,i,n,r){return function(){var e=function(e,t,i){var n=new Int32Array(e.buffer,e.byteOffset,e.byteLength>>2),r=new g(Array.prototype.slice.call(t)),s=new Uint8Array(e.byteLength),a=new Int32Array(s.buffer),o=void 0,u=void 0,l=void 0,c=void 0,h=void 0,d=void 0,p=void 0,f=void 0,m=void 0;for(o=i[0],u=i[1],l=i[2],c=i[3],m=0;m<n.length;m+=4)h=v(n[m]),d=v(n[m+1]),p=v(n[m+2]),f=v(n[m+3]),r.decrypt(h,d,p,f,a,m),a[m]=v(a[m]^o),a[m+1]=v(a[m+1]^u),a[m+2]=v(a[m+2]^l),a[m+3]=v(a[m+3]^c),o=h,u=d,l=p,c=f;return s}(t,i,n);r.set(e,t.byteOffset)}},i(f,null,[{key:\"STEP\",get:function(){return 32e3}}]),a=f,new function(s){s.onmessage=function(e){var i=e.data,t=new Uint8Array(i.encrypted.bytes,i.encrypted.byteOffset,i.encrypted.byteLength),n=new Uint32Array(i.key.bytes,i.key.byteOffset,i.key.byteLength/4),r=new Uint32Array(i.iv.bytes,i.iv.byteOffset,i.iv.byteLength/4);new a(t,n,r,function(e,t){s.postMessage(function(i){var n={};return Object.keys(i).forEach(function(e){var t=i[e];ArrayBuffer.isView(t)?n[e]={bytes:t.buffer,byteOffset:t.byteOffset,byteLength:t.byteLength}:n[e]=t}),n}({source:i.source,decrypted:t}),[t.buffer])})}}(s);function h(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function d(e){h(this,d),c=c||function(){var e=[[[],[],[],[],[]],[[],[],[],[],[]]],t=e[0],i=e[1],n=t[4],r=i[4],s=void 0,a=void 0,o=void 0,u=[],l=[],c=void 0,h=void 0,d=void 0,p=void 0,f=void 0;for(s=0;s<256;s++)l[(u[s]=s<<1^283*(s>>7))^s]=s;for(a=o=0;!n[a];a^=c||1,o=l[o]||1)for(d=(d=o^o<<1^o<<2^o<<3^o<<4)>>8^255&d^99,f=16843009*u[h=u[c=u[r[n[a]=d]=a]]]^65537*h^257*c^16843008*a,p=257*u[d]^16843008*d,s=0;s<4;s++)t[s][a]=p=p<<24^p>>>8,i[s][d]=f=f<<24^f>>>8;for(s=0;s<5;s++)t[s]=t[s].slice(0),i[s]=i[s].slice(0);return e}(),this._tables=[[c[0][0].slice(),c[0][1].slice(),c[0][2].slice(),c[0][3].slice(),c[0][4].slice()],[c[1][0].slice(),c[1][1].slice(),c[1][2].slice(),c[1][3].slice(),c[1][4].slice()]];var t=void 0,i=void 0,n=void 0,r=void 0,s=void 0,a=this._tables[0][4],o=this._tables[1],u=e.length,l=1;if(4!==u&&6!==u&&8!==u)throw new Error(\"Invalid aes key size\");for(r=e.slice(0),s=[],this._key=[r,s],t=u;t<4*u+28;t++)n=r[t-1],(t%u==0||8===u&&t%u==4)&&(n=a[n>>>24]<<24^a[n>>16&255]<<16^a[n>>8&255]<<8^a[255&n],t%u==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[t]=r[t-u]^n;for(i=0;t;i++,t--)n=r[3&i?t:t-4],s[i]=t<=4||i<4?n:o[0][a[n>>>24]]^o[1][a[n>>16&255]]^o[2][a[n>>8&255]]^o[3][a[255&n]]}function l(){h(this,l),this.listeners={}}function p(){h(this,p);var e=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}(this,r.call(this,n));return e.jobs=[],e.delay=1,e.timeout_=null,e}function v(e){return e<<24|(65280&e)<<8|(16711680&e)>>8|e>>>24}function f(e,t,i,n){h(this,f);var r=f.STEP,s=new Int32Array(e.buffer),a=new Uint8Array(e.byteLength),o=0;for(this.asyncStream_=new u,this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a)),o=r;o<s.length;o+=r)i=new Uint32Array([v(s[o-4]),v(s[o-3]),v(s[o-2]),v(s[o-1])]),this.asyncStream_.push(this.decryptChunk_(s.subarray(o,o+r),t,i,a));this.asyncStream_.push(function(){n(null,function(e){return e.subarray(0,e.byteLength-e[e.byteLength-1])}(a))})}}),_h={AUDIO:function(u,l){return function(){var e=l.segmentLoaders[u],t=l.mediaTypes[u],i=l.blacklistCurrentPlaylist;mh(e,t);var n=t.activeTrack(),r=t.activeGroup(),s=(r.filter(function(e){return e.default})[0]||r[0]).id,a=t.tracks[s];if(n!==a){for(var o in as.log.warn(\"Problem encountered loading the alternate audio track.Switching back to default.\"),t.tracks)t.tracks[o].enabled=t.tracks[o]===a;t.onTrackChanged()}else i({message:\"Problem encountered loading the default audio track.\"})}},SUBTITLES:function(n,r){return function(){var e=r.segmentLoaders[n],t=r.mediaTypes[n];as.log.warn(\"Problem encountered loading the subtitle track.Disabling subtitle track.\"),mh(e,t);var i=t.activeTrack();i&&(i.mode=\"disabled\"),t.onTrackChanged()}}},bh={AUDIO:function(e,t,i){if(t){var n=i.tech,r=i.requestOptions,s=i.segmentLoaders[e];t.on(\"loadedmetadata\",function(){var e=t.media();s.playlist(e,r),(!n.paused()||e.endList&&\"none\"!==n.preload())&&s.load()}),t.on(\"loadedplaylist\",function(){s.playlist(t.media(),r),n.paused()||s.load()}),t.on(\"error\",_h[e](e,i))}},SUBTITLES:function(e,t,i){var n=i.tech,r=i.requestOptions,s=i.segmentLoaders[e],a=i.mediaTypes[e];t.on(\"loadedmetadata\",function(){var e=t.media();s.playlist(e,r),s.track(a.activeTrack()),(!n.paused()||e.endList&&\"none\"!==n.preload())&&s.load()}),t.on(\"loadedplaylist\",function(){s.playlist(t.media(),r),n.paused()||s.load()}),t.on(\"error\",_h[e](e,i))}},Th={AUDIO:function(e,t){var i,n,r=t.hls,s=t.sourceType,a=t.segmentLoaders[e],o=t.requestOptions,u=t.master.mediaGroups,l=t.mediaTypes[e],c=l.groups,h=l.tracks,d=t.masterPlaylistLoader;for(var p in u[e]&&0!==Object.keys(u[e]).length||(u[e]={main:{default:{default:!0}}}),u[e])for(var f in c[p]||(c[p]=[]),u[e][p]){var m=u[e][p][f],g=void 0;if(g=m.resolvedUri?new bl(m.resolvedUri,r,o):m.playlists&&\"dash\"===s?new jc(m.playlists[0],r,o,d):null,m=as.mergeOptions({id:f,playlistLoader:g},m),bh[e](e,m.playlistLoader,t),c[p].push(m),\"undefined\"==typeof h[f]){var v=new as.AudioTrack({id:f,kind:(i=m,n=void 0,n=i.default?\"main\":\"alternative\",i.characteristics&&0<=i.characteristics.indexOf(\"public.accessibility.describes-video\")&&(n=\"main-desc\"),n),enabled:!1,language:m.language,default:m.default,label:f});h[f]=v}}a.on(\"error\",_h[e](e,t))},SUBTITLES:function(e,t){var i=t.tech,n=t.hls,r=t.sourceType,s=t.segmentLoaders[e],a=t.requestOptions,o=t.master.mediaGroups,u=t.mediaTypes[e],l=u.groups,c=u.tracks,h=t.masterPlaylistLoader;for(var d in o[e])for(var p in l[d]||(l[d]=[]),o[e][d])if(!o[e][d][p].forced){var f=o[e][d][p],m=void 0;if(\"hls\"===r?m=new bl(f.resolvedUri,n,a):\"dash\"===r&&(m=new jc(f.playlists[0],n,a,h)),f=as.mergeOptions({id:p,playlistLoader:m},f),bh[e](e,f.playlistLoader,t),l[d].push(f),\"undefined\"==typeof c[p]){var g=i.addRemoteTextTrack({id:p,kind:\"subtitles\",default:f.default&&f.autoselect,language:f.language,label:p},!1).track;c[p]=g}}s.on(\"error\",_h[e](e,t))},\"CLOSED-CAPTIONS\":function(e,t){var i=t.tech,n=t.master.mediaGroups,r=t.mediaTypes[e],s=r.groups,a=r.tracks;for(var o in n[e])for(var u in s[o]||(s[o]=[]),n[e][o]){var l=n[e][o][u];if(l.instreamId.match(/CC\\d/)&&(s[o].push(as.mergeOptions({id:u},l)),\"undefined\"==typeof a[u])){var c=i.addRemoteTextTrack({id:l.instreamId,kind:\"captions\",default:l.default&&l.autoselect,language:l.language,label:u},!1).track;a[u]=c}}}},Sh={AUDIO:function(i,n){return function(){var e=n.mediaTypes[i].tracks;for(var t in e)if(e[t].enabled)return e[t];return null}},SUBTITLES:function(i,n){return function(){var e=n.mediaTypes[i].tracks;for(var t in e)if(\"showing\"===e[t].mode||\"hidden\"===e[t].mode)return e[t];return null}}},kh=void 0,Ch=[\"mediaRequests\",\"mediaRequestsAborted\",\"mediaRequestsTimedout\",\"mediaRequestsErrored\",\"mediaTransferDuration\",\"mediaBytesTransferred\"],wh=(ll(Eh,as.EventTarget),ol(Eh,[{key:\"setupMasterPlaylistLoaderListeners_\",value:function(){var n=this;this.masterPlaylistLoader_.on(\"loadedmetadata\",function(){var e=n.masterPlaylistLoader_.media(),t=1.5*e.targetDuration*1e3;Dl(n.masterPlaylistLoader_.master,n.masterPlaylistLoader_.media())?n.requestOptions_.timeout=0:n.requestOptions_.timeout=t,e.endList&&\"none\"!==n.tech_.preload()&&(n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.mainSegmentLoader_.load()),vh({sourceType:n.sourceType_,segmentLoaders:{AUDIO:n.audioSegmentLoader_,SUBTITLES:n.subtitleSegmentLoader_,main:n.mainSegmentLoader_},tech:n.tech_,requestOptions:n.requestOptions_,masterPlaylistLoader:n.masterPlaylistLoader_,hls:n.hls_,master:n.master(),mediaTypes:n.mediaTypes_,blacklistCurrentPlaylist:n.blacklistCurrentPlaylist.bind(n)}),n.triggerPresenceUsage_(n.master(),e);try{n.setupSourceBuffers_()}catch(e){return as.log.warn(\"Failed to create SourceBuffers\",e),n.mediaSource.endOfStream(\"decode\")}n.setupFirstPlay(),!n.mediaTypes_.AUDIO.activePlaylistLoader||n.mediaTypes_.AUDIO.activePlaylistLoader.media()?n.trigger(\"selectedinitialmedia\"):n.mediaTypes_.AUDIO.activePlaylistLoader.one(\"loadedmetadata\",function(){n.trigger(\"selectedinitialmedia\")})}),this.masterPlaylistLoader_.on(\"loadedplaylist\",function(){var e=n.masterPlaylistLoader_.media();if(!e){n.excludeUnsupportedVariants_();var t=void 0;return n.enableLowInitialPlaylist&&(t=n.selectInitialPlaylist()),t=t||n.selectPlaylist(),n.initialMedia_=t,void n.masterPlaylistLoader_.media(n.initialMedia_)}if(n.useCueTags_&&n.updateAdCues_(e),n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.updateDuration(),n.tech_.paused()||(n.mainSegmentLoader_.load(),n.audioSegmentLoader_&&n.audioSegmentLoader_.load()),!e.endList){var i=function(){var e=n.seekable();0!==e.length&&n.mediaSource.addSeekableRange_(e.start(0),e.end(0))};n.duration()!==1/0?n.tech_.one(\"durationchange\",function e(){n.duration()===1/0?i():n.tech_.one(\"durationchange\",e)}):i()}}),this.masterPlaylistLoader_.on(\"error\",function(){n.blacklistCurrentPlaylist(n.masterPlaylistLoader_.error)}),this.masterPlaylistLoader_.on(\"mediachanging\",function(){n.mainSegmentLoader_.abort(),n.mainSegmentLoader_.pause()}),this.masterPlaylistLoader_.on(\"mediachange\",function(){var e=n.masterPlaylistLoader_.media(),t=1.5*e.targetDuration*1e3;Dl(n.masterPlaylistLoader_.master,n.masterPlaylistLoader_.media())?n.requestOptions_.timeout=0:n.requestOptions_.timeout=t,n.mainSegmentLoader_.playlist(e,n.requestOptions_),n.mainSegmentLoader_.load(),n.tech_.trigger({type:\"mediachange\",bubbles:!0})}),this.masterPlaylistLoader_.on(\"playlistunchanged\",function(){var e=n.masterPlaylistLoader_.media();n.stuckAtPlaylistEnd_(e)&&(n.blacklistCurrentPlaylist({message:\"Playlist no longer updating.\"}),n.tech_.trigger(\"playliststuck\"))}),this.masterPlaylistLoader_.on(\"renditiondisabled\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-rendition-disabled\"})}),this.masterPlaylistLoader_.on(\"renditionenabled\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-rendition-enabled\"})})}},{key:\"triggerPresenceUsage_\",value:function(e,t){var i=e.mediaGroups||{},n=!0,r=Object.keys(i.AUDIO);for(var s in i.AUDIO)for(var a in i.AUDIO[s])i.AUDIO[s][a].uri||(n=!1);n&&this.tech_.trigger({type:\"usage\",name:\"hls-demuxed\"}),Object.keys(i.SUBTITLES).length&&this.tech_.trigger({type:\"usage\",name:\"hls-webvtt\"}),kh.Playlist.isAes(t)&&this.tech_.trigger({type:\"usage\",name:\"hls-aes\"}),kh.Playlist.isFmp4(t)&&this.tech_.trigger({type:\"usage\",name:\"hls-fmp4\"}),r.length&&1<Object.keys(i.AUDIO[r[0]]).length&&this.tech_.trigger({type:\"usage\",name:\"hls-alternate-audio\"}),this.useCueTags_&&this.tech_.trigger({type:\"usage\",name:\"hls-playlist-cue-tags\"})}},{key:\"setupSegmentLoaderListeners_\",value:function(){var n=this;this.mainSegmentLoader_.on(\"bandwidthupdate\",function(){var e=n.selectPlaylist(),t=n.masterPlaylistLoader_.media(),i=n.tech_.buffered();!function(e){var t=e.currentPlaylist,i=e.nextPlaylist,n=e.forwardBuffer,r=e.bufferLowWaterLine,s=e.duration;return e.log,i?!t.endList||s<eh.MAX_BUFFER_LOW_WATER_LINE||i.attributes.BANDWIDTH<t.attributes.BANDWIDTH||r<=n:(as.log.warn(\"We received no playlist to switch to. Please check your stream.\"),!1)}({currentPlaylist:t,nextPlaylist:e,forwardBuffer:i.length?i.end(i.length-1)-n.tech_.currentTime():0,bufferLowWaterLine:n.bufferLowWaterLine(),duration:n.duration(),log:n.logger_})||n.masterPlaylistLoader_.media(e),n.tech_.trigger(\"bandwidthupdate\")}),this.mainSegmentLoader_.on(\"progress\",function(){n.trigger(\"progress\")}),this.mainSegmentLoader_.on(\"error\",function(){n.blacklistCurrentPlaylist(n.mainSegmentLoader_.error())}),this.mainSegmentLoader_.on(\"syncinfoupdate\",function(){n.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(\"timestampoffset\",function(){n.tech_.trigger({type:\"usage\",name:\"hls-timestamp-offset\"})}),this.audioSegmentLoader_.on(\"syncinfoupdate\",function(){n.onSyncInfoUpdate_()}),this.mainSegmentLoader_.on(\"ended\",function(){n.onEndOfStream()}),this.mainSegmentLoader_.on(\"earlyabort\",function(){n.blacklistCurrentPlaylist({message:\"Aborted early because there isn't enough bandwidth to complete the request without rebuffering.\"},120)}),this.mainSegmentLoader_.on(\"reseteverything\",function(){n.tech_.trigger(\"hls-reset\")}),this.mainSegmentLoader_.on(\"segmenttimemapping\",function(e){n.tech_.trigger({type:\"hls-segment-time-mapping\",mapping:e.mapping})}),this.audioSegmentLoader_.on(\"ended\",function(){n.onEndOfStream()})}},{key:\"mediaSecondsLoaded_\",value:function(){return Math.max(this.audioSegmentLoader_.mediaSecondsLoaded+this.mainSegmentLoader_.mediaSecondsLoaded)}},{key:\"load\",value:function(){this.mainSegmentLoader_.load(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.load(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.load()}},{key:\"smoothQualityChange_\",value:function(){var e=this.selectPlaylist();e!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(e),this.mainSegmentLoader_.resetLoader())}},{key:\"fastQualityChange_\",value:function(){var e=this,t=this.selectPlaylist();t!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(t),this.mainSegmentLoader_.resetEverything(function(){as.browser.IE_VERSION||as.browser.IS_EDGE?e.tech_.setCurrentTime(e.tech_.currentTime()+.04):e.tech_.setCurrentTime(e.tech_.currentTime())}))}},{key:\"play\",value:function(){if(!this.setupFirstPlay()){this.tech_.ended()&&this.tech_.setCurrentTime(0),this.hasPlayed_&&this.load();var e=this.tech_.seekable();return this.tech_.duration()===1/0&&this.tech_.currentTime()<e.start(0)?this.tech_.setCurrentTime(e.end(e.length-1)):void 0}}},{key:\"setupFirstPlay\",value:function(){var e=this,t=this.masterPlaylistLoader_.media();if(!t||this.tech_.paused()||this.hasPlayed_)return!1;if(!t.endList){var i=this.seekable();if(!i.length)return!1;if(as.browser.IE_VERSION&&0===this.tech_.readyState())return this.tech_.one(\"loadedmetadata\",function(){e.trigger(\"firstplay\"),e.tech_.setCurrentTime(i.end(0)),e.hasPlayed_=!0}),!1;this.trigger(\"firstplay\"),this.tech_.setCurrentTime(i.end(0))}return this.hasPlayed_=!0,this.load(),!0}},{key:\"handleSourceOpen_\",value:function(){try{this.setupSourceBuffers_()}catch(e){return as.log.warn(\"Failed to create Source Buffers\",e),this.mediaSource.endOfStream(\"decode\")}if(this.tech_.autoplay()){var e=this.tech_.play();\"undefined\"!=typeof e&&\"function\"==typeof e.then&&e.then(null,function(e){})}this.trigger(\"sourceopen\")}},{key:\"onEndOfStream\",value:function(){var e=this.mainSegmentLoader_.ended_;if(this.mediaTypes_.AUDIO.activePlaylistLoader&&(e=!this.mainSegmentLoader_.startingMedia_||this.mainSegmentLoader_.startingMedia_.containsVideo?e&&this.audioSegmentLoader_.ended_:this.audioSegmentLoader_.ended_),e){this.logger_(\"calling mediaSource.endOfStream()\");try{this.mediaSource.endOfStream()}catch(e){as.log.warn(\"Failed to call media source endOfStream\",e)}}}},{key:\"stuckAtPlaylistEnd_\",value:function(e){if(!this.seekable().length)return!1;var t=this.syncController_.getExpiredTime(e,this.mediaSource.duration);if(null===t)return!1;var i=kh.Playlist.playlistEnd(e,t),n=this.tech_.currentTime(),r=this.tech_.buffered();if(!r.length)return i-n<=.1;var s=r.end(r.length-1);return s-n<=.1&&i-s<=.1}},{key:\"blacklistCurrentPlaylist\",value:function(e,t){var i,n=0<arguments.length&&void 0!==e?e:{},r=t,s=void 0;if(s=n.playlist||this.masterPlaylistLoader_.media(),r=r||n.blacklistDuration||this.blacklistDuration,!s){this.error=n;try{return this.mediaSource.endOfStream(\"network\")}catch(e){return this.trigger(\"error\")}}var a=1===this.masterPlaylistLoader_.master.playlists.filter(Ll).length,o=this.masterPlaylistLoader_.master.playlists;return 1===o.length?(as.log.warn(\"Problem encountered with the current HLS playlist. Trying again since it is the only playlist.\"),this.tech_.trigger(\"retryplaylist\"),this.masterPlaylistLoader_.load(a)):(a&&(as.log.warn(\"Removing all playlists from the blacklist because the last rendition is about to be blacklisted.\"),o.forEach(function(e){e.excludeUntil!==1/0&&delete e.excludeUntil}),this.tech_.trigger(\"retryplaylist\")),s.excludeUntil=Date.now()+1e3*r,this.tech_.trigger(\"blacklistplaylist\"),this.tech_.trigger({type:\"usage\",name:\"hls-rendition-blacklisted\"}),i=this.selectPlaylist(),as.log.warn(\"Problem encountered with the current HLS playlist.\"+(n.message?\" \"+n.message:\"\")+\" Switching to another playlist.\"),this.masterPlaylistLoader_.media(i,a))}},{key:\"pauseLoading\",value:function(){this.mainSegmentLoader_.pause(),this.mediaTypes_.AUDIO.activePlaylistLoader&&this.audioSegmentLoader_.pause(),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&this.subtitleSegmentLoader_.pause()}},{key:\"setCurrentTime\",value:function(e){var t=zl(this.tech_.buffered(),e);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?t&&t.length?e:(this.mainSegmentLoader_.resetEverything(),this.mainSegmentLoader_.abort(),this.mediaTypes_.AUDIO.activePlaylistLoader&&(this.audioSegmentLoader_.resetEverything(),this.audioSegmentLoader_.abort()),this.mediaTypes_.SUBTITLES.activePlaylistLoader&&(this.subtitleSegmentLoader_.resetEverything(),this.subtitleSegmentLoader_.abort()),void this.load()):0}},{key:\"duration\",value:function(){return this.masterPlaylistLoader_?this.mediaSource?this.mediaSource.duration:kh.Playlist.duration(this.masterPlaylistLoader_.media()):0}},{key:\"seekable\",value:function(){return this.seekable_}},{key:\"onSyncInfoUpdate_\",value:function(){var e=void 0;if(this.masterPlaylistLoader_){var t=this.masterPlaylistLoader_.media();if(t){var i=this.syncController_.getExpiredTime(t,this.mediaSource.duration);if(null!==i){var n=this.masterPlaylistLoader_.master.suggestedPresentationDelay,r=kh.Playlist.seekable(t,i,n);if(0!==r.length){if(this.mediaTypes_.AUDIO.activePlaylistLoader){if(t=this.mediaTypes_.AUDIO.activePlaylistLoader.media(),null===(i=this.syncController_.getExpiredTime(t,this.mediaSource.duration)))return;if(0===(e=kh.Playlist.seekable(t,i,n)).length)return}var s=void 0,a=void 0;this.seekable_&&this.seekable_.length&&(s=this.seekable_.end(0),a=this.seekable_.start(0)),e?e.start(0)>r.end(0)||r.start(0)>e.end(0)?this.seekable_=r:this.seekable_=as.createTimeRanges([[e.start(0)>r.start(0)?e.start(0):r.start(0),e.end(0)<r.end(0)?e.end(0):r.end(0)]]):this.seekable_=r,this.seekable_&&this.seekable_.length&&this.seekable_.end(0)===s&&this.seekable_.start(0)===a||(this.logger_(\"seekable updated [\"+Xl(this.seekable_)+\"]\"),this.tech_.trigger(\"seekablechanged\"))}}}}}},{key:\"updateDuration\",value:function(){function e(){t.logger_(\"Setting duration from \"+t.mediaSource.duration+\" => \"+n);try{t.mediaSource.duration=n}catch(e){as.log.warn(\"Failed to set media source duration\",e)}t.tech_.trigger(\"durationchange\"),t.mediaSource.removeEventListener(\"sourceopen\",e)}var t=this,i=this.mediaSource.duration,n=kh.Playlist.duration(this.masterPlaylistLoader_.media()),r=this.tech_.buffered();0<r.length&&(n=Math.max(n,r.end(r.length-1))),i!==n&&(\"open\"!==this.mediaSource.readyState?this.mediaSource.addEventListener(\"sourceopen\",e):e())}},{key:\"dispose\",value:function(){var n=this;this.trigger(\"dispose\"),this.decrypter_&&this.decrypter_.terminate(),this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),[\"AUDIO\",\"SUBTITLES\"].forEach(function(e){var t=n.mediaTypes_[e].groups;for(var i in t)t[i].forEach(function(e){e.playlistLoader&&e.playlistLoader.dispose()})}),this.audioSegmentLoader_.dispose(),this.subtitleSegmentLoader_.dispose(),this.off(),this.mediaSource.dispose&&this.mediaSource.dispose()}},{key:\"master\",value:function(){return this.masterPlaylistLoader_.master}},{key:\"media\",value:function(){return this.masterPlaylistLoader_.media()||this.initialMedia_}},{key:\"setupSourceBuffers_\",value:function(){var e,t=this.masterPlaylistLoader_.media();if(t&&\"open\"===this.mediaSource.readyState){if((e=_c(this.masterPlaylistLoader_.master,t)).length<1)return this.error=\"No compatible SourceBuffer configuration for the variant stream:\"+t.resolvedUri,this.mediaSource.endOfStream(\"decode\");this.configureLoaderMimeTypes_(e),this.excludeIncompatibleVariants_(t)}}},{key:\"configureLoaderMimeTypes_\",value:function(e){var t=1<e.length&&-1===e[0].indexOf(\",\")&&e[0]!==e[1]?new as.EventTarget:null;this.mainSegmentLoader_.mimeType(e[0],t),e[1]&&this.audioSegmentLoader_.mimeType(e[1],t)}},{key:\"excludeUnsupportedVariants_\",value:function(){this.master().playlists.forEach(function(e){e.attributes.CODECS&&y.MediaSource&&y.MediaSource.isTypeSupported&&!y.MediaSource.isTypeSupported('video/mp4; codecs=\"'+function(e){return e.replace(/avc1\\.(\\d+)\\.(\\d+)/i,function(e){return gc([e])[0]})}(e.attributes.CODECS)+'\"')&&(e.excludeUntil=1/0)})}},{key:\"excludeIncompatibleVariants_\",value:function(e){var i=2,n=null,t=void 0;e.attributes.CODECS&&(t=vc(e.attributes.CODECS),n=t.videoCodec,i=t.codecCount),this.master().playlists.forEach(function(e){var t={codecCount:2,videoCodec:null};e.attributes.CODECS&&(t=vc(e.attributes.CODECS)),t.codecCount!==i&&(e.excludeUntil=1/0),t.videoCodec!==n&&(e.excludeUntil=1/0)})}},{key:\"updateAdCues_\",value:function(e){var t=0,i=this.seekable();i.length&&(t=i.start(0)),function(e,t,i){var n=2<arguments.length&&void 0!==i?i:0;if(e.segments)for(var r=n,s=void 0,a=0;a<e.segments.length;a++){var o=e.segments[a];if(s=s||ch(t,r+o.duration/2)){if(\"cueIn\"in o){s.endTime=r,s.adEndTime=r,r+=o.duration,s=null;continue}if(r<s.endTime){r+=o.duration;continue}s.endTime+=o.duration}else if(\"cueOut\"in o&&((s=new y.VTTCue(r,r+o.duration,o.cueOut)).adStartTime=r,s.adEndTime=r+parseFloat(o.cueOut),t.addCue(s)),\"cueOutCont\"in o){var u,l,c=o.cueOutCont.split(\"/\").map(parseFloat),h=vl(c,2);u=h[0],l=h[1],(s=new y.VTTCue(r,r+o.duration,\"\")).adStartTime=r-u,s.adEndTime=s.adStartTime+l,t.addCue(s)}r+=o.duration}}(e,this.cueTagsTrack_,t)}},{key:\"goalBufferLength\",value:function(){var e=this.tech_.currentTime(),t=eh.GOAL_BUFFER_LENGTH,i=eh.GOAL_BUFFER_LENGTH_RATE,n=Math.max(t,eh.MAX_GOAL_BUFFER_LENGTH);return Math.min(t+e*i,n)}},{key:\"bufferLowWaterLine\",value:function(){var e=this.tech_.currentTime(),t=eh.BUFFER_LOW_WATER_LINE,i=eh.BUFFER_LOW_WATER_LINE_RATE,n=Math.max(t,eh.MAX_BUFFER_LOW_WATER_LINE);return Math.min(t+e*i,n)}}]),Eh);function Eh(e){al(this,Eh);var t=cl(this,(Eh.__proto__||Object.getPrototypeOf(Eh)).call(this)),i=e.url,n=e.handleManifestRedirects,r=e.withCredentials,s=e.tech,a=e.bandwidth,o=e.externHls,u=e.useCueTags,l=e.blacklistDuration,c=e.enableLowInitialPlaylist,h=e.cacheEncryptionKeys,d=e.sourceType;if(!i)throw new Error(\"A non-empty playlist URL is required\");kh=o,t.withCredentials=r,t.tech_=s,t.hls_=s.hls,t.sourceType_=d,t.useCueTags_=u,t.blacklistDuration=l,t.enableLowInitialPlaylist=c,t.useCueTags_&&(t.cueTagsTrack_=t.tech_.addTextTrack(\"metadata\",\"ad-cues\"),t.cueTagsTrack_.inBandMetadataTrackDispatchType=\"\"),t.requestOptions_={withCredentials:r,handleManifestRedirects:n,timeout:null},t.mediaTypes_=function(){var t={};return[\"AUDIO\",\"SUBTITLES\",\"CLOSED-CAPTIONS\"].forEach(function(e){t[e]={groups:{},tracks:{},activePlaylistLoader:null,activeGroup:Vc,activeTrack:Vc,onGroupChanged:Vc,onTrackChanged:Vc}}),t}(),t.mediaSource=new as.MediaSource,t.mediaSource.addEventListener(\"sourceopen\",t.handleSourceOpen_.bind(t)),t.seekable_=as.createTimeRanges(),t.hasPlayed_=!1,t.syncController_=new ph(e),t.segmentMetadataTrack_=s.addRemoteTextTrack({kind:\"metadata\",label:\"segment-metadata\"},!1).track,t.decrypter_=new yh,t.inbandTextTracks_={};var p={hls:t.hls_,mediaSource:t.mediaSource,currentTime:t.tech_.currentTime.bind(t.tech_),seekable:function(){return t.seekable()},seeking:function(){return t.tech_.seeking()},duration:function(){return t.mediaSource.duration},hasPlayed:function(){return t.hasPlayed_},goalBufferLength:function(){return t.goalBufferLength()},bandwidth:a,syncController:t.syncController_,decrypter:t.decrypter_,sourceType:t.sourceType_,inbandTextTracks:t.inbandTextTracks_,cacheEncryptionKeys:h};return t.masterPlaylistLoader_=\"dash\"===t.sourceType_?new jc(i,t.hls_,t.requestOptions_):new bl(i,t.hls_,t.requestOptions_),t.setupMasterPlaylistLoaderListeners_(),t.mainSegmentLoader_=new rh(as.mergeOptions(p,{segmentMetadataTrack:t.segmentMetadataTrack_,loaderType:\"main\"}),e),t.audioSegmentLoader_=new rh(as.mergeOptions(p,{loaderType:\"audio\"}),e),t.subtitleSegmentLoader_=new uh(as.mergeOptions(p,{loaderType:\"vtt\",featuresNativeTextTracks:t.tech_.featuresNativeTextTracks}),e),t.setupSegmentLoaderListeners_(),Ch.forEach(function(e){t[e+\"_\"]=function(e){return this.audioSegmentLoader_[e]+this.mainSegmentLoader_[e]}.bind(t,e)}),t.logger_=Hc(\"MPC\"),t.masterPlaylistLoader_.load(),t}function xh(e,t,i){al(this,xh);var n=e.masterPlaylistController_,r=n[(e.options_.smoothQualityChange?\"smooth\":\"fast\")+\"QualityChange_\"].bind(n);if(t.attributes.RESOLUTION){var s=t.attributes.RESOLUTION;this.width=s.width,this.height=s.height}this.bandwidth=t.attributes.BANDWIDTH,this.id=i,this.enabled=function(r,s,a){return function(e){var t=r.master.playlists[s],i=Pl(t),n=Ll(t);return\"undefined\"==typeof e?n:(e?delete t.disabled:t.disabled=!0,e===n||i||(a(),e?r.trigger(\"renditionenabled\"):r.trigger(\"renditiondisabled\")),e)}}(e.playlists,t.id,r)}var Ah=[\"seeking\",\"seeked\",\"pause\",\"playing\",\"error\"],Ih=(ol(Ph,[{key:\"monitorCurrentTime_\",value:function(){this.checkCurrentTime_(),this.checkCurrentTimeTimeout_&&y.clearTimeout(this.checkCurrentTimeTimeout_),this.checkCurrentTimeTimeout_=y.setTimeout(this.monitorCurrentTime_.bind(this),250)}},{key:\"checkCurrentTime_\",value:function(){if(this.tech_.seeking()&&this.fixesBadSeeks_())return this.consecutiveUpdates=0,void(this.lastRecordedTime=this.tech_.currentTime());if(!this.tech_.paused()&&!this.tech_.seeking()){var e=this.tech_.currentTime(),t=this.tech_.buffered();if(this.lastRecordedTime===e&&(!t.length||e+.1>=t.end(t.length-1)))return this.techWaiting_();5<=this.consecutiveUpdates&&e===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):e===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=e)}}},{key:\"cancelTimer_\",value:function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_(\"cancelTimer_\"),clearTimeout(this.timer_)),this.timer_=null}},{key:\"fixesBadSeeks_\",value:function(){if(!this.tech_.seeking())return!1;var e=this.seekable(),t=this.tech_.currentTime(),i=void 0;return this.afterSeekableWindow_(e,t,this.media(),this.allowSeeksWithinUnsafeLiveWindow)&&(i=e.end(e.length-1)),this.beforeSeekableWindow_(e,t)&&(i=e.start(0)+.1),\"undefined\"!=typeof i&&(this.logger_(\"Trying to seek outside of seekable at time \"+t+\" with seekable range \"+Xl(e)+\". Seeking to \"+i+\".\"),this.tech_.setCurrentTime(i),!0)}},{key:\"waiting_\",value:function(){if(!this.techWaiting_()){var e=this.tech_.currentTime(),t=this.tech_.buffered(),i=zl(t,e);return i.length&&e+3<=i.end(0)?(this.cancelTimer_(),this.tech_.setCurrentTime(e),this.logger_(\"Stopped at \"+e+\" while inside a buffered region [\"+i.start(0)+\" -> \"+i.end(0)+\"]. Attempting to resume playback by seeking to the current time.\"),void this.tech_.trigger({type:\"usage\",name:\"hls-unknown-waiting\"})):void 0}}},{key:\"techWaiting_\",value:function(){var e=this.seekable(),t=this.tech_.currentTime();if(this.tech_.seeking()&&this.fixesBadSeeks_())return!0;if(this.tech_.seeking()||null!==this.timer_)return!0;if(this.beforeSeekableWindow_(e,t)){var i=e.end(e.length-1);return this.logger_(\"Fell out of live window at time \"+t+\". Seeking to live point (seekable end) \"+i),this.cancelTimer_(),this.tech_.setCurrentTime(i),this.tech_.trigger({type:\"usage\",name:\"hls-live-resync\"}),!0}var n=this.tech_.buffered(),r=Gl(n,t);if(this.videoUnderflow_(r,n,t))return this.cancelTimer_(),this.tech_.setCurrentTime(t),this.tech_.trigger({type:\"usage\",name:\"hls-video-underflow\"}),!0;if(0<r.length){var s=r.start(0)-t;return this.logger_(\"Stopped at \"+t+\", setting timer for \"+s+\", seeking to \"+r.start(0)),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*s,t),!0}return!1}},{key:\"afterSeekableWindow_\",value:function(e,t,i,n){var r=3<arguments.length&&void 0!==n&&n;if(!e.length)return!1;var s=e.end(e.length-1)+.1;return!i.endList&&r&&(s=e.end(e.length-1)+3*i.targetDuration),s<t}},{key:\"beforeSeekableWindow_\",value:function(e,t){return!!(e.length&&0<e.start(0)&&t<e.start(0)-.1)}},{key:\"videoUnderflow_\",value:function(e,t,i){if(0===e.length){var n=this.gapFromVideoUnderflow_(t,i);if(n)return this.logger_(\"Encountered a gap in video from \"+n.start+\" to \"+n.end+\". Seeking to current time \"+i),!0}return!1}},{key:\"skipTheGap_\",value:function(e){var t=this.tech_.buffered(),i=this.tech_.currentTime(),n=Gl(t,i);this.cancelTimer_(),0!==n.length&&i===e&&(this.logger_(\"skipTheGap_:\",\"currentTime:\",i,\"scheduled currentTime:\",e,\"nextRange start:\",n.start(0)),this.tech_.setCurrentTime(n.start(0)+1/30),this.tech_.trigger({type:\"usage\",name:\"hls-gap-skip\"}))}},{key:\"gapFromVideoUnderflow_\",value:function(e,t){for(var i=function(e){if(e.length<2)return as.createTimeRanges();for(var t=[],i=1;i<e.length;i++){var n=e.end(i-1),r=e.start(i);t.push([n,r])}return as.createTimeRanges(t)}(e),n=0;n<i.length;n++){var r=i.start(n),s=i.end(n);if(t-r<4&&2<t-r)return{start:r,end:s}}return null}}]),Ph);function Ph(e){var t=this;al(this,Ph),this.tech_=e.tech,this.seekable=e.seekable,this.allowSeeksWithinUnsafeLiveWindow=e.allowSeeksWithinUnsafeLiveWindow,this.media=e.media,this.consecutiveUpdates=0,this.lastRecordedTime=null,this.timer_=null,this.checkCurrentTimeTimeout_=null,this.logger_=Hc(\"PlaybackWatcher\"),this.logger_(\"initialize\");function i(){return t.monitorCurrentTime_()}function n(){return t.techWaiting_()}function r(){return t.cancelTimer_()}function s(){return t.fixesBadSeeks_()}this.tech_.on(\"seekablechanged\",s),this.tech_.on(\"waiting\",n),this.tech_.on(Ah,r),this.tech_.on(\"canplay\",i),this.dispose=function(){t.logger_(\"dispose\"),t.tech_.off(\"seekablechanged\",s),t.tech_.off(\"waiting\",n),t.tech_.off(Ah,r),t.tech_.off(\"canplay\",i),t.checkCurrentTimeTimeout_&&y.clearTimeout(t.checkCurrentTimeTimeout_),t.cancelTimer_()}}function Lh(e){!function t(i,e){var n=0,r=0,s=as.mergeOptions(Oh,e);i.ready(function(){i.trigger({type:\"usage\",name:\"hls-error-reload-initialized\"})});function a(){r&&i.currentTime(r)}function o(e){null!=e&&(r=i.duration()!==1/0&&i.currentTime()||0,i.one(\"loadedmetadata\",a),i.src(e),i.trigger({type:\"usage\",name:\"hls-error-reload\"}),i.play())}function u(){if(Date.now()-n<1e3*s.errorInterval)i.trigger({type:\"usage\",name:\"hls-error-reload-canceled\"});else{if(s.getSource&&\"function\"==typeof s.getSource)return n=Date.now(),s.getSource.call(i,o);as.log.error(\"ERROR: reloadSourceOnError - The option getSource must be a function!\")}}function l(){i.off(\"loadedmetadata\",a),i.off(\"error\",u),i.off(\"dispose\",l)}i.on(\"error\",u),i.on(\"dispose\",l),i.reloadSourceOnError=function(e){l(),t(i,e)}}(this,e)}var Oh={errorInterval:30,getSource:function(e){return e(this.tech({IWillNotUseThisInPlugins:!0}).currentSource_)}},Dh={PlaylistLoader:bl,Playlist:tc,Decrypter:il,AsyncStream:Ju,decrypt:tl,utils:rc,STANDARD_PLAYLIST_SELECTOR:function(){var e=this.useDevicePixelRatio&&y.devicePixelRatio||1;return function(e,t,i,n,r){var s=e.playlists.map(function(e){var t,i;return t=e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width,i=e.attributes.RESOLUTION&&e.attributes.RESOLUTION.height,{bandwidth:e.attributes.BANDWIDTH||y.Number.MAX_VALUE,width:t,height:i,playlist:e}});Qc(s,function(e,t){return e.bandwidth-t.bandwidth});var a=(s=s.filter(function(e){return!tc.isIncompatible(e.playlist)})).filter(function(e){return tc.isEnabled(e.playlist)});a.length||(a=s.filter(function(e){return!tc.isDisabled(e.playlist)}));var o=a.filter(function(e){return e.bandwidth*eh.BANDWIDTH_VARIANCE<t}),u=o[o.length-1],l=o.filter(function(e){return e.bandwidth===u.bandwidth})[0];if(!1===r){var c=l||a[0]||s[0];return c?c.playlist:null}var h=o.filter(function(e){return e.width&&e.height});Qc(h,function(e,t){return e.width-t.width});var d=h.filter(function(e){return e.width===i&&e.height===n});u=d[d.length-1];var p=d.filter(function(e){return e.bandwidth===u.bandwidth})[0],f=void 0,m=void 0,g=void 0;p||(m=(f=h.filter(function(e){return e.width>i||e.height>n})).filter(function(e){return e.width===f[0].width&&e.height===f[0].height}),u=m[m.length-1],g=m.filter(function(e){return e.bandwidth===u.bandwidth})[0]);var v=g||p||l||a[0]||s[0];return v?v.playlist:null}(this.playlists.master,this.systemBandwidth,parseInt($c(this.tech_.el(),\"width\"),10)*e,parseInt($c(this.tech_.el(),\"height\"),10)*e,this.limitRenditionByPlayerDimensions)},INITIAL_PLAYLIST_SELECTOR:function(){var e=this.playlists.master.playlists.filter(tc.isEnabled);return Qc(e,function(e,t){return Jc(e,t)}),e.filter(function(e){return vc(e.attributes.CODECS).videoCodec})[0]||null},comparePlaylistBandwidth:Jc,comparePlaylistResolution:function(e,t){var i=void 0,n=void 0;return e.attributes.RESOLUTION&&e.attributes.RESOLUTION.width&&(i=e.attributes.RESOLUTION.width),i=i||y.Number.MAX_VALUE,t.attributes.RESOLUTION&&t.attributes.RESOLUTION.width&&(n=t.attributes.RESOLUTION.width),i===(n=n||y.Number.MAX_VALUE)&&e.attributes.BANDWIDTH&&t.attributes.BANDWIDTH?e.attributes.BANDWIDTH-t.attributes.BANDWIDTH:i-n},xhr:Nl()};[\"GOAL_BUFFER_LENGTH\",\"MAX_GOAL_BUFFER_LENGTH\",\"GOAL_BUFFER_LENGTH_RATE\",\"BUFFER_LOW_WATER_LINE\",\"MAX_BUFFER_LOW_WATER_LINE\",\"BUFFER_LOW_WATER_LINE_RATE\",\"BANDWIDTH_VARIANCE\"].forEach(function(t){Object.defineProperty(Dh,t,{get:function(){return as.log.warn(\"using Hls.\"+t+\" is UNSAFE be sure you know what you are doing\"),eh[t]},set:function(e){as.log.warn(\"using Hls.\"+t+\" is UNSAFE be sure you know what you are doing\"),\"number\"!=typeof e||e<0?as.log.warn(\"value of Hls.\"+t+\" must be greater than or equal to 0\"):eh[t]=e}})});function Nh(e){return/^(audio|video|application)\\/(x-|vnd\\.apple\\.)?mpegurl/i.test(e)?\"hls\":/^application\\/dash\\+xml/i.test(e)?\"dash\":null}function Rh(e,t){for(var i=t.media(),n=-1,r=0;r<e.length;r++)if(e[r].id===i.id){n=r;break}e.selectedIndex_=n,e.trigger({selectedIndex:n,type:\"change\"})}var Uh=\"videojs-vhs\";Dh.canPlaySource=function(){return as.log.warn(\"HLS is no longer a tech. Please remove it from your player's techOrder.\")};function Mh(e){var t=e.masterPlaylistController_.mainSegmentLoader_,i=e.masterPlaylistController_.audioSegmentLoader_,n=as.players[e.tech_.options_.playerId];if(n.eme){var r=function(e,t,i){if(!e)return e;var n=void 0,r=void 0;if(i.mimeType_)n=t.mimeType_,r=i.mimeType_;else{var s=bc(t.mimeType_),a=s.parameters.codecs.split(\",\"),o=void 0,u=void 0;a.forEach(function(e){e=e.trim(),Tc(e)?o=e:Sc(e)&&(u=e)}),n=s.type+'; codecs=\"'+u+'\"',r=s.type.replace(\"video\",\"audio\")+'; codecs=\"'+o+'\"'}var l={},c=t.playlist_;for(var h in e)l[h]={audioContentType:r,videoContentType:n},c.contentProtection&&c.contentProtection[h]&&c.contentProtection[h].pssh&&(l[h].pssh=c.contentProtection[h].pssh),\"string\"==typeof e[h]&&(l[h].url=e[h]);return as.mergeOptions(e,l)}(e.source_.keySystems,t,i);r&&(n.currentSource().keySystems=r,11!==as.browser.IE_VERSION&&n.eme.initializeMediaKeys&&n.eme.initializeMediaKeys())}}function Bh(){if(!window.localStorage)return null;var e=window.localStorage.getItem(Uh);if(!e)return null;try{return JSON.parse(e)}catch(e){return null}}Dh.supportsNativeHls=function(){var t=h.createElement(\"video\");if(!as.getTech(\"Html5\").isSupported())return!1;return[\"application/vnd.apple.mpegurl\",\"audio/mpegurl\",\"audio/x-mpegurl\",\"application/x-mpegurl\",\"video/x-mpegurl\",\"video/mpegurl\",\"application/mpegurl\"].some(function(e){return/maybe|probably/i.test(t.canPlayType(e))})}(),Dh.supportsNativeDash=!!as.getTech(\"Html5\").isSupported()&&/maybe|probably/i.test(h.createElement(\"video\").canPlayType(\"application/dash+xml\")),Dh.supportsTypeNatively=function(e){return\"hls\"===e?Dh.supportsNativeHls:\"dash\"===e&&Dh.supportsNativeDash},Dh.isSupported=function(){return as.log.warn(\"HLS is no longer a tech. Please remove it from your player's techOrder.\")};var jh=as.getComponent(\"Component\"),Fh=(ll(Hh,jh),ol(Hh,[{key:\"setOptions_\",value:function(){var t=this;if(this.options_.withCredentials=this.options_.withCredentials||!1,this.options_.handleManifestRedirects=this.options_.handleManifestRedirects||!1,this.options_.limitRenditionByPlayerDimensions=!1!==this.options_.limitRenditionByPlayerDimensions,this.options_.useDevicePixelRatio=this.options_.useDevicePixelRatio||!1,this.options_.smoothQualityChange=this.options_.smoothQualityChange||!1,this.options_.useBandwidthFromLocalStorage=\"undefined\"!=typeof this.source_.useBandwidthFromLocalStorage?this.source_.useBandwidthFromLocalStorage:this.options_.useBandwidthFromLocalStorage||!1,this.options_.customTagParsers=this.options_.customTagParsers||[],this.options_.customTagMappers=this.options_.customTagMappers||[],this.options_.cacheEncryptionKeys=this.options_.cacheEncryptionKeys||!1,\"number\"!=typeof this.options_.blacklistDuration&&(this.options_.blacklistDuration=300),\"number\"!=typeof this.options_.bandwidth&&this.options_.useBandwidthFromLocalStorage){var e=Bh();e&&e.bandwidth&&(this.options_.bandwidth=e.bandwidth,this.tech_.trigger({type:\"usage\",name:\"hls-bandwidth-from-local-storage\"})),e&&e.throughput&&(this.options_.throughput=e.throughput,this.tech_.trigger({type:\"usage\",name:\"hls-throughput-from-local-storage\"}))}\"number\"!=typeof this.options_.bandwidth&&(this.options_.bandwidth=eh.INITIAL_BANDWIDTH),this.options_.enableLowInitialPlaylist=this.options_.enableLowInitialPlaylist&&this.options_.bandwidth===eh.INITIAL_BANDWIDTH,[\"withCredentials\",\"useDevicePixelRatio\",\"limitRenditionByPlayerDimensions\",\"bandwidth\",\"smoothQualityChange\",\"customTagParsers\",\"customTagMappers\",\"handleManifestRedirects\",\"cacheEncryptionKeys\"].forEach(function(e){\"undefined\"!=typeof t.source_[e]&&(t.options_[e]=t.source_[e])}),this.limitRenditionByPlayerDimensions=this.options_.limitRenditionByPlayerDimensions,this.useDevicePixelRatio=this.options_.useDevicePixelRatio}},{key:\"src\",value:function(e,t){var i=this;e&&(this.setOptions_(),this.options_.url=this.source_.src,this.options_.tech=this.tech_,this.options_.externHls=Dh,this.options_.sourceType=Nh(t),this.options_.seekTo=function(e){i.tech_.setCurrentTime(e)},this.masterPlaylistController_=new wh(this.options_),this.playbackWatcher_=new Ih(as.mergeOptions(this.options_,{seekable:function(){return i.seekable()},media:function(){return i.masterPlaylistController_.media()}})),this.masterPlaylistController_.on(\"error\",function(){as.players[i.tech_.options_.playerId].error(i.masterPlaylistController_.error)}),this.masterPlaylistController_.selectPlaylist=this.selectPlaylist?this.selectPlaylist.bind(this):Dh.STANDARD_PLAYLIST_SELECTOR.bind(this),this.masterPlaylistController_.selectInitialPlaylist=Dh.INITIAL_PLAYLIST_SELECTOR.bind(this),this.playlists=this.masterPlaylistController_.masterPlaylistLoader_,this.mediaSource=this.masterPlaylistController_.mediaSource,Object.defineProperties(this,{selectPlaylist:{get:function(){return this.masterPlaylistController_.selectPlaylist},set:function(e){this.masterPlaylistController_.selectPlaylist=e.bind(this)}},throughput:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.throughput.rate},set:function(e){this.masterPlaylistController_.mainSegmentLoader_.throughput.rate=e,this.masterPlaylistController_.mainSegmentLoader_.throughput.count=1}},bandwidth:{get:function(){return this.masterPlaylistController_.mainSegmentLoader_.bandwidth},set:function(e){this.masterPlaylistController_.mainSegmentLoader_.bandwidth=e,this.masterPlaylistController_.mainSegmentLoader_.throughput={rate:0,count:0}}},systemBandwidth:{get:function(){var e=1/(this.bandwidth||1),t=void 0;return t=0<this.throughput?1/this.throughput:0,Math.floor(1/(e+t))},set:function(){as.log.error('The \"systemBandwidth\" property is read-only')}}}),this.options_.bandwidth&&(this.bandwidth=this.options_.bandwidth),this.options_.throughput&&(this.throughput=this.options_.throughput),Object.defineProperties(this.stats,{bandwidth:{get:function(){return i.bandwidth||0},enumerable:!0},mediaRequests:{get:function(){return i.masterPlaylistController_.mediaRequests_()||0},enumerable:!0},mediaRequestsAborted:{get:function(){return i.masterPlaylistController_.mediaRequestsAborted_()||0},enumerable:!0},mediaRequestsTimedout:{get:function(){return i.masterPlaylistController_.mediaRequestsTimedout_()||0},enumerable:!0},mediaRequestsErrored:{get:function(){return i.masterPlaylistController_.mediaRequestsErrored_()||0},enumerable:!0},mediaTransferDuration:{get:function(){return i.masterPlaylistController_.mediaTransferDuration_()||0},enumerable:!0},mediaBytesTransferred:{get:function(){return i.masterPlaylistController_.mediaBytesTransferred_()||0},enumerable:!0},mediaSecondsLoaded:{get:function(){return i.masterPlaylistController_.mediaSecondsLoaded_()||0},enumerable:!0},buffered:{get:function(){return Kl(i.tech_.buffered())},enumerable:!0},currentTime:{get:function(){return i.tech_.currentTime()},enumerable:!0},currentSource:{get:function(){return i.tech_.currentSource_},enumerable:!0},currentTech:{get:function(){return i.tech_.name_},enumerable:!0},duration:{get:function(){return i.tech_.duration()},enumerable:!0},master:{get:function(){return i.playlists.master},enumerable:!0},playerDimensions:{get:function(){return i.tech_.currentDimensions()},enumerable:!0},seekable:{get:function(){return Kl(i.tech_.seekable())},enumerable:!0},timestamp:{get:function(){return Date.now()},enumerable:!0},videoPlaybackQuality:{get:function(){return i.tech_.getVideoPlaybackQuality()},enumerable:!0}}),this.tech_.one(\"canplay\",this.masterPlaylistController_.setupFirstPlay.bind(this.masterPlaylistController_)),this.tech_.on(\"bandwidthupdate\",function(){i.options_.useBandwidthFromLocalStorage&&function(e){if(window.localStorage){var t=Bh();t=t?as.mergeOptions(t,e):e;try{window.localStorage.setItem(Uh,JSON.stringify(t))}catch(e){return}}}({bandwidth:i.bandwidth,throughput:Math.round(i.throughput)})}),this.masterPlaylistController_.on(\"selectedinitialmedia\",function(){!function(i){var e=i.playlists;i.representations=function(){return e&&e.master&&e.master.playlists?e.master.playlists.filter(function(e){return!Pl(e)}).map(function(e,t){return new xh(i,e,e.id)}):[]}}(i),Mh(i)}),this.on(this.masterPlaylistController_,\"progress\",function(){this.tech_.trigger(\"progress\")}),this.on(this.masterPlaylistController_,\"firstplay\",function(){this.ignoreNextSeekingEvent_=!0}),this.setupQualityLevels_(),this.tech_.el()&&this.tech_.src(as.URL.createObjectURL(this.masterPlaylistController_.mediaSource)))}},{key:\"setupQualityLevels_\",value:function(){var e=this,t=as.players[this.tech_.options_.playerId];t&&t.qualityLevels&&!this.qualityLevels_&&(this.qualityLevels_=t.qualityLevels(),this.masterPlaylistController_.on(\"selectedinitialmedia\",function(){!function(t,e){e.representations().forEach(function(e){t.addQualityLevel(e)}),Rh(t,e.playlists)}(e.qualityLevels_,e)}),this.playlists.on(\"mediachange\",function(){Rh(e.qualityLevels_,e.playlists)}))}},{key:\"play\",value:function(){this.masterPlaylistController_.play()}},{key:\"setCurrentTime\",value:function(e){this.masterPlaylistController_.setCurrentTime(e)}},{key:\"duration\",value:function(){return this.masterPlaylistController_.duration()}},{key:\"seekable\",value:function(){return this.masterPlaylistController_.seekable()}},{key:\"dispose\",value:function(){this.playbackWatcher_&&this.playbackWatcher_.dispose(),this.masterPlaylistController_&&this.masterPlaylistController_.dispose(),this.qualityLevels_&&this.qualityLevels_.dispose(),this.player_&&(delete this.player_.vhs,delete this.player_.dash,delete this.player_.hls),this.tech_&&this.tech_.hls&&delete this.tech_.hls,function e(t,i,n){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,i);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,i,n)}if(\"value\"in r)return r.value;var a=r.get;return void 0!==a?a.call(n):void 0}(Hh.prototype.__proto__||Object.getPrototypeOf(Hh.prototype),\"dispose\",this).call(this)}},{key:\"convertToProgramTime\",value:function(e,t){return Vl({playlist:this.masterPlaylistController_.media(),time:e,callback:t})}},{key:\"seekToProgramTime\",value:function(e,t,i,n){var r=!(2<arguments.length&&void 0!==i)||i,s=3<arguments.length&&void 0!==n?n:2;return ql({programTime:e,playlist:this.masterPlaylistController_.media(),retryCount:s,pauseAfterSeek:r,seekTo:this.options_.seekTo,tech:this.options_.tech,callback:t})}}]),Hh);function Hh(e,t,i){al(this,Hh);var n=cl(this,(Hh.__proto__||Object.getPrototypeOf(Hh)).call(this,t,i.hls));if(t.options_&&t.options_.playerId){var r=as(t.options_.playerId);r.hasOwnProperty(\"hls\")||Object.defineProperty(r,\"hls\",{get:function(){return as.log.warn(\"player.hls is deprecated. Use player.tech().hls instead.\"),t.trigger({type:\"usage\",name:\"hls-player-access\"}),n},configurable:!0}),r.vhs=n,(r.dash=n).player_=r}if(n.tech_=t,n.source_=e,n.stats={},n.ignoreNextSeekingEvent_=!1,n.setOptions_(),n.options_.overrideNative&&t.overrideNativeAudioTracks&&t.overrideNativeVideoTracks)t.overrideNativeAudioTracks(!0),t.overrideNativeVideoTracks(!0);else if(n.options_.overrideNative&&(t.featuresNativeVideoTracks||t.featuresNativeAudioTracks))throw new Error(\"Overriding native HLS requires emulated tracks. See https://git.io/vMpjB\");return n.on(h,[\"fullscreenchange\",\"webkitfullscreenchange\",\"mozfullscreenchange\",\"MSFullscreenChange\"],function(e){var t=h.fullscreenElement||h.webkitFullscreenElement||h.mozFullScreenElement||h.msFullscreenElement;t&&t.contains(n.tech_.el())&&n.masterPlaylistController_.smoothQualityChange_()}),n.on(n.tech_,\"seeking\",function(){this.ignoreNextSeekingEvent_?this.ignoreNextSeekingEvent_=!1:this.setCurrentTime(this.tech_.currentTime())}),n.on(n.tech_,\"error\",function(){this.masterPlaylistController_&&this.masterPlaylistController_.pauseLoading()}),n.on(n.tech_,\"play\",n.play),n}var Vh={name:\"videojs-http-streaming\",VERSION:\"1.13.2\",canHandleSource:function(e,t){var i=as.mergeOptions(as.options,1<arguments.length&&void 0!==t?t:{});return Vh.canPlayType(e.type,i)},handleSource:function(e,t,i){var n=as.mergeOptions(as.options,2<arguments.length&&void 0!==i?i:{});return t.hls=new Fh(e,t,n),t.hls.xhr=Nl(),t.hls.src(e.src,e.type),t.hls},canPlayType:function(e,t){var i=as.mergeOptions(as.options,1<arguments.length&&void 0!==t?t:{}).hls.overrideNative,n=Nh(e);return n&&(!Dh.supportsTypeNatively(n)||i)?\"maybe\":\"\"}};return\"undefined\"!=typeof as.MediaSource&&\"undefined\"!=typeof as.URL||(as.MediaSource=Oc,as.URL=Dc),Oc.supportsNativeMediaSources()&&as.getTech(\"Html5\").registerSourceHandler(Vh,0),as.HlsHandler=Fh,as.HlsSourceHandler=Vh,as.Hls=Dh,as.use||as.registerComponent(\"Hls\",Dh),as.options.hls=as.options.hls||{},as.registerPlugin?as.registerPlugin(\"reloadSourceOnError\",Lh):as.plugin(\"reloadSourceOnError\",Lh),as});","var processInclude = require('base/util');\n// This list should include any JS files that check for specific nodes in DOM that may be added to belowFold region\nvar coreFiles = {\n    einstein: require('core/components/einsteinRecs'),\n    productTile: require('core/components/productTile'),\n    video: require('core/components/video'),\n    slider: require('core/components/slider'),\n    pageDesigner: require('core/pageDesigner')\n}\n\n$(document).ready(() => {\n\n    // Render any components in the Below Fold region via ajax after page load\n    if ($('#belowFoldRegion').length) {\n        const $belowFoldRegion = $('#belowFoldRegion');\n        const url = $belowFoldRegion.data('url');\n        const populateRegion = new Promise(resolve => {\n            // Send to Page-Show, return HTML for ajaxRegion template\n            $.ajax({\n                url: url,\n                method: 'GET',\n                success: response => {\n                    $belowFoldRegion.html(response);\n                    resolve();\n                },\n                error: err => {\n                    console.error('Unable to render Below Fold region ', err);\n                }\n            });\n        });\n\n        populateRegion.then(() => {\n            Object.keys(coreFiles).forEach(function (key) {\n                if (key === 'slider') {\n                    coreFiles[key].initializeSliders($belowFoldRegion);\n                } else {\n                    processInclude(coreFiles[key]);\n                }\n            });\n        });\n    }\n\n    // Delegating this event to body in case Content Grid component is loaded in Below Fold region\n    $('body').on('click', '.show-more-content button', function (e) {\n        e.stopPropagation();\n        var $target = $(event.target);\n        var showMoreUrl = $(this).data('url');\n        e.preventDefault();\n        $.spinner().start();\n\n        $.ajax({\n            url: showMoreUrl,\n            data: { selectedUrl: showMoreUrl },\n            method: 'GET',\n            success: function (response) {\n                $target.closest('.content-grid-footer').replaceWith(response);\n                $.spinner().stop();\n            },\n            error: function () {\n                $.spinner().stop();\n            }\n        });\n    });\n\n});\n","'use strict';\n\nmodule.exports = function (include) {\n    if (typeof include === 'function') {\n        include.call(this);\n    } else if (typeof include === 'object') {\n        Object.keys(include).forEach(function (key) {\n            if (typeof include[key] === 'function') {\n                include[key].call(include);\n            }\n        });\n    }\n};\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n  return string\n    ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n    : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n  var index = string.length;\n\n  while (index-- && reWhitespace.test(string.charAt(index))) {}\n  return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n    isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = baseTrim(value);\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","/* (ignored) */"],"sourceRoot":""}