{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../autobahn_client_core/cartridges/autobahn_client_core/cartridge/scripts/constants/SiteConstants.js","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/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":["module","exports","BreakpointSizes","TransitionSpeed","ComponentAnimationDelay","Spacer","placeholderImagePaths","defaultMapMarker","defaultStoreType","UP_KEY","DOWN_KEY","DIRECTION_DOWN","DIRECTION_UP","States","AU","id","htmlValue","label","CA","US","einsteinUtils","require","productTile","abSlider","loadRecommendations","e","$context","$","$recommendationTargets","hasClass","find","each","$recTrigger","data","asyncUrl","url","getRecommendations","einsteinResponse","response","interpretResponse","i","rec","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","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","bindSliderDestroyEvent","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","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","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","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\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\nmodule.exports.States = {\n    AU: [\n        { id: 'ACT', htmlValue: 'ACT', label: 'Australian Capital Territory' },\n        { id: 'NSW', htmlValue: 'NSW', label: 'New South Wales' },\n        { id: 'NT', htmlValue: 'NT', label: 'Northern Territory' },\n        { id: 'QLD', htmlValue: 'QLD', label: 'Queensland' },\n        { id: 'SA', htmlValue: 'SA', label: 'South Australia' },\n        { id: 'TAS', htmlValue: 'TAS', label: 'Tasmania' },\n        { id: 'VIC', htmlValue: 'VIC', label: 'Victoria' },\n        { id: 'WA', htmlValue: 'WA', label: 'Western Australia' },\n\n    ],\n    CA: [\n        { id: 'AB', htmlValue: 'AB', label: 'Alberta' },\n        { id: 'BC', htmlValue: 'BC', label: 'British Columbia'},\n        { id: 'MB', htmlValue: 'MB', label: 'Manitoba'},\n        { id: 'NB', htmlValue: 'NB', label: 'New Brunswick' },\n        { id: 'NL', htmlValue: 'NL', label: 'Newfoundland and Labrador' },\n        { id: 'NT', htmlValue: 'NT', label: 'Northwest Territories' },\n        { id: 'NS', htmlValue: 'NS', label: 'Nova Scotia' },\n        { id: 'NU', htmlValue: 'NU', label: 'Nunavut' },\n        { id: 'ON', htmlValue: 'ON', label: 'Ontario' },\n        { id: 'PE', htmlValue: 'PE', label: 'Prince Edward Island' },\n        { id: 'QC', htmlValue: 'QC', label: 'Quebec' },\n        { id: 'SK', htmlValue: 'SK', label: 'Saskatchewan' },\n        { id: 'YT', htmlValue: 'YT', label: 'Yukon Territory' },\n    ],\n    US: [\n        { id: 'AL', htmlValue: 'AL', label: 'Alabama' },\n        { id: 'AK', htmlValue: 'AK', label: 'Alaska' },\n        { id: 'AS', htmlValue: 'AS', label: 'American Samoa' },\n        { id: 'AZ', htmlValue: 'AZ', label: 'Arizona' },\n        { id: 'AR', htmlValue: 'AR', label: 'Arkansas' },\n        { id: 'CA', htmlValue: 'CA', label: 'California' },\n        { id: 'CO', htmlValue: 'CO', label: 'Colorado' },\n        { id: 'CT', htmlValue: 'CT', label: 'Connecticut' },\n        { id: 'DE', htmlValue: 'DE', label: 'Delaware' },\n        { id: 'DC', htmlValue: 'DC', label: 'District of Columbia' },\n        { id: 'FL', htmlValue: 'FL', label: 'Florida' },\n        { id: 'GA', htmlValue: 'GA', label: 'Georgia' },\n        { id: 'GU', htmlValue: 'GU', label: 'Guam' },\n        { id: 'HI', htmlValue: 'HI', label: 'Hawaii' },\n        { id: 'ID', htmlValue: 'ID', label: 'Idaho' },\n        { id: 'IL', htmlValue: 'IL', label: 'Illinois' },\n        { id: 'IN', htmlValue: 'IN', label: 'Indiana' },\n        { id: 'IA', htmlValue: 'IA', label: 'Iowa' },\n        { id: 'KS', htmlValue: 'KS', label: 'Kansas' },\n        { id: 'KY', htmlValue: 'KY', label: 'Kentucky' },\n        { id: 'LA', htmlValue: 'LA', label: 'Louisiana' },\n        { id: 'ME', htmlValue: 'ME', label: 'Maine' },\n        { id: 'MD', htmlValue: 'MD', label: 'Maryland' },\n        { id: 'MA', htmlValue: 'MA', label: 'Massachusetts' },\n        { id: 'MI', htmlValue: 'MI', label: 'Michigan' },\n        { id: 'MN', htmlValue: 'MN', label: 'Minnesota' },\n        { id: 'MS', htmlValue: 'MS', label: 'Mississippi' },\n        { id: 'MO', htmlValue: 'MO', label: 'Missouri' },\n        { id: 'MT', htmlValue: 'MT', label: 'Montana' },\n        { id: 'NE', htmlValue: 'NE', label: 'Nebraska' },\n        { id: 'NV', htmlValue: 'NV', label: 'Nevada' },\n        { id: 'NH', htmlValue: 'NH', label: 'New Hampshire' },\n        { id: 'NJ', htmlValue: 'NJ', label: 'New Jersey' },\n        { id: 'NM', htmlValue: 'NM', label: 'New Mexico' },\n        { id: 'NY', htmlValue: 'NY', label: 'New York' },\n        { id: 'NC', htmlValue: 'NC', label: 'North Carolina' },\n        { id: 'ND', htmlValue: 'ND', label: 'North Dakota' },\n        { id: 'OH', htmlValue: 'OH', label: 'Ohio' },\n        { id: 'OK', htmlValue: 'OK', label: 'Oklahoma' },\n        { id: 'OR', htmlValue: 'OR', label: 'Oregon' },\n        { id: 'PA', htmlValue: 'PA', label: 'Pennsylvania' },\n        { id: 'PR', htmlValue: 'PR', label: 'Puerto Rico' },\n        { id: 'RI', htmlValue: 'RI', label: 'Rhode Island' },\n        { id: 'SC', htmlValue: 'SC', label: 'South Carolina' },\n        { id: 'SD', htmlValue: 'SD', label: 'South Dakota' },\n        { id: 'TN', htmlValue: 'TN', label: 'Tennessee' },\n        { id: 'TX', htmlValue: 'TX', label: 'Texas' },\n        { id: 'UT', htmlValue: 'UT', label: 'Utah' },\n        { id: 'VT', htmlValue: 'VT', label: 'Vermont' },\n        { id: 'VI', htmlValue: 'VI', label: 'Virgin Islands' },\n        { id: 'VA', htmlValue: 'VA', label: 'Virginia' },\n        { id: 'WA', htmlValue: 'WA', label: 'Washington' },\n        { id: 'WV', htmlValue: 'WV', label: 'West Virginia' },\n        { id: 'WI', htmlValue: 'WI', label: 'Wisconsin' },\n        { id: 'WY', htmlValue: 'WY', label: 'Wyoming' },\n        // APO/FPO\n        { id: 'AE', htmlValue: 'AE', label: 'Armed Forces Africa' },\n        { id: 'AA', htmlValue: 'AA', label: 'Armed Forces America (exc. Canada)' },\n        { id: 'AE', htmlValue: 'AE', label: 'Armed Forces Canada' },\n        { id: 'AE', htmlValue: 'AE', label: 'Armed Forces Europe' },\n        { id: 'AE', htmlValue: 'AE', label: 'Armed Forces Middle East' },\n        { id: 'AP', htmlValue: 'AP', label: 'Armed Forces Pacific' },\n        // other\n        { id: 'OTHER', htmlValue: 'OTHER', label: 'Non-US/Other' }\n    ]\n}\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// Listen for the slider:destroy event\nabSlider.bindSliderDestroyEvent = function($sliderContainer, slider) {\n    $sliderContainer.off('slider:destroy').on('slider:destroy', '.slider', () => {\n        slider.destroy();\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.bindSliderDestroyEvent($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}","'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","/**\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":""}