{"version":3,"sources":["webpack:///./node_modules/vant/es/utils/dom/style.js","webpack:///./node_modules/vant/es/utils/dom/node.js","webpack:///./src/views/video/PayBanner.vue?c1c4","webpack:///src/views/video/PayBanner.vue","webpack:///./src/views/video/PayBanner.vue?4fd5","webpack:///./src/views/video/PayBanner.vue","webpack:///./node_modules/core-js/internals/get-substitution.js","webpack:///./node_modules/vant/es/sticky/style/index.js","webpack:///./src/util/util.js","webpack:///./node_modules/dayjs/plugin/utc.js","webpack:///./src/api/permission.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./src/static/ic_unlock.png","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/vant/es/utils/dom/event.js","webpack:///./src/views/comment/components/CommentInput.vue?a4ec","webpack:///src/views/comment/components/CommentInput.vue","webpack:///./src/views/comment/components/CommentInput.vue?9521","webpack:///./src/views/comment/components/CommentInput.vue","webpack:///./src/views/course/CourseVideoDetail.vue?5ccb","webpack:///./src/store/modules/video.js","webpack:///./src/views/course/CourseDetail.vue?c3c9","webpack:///src/views/course/CourseDetail.vue","webpack:///./src/views/course/CourseDetail.vue?35f7","webpack:///./src/views/course/CourseDetail.vue","webpack:///./src/views/comm/NavItem.vue?25c1","webpack:///src/views/comm/NavItem.vue","webpack:///./src/views/comm/NavItem.vue?830d","webpack:///./src/views/comm/NavItem.vue","webpack:///./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///./src/views/comment/components/ShrinkCommentItem.vue?6dd5","webpack:///./node_modules/vant/es/utils/vnodes.js","webpack:///./node_modules/vant/es/mixins/relation.js","webpack:///./node_modules/vant/es/goods-action/index.js","webpack:///./node_modules/vant/es/dialog/index.js","webpack:///./node_modules/vant/es/goods-action-button/index.js","webpack:///./node_modules/vant/es/dialog/Dialog.js","webpack:///./src/static/ic_close.png","webpack:///./node_modules/vant/es/list/style/index.js","webpack:///./src/views/comment/Comment.vue?e6db","webpack:///./src/views/video/PayBanner.vue?12bd","webpack:///./src/views/comment/components/CommentItem.vue?0d6b","webpack:///src/views/comment/components/CommentItem.vue","webpack:///./src/views/comment/components/CommentItem.vue?aa25","webpack:///./src/views/comment/components/CommentItem.vue","webpack:///./node_modules/vant/es/list/index.js","webpack:///./node_modules/vant/es/sticky/index.js","webpack:///./src/views/test/VueAliplayer.vue?8c0c","webpack:///src/views/test/VueAliplayer.vue","webpack:///./src/views/test/VueAliplayer.vue?2a73","webpack:///./src/views/test/VueAliplayer.vue","webpack:///./node_modules/vant/es/mixins/touch.js","webpack:///./src/static/ic_favored.png","webpack:///./src/views/course/CourseVideoCatalog.vue?5958","webpack:///./src/views/video/AdTip.vue?7734","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/dom7/node_modules/ssr-window/dist/ssr-window.esm.js","webpack:///./node_modules/dom7/dist/dom7.modular.js","webpack:///./node_modules/ssr-window/dist/ssr-window.esm.js","webpack:///./node_modules/swiper/dist/js/swiper.esm.bundle.js","webpack:///./src/store/index.js","webpack:///./node_modules/vant/es/utils/router.js","webpack:///./src/views/video/Player.vue?6e7f","webpack:///src/views/video/Player.vue","webpack:///./src/views/video/Player.vue?c396","webpack:///./src/views/video/Player.vue","webpack:///./src/static/ic_favor.png","webpack:///./src/static/ic_online_service.png","webpack:///./src/views/comment/CommentDetail.vue?b698","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./src/views/course/CourseVideoDetail.vue?6c99","webpack:///./src/views/course/CourseVideoCatalog.vue?f59d","webpack:///src/views/course/CourseVideoCatalog.vue","webpack:///./src/views/course/CourseVideoCatalog.vue?cf54","webpack:///./src/views/course/CourseVideoCatalog.vue","webpack:///src/views/course/CourseVideoDetail.vue","webpack:///./src/views/course/CourseVideoDetail.vue?be23","webpack:///./src/views/course/CourseVideoDetail.vue","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./src/views/comment/components/CommentItem.vue?7e5d","webpack:///./node_modules/vant/es/mixins/bind-event.js","webpack:///./node_modules/vant/es/mixins/popup/context.js","webpack:///./node_modules/vant/es/overlay/index.js","webpack:///./node_modules/vant/es/mixins/popup/overlay.js","webpack:///./node_modules/vant/es/mixins/portal.js","webpack:///./node_modules/vant/es/mixins/close-on-popstate.js","webpack:///./node_modules/vant/es/mixins/popup/index.js","webpack:///./src/static/ic_lock.png","webpack:///./node_modules/vue-awesome-swiper/dist/vue-awesome-swiper.js","webpack:///./src/views/comment/components/CommentInputPopup.vue?0887","webpack:///./src/views/test/VueAliplayer.vue?147f","webpack:///./node_modules/vant/es/popup/style/index.js","webpack:///./src/static/bg_comments.png","webpack:///./src/views/video/Player.vue?b421","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./src/views/comment/components/CommentInput.vue?03e8","webpack:///./src/views/comment/CommentDetail.vue?578a","webpack:///src/views/comment/CommentDetail.vue","webpack:///./src/views/comment/CommentDetail.vue?3b5e","webpack:///./src/views/comment/CommentDetail.vue","webpack:///./src/views/comment/Comment.vue?44ab","webpack:///./src/views/comment/components/ShrinkCommentItem.vue?b40b","webpack:///src/views/comment/components/ShrinkCommentItem.vue","webpack:///./src/views/comment/components/ShrinkCommentItem.vue?f7cb","webpack:///./src/views/comment/components/ShrinkCommentItem.vue","webpack:///./src/views/comment/components/CommentInputPopup.vue?0f0b","webpack:///src/views/comment/components/CommentInputPopup.vue","webpack:///./src/views/comment/components/CommentInputPopup.vue?f0cf","webpack:///./src/views/comment/components/CommentInputPopup.vue","webpack:///src/views/comment/Comment.vue","webpack:///./src/views/comment/Comment.vue?a9d3","webpack:///./src/views/comment/Comment.vue","webpack:///./src/static/ic_play_white.png","webpack:///./src/views/comm/NavItem.vue?9d6a","webpack:///./node_modules/vant/es/utils/dom/scroll.js","webpack:///./src/static/ic_play_grey.png","webpack:///./node_modules/core-js/modules/es.function.name.js","webpack:///./node_modules/vant/es/utils/constant.js","webpack:///./src/api/appInfo.js","webpack:///./node_modules/vant/es/button/index.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./src/views/video/CatelogItem.vue?1220","webpack:///./src/store/modules/viewPointDetail.js","webpack:///./node_modules/vant/es/icon/style/index.js","webpack:///./src/store/modules sync \\.js$","webpack:///./src/views/video/VideoMask.vue?2808","webpack:///./src/static/ic_input.png","webpack:///./src/static/ic_v_log.png","webpack:///./node_modules/vant/es/toast/lock-click.js","webpack:///./node_modules/vant/es/toast/Toast.js","webpack:///./node_modules/vant/es/toast/index.js","webpack:///./src/store/modules/follow.js","webpack:///./src/static/ic_charge_empty.png","webpack:///./src/views/video/CatelogItem.vue?43b2","webpack:///src/views/video/CatelogItem.vue","webpack:///./src/views/video/CatelogItem.vue?081c","webpack:///./src/views/video/CatelogItem.vue","webpack:///./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack:///./node_modules/vant/es/dialog/style/index.js","webpack:///./node_modules/vant/es/popup/index.js","webpack:///./src/static/ic_time.png","webpack:///./src/views/video/VideoMask.vue?27f0","webpack:///src/views/video/VideoMask.vue","webpack:///./src/views/video/VideoMask.vue?5343","webpack:///./src/views/video/VideoMask.vue","webpack:///./node_modules/vant/es/toast/style/index.js","webpack:///./src/views/course/CourseDetail.vue?1260","webpack:///./src/store/modules/comment.js","webpack:///./src/views/video/AdTip.vue?b193","webpack:///src/views/video/AdTip.vue","webpack:///./src/views/video/AdTip.vue?8c1a","webpack:///./src/views/video/AdTip.vue","webpack:///./src/static/ic_playing.gif"],"names":["isHidden","el","style","window","getComputedStyle","hidden","display","parentHidden","offsetParent","position","removeNode","parent","parentNode","removeChild","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","subscribeStatus","_v","_s","dayjs","resp","detail","expireTime","format","videoType","staticStyle","displayPrice","price","originalPrice","_e","on","goBuy","staticRenderFns","name","components","props","methods","util","payUrl","$toast","computed","applePrice","displayApplePrice","originalApplePrice","isShowOriginalPrice","component","toObject","floor","Math","replace","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","module","exports","matched","str","captures","namedCaptures","replacement","tailPos","length","m","symbols","undefined","call","match","ch","capture","charAt","slice","n","f","Util","screen","width","url","console","log","location","href","px","htmlFontSize","document","body","currentStyle","defaultView","fontSize","scale","goods","keepScreenOn","e","targetMv","currentMv","isIncludeEqual","isSupport","mv","targetMvArr","split","currentMvArr","i","warn","t","s","prototype","utc","date","args","arguments","toDate","locale","$L","add","utcOffset","local","parse","$u","$utils","u","$offset","init","$d","$y","getUTCFullYear","$M","getUTCMonth","$D","getUTCDate","$W","getUTCDay","$H","getUTCHours","$m","getUTCMinutes","$s","getUTCSeconds","$ms","getUTCMilliseconds","abs","getTimezoneOffset","$x","$localOffset","o","valueOf","Date","isUTC","toISOString","toString","toUTCString","r","a","diff","permissions","Vue","observable","data","checkPermission","productId","callback","permissionCallback","result","indexOf","concat","hasPermission","toInteger","requireObjectCoercible","repeat","count","String","Infinity","RangeError","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","arrayPush","push","min","MAX_UINT32","SUPPORTS_Y","RegExp","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","source","index","apply","test","O","splitter","regexp","res","done","value","rx","S","C","unicodeMatching","p","q","A","z","supportsPassive","opts","Object","defineProperty","get","addEventListener","target","event","handler","passive","off","removeEventListener","stopPropagation","preventDefault","isStopPropagation","cancelable","class","bottomClass","ref","$event","onInputEvent","bottomTitle","Favored","collectFun","directives","rawName","expression","placeholder","domProps","onFocusEvent","onBlurEvent","onTextChanged","composing","content","onCommitEvent","comment","type","default","commentsInfo","isFavored","Boolean","id","focus","currComment","isClick","FavoredTem","commentInputType","inputType","commentOptions","title","startInput","$emit","popupDom","height","$refs","stopInput","substring","visibility","$nextTick","getElementsByClassName","scrollTop","state","playInfo","currentVideo","respReport","mutations","setResp","setPlayInfo","setCurrentVideo","videoIdentity","setrespReport","setProgress","progress","actions","request","params","commit","http","post","then","requestVideo","requestUploadProgress","courses","page","list","v","requestDetail","namespaced","isShowCover","onStartPlay","statusPading","videoHeightStyle","coverImagUrl","playCourseVideo","getTodayTip","videoIdenftity","updateTime","navOffest","navItems","onItemClick","swiperOption","slideChange","updateSwiper","showCommentDetail","currentIndex","onReplyEvent","onShowAllEvent","commentStyle","isShowAll","onCloseEvent","onlineserviceStyle","goIM","VideoMask","Player","PayBanner","Comment","CourseVideoDetail","NavItem","CommentDetail","isMaskShow","autoplay","autoHeight","observer","observeParents","isNaN","marginTop","keys","toDayCourse","top","commentHeight","isMaskShowFix","isSupportIM","swiper","mySwiper","$swiper","watch","bodyElm","val","$set","tryShowShare","mounted","setId","comm","param","onResume","setTimeout","onscroll","updateMaskPosition","getTime","lastOrientationChangeTime","orientation","scrollBy","innerHeight","innerH","slideTo","update","activeIndex","isSelect","item","course","isHightlight","showVideoMask","updateVideoMask","_l","key","onItemClickInner","items","Array","forEach","it","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","error","Promise","_asyncToGenerator","fn","self","err","flattenVNodes","vnodes","traverse","vnode","componentInstance","$children","map","$vnode","children","sortChildren","componentOptions","sort","b","ChildrenMixin","_parent","options","_inject","_computed","indexKey","inject","disableBindRelation","bindRelation","beforeDestroy","_this","filter","ParentMixin","provide","_ref","instance","_createNamespace","create","createComponent","bem","mixins","safeAreaInsetBottom","h","unfit","slots","text","icon","color","loading","disabled","isFirst","prev","$options","isLast","next","onClick","$router","first","last","theme","Number","message","className","Function","beforeClose","messageAlign","cancelButtonText","cancelButtonColor","confirmButtonText","confirmButtonColor","showCancelButton","overlay","allowHtml","transition","showConfirmButton","closeOnPopstate","closeOnClickOverlay","confirm","cancel","onClickOverlay","handleAction","action","onClose","close","onOpened","onClosed","genRoundButtons","_this2","genButtons","_this3","multiple","genContent","hasTitle","messageSlot","_bem","_domProps","isolated","shouldRender","Title","isInDocument","element","contains","initInstance","$destroy","extend","createElement","propsData","lazyRender","$on","$el","currentOptions","defaultOptions","lockScroll","overlayClass","overlayStyle","getContainer","alert","setDefaultOptions","resetDefaultOptions","install","use","Component","$dialog","avatar","nickname","commentColor","parentComent","parentCommentColor","createTime","replyTitle","onDeleteEvent","showReplyCount","showDelete","showOwner","replyCount","isAuthor","canDelete","bind","scroller","check","model","prop","finished","errorText","loadingText","finishedText","immediateCheck","offset","direction","innerLoading","updated","scrollerRect","getBoundingClientRect","bottom","scrollerHeight","isReachEdge","placeholderRect","clickErrorText","genLoading","genFinishedText","genErrorText","Placeholder","isBind","method","onScroll","zIndex","container","offsetTop","fixed","transform","offsetTopPx","created","IntersectionObserver","entries","intersectionRatio","root","offsetHeight","topToPageTop","emitScrollEvent","isFixed","bottomToPageTop","distanceToBottom","playerId","vid","playauth","videoWidth","videoHeight","preload","cover","isLive","rePlay","useH5Prism","useFlashPrism","playsinline","showBuffer","skinRes","skinLayout","controlBarVisibility","showBarTime","extraInfo","enableSystemMenu","mediaType","qualitySort","definition","defaultDefinition","x5_type","x5_fullscreen","x5_video_position","x5_orientation","x5LandscapeAsFullScreen","autoPlayDelay","autoPlayDelayDisplayText","language","languageTexts","snapshot","snapshotWatermark","useHlsPluginForSafari","enableStashBufferForFlv","stashInitialSizeForFlv","loadDataTimeout","waitingTimeout","liveStartTime","liveOverTime","liveTimeShiftUrl","recreatePlayer","diagnosisButtonVisible","disableSeek","encryptType","progressMarkers","vodRetry","liveRetry","playStyle","aliplayerSdkPath","random","substr","scriptTagStatus","isReload","Aliplayer","initAliplayer","insertScriptTag","$onResume","play","$onPause","pause","playerScriptTag","src","appendChild","loaded","dispose","querySelector","innerHTML","liveShiftSource","video","setAttribute","replay","seek","time","getCurrentTime","getDuration","getVolume","setVolume","vol","loadByUrl","setSpeed","speed","setPlayerSize","w","replayByVidAndPlayAuth","replayByVidAndAuthInfo","reloaduserPlayInfoAndVidRequestMts","setSanpshotProperties","rate","setCover","reloadPlayer","MIN_DISTANCE","getDirection","x","y","TouchMixin","touchStart","resetTouchStatus","startX","touches","clientX","startY","clientY","touchMove","touch","deltaX","deltaY","offsetX","offsetY","bindTouchEvent","onTouchStart","onTouchMove","onTouchEnd","classof","TypeError","isObject","obj","constructor","doc","ssrDocument","activeElement","blur","nodeName","querySelectorAll","getElementById","createEvent","initEvent","childNodes","getElementsByTagName","createElementNS","importNode","hash","host","hostname","origin","pathname","protocol","search","win","ssrWindow","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getPropertyValue","Image","clearTimeout","matchMedia","Dom7","arr","$","selector","context","els","tempParent","html","trim","toCreate","nodeType","unique","uniqueArray","addClass","classes","j","classList","removeClass","remove","hasClass","toggleClass","toggle","attr","getAttribute","attrName","removeAttr","removeAttribute","dom7ElementDataStorage","dataKey","elStyle","webkitTransform","duration","webkitTransitionDuration","transitionDuration","eventType","targetSelector","listener","handleLiveEvent","eventData","dom7EventData","unshift","is","parents","k","handleEvent","events","dom7LiveListeners","proxyListener","dom7Listeners","handlers","dom7proxy","splice","trigger","evt","bubbles","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","includeMargins","styles","offsetWidth","parseFloat","box","clientTop","clientLeft","scrollY","scrollLeft","scrollX","left","css","each","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","prepend","insertBefore","nextElementSibling","nextAll","nextEls","previousElementSibling","prevAll","prevEls","closest","find","foundElements","found","toAdd","Class","Methods","outerWidth","outerHeight","methodName","Utils","object","delay","now","axis","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","join","MozTransform","OTransform","MsTransform","msTransform","m41","m42","query","urlToParse","paramsPart","decodeURIComponent","to","nextSource","keysArray","nextIndex","len","nextKey","desc","getOwnPropertyDescriptor","enumerable","testDiv","Modernizr","maxTouchPoints","DocumentTouch","pointerEvents","pointerEnabled","PointerEvent","prefixedPointerEvents","msPointerEnabled","transforms3d","csstransforms3d","flexbox","passiveListener","gestures","isSafari","ua","toLowerCase","isIE","isEdge","isUiWebView","SwiperClass","eventsListeners","eventName","priority","onceHandler","f7proxy","eventHandler","isArray","eventsArray","instanceParams","modules","moduleName","modulesParams","moduleParams","modulePropName","moduleProp","moduleEventName","proto","static","installModule","updateSize","clientWidth","clientHeight","isHorizontal","isVertical","parseInt","size","updateSlides","$wrapperEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","slidesNumberEvenToRows","slideSize","spaceBetween","slidePosition","prevSlideSize","virtualSize","marginLeft","marginRight","marginBottom","slidesPerColumn","ceil","slidesPerView","slidesPerColumnFill","max","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","column","row","slidesPerGroup","groupIndex","order","slideStyles","currentTransform","currentWebKitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","paddingTop","paddingBottom","swiperSlideSize","centeredSlides","newSlidesGrid","effect","setWrapperSize","slidesGridItem","centerInsufficientSlides","allSlidesSize","slideSizeValue","allSlidesOffset","snap","snapIndex","emit","watchOverflow","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","newHeight","setTransition","swiperSlideOffset","offsetLeft","updateSlidesProgress","translate","offsetCenter","slideVisibleClass","visibleSlidesIndexes","visibleSlides","slideProgress","minTranslate","slideBefore","slideAfter","isVisible","updateProgress","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","realIndex","activeSlide","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","loop","slideDuplicateClass","nextSlide","prevSlide","updateActiveIndex","newActiveIndex","previousIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","initialized","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getTranslate","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","previousTranslate","transitionStart","runCallbacks","dir","animating","internal","slideIndex","preventInteractionOnTransition","initialSlide","allowSlideNext","allowSlidePrev","onSlideToWrapperTransitionEnd","destroyed","slideToLoop","newIndex","loopedSlides","slideNext","loopFix","_clientLeft","slidePrev","normalize","normalizedTranslate","normalizedSnapGrid","prevSnap","prevIndex","slideReset","slideToClosest","currentSnap","nextSnap","slidesPerViewDynamic","slideToIndex","nextTick","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","isLocked","cursor","unsetGrabCursor","grabCursor","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","manipulation","device","ios","android","androidChrome","desktop","windows","iphone","ipod","ipad","cordova","phonegap","os","osVersion","webView","osVersionArr","metaViewport","minimalUi","pixelRatio","devicePixelRatio","touchEventsData","originalEvent","isTouchEvent","which","button","isTouched","isMoved","noSwiping","noSwipingSelector","noSwipingClass","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","threshold","allowThresholdMove","formElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","touchAngle","atan2","PI","touchMoveStopPropagation","nested","startTranslate","allowMomentumBounce","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","freeMode","velocities","touchEndTime","timeDiff","lastClickTime","clickTimeout","currentPos","freeModeMomentum","lastMoveEvent","pop","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","doBounce","bounceAmount","freeModeMomentumBounceRatio","needsLoopFix","freeModeMomentumBounce","freeModeSticky","once","longSwipesMs","stopIndex","groupSize","ratio","longSwipes","longSwipesRatio","shortSwipes","onResize","breakpoints","setBreakpoint","newTranslate","running","paused","run","preventClicks","preventClicksPropagation","stopImmediatePropagation","attachEvents","touchEvents","wrapperEl","touchEventsTarget","start","passiveListeners","move","end","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointOnlyParams","paramValue","breakpointParams","originalParams","directionChanged","needsReLoop","changeDirection","points","point","breakpointsInverse","innerWidth","addClasses","classNames","suffixes","suffix","containerModifierClass","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","complete","onload","onerror","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","navigation","checkOverflow$1","defaults","uniqueNavElements","wrapperClass","prototypes","images","extendedDefaults","super","prototypeGroup","protoMethod","moduleParamName","swiperParams","useModulesParams","passedParams","swipers","containerEl","newParams","touchEventsTouch","touchEventsDesktop","useModules","spv","breakLoop","translateValue","translated","newDirection","needUpdate","currentDirection","slideEl","deleteInstance","cleanStyles","deleteProps","newDefaults","Device$1","Support$1","support","Browser$1","browser","Resize","resize","resizeHandler","orientationChangeHandler","Observer","func","MutationObserver","WebkitMutationObserver","ObserverFunc","observerUpdate","requestAnimationFrame","observe","attributes","childList","characterData","observers","containerParents","attach","observeSlideChildren","disconnect","Observer$1","destroy","Virtual","force","addSlidesBefore","addSlidesAfter","from","previousFrom","previousTo","previousSlidesGrid","renderSlide","previousOffset","offsetProp","slidesAfter","slidesBefore","onRendered","lazy","load","renderExternal","slidesToRender","prependIndexes","appendIndexes","cache","$slideEl","numberOfNewSlides","newCache","cachedIndex","Virtual$1","overwriteParams","Keyboard","kc","keyCode","charCode","shiftKey","altKey","ctrlKey","metaKey","keyboard","onlyInViewport","inView","windowWidth","windowHeight","swiperOffset","swiperCoord","returnValue","handle","Keyboard$1","enable","disable","isEventSupported","isSupported","implementation","hasFeature","Mousewheel","lastScrollTime","PIXEL_STEP","LINE_HEIGHT","PAGE_HEIGHT","sX","sY","pX","pY","wheelDelta","wheelDeltaY","wheelDeltaX","HORIZONTAL_AXIS","deltaMode","spinX","spinY","pixelX","pixelY","mouseEntered","mousewheel","releaseOnEdges","delta","rtlFactor","forceToAxis","invert","sensitivity","timeout","autoplayDisableOnInteraction","stop","eventsTarged","handleMouseEnter","handleMouseLeave","Mousewheel$1","Navigation","$nextEl","$prevEl","disabledClass","lockClass","nextEl","prevEl","onNextClick","onPrevClick","Navigation$1","hideOnClick","hiddenClass","Pagination","pagination","current","total","paginationType","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","dynamicMainBullets","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scaleX","scaleY","progressbarFillClass","renderCustom","paginationHTML","numberOfBullets","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","clickable","clickableClass","modifierClass","progressbarOppositeClass","Pagination$1","number","Scrollbar","scrollbar","dragSize","trackSize","$dragEl","newSize","newPos","hide","opacity","divider","moveDivider","dragStartPos","positionRatio","getPointerPosition","setDragPosition","dragTimeout","snapOnRelease","activeListener","onDragStart","onDragMove","onDragEnd","$swiperEl","dragClass","dragEl","draggable","enableDraggable","disableDraggable","Scrollbar$1","Parallax","currentOpacity","currentScale","parallax","setTransform","parallaxEl","$parallaxEl","parallaxDuration","Parallax$1","Zoom","x1","y1","x2","y2","zoom","gesture","fakeGestureTouched","fakeGestureMoved","scaleStart","getDistanceBetweenTouches","$imageEl","$imageWrapEl","containerClass","maxRatio","isScaling","scaleMove","minRatio","changedTouches","touchesStart","slideWidth","slideHeight","scaledWidth","scaledHeight","minX","maxX","minY","maxY","touchesCurrent","prevPositionX","prevPositionY","prevTime","momentumDurationX","momentumDurationY","momentumDistanceX","newPositionX","momentumDistanceY","newPositionY","out","in","touchX","touchY","translateX","translateY","imageWidth","imageHeight","translateMinX","translateMinY","translateMaxX","translateMaxY","zoomedSlideClass","onGestureStart","onGestureChange","onGestureEnd","Zoom$1","onTransitionEnd","Lazy","loadInDuplicate","$images","elementClass","loadedClass","loadingClass","imageIndex","background","preloaderClass","slideOriginalIndex","originalSlide","loadInSlide","duplicatedSlide","slideExist","initialImageLoaded","elIndex","loadPrevNext","loadPrevNextAmount","amount","maxIndex","minIndex","Lazy$1","loadOnTransitionStart","Controller","LinearSpline","binarySearch","guess","array","i1","i3","interpolate","c","controller","spline","controlled","control","multiplier","controlledTranslate","setControlledTranslate","by","getInterpolateFunction","inverse","setControlledTransition","Controller$1","a11y","role","label","$targetEl","notify","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","click","notification","liveRegion","disableEl","enableEl","bulletEl","$bulletEl","makeElFocusable","addElRole","addElLabel","paginationBulletMessage","onEnterKey","A11y","notificationClass","updateNavigation","updatePagination","History","hashNavigation","paths","getPathValues","scrollToSlide","setHistoryPopState","pathArray","part","slugify","includes","currentState","slideHistory","History$1","setHistory","HashNavigation","newHash","activeSlideHash","slideHash","watchState","onHashCange","HashNavigation$1","setHash","Autoplay","$activeSlideEl","reverseDirection","stopOnLastSlide","waitForTransition","Autoplay$1","disableOnInteraction","Fade","tx","ty","slideOpacity","fadeEffect","crossFade","eventTriggered","triggerEvents","EffectFade","Cube","swiperWidth","swiperHeight","cubeEffect","$cubeShadowEl","wrapperRotate","shadow","slideAngle","round","tz","slideShadows","shadowBefore","shadowAfter","shadowOffset","shadowScale","shadowAngle","sin","cos","scale1","scale2","zFactor","EffectCube","Flip","flipEffect","limitRotation","rotate","rotateY","rotateX","EffectFlip","Coverflow","coverflowEffect","center","depth","slideOffset","offsetMultiplier","modifier","translateZ","stretch","slideTransform","$shadowBeforeEl","$shadowAfterEl","ws","perspectiveOrigin","EffectCoverflow","Thumbs","thumbs","thumbsParams","swiperCreated","thumbsContainerClass","onThumbClick","thumbsSwiper","slideThumbActiveClass","initial","newThumbsIndex","currentThumbsIndex","prevThumbsIndex","nextThumbsIndex","thumbsToActivate","thumbActiveClass","Thumbs$1","Vuex","store","Store","storeContext","require","registerModule","$store","isRedundantNavigation","route","router","config","promise","catch","functionalRoute","routeProps","sourceUrl","canplaythroughimp","VueAliplayer","identifier","progressToSeek","old","playURL","uploadProgress","currentTime","setInterval","getSubstitution","regExpExec","maybeToString","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","global","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","groups","replacerArgs","subTitle","goManager","authorInfo","headPic","typeName","authorCompany","isFollowed","follow","remark","description","orderRemark","changeDetail","showDetail","contentHeight","showPicker","selectDate","getClientHeight","currentTarget","hiddenPick","activeSelectKey","checkSelectFun","videoList","pageEnd","onLoad","$$v","courseId","CategoryItem","isAsc","monthList","viewState","sortVideo","monthString","courseSetId","pageSize","api","code","flush","ind","CourseVideoCatalog","isPermission","requestfollow","authorid","authorId","d","weekdays","months","l","year","month","clone","M","D","ms","Q","g","NaN","UTC","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getSeconds","getMilliseconds","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","$locale","weekStart","daysInMonth","subtract","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","mm","ss","SSS","Z","toJSON","$i","isDayjs","en","Ls","uid","BindEventMixin","unbind","activated","deactivated","lockCount","stack","vm","preventTouchMove","Overlay","ctx","customStyle","animationDuration","show","defaultConfig","mountOverlay","updateOverlay","openOverlay","closeOverlay","removeOverlay","getElement","PortalMixin","_temp","afterPortal","portal","$parent","CloseOnPopstateMixin","handlePopstate","bindStatus","onPopstate","shouldReopen","$isServer","popupMixinProps","transitionAppear","PopupMixin","inited","skipToggleEvent","open","opened","removeLock","renderOverlay","addLock","scrollHeight","status","updateZIndex","CoreNames","hasOwnProperty","ComponentEvents","ComponentPropNames","DEFAULT_CLASSES","freeze","SWIPER_EVENTS","__spreadArrays","il","jl","SlotNames","kebabcase","handleClickSlideEvent","_a","_b","eventPath","composedPath","path","slides_1","some","reallyIndex","dataset","swiperSlideIndex","reallyIndexValue","isInteger","ClickSlide","bindSwiperEvents","arguments$1","_i","kebabcaseName","INSTANCE_NAME_KEY","getDirective","globalOptions","getStandardisedOptionByAttrs","_d","getSwiperInstanceName","binding","SwiperInstance","getSwiperInstance","instanceName","getSwipeOptions","getBooleanValueByInput","input","getEventEmiter","listeners","fns","emitEvent","inserted","swiperOptions","vueContext","Ready","componentUpdated","_f","_g","_j","_k","_m","autoUpdate","AutoUpdate","isLoop","autoDestroy","AutoDestroy","DeleteInstanceOnDestroy","CleanupStylesOnDestroy","getSwiperComponent","SwiperComponent","required","swiperInstance","handleSwiperClick","autoReLoopSwiper","destroySwiper","initSwiper","$slots","ParallaxBg","PrevButton","NextButton","SwiperSlideComponent","getInstaller","installed","directive","SwiperDirective","exporter","version","VueAwesomeSwiper","Swiper","SwiperSlide","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","configurable","writable","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","_invoke","makeInvokeMethod","tryCatch","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","async","iter","reverse","skipTempReset","rootEntry","rootRecord","rval","exception","loc","caught","hasCatch","hasFinally","finallyEntry","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","subComments","userId","currentComment","CommentItem","CommentInput","getSubCommentsList","commitComments","deleteComments","commentCount","commentsCount","comments","getComponent","tag","showPopup","subComment","showAd","AdTip","showPupInput","ShrinkCommentItem","CommentInputPopup","componentName","getCommentLists","deep","immediate","newValue","oldValue","commitCommentFunc","isWindow","overflowScrollReg","getScroller","node","tagName","_window$getComputedSt","overflowY","getScrollTop","pageYOffset","setScrollTop","scrollTo","getRootScrollTop","documentElement","setRootScrollTop","getElementTop","DESCRIPTORS","FunctionPrototype","FunctionPrototypeToString","nameRE","NAME","BORDER","BORDER_TOP","BORDER_LEFT","BORDER_SURROUND","appInfoResp","requestappInfo","callBack","clientInfoCallback","JSON","getClientInfo","isIOS","platform","isAndroid","getStatusHeight","statusBarHeight","screenHeight","getAppInfo","titleStatusBarHeight","titleBarHeight","TYPE_GUEST","isGuest","loginType","Button","plain","hairline","iconPosition","onTouchstart","border","borderColor","block","square","renderIcon","loadingSize","loadingType","iconPrefix","renderContent","nativeType","thisNumberValue","nativeToFixed","toFixed","pow","acc","FORCED","forced","fractionDigits","fractDigits","sign","multiply","c2","divide","dataToString","viewPointResp","RelatesResp","setviewPointResp","relatesResp","requestviewPoint","requestRelates","webpackContext","req","webpackContextResolve","__webpack_require__","lockClick","lock","forbidClick","closeOnClick","toggleClickable","onAfterEnter","onAfterLeave","genIcon","hasIcon","genMessage","mask","defaultOptionsMap","queue","parseOptions","createInstance","toast","transformOptions","clear","timer","all","shift","allowMultiple","followResp","setfollowResp","hightLight","isFree","isShrink","isAvailable","DOMIterables","ArrayIteratorMethods","createNonEnumerableProperty","wellKnownSymbol","ITERATOR","TO_STRING_TAG","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","METHOD_NAME","closeable","closeIcon","closeIconPosition","beforeCreate","createEmitter","onClickCloseIcon","isCenter","transitionName","getWaterMark","setComments","setSubComments","deleteComment","commentId","deleteSubComment","setInputType","commitComment","getComments","parseComments","getCommentList","getSubComments","getLiveComments","commitLiveComment","tip","tipClass","goAd","viewDetail"],"mappings":"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","file":"js/chunk-6dee4a84.a5fba796.js","sourcesContent":["export function isHidden(el) {\n var style = window.getComputedStyle(el);\n var hidden = style.display === 'none'; // offsetParent returns null in the following situations:\n // 1. The element or its parent element has the display property set to none.\n // 2. The element has the position property set to fixed\n\n var parentHidden = el.offsetParent === null && style.position !== 'fixed';\n return hidden || parentHidden;\n}","export function removeNode(el) {\n var parent = el.parentNode;\n\n if (parent) {\n parent.removeChild(el);\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"banner B1\"},[_c('AdTip',{attrs:{\"tipClass\":_vm.subscribeStatus === 2 ? 'blue' : '',\"viewDetail\":_vm.subscribeStatus !== 2}}),_c('div',{staticClass:\"row1 sepTop\"},[_c('div',{staticClass:\"priceArea S8 C1\"},[(_vm.subscribeStatus === 1)?_c('div',{staticClass:\"T6\"},[_vm._v(\" 有效期至\"+_vm._s(_vm.dayjs(_vm.resp.detail.detail.expireTime).format('YYYY-MM-DD'))+\" \")]):[(_vm.videoType === 'shrink')?[_c('div',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\" \"+_vm._s(_vm.displayPrice)+\" \")])]:[_c('div',[_vm._v(\" ¥ \")]),_c('div',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\" \"+_vm._s(_vm.price)+\" \")]),_c('div',[_vm._v(\" /套 \")]),(_vm.isShowOriginalPrice)?_c('div',{staticClass:\"S4 T3 orignPrice\"},[_vm._v(\" ¥\"+_vm._s(_vm.originalPrice)+\" \")]):_vm._e()]]],2),_c('div',{staticClass:\"S8 T5 btnBuy\",on:{\"click\":_vm.goBuy}},[(_vm.subscribeStatus === 1)?_c('span',[_vm._v(\"续订\")]):(_vm.subscribeStatus === 2)?_c('span',[_vm._v(\"再次订阅\")]):_c('span',[_vm._v(\"立即订购\")])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PayBanner.vue?vue&type=template&id=623e6732&scoped=true&\"\nimport script from \"./PayBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./PayBanner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PayBanner.vue?vue&type=style&index=0&id=623e6732&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"623e6732\",\n null\n \n)\n\nexport default component.exports","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","import '../../style/base.css';\nimport '../index.css';","class Util {\r\n getVideoHeight() {\r\n return window.screen.width * 9 / 16\r\n }\r\n\r\n go(url) {\r\n console.log(url)\r\n if (url === undefined) {\r\n console.log(\"跳转地址不存在\")\r\n return\r\n }\r\n window.location.href = url\r\n }\r\n\r\n px2Rem(px) {\r\n var htmlFontSize = document.body.currentStyle || document.defaultView.getComputedStyle(document.body, '').fontSize\r\n let scale = 16 / (htmlFontSize.replace(\"px\", \"\"))\r\n return px.replace(\"px\", \"\") * scale + 'px'\r\n }\r\n\r\n keepScreenOn(on) {\r\n try {\r\n window.goods.keepScreenOn(on)\r\n }catch (e) {\r\n console.log(e)\r\n }\r\n }\r\n\r\n compareMv(targetMv, currentMv, isIncludeEqual = true) {\r\n if (!targetMv) {\r\n console.warn('版本比对异常:请传入要比对的版本')\r\n return\r\n }\r\n\r\n if (typeof currentMv === 'boolean') {\r\n isIncludeEqual = currentMv\r\n currentMv = undefined\r\n }\r\n\r\n let isSupport = false\r\n currentMv = currentMv || this.mv\r\n\r\n if (targetMv === currentMv) {\r\n isSupport = isIncludeEqual\r\n } else {\r\n const targetMvArr = targetMv.split('.')\r\n const currentMvArr = currentMv.split('.')\r\n if (currentMvArr.length === targetMvArr.length) {\r\n for (let i = 0; i < currentMvArr.length; i++) {\r\n if (currentMvArr[i] !== targetMvArr[i]) {\r\n isSupport = +currentMvArr[i] > +targetMvArr[i]\r\n break\r\n }\r\n }\r\n } else {\r\n isSupport = currentMvArr.length > targetMvArr.length\r\n }\r\n }\r\n\r\n return isSupport\r\n }\r\n\r\n}\r\n\r\nexport default new Util()","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):t.dayjs_plugin_utc=i()}(this,function(){\"use strict\";return function(t,i,e){var s=i.prototype;e.utc=function(t){return new i({date:t,utc:!0,args:arguments})},s.utc=function(t){var i=e(this.toDate(),{locale:this.$L,utc:!0});return t?i.add(this.utcOffset(),\"minute\"):i},s.local=function(){return e(this.toDate(),{locale:this.$L,utc:!1})};var f=s.parse;s.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),f.call(this,t)};var n=s.init;s.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else n.call(this)};var u=s.utcOffset;s.utcOffset=function(t,i){var e=this.$utils().u;if(e(t))return this.$u?0:e(this.$offset)?u.call(this):this.$offset;var s=Math.abs(t)<=16?60*t:t,f=this;if(i)return f.$offset=s,f.$u=0===t,f;if(0!==t){var n=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(f=this.local().add(s+n,\"minute\")).$offset=s,f.$x.$localOffset=n}else f=this.utc();return f};var o=s.format;s.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return o.call(this,i)},s.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*t},s.isUTC=function(){return!!this.$u},s.toISOString=function(){return this.toDate().toISOString()},s.toString=function(){return this.toDate().toUTCString()};var r=s.toDate;s.toDate=function(t){return\"s\"===t&&this.$offset?e(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():r.call(this)};var a=s.diff;s.diff=function(t,i,s){if(t&&this.$u===t.$u)return a.call(this,t,i,s);var f=this.local(),n=e(t).local();return a.call(f,n,i,s)}}});\n","import Vue from 'vue'\r\n\r\nexport var permissions = Vue.observable({\r\n data: []\r\n})\r\n\r\nexport function checkPermission(productId,callback) {\r\n if (!window.goods) return\r\n window.permissionCallback = (result) => {\r\n if (result === true && permissions.data.indexOf(productId) === -1) {\r\n permissions.data = permissions.data.concat(productId)\r\n if(callback){\r\n callback()\r\n }\r\n }\r\n };\r\n window.goods.checkPermission(productId, 'permissionCallback')\r\n}\r\n\r\n\r\nexport function hasPermission(productId) {\r\n return permissions.data.indexOf(productId) !== -1\r\n}\r\n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAkCAYAAAD7PHgWAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAgNJREFUWIXd2M+PDEEYxvHPzE52d8Q67AqJBJON+HXASRwQsg6EcBNx4U9xmb9C4kY4SBxI3ERcxEXiQvwIEZzsgSyLWcahZpJR0zN6errH2OfSXW8/b/U3/VZXV3WpXq8bgarYg3nMYS2a+IJFvMITfIsTKwWDVXAE+zGZcL2K9diBBTzCfayMAnAW57AhpX8Kh7Ad1/CJ4gBncBHrovgy3ghlLQnlrmG6w7MRF3AFS0UBnongVnBPKGEj8k7hAA5johWbxUncKAKwhm0R3FW87uH/Loy79ziPciu+C7Vyj6RhtC9qP+gD16mXeBj3VQTglqj9eIDc2Lu1CMDOsfcDnwfIXYz7KgKwc1z/GjA39k8UAZirigac/rulv8b+CbbHy6QwObaBPwzR56WE2KbW8Sc+to6p8ivCCuOsHMqRUku4jndpzBWcMjo4wlLrBC43GvFXr1tlobSj1lxa49i/JKsacFnCEj1vZVlufcUtvGi1dwrrv0JetCxP8DaeC5ueJp7ibp5QnRoUsIlnCfGkWC4aFLAkzGOxZnJgSVSWEi8IoG2VcDQfnG5lAdzrT6Dj2J0PTreyTjPVjvM1eYD00qqeqEeirPvieRxrnW/OiSVRWQHncDBPkF4a+xL/F4DNf3Df1PcsCz9tRq23aY0V3MRp4b9cqb99aDWFHeOdtAm/AUBGTFkJyiC0AAAAAElFTkSuQmCC\"","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","import { isServer } from '..';\n// eslint-disable-next-line import/no-mutable-exports\nexport var supportsPassive = false;\n\nif (!isServer) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', {\n // eslint-disable-next-line getter-return\n get: function get() {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n });\n window.addEventListener('test-passive', null, opts); // eslint-disable-next-line no-empty\n } catch (e) {}\n}\n\nexport function on(target, event, handler, passive) {\n if (passive === void 0) {\n passive = false;\n }\n\n if (!isServer) {\n target.addEventListener(event, handler, supportsPassive ? {\n capture: false,\n passive: passive\n } : false);\n }\n}\nexport function off(target, event, handler) {\n if (!isServer) {\n target.removeEventListener(event, handler);\n }\n}\nexport function stopPropagation(event) {\n event.stopPropagation();\n}\nexport function preventDefault(event, isStopPropagation) {\n /* istanbul ignore else */\n if (typeof event.cancelable !== 'boolean' || event.cancelable) {\n event.preventDefault();\n }\n\n if (isStopPropagation) {\n stopPropagation(event);\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"B1 sepTop\",class:_vm.bottomClass},[_c('div',{staticClass:\"bottom-content\"},[_c('div',{ref:\"ref-input\",staticClass:\"input-container B6\",on:{\"click\":function($event){$event.stopPropagation();return _vm.onInputEvent($event)}}},[_c('img',{attrs:{\"src\":require(\"@/static/ic_input.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"S6 T3 tips\"},[_vm._v(_vm._s(_vm.bottomTitle))])]),(_vm.id)?_c('img',{staticClass:\"collect\",attrs:{\"src\":require(_vm.Favored ? '@/static/ic_favored.png' : '@/static/ic_favor.png'),\"alt\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.collectFun()}}}):_vm._e(),_c('div',{ref:\"ref-text\",staticClass:\"text-container B1\"},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.content),expression:\"content\"}],ref:\"textarea\",staticClass:\"S6 T1\",attrs:{\"placeholder\":_vm.placeholder,\"autofocus\":\"\",\"rows\":\"1\"},domProps:{\"value\":(_vm.content)},on:{\"focus\":_vm.onFocusEvent,\"blur\":_vm.onBlurEvent,\"change\":_vm.onTextChanged,\"keydown\":_vm.onTextChanged,\"keyup\":_vm.onTextChanged,\"input\":function($event){if($event.target.composing){ return; }_vm.content=$event.target.value}}}),_c('div',{staticClass:\"send-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.onCommitEvent($event)}}},[_c('div',{staticClass:\"S6\",class:_vm.content.length == 0 ? 'T3' : 'C5'},[_vm._v(\"发送\")])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommentInput.vue?vue&type=template&id=92f7e458&scoped=true&\"\nimport script from \"./CommentInput.vue?vue&type=script&lang=js&\"\nexport * from \"./CommentInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommentInput.vue?vue&type=style&index=0&id=92f7e458&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"92f7e458\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoDetail.vue?vue&type=style&index=0&id=1d61622c&scoped=true&lang=scss&\"","import http from \"@/api/http\";\r\n\r\nconst state = {\r\n resp: Object,\r\n playInfo: Object,\r\n currentVideo:String,\r\n respReport:Object,\r\n}\r\n\r\nconst mutations = {\r\n setResp: (state, resp) => {\r\n state.resp = resp\r\n },\r\n setPlayInfo: (state, playInfo) => {\r\n state.playInfo = playInfo\r\n },\r\n setCurrentVideo: (state, videoIdentity) => {\r\n state.currentVideo = videoIdentity\r\n },\r\n setrespReport: (state, respReport) => {\r\n state.respReport = respReport\r\n },\r\n setProgress:(state,progress)=>{\r\n state.progress = progress\r\n }\r\n}\r\n\r\nconst actions = {\r\n request({commit}, params) {\r\n let url = '/Course/api/SetDetail'\r\n return http.post(url, params).then(res => {\r\n commit('setResp', res)\r\n })\r\n },\r\n requestVideo({commit}, params) {\r\n let url = '/Course/api/playinfo'\r\n commit('setCurrentVideo',params.videoIdentity)\r\n return http.post(url, params).then(res => {\r\n commit('setPlayInfo', res)\r\n })\r\n },\r\n requestUploadProgress({commit}, params) {\r\n let courses = state.resp.detail.courses.page.list;\r\n for (let i = 0; i < courses.length; i++) {\r\n let v = courses[i]\r\n if(v.videoIdentity===params.videoIdentity){\r\n v.progress=params.progress\r\n }\r\n }\r\n commit('setProgress',params.progress)\r\n\r\n let url = '/Course/Progress/Report'\r\n return http.post(url, params).then(resp=>{\r\n commit('setrespReport',resp)\r\n })\r\n },\r\n //订阅课\r\n requestDetail({ commit }, params) {\r\n let url = '/Course/Subscribe/SetDetail'\r\n return http.post(url, params).then(res => {\r\n commit('setResp', res)\r\n })\r\n }\r\n\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\"},[_c('div',{staticClass:\"page-container\",style:(_vm.statusPading),attrs:{\"autoplay\":\"autoplay\"}},[_c('div',{staticClass:\"statusBg B1\"}),(!_vm.isShowCover)?_c('Player',{staticClass:\"video B1\",style:(_vm.statusPading),on:{\"onStartPlay\":_vm.onStartPlay}}):_vm._e(),(_vm.isMaskShowFix)?_c('VideoMask',{style:([_vm.statusPading, _vm.videoHeightStyle])}):_vm._e(),_c('div',{style:(_vm.videoHeightStyle)}),(_vm.isShowCover)?_c('div',{staticClass:\"cover B1\",staticStyle:{\"z-index\":\"10002\"},style:([_vm.statusPading, _vm.videoHeightStyle])},[_c('img',{staticClass:\"imgDefault\",staticStyle:{\"width\":\"100%\",\"'object-fit'\":\"'cover'\"},style:([_vm.videoHeightStyle]),attrs:{\"src\":_vm.resp && _vm.resp.detail && _vm.resp.detail.detail.coverImagUrl\n ? _vm.resp.detail.detail.coverImagUrl\n : '',\"alt\":\"\"}}),_c('img',{staticClass:\"btnPlay\",attrs:{\"src\":require(\"../../static/ic_play_grey.png\"),\"alt\":\"\"},on:{\"click\":function($event){return _vm.playCourseVideo(_vm.resp.detail.courses.page.list[0])}}})]):_vm._e(),(_vm.getTodayTip)?[_c('div',{staticClass:\"S8 T1 marginL30 jrgxTitle\"},[_vm._v(\"今日更新\")]),_c('div',{staticClass:\"videoToday\",class:_vm.getTodayTip.videoIdenftity === _vm.currentVideo ? 'C5' : 'T1',on:{\"click\":function($event){return _vm.playCourseVideo(_vm.getTodayTip)}}},[_vm._v(\" 【\"+_vm._s(_vm.dayjs(_vm.getTodayTip.updateTime).format('MM-DD') || '')+\"】 \"+_vm._s(_vm.getTodayTip.title || '')+\" \"),_c('img',{attrs:{\"src\":require(\"../../static/ic_play_grey.png\")}})])]:_vm._e(),_c('van-sticky',{attrs:{\"offset-top\":_vm.navOffest}},[_c('NavItem',{staticClass:\"sepBottom B1\",attrs:{\"items\":_vm.navItems},on:{\"onItemClick\":_vm.onItemClick}})],1),_c('swiper',{ref:\"mySwiper\",staticClass:\"my-swiper\",attrs:{\"options\":_vm.swiperOption},on:{\"slideChange\":_vm.slideChange}},[_c('swiper-slide',[_c('CourseVideoDetail',{on:{\"updateSwiper\":_vm.updateSwiper,\"playCourseVideo\":_vm.playCourseVideo}})],1),_c('swiper-slide',[_c('Comment',{attrs:{\"videoType\":\"shrink\",\"showPupInput\":!_vm.showCommentDetail && !!_vm.currentIndex,\"hasPermission\":_vm.hasPermission(_vm.productId),\"commentsInfo\":_vm.commentsInfo},on:{\"updateSwiper\":_vm.updateSwiper,\"onReplyEvent\":_vm.onReplyEvent,\"onShowAllEvent\":_vm.onShowAllEvent}})],1)],1),_c('PayBanner',{directives:[{name:\"show\",rawName:\"v-show\",value:(!(_vm.hasPermission(_vm.productId) && !!_vm.currentIndex)),expression:\"!(hasPermission(productId) && !!currentIndex)\"}],attrs:{\"subscribeStatus\":_vm.resp &&\n _vm.resp.detail &&\n _vm.resp.detail.detail &&\n _vm.resp.detail.detail.subscribeStatus,\"videoType\":\"shrink\"}})],2),(_vm.showCommentDetail)?_c('div',{staticClass:\"comment-container B1\",style:([_vm.commentStyle, _vm.statusPading]),on:{\"touchmove\":function($event){$event.stopPropagation();}}},[_c('CommentDetail',{attrs:{\"commentsInfo\":_vm.commentsInfo,\"comment\":_vm.currComment,\"isPermission\":_vm.hasPermission(_vm.productId),\"isShowAll\":_vm.isShowAll},on:{\"onCloseEvent\":_vm.onCloseEvent}})],1):_vm._e(),(_vm.isSupportIM)?_c('div',{staticClass:\"onlineservice\",style:([_vm.onlineserviceStyle]),on:{\"click\":function($event){return _vm.goIM()}}},[_c('img',{staticStyle:{\"width\":\"100%\"},attrs:{\"src\":require(\"../../static/ic_online_service.png\"),\"alt\":\"\"}})]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseDetail.vue?vue&type=template&id=1d2425bb&scoped=true&\"\nimport script from \"./CourseDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseDetail.vue?vue&type=style&index=0&id=1d2425bb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d2425bb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nav\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:item.id,staticClass:\"item\",on:{\"click\":function($event){return _vm.onItemClickInner(index, item)}}},[_c('div',{staticClass:\"S8\",class:item.isSelect ? 'C5' : 'T1'},[_vm._v(\" \"+_vm._s(item.name)+\" \"),_c('span',{staticClass:\"S4\",class:item.isSelect ? 'C5' : 'T3'},[_vm._v(_vm._s(item.title))])]),_c('div',{staticClass:\"ind\",class:item.isSelect ? 'sel' : ''})])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavItem.vue?vue&type=template&id=483ca86a&scoped=true&\"\nimport script from \"./NavItem.vue?vue&type=script&lang=js&\"\nexport * from \"./NavItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NavItem.vue?vue&type=style&index=0&id=483ca86a&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"483ca86a\",\n null\n \n)\n\nexport default component.exports","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShrinkCommentItem.vue?vue&type=style&index=0&id=b210533c&scoped=true&lang=scss&\"","function flattenVNodes(vnodes) {\n var result = [];\n\n function traverse(vnodes) {\n vnodes.forEach(function (vnode) {\n result.push(vnode);\n\n if (vnode.componentInstance) {\n traverse(vnode.componentInstance.$children.map(function (item) {\n return item.$vnode;\n }));\n }\n\n if (vnode.children) {\n traverse(vnode.children);\n }\n });\n }\n\n traverse(vnodes);\n return result;\n} // sort children instances by vnodes order\n\n\nexport function sortChildren(children, parent) {\n var componentOptions = parent.$vnode.componentOptions;\n\n if (!componentOptions || !componentOptions.children) {\n return;\n }\n\n var vnodes = flattenVNodes(componentOptions.children);\n children.sort(function (a, b) {\n return vnodes.indexOf(a.$vnode) - vnodes.indexOf(b.$vnode);\n });\n}","import { sortChildren } from '../utils/vnodes';\nexport function ChildrenMixin(_parent, options) {\n var _inject, _computed;\n\n if (options === void 0) {\n options = {};\n }\n\n var indexKey = options.indexKey || 'index';\n return {\n inject: (_inject = {}, _inject[_parent] = {\n default: null\n }, _inject),\n computed: (_computed = {\n parent: function parent() {\n if (this.disableBindRelation) {\n return null;\n }\n\n return this[_parent];\n }\n }, _computed[indexKey] = function () {\n this.bindRelation();\n\n if (this.parent) {\n return this.parent.children.indexOf(this);\n }\n\n return null;\n }, _computed),\n watch: {\n disableBindRelation: function disableBindRelation(val) {\n if (!val) {\n this.bindRelation();\n }\n }\n },\n mounted: function mounted() {\n this.bindRelation();\n },\n beforeDestroy: function beforeDestroy() {\n var _this = this;\n\n if (this.parent) {\n this.parent.children = this.parent.children.filter(function (item) {\n return item !== _this;\n });\n }\n },\n methods: {\n bindRelation: function bindRelation() {\n if (!this.parent || this.parent.children.indexOf(this) !== -1) {\n return;\n }\n\n var children = [].concat(this.parent.children, [this]);\n sortChildren(children, this.parent);\n this.parent.children = children;\n }\n }\n };\n}\nexport function ParentMixin(parent) {\n return {\n provide: function provide() {\n var _ref;\n\n return _ref = {}, _ref[parent] = this, _ref;\n },\n data: function data() {\n return {\n children: []\n };\n }\n };\n}","import { createNamespace } from '../utils';\nimport { ParentMixin } from '../mixins/relation';\n\nvar _createNamespace = createNamespace('goods-action'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ParentMixin('vanGoodsAction')],\n props: {\n safeAreaInsetBottom: {\n type: Boolean,\n default: true\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem({\n unfit: !this.safeAreaInsetBottom\n })\n }, [this.slots()]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VanDialog from './Dialog';\nimport { isServer } from '../utils';\nvar instance;\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction initInstance() {\n if (instance) {\n instance.$destroy();\n }\n\n instance = new (Vue.extend(VanDialog))({\n el: document.createElement('div'),\n // avoid missing animation when first rendered\n propsData: {\n lazyRender: false\n }\n });\n instance.$on('input', function (value) {\n instance.value = value;\n });\n}\n\nfunction Dialog(options) {\n /* istanbul ignore if */\n if (isServer) {\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n if (!instance || !isInDocument(instance.$el)) {\n initInstance();\n }\n\n _extends(instance, Dialog.currentOptions, options, {\n resolve: resolve,\n reject: reject\n });\n });\n}\n\nDialog.defaultOptions = {\n value: true,\n title: '',\n width: '',\n theme: null,\n message: '',\n overlay: true,\n className: '',\n allowHtml: true,\n lockScroll: true,\n transition: 'van-dialog-bounce',\n beforeClose: null,\n overlayClass: '',\n overlayStyle: null,\n messageAlign: '',\n getContainer: 'body',\n cancelButtonText: '',\n cancelButtonColor: null,\n confirmButtonText: '',\n confirmButtonColor: null,\n showConfirmButton: true,\n showCancelButton: false,\n closeOnPopstate: true,\n closeOnClickOverlay: false,\n callback: function callback(action) {\n instance[action === 'confirm' ? 'resolve' : 'reject'](action);\n }\n};\nDialog.alert = Dialog;\n\nDialog.confirm = function (options) {\n return Dialog(_extends({\n showCancelButton: true\n }, options));\n};\n\nDialog.close = function () {\n if (instance) {\n instance.value = false;\n }\n};\n\nDialog.setDefaultOptions = function (options) {\n _extends(Dialog.currentOptions, options);\n};\n\nDialog.resetDefaultOptions = function () {\n Dialog.currentOptions = _extends({}, Dialog.defaultOptions);\n};\n\nDialog.resetDefaultOptions();\n\nDialog.install = function () {\n Vue.use(VanDialog);\n};\n\nDialog.Component = VanDialog;\nVue.prototype.$dialog = Dialog;\nexport default Dialog;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createNamespace } from '../utils';\nimport { route, routeProps } from '../utils/router';\nimport { ChildrenMixin } from '../mixins/relation';\nimport Button from '../button';\n\nvar _createNamespace = createNamespace('goods-action-button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [ChildrenMixin('vanGoodsAction')],\n props: _extends({}, routeProps, {\n type: String,\n text: String,\n icon: String,\n color: String,\n loading: Boolean,\n disabled: Boolean\n }),\n computed: {\n isFirst: function isFirst() {\n var prev = this.parent && this.parent.children[this.index - 1];\n return !prev || prev.$options.name !== this.$options.name;\n },\n isLast: function isLast() {\n var next = this.parent && this.parent.children[this.index + 1];\n return !next || next.$options.name !== this.$options.name;\n }\n },\n methods: {\n onClick: function onClick(event) {\n this.$emit('click', event);\n route(this.$router, this);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(Button, {\n \"class\": bem([{\n first: this.isFirst,\n last: this.isLast\n }, this.type]),\n \"attrs\": {\n \"size\": \"large\",\n \"type\": this.type,\n \"icon\": this.icon,\n \"color\": this.color,\n \"loading\": this.loading,\n \"disabled\": this.disabled\n },\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots() || this.text]);\n }\n});","import _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\nimport { createNamespace, addUnit } from '../utils';\nimport { BORDER_TOP, BORDER_LEFT } from '../utils/constant';\nimport { PopupMixin } from '../mixins/popup';\nimport Button from '../button';\nimport GoodsAction from '../goods-action';\nimport GoodsActionButton from '../goods-action-button';\n\nvar _createNamespace = createNamespace('dialog'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n title: String,\n theme: String,\n width: [Number, String],\n message: String,\n className: null,\n callback: Function,\n beforeClose: Function,\n messageAlign: String,\n cancelButtonText: String,\n cancelButtonColor: String,\n confirmButtonText: String,\n confirmButtonColor: String,\n showCancelButton: Boolean,\n overlay: {\n type: Boolean,\n default: true\n },\n allowHtml: {\n type: Boolean,\n default: true\n },\n transition: {\n type: String,\n default: 'van-dialog-bounce'\n },\n showConfirmButton: {\n type: Boolean,\n default: true\n },\n closeOnPopstate: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n loading: {\n confirm: false,\n cancel: false\n }\n };\n },\n methods: {\n onClickOverlay: function onClickOverlay() {\n this.handleAction('overlay');\n },\n handleAction: function handleAction(action) {\n var _this = this;\n\n this.$emit(action); // show not trigger close event when hidden\n\n if (!this.value) {\n return;\n }\n\n if (this.beforeClose) {\n this.loading[action] = true;\n this.beforeClose(action, function (state) {\n if (state !== false && _this.loading[action]) {\n _this.onClose(action);\n }\n\n _this.loading.confirm = false;\n _this.loading.cancel = false;\n });\n } else {\n this.onClose(action);\n }\n },\n onClose: function onClose(action) {\n this.close();\n\n if (this.callback) {\n this.callback(action);\n }\n },\n onOpened: function onOpened() {\n this.$emit('opened');\n },\n onClosed: function onClosed() {\n this.$emit('closed');\n },\n genRoundButtons: function genRoundButtons() {\n var _this2 = this;\n\n var h = this.$createElement;\n return h(GoodsAction, {\n \"class\": bem('footer')\n }, [this.showCancelButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"warning\",\n \"text\": this.cancelButtonText || t('cancel'),\n \"color\": this.cancelButtonColor,\n \"loading\": this.loading.cancel\n },\n \"class\": bem('cancel'),\n \"on\": {\n \"click\": function click() {\n _this2.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(GoodsActionButton, {\n \"attrs\": {\n \"size\": \"large\",\n \"type\": \"danger\",\n \"text\": this.confirmButtonText || t('confirm'),\n \"color\": this.confirmButtonColor,\n \"loading\": this.loading.confirm\n },\n \"class\": bem('confirm'),\n \"on\": {\n \"click\": function click() {\n _this2.handleAction('confirm');\n }\n }\n })]);\n },\n genButtons: function genButtons() {\n var _this3 = this,\n _ref;\n\n var h = this.$createElement;\n var multiple = this.showCancelButton && this.showConfirmButton;\n return h(\"div\", {\n \"class\": [BORDER_TOP, bem('footer')]\n }, [this.showCancelButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.cancel,\n \"text\": this.cancelButtonText || t('cancel')\n },\n \"class\": bem('cancel'),\n \"style\": {\n color: this.cancelButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this3.handleAction('cancel');\n }\n }\n }), this.showConfirmButton && h(Button, {\n \"attrs\": {\n \"size\": \"large\",\n \"loading\": this.loading.confirm,\n \"text\": this.confirmButtonText || t('confirm')\n },\n \"class\": [bem('confirm'), (_ref = {}, _ref[BORDER_LEFT] = multiple, _ref)],\n \"style\": {\n color: this.confirmButtonColor\n },\n \"on\": {\n \"click\": function click() {\n _this3.handleAction('confirm');\n }\n }\n })]);\n },\n genContent: function genContent(hasTitle, messageSlot) {\n var h = this.$createElement;\n\n if (messageSlot) {\n return h(\"div\", {\n \"class\": bem('content')\n }, [messageSlot]);\n }\n\n var message = this.message,\n messageAlign = this.messageAlign;\n\n if (message) {\n var _bem, _domProps;\n\n var data = {\n class: bem('message', (_bem = {\n 'has-title': hasTitle\n }, _bem[messageAlign] = messageAlign, _bem)),\n domProps: (_domProps = {}, _domProps[this.allowHtml ? 'innerHTML' : 'textContent'] = message, _domProps)\n };\n return h(\"div\", {\n \"class\": bem('content', {\n isolated: !hasTitle\n })\n }, [h(\"div\", _mergeJSXProps([{}, data]))]);\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var message = this.message;\n var messageSlot = this.slots();\n var title = this.slots('title') || this.title;\n var Title = title && h(\"div\", {\n \"class\": bem('header', {\n isolated: !message && !messageSlot\n })\n }, [title]);\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"attrs\": {\n \"role\": \"dialog\",\n \"aria-labelledby\": this.title || message\n },\n \"class\": [bem([this.theme]), this.className],\n \"style\": {\n width: addUnit(this.width)\n }\n }, [Title, this.genContent(title, messageSlot), this.theme === 'round-button' ? this.genRoundButtons() : this.genButtons()])]);\n }\n});","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAStJREFUSIm11z1OwzAUAOCP0IWVqj1Cl3IGpLICYoLzMZeNn5Veor1Eq3IGhiRSFSWxnThvtC1/8s97sq9Wq9UN3vCFP9PGLZ6xneEV79jjAaeJ0AV+cQcFfnCoGnbVgCnRA74LnJUrPWA9Ad5ENzgXVedxIrwNPVFudR258U60CefEe9E2OAceRLvgMXgU2gcPwRfVmCAagmt8E4HX6DoGjYFVE/ThyWgs3IcPQmEWCV/iNbSr2pPRVLgNNwQlfquzRyrcPNPBFS4FbrtIMak2Cu66vaFUGwWHUmYQHoJj8zQZ74NTi0MS3gUPrUjReBs8uAym4E14LBqNX8LLTGgUXsNL5cshFxrEC8wbaO7fRBs+L/DYQI8Z0S78aYYPXONT+auYKk64xwu2/8tvnxC/XFHrAAAAAElFTkSuQmCC\"","import '../../style/base.css';\nimport '../../loading/index.css';\nimport '../index.css';","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=style&index=0&id=99daa944&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PayBanner.vue?vue&type=style&index=0&id=623e6732&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{\"click\":function($event){return _vm.onReplyEvent(_vm.item)}}},[_c('div',{staticClass:\"item-container\"},[_c('div',{staticClass:\"avatar-container\"},[_c('img',{staticClass:\"item-avatar\",attrs:{\"src\":_vm.item.avatar}}),(_vm.item.isAuthor)?_c('img',{staticClass:\"icon_header_v\",attrs:{\"src\":require(\"@/static/ic_v_log.png\")}}):_vm._e()]),_c('div',{staticClass:\"right-continer\"},[_c('div',{staticClass:\"S8 T1 title-container\"},[_vm._v(\" \"+_vm._s(_vm.item.nickname)+\" \"),(_vm.showOwner)?_c('span',{staticClass:\"item-owner C5 S2 B_C6\"},[_vm._v(\" 楼主 \")]):_vm._e()]),_c('div',{staticClass:\"S8 item-comment\",class:_vm.commentColor},[_vm._v(\" \"+_vm._s(_vm.item.content)+\" \"),(_vm.item.parentComent)?_c('span',[_c('span',{staticClass:\"T1\"},[_vm._v(\" // \")]),_c('span',{staticClass:\"C5\"},[_vm._v(_vm._s('@' + _vm.item.parentComent.nickname + ':'))]),_c('span',{class:_vm.parentCommentColor},[_vm._v(_vm._s(_vm.item.parentComent.content))])]):_vm._e()]),_c('div',{staticClass:\"timer-container\"},[_c('div',{staticClass:\"S4 T3\"},[_vm._v(\" \"+_vm._s(_vm.item.createTime)+\" \")]),_c('div',{staticClass:\"item-replay\",staticStyle:{\"padding\":\"0 5px\"}},[_c('div',{staticClass:\"S4 T1\"},[_vm._v(_vm._s(_vm.replyTitle))])])]),(_vm.canDelete)?_c('div',{staticClass:\"delete-container\",on:{\"click\":function($event){$event.stopPropagation();return _vm.onDeleteEvent(_vm.item)}}},[_c('div',{staticClass:\"btn-delete S2 T1\"},[_vm._v(\"删除\")])]):_vm._e()])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommentItem.vue?vue&type=template&id=59cc880c&scoped=true&\"\nimport script from \"./CommentItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CommentItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommentItem.vue?vue&type=style&index=0&id=59cc880c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"59cc880c\",\n null\n \n)\n\nexport default component.exports","// Utils\nimport { createNamespace } from '../utils';\nimport { isHidden } from '../utils/dom/style';\nimport { getScroller } from '../utils/dom/scroll'; // Mixins\n\nimport { BindEventMixin } from '../mixins/bind-event'; // Components\n\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('list'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n bind(this.scroller, 'scroll', this.check);\n })],\n model: {\n prop: 'loading'\n },\n props: {\n error: Boolean,\n loading: Boolean,\n finished: Boolean,\n errorText: String,\n loadingText: String,\n finishedText: String,\n immediateCheck: {\n type: Boolean,\n default: true\n },\n offset: {\n type: [Number, String],\n default: 300\n },\n direction: {\n type: String,\n default: 'down'\n }\n },\n data: function data() {\n return {\n // use sync innerLoading state to avoid repeated loading in some edge cases\n innerLoading: this.loading\n };\n },\n updated: function updated() {\n this.innerLoading = this.loading;\n },\n mounted: function mounted() {\n if (this.immediateCheck) {\n this.check();\n }\n },\n watch: {\n loading: 'check',\n finished: 'check'\n },\n methods: {\n // @exposed-api\n check: function check() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.innerLoading || _this.finished || _this.error) {\n return;\n }\n\n var el = _this.$el,\n scroller = _this.scroller,\n offset = _this.offset,\n direction = _this.direction;\n var scrollerRect;\n\n if (scroller.getBoundingClientRect) {\n scrollerRect = scroller.getBoundingClientRect();\n } else {\n scrollerRect = {\n top: 0,\n bottom: scroller.innerHeight\n };\n }\n\n var scrollerHeight = scrollerRect.bottom - scrollerRect.top;\n /* istanbul ignore next */\n\n if (!scrollerHeight || isHidden(el)) {\n return false;\n }\n\n var isReachEdge = false;\n\n var placeholderRect = _this.$refs.placeholder.getBoundingClientRect();\n\n if (direction === 'up') {\n isReachEdge = scrollerRect.top - placeholderRect.top <= offset;\n } else {\n isReachEdge = placeholderRect.bottom - scrollerRect.bottom <= offset;\n }\n\n if (isReachEdge) {\n _this.innerLoading = true;\n\n _this.$emit('input', true);\n\n _this.$emit('load');\n }\n });\n },\n clickErrorText: function clickErrorText() {\n this.$emit('update:error', false);\n this.check();\n },\n genLoading: function genLoading() {\n var h = this.$createElement;\n\n if (this.innerLoading && !this.finished) {\n return h(\"div\", {\n \"key\": \"loading\",\n \"class\": bem('loading')\n }, [this.slots('loading') || h(Loading, {\n \"attrs\": {\n \"size\": \"16\"\n }\n }, [this.loadingText || t('loading')])]);\n }\n },\n genFinishedText: function genFinishedText() {\n var h = this.$createElement;\n\n if (this.finished) {\n var text = this.slots('finished') || this.finishedText;\n\n if (text) {\n return h(\"div\", {\n \"class\": bem('finished-text')\n }, [text]);\n }\n }\n },\n genErrorText: function genErrorText() {\n var h = this.$createElement;\n\n if (this.error) {\n var text = this.slots('error') || this.errorText;\n\n if (text) {\n return h(\"div\", {\n \"on\": {\n \"click\": this.clickErrorText\n },\n \"class\": bem('error-text')\n }, [text]);\n }\n }\n }\n },\n render: function render() {\n var h = arguments[0];\n var Placeholder = h(\"div\", {\n \"ref\": \"placeholder\",\n \"key\": \"placeholder\",\n \"class\": bem('placeholder')\n });\n return h(\"div\", {\n \"class\": bem(),\n \"attrs\": {\n \"role\": \"feed\",\n \"aria-busy\": this.innerLoading\n }\n }, [this.direction === 'down' ? this.slots() : Placeholder, this.genLoading(), this.genFinishedText(), this.genErrorText(), this.direction === 'up' ? this.slots() : Placeholder]);\n }\n});","import { isHidden } from '../utils/dom/style';\nimport { unitToPx } from '../utils/format/unit';\nimport { createNamespace, isDef, isServer } from '../utils';\nimport { getScrollTop, getElementTop, getScroller } from '../utils/dom/scroll';\nimport { BindEventMixin } from '../mixins/bind-event';\n\nvar _createNamespace = createNamespace('sticky'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [BindEventMixin(function (bind, isBind) {\n if (!this.scroller) {\n this.scroller = getScroller(this.$el);\n }\n\n if (this.observer) {\n var method = isBind ? 'observe' : 'unobserve';\n this.observer[method](this.$el);\n }\n\n bind(this.scroller, 'scroll', this.onScroll, true);\n this.onScroll();\n })],\n props: {\n zIndex: [Number, String],\n container: null,\n offsetTop: {\n type: [Number, String],\n default: 0\n }\n },\n data: function data() {\n return {\n fixed: false,\n height: 0,\n transform: 0\n };\n },\n computed: {\n offsetTopPx: function offsetTopPx() {\n return unitToPx(this.offsetTop);\n },\n style: function style() {\n if (!this.fixed) {\n return;\n }\n\n var style = {};\n\n if (isDef(this.zIndex)) {\n style.zIndex = this.zIndex;\n }\n\n if (this.offsetTopPx && this.fixed) {\n style.top = this.offsetTopPx + \"px\";\n }\n\n if (this.transform) {\n style.transform = \"translate3d(0, \" + this.transform + \"px, 0)\";\n }\n\n return style;\n }\n },\n created: function created() {\n var _this = this;\n\n // compatibility: https://caniuse.com/#feat=intersectionobserver\n if (!isServer && window.IntersectionObserver) {\n this.observer = new IntersectionObserver(function (entries) {\n // trigger scroll when visibility changed\n if (entries[0].intersectionRatio > 0) {\n _this.onScroll();\n }\n }, {\n root: document.body\n });\n }\n },\n methods: {\n onScroll: function onScroll() {\n var _this2 = this;\n\n if (isHidden(this.$el)) {\n return;\n }\n\n this.height = this.$el.offsetHeight;\n var container = this.container,\n offsetTopPx = this.offsetTopPx;\n var scrollTop = getScrollTop(window);\n var topToPageTop = getElementTop(this.$el);\n\n var emitScrollEvent = function emitScrollEvent() {\n _this2.$emit('scroll', {\n scrollTop: scrollTop,\n isFixed: _this2.fixed\n });\n }; // The sticky component should be kept inside the container element\n\n\n if (container) {\n var bottomToPageTop = topToPageTop + container.offsetHeight;\n\n if (scrollTop + offsetTopPx + this.height > bottomToPageTop) {\n var distanceToBottom = this.height + scrollTop - bottomToPageTop;\n\n if (distanceToBottom < this.height) {\n this.fixed = true;\n this.transform = -(distanceToBottom + offsetTopPx);\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n return;\n }\n }\n\n if (scrollTop + offsetTopPx > topToPageTop) {\n this.fixed = true;\n this.transform = 0;\n } else {\n this.fixed = false;\n }\n\n emitScrollEvent();\n }\n },\n render: function render() {\n var h = arguments[0];\n var fixed = this.fixed;\n var style = {\n height: fixed ? this.height + \"px\" : null\n };\n return h(\"div\", {\n \"style\": style\n }, [h(\"div\", {\n \"class\": bem({\n fixed: fixed\n }),\n \"style\": this.style\n }, [this.slots()])]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"prism-player\",style:(_vm.playStyle),attrs:{\"id\":_vm.playerId}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueAliplayer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueAliplayer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VueAliplayer.vue?vue&type=template&id=4e7890cb&\"\nimport script from \"./VueAliplayer.vue?vue&type=script&lang=js&\"\nexport * from \"./VueAliplayer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VueAliplayer.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { on } from '../utils/dom/event';\nvar MIN_DISTANCE = 10;\n\nfunction getDirection(x, y) {\n if (x > y && x > MIN_DISTANCE) {\n return 'horizontal';\n }\n\n if (y > x && y > MIN_DISTANCE) {\n return 'vertical';\n }\n\n return '';\n}\n\nexport var TouchMixin = {\n data: function data() {\n return {\n direction: ''\n };\n },\n methods: {\n touchStart: function touchStart(event) {\n this.resetTouchStatus();\n this.startX = event.touches[0].clientX;\n this.startY = event.touches[0].clientY;\n },\n touchMove: function touchMove(event) {\n var touch = event.touches[0]; // Fix: Safari back will set clientX to negative number\n\n this.deltaX = touch.clientX < 0 ? 0 : touch.clientX - this.startX;\n this.deltaY = touch.clientY - this.startY;\n this.offsetX = Math.abs(this.deltaX);\n this.offsetY = Math.abs(this.deltaY);\n this.direction = this.direction || getDirection(this.offsetX, this.offsetY);\n },\n resetTouchStatus: function resetTouchStatus() {\n this.direction = '';\n this.deltaX = 0;\n this.deltaY = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n },\n // avoid Vue 2.6 event bubble issues by manually binding events\n // https://github.com/youzan/vant/issues/3015\n bindTouchEvent: function bindTouchEvent(el) {\n var onTouchStart = this.onTouchStart,\n onTouchMove = this.onTouchMove,\n onTouchEnd = this.onTouchEnd;\n on(el, 'touchstart', onTouchStart);\n on(el, 'touchmove', onTouchMove);\n\n if (onTouchEnd) {\n on(el, 'touchend', onTouchEnd);\n on(el, 'touchcancel', onTouchEnd);\n }\n }\n }\n};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ5NzczMTg1QkFCNTExRUFBODJGOTdEMEYxQUJGNzM0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ5NzczMTg2QkFCNTExRUFBODJGOTdEMEYxQUJGNzM0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDk3NzMxODNCQUI1MTFFQUE4MkY5N0QwRjFBQkY3MzQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDk3NzMxODRCQUI1MTFFQUE4MkY5N0QwRjFBQkY3MzQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6UctULAAADZElEQVR42uybW4hMcRzH/2caixrlfital13TrM0TaaN4kNxJLi9KKbehyKXlwRPJy5ZElDYh5fKEsIvcWvdLSpL1gCTKsIPF7sb4/prfbKeTuZyr//9/9lefZprzP2fOZ/73//+MEU0+FGGK6H/4zglgEvgDroBnugqXgcNgmemzDNgLNoPfQdxEJEDhXRZZCgNsABuDuomghAeDZIHjtSCmkzDlYM8Cx/uBVboI9wFrSki3CfTQQXg96FVCuiFguerCMRYuNbb43XP4LbwS9LeRfiRYqqpwd66XdqPWz/vyU5jq41AH51WBeaoJUz3c6uL8baoJL+H66DTGg2mqCBtcD93GdlWEqf6N9eA6U0CNCsJe5ozndTnq8txyUAHioBIkuP55FbNAI3gJXoBmfv+G59O+CA80CVXwa5wbpTKfBy4GN17WBqyNxXM08w9C71N2hGM8Z61hMaK3kC9oUFPNWCNlKhFN4Cjo6PwFTWtao0GDy+5ExngKpoOP1karXkNZinHggLWVHgUmC31jARhgFh4m9A6DG99OYarkGY2Ff4DXZuH34LjGwvtAq7XRWg1uaih7Fuz419CSsn0muKWR7HmwCLTnG0u38nCuSQPZC2ChWTbf5OEb5/RthWUvclfUXups6StL31FQ9lI+2WLTwzSYAe4pJNvAsm1O58NpHoc+UEC2kWV/uV0ASPP0TOad88ss+9OrFY+c9CMJZa+C+dytCq+EKVpY+rFEstfA3FJl7QpTfGHpJxLI3gCz7cg6Eab4DI5IIHzQrqxTYYqEBMKO7sGpcFXYhEOVw7RT31cCYVoy7haEsAy5S0FLzPEwCTu6ly5hRVrorhz2S3iQyD41J0tU2m2pIwoX51xLPcZPYS+KM81Z94jsfk9H0MU6SGHawK7nvpOeAUny9U4Ld7seCRmLNC2Z0i7eCvDW9PkrsFhk96Ovyyg83Gb6+2CqyK51F3rU/y6nmwOe2/yOEX4Kp0pMRzlHz0xOtJlztFNQzSXhncf35Ej4TJHjn8A6LvonHdbNXF2nLoeeCGopkv6En8J1XB+t8R3s5OK1X+RZBHfQmu/mWVFdnmueAsfsXNRw8L+lCDc0BD3FQ2vWh8AHn/vccrCWS0+KS9s5u6XICNsftYxMJhMq4YgIWfwVYABqd6CPkB0SEQAAAABJRU5ErkJggg==\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoCatalog.vue?vue&type=style&index=0&id=a9884da6&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdTip.vue?vue&type=style&index=0&id=80568d24&scoped=true&lang=scss&\"","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","/**\n * SSR Window 2.0.0\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: May 12, 2020\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target, src) {\n if (target === void 0) { target = {}; }\n if (src === void 0) { src = {}; }\n Object.keys(src).forEach(function (key) {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nvar doc = typeof document !== 'undefined' ? document : {};\nvar ssrDocument = {\n body: {},\n addEventListener: function () { },\n removeEventListener: function () { },\n activeElement: {\n blur: function () { },\n nodeName: '',\n },\n querySelector: function () {\n return null;\n },\n querySelectorAll: function () {\n return [];\n },\n getElementById: function () {\n return null;\n },\n createEvent: function () {\n return {\n initEvent: function () { },\n };\n },\n createElement: function () {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function () { },\n getElementsByTagName: function () {\n return [];\n },\n };\n },\n createElementNS: function () {\n return {};\n },\n importNode: function () {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nextend(doc, ssrDocument);\n\nvar win = typeof window !== 'undefined' ? window : {};\nvar ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState: function () { },\n pushState: function () { },\n go: function () { },\n back: function () { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function () { },\n removeEventListener: function () { },\n getComputedStyle: function () {\n return {\n getPropertyValue: function () {\n return '';\n },\n };\n },\n Image: function () { },\n Date: function () { },\n screen: {},\n setTimeout: function () { },\n clearTimeout: function () { },\n matchMedia: function () {\n return {};\n },\n};\nextend(win, ssrWindow);\n\nexport { doc as document, extend, win as window };\n","/**\n * Dom7 2.1.5\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * http://framework7.io/docs/dom.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n * The iDangero.us\n * http://www.idangero.us/\n *\n * Licensed under MIT\n *\n * Released on: May 15, 2020\n */\nimport { document, window } from 'ssr-window';\n\nclass Dom7 {\n constructor(arr) {\n const self = this;\n // Create array-like object\n for (let i = 0; i < arr.length; i += 1) {\n self[i] = arr[i];\n }\n self.length = arr.length;\n // Return collection with methods\n return this;\n }\n}\n\nfunction $(selector, context) {\n const arr = [];\n let i = 0;\n if (selector && !context) {\n if (selector instanceof Dom7) {\n return selector;\n }\n }\n if (selector) {\n // String\n if (typeof selector === 'string') {\n let els;\n let tempParent;\n const html = selector.trim();\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf(':~]/)) {\n // Pure ID selector\n els = [document.getElementById(selector.trim().split('#')[1])];\n } else {\n // Other selectors\n els = (context || document).querySelectorAll(selector.trim());\n }\n for (i = 0; i < els.length; i += 1) {\n if (els[i]) arr.push(els[i]);\n }\n }\n } else if (selector.nodeType || selector === window || selector === document) {\n // Node/element\n arr.push(selector);\n } else if (selector.length > 0 && selector[0].nodeType) {\n // Array of elements or instance of Dom\n for (i = 0; i < selector.length; i += 1) {\n arr.push(selector[i]);\n }\n }\n }\n return new Dom7(arr);\n}\n\n$.fn = Dom7.prototype;\n$.Class = Dom7;\n$.Dom7 = Dom7;\n\nfunction unique(arr) {\n const uniqueArray = [];\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group1) => group1.toUpperCase());\n}\n\nfunction requestAnimationFrame(callback) {\n if (window.requestAnimationFrame) return window.requestAnimationFrame(callback);\n else if (window.webkitRequestAnimationFrame) return window.webkitRequestAnimationFrame(callback);\n return window.setTimeout(callback, 1000 / 60);\n}\nfunction cancelAnimationFrame(id) {\n if (window.cancelAnimationFrame) return window.cancelAnimationFrame(id);\n else if (window.webkitCancelAnimationFrame) return window.webkitCancelAnimationFrame(id);\n return window.clearTimeout(id);\n}\n\n// Classes and attributes\nfunction addClass(className) {\n if (typeof className === 'undefined') {\n return this;\n }\n const classes = className.split(' ');\n for (let i = 0; i < classes.length; i += 1) {\n for (let j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.add(classes[i]);\n }\n }\n return this;\n}\nfunction removeClass(className) {\n const classes = className.split(' ');\n for (let i = 0; i < classes.length; i += 1) {\n for (let j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.remove(classes[i]);\n }\n }\n return this;\n}\nfunction hasClass(className) {\n if (!this[0]) return false;\n return this[0].classList.contains(className);\n}\nfunction toggleClass(className) {\n const classes = className.split(' ');\n for (let i = 0; i < classes.length; i += 1) {\n for (let j = 0; j < this.length; j += 1) {\n if (typeof this[j] !== 'undefined' && typeof this[j].classList !== 'undefined') this[j].classList.toggle(classes[i]);\n }\n }\n return this;\n}\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n }\n\n // Set attrs\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n // eslint-disable-next-line\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n return this;\n}\n// eslint-disable-next-line\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n return this;\n}\n// eslint-disable-next-line\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n // eslint-disable-next-line\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n return this;\n }\n}\nfunction data(key, value) {\n let el;\n if (typeof value === 'undefined') {\n el = this[0];\n // Get value\n if (el) {\n if (el.dom7ElementDataStorage && (key in el.dom7ElementDataStorage)) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n if (dataKey) {\n return dataKey;\n }\n return undefined;\n }\n return undefined;\n }\n\n // Set value\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n return this;\n}\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n if (el.dataset) {\n // eslint-disable-next-line\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n // eslint-disable-next-line\n const attr = el.attributes[i];\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n // eslint-disable-next-line\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;\n else if (dataset[key] === 'true') dataset[key] = true;\n else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n return dataset;\n}\nfunction val(value) {\n const dom = this;\n if (typeof value === 'undefined') {\n if (dom[0]) {\n if (dom[0].multiple && dom[0].nodeName.toLowerCase() === 'select') {\n const values = [];\n for (let i = 0; i < dom[0].selectedOptions.length; i += 1) {\n values.push(dom[0].selectedOptions[i].value);\n }\n return values;\n }\n return dom[0].value;\n }\n return undefined;\n }\n\n for (let i = 0; i < dom.length; i += 1) {\n const el = dom[i];\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n return dom;\n}\n// Transforms\n// eslint-disable-next-line\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n const elStyle = this[i].style;\n elStyle.webkitTransform = transform;\n elStyle.transform = transform;\n }\n return this;\n}\nfunction transition(duration) {\n if (typeof duration !== 'string') {\n duration = `${duration}ms`; // eslint-disable-line\n }\n for (let i = 0; i < this.length; i += 1) {\n const elStyle = this[i].style;\n elStyle.webkitTransitionDuration = duration;\n elStyle.transitionDuration = duration;\n }\n return this;\n}\n// Events\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n if ($(target).is(targetSelector)) listener.apply(target, eventData);\n else {\n const parents = $(target).parents(); // eslint-disable-line\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n listener.apply(this, eventData);\n }\n const events = eventType.split(' ');\n let j;\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent,\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent,\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n return this;\n}\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n if (!capture) capture = false;\n\n const events = eventType.split(' ');\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n return this;\n}\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\nfunction trigger(...args) {\n const events = args[0].split(' ');\n const eventData = args[1];\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let evt;\n try {\n evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true,\n });\n } catch (e) {\n evt = document.createEvent('Event');\n evt.initEvent(event, true, true);\n evt.detail = eventData;\n }\n // eslint-disable-next-line\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n return this;\n}\nfunction transitionEnd(callback) {\n const events = ['webkitTransitionEnd', 'transitionend'];\n const dom = this;\n let i;\n function fireCallBack(e) {\n /* jshint validthis:true */\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n}\nfunction animationEnd(callback) {\n const events = ['webkitAnimationEnd', 'animationend'];\n const dom = this;\n let i;\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n for (i = 0; i < events.length; i += 1) {\n dom.off(events[i], fireCallBack);\n }\n }\n if (callback) {\n for (i = 0; i < events.length; i += 1) {\n dom.on(events[i], fireCallBack);\n }\n }\n return this;\n}\n// Sizing/Styles\nfunction width() {\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n return this[0].offsetWidth;\n }\n return null;\n}\nfunction height() {\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n // eslint-disable-next-line\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n return this[0].offsetHeight;\n }\n return null;\n}\nfunction offset() {\n if (this.length > 0) {\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: (box.top + scrollTop) - clientTop,\n left: (box.left + scrollLeft) - clientLeft,\n };\n }\n\n return null;\n}\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n return this;\n}\nfunction show() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n return this;\n}\nfunction styles() {\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\nfunction css(props, value) {\n let i;\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n for (i = 0; i < this.length; i += 1) {\n // eslint-disable-next-line\n for (let prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n return this;\n }\n }\n if (arguments.length === 2 && typeof props === 'string') {\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n return this;\n }\n return this;\n}\n\n// Dom manipulation\nfunction toArray() {\n const arr = [];\n for (let i = 0; i < this.length; i += 1) {\n arr.push(this[i]);\n }\n return arr;\n}\n// Iterate over the collection passing elements to `callback`\nfunction each(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this;\n // Iterate over the current collection\n for (let i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], i, this[i]) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n}\nfunction forEach(callback) {\n // Don't bother continuing without a callback\n if (!callback) return this;\n // Iterate over the current collection\n for (let i = 0; i < this.length; i += 1) {\n // If the callback returns false\n if (callback.call(this[i], this[i], i) === false) {\n // End the loop early\n return this;\n }\n }\n // Return `this` to allow chained DOM operations\n return this;\n}\nfunction filter(callback) {\n const matchedItems = [];\n const dom = this;\n for (let i = 0; i < dom.length; i += 1) {\n if (callback.call(dom[i], i, dom[i])) matchedItems.push(dom[i]);\n }\n return new Dom7(matchedItems);\n}\nfunction map(callback) {\n const modifiedItems = [];\n const dom = this;\n for (let i = 0; i < dom.length; i += 1) {\n modifiedItems.push(callback.call(dom[i], i, dom[i]));\n }\n return new Dom7(modifiedItems);\n}\n// eslint-disable-next-line\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : undefined;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n return this;\n}\n// eslint-disable-next-line\nfunction text(text) {\n if (typeof text === 'undefined') {\n if (this[0]) {\n return this[0].textContent.trim();\n }\n return null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n return this;\n}\nfunction is(selector) {\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n else if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n else if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n\n compareWith = $(selector);\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n return false;\n } else if (selector === document) return el === document;\n else if (selector === window) return el === window;\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n return false;\n }\n return false;\n}\nfunction indexOf(el) {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i] === el) return i;\n }\n return -1;\n}\nfunction index() {\n let child = this[0];\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\n// eslint-disable-next-line\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n let returnIndex;\n if (index > length - 1) {\n return new Dom7([]);\n }\n if (index < 0) {\n returnIndex = length + index;\n if (returnIndex < 0) return new Dom7([]);\n return new Dom7([this[returnIndex]]);\n }\n return new Dom7([this[index]]);\n}\nfunction append(...args) {\n let newChild;\n\n for (let k = 0; k < args.length; k += 1) {\n newChild = args[k];\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n// eslint-disable-next-line\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\nfunction prepend(newChild) {\n let i;\n let j;\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n return this;\n}\n// eslint-disable-next-line\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\nfunction insertBefore(selector) {\n const before = $(selector);\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\nfunction insertAfter(selector) {\n const after = $(selector);\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return new Dom7([this[0].nextElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (this[0].nextElementSibling) return new Dom7([this[0].nextElementSibling]);\n return new Dom7([]);\n }\n return new Dom7([]);\n}\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return new Dom7([]);\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return new Dom7(nextEls);\n}\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return new Dom7([el.previousElementSibling]);\n }\n return new Dom7([]);\n }\n\n if (el.previousElementSibling) return new Dom7([el.previousElementSibling]);\n return new Dom7([]);\n }\n return new Dom7([]);\n}\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return new Dom7([]);\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return new Dom7(prevEls);\n}\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n return $(unique(parents));\n}\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentNode;\n }\n }\n return $(unique(parents));\n}\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n if (typeof selector === 'undefined') {\n return new Dom7([]);\n }\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n return closest;\n}\nfunction find(selector) {\n const foundElements = [];\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n return new Dom7(foundElements);\n}\nfunction children(selector) {\n const children = []; // eslint-disable-line\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].childNodes;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector) {\n if (childNodes[j].nodeType === 1) children.push(childNodes[j]);\n } else if (childNodes[j].nodeType === 1 && $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n return new Dom7(unique(children));\n}\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n return this;\n}\nfunction detach() {\n return this.remove();\n}\nfunction add(...args) {\n const dom = this;\n let i;\n let j;\n for (i = 0; i < args.length; i += 1) {\n const toAdd = $(args[i]);\n for (j = 0; j < toAdd.length; j += 1) {\n dom[dom.length] = toAdd[j];\n dom.length += 1;\n }\n }\n return dom;\n}\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n el.textContent = '';\n }\n }\n return this;\n}\n\nfunction scrollTo(...args) {\n let [left, top, duration, easing, callback] = args;\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n if (typeof easing === 'undefined') easing = 'swing';\n\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n let scrollLeft; // eslint-disable-line\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n if (animateTop) {\n currentTop = el.scrollTop;\n if (!duration) {\n el.scrollTop = top;\n }\n }\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n if (!duration) return;\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : (0.5 - (Math.cos(progress * Math.PI) / 2));\n let done;\n if (animateTop) scrollTop = currentTop + (easeProgress * (newTop - currentTop));\n if (animateLeft) scrollLeft = currentLeft + (easeProgress * (newLeft - currentLeft));\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n requestAnimationFrame(render);\n }\n requestAnimationFrame(render);\n });\n}\n// scrollTop(top, duration, easing, callback) {\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n const dom = this;\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n const dom = this;\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing', // or 'linear'\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n }, initialParams),\n\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - (Math.cos(progress * Math.PI) / 2);\n }\n if (typeof easing === 'function') {\n return easing(progress);\n }\n return progress;\n },\n stop() {\n if (a.frameId) {\n cancelAnimationFrame(a.frameId);\n }\n a.animating = false;\n a.elements.each((index, el) => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done(complete) {\n a.animating = false;\n a.elements.each((index, el) => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n const elements = [];\n\n // Define & Cache Initials & Units\n a.elements.each((index, el) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n\n elements[index] = {\n container: el,\n };\n Object.keys(props).forEach((prop) => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue,\n };\n });\n });\n\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress;\n // let el;\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n if (startTime === null) {\n startTime = time;\n }\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), ((startTime + params.duration) - time < 0 ? 0 : (startTime + params.duration) - time), startTime);\n }\n\n elements.forEach((element) => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach((prop) => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const { initialValue, finalValue, unit } = el[prop];\n el[prop].currentValue = initialValue + (easeProgress * (finalValue - initialValue));\n const currentValue = el[prop].currentValue;\n\n if (\n (finalValue > initialValue && currentValue >= finalValue) ||\n (finalValue < initialValue && currentValue <= finalValue)) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n if (done) {\n a.done(params.complete);\n return;\n }\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return;\n // Then call\n a.frameId = requestAnimationFrame(render);\n }\n a.frameId = requestAnimationFrame(render);\n return a;\n },\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = ('resize scroll').split(' ');\nfunction eventShortcut(name, ...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();\n else {\n $(this[i]).trigger(name);\n }\n }\n }\n return this;\n }\n return this.on(name, ...args);\n}\n\nfunction click(...args) {\n return eventShortcut.bind(this)('click', ...args);\n}\nfunction blur(...args) {\n return eventShortcut.bind(this)('blur', ...args);\n}\nfunction focus(...args) {\n return eventShortcut.bind(this)('focus', ...args);\n}\nfunction focusin(...args) {\n return eventShortcut.bind(this)('focusin', ...args);\n}\nfunction focusout(...args) {\n return eventShortcut.bind(this)('focusout', ...args);\n}\nfunction keyup(...args) {\n return eventShortcut.bind(this)('keyup', ...args);\n}\nfunction keydown(...args) {\n return eventShortcut.bind(this)('keydown', ...args);\n}\nfunction keypress(...args) {\n return eventShortcut.bind(this)('keypress', ...args);\n}\nfunction submit(...args) {\n return eventShortcut.bind(this)('submit', ...args);\n}\nfunction change(...args) {\n return eventShortcut.bind(this)('change', ...args);\n}\nfunction mousedown(...args) {\n return eventShortcut.bind(this)('mousedown', ...args);\n}\nfunction mousemove(...args) {\n return eventShortcut.bind(this)('mousemove', ...args);\n}\nfunction mouseup(...args) {\n return eventShortcut.bind(this)('mouseup', ...args);\n}\nfunction mouseenter(...args) {\n return eventShortcut.bind(this)('mouseenter', ...args);\n}\nfunction mouseleave(...args) {\n return eventShortcut.bind(this)('mouseleave', ...args);\n}\nfunction mouseout(...args) {\n return eventShortcut.bind(this)('mouseout', ...args);\n}\nfunction mouseover(...args) {\n return eventShortcut.bind(this)('mouseover', ...args);\n}\nfunction touchstart(...args) {\n return eventShortcut.bind(this)('touchstart', ...args);\n}\nfunction touchend(...args) {\n return eventShortcut.bind(this)('touchend', ...args);\n}\nfunction touchmove(...args) {\n return eventShortcut.bind(this)('touchmove', ...args);\n}\nfunction resize(...args) {\n return eventShortcut.bind(this)('resize', ...args);\n}\nfunction scroll(...args) {\n return eventShortcut.bind(this)('scroll', ...args);\n}\n\nexport { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, prop, data, removeData, dataset, val, transform, transition, on, off, once, trigger, transitionEnd, animationEnd, width, outerWidth, height, outerHeight, offset, hide, show, styles, css, toArray, each, forEach, filter, map, html, text, is, indexOf, index, eq, append, appendTo, prepend, prependTo, insertBefore, insertAfter, next, nextAll, prev, prevAll, siblings, parent, parents, closest, find, children, remove, detach, add, empty, scrollTo, scrollTop, scrollLeft, animate, stop, click, blur, focus, focusin, focusout, keyup, keydown, keypress, submit, change, mousedown, mousemove, mouseup, mouseenter, mouseleave, mouseout, mouseover, touchstart, touchend, touchmove, resize, scroll };\n","/**\n * SSR Window 1.0.1\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2018, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: July 18, 2018\n */\nvar doc = (typeof document === 'undefined') ? {\n body: {},\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n activeElement: {\n blur: function blur() {},\n nodeName: '',\n },\n querySelector: function querySelector() {\n return null;\n },\n querySelectorAll: function querySelectorAll() {\n return [];\n },\n getElementById: function getElementById() {\n return null;\n },\n createEvent: function createEvent() {\n return {\n initEvent: function initEvent() {},\n };\n },\n createElement: function createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute: function setAttribute() {},\n getElementsByTagName: function getElementsByTagName() {\n return [];\n },\n };\n },\n location: { hash: '' },\n} : document; // eslint-disable-line\n\nvar win = (typeof window === 'undefined') ? {\n document: doc,\n navigator: {\n userAgent: '',\n },\n location: {},\n history: {},\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener: function addEventListener() {},\n removeEventListener: function removeEventListener() {},\n getComputedStyle: function getComputedStyle() {\n return {\n getPropertyValue: function getPropertyValue() {\n return '';\n },\n };\n },\n Image: function Image() {},\n Date: function Date() {},\n screen: {},\n setTimeout: function setTimeout() {},\n clearTimeout: function clearTimeout() {},\n} : window; // eslint-disable-line\n\nexport { win as window, doc as document };\n","/**\n * Swiper 4.5.1\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * http://www.idangero.us/swiper/\n *\n * Copyright 2014-2019 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: September 13, 2019\n */\n\nimport { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, data, transform, transition as transition$1, on, off, trigger, transitionEnd as transitionEnd$1, outerWidth, outerHeight, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, remove, add, styles } from 'dom7/dist/dom7.modular';\nimport { window, document } from 'ssr-window';\n\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n data,\n transform,\n transition: transition$1,\n on,\n off,\n trigger,\n transitionEnd: transitionEnd$1,\n outerWidth,\n outerHeight,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n remove,\n add,\n styles,\n};\n\nObject.keys(Methods).forEach((methodName) => {\n $.fn[methodName] = $.fn[methodName] || Methods[methodName];\n});\n\nconst Utils = {\n deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach((key) => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n },\n nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n },\n now() {\n return Date.now();\n },\n getTranslate(el, axis = 'x') {\n let matrix;\n let curTransform;\n let transformMatrix;\n\n const curStyle = window.getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map((a) => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n },\n parseUrlQuery(url) {\n const query = {};\n let urlToParse = url || window.location.href;\n let i;\n let params;\n let param;\n let length;\n if (typeof urlToParse === 'string' && urlToParse.length) {\n urlToParse = urlToParse.indexOf('?') > -1 ? urlToParse.replace(/\\S*\\?/, '') : '';\n params = urlToParse.split('&').filter((paramsPart) => paramsPart !== '');\n length = params.length;\n\n for (i = 0; i < length; i += 1) {\n param = params[i].replace(/#\\S+/g, '').split('=');\n query[decodeURIComponent(param[0])] = typeof param[1] === 'undefined' ? undefined : decodeURIComponent(param[1]) || '';\n }\n }\n return query;\n },\n isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object;\n },\n extend(...args) {\n const to = Object(args[0]);\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null) {\n const keysArray = Object.keys(Object(nextSource));\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\n Utils.extend(to[nextKey], nextSource[nextKey]);\n } else if (!Utils.isObject(to[nextKey]) && Utils.isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n Utils.extend(to[nextKey], nextSource[nextKey]);\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n },\n};\n\nconst Support = (function Support() {\n const testDiv = document.createElement('div');\n return {\n touch: (window.Modernizr && window.Modernizr.touch === true) || (function checkTouch() {\n return !!((window.navigator.maxTouchPoints > 0) || ('ontouchstart' in window) || (window.DocumentTouch && document instanceof window.DocumentTouch));\n }()),\n\n pointerEvents: !!(window.navigator.pointerEnabled || window.PointerEvent || ('maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints > 0)),\n prefixedPointerEvents: !!window.navigator.msPointerEnabled,\n\n transition: (function checkTransition() {\n const style = testDiv.style;\n return ('transition' in style || 'webkitTransition' in style || 'MozTransition' in style);\n }()),\n transforms3d: (window.Modernizr && window.Modernizr.csstransforms3d === true) || (function checkTransforms3d() {\n const style = testDiv.style;\n return ('webkitPerspective' in style || 'MozPerspective' in style || 'OPerspective' in style || 'MsPerspective' in style || 'perspective' in style);\n }()),\n\n flexbox: (function checkFlexbox() {\n const style = testDiv.style;\n const styles = ('alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient').split(' ');\n for (let i = 0; i < styles.length; i += 1) {\n if (styles[i] in style) return true;\n }\n return false;\n }()),\n\n observer: (function checkObserver() {\n return ('MutationObserver' in window || 'WebkitMutationObserver' in window);\n }()),\n\n passiveListener: (function checkPassiveListener() {\n let supportsPassive = false;\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n },\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {\n // No support\n }\n return supportsPassive;\n }()),\n\n gestures: (function checkGestures() {\n return 'ongesturestart' in window;\n }()),\n };\n}());\n\nconst Browser = (function Browser() {\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return (ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0);\n }\n return {\n isIE: !!window.navigator.userAgent.match(/Trident/g) || !!window.navigator.userAgent.match(/MSIE/g),\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent),\n };\n}());\n\nclass SwiperClass {\n constructor(params = {}) {\n const self = this;\n self.params = params;\n\n // Events\n self.eventsListeners = {};\n\n if (self.params && self.params.on) {\n Object.keys(self.params.on).forEach((eventName) => {\n self.on(eventName, self.params.on[eventName]);\n });\n }\n }\n\n on(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach((event) => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n }\n\n once(events, handler, priority) {\n const self = this;\n if (typeof handler !== 'function') return self;\n function onceHandler(...args) {\n handler.apply(self, args);\n self.off(events, onceHandler);\n if (onceHandler.f7proxy) {\n delete onceHandler.f7proxy;\n }\n }\n onceHandler.f7proxy = handler;\n return self.on(events, onceHandler, priority);\n }\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach((event) => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event] && self.eventsListeners[event].length) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || (eventHandler.f7proxy && eventHandler.f7proxy === handler)) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n }\n\n emit(...args) {\n const self = this;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach((event) => {\n if (self.eventsListeners && self.eventsListeners[event]) {\n const handlers = [];\n self.eventsListeners[event].forEach((eventHandler) => {\n handlers.push(eventHandler);\n });\n handlers.forEach((eventHandler) => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n\n useModulesParams(instanceParams) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const module = instance.modules[moduleName];\n // Extend params\n if (module.params) {\n Utils.extend(instanceParams, module.params);\n }\n });\n }\n\n useModules(modulesParams = {}) {\n const instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach((moduleName) => {\n const module = instance.modules[moduleName];\n const moduleParams = modulesParams[moduleName] || {};\n // Extend instance methods and props\n if (module.instance) {\n Object.keys(module.instance).forEach((modulePropName) => {\n const moduleProp = module.instance[modulePropName];\n if (typeof moduleProp === 'function') {\n instance[modulePropName] = moduleProp.bind(instance);\n } else {\n instance[modulePropName] = moduleProp;\n }\n });\n }\n // Add event listeners\n if (module.on && instance.on) {\n Object.keys(module.on).forEach((moduleEventName) => {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n }\n\n // Module create callback\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n\n static set components(components) {\n const Class = this;\n if (!Class.use) return;\n Class.use(components);\n }\n\n static installModule(module, ...params) {\n const Class = this;\n if (!Class.prototype.modules) Class.prototype.modules = {};\n const name = module.name || (`${Object.keys(Class.prototype.modules).length}_${Utils.now()}`);\n Class.prototype.modules[name] = module;\n // Prototype\n if (module.proto) {\n Object.keys(module.proto).forEach((key) => {\n Class.prototype[key] = module.proto[key];\n });\n }\n // Class\n if (module.static) {\n Object.keys(module.static).forEach((key) => {\n Class[key] = module.static[key];\n });\n }\n // Callback\n if (module.install) {\n module.install.apply(Class, params);\n }\n return Class;\n }\n\n static use(module, ...params) {\n const Class = this;\n if (Array.isArray(module)) {\n module.forEach((m) => Class.installModule(m));\n return Class;\n }\n return Class.installModule(module, ...params);\n }\n}\n\nfunction updateSize () {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n if (typeof swiper.params.width !== 'undefined') {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined') {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n if ((width === 0 && swiper.isHorizontal()) || (height === 0 && swiper.isVertical())) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt($el.css('padding-left'), 10) - parseInt($el.css('padding-right'), 10);\n height = height - parseInt($el.css('padding-top'), 10) - parseInt($el.css('padding-bottom'), 10);\n\n Utils.extend(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height,\n });\n}\n\nfunction updateSlides () {\n const swiper = this;\n const params = swiper.params;\n\n const {\n $wrapperEl, size: swiperSize, rtlTranslate: rtl, wrongRTL,\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.snapGrid.length;\n\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = (parseFloat(spaceBetween.replace('%', '')) / 100) * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n if (rtl) slides.css({ marginLeft: '', marginTop: '' });\n else slides.css({ marginRight: '', marginBottom: '' });\n\n let slidesNumberEvenToRows;\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n }\n\n // Calc slides\n let slideSize;\n const slidesPerColumn = params.slidesPerColumn;\n const slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n const numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n if (params.slidesPerColumn > 1) {\n // Set slides order\n let newSlideOrderIndex;\n let column;\n let row;\n if (\n (params.slidesPerColumnFill === 'column')\n || (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1)\n ) {\n if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - (column * slidesPerColumn);\n if (column > numFullColumns || (column === numFullColumns && row === slidesPerColumn - 1)) {\n row += 1;\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n const groupIndex = Math.floor(i / params.slidesPerGroup);\n row = Math.floor(i / params.slidesPerView) - groupIndex * params.slidesPerColumn;\n column = i - row * params.slidesPerView - groupIndex * params.slidesPerView;\n }\n newSlideOrderIndex = column + ((row * slidesNumberEvenToRows) / slidesPerColumn);\n slide\n .css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex,\n });\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - (row * slidesPerRow);\n }\n slide\n .css(\n `margin-${swiper.isHorizontal() ? 'top' : 'left'}`,\n (row !== 0 && params.spaceBetween) && (`${params.spaceBetween}px`)\n )\n .attr('data-swiper-column', column)\n .attr('data-swiper-row', row);\n }\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n const slideStyles = window.getComputedStyle(slide[0], null);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal()\n ? slide.outerWidth(true)\n : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n if (swiper.isHorizontal()) {\n const width = parseFloat(slideStyles.getPropertyValue('width'));\n const paddingLeft = parseFloat(slideStyles.getPropertyValue('padding-left'));\n const paddingRight = parseFloat(slideStyles.getPropertyValue('padding-right'));\n const marginLeft = parseFloat(slideStyles.getPropertyValue('margin-left'));\n const marginRight = parseFloat(slideStyles.getPropertyValue('margin-right'));\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box' && !Browser.isIE) {\n slideSize = width + marginLeft + marginRight;\n } else {\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight;\n }\n } else {\n const height = parseFloat(slideStyles.getPropertyValue('height'));\n const paddingTop = parseFloat(slideStyles.getPropertyValue('padding-top'));\n const paddingBottom = parseFloat(slideStyles.getPropertyValue('padding-bottom'));\n const marginTop = parseFloat(slideStyles.getPropertyValue('margin-top'));\n const marginBottom = parseFloat(slideStyles.getPropertyValue('margin-bottom'));\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box' && !Browser.isIE) {\n slideSize = height + marginTop + marginBottom;\n } else {\n slideSize = height + paddingTop + paddingBottom + marginTop + marginBottom;\n }\n }\n }\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - ((params.slidesPerView - 1) * spaceBetween)) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n if (swiper.isHorizontal()) {\n slides[i].style.width = `${slideSize}px`;\n } else {\n slides[i].style.height = `${slideSize}px`;\n }\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + (slideSize / 2) + (prevSlideSize / 2) + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\n if (i === 0) slidePosition = slidePosition - (swiperSize / 2) - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index) % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index) % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n\n prevSlideSize = slideSize;\n\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n let newSlidesGrid;\n\n if (\n rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({ width: `${swiper.virtualSize + params.spaceBetween}px` });\n }\n if (!Support.flexbox || params.setWrapperSize) {\n if (swiper.isHorizontal()) $wrapperEl.css({ width: `${swiper.virtualSize + params.spaceBetween}px` });\n else $wrapperEl.css({ height: `${swiper.virtualSize + params.spaceBetween}px` });\n }\n\n if (params.slidesPerColumn > 1) {\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n if (swiper.isHorizontal()) $wrapperEl.css({ width: `${swiper.virtualSize + params.spaceBetween}px` });\n else $wrapperEl.css({ height: `${swiper.virtualSize + params.spaceBetween}px` });\n if (params.centeredSlides) {\n newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n snapGrid = newSlidesGrid;\n }\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n if (swiper.isHorizontal()) {\n if (rtl) slides.css({ marginLeft: `${spaceBetween}px` });\n else slides.css({ marginRight: `${spaceBetween}px` });\n } else slides.css({ marginBottom: `${spaceBetween}px` });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach((slideSizeValue) => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Utils.extend(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid,\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}\n\nfunction updateAutoHeight (speed) {\n const swiper = this;\n const activeSlides = [];\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length) break;\n activeSlides.push(swiper.slides.eq(index)[0]);\n }\n } else {\n activeSlides.push(swiper.slides.eq(swiper.activeIndex)[0]);\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}\n\nfunction updateSlidesOffset () {\n const swiper = this;\n const slides = swiper.slides;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}\n\nfunction updateSlidesProgress (translate = (this && this.translate) || 0) {\n const swiper = this;\n const params = swiper.params;\n\n const { slides, rtlTranslate: rtl } = swiper;\n\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.removeClass(params.slideVisibleClass);\n\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n const slideProgress = (\n (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0)) - slide.swiperSlideOffset\n ) / (slide.swiperSlideSize + params.spaceBetween);\n if (params.watchSlidesVisibility) {\n const slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = (slideBefore >= 0 && slideBefore < swiper.size - 1)\n || (slideAfter > 1 && slideAfter <= swiper.size)\n || (slideBefore <= 0 && slideAfter >= swiper.size);\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n swiper.visibleSlides = $(swiper.visibleSlides);\n}\n\nfunction updateProgress (translate = (this && this.translate) || 0) {\n const swiper = this;\n const params = swiper.params;\n\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let { progress, isBeginning, isEnd } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / (translatesDiff);\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n Utils.extend(swiper, {\n progress,\n isBeginning,\n isEnd,\n });\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}\n\nfunction updateSlidesClasses () {\n const swiper = this;\n\n const {\n slides, params, $wrapperEl, activeIndex, realIndex,\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n\n slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);\n\n let activeSlide;\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`);\n } else {\n activeSlide = slides.eq(activeIndex);\n }\n\n // Active classes\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`)\n .addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl\n .children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`)\n .addClass(params.slideDuplicateActiveClass);\n }\n }\n // Next Slide\n let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n }\n // Prev Slide\n let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`)\n .addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl\n .children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`)\n .addClass(params.slideDuplicateNextClass);\n }\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl\n .children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`)\n .addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl\n .children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`)\n .addClass(params.slideDuplicatePrevClass);\n }\n }\n}\n\nfunction updateActiveIndex (newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid, snapGrid, params, activeIndex: previousIndex, realIndex: previousRealIndex, snapIndex: previousSnapIndex,\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - ((slidesGrid[i + 1] - slidesGrid[i]) / 2)) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n snapIndex = Math.floor(activeIndex / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n return;\n }\n\n // Get real index\n const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n\n Utils.extend(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex,\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n if (swiper.initialized || swiper.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}\n\nfunction updateClickedSlide (e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e.target).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) slideFound = true;\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = $(slide).index();\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}\n\nvar update = {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide,\n};\n\nfunction getTranslate (axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n\n const {\n params, rtlTranslate: rtl, translate, $wrapperEl,\n } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n let currentTranslate = Utils.getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n\n return currentTranslate || 0;\n}\n\nfunction setTranslate (translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl, params, $wrapperEl, progress,\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (!params.virtualTranslate) {\n if (Support.transforms3d) $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n else $wrapperEl.transform(`translate(${x}px, ${y}px)`);\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / (translatesDiff);\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}\n\nfunction minTranslate () {\n return (-this.snapGrid[0]);\n}\n\nfunction maxTranslate () {\n return (-this.snapGrid[this.snapGrid.length - 1]);\n}\n\nvar translate = {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n};\n\nfunction setTransition (duration, byController) {\n const swiper = this;\n\n swiper.$wrapperEl.transition(duration);\n\n swiper.emit('setTransition', duration, byController);\n}\n\nfunction transitionStart (runCallbacks = true, direction) {\n const swiper = this;\n const { activeIndex, params, previousIndex } = swiper;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';\n else if (activeIndex < previousIndex) dir = 'prev';\n else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n swiper.emit('slideChangeTransitionStart');\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}\n\nfunction transitionEnd (runCallbacks = true, direction) {\n const swiper = this;\n const { activeIndex, previousIndex } = swiper;\n swiper.animating = false;\n swiper.setTransition(0);\n\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';\n else if (activeIndex < previousIndex) dir = 'prev';\n else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n swiper.emit('slideChangeTransitionEnd');\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}\n\nvar transition = {\n setTransition,\n transitionStart,\n transitionEnd,\n};\n\nfunction slideTo (index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n\n const {\n params, snapGrid, slidesGrid, previousIndex, activeIndex, rtlTranslate: rtl,\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n let snapIndex = Math.floor(slideIndex / params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n const translate = -snapGrid[snapIndex];\n\n // Update progress\n swiper.updateProgress(translate);\n\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (-Math.floor(translate * 100) >= Math.floor(slidesGrid[i] * 100)) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n let direction;\n if (slideIndex > activeIndex) direction = 'next';\n else if (slideIndex < activeIndex) direction = 'prev';\n else direction = 'reset';\n\n\n // Update Index\n if ((rtl && -translate === swiper.translate) || (!rtl && translate === swiper.translate)) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n\n if (speed === 0 || !Support.transition) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}\n\nfunction slideToLoop (index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n let newIndex = index;\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideNext (speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const { params, animating } = swiper;\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + params.slidesPerGroup, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slidePrev (speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n params, animating, snapGrid, slidesGrid, rtlTranslate,\n } = swiper;\n\n if (params.loop) {\n if (animating) return false;\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map((val) => normalize(val));\n const normalizedSlidesGrid = slidesGrid.map((val) => normalize(val));\n\n const currentSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)];\n const prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n let prevIndex;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideReset (speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}\n\n/* eslint no-unused-vars: \"off\" */\nfunction slideToClosest (speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n let index = swiper.activeIndex;\n const snapIndex = Math.floor(index / swiper.params.slidesPerGroup);\n\n if (snapIndex < swiper.snapGrid.length - 1) {\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if ((translate - currentSnap) > (nextSnap - currentSnap) / 2) {\n index = swiper.params.slidesPerGroup;\n }\n }\n\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}\n\nfunction slideToClickedSlide () {\n const swiper = this;\n const { params, $wrapperEl } = swiper;\n\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (\n (slideToIndex < swiper.loopedSlides - (slidesPerView / 2))\n || (slideToIndex > (swiper.slides.length - swiper.loopedSlides) + (slidesPerView / 2))\n ) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`)\n .eq(0)\n .index();\n\n Utils.nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl\n .children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`)\n .eq(0)\n .index();\n\n Utils.nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}\n\nvar slide = {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide,\n};\n\nfunction loopCreate () {\n const swiper = this;\n const { params, $wrapperEl } = swiper;\n // Remove duplicated slides\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n\n let slides = $wrapperEl.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - (slides.length % params.slidesPerGroup);\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);\n $wrapperEl.append(blankNode);\n }\n slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n\n swiper.loopedSlides = parseInt(params.loopedSlides || params.slidesPerView, 10);\n swiper.loopedSlides += params.loopAdditionalSlides;\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n slides.each((index, el) => {\n const slide = $(el);\n if (index < swiper.loopedSlides) appendSlides.push(el);\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) prependSlides.push(el);\n slide.attr('data-swiper-slide-index', index);\n });\n for (let i = 0; i < appendSlides.length; i += 1) {\n $wrapperEl.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $wrapperEl.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}\n\nfunction loopFix () {\n const swiper = this;\n const {\n params, activeIndex, slides, loopedSlides, allowSlidePrev, allowSlideNext, snapGrid, rtlTranslate: rtl,\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate();\n\n\n // Fix For Negative Oversliding\n if (activeIndex < loopedSlides) {\n newIndex = (slides.length - (loopedSlides * 3)) + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if ((params.slidesPerView === 'auto' && activeIndex >= loopedSlides * 2) || (activeIndex >= slides.length - loopedSlides)) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n}\n\nfunction loopDestroy () {\n const swiper = this;\n const { $wrapperEl, params, slides } = swiper;\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();\n slides.removeAttr('data-swiper-slide-index');\n}\n\nvar loop = {\n loopCreate,\n loopFix,\n loopDestroy,\n};\n\nfunction setGrabCursor (moving) {\n const swiper = this;\n if (Support.touch || !swiper.params.simulateTouch || (swiper.params.watchOverflow && swiper.isLocked)) return;\n const el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}\n\nfunction unsetGrabCursor () {\n const swiper = this;\n if (Support.touch || (swiper.params.watchOverflow && swiper.isLocked)) return;\n swiper.el.style.cursor = '';\n}\n\nvar grabCursor = {\n setGrabCursor,\n unsetGrabCursor,\n};\n\nfunction appendSlide (slides) {\n const swiper = this;\n const { $wrapperEl, params } = swiper;\n if (params.loop) {\n swiper.loopDestroy();\n }\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!(params.observer && Support.observer)) {\n swiper.update();\n }\n}\n\nfunction prependSlide (slides) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n let newActiveIndex = activeIndex + 1;\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!(params.observer && Support.observer)) {\n swiper.update();\n }\n swiper.slideTo(newActiveIndex, 0, false);\n}\n\nfunction addSlide (index, slides) {\n const swiper = this;\n const { $wrapperEl, params, activeIndex } = swiper;\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n const baseLength = swiper.slides.length;\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n\n const slidesBuffer = [];\n for (let i = baseLength - 1; i >= index; i -= 1) {\n const currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (let i = 0; i < slidesBuffer.length; i += 1) {\n $wrapperEl.append(slidesBuffer[i]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n if (!(params.observer && Support.observer)) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeSlide (slidesIndexes) {\n const swiper = this;\n const { params, $wrapperEl, activeIndex } = swiper;\n\n let activeIndexBuffer = activeIndex;\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(`.${params.slideClass}`);\n }\n let newActiveIndex = activeIndexBuffer;\n let indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (let i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && Support.observer)) {\n swiper.update();\n }\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}\n\nfunction removeAllSlides () {\n const swiper = this;\n\n const slidesIndexes = [];\n for (let i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n swiper.removeSlide(slidesIndexes);\n}\n\nvar manipulation = {\n appendSlide,\n prependSlide,\n addSlide,\n removeSlide,\n removeAllSlides,\n};\n\nconst Device = (function Device() {\n const ua = window.navigator.userAgent;\n\n const device = {\n ios: false,\n android: false,\n androidChrome: false,\n desktop: false,\n windows: false,\n iphone: false,\n ipod: false,\n ipad: false,\n cordova: window.cordova || window.phonegap,\n phonegap: window.cordova || window.phonegap,\n };\n\n const windows = ua.match(/(Windows Phone);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n const ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n\n\n // Windows\n if (windows) {\n device.os = 'windows';\n device.osVersion = windows[2];\n device.windows = true;\n }\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.osVersion = android[2];\n device.android = true;\n device.androidChrome = ua.toLowerCase().indexOf('chrome') >= 0;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n // iOS\n if (iphone && !ipod) {\n device.osVersion = iphone[2].replace(/_/g, '.');\n device.iphone = true;\n }\n if (ipad) {\n device.osVersion = ipad[2].replace(/_/g, '.');\n device.ipad = true;\n }\n if (ipod) {\n device.osVersion = ipod[3] ? ipod[3].replace(/_/g, '.') : null;\n device.iphone = true;\n }\n // iOS 8+ changed UA\n if (device.ios && device.osVersion && ua.indexOf('Version/') >= 0) {\n if (device.osVersion.split('.')[0] === '10') {\n device.osVersion = ua.toLowerCase().split('version/')[1].split(' ')[0];\n }\n }\n\n // Desktop\n device.desktop = !(device.os || device.android || device.webView);\n\n // Webview\n device.webView = (iphone || ipad || ipod) && ua.match(/.*AppleWebKit(?!.*Safari)/i);\n\n // Minimal UI\n if (device.os && device.os === 'ios') {\n const osVersionArr = device.osVersion.split('.');\n const metaViewport = document.querySelector('meta[name=\"viewport\"]');\n device.minimalUi = !device.webView\n && (ipod || iphone)\n && (osVersionArr[0] * 1 === 7 ? osVersionArr[1] * 1 >= 1 : osVersionArr[0] * 1 > 7)\n && metaViewport && metaViewport.getAttribute('content').indexOf('minimal-ui') >= 0;\n }\n\n // Pixel Ratio\n device.pixelRatio = window.devicePixelRatio || 1;\n\n // Export object\n return device;\n}());\n\nfunction onTouchStart (event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const { params, touches } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n if (params.noSwiping && $(e.target).closest(params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`)[0]) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!$(e).closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app (UIWebView) cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (\n edgeSwipeDetection\n && ((startX <= edgeSwipeThreshold)\n || (startX >= window.screen.width - edgeSwipeThreshold))\n ) {\n return;\n }\n\n Utils.extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined,\n });\n\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = Utils.now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n if ($(e.target).is(data.formElements)) preventDefault = false;\n if (\n document.activeElement\n && $(document.activeElement).is(data.formElements)\n && document.activeElement !== e.target\n ) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if (params.touchStartForcePreventDefault || shouldPreventDefault) {\n e.preventDefault();\n }\n }\n swiper.emit('touchStart', e);\n}\n\nfunction onTouchMove (event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const { params, touches, rtlTranslate: rtl } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n if (data.isTouchEvent && e.type === 'mousemove') return;\n const pageX = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n if (data.isTouched) {\n Utils.extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY,\n });\n data.touchStartTime = Utils.now();\n }\n return;\n }\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (\n (pageY < touches.startY && swiper.translate <= swiper.maxTranslate())\n || (pageY > touches.startY && swiper.translate >= swiper.minTranslate())\n ) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (\n (pageX < touches.startX && swiper.translate <= swiper.maxTranslate())\n || (pageX > touches.startX && swiper.translate >= swiper.minTranslate())\n ) {\n return;\n }\n }\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.formElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n\n touches.currentX = pageX;\n touches.currentY = pageY;\n\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt((diffX ** 2) + (diffY ** 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if ((swiper.isHorizontal() && touches.currentY === touches.startY) || (swiper.isVertical() && touches.currentX === touches.startX)) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if ((diffX * diffX) + (diffY * diffY) >= 25) {\n touchAngle = (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : (90 - touchAngle > params.touchAngle);\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n e.preventDefault();\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if ((diff > 0 && data.currentTranslate > swiper.minTranslate())) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = (swiper.minTranslate() - 1) + ((-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = (swiper.maxTranslate() + 1) - ((swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger) return;\n\n // Update active index in free mode\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime,\n });\n }\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: Utils.now(),\n });\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}\n\nfunction onTouchEnd (event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n\n const {\n params, touches, rtlTranslate: rtl, $wrapperEl, slidesGrid, snapGrid,\n } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = Utils.now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap', e);\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) > 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n data.clickTimeout = Utils.nextTick(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.emit('click', e);\n }, 300);\n }\n if (timeDiff < 300 && (touchEndTime - data.lastClickTime) < 300) {\n if (data.clickTimeout) clearTimeout(data.clickTimeout);\n swiper.emit('doubleTap', e);\n }\n }\n\n data.lastClickTime = Utils.now();\n Utils.nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n const lastMoveEvent = data.velocities.pop();\n const velocityEvent = data.velocities.pop();\n\n const distance = lastMoveEvent.position - velocityEvent.position;\n const time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n }\n // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n if (time > 150 || (Utils.now() - lastMoveEvent.time) > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n\n data.velocities.length = 0;\n let momentumDuration = 1000 * params.freeModeMomentumRatio;\n const momentumDistance = swiper.velocity * momentumDuration;\n\n let newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n\n let doBounce = false;\n let afterBouncePosition;\n const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n let needsLoopFix;\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n let nextSlide;\n for (let j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n newPosition = -newPosition;\n }\n if (needsLoopFix) {\n swiper.once('transitionEnd', () => {\n swiper.loopFix();\n });\n }\n // Fix duration\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n\n swiper.setTransition(params.speed);\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(() => {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n return;\n }\n\n // Find current slide\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += params.slidesPerGroup) {\n if (typeof slidesGrid[i + params.slidesPerGroup] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + params.slidesPerGroup]) {\n stopIndex = i;\n groupSize = slidesGrid[i + params.slidesPerGroup] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + params.slidesPerGroup);\n else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > (1 - params.longSwipesRatio)) swiper.slideTo(stopIndex + params.slidesPerGroup);\n else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + params.slidesPerGroup);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n }\n}\n\nfunction onResize () {\n const swiper = this;\n\n const { params, el } = swiper;\n\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const { allowSlideNext, allowSlidePrev, snapGrid } = swiper;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n\n swiper.updateSize();\n swiper.updateSlides();\n\n if (params.freeMode) {\n const newTranslate = Math.min(Math.max(swiper.translate, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n swiper.updateSlidesClasses();\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}\n\nfunction onClick (e) {\n const swiper = this;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}\n\nfunction attachEvents() {\n const swiper = this;\n const {\n params, touchEvents, el, wrapperEl,\n } = swiper;\n\n {\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n const target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n const capture = !!params.nested;\n\n // Touch Events\n {\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\n target.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (Support.touch) {\n const passiveListener = touchEvents.start === 'touchstart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;\n target.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.addEventListener(touchEvents.move, swiper.onTouchMove, Support.passiveListener ? { passive: false, capture } : capture);\n target.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\n target.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n }\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n target.addEventListener('click', swiper.onClick, true);\n }\n }\n\n // Resize handler\n swiper.on((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize, true);\n}\n\nfunction detachEvents() {\n const swiper = this;\n\n const {\n params, touchEvents, el, wrapperEl,\n } = swiper;\n\n const target = params.touchEventsTarget === 'container' ? el : wrapperEl;\n const capture = !!params.nested;\n\n // Touch Events\n {\n if (!Support.touch && (Support.pointerEvents || Support.prefixedPointerEvents)) {\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (Support.touch) {\n const passiveListener = touchEvents.start === 'onTouchStart' && Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;\n target.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n target.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n target.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n }\n if ((params.simulateTouch && !Device.ios && !Device.android) || (params.simulateTouch && !Support.touch && Device.ios)) {\n target.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n }\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n target.removeEventListener('click', swiper.onClick, true);\n }\n }\n\n // Resize handler\n swiper.off((Device.ios || Device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate'), onResize);\n}\n\nvar events = {\n attachEvents,\n detachEvents,\n};\n\nfunction setBreakpoint () {\n const swiper = this;\n const {\n activeIndex, initialized, loopedSlides = 0, params,\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0)) return;\n\n // Set breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints);\n\n if (breakpoint && swiper.currentBreakpoint !== breakpoint) {\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup'].forEach((param) => {\n const paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n Utils.extend(swiper.params, breakpointParams);\n\n Utils.extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n });\n\n swiper.currentBreakpoint = breakpoint;\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo((activeIndex - loopedSlides) + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n }\n}\n\nfunction getBreakpoint (breakpoints) {\n const swiper = this;\n // Get breakpoint for window width\n if (!breakpoints) return undefined;\n let breakpoint = false;\n const points = [];\n Object.keys(breakpoints).forEach((point) => {\n points.push(point);\n });\n points.sort((a, b) => parseInt(a, 10) - parseInt(b, 10));\n for (let i = 0; i < points.length; i += 1) {\n const point = points[i];\n if (swiper.params.breakpointsInverse) {\n if (point <= window.innerWidth) {\n breakpoint = point;\n }\n } else if (point >= window.innerWidth && !breakpoint) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}\n\nvar breakpoints = { setBreakpoint, getBreakpoint };\n\nfunction addClasses () {\n const swiper = this;\n const {\n classNames, params, rtl, $el,\n } = swiper;\n const suffixes = [];\n\n suffixes.push('initialized');\n suffixes.push(params.direction);\n\n if (params.freeMode) {\n suffixes.push('free-mode');\n }\n if (!Support.flexbox) {\n suffixes.push('no-flexbox');\n }\n if (params.autoHeight) {\n suffixes.push('autoheight');\n }\n if (rtl) {\n suffixes.push('rtl');\n }\n if (params.slidesPerColumn > 1) {\n suffixes.push('multirow');\n }\n if (Device.android) {\n suffixes.push('android');\n }\n if (Device.ios) {\n suffixes.push('ios');\n }\n // WP8 Touch Events Fix\n if ((Browser.isIE || Browser.isEdge) && (Support.pointerEvents || Support.prefixedPointerEvents)) {\n suffixes.push(`wp8-${params.direction}`);\n }\n\n suffixes.forEach((suffix) => {\n classNames.push(params.containerModifierClass + suffix);\n });\n\n $el.addClass(classNames.join(' '));\n}\n\nfunction removeClasses () {\n const swiper = this;\n const { $el, classNames } = swiper;\n\n $el.removeClass(classNames.join(' '));\n}\n\nvar classes = { addClasses, removeClasses };\n\nfunction loadImage (imageEl, src, srcset, sizes, checkForComplete, callback) {\n let image;\n function onReady() {\n if (callback) callback();\n }\n if (!imageEl.complete || !checkForComplete) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n if (sizes) {\n image.sizes = sizes;\n }\n if (srcset) {\n image.srcset = srcset;\n }\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}\n\nfunction preloadImages () {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(\n imageEl,\n imageEl.currentSrc || imageEl.getAttribute('src'),\n imageEl.srcset || imageEl.getAttribute('srcset'),\n imageEl.sizes || imageEl.getAttribute('sizes'),\n true,\n onReady\n );\n }\n}\n\nvar images = {\n loadImage,\n preloadImages,\n};\n\nfunction checkOverflow() {\n const swiper = this;\n const wasLocked = swiper.isLocked;\n\n swiper.isLocked = swiper.snapGrid.length === 1;\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked;\n\n // events\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n swiper.navigation.update();\n }\n}\n\nvar checkOverflow$1 = { checkOverflow };\n\nvar defaults = {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n //\n preventInteractionOnTransition: false,\n\n // To support iOS's swipe-to-go-back gesture (when being used in-app, with UIWebView).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n\n // Autoheight\n autoHeight: false,\n\n // Set wrapper width\n setWrapperSize: false,\n\n // Virtual Translate\n virtualTranslate: false,\n\n // Effects\n effect: 'slide', // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsInverse: false,\n\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n centeredSlides: false,\n slidesOffsetBefore: 0, // in px\n slidesOffsetAfter: 0, // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n\n // Round length\n roundLengths: false,\n\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: true,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n\n // Unique Navigation Elements\n uniqueNavElements: true,\n\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n\n // Cursor\n grabCursor: false,\n\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null, // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n\n // Passive Listeners\n passiveListeners: true,\n\n // NS\n containerModifierClass: 'swiper-container-', // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n\n // Callbacks\n runCallbacksOnInit: true,\n};\n\n/* eslint no-param-reassign: \"off\" */\n\nconst prototypes = {\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n manipulation,\n events,\n breakpoints,\n checkOverflow: checkOverflow$1,\n classes,\n images,\n};\n\nconst extendedDefaults = {};\n\nclass Swiper extends SwiperClass {\n constructor(...args) {\n let el;\n let params;\n if (args.length === 1 && args[0].constructor && args[0].constructor === Object) {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n\n params = Utils.extend({}, params);\n if (el && !params.el) params.el = el;\n\n super(params);\n\n Object.keys(prototypes).forEach((prototypeGroup) => {\n Object.keys(prototypes[prototypeGroup]).forEach((protoMethod) => {\n if (!Swiper.prototype[protoMethod]) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n }\n });\n });\n\n // Swiper Instance\n const swiper = this;\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n Object.keys(swiper.modules).forEach((moduleName) => {\n const module = swiper.modules[moduleName];\n if (module.params) {\n const moduleParamName = Object.keys(module.params)[0];\n const moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n if (params[moduleParamName] === true) {\n params[moduleParamName] = { enabled: true };\n }\n if (\n typeof params[moduleParamName] === 'object'\n && !('enabled' in params[moduleParamName])\n ) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = { enabled: false };\n }\n });\n\n // Extend defaults with modules params\n const swiperParams = Utils.extend({}, defaults);\n swiper.useModulesParams(swiperParams);\n\n // Extend defaults with passed params\n swiper.params = Utils.extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = Utils.extend({}, swiper.params);\n swiper.passedParams = Utils.extend({}, params);\n\n // Save Dom lib\n swiper.$ = $;\n\n // Find el\n const $el = $(swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return undefined;\n }\n\n if ($el.length > 1) {\n const swipers = [];\n $el.each((index, containerEl) => {\n const newParams = Utils.extend({}, params, { el: containerEl });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n }\n\n el.swiper = swiper;\n $el.data('swiper', swiper);\n\n // Find Wrapper\n const $wrapperEl = $el.children(`.${swiper.params.wrapperClass}`);\n\n // Extend Swiper\n Utils.extend(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n\n // Classes\n classNames: [],\n\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // RTL\n rtl: (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box',\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n\n //\n isBeginning: true,\n isEnd: false,\n\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n\n // Touch Events\n touchEvents: (function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend'];\n let desktop = ['mousedown', 'mousemove', 'mouseup'];\n if (Support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n } else if (Support.prefixedPointerEvents) {\n desktop = ['MSPointerDown', 'MSPointerMove', 'MSPointerUp'];\n }\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2],\n };\n return Support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }()),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n formElements: 'input, select, option, textarea, button, video',\n // Last click time\n lastClickTime: Utils.now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined,\n },\n\n // Clicks\n allowClick: true,\n\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0,\n },\n\n // Images\n imagesToLoad: [],\n imagesLoaded: 0,\n\n });\n\n // Install Modules\n swiper.useModules();\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n return swiper;\n }\n\n slidesPerViewDynamic() {\n const swiper = this;\n const {\n params, slides, slidesGrid, size: swiperSize, activeIndex,\n } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slidesGrid[i] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const { snapGrid, params } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode) {\n setTranslate();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if ((newDirection === currentDirection) || (newDirection !== 'horizontal' && newDirection !== 'vertical')) {\n return swiper;\n }\n\n swiper.$el\n .removeClass(`${swiper.params.containerModifierClass}${currentDirection} wp8-${currentDirection}`)\n .addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n\n if ((Browser.isIE || Browser.isEdge) && (Support.pointerEvents || Support.prefixedPointerEvents)) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}wp8-${newDirection}`);\n }\n\n swiper.params.direction = newDirection;\n\n swiper.slides.each((slideIndex, slideEl) => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n\n return swiper;\n }\n\n init() {\n const swiper = this;\n if (swiper.initialized) return;\n\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit);\n }\n\n // Attach events\n swiper.attachEvents();\n\n // Init Flag\n swiper.initialized = true;\n\n // Emit\n swiper.emit('init');\n }\n\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const {\n params, $el, $wrapperEl, slides,\n } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n if (slides && slides.length) {\n slides\n .removeClass([\n params.slideVisibleClass,\n params.slideActiveClass,\n params.slideNextClass,\n params.slidePrevClass,\n ].join(' '))\n .removeAttr('style')\n .removeAttr('data-swiper-slide-index')\n .removeAttr('data-swiper-column')\n .removeAttr('data-swiper-row');\n }\n }\n\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach((eventName) => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n swiper.$el.data('swiper', null);\n Utils.deleteProps(swiper);\n }\n swiper.destroyed = true;\n\n return null;\n }\n\n static extendDefaults(newDefaults) {\n Utils.extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static get Class() {\n return SwiperClass;\n }\n\n static get $() {\n return $;\n }\n}\n\nvar Device$1 = {\n name: 'device',\n proto: {\n device: Device,\n },\n static: {\n device: Device,\n },\n};\n\nvar Support$1 = {\n name: 'support',\n proto: {\n support: Support,\n },\n static: {\n support: Support,\n },\n};\n\nvar Browser$1 = {\n name: 'browser',\n proto: {\n browser: Browser,\n },\n static: {\n browser: Browser,\n },\n};\n\nvar Resize = {\n name: 'resize',\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n resize: {\n resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n },\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n // Emit resize\n window.addEventListener('resize', swiper.resize.resizeHandler);\n\n // Emit orientationchange\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy() {\n const swiper = this;\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n },\n};\n\nconst Observer = {\n func: window.MutationObserver || window.WebkitMutationObserver,\n attach(target, options = {}) {\n const swiper = this;\n\n const ObserverFunc = Observer.func;\n const observer = new ObserverFunc((mutations) => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData,\n });\n\n swiper.observer.observers.push(observer);\n },\n init() {\n const swiper = this;\n if (!Support.observer || !swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n for (let i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n }\n // Observe container\n swiper.observer.attach(swiper.$el[0], { childList: swiper.params.observeSlideChildren });\n\n // Observe wrapper\n swiper.observer.attach(swiper.$wrapperEl[0], { attributes: false });\n },\n destroy() {\n const swiper = this;\n swiper.observer.observers.forEach((observer) => {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n },\n};\n\nvar Observer$1 = {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false,\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n observer: {\n init: Observer.init.bind(swiper),\n attach: Observer.attach.bind(swiper),\n destroy: Observer.destroy.bind(swiper),\n observers: [],\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n swiper.observer.init();\n },\n destroy() {\n const swiper = this;\n swiper.observer.destroy();\n },\n },\n};\n\nconst Virtual = {\n update(force) {\n const swiper = this;\n const { slidesPerView, slidesPerGroup, centeredSlides } = swiper.params;\n const { addSlidesBefore, addSlidesAfter } = swiper.params.virtual;\n const {\n from: previousFrom,\n to: previousTo,\n slides,\n slidesGrid: previousSlidesGrid,\n renderSlide,\n offset: previousOffset,\n } = swiper.virtual;\n swiper.updateActiveIndex();\n const activeIndex = swiper.activeIndex || 0;\n\n let offsetProp;\n if (swiper.rtlTranslate) offsetProp = 'right';\n else offsetProp = swiper.isHorizontal() ? 'left' : 'top';\n\n let slidesAfter;\n let slidesBefore;\n if (centeredSlides) {\n slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;\n slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;\n } else {\n slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesBefore;\n slidesBefore = slidesPerGroup + addSlidesAfter;\n }\n const from = Math.max((activeIndex || 0) - slidesBefore, 0);\n const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);\n const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);\n\n Utils.extend(swiper.virtual, {\n from,\n to,\n offset,\n slidesGrid: swiper.slidesGrid,\n });\n\n function onRendered() {\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.lazy && swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n }\n\n if (previousFrom === from && previousTo === to && !force) {\n if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {\n swiper.slides.css(offsetProp, `${offset}px`);\n }\n swiper.updateProgress();\n return;\n }\n if (swiper.params.virtual.renderExternal) {\n swiper.params.virtual.renderExternal.call(swiper, {\n offset,\n from,\n to,\n slides: (function getSlides() {\n const slidesToRender = [];\n for (let i = from; i <= to; i += 1) {\n slidesToRender.push(slides[i]);\n }\n return slidesToRender;\n }()),\n });\n onRendered();\n return;\n }\n const prependIndexes = [];\n const appendIndexes = [];\n if (force) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();\n } else {\n for (let i = previousFrom; i <= previousTo; i += 1) {\n if (i < from || i > to) {\n swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${i}\"]`).remove();\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n if (i >= from && i <= to) {\n if (typeof previousTo === 'undefined' || force) {\n appendIndexes.push(i);\n } else {\n if (i > previousTo) appendIndexes.push(i);\n if (i < previousFrom) prependIndexes.push(i);\n }\n }\n }\n appendIndexes.forEach((index) => {\n swiper.$wrapperEl.append(renderSlide(slides[index], index));\n });\n prependIndexes.sort((a, b) => b - a).forEach((index) => {\n swiper.$wrapperEl.prepend(renderSlide(slides[index], index));\n });\n swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`);\n onRendered();\n },\n renderSlide(slide, index) {\n const swiper = this;\n const params = swiper.params.virtual;\n if (params.cache && swiper.virtual.cache[index]) {\n return swiper.virtual.cache[index];\n }\n const $slideEl = params.renderSlide\n ? $(params.renderSlide.call(swiper, slide, index))\n : $(`
${slide}
`);\n if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);\n if (params.cache) swiper.virtual.cache[index] = $slideEl;\n return $slideEl;\n },\n appendSlide(slides) {\n const swiper = this;\n if (typeof slides === 'object' && 'length' in slides) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.push(slides[i]);\n }\n } else {\n swiper.virtual.slides.push(slides);\n }\n swiper.virtual.update(true);\n },\n prependSlide(slides) {\n const swiper = this;\n const activeIndex = swiper.activeIndex;\n let newActiveIndex = activeIndex + 1;\n let numberOfNewSlides = 1;\n\n if (Array.isArray(slides)) {\n for (let i = 0; i < slides.length; i += 1) {\n if (slides[i]) swiper.virtual.slides.unshift(slides[i]);\n }\n newActiveIndex = activeIndex + slides.length;\n numberOfNewSlides = slides.length;\n } else {\n swiper.virtual.slides.unshift(slides);\n }\n if (swiper.params.virtual.cache) {\n const cache = swiper.virtual.cache;\n const newCache = {};\n Object.keys(cache).forEach((cachedIndex) => {\n newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = cache[cachedIndex];\n });\n swiper.virtual.cache = newCache;\n }\n swiper.virtual.update(true);\n swiper.slideTo(newActiveIndex, 0);\n },\n removeSlide(slidesIndexes) {\n const swiper = this;\n if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;\n let activeIndex = swiper.activeIndex;\n if (Array.isArray(slidesIndexes)) {\n for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {\n swiper.virtual.slides.splice(slidesIndexes[i], 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes[i]];\n }\n if (slidesIndexes[i] < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n } else {\n swiper.virtual.slides.splice(slidesIndexes, 1);\n if (swiper.params.virtual.cache) {\n delete swiper.virtual.cache[slidesIndexes];\n }\n if (slidesIndexes < activeIndex) activeIndex -= 1;\n activeIndex = Math.max(activeIndex, 0);\n }\n swiper.virtual.update(true);\n swiper.slideTo(activeIndex, 0);\n },\n removeAllSlides() {\n const swiper = this;\n swiper.virtual.slides = [];\n if (swiper.params.virtual.cache) {\n swiper.virtual.cache = {};\n }\n swiper.virtual.update(true);\n swiper.slideTo(0, 0);\n },\n};\n\nvar Virtual$1 = {\n name: 'virtual',\n params: {\n virtual: {\n enabled: false,\n slides: [],\n cache: true,\n renderSlide: null,\n renderExternal: null,\n addSlidesBefore: 0,\n addSlidesAfter: 0,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n virtual: {\n update: Virtual.update.bind(swiper),\n appendSlide: Virtual.appendSlide.bind(swiper),\n prependSlide: Virtual.prependSlide.bind(swiper),\n removeSlide: Virtual.removeSlide.bind(swiper),\n removeAllSlides: Virtual.removeAllSlides.bind(swiper),\n renderSlide: Virtual.renderSlide.bind(swiper),\n slides: swiper.params.virtual.slides,\n cache: {},\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);\n const overwriteParams = {\n watchSlidesProgress: true,\n };\n Utils.extend(swiper.params, overwriteParams);\n Utils.extend(swiper.originalParams, overwriteParams);\n\n if (!swiper.params.initialSlide) {\n swiper.virtual.update();\n }\n },\n setTranslate() {\n const swiper = this;\n if (!swiper.params.virtual.enabled) return;\n swiper.virtual.update();\n },\n },\n};\n\nconst Keyboard = {\n handle(event) {\n const swiper = this;\n const { rtlTranslate: rtl } = swiper;\n let e = event;\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n const kc = e.keyCode || e.charCode;\n // Directions locks\n if (!swiper.allowSlideNext && ((swiper.isHorizontal() && kc === 39) || (swiper.isVertical() && kc === 40) || kc === 34)) {\n return false;\n }\n if (!swiper.allowSlidePrev && ((swiper.isHorizontal() && kc === 37) || (swiper.isVertical() && kc === 38) || kc === 33)) {\n return false;\n }\n if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {\n return undefined;\n }\n if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {\n return undefined;\n }\n if (swiper.params.keyboard.onlyInViewport && (kc === 33 || kc === 34 || kc === 37 || kc === 39 || kc === 38 || kc === 40)) {\n let inView = false;\n // Check that swiper should be inside of visible area of window\n if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) {\n return undefined;\n }\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n const swiperOffset = swiper.$el.offset();\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [\n [swiperOffset.left, swiperOffset.top],\n [swiperOffset.left + swiper.width, swiperOffset.top],\n [swiperOffset.left, swiperOffset.top + swiper.height],\n [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height],\n ];\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n if (\n point[0] >= 0 && point[0] <= windowWidth\n && point[1] >= 0 && point[1] <= windowHeight\n ) {\n inView = true;\n }\n }\n if (!inView) return undefined;\n }\n if (swiper.isHorizontal()) {\n if (kc === 33 || kc === 34 || kc === 37 || kc === 39) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (((kc === 34 || kc === 39) && !rtl) || ((kc === 33 || kc === 37) && rtl)) swiper.slideNext();\n if (((kc === 33 || kc === 37) && !rtl) || ((kc === 34 || kc === 39) && rtl)) swiper.slidePrev();\n } else {\n if (kc === 33 || kc === 34 || kc === 38 || kc === 40) {\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n }\n if (kc === 34 || kc === 40) swiper.slideNext();\n if (kc === 33 || kc === 38) swiper.slidePrev();\n }\n swiper.emit('keyPress', kc);\n return undefined;\n },\n enable() {\n const swiper = this;\n if (swiper.keyboard.enabled) return;\n $(document).on('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = true;\n },\n disable() {\n const swiper = this;\n if (!swiper.keyboard.enabled) return;\n $(document).off('keydown', swiper.keyboard.handle);\n swiper.keyboard.enabled = false;\n },\n};\n\nvar Keyboard$1 = {\n name: 'keyboard',\n params: {\n keyboard: {\n enabled: false,\n onlyInViewport: true,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n keyboard: {\n enabled: false,\n enable: Keyboard.enable.bind(swiper),\n disable: Keyboard.disable.bind(swiper),\n handle: Keyboard.handle.bind(swiper),\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.keyboard.enabled) {\n swiper.keyboard.enable();\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.keyboard.enabled) {\n swiper.keyboard.disable();\n }\n },\n },\n};\n\nfunction isEventSupported() {\n const eventName = 'onwheel';\n let isSupported = eventName in document;\n\n if (!isSupported) {\n const element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported\n && document.implementation\n && document.implementation.hasFeature\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n && document.implementation.hasFeature('', '') !== true\n ) {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\nconst Mousewheel = {\n lastScrollTime: Utils.now(),\n event: (function getEvent() {\n if (window.navigator.userAgent.indexOf('firefox') > -1) return 'DOMMouseScroll';\n return isEventSupported() ? 'wheel' : 'mousewheel';\n }()),\n normalize(e) {\n // Reasonable defaults\n const PIXEL_STEP = 10;\n const LINE_HEIGHT = 40;\n const PAGE_HEIGHT = 800;\n\n let sX = 0;\n let sY = 0; // spinX, spinY\n let pX = 0;\n let pY = 0; // pixelX, pixelY\n\n // Legacy\n if ('detail' in e) {\n sY = e.detail;\n }\n if ('wheelDelta' in e) {\n sY = -e.wheelDelta / 120;\n }\n if ('wheelDeltaY' in e) {\n sY = -e.wheelDeltaY / 120;\n }\n if ('wheelDeltaX' in e) {\n sX = -e.wheelDeltaX / 120;\n }\n\n // side scrolling on FF with DOMMouseScroll\n if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {\n sX = sY;\n sY = 0;\n }\n\n pX = sX * PIXEL_STEP;\n pY = sY * PIXEL_STEP;\n\n if ('deltaY' in e) {\n pY = e.deltaY;\n }\n if ('deltaX' in e) {\n pX = e.deltaX;\n }\n\n if ((pX || pY) && e.deltaMode) {\n if (e.deltaMode === 1) { // delta in LINE units\n pX *= LINE_HEIGHT;\n pY *= LINE_HEIGHT;\n } else { // delta in PAGE units\n pX *= PAGE_HEIGHT;\n pY *= PAGE_HEIGHT;\n }\n }\n\n // Fall-back if spin cannot be determined\n if (pX && !sX) {\n sX = (pX < 1) ? -1 : 1;\n }\n if (pY && !sY) {\n sY = (pY < 1) ? -1 : 1;\n }\n\n return {\n spinX: sX,\n spinY: sY,\n pixelX: pX,\n pixelY: pY,\n };\n },\n handleMouseEnter() {\n const swiper = this;\n swiper.mouseEntered = true;\n },\n handleMouseLeave() {\n const swiper = this;\n swiper.mouseEntered = false;\n },\n handle(event) {\n let e = event;\n const swiper = this;\n const params = swiper.params.mousewheel;\n\n if (!swiper.mouseEntered && !params.releaseOnEdges) return true;\n\n if (e.originalEvent) e = e.originalEvent; // jquery fix\n let delta = 0;\n const rtlFactor = swiper.rtlTranslate ? -1 : 1;\n\n const data = Mousewheel.normalize(e);\n\n if (params.forceToAxis) {\n if (swiper.isHorizontal()) {\n if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = data.pixelX * rtlFactor;\n else return true;\n } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = data.pixelY;\n else return true;\n } else {\n delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;\n }\n\n if (delta === 0) return true;\n\n if (params.invert) delta = -delta;\n\n if (!swiper.params.freeMode) {\n if (Utils.now() - swiper.mousewheel.lastScrollTime > 60) {\n if (delta < 0) {\n if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {\n swiper.slideNext();\n swiper.emit('scroll', e);\n } else if (params.releaseOnEdges) return true;\n } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {\n swiper.slidePrev();\n swiper.emit('scroll', e);\n } else if (params.releaseOnEdges) return true;\n }\n swiper.mousewheel.lastScrollTime = (new window.Date()).getTime();\n } else {\n // Freemode or scrollContainer:\n if (swiper.params.loop) {\n swiper.loopFix();\n }\n let position = swiper.getTranslate() + (delta * params.sensitivity);\n const wasBeginning = swiper.isBeginning;\n const wasEnd = swiper.isEnd;\n\n if (position >= swiper.minTranslate()) position = swiper.minTranslate();\n if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();\n\n swiper.setTransition(0);\n swiper.setTranslate(position);\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n\n if ((!wasBeginning && swiper.isBeginning) || (!wasEnd && swiper.isEnd)) {\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeModeSticky) {\n clearTimeout(swiper.mousewheel.timeout);\n swiper.mousewheel.timeout = Utils.nextTick(() => {\n swiper.slideToClosest();\n }, 300);\n }\n // Emit event\n swiper.emit('scroll', e);\n\n // Stop autoplay\n if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop();\n // Return page scroll on edge positions\n if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;\n }\n\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n return false;\n },\n enable() {\n const swiper = this;\n if (!Mousewheel.event) return false;\n if (swiper.mousewheel.enabled) return false;\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarged);\n }\n target.on('mouseenter', swiper.mousewheel.handleMouseEnter);\n target.on('mouseleave', swiper.mousewheel.handleMouseLeave);\n target.on(Mousewheel.event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = true;\n return true;\n },\n disable() {\n const swiper = this;\n if (!Mousewheel.event) return false;\n if (!swiper.mousewheel.enabled) return false;\n let target = swiper.$el;\n if (swiper.params.mousewheel.eventsTarged !== 'container') {\n target = $(swiper.params.mousewheel.eventsTarged);\n }\n target.off(Mousewheel.event, swiper.mousewheel.handle);\n swiper.mousewheel.enabled = false;\n return true;\n },\n};\n\nvar Mousewheel$1 = {\n name: 'mousewheel',\n params: {\n mousewheel: {\n enabled: false,\n releaseOnEdges: false,\n invert: false,\n forceToAxis: false,\n sensitivity: 1,\n eventsTarged: 'container',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n mousewheel: {\n enabled: false,\n enable: Mousewheel.enable.bind(swiper),\n disable: Mousewheel.disable.bind(swiper),\n handle: Mousewheel.handle.bind(swiper),\n handleMouseEnter: Mousewheel.handleMouseEnter.bind(swiper),\n handleMouseLeave: Mousewheel.handleMouseLeave.bind(swiper),\n lastScrollTime: Utils.now(),\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.mousewheel.enabled) swiper.mousewheel.enable();\n },\n destroy() {\n const swiper = this;\n if (swiper.mousewheel.enabled) swiper.mousewheel.disable();\n },\n },\n};\n\nconst Navigation = {\n update() {\n // Update Navigation Buttons\n const swiper = this;\n const params = swiper.params.navigation;\n\n if (swiper.params.loop) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n $prevEl.addClass(params.disabledClass);\n } else {\n $prevEl.removeClass(params.disabledClass);\n }\n $prevEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n $nextEl.addClass(params.disabledClass);\n } else {\n $nextEl.removeClass(params.disabledClass);\n }\n $nextEl[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n onPrevClick(e) {\n const swiper = this;\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop) return;\n swiper.slidePrev();\n },\n onNextClick(e) {\n const swiper = this;\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop) return;\n swiper.slideNext();\n },\n init() {\n const swiper = this;\n const params = swiper.params.navigation;\n if (!(params.nextEl || params.prevEl)) return;\n\n let $nextEl;\n let $prevEl;\n if (params.nextEl) {\n $nextEl = $(params.nextEl);\n if (\n swiper.params.uniqueNavElements\n && typeof params.nextEl === 'string'\n && $nextEl.length > 1\n && swiper.$el.find(params.nextEl).length === 1\n ) {\n $nextEl = swiper.$el.find(params.nextEl);\n }\n }\n if (params.prevEl) {\n $prevEl = $(params.prevEl);\n if (\n swiper.params.uniqueNavElements\n && typeof params.prevEl === 'string'\n && $prevEl.length > 1\n && swiper.$el.find(params.prevEl).length === 1\n ) {\n $prevEl = swiper.$el.find(params.prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', swiper.navigation.onNextClick);\n }\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', swiper.navigation.onPrevClick);\n }\n\n Utils.extend(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0],\n });\n },\n destroy() {\n const swiper = this;\n const { $nextEl, $prevEl } = swiper.navigation;\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', swiper.navigation.onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', swiper.navigation.onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n },\n};\n\nvar Navigation$1 = {\n name: 'navigation',\n params: {\n navigation: {\n nextEl: null,\n prevEl: null,\n\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n navigation: {\n init: Navigation.init.bind(swiper),\n update: Navigation.update.bind(swiper),\n destroy: Navigation.destroy.bind(swiper),\n onNextClick: Navigation.onNextClick.bind(swiper),\n onPrevClick: Navigation.onPrevClick.bind(swiper),\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n swiper.navigation.init();\n swiper.navigation.update();\n },\n toEdge() {\n const swiper = this;\n swiper.navigation.update();\n },\n fromEdge() {\n const swiper = this;\n swiper.navigation.update();\n },\n destroy() {\n const swiper = this;\n swiper.navigation.destroy();\n },\n click(e) {\n const swiper = this;\n const { $nextEl, $prevEl } = swiper.navigation;\n if (\n swiper.params.navigation.hideOnClick\n && !$(e.target).is($prevEl)\n && !$(e.target).is($nextEl)\n ) {\n let isHidden;\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n swiper.emit('navigationShow', swiper);\n } else {\n swiper.emit('navigationHide', swiper);\n }\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n },\n },\n};\n\nconst Pagination = {\n update() {\n // Render || Update Pagination bullets/items\n const swiper = this;\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n // Current/Total\n let current;\n const total = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n if (current > slidesLength - 1 - (swiper.loopedSlides * 2)) {\n current -= (slidesLength - (swiper.loopedSlides * 2));\n }\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', `${swiper.pagination.bulletSize * (params.dynamicMainBullets + 4)}px`);\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += (current - swiper.previousIndex);\n if (swiper.pagination.dynamicBulletIndex > (params.dynamicMainBullets - 1)) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.removeClass(`${params.bulletActiveClass} ${params.bulletActiveClass}-next ${params.bulletActiveClass}-next-next ${params.bulletActiveClass}-prev ${params.bulletActiveClass}-prev-prev ${params.bulletActiveClass}-main`);\n if ($el.length > 1) {\n bullets.each((index, bullet) => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n $bullet\n .prev()\n .addClass(`${params.bulletActiveClass}-prev`)\n .prev()\n .addClass(`${params.bulletActiveClass}-prev-prev`);\n }\n if (bulletIndex === lastIndex) {\n $bullet\n .next()\n .addClass(`${params.bulletActiveClass}-next`)\n .next()\n .addClass(`${params.bulletActiveClass}-next-next`);\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n $bullet.addClass(params.bulletActiveClass);\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n $firstDisplayedBullet\n .prev()\n .addClass(`${params.bulletActiveClass}-prev`)\n .prev()\n .addClass(`${params.bulletActiveClass}-prev-prev`);\n $lastDisplayedBullet\n .next()\n .addClass(`${params.bulletActiveClass}-next`)\n .next()\n .addClass(`${params.bulletActiveClass}-next-next`);\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (((swiper.pagination.bulletSize * dynamicBulletsLength) - (swiper.pagination.bulletSize)) / 2) - (midIndex * swiper.pagination.bulletSize);\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n if (params.type === 'fraction') {\n $el.find(`.${params.currentClass}`).text(params.formatFractionCurrent(current + 1));\n $el.find(`.${params.totalClass}`).text(params.formatFractionTotal(total));\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n $el.find(`.${params.progressbarFillClass}`).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);\n }\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', swiper, $el[0]);\n } else {\n swiper.emit('paginationUpdate', swiper, $el[0]);\n }\n $el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n },\n render() {\n // Render Container\n const swiper = this;\n const params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n if (params.type === 'bullets') {\n const numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - (swiper.loopedSlides * 2)) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(`.${params.bulletClass}`);\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = ``\n + ' / '\n + ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n $el.html(paginationHTML);\n }\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init() {\n const swiper = this;\n const params = swiper.params.pagination;\n if (!params.el) return;\n\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (\n swiper.params.uniqueNavElements\n && typeof params.el === 'string'\n && $el.length > 1\n && swiper.$el.find(params.el).length === 1\n ) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n swiper.pagination.dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', `.${params.bulletClass}`, function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Utils.extend(swiper.pagination, {\n $el,\n el: $el[0],\n });\n },\n destroy() {\n const swiper = this;\n const params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n const $el = swiper.pagination.$el;\n\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n if (params.clickable) {\n $el.off('click', `.${params.bulletClass}`);\n }\n },\n};\n\nvar Pagination$1 = {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets', // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: (number) => number,\n formatFractionTotal: (number) => number,\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-', // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable', // NEW\n lockClass: 'swiper-pagination-lock',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n pagination: {\n init: Pagination.init.bind(swiper),\n render: Pagination.render.bind(swiper),\n update: Pagination.update.bind(swiper),\n destroy: Pagination.destroy.bind(swiper),\n dynamicBulletIndex: 0,\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange() {\n const swiper = this;\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange() {\n const swiper = this;\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange() {\n const swiper = this;\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange() {\n const swiper = this;\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy() {\n const swiper = this;\n swiper.pagination.destroy();\n },\n click(e) {\n const swiper = this;\n if (\n swiper.params.pagination.el\n && swiper.params.pagination.hideOnClick\n && swiper.pagination.$el.length > 0\n && !$(e.target).hasClass(swiper.params.pagination.bulletClass)\n ) {\n const isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n swiper.emit('paginationShow', swiper);\n } else {\n swiper.emit('paginationHide', swiper);\n }\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n },\n },\n};\n\nconst Scrollbar = {\n setTranslate() {\n const swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const { scrollbar, rtlTranslate: rtl, progress } = swiper;\n const {\n dragSize, trackSize, $dragEl, $el,\n } = scrollbar;\n const params = swiper.params.scrollbar;\n\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n if (rtl) {\n newPos = -newPos;\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n if (swiper.isHorizontal()) {\n if (Support.transforms3d) {\n $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);\n } else {\n $dragEl.transform(`translateX(${newPos}px)`);\n }\n $dragEl[0].style.width = `${newSize}px`;\n } else {\n if (Support.transforms3d) {\n $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);\n } else {\n $dragEl.transform(`translateY(${newPos}px)`);\n }\n $dragEl[0].style.height = `${newSize}px`;\n }\n if (params.hide) {\n clearTimeout(swiper.scrollbar.timeout);\n $el[0].style.opacity = 1;\n swiper.scrollbar.timeout = setTimeout(() => {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n },\n setTransition(duration) {\n const swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n },\n updateSize() {\n const swiper = this;\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n\n const { scrollbar } = swiper;\n const { $dragEl, $el } = scrollbar;\n\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n const trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n\n const divider = swiper.size / swiper.virtualSize;\n const moveDivider = divider * (trackSize / swiper.size);\n let dragSize;\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = `${dragSize}px`;\n } else {\n $dragEl[0].style.height = `${dragSize}px`;\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n Utils.extend(scrollbar, {\n trackSize,\n divider,\n moveDivider,\n dragSize,\n });\n scrollbar.$el[swiper.params.watchOverflow && swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n },\n getPointerPosition(e) {\n const swiper = this;\n if (swiper.isHorizontal()) {\n return ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageX : e.pageX || e.clientX);\n }\n return ((e.type === 'touchstart' || e.type === 'touchmove') ? e.targetTouches[0].pageY : e.pageY || e.clientY);\n },\n setDragPosition(e) {\n const swiper = this;\n const { scrollbar, rtlTranslate: rtl } = swiper;\n const {\n $el,\n dragSize,\n trackSize,\n dragStartPos,\n } = scrollbar;\n\n let positionRatio;\n positionRatio = ((scrollbar.getPointerPosition(e)) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top']\n - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n const position = swiper.minTranslate() + ((swiper.maxTranslate() - swiper.minTranslate()) * positionRatio);\n\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n },\n onDragStart(e) {\n const swiper = this;\n const params = swiper.params.scrollbar;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n swiper.scrollbar.isTouched = true;\n swiper.scrollbar.dragStartPos = (e.target === $dragEl[0] || e.target === $dragEl)\n ? scrollbar.getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n scrollbar.setDragPosition(e);\n\n clearTimeout(swiper.scrollbar.dragTimeout);\n\n $el.transition(0);\n if (params.hide) {\n $el.css('opacity', 1);\n }\n swiper.emit('scrollbarDragStart', e);\n },\n onDragMove(e) {\n const swiper = this;\n const { scrollbar, $wrapperEl } = swiper;\n const { $el, $dragEl } = scrollbar;\n\n if (!swiper.scrollbar.isTouched) return;\n if (e.preventDefault) e.preventDefault();\n else e.returnValue = false;\n scrollbar.setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n swiper.emit('scrollbarDragMove', e);\n },\n onDragEnd(e) {\n const swiper = this;\n\n const params = swiper.params.scrollbar;\n const { scrollbar } = swiper;\n const { $el } = scrollbar;\n\n if (!swiper.scrollbar.isTouched) return;\n swiper.scrollbar.isTouched = false;\n if (params.hide) {\n clearTimeout(swiper.scrollbar.dragTimeout);\n swiper.scrollbar.dragTimeout = Utils.nextTick(() => {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n swiper.emit('scrollbarDragEnd', e);\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n },\n enableDraggable() {\n const swiper = this;\n if (!swiper.params.scrollbar.el) return;\n const {\n scrollbar, touchEventsTouch, touchEventsDesktop, params,\n } = swiper;\n const $el = scrollbar.$el;\n const target = $el[0];\n const activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false;\n const passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;\n if (!Support.touch) {\n target.addEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.addEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.addEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.addEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.addEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.addEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n disableDraggable() {\n const swiper = this;\n if (!swiper.params.scrollbar.el) return;\n const {\n scrollbar, touchEventsTouch, touchEventsDesktop, params,\n } = swiper;\n const $el = scrollbar.$el;\n const target = $el[0];\n const activeListener = Support.passiveListener && params.passiveListeners ? { passive: false, capture: false } : false;\n const passiveListener = Support.passiveListener && params.passiveListeners ? { passive: true, capture: false } : false;\n if (!Support.touch) {\n target.removeEventListener(touchEventsDesktop.start, swiper.scrollbar.onDragStart, activeListener);\n document.removeEventListener(touchEventsDesktop.move, swiper.scrollbar.onDragMove, activeListener);\n document.removeEventListener(touchEventsDesktop.end, swiper.scrollbar.onDragEnd, passiveListener);\n } else {\n target.removeEventListener(touchEventsTouch.start, swiper.scrollbar.onDragStart, activeListener);\n target.removeEventListener(touchEventsTouch.move, swiper.scrollbar.onDragMove, activeListener);\n target.removeEventListener(touchEventsTouch.end, swiper.scrollbar.onDragEnd, passiveListener);\n }\n },\n init() {\n const swiper = this;\n if (!swiper.params.scrollbar.el) return;\n const { scrollbar, $el: $swiperEl } = swiper;\n const params = swiper.params.scrollbar;\n\n let $el = $(params.el);\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);\n if ($dragEl.length === 0) {\n $dragEl = $(`
`);\n $el.append($dragEl);\n }\n\n Utils.extend(scrollbar, {\n $el,\n el: $el[0],\n $dragEl,\n dragEl: $dragEl[0],\n });\n\n if (params.draggable) {\n scrollbar.enableDraggable();\n }\n },\n destroy() {\n const swiper = this;\n swiper.scrollbar.disableDraggable();\n },\n};\n\nvar Scrollbar$1 = {\n name: 'scrollbar',\n params: {\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n scrollbar: {\n init: Scrollbar.init.bind(swiper),\n destroy: Scrollbar.destroy.bind(swiper),\n updateSize: Scrollbar.updateSize.bind(swiper),\n setTranslate: Scrollbar.setTranslate.bind(swiper),\n setTransition: Scrollbar.setTransition.bind(swiper),\n enableDraggable: Scrollbar.enableDraggable.bind(swiper),\n disableDraggable: Scrollbar.disableDraggable.bind(swiper),\n setDragPosition: Scrollbar.setDragPosition.bind(swiper),\n getPointerPosition: Scrollbar.getPointerPosition.bind(swiper),\n onDragStart: Scrollbar.onDragStart.bind(swiper),\n onDragMove: Scrollbar.onDragMove.bind(swiper),\n onDragEnd: Scrollbar.onDragEnd.bind(swiper),\n isTouched: false,\n timeout: null,\n dragTimeout: null,\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n swiper.scrollbar.init();\n swiper.scrollbar.updateSize();\n swiper.scrollbar.setTranslate();\n },\n update() {\n const swiper = this;\n swiper.scrollbar.updateSize();\n },\n resize() {\n const swiper = this;\n swiper.scrollbar.updateSize();\n },\n observerUpdate() {\n const swiper = this;\n swiper.scrollbar.updateSize();\n },\n setTranslate() {\n const swiper = this;\n swiper.scrollbar.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n swiper.scrollbar.setTransition(duration);\n },\n destroy() {\n const swiper = this;\n swiper.scrollbar.destroy();\n },\n },\n};\n\nconst Parallax = {\n setTransform(el, progress) {\n const swiper = this;\n const { rtl } = swiper;\n\n const $el = $(el);\n const rtlFactor = rtl ? -1 : 1;\n\n const p = $el.attr('data-swiper-parallax') || '0';\n let x = $el.attr('data-swiper-parallax-x');\n let y = $el.attr('data-swiper-parallax-y');\n const scale = $el.attr('data-swiper-parallax-scale');\n const opacity = $el.attr('data-swiper-parallax-opacity');\n\n if (x || y) {\n x = x || '0';\n y = y || '0';\n } else if (swiper.isHorizontal()) {\n x = p;\n y = '0';\n } else {\n y = p;\n x = '0';\n }\n\n if ((x).indexOf('%') >= 0) {\n x = `${parseInt(x, 10) * progress * rtlFactor}%`;\n } else {\n x = `${x * progress * rtlFactor}px`;\n }\n if ((y).indexOf('%') >= 0) {\n y = `${parseInt(y, 10) * progress}%`;\n } else {\n y = `${y * progress}px`;\n }\n\n if (typeof opacity !== 'undefined' && opacity !== null) {\n const currentOpacity = opacity - ((opacity - 1) * (1 - Math.abs(progress)));\n $el[0].style.opacity = currentOpacity;\n }\n if (typeof scale === 'undefined' || scale === null) {\n $el.transform(`translate3d(${x}, ${y}, 0px)`);\n } else {\n const currentScale = scale - ((scale - 1) * (1 - Math.abs(progress)));\n $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);\n }\n },\n setTranslate() {\n const swiper = this;\n const {\n $el, slides, progress, snapGrid,\n } = swiper;\n $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')\n .each((index, el) => {\n swiper.parallax.setTransform(el, progress);\n });\n slides.each((slideIndex, slideEl) => {\n let slideProgress = slideEl.progress;\n if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {\n slideProgress += Math.ceil(slideIndex / 2) - (progress * (snapGrid.length - 1));\n }\n slideProgress = Math.min(Math.max(slideProgress, -1), 1);\n $(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')\n .each((index, el) => {\n swiper.parallax.setTransform(el, slideProgress);\n });\n });\n },\n setTransition(duration = this.params.speed) {\n const swiper = this;\n const { $el } = swiper;\n $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]')\n .each((index, parallaxEl) => {\n const $parallaxEl = $(parallaxEl);\n let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;\n if (duration === 0) parallaxDuration = 0;\n $parallaxEl.transition(parallaxDuration);\n });\n },\n};\n\nvar Parallax$1 = {\n name: 'parallax',\n params: {\n parallax: {\n enabled: false,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n parallax: {\n setTransform: Parallax.setTransform.bind(swiper),\n setTranslate: Parallax.setTranslate.bind(swiper),\n setTransition: Parallax.setTransition.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n init() {\n const swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTranslate() {\n const swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n if (!swiper.params.parallax.enabled) return;\n swiper.parallax.setTransition(duration);\n },\n },\n};\n\nconst Zoom = {\n // Calc Scale From Multi-touches\n getDistanceBetweenTouches(e) {\n if (e.targetTouches.length < 2) return 1;\n const x1 = e.targetTouches[0].pageX;\n const y1 = e.targetTouches[0].pageY;\n const x2 = e.targetTouches[1].pageX;\n const y2 = e.targetTouches[1].pageY;\n const distance = Math.sqrt(((x2 - x1) ** 2) + ((y2 - y1) ** 2));\n return distance;\n },\n // Events\n onGestureStart(e) {\n const swiper = this;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const { gesture } = zoom;\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n if (!Support.gestures) {\n if (e.type !== 'touchstart' || (e.type === 'touchstart' && e.targetTouches.length < 2)) {\n return;\n }\n zoom.fakeGestureTouched = true;\n gesture.scaleStart = Zoom.getDistanceBetweenTouches(e);\n }\n if (!gesture.$slideEl || !gesture.$slideEl.length) {\n gesture.$slideEl = $(e.target).closest('.swiper-slide');\n if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (gesture.$imageWrapEl.length === 0) {\n gesture.$imageEl = undefined;\n return;\n }\n }\n gesture.$imageEl.transition(0);\n swiper.zoom.isScaling = true;\n },\n onGestureChange(e) {\n const swiper = this;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const { gesture } = zoom;\n if (!Support.gestures) {\n if (e.type !== 'touchmove' || (e.type === 'touchmove' && e.targetTouches.length < 2)) {\n return;\n }\n zoom.fakeGestureMoved = true;\n gesture.scaleMove = Zoom.getDistanceBetweenTouches(e);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (Support.gestures) {\n zoom.scale = e.scale * zoom.currentScale;\n } else {\n zoom.scale = (gesture.scaleMove / gesture.scaleStart) * zoom.currentScale;\n }\n if (zoom.scale > gesture.maxRatio) {\n zoom.scale = (gesture.maxRatio - 1) + (((zoom.scale - gesture.maxRatio) + 1) ** 0.5);\n }\n if (zoom.scale < params.minRatio) {\n zoom.scale = (params.minRatio + 1) - (((params.minRatio - zoom.scale) + 1) ** 0.5);\n }\n gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n },\n onGestureEnd(e) {\n const swiper = this;\n const params = swiper.params.zoom;\n const zoom = swiper.zoom;\n const { gesture } = zoom;\n if (!Support.gestures) {\n if (!zoom.fakeGestureTouched || !zoom.fakeGestureMoved) {\n return;\n }\n if (e.type !== 'touchend' || (e.type === 'touchend' && e.changedTouches.length < 2 && !Device.android)) {\n return;\n }\n zoom.fakeGestureTouched = false;\n zoom.fakeGestureMoved = false;\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);\n gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n zoom.currentScale = zoom.scale;\n zoom.isScaling = false;\n if (zoom.scale === 1) gesture.$slideEl = undefined;\n },\n onTouchStart(e) {\n const swiper = this;\n const zoom = swiper.zoom;\n const { gesture, image } = zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (image.isTouched) return;\n if (Device.android) e.preventDefault();\n image.isTouched = true;\n image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n },\n onTouchMove(e) {\n const swiper = this;\n const zoom = swiper.zoom;\n const { gesture, image, velocity } = zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n swiper.allowClick = false;\n if (!image.isTouched || !gesture.$slideEl) return;\n\n if (!image.isMoved) {\n image.width = gesture.$imageEl[0].offsetWidth;\n image.height = gesture.$imageEl[0].offsetHeight;\n image.startX = Utils.getTranslate(gesture.$imageWrapEl[0], 'x') || 0;\n image.startY = Utils.getTranslate(gesture.$imageWrapEl[0], 'y') || 0;\n gesture.slideWidth = gesture.$slideEl[0].offsetWidth;\n gesture.slideHeight = gesture.$slideEl[0].offsetHeight;\n gesture.$imageWrapEl.transition(0);\n if (swiper.rtl) {\n image.startX = -image.startX;\n image.startY = -image.startY;\n }\n }\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n\n if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;\n\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\n image.maxX = -image.minX;\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\n image.maxY = -image.minY;\n\n image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;\n image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;\n\n if (!image.isMoved && !zoom.isScaling) {\n if (\n swiper.isHorizontal()\n && (\n (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x)\n || (Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)\n )\n ) {\n image.isTouched = false;\n return;\n } if (\n !swiper.isHorizontal()\n && (\n (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y)\n || (Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)\n )\n ) {\n image.isTouched = false;\n return;\n }\n }\n e.preventDefault();\n e.stopPropagation();\n\n image.isMoved = true;\n image.currentX = (image.touchesCurrent.x - image.touchesStart.x) + image.startX;\n image.currentY = (image.touchesCurrent.y - image.touchesStart.y) + image.startY;\n\n if (image.currentX < image.minX) {\n image.currentX = (image.minX + 1) - (((image.minX - image.currentX) + 1) ** 0.8);\n }\n if (image.currentX > image.maxX) {\n image.currentX = (image.maxX - 1) + (((image.currentX - image.maxX) + 1) ** 0.8);\n }\n\n if (image.currentY < image.minY) {\n image.currentY = (image.minY + 1) - (((image.minY - image.currentY) + 1) ** 0.8);\n }\n if (image.currentY > image.maxY) {\n image.currentY = (image.maxY - 1) + (((image.currentY - image.maxY) + 1) ** 0.8);\n }\n\n // Velocity\n if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;\n if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;\n if (!velocity.prevTime) velocity.prevTime = Date.now();\n velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;\n velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;\n if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;\n if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;\n velocity.prevPositionX = image.touchesCurrent.x;\n velocity.prevPositionY = image.touchesCurrent.y;\n velocity.prevTime = Date.now();\n\n gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n },\n onTouchEnd() {\n const swiper = this;\n const zoom = swiper.zoom;\n const { gesture, image, velocity } = zoom;\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n if (!image.isTouched || !image.isMoved) {\n image.isTouched = false;\n image.isMoved = false;\n return;\n }\n image.isTouched = false;\n image.isMoved = false;\n let momentumDurationX = 300;\n let momentumDurationY = 300;\n const momentumDistanceX = velocity.x * momentumDurationX;\n const newPositionX = image.currentX + momentumDistanceX;\n const momentumDistanceY = velocity.y * momentumDurationY;\n const newPositionY = image.currentY + momentumDistanceY;\n\n // Fix duration\n if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);\n if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);\n const momentumDuration = Math.max(momentumDurationX, momentumDurationY);\n\n image.currentX = newPositionX;\n image.currentY = newPositionY;\n\n // Define if we need image drag\n const scaledWidth = image.width * zoom.scale;\n const scaledHeight = image.height * zoom.scale;\n image.minX = Math.min(((gesture.slideWidth / 2) - (scaledWidth / 2)), 0);\n image.maxX = -image.minX;\n image.minY = Math.min(((gesture.slideHeight / 2) - (scaledHeight / 2)), 0);\n image.maxY = -image.minY;\n image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);\n image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);\n\n gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);\n },\n onTransitionEnd() {\n const swiper = this;\n const zoom = swiper.zoom;\n const { gesture } = zoom;\n if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {\n gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');\n gesture.$imageWrapEl.transform('translate3d(0,0,0)');\n\n zoom.scale = 1;\n zoom.currentScale = 1;\n\n gesture.$slideEl = undefined;\n gesture.$imageEl = undefined;\n gesture.$imageWrapEl = undefined;\n }\n },\n // Toggle Zoom\n toggle(e) {\n const swiper = this;\n const zoom = swiper.zoom;\n\n if (zoom.scale && zoom.scale !== 1) {\n // Zoom Out\n zoom.out();\n } else {\n // Zoom In\n zoom.in(e);\n }\n },\n in(e) {\n const swiper = this;\n\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n const { gesture, image } = zoom;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);\n\n let touchX;\n let touchY;\n let offsetX;\n let offsetY;\n let diffX;\n let diffY;\n let translateX;\n let translateY;\n let imageWidth;\n let imageHeight;\n let scaledWidth;\n let scaledHeight;\n let translateMinX;\n let translateMinY;\n let translateMaxX;\n let translateMaxY;\n let slideWidth;\n let slideHeight;\n\n if (typeof image.touchesStart.x === 'undefined' && e) {\n touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;\n touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;\n } else {\n touchX = image.touchesStart.x;\n touchY = image.touchesStart.y;\n }\n\n zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n zoom.currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;\n if (e) {\n slideWidth = gesture.$slideEl[0].offsetWidth;\n slideHeight = gesture.$slideEl[0].offsetHeight;\n offsetX = gesture.$slideEl.offset().left;\n offsetY = gesture.$slideEl.offset().top;\n diffX = (offsetX + (slideWidth / 2)) - touchX;\n diffY = (offsetY + (slideHeight / 2)) - touchY;\n\n imageWidth = gesture.$imageEl[0].offsetWidth;\n imageHeight = gesture.$imageEl[0].offsetHeight;\n scaledWidth = imageWidth * zoom.scale;\n scaledHeight = imageHeight * zoom.scale;\n\n translateMinX = Math.min(((slideWidth / 2) - (scaledWidth / 2)), 0);\n translateMinY = Math.min(((slideHeight / 2) - (scaledHeight / 2)), 0);\n translateMaxX = -translateMinX;\n translateMaxY = -translateMinY;\n\n translateX = diffX * zoom.scale;\n translateY = diffY * zoom.scale;\n\n if (translateX < translateMinX) {\n translateX = translateMinX;\n }\n if (translateX > translateMaxX) {\n translateX = translateMaxX;\n }\n\n if (translateY < translateMinY) {\n translateY = translateMinY;\n }\n if (translateY > translateMaxY) {\n translateY = translateMaxY;\n }\n } else {\n translateX = 0;\n translateY = 0;\n }\n gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`);\n gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);\n },\n out() {\n const swiper = this;\n\n const zoom = swiper.zoom;\n const params = swiper.params.zoom;\n const { gesture } = zoom;\n\n if (!gesture.$slideEl) {\n gesture.$slideEl = swiper.clickedSlide ? $(swiper.clickedSlide) : swiper.slides.eq(swiper.activeIndex);\n gesture.$imageEl = gesture.$slideEl.find('img, svg, canvas');\n gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);\n }\n if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;\n\n zoom.scale = 1;\n zoom.currentScale = 1;\n gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');\n gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');\n gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);\n gesture.$slideEl = undefined;\n },\n // Attach/Detach Events\n enable() {\n const swiper = this;\n const zoom = swiper.zoom;\n if (zoom.enabled) return;\n zoom.enabled = true;\n\n const passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false;\n\n // Scale image\n if (Support.gestures) {\n swiper.$wrapperEl.on('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.on(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.on(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n }\n\n // Move image\n swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, zoom.onTouchMove);\n },\n disable() {\n const swiper = this;\n const zoom = swiper.zoom;\n if (!zoom.enabled) return;\n\n swiper.zoom.enabled = false;\n\n const passiveListener = swiper.touchEvents.start === 'touchstart' && Support.passiveListener && swiper.params.passiveListeners ? { passive: true, capture: false } : false;\n\n // Scale image\n if (Support.gestures) {\n swiper.$wrapperEl.off('gesturestart', '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off('gesturechange', '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off('gestureend', '.swiper-slide', zoom.onGestureEnd, passiveListener);\n } else if (swiper.touchEvents.start === 'touchstart') {\n swiper.$wrapperEl.off(swiper.touchEvents.start, '.swiper-slide', zoom.onGestureStart, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.move, '.swiper-slide', zoom.onGestureChange, passiveListener);\n swiper.$wrapperEl.off(swiper.touchEvents.end, '.swiper-slide', zoom.onGestureEnd, passiveListener);\n }\n\n // Move image\n swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, zoom.onTouchMove);\n },\n};\n\nvar Zoom$1 = {\n name: 'zoom',\n params: {\n zoom: {\n enabled: false,\n maxRatio: 3,\n minRatio: 1,\n toggle: true,\n containerClass: 'swiper-zoom-container',\n zoomedSlideClass: 'swiper-slide-zoomed',\n },\n },\n create() {\n const swiper = this;\n const zoom = {\n enabled: false,\n scale: 1,\n currentScale: 1,\n isScaling: false,\n gesture: {\n $slideEl: undefined,\n slideWidth: undefined,\n slideHeight: undefined,\n $imageEl: undefined,\n $imageWrapEl: undefined,\n maxRatio: 3,\n },\n image: {\n isTouched: undefined,\n isMoved: undefined,\n currentX: undefined,\n currentY: undefined,\n minX: undefined,\n minY: undefined,\n maxX: undefined,\n maxY: undefined,\n width: undefined,\n height: undefined,\n startX: undefined,\n startY: undefined,\n touchesStart: {},\n touchesCurrent: {},\n },\n velocity: {\n x: undefined,\n y: undefined,\n prevPositionX: undefined,\n prevPositionY: undefined,\n prevTime: undefined,\n },\n };\n\n ('onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out').split(' ').forEach((methodName) => {\n zoom[methodName] = Zoom[methodName].bind(swiper);\n });\n Utils.extend(swiper, {\n zoom,\n });\n\n let scale = 1;\n Object.defineProperty(swiper.zoom, 'scale', {\n get() {\n return scale;\n },\n set(value) {\n if (scale !== value) {\n const imageEl = swiper.zoom.gesture.$imageEl ? swiper.zoom.gesture.$imageEl[0] : undefined;\n const slideEl = swiper.zoom.gesture.$slideEl ? swiper.zoom.gesture.$slideEl[0] : undefined;\n swiper.emit('zoomChange', value, imageEl, slideEl);\n }\n scale = value;\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.zoom.enabled) {\n swiper.zoom.enable();\n }\n },\n destroy() {\n const swiper = this;\n swiper.zoom.disable();\n },\n touchStart(e) {\n const swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchStart(e);\n },\n touchEnd(e) {\n const swiper = this;\n if (!swiper.zoom.enabled) return;\n swiper.zoom.onTouchEnd(e);\n },\n doubleTap(e) {\n const swiper = this;\n if (swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {\n swiper.zoom.toggle(e);\n }\n },\n transitionEnd() {\n const swiper = this;\n if (swiper.zoom.enabled && swiper.params.zoom.enabled) {\n swiper.zoom.onTransitionEnd();\n }\n },\n },\n};\n\nconst Lazy = {\n loadInSlide(index, loadInDuplicate = true) {\n const swiper = this;\n const params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n const $slideEl = isVirtual\n ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${index}\"]`)\n : swiper.slides.eq(index);\n\n let $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images = $images.add($slideEl[0]);\n }\n if ($images.length === 0) return;\n\n $images.each((imageIndex, imageEl) => {\n const $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n\n const background = $imageEl.attr('data-background');\n const src = $imageEl.attr('data-src');\n const srcset = $imageEl.attr('data-srcset');\n const sizes = $imageEl.attr('data-sizes');\n\n swiper.loadImage($imageEl[0], (src || background), srcset, sizes, false, () => {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || (swiper && !swiper.params) || swiper.destroyed) return;\n if (background) {\n $imageEl.css('background-image', `url(\"${background}\")`);\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(`.${params.preloaderClass}`).remove();\n if (swiper.params.loop && loadInDuplicate) {\n const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index=\"${slideOriginalIndex}\"]:not(.${swiper.params.slideDuplicateClass})`);\n swiper.lazy.loadInSlide(originalSlide.index(), false);\n } else {\n const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index=\"${slideOriginalIndex}\"]`);\n swiper.lazy.loadInSlide(duplicatedSlide.index(), false);\n }\n }\n swiper.emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n });\n\n swiper.emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n },\n load() {\n const swiper = this;\n const {\n $wrapperEl, params: swiperParams, slides, activeIndex,\n } = swiper;\n const isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n const params = swiperParams.lazy;\n\n let slidesPerView = swiperParams.slidesPerView;\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index=\"${index}\"]`).length) {\n return true;\n }\n } else if (slides[index]) return true;\n return false;\n }\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n return $(slideEl).index();\n }\n\n if (!swiper.lazy.initialImageLoaded) swiper.lazy.initialImageLoaded = true;\n if (swiper.params.watchSlidesVisibility) {\n $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each((elIndex, slideEl) => {\n const index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n swiper.lazy.loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n swiper.lazy.loadInSlide(activeIndex);\n }\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)) {\n const amount = params.loadPrevNextAmount;\n const spv = slidesPerView;\n const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0);\n // Next Slides\n for (let i = activeIndex + slidesPerView; i < maxIndex; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n // Prev Slides\n for (let i = minIndex; i < activeIndex; i += 1) {\n if (slideExist(i)) swiper.lazy.loadInSlide(i);\n }\n } else {\n const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);\n if (nextSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(nextSlide));\n\n const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);\n if (prevSlide.length > 0) swiper.lazy.loadInSlide(slideIndex(prevSlide));\n }\n }\n },\n};\n\nvar Lazy$1 = {\n name: 'lazy',\n params: {\n lazy: {\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n lazy: {\n initialImageLoaded: false,\n load: Lazy.load.bind(swiper),\n loadInSlide: Lazy.loadInSlide.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n },\n init() {\n const swiper = this;\n if (swiper.params.lazy.enabled && !swiper.params.loop && swiper.params.initialSlide === 0) {\n swiper.lazy.load();\n }\n },\n scroll() {\n const swiper = this;\n if (swiper.params.freeMode && !swiper.params.freeModeSticky) {\n swiper.lazy.load();\n }\n },\n resize() {\n const swiper = this;\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n scrollbarDragMove() {\n const swiper = this;\n if (swiper.params.lazy.enabled) {\n swiper.lazy.load();\n }\n },\n transitionStart() {\n const swiper = this;\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || (!swiper.params.lazy.loadOnTransitionStart && !swiper.lazy.initialImageLoaded)) {\n swiper.lazy.load();\n }\n }\n },\n transitionEnd() {\n const swiper = this;\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n swiper.lazy.load();\n }\n },\n },\n};\n\n/* eslint no-bitwise: [\"error\", { \"allow\": [\">>\"] }] */\n\nconst Controller = {\n LinearSpline: function LinearSpline(x, y) {\n const binarySearch = (function search() {\n let maxIndex;\n let minIndex;\n let guess;\n return (array, val) => {\n minIndex = -1;\n maxIndex = array.length;\n while (maxIndex - minIndex > 1) {\n guess = maxIndex + minIndex >> 1;\n if (array[guess] <= val) {\n minIndex = guess;\n } else {\n maxIndex = guess;\n }\n }\n return maxIndex;\n };\n }());\n this.x = x;\n this.y = y;\n this.lastIndex = x.length - 1;\n // Given an x value (x2), return the expected y2 value:\n // (x1,y1) is the known point before given value,\n // (x3,y3) is the known point after given value.\n let i1;\n let i3;\n\n this.interpolate = function interpolate(x2) {\n if (!x2) return 0;\n\n // Get the indexes of x1 and x3 (the array indexes before and after given x2):\n i3 = binarySearch(this.x, x2);\n i1 = i3 - 1;\n\n // We have our indexes i1 & i3, so we can calculate already:\n // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1\n return (((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) / (this.x[i3] - this.x[i1])) + this.y[i1];\n };\n return this;\n },\n // xxx: for now i will just save one spline function to to\n getInterpolateFunction(c) {\n const swiper = this;\n if (!swiper.controller.spline) {\n swiper.controller.spline = swiper.params.loop\n ? new Controller.LinearSpline(swiper.slidesGrid, c.slidesGrid)\n : new Controller.LinearSpline(swiper.snapGrid, c.snapGrid);\n }\n },\n setTranslate(setTranslate, byController) {\n const swiper = this;\n const controlled = swiper.controller.control;\n let multiplier;\n let controlledTranslate;\n function setControlledTranslate(c) {\n // this will create an Interpolate function based on the snapGrids\n // x is the Grid of the scrolled scroller and y will be the controlled scroller\n // it makes sense to create this only once and recall it for the interpolation\n // the function does a lot of value caching for performance\n const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;\n if (swiper.params.controller.by === 'slide') {\n swiper.controller.getInterpolateFunction(c);\n // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid\n // but it did not work out\n controlledTranslate = -swiper.controller.spline.interpolate(-translate);\n }\n\n if (!controlledTranslate || swiper.params.controller.by === 'container') {\n multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());\n controlledTranslate = ((translate - swiper.minTranslate()) * multiplier) + c.minTranslate();\n }\n\n if (swiper.params.controller.inverse) {\n controlledTranslate = c.maxTranslate() - controlledTranslate;\n }\n c.updateProgress(controlledTranslate);\n c.setTranslate(controlledTranslate, swiper);\n c.updateActiveIndex();\n c.updateSlidesClasses();\n }\n if (Array.isArray(controlled)) {\n for (let i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTranslate(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTranslate(controlled);\n }\n },\n setTransition(duration, byController) {\n const swiper = this;\n const controlled = swiper.controller.control;\n let i;\n function setControlledTransition(c) {\n c.setTransition(duration, swiper);\n if (duration !== 0) {\n c.transitionStart();\n if (c.params.autoHeight) {\n Utils.nextTick(() => {\n c.updateAutoHeight();\n });\n }\n c.$wrapperEl.transitionEnd(() => {\n if (!controlled) return;\n if (c.params.loop && swiper.params.controller.by === 'slide') {\n c.loopFix();\n }\n c.transitionEnd();\n });\n }\n }\n if (Array.isArray(controlled)) {\n for (i = 0; i < controlled.length; i += 1) {\n if (controlled[i] !== byController && controlled[i] instanceof Swiper) {\n setControlledTransition(controlled[i]);\n }\n }\n } else if (controlled instanceof Swiper && byController !== controlled) {\n setControlledTransition(controlled);\n }\n },\n};\nvar Controller$1 = {\n name: 'controller',\n params: {\n controller: {\n control: undefined,\n inverse: false,\n by: 'slide', // or 'container'\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n controller: {\n control: swiper.params.controller.control,\n getInterpolateFunction: Controller.getInterpolateFunction.bind(swiper),\n setTranslate: Controller.setTranslate.bind(swiper),\n setTransition: Controller.setTransition.bind(swiper),\n },\n });\n },\n on: {\n update() {\n const swiper = this;\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n resize() {\n const swiper = this;\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n observerUpdate() {\n const swiper = this;\n if (!swiper.controller.control) return;\n if (swiper.controller.spline) {\n swiper.controller.spline = undefined;\n delete swiper.controller.spline;\n }\n },\n setTranslate(translate, byController) {\n const swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTranslate(translate, byController);\n },\n setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.controller.control) return;\n swiper.controller.setTransition(duration, byController);\n },\n },\n};\n\nconst a11y = {\n makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n return $el;\n },\n addElRole($el, role) {\n $el.attr('role', role);\n return $el;\n },\n addElLabel($el, label) {\n $el.attr('aria-label', label);\n return $el;\n },\n disableEl($el) {\n $el.attr('aria-disabled', true);\n return $el;\n },\n enableEl($el) {\n $el.attr('aria-disabled', false);\n return $el;\n },\n onEnterKey(e) {\n const swiper = this;\n const params = swiper.params.a11y;\n if (e.keyCode !== 13) return;\n const $targetEl = $(e.target);\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n if (swiper.isEnd) {\n swiper.a11y.notify(params.lastSlideMessage);\n } else {\n swiper.a11y.notify(params.nextSlideMessage);\n }\n }\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n if (swiper.isBeginning) {\n swiper.a11y.notify(params.firstSlideMessage);\n } else {\n swiper.a11y.notify(params.prevSlideMessage);\n }\n }\n if (swiper.pagination && $targetEl.is(`.${swiper.params.pagination.bulletClass}`)) {\n $targetEl[0].click();\n }\n },\n notify(message) {\n const swiper = this;\n const notification = swiper.a11y.liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n },\n updateNavigation() {\n const swiper = this;\n\n if (swiper.params.loop) return;\n const { $nextEl, $prevEl } = swiper.navigation;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n swiper.a11y.disableEl($prevEl);\n } else {\n swiper.a11y.enableEl($prevEl);\n }\n }\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n swiper.a11y.disableEl($nextEl);\n } else {\n swiper.a11y.enableEl($nextEl);\n }\n }\n },\n updatePagination() {\n const swiper = this;\n const params = swiper.params.a11y;\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.bullets.each((bulletIndex, bulletEl) => {\n const $bulletEl = $(bulletEl);\n swiper.a11y.makeElFocusable($bulletEl);\n swiper.a11y.addElRole($bulletEl, 'button');\n swiper.a11y.addElLabel($bulletEl, params.paginationBulletMessage.replace(/{{index}}/, $bulletEl.index() + 1));\n });\n }\n },\n init() {\n const swiper = this;\n\n swiper.$el.append(swiper.a11y.liveRegion);\n\n // Navigation\n const params = swiper.params.a11y;\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl) {\n swiper.a11y.makeElFocusable($nextEl);\n swiper.a11y.addElRole($nextEl, 'button');\n swiper.a11y.addElLabel($nextEl, params.nextSlideMessage);\n $nextEl.on('keydown', swiper.a11y.onEnterKey);\n }\n if ($prevEl) {\n swiper.a11y.makeElFocusable($prevEl);\n swiper.a11y.addElRole($prevEl, 'button');\n swiper.a11y.addElLabel($prevEl, params.prevSlideMessage);\n $prevEl.on('keydown', swiper.a11y.onEnterKey);\n }\n\n // Pagination\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.on('keydown', `.${swiper.params.pagination.bulletClass}`, swiper.a11y.onEnterKey);\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.a11y.liveRegion && swiper.a11y.liveRegion.length > 0) swiper.a11y.liveRegion.remove();\n\n let $nextEl;\n let $prevEl;\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n if ($nextEl) {\n $nextEl.off('keydown', swiper.a11y.onEnterKey);\n }\n if ($prevEl) {\n $prevEl.off('keydown', swiper.a11y.onEnterKey);\n }\n\n // Pagination\n if (swiper.pagination && swiper.params.pagination.clickable && swiper.pagination.bullets && swiper.pagination.bullets.length) {\n swiper.pagination.$el.off('keydown', `.${swiper.params.pagination.bulletClass}`, swiper.a11y.onEnterKey);\n }\n },\n};\nvar A11y = {\n name: 'a11y',\n params: {\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n a11y: {\n liveRegion: $(``),\n },\n });\n Object.keys(a11y).forEach((methodName) => {\n swiper.a11y[methodName] = a11y[methodName].bind(swiper);\n });\n },\n on: {\n init() {\n const swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.init();\n swiper.a11y.updateNavigation();\n },\n toEdge() {\n const swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n fromEdge() {\n const swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updateNavigation();\n },\n paginationUpdate() {\n const swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.updatePagination();\n },\n destroy() {\n const swiper = this;\n if (!swiper.params.a11y.enabled) return;\n swiper.a11y.destroy();\n },\n },\n};\n\nconst History = {\n init() {\n const swiper = this;\n if (!swiper.params.history) return;\n if (!window.history || !window.history.pushState) {\n swiper.params.history.enabled = false;\n swiper.params.hashNavigation.enabled = true;\n return;\n }\n const history = swiper.history;\n history.initialized = true;\n history.paths = History.getPathValues();\n if (!history.paths.key && !history.paths.value) return;\n history.scrollToSlide(0, history.paths.value, swiper.params.runCallbacksOnInit);\n if (!swiper.params.history.replaceState) {\n window.addEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n destroy() {\n const swiper = this;\n if (!swiper.params.history.replaceState) {\n window.removeEventListener('popstate', swiper.history.setHistoryPopState);\n }\n },\n setHistoryPopState() {\n const swiper = this;\n swiper.history.paths = History.getPathValues();\n swiper.history.scrollToSlide(swiper.params.speed, swiper.history.paths.value, false);\n },\n getPathValues() {\n const pathArray = window.location.pathname.slice(1).split('/').filter((part) => part !== '');\n const total = pathArray.length;\n const key = pathArray[total - 2];\n const value = pathArray[total - 1];\n return { key, value };\n },\n setHistory(key, index) {\n const swiper = this;\n if (!swiper.history.initialized || !swiper.params.history.enabled) return;\n const slide = swiper.slides.eq(index);\n let value = History.slugify(slide.attr('data-history'));\n if (!window.location.pathname.includes(key)) {\n value = `${key}/${value}`;\n }\n const currentState = window.history.state;\n if (currentState && currentState.value === value) {\n return;\n }\n if (swiper.params.history.replaceState) {\n window.history.replaceState({ value }, null, value);\n } else {\n window.history.pushState({ value }, null, value);\n }\n },\n slugify(text) {\n return text.toString()\n .replace(/\\s+/g, '-')\n .replace(/[^\\w-]+/g, '')\n .replace(/--+/g, '-')\n .replace(/^-+/, '')\n .replace(/-+$/, '');\n },\n scrollToSlide(speed, value, runCallbacks) {\n const swiper = this;\n if (value) {\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHistory = History.slugify(slide.attr('data-history'));\n if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, runCallbacks);\n }\n }\n } else {\n swiper.slideTo(0, speed, runCallbacks);\n }\n },\n};\n\nvar History$1 = {\n name: 'history',\n params: {\n history: {\n enabled: false,\n replaceState: false,\n key: 'slides',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n history: {\n init: History.init.bind(swiper),\n setHistory: History.setHistory.bind(swiper),\n setHistoryPopState: History.setHistoryPopState.bind(swiper),\n scrollToSlide: History.scrollToSlide.bind(swiper),\n destroy: History.destroy.bind(swiper),\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.history.enabled) {\n swiper.history.init();\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.params.history.enabled) {\n swiper.history.destroy();\n }\n },\n transitionEnd() {\n const swiper = this;\n if (swiper.history.initialized) {\n swiper.history.setHistory(swiper.params.history.key, swiper.activeIndex);\n }\n },\n },\n};\n\nconst HashNavigation = {\n onHashCange() {\n const swiper = this;\n const newHash = document.location.hash.replace('#', '');\n const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');\n if (newHash !== activeSlideHash) {\n const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash=\"${newHash}\"]`).index();\n if (typeof newIndex === 'undefined') return;\n swiper.slideTo(newIndex);\n }\n },\n setHash() {\n const swiper = this;\n if (!swiper.hashNavigation.initialized || !swiper.params.hashNavigation.enabled) return;\n if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {\n window.history.replaceState(null, null, (`#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || ''));\n } else {\n const slide = swiper.slides.eq(swiper.activeIndex);\n const hash = slide.attr('data-hash') || slide.attr('data-history');\n document.location.hash = hash || '';\n }\n },\n init() {\n const swiper = this;\n if (!swiper.params.hashNavigation.enabled || (swiper.params.history && swiper.params.history.enabled)) return;\n swiper.hashNavigation.initialized = true;\n const hash = document.location.hash.replace('#', '');\n if (hash) {\n const speed = 0;\n for (let i = 0, length = swiper.slides.length; i < length; i += 1) {\n const slide = swiper.slides.eq(i);\n const slideHash = slide.attr('data-hash') || slide.attr('data-history');\n if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {\n const index = slide.index();\n swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);\n }\n }\n }\n if (swiper.params.hashNavigation.watchState) {\n $(window).on('hashchange', swiper.hashNavigation.onHashCange);\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.params.hashNavigation.watchState) {\n $(window).off('hashchange', swiper.hashNavigation.onHashCange);\n }\n },\n};\nvar HashNavigation$1 = {\n name: 'hash-navigation',\n params: {\n hashNavigation: {\n enabled: false,\n replaceState: false,\n watchState: false,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n hashNavigation: {\n initialized: false,\n init: HashNavigation.init.bind(swiper),\n destroy: HashNavigation.destroy.bind(swiper),\n setHash: HashNavigation.setHash.bind(swiper),\n onHashCange: HashNavigation.onHashCange.bind(swiper),\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.init();\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.params.hashNavigation.enabled) {\n swiper.hashNavigation.destroy();\n }\n },\n transitionEnd() {\n const swiper = this;\n if (swiper.hashNavigation.initialized) {\n swiper.hashNavigation.setHash();\n }\n },\n },\n};\n\n/* eslint no-underscore-dangle: \"off\" */\n\nconst Autoplay = {\n run() {\n const swiper = this;\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = Utils.nextTick(() => {\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isBeginning) {\n swiper.slidePrev(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.isEnd) {\n swiper.slideNext(swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, swiper.params.speed, true, true);\n swiper.emit('autoplay');\n } else {\n swiper.autoplay.stop();\n }\n }, delay);\n },\n start() {\n const swiper = this;\n if (typeof swiper.autoplay.timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n swiper.emit('autoplayStart');\n swiper.autoplay.run();\n return true;\n },\n stop() {\n const swiper = this;\n if (!swiper.autoplay.running) return false;\n if (typeof swiper.autoplay.timeout === 'undefined') return false;\n\n if (swiper.autoplay.timeout) {\n clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.timeout = undefined;\n }\n swiper.autoplay.running = false;\n swiper.emit('autoplayStop');\n return true;\n },\n pause(speed) {\n const swiper = this;\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (swiper.autoplay.timeout) clearTimeout(swiper.autoplay.timeout);\n swiper.autoplay.paused = true;\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n swiper.autoplay.run();\n } else {\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n }\n },\n};\n\nvar Autoplay$1 = {\n name: 'autoplay',\n params: {\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n autoplay: {\n running: false,\n paused: false,\n run: Autoplay.run.bind(swiper),\n start: Autoplay.start.bind(swiper),\n stop: Autoplay.stop.bind(swiper),\n pause: Autoplay.pause.bind(swiper),\n onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.autoplay.onTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.autoplay.onTransitionEnd);\n swiper.autoplay.paused = false;\n if (!swiper.autoplay.running) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.run();\n }\n },\n },\n });\n },\n on: {\n init() {\n const swiper = this;\n if (swiper.params.autoplay.enabled) {\n swiper.autoplay.start();\n }\n },\n beforeTransitionStart(speed, internal) {\n const swiper = this;\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n swiper.autoplay.stop();\n }\n }\n },\n sliderFirstMove() {\n const swiper = this;\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.stop();\n } else {\n swiper.autoplay.pause();\n }\n }\n },\n destroy() {\n const swiper = this;\n if (swiper.autoplay.running) {\n swiper.autoplay.stop();\n }\n },\n },\n};\n\nconst Fade = {\n setTranslate() {\n const swiper = this;\n const { slides } = swiper;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = swiper.slides.eq(i);\n const offset = $slideEl[0].swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n const slideOpacity = swiper.params.fadeEffect.crossFade\n ? Math.max(1 - Math.abs($slideEl[0].progress), 0)\n : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n $slideEl\n .css({\n opacity: slideOpacity,\n })\n .transform(`translate3d(${tx}px, ${ty}px, 0px)`);\n }\n },\n setTransition(duration) {\n const swiper = this;\n const { slides, $wrapperEl } = swiper;\n slides.transition(duration);\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n slides.transitionEnd(() => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n },\n};\n\nvar EffectFade = {\n name: 'effect-fade',\n params: {\n fadeEffect: {\n crossFade: false,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n fadeEffect: {\n setTranslate: Fade.setTranslate.bind(swiper),\n setTransition: Fade.setTransition.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}fade`);\n const overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true,\n };\n Utils.extend(swiper.params, overwriteParams);\n Utils.extend(swiper.originalParams, overwriteParams);\n },\n setTranslate() {\n const swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n if (swiper.params.effect !== 'fade') return;\n swiper.fadeEffect.setTransition(duration);\n },\n },\n};\n\nconst Cube = {\n setTranslate() {\n const swiper = this;\n const {\n $el, $wrapperEl, slides, width: swiperWidth, height: swiperHeight, rtlTranslate: rtl, size: swiperSize,\n } = swiper;\n const params = swiper.params.cubeEffect;\n const isHorizontal = swiper.isHorizontal();\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let wrapperRotate = 0;\n let $cubeShadowEl;\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $wrapperEl.append($cubeShadowEl);\n }\n $cubeShadowEl.css({ height: `${swiperWidth}px` });\n } else {\n $cubeShadowEl = $el.find('.swiper-cube-shadow');\n if ($cubeShadowEl.length === 0) {\n $cubeShadowEl = $('
');\n $el.append($cubeShadowEl);\n }\n }\n }\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let slideIndex = i;\n if (isVirtual) {\n slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);\n }\n let slideAngle = slideIndex * 90;\n let round = Math.floor(slideAngle / 360);\n if (rtl) {\n slideAngle = -slideAngle;\n round = Math.floor(-slideAngle / 360);\n }\n const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n let tx = 0;\n let ty = 0;\n let tz = 0;\n if (slideIndex % 4 === 0) {\n tx = -round * 4 * swiperSize;\n tz = 0;\n } else if ((slideIndex - 1) % 4 === 0) {\n tx = 0;\n tz = -round * 4 * swiperSize;\n } else if ((slideIndex - 2) % 4 === 0) {\n tx = swiperSize + (round * 4 * swiperSize);\n tz = swiperSize;\n } else if ((slideIndex - 3) % 4 === 0) {\n tx = -swiperSize;\n tz = (3 * swiperSize) + (swiperSize * 4 * round);\n }\n if (rtl) {\n tx = -tx;\n }\n\n if (!isHorizontal) {\n ty = tx;\n tx = 0;\n }\n\n const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;\n if (progress <= 1 && progress > -1) {\n wrapperRotate = (slideIndex * 90) + (progress * 90);\n if (rtl) wrapperRotate = (-slideIndex * 90) - (progress * 90);\n }\n $slideEl.transform(transform);\n if (params.slideShadows) {\n // Set shadows\n let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $(`
`);\n $slideEl.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $(`
`);\n $slideEl.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n }\n $wrapperEl.css({\n '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`,\n '-moz-transform-origin': `50% 50% -${swiperSize / 2}px`,\n '-ms-transform-origin': `50% 50% -${swiperSize / 2}px`,\n 'transform-origin': `50% 50% -${swiperSize / 2}px`,\n });\n\n if (params.shadow) {\n if (isHorizontal) {\n $cubeShadowEl.transform(`translate3d(0px, ${(swiperWidth / 2) + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`);\n } else {\n const shadowAngle = Math.abs(wrapperRotate) - (Math.floor(Math.abs(wrapperRotate) / 90) * 90);\n const multiplier = 1.5 - (\n (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2)\n + (Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2)\n );\n const scale1 = params.shadowScale;\n const scale2 = params.shadowScale / multiplier;\n const offset = params.shadowOffset;\n $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${(swiperHeight / 2) + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`);\n }\n }\n const zFactor = (Browser.isSafari || Browser.isUiWebView) ? (-swiperSize / 2) : 0;\n $wrapperEl\n .transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`);\n },\n setTransition(duration) {\n const swiper = this;\n const { $el, slides } = swiper;\n slides\n .transition(duration)\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\n .transition(duration);\n if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {\n $el.find('.swiper-cube-shadow').transition(duration);\n }\n },\n};\n\nvar EffectCube = {\n name: 'effect-cube',\n params: {\n cubeEffect: {\n slideShadows: true,\n shadow: true,\n shadowOffset: 20,\n shadowScale: 0.94,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n cubeEffect: {\n setTranslate: Cube.setTranslate.bind(swiper),\n setTransition: Cube.setTransition.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}cube`);\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n const overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n resistanceRatio: 0,\n spaceBetween: 0,\n centeredSlides: false,\n virtualTranslate: true,\n };\n Utils.extend(swiper.params, overwriteParams);\n Utils.extend(swiper.originalParams, overwriteParams);\n },\n setTranslate() {\n const swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n if (swiper.params.effect !== 'cube') return;\n swiper.cubeEffect.setTransition(duration);\n },\n },\n};\n\nconst Flip = {\n setTranslate() {\n const swiper = this;\n const { slides, rtlTranslate: rtl } = swiper;\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = slides.eq(i);\n let progress = $slideEl[0].progress;\n if (swiper.params.flipEffect.limitRotation) {\n progress = Math.max(Math.min($slideEl[0].progress, 1), -1);\n }\n const offset = $slideEl[0].swiperSlideOffset;\n const rotate = -180 * progress;\n let rotateY = rotate;\n let rotateX = 0;\n let tx = -offset;\n let ty = 0;\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n rotateX = -rotateY;\n rotateY = 0;\n } else if (rtl) {\n rotateY = -rotateY;\n }\n\n $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;\n\n if (swiper.params.flipEffect.slideShadows) {\n // Set shadows\n let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n if (shadowBefore.length === 0) {\n shadowBefore = $(`
`);\n $slideEl.append(shadowBefore);\n }\n if (shadowAfter.length === 0) {\n shadowAfter = $(`
`);\n $slideEl.append(shadowAfter);\n }\n if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);\n if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);\n }\n $slideEl\n .transform(`translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`);\n }\n },\n setTransition(duration) {\n const swiper = this;\n const { slides, activeIndex, $wrapperEl } = swiper;\n slides\n .transition(duration)\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\n .transition(duration);\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n // eslint-disable-next-line\n slides.eq(activeIndex).transitionEnd(function onTransitionEnd() {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n // if (!$(this).hasClass(swiper.params.slideActiveClass)) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n },\n};\n\nvar EffectFlip = {\n name: 'effect-flip',\n params: {\n flipEffect: {\n slideShadows: true,\n limitRotation: true,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n flipEffect: {\n setTranslate: Flip.setTranslate.bind(swiper),\n setTransition: Flip.setTransition.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}flip`);\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n const overwriteParams = {\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: true,\n };\n Utils.extend(swiper.params, overwriteParams);\n Utils.extend(swiper.originalParams, overwriteParams);\n },\n setTranslate() {\n const swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n if (swiper.params.effect !== 'flip') return;\n swiper.flipEffect.setTransition(duration);\n },\n },\n};\n\nconst Coverflow = {\n setTranslate() {\n const swiper = this;\n const {\n width: swiperWidth, height: swiperHeight, slides, $wrapperEl, slidesSizesGrid,\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + (swiperWidth / 2) : -transform + (swiperHeight / 2);\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth;\n // Each slide offset from center\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideSize = slidesSizesGrid[i];\n const slideOffset = $slideEl[0].swiperSlideOffset;\n const offsetMultiplier = ((center - slideOffset - (slideSize / 2)) / slideSize) * params.modifier;\n\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier;\n // var rotateZ = 0\n let translateZ = -translate * Math.abs(offsetMultiplier);\n\n let translateY = isHorizontal ? 0 : params.stretch * (offsetMultiplier);\n let translateX = isHorizontal ? params.stretch * (offsetMultiplier) : 0;\n\n // Fix for ultra small values\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;\n\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n if (params.slideShadows) {\n // Set shadows\n let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = $(`
`);\n $slideEl.append($shadowBeforeEl);\n }\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = $(`
`);\n $slideEl.append($shadowAfterEl);\n }\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = (-offsetMultiplier) > 0 ? -offsetMultiplier : 0;\n }\n }\n\n // Set correct perspective for IE10\n if (Support.pointerEvents || Support.prefixedPointerEvents) {\n const ws = $wrapperEl[0].style;\n ws.perspectiveOrigin = `${center}px 50%`;\n }\n },\n setTransition(duration) {\n const swiper = this;\n swiper.slides\n .transition(duration)\n .find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left')\n .transition(duration);\n },\n};\n\nvar EffectCoverflow = {\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n modifier: 1,\n slideShadows: true,\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n coverflowEffect: {\n setTranslate: Coverflow.setTranslate.bind(swiper),\n setTransition: Coverflow.setTransition.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n\n swiper.classNames.push(`${swiper.params.containerModifierClass}coverflow`);\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate() {\n const swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition(duration) {\n const swiper = this;\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n },\n },\n};\n\nconst Thumbs = {\n init() {\n const swiper = this;\n const { thumbs: thumbsParams } = swiper.params;\n const SwiperClass = swiper.constructor;\n if (thumbsParams.swiper instanceof SwiperClass) {\n swiper.thumbs.swiper = thumbsParams.swiper;\n Utils.extend(swiper.thumbs.swiper.originalParams, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n Utils.extend(swiper.thumbs.swiper.params, {\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n });\n } else if (Utils.isObject(thumbsParams.swiper)) {\n swiper.thumbs.swiper = new SwiperClass(Utils.extend({}, thumbsParams.swiper, {\n watchSlidesVisibility: true,\n watchSlidesProgress: true,\n slideToClickedSlide: false,\n }));\n swiper.thumbs.swiperCreated = true;\n }\n swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);\n swiper.thumbs.swiper.on('tap', swiper.thumbs.onThumbClick);\n },\n onThumbClick() {\n const swiper = this;\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n const clickedIndex = thumbsSwiper.clickedIndex;\n const clickedSlide = thumbsSwiper.clickedSlide;\n if (clickedSlide && $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;\n if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;\n let slideToIndex;\n if (thumbsSwiper.params.loop) {\n slideToIndex = parseInt($(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n } else {\n slideToIndex = clickedIndex;\n }\n if (swiper.params.loop) {\n let currentIndex = swiper.activeIndex;\n if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {\n swiper.loopFix();\n // eslint-disable-next-line\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n currentIndex = swiper.activeIndex;\n }\n const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`).eq(0).index();\n const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index=\"${slideToIndex}\"]`).eq(0).index();\n if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;\n else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;\n else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;\n else slideToIndex = prevIndex;\n }\n swiper.slideTo(slideToIndex);\n },\n update(initial) {\n const swiper = this;\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n\n const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto'\n ? thumbsSwiper.slidesPerViewDynamic()\n : thumbsSwiper.params.slidesPerView;\n\n if (swiper.realIndex !== thumbsSwiper.realIndex) {\n let currentThumbsIndex = thumbsSwiper.activeIndex;\n let newThumbsIndex;\n if (thumbsSwiper.params.loop) {\n if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {\n thumbsSwiper.loopFix();\n // eslint-disable-next-line\n thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;\n currentThumbsIndex = thumbsSwiper.activeIndex;\n }\n // Find actual thumbs index to slide to\n const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`).eq(0).index();\n const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index=\"${swiper.realIndex}\"]`).eq(0).index();\n if (typeof prevThumbsIndex === 'undefined') newThumbsIndex = nextThumbsIndex;\n else if (typeof nextThumbsIndex === 'undefined') newThumbsIndex = prevThumbsIndex;\n else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) newThumbsIndex = currentThumbsIndex;\n else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) newThumbsIndex = nextThumbsIndex;\n else newThumbsIndex = prevThumbsIndex;\n } else {\n newThumbsIndex = swiper.realIndex;\n }\n if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {\n if (thumbsSwiper.params.centeredSlides) {\n if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;\n } else {\n newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;\n }\n } else if (newThumbsIndex > currentThumbsIndex) {\n newThumbsIndex = newThumbsIndex - slidesPerView + 1;\n }\n thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);\n }\n }\n\n // Activate thumbs\n let thumbsToActivate = 1;\n const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;\n\n if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {\n thumbsToActivate = swiper.params.slidesPerView;\n }\n\n thumbsSwiper.slides.removeClass(thumbActiveClass);\n if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual) {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index=\"${swiper.realIndex + i}\"]`).addClass(thumbActiveClass);\n }\n } else {\n for (let i = 0; i < thumbsToActivate; i += 1) {\n thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);\n }\n }\n },\n};\nvar Thumbs$1 = {\n name: 'thumbs',\n params: {\n thumbs: {\n swiper: null,\n slideThumbActiveClass: 'swiper-slide-thumb-active',\n thumbsContainerClass: 'swiper-container-thumbs',\n },\n },\n create() {\n const swiper = this;\n Utils.extend(swiper, {\n thumbs: {\n swiper: null,\n init: Thumbs.init.bind(swiper),\n update: Thumbs.update.bind(swiper),\n onThumbClick: Thumbs.onThumbClick.bind(swiper),\n },\n });\n },\n on: {\n beforeInit() {\n const swiper = this;\n const { thumbs } = swiper.params;\n if (!thumbs || !thumbs.swiper) return;\n swiper.thumbs.init();\n swiper.thumbs.update(true);\n },\n slideChange() {\n const swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n update() {\n const swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n resize() {\n const swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n observerUpdate() {\n const swiper = this;\n if (!swiper.thumbs.swiper) return;\n swiper.thumbs.update();\n },\n setTransition(duration) {\n const swiper = this;\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n thumbsSwiper.setTransition(duration);\n },\n beforeDestroy() {\n const swiper = this;\n const thumbsSwiper = swiper.thumbs.swiper;\n if (!thumbsSwiper) return;\n if (swiper.thumbs.swiperCreated && thumbsSwiper) {\n thumbsSwiper.destroy();\n }\n },\n },\n};\n\n// Swiper Class\n\nconst components = [\n Device$1,\n Support$1,\n Browser$1,\n Resize,\n Observer$1,\n Virtual$1,\n Keyboard$1,\n Mousewheel$1,\n Navigation$1,\n Pagination$1,\n Scrollbar$1,\n Parallax$1,\n Zoom$1,\n Lazy$1,\n Controller$1,\n A11y,\n History$1,\n HashNavigation$1,\n Autoplay$1,\n EffectFade,\n EffectCube,\n EffectFlip,\n EffectCoverflow,\n Thumbs$1\n];\n\nif (typeof Swiper.use === 'undefined') {\n Swiper.use = Swiper.Class.use;\n Swiper.installModule = Swiper.Class.installModule;\n}\n\nSwiper.use(components);\n\nexport default Swiper;\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\n\r\nVue.use(Vuex);\r\n\r\nconst store = new Vuex.Store({\r\n state: {\r\n }\r\n});\r\n\r\nconst storeContext = require.context('@/store/modules', true, /\\.js$/);\r\n\r\nstoreContext.keys().forEach(modules => {\r\n store.registerModule(modules.replace(/(^\\.\\/)|(\\.js$)/g, ''), storeContext(modules).default);\r\n});\r\n\r\nVue.prototype.$store = store;\r\nexport default store;\r\n","/**\n * Vue Router support\n */\nfunction isRedundantNavigation(err) {\n return err.name === 'NavigationDuplicated' || // compatible with vue-router@3.3\n err.message && err.message.indexOf('redundant navigation') !== -1;\n}\n\nexport function route(router, config) {\n var to = config.to,\n url = config.url,\n replace = config.replace;\n\n if (to && router) {\n var promise = router[replace ? 'replace' : 'push'](to);\n /* istanbul ignore else */\n\n if (promise && promise.catch) {\n promise.catch(function (err) {\n if (err && !isRedundantNavigation(err)) {\n throw err;\n }\n });\n }\n } else if (url) {\n replace ? location.replace(url) : location.href = url;\n }\n}\nexport function functionalRoute(context) {\n route(context.parent && context.parent.$router, context.props);\n}\nexport var routeProps = {\n url: String,\n replace: Boolean,\n to: [String, Object]\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('VueAliplayer',{ref:\"video\",staticClass:\"video\",staticStyle:{\"width\":\"100%\"},attrs:{\"preload\":true,\"autoplay\":true,\"playsinline\":false,\"source\":_vm.sourceUrl,\"skinLayout\":_vm.skinLayout,\"height\":_vm.videoHeight,\"video-height\":_vm.videoHeight},on:{\"canplaythrough\":_vm.canplaythroughimp,\"play\":_vm.onStartPlay}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Player.vue?vue&type=template&id=68efb47d&scoped=true&\"\nimport script from \"./Player.vue?vue&type=script&lang=js&\"\nexport * from \"./Player.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Player.vue?vue&type=style&index=0&id=68efb47d&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68efb47d\",\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA4ODJFQzU2QjlERjExRUE4OUUwRUFBRjNGNDAwMDQxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjA4ODJFQzU3QjlERjExRUE4OUUwRUFBRjNGNDAwMDQxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDg4MkVDNTRCOURGMTFFQTg5RTBFQUFGM0Y0MDAwNDEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDg4MkVDNTVCOURGMTFFQTg5RTBFQUFGM0Y0MDAwNDEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7t1aldAAADjUlEQVR42syYW2wMURjHu1vVoNRL4xKX9MFurQe3hkRdWg+k7ioSUQ8SJBIPEnEJDUIQHkTixb1CCIoQJBIeSBGClkj31mq7XaTKAxGqcVv/L/lPcrKZTqedszs9yS8zmev/fPOd8//OeHw+X4abLRqNWp73anpPJtgPPoM2sAN4dDy4jyaBGynKaCK2FZx1+mAdEewHtnK/DKzh/k4dAdAhUAQNAffBDVAJHoJ8sMJtgVlgC/fPKMcvc7vd6TucClwFRoEH4Ipy/ASoBgGwxC2Bcu827l8wOX9TiaIrApcBPyNVaXL+CHgBCsGcdAv0KJG5bnHdbW4r0i2wFEwEz8BRi+tkPgyCmaAolRO1h4NhDBBvXM/jt7q47x+4A8bxk0sq1IMG8M7Wi5O8eDDzysAQ5OOErLbHYIbNDhq5qLYfFGsIjnAf9hz9liwwF5wDCy0+e5wPkoc8Ape6+bXK2SEfOz6ik+v+gqtiABDabnziA2Ax959LL0iD0st2h3PmRWK0HEWsbAu4LaQDNYu/GwKNBJbEf52mSus7qEWUatWDfr9/Fq1ymjqKw9zuBdlu1YYQl6tURSFVoPjpe+ZgFejrgrhBtEuZ1BvBHlWgiJsNPoBFFJmVRnEDKW4uaAIl+PRtZtOMj8Y/nF66HPxJsb4cBqSUA6MY4uKdOUk9I9nKKqSK5Xyq2gBGTsTFGLl4V1YXpciPYClFelMgrj/FzQMtFNdi14sjFNnGMr5K1yJIWSaIuPk0ABEX626xEKbITyytTmsUeAosoB+LuGa7XmzWxOhrOD9KzzscipO57isQv50EcY1Oy62YMi/+0hC938p6JqajHhzL/Kth+eS0iae/5dfI1yEwoFqPphZS0qdXCwzoEGj0MqhRYFBnBI2H1Nm4Ntumh2uLoFjRaKWi7qyN5I+iDo70kyDP4voItwUoFLxOBBbwmhqW4maLrmMUv5ripLhYB96AgxYjucnOSPbaHCBhk3MVFCErvATXKJIO4/kTaSj/PLwCm3qah3YFBpP+ZsmKbh/nSCnPp4CVnN9C9O/p4CmYAA6zjCs3ERhwItBwkHy+9B49uYjRkzKpBLw0ufcJ1xVlzLli/sO5Sx/OS3pHj7x4Kl+UmbT83A3Od8NZJFfXgl1gmHJccnYy/LjOSbEga4TNHNHXwHHw00H1vIFL3C/gEMRVO4lgyltXf/k9iUQioze3/wIMALQh6m5LuwxUAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"img/ic_online_service.569f219e.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentDetail.vue?vue&type=style&index=0&id=091af418&scoped=true&lang=css&\"","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.resp && _vm.resp.detail)?_c('div',[_c('div',{staticClass:\"S12 T1 title\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.detail.title)+\" \")]),_c('div',{staticClass:\"S5 T3 marginL30 my-title\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.detail.subTitle)+\" \")]),_c('div',{staticClass:\"bg sep20\"}),(_vm.resp.detail.authorInfo)?_c('div',{staticClass:\"head\"},[_c('div',{staticClass:\"avatarWrap marginL30\",on:{\"click\":function($event){return _vm.goManager()}}},[_c('img',{staticClass:\"avatar\",attrs:{\"src\":_vm.resp.detail.authorInfo.headPic,\"alt\":\"\"}}),_c('img',{staticClass:\"log\",attrs:{\"src\":require(\"../../static/ic_v_log.png\"),\"alt\":\"\"}})]),_c('div',{staticClass:\"marginL30\",on:{\"click\":function($event){return _vm.goManager()}}},[_c('div',{staticClass:\"S8 T1\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.authorInfo.name)+\" \")]),_c('div',{staticClass:\"S4 T3\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.authorInfo.typeName)+\" \"),(_vm.resp.detail.authorInfo.authorCompany)?[_vm._v(\" | \"+_vm._s(_vm.resp.detail.authorInfo.authorCompany)+\" \")]:_vm._e()],2)]),_c('div',{staticClass:\"follow S5 C5\",class:_vm.resp.detail.authorInfo.isFollowed === 1 ? 'followed' : '',on:{\"click\":function($event){return _vm.follow()}}},[_c('span',[_vm._v(_vm._s(_vm.resp.detail.authorInfo.isFollowed === 1 ? '已关注' : '+关注'))])])]):_vm._e(),(_vm.showDetail)?_c('div',{attrs:{\"id\":\"contentDetail\"}},[(_vm.resp.detail.authorInfo)?_c('div',{staticClass:\"S7 T2 desc\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.authorInfo.remark)+\" \")]):_vm._e(),_c('div',{staticClass:\"marginL30 S8 T1 ckjsTitle\"},[_vm._v(\"课程介绍\")]),_c('div',{staticClass:\"S7 T2 ckjs\"},[_vm._v(\" \"+_vm._s(_vm.resp.detail.detail.description)+\" \")]),_c('div',{staticClass:\"marginL30 S8 T1 ckjsTitle\"},[_vm._v(\"订购须知\")]),_c('div',{staticClass:\"S7 T2 ckjs\",domProps:{\"innerHTML\":_vm._s(_vm.resp.detail.detail.orderRemark)}})]):_vm._e(),_c('div',{staticClass:\"arrow-div\",on:{\"click\":_vm.changeDetail}},[(!_vm.showDetail)?_c('van-icon',{staticClass:\"arrow-icon T3\",attrs:{\"name\":\"arrow-down\"}}):_c('van-icon',{staticClass:\"arrow-icon T3\",attrs:{\"name\":\"arrow-up\"}})],1),_c('div',{staticClass:\"B2 sep20\"}),_c('CourseVideoCatalog',{attrs:{\"contentHeight\":_vm.contentHeight},on:{\"playCourseVideo\":_vm.playCourseVideo,\"updateSwiper\":_vm.updateSwiper}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"video-list-container\"},[_c('div',{staticClass:\"sub-title sepBottom S4 C8\",on:{\"click\":function($event){_vm.showPicker = !_vm.showPicker}}},[_vm._v(\" \"+_vm._s(_vm.selectDate || '全部')+\" \"),_c('van-icon',{staticClass:\"arrow-icon\",attrs:{\"name\":\"arrow-down\"}})],1),(_vm.showPicker)?_c('div',{staticClass:\"select-pannel\",style:({\n top: _vm.contentHeight\n ? ((_vm.getClientHeight(_vm.contentHeight) + 510 / 75) + \"rem\")\n : ((510 / 75) + \"rem\")\n }),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.hiddenPick($event)}}},[_c('ul',{staticClass:\"list-content\"},[_vm._l((_vm.monthList),function(item,index){return _c('li',{key:index,staticClass:\"select-key-tab\",class:{\n 'select-key-tab-active': _vm.activeSelectKey === index\n },on:{\"click\":function($event){return _vm.checkSelectFun(item, index)}}},[_c('span',[_vm._v(_vm._s(item.name))]),(_vm.activeSelectKey === index)?_c('van-icon',{staticClass:\"my-icon\",attrs:{\"name\":\"success\"}}):_vm._e()],1)}),(_vm.videoList.length < 3)?[_c('li',{staticClass:\"select-key-tab nodata\"}),_c('li',{staticClass:\"select-key-tab nodata\"})]:_vm._e()],2)]):_vm._e(),(_vm.videoList.length == 0)?_c('div',{staticClass:\"nodata-container\"},[_c('img',{attrs:{\"src\":require(\"../../static/ic_charge_empty.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"S6 T3\"},[_vm._v(\"暂无课程\")])]):[_c('van-list',{attrs:{\"finished\":_vm.pageEnd,\"finished-text\":\"没有更多了\"},on:{\"load\":_vm.onLoad},model:{value:(_vm.loading),callback:function ($$v) {_vm.loading=$$v},expression:\"loading\"}},_vm._l((_vm.videoList),function(item){return _c('div',{key:item.courseId,on:{\"click\":function($event){return _vm.playCourseVideo(item)}}},[_c('CategoryItem',{attrs:{\"item\":item,\"isShrink\":true,\"hightLight\":item.videoIdentity === _vm.currentVideo}})],1)}),0)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoCatalog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoCatalog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseVideoCatalog.vue?vue&type=template&id=a9884da6&scoped=true&\"\nimport script from \"./CourseVideoCatalog.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseVideoCatalog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseVideoCatalog.vue?vue&type=style&index=0&id=a9884da6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a9884da6\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseVideoDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CourseVideoDetail.vue?vue&type=template&id=1d61622c&scoped=true&\"\nimport script from \"./CourseVideoDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CourseVideoDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CourseVideoDetail.vue?vue&type=style&index=0&id=1d61622c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d61622c\",\n null\n \n)\n\nexport default component.exports","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){\"use strict\";var t=\"millisecond\",e=\"second\",n=\"minute\",r=\"hour\",i=\"day\",s=\"week\",u=\"month\",a=\"quarter\",o=\"year\",f=\"date\",h=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[^0-9]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,c=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},$=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},l={s:$,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+$(r,2,\"0\")+\":\"+$(i,2,\"0\")},m:function t(e,n){if(e.date() 0 ? '10' : '01';\n var el = getScroller(event.target, this.$el);\n var scrollHeight = el.scrollHeight,\n offsetHeight = el.offsetHeight,\n scrollTop = el.scrollTop;\n var status = '11';\n /* istanbul ignore next */\n\n if (scrollTop === 0) {\n status = offsetHeight >= scrollHeight ? '00' : '01';\n } else if (scrollTop + offsetHeight >= scrollHeight) {\n status = '10';\n }\n /* istanbul ignore next */\n\n\n if (status !== '11' && this.direction === 'vertical' && !(parseInt(status, 2) & parseInt(direction, 2))) {\n preventDefault(event, true);\n }\n },\n renderOverlay: function renderOverlay() {\n var _this = this;\n\n if (this.$isServer || !this.value) {\n return;\n }\n\n this.$nextTick(function () {\n _this.updateZIndex(_this.overlay ? 1 : 0);\n\n if (_this.overlay) {\n openOverlay(_this, {\n zIndex: context.zIndex++,\n duration: _this.duration,\n className: _this.overlayClass,\n customStyle: _this.overlayStyle\n });\n } else {\n closeOverlay(_this);\n }\n });\n },\n updateZIndex: function updateZIndex(value) {\n if (value === void 0) {\n value = 0;\n }\n\n this.$el.style.zIndex = ++context.zIndex + value;\n }\n }\n };\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAdZJREFUWIXl1s+LTWEcx/HXvXO5Q3MLVzR+N6UmiVJkIfJjihI7C2Vr66+4f4giNsqCshNS2NgoQkixkNkIw5iZY3GOeu7pHJ0z5547i/tZPd/v+Z7n/X2e8z3P8230ej0FtQb7MIUuJhDhB77gHV7gV5HJWgVjjuEQ2jkJbcQezOApHmKhCriDi5gskKAksaPYjWvi3SgNbuMSNqX8c/iAWTTE274L40HMZJLwVcyXBc+koAu4j2f4k5HkYfFqxxLfVpzAvazJmznQdTiQgl7H4wwo/MYD3MBS4D8oroHC4L2pZ4/wPic21Fs8CewxTJcBb0vZzwtA82J3lgF3gvE8vpUAz6bstWXAYdEt5cTkqVB8Hrh2jR7437dcjQ1BIquCmAbWV2CMY0syXsRXLLbEt80F/UdeqDauVADvwOXA/o6bTZz9D7QOTeBMU7zFw1Z39Kq6CnhOwTYnS0Van7R+4jbeJPY0zitZoMtZ8R28Fjd6EV7KuewHCY7wKsOf5RsouCH+D9PqZPgGCoaTSQJhMseHAd6fAp0W99S1g+lv4DI7jLrAlbXi93FZTeFUMt4+THAXR5b5LkbxGzfFx+CwFTXxaQXAH1u4hXPYrP8orEMRPuPuXw39SFAXxVSCAAAAAElFTkSuQmCC\"","\n/*!\n * vue-awesome-swiper v4.1.1\n * Copyright (c) Surmon. All rights reserved.\n * Released under the MIT License.\n * Surmon \n */\n\n(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports,require('swiper'),require('vue')):typeof define==='function'&&define.amd?define(['exports','swiper','vue'],f):(g=g||self,f(g.VueAwesomeSwiper={},g.Swiper,g.Vue));}(this,(function(exports, SwiperClass, Vue){'use strict';SwiperClass=SwiperClass&&Object.prototype.hasOwnProperty.call(SwiperClass,'default')?SwiperClass['default']:SwiperClass;Vue=Vue&&Object.prototype.hasOwnProperty.call(Vue,'default')?Vue['default']:Vue;/**\r\n * @file vue-awesome-swiper\r\n * @module constants\r\n * @author Surmon \r\n */\r\nvar CoreNames;\r\n(function (CoreNames) {\r\n CoreNames[\"SwiperComponent\"] = \"Swiper\";\r\n CoreNames[\"SwiperSlideComponent\"] = \"SwiperSlide\";\r\n CoreNames[\"SwiperDirective\"] = \"swiper\";\r\n CoreNames[\"SwiperInstance\"] = \"$swiper\";\r\n})(CoreNames || (CoreNames = {}));\r\nvar DEFAULT_CLASSES = Object.freeze({\r\n containerClass: 'swiper-container',\r\n wrapperClass: 'swiper-wrapper',\r\n slideClass: 'swiper-slide'\r\n});\r\nvar ComponentEvents;\r\n(function (ComponentEvents) {\r\n ComponentEvents[\"Ready\"] = \"ready\";\r\n ComponentEvents[\"ClickSlide\"] = \"clickSlide\";\r\n})(ComponentEvents || (ComponentEvents = {}));\r\nvar ComponentPropNames;\r\n(function (ComponentPropNames) {\r\n ComponentPropNames[\"AutoUpdate\"] = \"autoUpdate\";\r\n ComponentPropNames[\"AutoDestroy\"] = \"autoDestroy\";\r\n ComponentPropNames[\"DeleteInstanceOnDestroy\"] = \"deleteInstanceOnDestroy\";\r\n ComponentPropNames[\"CleanupStylesOnDestroy\"] = \"cleanupStylesOnDestroy\";\r\n})(ComponentPropNames || (ComponentPropNames = {}));\r\n// https://swiperjs.com/api/#events\r\nvar SWIPER_EVENTS = [\r\n 'init',\r\n 'beforeDestroy',\r\n 'slideChange',\r\n 'slideChangeTransitionStart',\r\n 'slideChangeTransitionEnd',\r\n 'slideNextTransitionStart',\r\n 'slideNextTransitionEnd',\r\n 'slidePrevTransitionStart',\r\n 'slidePrevTransitionEnd',\r\n 'transitionStart',\r\n 'transitionEnd',\r\n 'touchStart',\r\n 'touchMove',\r\n 'touchMoveOpposite',\r\n 'sliderMove',\r\n 'touchEnd',\r\n 'click',\r\n 'tap',\r\n 'doubleTap',\r\n 'imagesReady',\r\n 'progress',\r\n 'reachBeginning',\r\n 'reachEnd',\r\n 'fromEdge',\r\n 'setTranslate',\r\n 'setTransition',\r\n 'resize',\r\n 'observerUpdate',\r\n 'beforeLoopFix',\r\n 'loopFix'\r\n];/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module utils\r\n * @author Surmon \r\n */\r\nvar kebabcase = function (string) {\r\n return string\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/\\s+/g, '-')\r\n .toLowerCase();\r\n};/**\r\n * @file vue-awesome-swiper\r\n * @module event\r\n * @author Surmon \r\n */\r\nvar handleClickSlideEvent = function (swiper, event, emit) {\r\n var _a, _b, _c;\r\n if (swiper && !(swiper.destroyed)) {\r\n var eventPath = ((_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)) || event.path;\r\n if ((event === null || event === void 0 ? void 0 : event.target) && eventPath) {\r\n var slides_1 = Array.from(swiper.slides);\r\n var paths = Array.from(eventPath);\r\n // Click slide || slide[children]\r\n if (slides_1.includes(event.target) || paths.some(function (item) { return slides_1.includes(item); })) {\r\n var clickedIndex = swiper.clickedIndex;\r\n var reallyIndex = Number((_c = (_b = swiper.clickedSlide) === null || _b === void 0 ? void 0 : _b.dataset) === null || _c === void 0 ? void 0 : _c.swiperSlideIndex);\r\n var reallyIndexValue = Number.isInteger(reallyIndex) ? reallyIndex : null;\r\n emit(ComponentEvents.ClickSlide, clickedIndex, reallyIndexValue);\r\n emit(kebabcase(ComponentEvents.ClickSlide), clickedIndex, reallyIndexValue);\r\n }\r\n }\r\n }\r\n};\r\nvar bindSwiperEvents = function (swiper, emit) {\r\n SWIPER_EVENTS.forEach(function (eventName) {\r\n swiper.on(eventName, function () {\n var arguments$1 = arguments;\n\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments$1[_i];\r\n }\r\n emit.apply(void 0, __spreadArrays([eventName], args));\r\n var kebabcaseName = kebabcase(eventName);\r\n if (kebabcaseName !== eventName) {\r\n emit.apply(void 0, __spreadArrays([kebabcaseName], args));\r\n }\r\n });\r\n });\r\n};/**\r\n * @file vue-awesome-swiper\r\n * @module directive\r\n * @author Surmon \r\n */\r\nvar INSTANCE_NAME_KEY = 'instanceName';\r\nfunction getDirective(SwiperClass, globalOptions) {\r\n var getStandardisedOptionByAttrs = function (vnode, key) {\r\n var _a, _b, _c, _d;\r\n var value = (_b = (_a = vnode.data) === null || _a === void 0 ? void 0 : _a.attrs) === null || _b === void 0 ? void 0 : _b[key];\r\n return value !== undefined\r\n ? value\r\n : (_d = (_c = vnode.data) === null || _c === void 0 ? void 0 : _c.attrs) === null || _d === void 0 ? void 0 : _d[kebabcase(key)];\r\n };\r\n // Get swiper instace name in directive\r\n var getSwiperInstanceName = function (element, binding, vnode) {\r\n return (binding.arg ||\r\n getStandardisedOptionByAttrs(vnode, INSTANCE_NAME_KEY) ||\r\n element.id ||\r\n CoreNames.SwiperInstance);\r\n };\r\n var getSwiperInstance = function (element, binding, vnode) {\r\n var instanceName = getSwiperInstanceName(element, binding, vnode);\r\n return vnode.context[instanceName] || null;\r\n };\r\n var getSwipeOptions = function (binding) {\r\n return binding.value || globalOptions;\r\n };\r\n var getBooleanValueByInput = function (input) {\r\n return [true, undefined, null, ''].includes(input);\r\n };\r\n // Emit event in Vue directive\r\n var getEventEmiter = function (vnode) {\r\n var _a, _b;\r\n var handlers = ((_a = vnode.data) === null || _a === void 0 ? void 0 : _a.on) || ((_b = vnode.componentOptions) === null || _b === void 0 ? void 0 : _b.listeners);\r\n return function (name) {\n var arguments$1 = arguments;\n\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments$1[_i];\r\n }\r\n var _a;\r\n var handle = (_a = handlers) === null || _a === void 0 ? void 0 : _a[name];\r\n if (handle) {\r\n handle.fns.apply(handle, args);\r\n }\r\n };\r\n };\r\n return {\r\n // Init\r\n bind: function (element, binding, vnode) {\r\n // auto class name\r\n if (element.className.indexOf(DEFAULT_CLASSES.containerClass) === -1) {\r\n element.className += ((element.className ? ' ' : '') + DEFAULT_CLASSES.containerClass);\r\n }\r\n // bind click event\r\n element.addEventListener('click', function (event) {\r\n var emitEvent = getEventEmiter(vnode);\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n handleClickSlideEvent(swiper, event, emitEvent);\r\n });\r\n },\r\n // DOM inserted\r\n inserted: function (element, binding, vnode) {\r\n var context = vnode.context;\r\n var swiperOptions = getSwipeOptions(binding);\r\n var instanceName = getSwiperInstanceName(element, binding, vnode);\r\n var emitEvent = getEventEmiter(vnode);\r\n var vueContext = context;\r\n var swiper = vueContext === null || vueContext === void 0 ? void 0 : vueContext[instanceName];\r\n // Swiper will destroy but not delete instance, when used \r\n if (!swiper || swiper.destroyed) {\r\n swiper = new SwiperClass(element, swiperOptions);\r\n vueContext[instanceName] = swiper;\r\n bindSwiperEvents(swiper, emitEvent);\r\n emitEvent(ComponentEvents.Ready, swiper);\r\n // MARK: Reinstance when the nexttick with \r\n // Vue.nextTick(instancing) | setTimeout(instancing)\r\n }\r\n },\r\n // On options changed or DOM updated\r\n componentUpdated: function (element, binding, vnode) {\r\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\r\n var autoUpdate = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoUpdate);\r\n if (getBooleanValueByInput(autoUpdate)) {\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n if (swiper) {\r\n var swiperOptions = getSwipeOptions(binding);\r\n var isLoop = swiperOptions.loop;\r\n if (isLoop) {\r\n (_b = (_a = swiper) === null || _a === void 0 ? void 0 : _a.loopDestroy) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n }\r\n (_c = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _c === void 0 ? void 0 : _c.call(swiper);\r\n (_e = (_d = swiper.navigation) === null || _d === void 0 ? void 0 : _d.update) === null || _e === void 0 ? void 0 : _e.call(_d);\r\n (_g = (_f = swiper.pagination) === null || _f === void 0 ? void 0 : _f.render) === null || _g === void 0 ? void 0 : _g.call(_f);\r\n (_j = (_h = swiper.pagination) === null || _h === void 0 ? void 0 : _h.update) === null || _j === void 0 ? void 0 : _j.call(_h);\r\n if (isLoop) {\r\n (_l = (_k = swiper) === null || _k === void 0 ? void 0 : _k.loopCreate) === null || _l === void 0 ? void 0 : _l.call(_k);\r\n (_m = swiper === null || swiper === void 0 ? void 0 : swiper.update) === null || _m === void 0 ? void 0 : _m.call(swiper);\r\n }\r\n }\r\n }\r\n },\r\n // Destroy this directive\r\n unbind: function (element, binding, vnode) {\r\n var _a;\r\n var autoDestroy = getStandardisedOptionByAttrs(vnode, ComponentPropNames.AutoDestroy);\r\n if (getBooleanValueByInput(autoDestroy)) {\r\n var swiper = getSwiperInstance(element, binding, vnode);\r\n if (swiper && swiper.initialized) {\r\n (_a = swiper === null || swiper === void 0 ? void 0 : swiper.destroy) === null || _a === void 0 ? void 0 : _a.call(swiper, getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.DeleteInstanceOnDestroy)), getBooleanValueByInput(getStandardisedOptionByAttrs(vnode, ComponentPropNames.CleanupStylesOnDestroy)));\r\n }\r\n }\r\n }\r\n };\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module SwiperComponent\r\n * @author Surmon \r\n */\r\nvar SlotNames;\r\n(function (SlotNames) {\r\n SlotNames[\"ParallaxBg\"] = \"parallax-bg\";\r\n SlotNames[\"Pagination\"] = \"pagination\";\r\n SlotNames[\"Scrollbar\"] = \"scrollbar\";\r\n SlotNames[\"PrevButton\"] = \"button-prev\";\r\n SlotNames[\"NextButton\"] = \"button-next\";\r\n})(SlotNames || (SlotNames = {}));\r\nfunction getSwiperComponent(SwiperClass) {\r\n var _a;\r\n return Vue.extend({\r\n name: CoreNames.SwiperComponent,\r\n props: (_a = {\r\n defaultOptions: {\r\n type: Object,\r\n required: false,\r\n default: function () { return ({}); }\r\n },\r\n // eslint-disable-next-line vue/require-default-prop\r\n options: {\r\n type: Object,\r\n required: false\r\n }\r\n },\r\n _a[ComponentPropNames.AutoUpdate] = {\r\n type: Boolean,\r\n default: true\r\n },\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/550/files\r\n _a[ComponentPropNames.AutoDestroy] = {\r\n type: Boolean,\r\n default: true\r\n },\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/388\r\n _a[ComponentPropNames.DeleteInstanceOnDestroy] = {\r\n type: Boolean,\r\n required: false,\r\n default: true\r\n },\r\n _a[ComponentPropNames.CleanupStylesOnDestroy] = {\r\n type: Boolean,\r\n required: false,\r\n default: true\r\n },\r\n _a),\r\n data: function () {\r\n var _a;\r\n return _a = {},\r\n _a[CoreNames.SwiperInstance] = null,\r\n _a;\r\n },\r\n computed: {\r\n swiperInstance: {\r\n cache: false,\r\n set: function (swiper) {\r\n this[CoreNames.SwiperInstance] = swiper;\r\n },\r\n get: function () {\r\n return this[CoreNames.SwiperInstance];\r\n }\r\n },\r\n swiperOptions: function () {\r\n return this.options || this.defaultOptions;\r\n },\r\n wrapperClass: function () {\r\n return this.swiperOptions.wrapperClass || DEFAULT_CLASSES.wrapperClass;\r\n }\r\n },\r\n methods: {\r\n // Feature: click event\r\n handleSwiperClick: function (event) {\r\n handleClickSlideEvent(this.swiperInstance, event, this.$emit.bind(this));\r\n },\r\n autoReLoopSwiper: function () {\r\n var _a, _b;\r\n if (this.swiperInstance && this.swiperOptions.loop) {\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/593\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/544\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/545/files\r\n var swiper = this.swiperInstance;\r\n (_a = swiper === null || swiper === void 0 ? void 0 : swiper.loopDestroy) === null || _a === void 0 ? void 0 : _a.call(swiper);\r\n (_b = swiper === null || swiper === void 0 ? void 0 : swiper.loopCreate) === null || _b === void 0 ? void 0 : _b.call(swiper);\r\n }\r\n },\r\n updateSwiper: function () {\r\n var _a, _b, _c, _d, _e, _f, _g, _h;\r\n if (this[ComponentPropNames.AutoUpdate] && this.swiperInstance) {\r\n this.autoReLoopSwiper();\r\n (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.update) === null || _b === void 0 ? void 0 : _b.call(_a);\r\n (_d = (_c = this.swiperInstance.navigation) === null || _c === void 0 ? void 0 : _c.update) === null || _d === void 0 ? void 0 : _d.call(_c);\r\n (_f = (_e = this.swiperInstance.pagination) === null || _e === void 0 ? void 0 : _e.render) === null || _f === void 0 ? void 0 : _f.call(_e);\r\n (_h = (_g = this.swiperInstance.pagination) === null || _g === void 0 ? void 0 : _g.update) === null || _h === void 0 ? void 0 : _h.call(_g);\r\n }\r\n },\r\n destroySwiper: function () {\r\n var _a, _b;\r\n if (this[ComponentPropNames.AutoDestroy] && this.swiperInstance) {\r\n // https://github.com/surmon-china/vue-awesome-swiper/pull/341\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/340\r\n if (this.swiperInstance.initialized) {\r\n (_b = (_a = this.swiperInstance) === null || _a === void 0 ? void 0 : _a.destroy) === null || _b === void 0 ? void 0 : _b.call(_a, this[ComponentPropNames.DeleteInstanceOnDestroy], this[ComponentPropNames.CleanupStylesOnDestroy]);\r\n }\r\n }\r\n },\r\n initSwiper: function () {\r\n this.swiperInstance = new SwiperClass(this.$el, this.swiperOptions);\r\n bindSwiperEvents(this.swiperInstance, this.$emit.bind(this));\r\n this.$emit(ComponentEvents.Ready, this.swiperInstance);\r\n }\r\n },\r\n mounted: function () {\r\n if (!this.swiperInstance) {\r\n this.initSwiper();\r\n }\r\n },\r\n // Update swiper when the parent component activated with `keep-alive`.\r\n activated: function () {\r\n this.updateSwiper();\r\n },\r\n updated: function () {\r\n this.updateSwiper();\r\n },\r\n beforeDestroy: function () {\r\n // https://github.com/surmon-china/vue-awesome-swiper/commit/2924a9d4d3d1cf51c0d46076410b1f804b2b8a43#diff-7f4e0261ac562c0f354cb91a1ca8864f\r\n this.$nextTick(this.destroySwiper);\r\n },\r\n render: function (createElement) {\r\n return createElement('div', {\r\n staticClass: DEFAULT_CLASSES.containerClass,\r\n on: {\r\n click: this.handleSwiperClick\r\n }\r\n }, [\r\n this.$slots[SlotNames.ParallaxBg],\r\n createElement('div', {\r\n class: this.wrapperClass\r\n }, this.$slots.default),\r\n this.$slots[SlotNames.Pagination],\r\n this.$slots[SlotNames.PrevButton],\r\n this.$slots[SlotNames.NextButton],\r\n this.$slots[SlotNames.Scrollbar]\r\n ]);\r\n }\r\n });\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module SwiperSlideComponent\r\n * @author Surmon \r\n */\r\nvar SwiperSlideComponent = Vue.extend({\r\n name: CoreNames.SwiperSlideComponent,\r\n computed: {\r\n slideClass: function () {\r\n var _a, _b;\r\n return ((_b = (_a = this.$parent) === null || _a === void 0 ? void 0 : _a.swiperOptions) === null || _b === void 0 ? void 0 : _b.slideClass) || DEFAULT_CLASSES.slideClass;\r\n }\r\n },\r\n methods: {\r\n update: function () {\r\n var _a;\r\n var parent = this.$parent;\r\n // https://github.com/surmon-china/vue-awesome-swiper/issues/632\r\n if (parent[ComponentPropNames.AutoUpdate]) {\r\n (_a = parent === null || parent === void 0 ? void 0 : parent.swiperInstance) === null || _a === void 0 ? void 0 : _a.update();\r\n }\r\n }\r\n },\r\n mounted: function () {\r\n this.update();\r\n },\r\n updated: function () {\r\n this.update();\r\n },\r\n render: function (createElement) {\r\n return createElement('div', {\r\n class: this.slideClass\r\n }, this.$slots.default);\r\n }\r\n});/**\r\n * @file vue-awesome-swiper\r\n * @module exporter\r\n * @author Surmon \r\n */\r\nvar getInstaller = function (SwiperClass) {\r\n var install = function (Vue, globalOptions) {\r\n if (install.installed)\r\n { return; }\r\n var SwiperComponent = getSwiperComponent(SwiperClass);\r\n if (globalOptions) {\r\n SwiperComponent.options.props.defaultOptions.default = function () { return globalOptions; };\r\n }\r\n Vue.component(CoreNames.SwiperComponent, SwiperComponent);\r\n Vue.component(CoreNames.SwiperSlideComponent, SwiperSlideComponent);\r\n Vue.directive(CoreNames.SwiperDirective, getDirective(SwiperClass, globalOptions));\r\n install.installed = true;\r\n };\r\n return install;\r\n};\r\nfunction exporter(SwiperClass) {\r\n var _a;\r\n return _a = {\r\n version: '4.1.1',\r\n install: getInstaller(SwiperClass),\r\n directive: getDirective(SwiperClass)\r\n },\r\n _a[CoreNames.SwiperComponent] = getSwiperComponent(SwiperClass),\r\n _a[CoreNames.SwiperSlideComponent] = SwiperSlideComponent,\r\n _a;\r\n}/**\r\n * @file vue-awesome-swiper\r\n * @module default-export\r\n * @author Surmon \r\n */\r\nvar VueAwesomeSwiper = exporter(SwiperClass);\r\nvar version = VueAwesomeSwiper.version;\r\nvar install = VueAwesomeSwiper.install;\r\nvar directive = VueAwesomeSwiper.directive;\r\nvar Swiper = VueAwesomeSwiper.Swiper;\r\nvar SwiperSlide = VueAwesomeSwiper.SwiperSlide;exports.Swiper=Swiper;exports.SwiperSlide=SwiperSlide;exports.default=VueAwesomeSwiper;exports.directive=directive;exports.install=install;exports.version=version;Object.defineProperty(exports,'__esModule',{value:true});})));","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInputPopup.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VueAliplayer.vue?vue&type=style&index=0&lang=css&\"","import '../../style/base.css';\nimport '../../overlay/index.css';\nimport '../../info/index.css';\nimport '../../icon/index.css';\nimport '../index.css';","module.exports = __webpack_public_path__ + \"img/bg_comments.0387df04.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Player.vue?vue&type=style&index=0&id=68efb47d&lang=scss&scoped=true&\"","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInput.vue?vue&type=style&index=0&id=92f7e458&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cdetail-container\"},[_c('div',{staticClass:\"page-header\"},[_c('div',{staticClass:\"S8 T1 font-bold\"},[_vm._v(_vm._s(_vm.subComments.length + '条回复'))]),_c('img',{attrs:{\"src\":require(\"@/static/ic_close.png\"),\"alt\":\"\"},on:{\"click\":_vm.onCloseEvent}})]),_c('div',{staticClass:\"content-container\",on:{\"touchmove\":function($event){$event.stopPropagation();}}},[_c('comment-item',{attrs:{\"item\":_vm.comment,\"showDelete\":false,\"showOwner\":true},on:{\"onReplyEvent\":function($event){return _vm.onReplyEvent(_vm.comment)}}}),_c('div',{staticClass:\"line-margin item-line L2\"}),(_vm.subComments.length > 0)?_c('div',{staticClass:\"S10 comments-header\"},[_vm._v(\" 全部回复 \")]):_vm._e(),_c('div',{staticClass:\"subcomment-list\"},_vm._l((_vm.subComments),function(item){return _c('div',{key:item.id},[_c('comment-item',{attrs:{\"item\":item,\"showOwner\":_vm.comment.userId === item.userId},on:{\"onReplyEvent\":function($event){return _vm.onReplyEvent(item)},\"onDeleteEvent\":function($event){return _vm.onDeleteEvent(item)}}})],1)}),0),_c('div',{staticStyle:{\"height\":\"20px\"}})],1),(_vm.isPermission)?_c('div',{class:_vm.bottomClass},[_c('comment-input',{ref:\"detail-input\",attrs:{\"commentsInfo\":_vm.commentsInfo,\"comment\":_vm.currentComment},on:{\"onInputEvent\":_vm.onInputEvent,\"onBlurEvent\":_vm.onBlurEvent,\"onCommitEvent\":_vm.onCommitEvent}})],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentDetail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentDetail.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommentDetail.vue?vue&type=template&id=091af418&scoped=true&\"\nimport script from \"./CommentDetail.vue?vue&type=script&lang=js&\"\nexport * from \"./CommentDetail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommentDetail.vue?vue&type=style&index=0&id=091af418&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"091af418\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"comment-list\"},[(_vm.commentCount && _vm.videoType !== 'shrink')?[_c('div',{staticClass:\"page-header\"},[_c('div',{staticClass:\"S8 T1 font-bold\"},[_vm._v(\" \"+_vm._s('评论 (' + _vm.commentsInfo.commentsCount + ')')+\" \")])]),_c('div',{staticClass:\"item-line L2\"})]:_vm._e(),(_vm.comments.length == 0)?_c('div',{staticClass:\"nodata-container\"},[_c('img',{attrs:{\"src\":require(\"../../static/bg_comments.png\"),\"alt\":\"\"}}),_c('div',{staticClass:\"S6 T3\"},[_vm._v(\"暂无评论\")])]):_vm._l((_vm.comments),function(item){return _c('div',{key:item.id,staticClass:\"list-container\"},[_c(_vm.getComponent,{tag:\"component\",attrs:{\"item\":item,\"showReplyCount\":true},on:{\"onReplyEvent\":function($event){return _vm.onReplyEvent(item)},\"onDeleteEvent\":function($event){return _vm.onDeleteEvent(item)},\"onShowAllEvent\":_vm.onShowAllEvent}})],1)}),(_vm.showPopup)?_c('comment-input-popup',{attrs:{\"commentsInfo\":_vm.commentsInfo,\"hasPermission\":_vm.hasPermission,\"id\":_vm.id,\"showPopup\":_vm.showPopup,\"isFavored\":_vm.isFavored},on:{\"onCommitEvent\":_vm.onCommitEvent}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-container iflex\"},[_c('div',{staticClass:\"avatar-container\"},[_c('img',{staticClass:\"item-avatar\",attrs:{\"src\":_vm.item.avatar}}),(_vm.item.isAuthor)?_c('img',{staticClass:\"icon_header_v\",attrs:{\"src\":require(\"@/static/ic_v_log.png\")}}):_vm._e()]),_c('div',{staticClass:\"right-continer iflex\"},[_c('div',{staticClass:\"S8 T1 title-container iflex\"},[_vm._v(\" \"+_vm._s(_vm.item.nickname)+\" \"),(_vm.showOwner)?_c('span',{staticClass:\"item-owner C5 S2 B_C6\"},[_vm._v(\" 楼主 \")]):_vm._e()]),_c('div',{staticClass:\"S8 item-comment\",class:_vm.item.isAuthor ? 'C9' : 'T1'},[_vm._v(\" \"+_vm._s(_vm.item.content)+\" \"),(_vm.item.parentComent)?_c('span',[_c('span',{staticClass:\"T1\"},[_vm._v(\" // \")]),_c('span',{staticClass:\"C5\"},[_vm._v(_vm._s('@' + _vm.item.parentComent.nickname + ':'))]),_c('span',{class:_vm.item.parentComent.isAuthor ? 'C9' : 'T1'},[_vm._v(_vm._s(_vm.item.parentComent.content))])]):_vm._e()]),_c('div',{staticClass:\"timer-container iflex\",on:{\"click\":function($event){return _vm.onReplyEvent(_vm.item)}}},[_c('div',{staticClass:\"S4 T3\"},[_vm._v(\" \"+_vm._s(_vm.item.createTime)+\" \")]),_c('div',{staticClass:\"item-replay iflex S4 T1\"},[_vm._v(\" 回复 \")])]),(_vm.canDelete)?_c('div',{staticClass:\"delete-container iflex\",on:{\"click\":function($event){$event.stopPropagation();return _vm.onDeleteEvent(_vm.item)}}},[_c('div',{staticClass:\"btn-delete S2 T1\"},[_vm._v(\"删除\")])]):_vm._e(),(_vm.showReplyCount && _vm.item.replyCount > 0)?_c('div',{staticClass:\"reply-container T3 relative\",on:{\"click\":function($event){return _vm.onReplyEvent(_vm.item, true)}}},[_vm._l((_vm.item.subComments),function(subComment,index){return _c('div',{key:index,staticClass:\"reply-item T6 S7\"},[_c('span',{staticClass:\"T3 left\"},[_vm._v(_vm._s(subComment.nickname)+\":\")]),_vm._v(_vm._s(subComment.content)+\" \")])}),(_vm.item.replyCount > 2)?_c('div',{staticClass:\"S4 C5\"},[_vm._v(\" 查看全部\"+_vm._s(_vm.item.replyCount)+\"条回复 \")]):_vm._e()],2):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShrinkCommentItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShrinkCommentItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ShrinkCommentItem.vue?vue&type=template&id=b210533c&scoped=true&\"\nimport script from \"./ShrinkCommentItem.vue?vue&type=script&lang=js&\"\nexport * from \"./ShrinkCommentItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ShrinkCommentItem.vue?vue&type=style&index=0&id=b210533c&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b210533c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('van-popup',{staticClass:\"input-popup\",attrs:{\"overlay-class\":\"my-popup\",\"position\":\"bottom\",\"get-container\":\"#app\",\"close-on-click-overlay\":false},model:{value:(_vm.showPopup),callback:function ($$v) {_vm.showPopup=$$v},expression:\"showPopup\"}},[_c('comment-input',{ref:\"detail-input\",attrs:{\"commentsInfo\":_vm.commentsInfo,\"id\":_vm.id,\"isFavored\":_vm.isFavored},on:{\"onCommitEvent\":_vm.onCommitEvent,\"onFocusEvent\":_vm.onFocusEvent,\"onBlurEvent\":_vm.onBlurEvent}}),(_vm.showAd)?_c('ad-tip'):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInputPopup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentInputPopup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CommentInputPopup.vue?vue&type=template&id=37721ec4&\"\nimport script from \"./CommentInputPopup.vue?vue&type=script&lang=js&\"\nexport * from \"./CommentInputPopup.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CommentInputPopup.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Comment.vue?vue&type=template&id=99daa944&scoped=true&\"\nimport script from \"./Comment.vue?vue&type=script&lang=js&\"\nexport * from \"./Comment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Comment.vue?vue&type=style&index=0&id=99daa944&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"99daa944\",\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAABA9JREFUWIW92VuIVlUUB/DfHMdIzR5yFMTJ6MKMlUWlJqYGWlJBF3opLF+SUEOzXoqCLnSBoh6CGglFfDK1XoIirIgEqxHTLlTWKF1QJ3xQX/KSaGoPax++mXGcOeeb880fhs0+++y1/mfvb+/1X2ua2tra1IEMMzAP09GGSRiTxo/hb+zBTmzBDpwp66ipJMFWLMfDuLSkr/14D6vQXXRSUYLj8DIexQXp2V/4DF/jN+zFkTQ2FpfhaszBHbg8jZ3EWryAw1UQfEB8dQtO4wN0YBvODjY594NZWJHsjcCh1H9/oInZAGPNeDcZaMEXmIqH0FmCnPRuZ5o7Ndlqwabko7kswdH4EMtwAkuxAF0lSJ0PXcnW0mR7WfI1uijBZmzE3TiIW7GmAmJ9sSbZPph8bdTPSvZHsAP3polzxfXQKOxIPg4mnx2DEXxQLP1x3IPdDSSXY3fydTz5Xng+guPUvuAJbB8Gcjm2J58Sh/H5QE+Cr6qd1rXDRq2Gtcn3JXglf5jfg5Pxu7ifpoqLdzB8i3+wBH9WRHIKfhEh8Srsy1fwMYwUd14RckQsvg0/4UkD36lF0SUCwcjESZb+FqUXVtVhdAzewldiBYaK/BwsQparklYRWzuHYPgW/IBnDBAZCmCb+Mm0YkaG+WngU+XCV3+4EK+JU3l9nTbOChEC8zJMS51vhsatF24SOvAlNfVTBjmX6RnaU2dXBcR6YqSQVDtxc8m5v6a2PcPE1NlfEbG+uE6syBsYVXDO3tROzIS4pCY2G4FmPKX22xoMR1M7toq7qwxKH8JMb5neKPyHN3FnwfcvSu2RDAdSp2wSVBQ/Yzaexr8F50xO7YFMTVJdUzGxUyLRmi7idhlcm9rdGb5LnTkVEYPvBbEXRRZXFrNTuzMTSTWRGjYNkdgJPIuZQkTUg6bEBbZkYvm7cYWIp/WiEzfidXEo6sWsxKUbOzKhvdanweV1GDwm5NZc1WR9K1K7HmdywdqKP9QEaxFHP4pkZ6nqBetpXInu/KLuFpJ7BN4paOwGkd9WRQ7eThzWJU69VHBeK7kdj1TotCgWiw8+jOfyhz0JHlbb/w5xEocLM9V2bqUeRaW+sXgTVosyxMdqUqyRaE++Rotqw4aeg/2JhZX4SOSmW9UEbSMwLfkYn3w+3veF/gieFNn9ZkwQydCSBpBbImqLE/BJ8nlO1Dmf3DqO+8R2j0rt56rZ8vZka7XIYVbj/uTzHAykB0+J0thCUWxcINKCDeK2LxsWZ4kS8K5k65CoFy5LvvpF0RJwiyhHLNa7BLxZbFMX9olKA1wsJNMUIULu0rsEvA7PJ5IDop4i+gqRVE8qM1FU/deLK6zyInpf5An/fHES2wT5XAkfTST2CDn3pTr/DfE/HhPhZ8LSRSIAAAAASUVORK5CYII=\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavItem.vue?vue&type=style&index=0&id=483ca86a&scoped=true&lang=scss&\"","function isWindow(val) {\n return val === window;\n} // get nearest scroll element\n// https://github.com/youzan/vant/issues/3823\n\n\nvar overflowScrollReg = /scroll|auto/i;\nexport function getScroller(el, root) {\n if (root === void 0) {\n root = window;\n }\n\n var node = el;\n\n while (node && node.tagName !== 'HTML' && node.tagName !== 'BODY' && node.nodeType === 1 && node !== root) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflowY = _window$getComputedSt.overflowY;\n\n if (overflowScrollReg.test(overflowY)) {\n return node;\n }\n\n node = node.parentNode;\n }\n\n return root;\n}\nexport function getScrollTop(el) {\n var top = 'scrollTop' in el ? el.scrollTop : el.pageYOffset; // iOS scroll bounce cause minus scrollTop\n\n return Math.max(top, 0);\n}\nexport function setScrollTop(el, value) {\n if ('scrollTop' in el) {\n el.scrollTop = value;\n } else {\n el.scrollTo(el.scrollX, value);\n }\n}\nexport function getRootScrollTop() {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n}\nexport function setRootScrollTop(value) {\n setScrollTop(window, value);\n setScrollTop(document.body, value);\n} // get distance from element top to page top or scroller top\n\nexport function getElementTop(el, scroller) {\n if (isWindow(el)) {\n return 0;\n }\n\n var scrollTop = scroller ? getScrollTop(scroller) : getRootScrollTop();\n return el.getBoundingClientRect().top + scrollTop;\n}\nexport function getVisibleHeight(el) {\n if (isWindow(el)) {\n return el.innerHeight;\n }\n\n return el.getBoundingClientRect().height;\n}\nexport function getVisibleTop(el) {\n if (isWindow(el)) {\n return 0;\n }\n\n return el.getBoundingClientRect().top;\n}","module.exports = \"data:image/png;base64,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\"","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","// color\nexport var RED = '#ee0a24'; // border\n\nexport var BORDER = 'van-hairline';\nexport var BORDER_TOP = BORDER + \"--top\";\nexport var BORDER_LEFT = BORDER + \"--left\";\nexport var BORDER_BOTTOM = BORDER + \"--bottom\";\nexport var BORDER_SURROUND = BORDER + \"--surround\";\nexport var BORDER_TOP_BOTTOM = BORDER + \"--top-bottom\";\nexport var BORDER_UNSET_TOP_BOTTOM = BORDER + \"-unset--top-bottom\";","import Vue from 'vue'\r\n\r\nexport const state = Vue.observable({ appInfoResp: Object })\r\n\r\n\r\nexport function requestappInfo(callBack) {\r\n window.clientInfoCallback = (info) => {\r\n if (typeof info === 'string') {\r\n info = JSON.parse(info)\r\n }\r\n state.appInfoResp = info\r\n if(callBack){\r\n callBack(info)\r\n }\r\n }\r\n if (window.goods) {\r\n window.goods.getClientInfo(`clientInfoCallback`)\r\n }\r\n}\r\n\r\nexport function isIOS() {\r\n return state.appInfoResp.platform === 'ios'\r\n}\r\nexport function isAndroid() {\r\n return state.appInfoResp.platform === 'android'\r\n}\r\n\r\nexport function getStatusHeight() {\r\n if (state.appInfoResp.platform === 'ios') {\r\n return state.appInfoResp.statusBarHeight\r\n }\r\n return document.documentElement.clientHeight * state.appInfoResp.statusBarHeight / state.appInfoResp.screenHeight\r\n}\r\n\r\nexport function getAppInfo() {\r\n return state.appInfoResp\r\n}\r\n\r\nexport function titleStatusBarHeight() {\r\n return state.appInfoResp.statusBarHeight + state.appInfoResp.titleBarHeight\r\n}\r\n\r\n// const TYPE_NONE = -1\r\n// const TYPE_PHONE = 2\r\nconst TYPE_GUEST = 4\r\n\r\nexport function isGuest() {\r\n if (!state.appInfoResp.loginType || parseInt(state.appInfoResp.loginType) === TYPE_GUEST) {\r\n return true\r\n }\r\n return false\r\n}\r\n\r\n\r\nexport default state","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _mergeJSXProps from \"@vue/babel-helper-vue-jsx-merge-props\";\n// Utils\nimport { createNamespace } from '../utils';\nimport { emit, inherit } from '../utils/functional';\nimport { BORDER_SURROUND } from '../utils/constant';\nimport { routeProps, functionalRoute } from '../utils/router'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading'; // Types\n\nvar _createNamespace = createNamespace('button'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nfunction Button(h, props, slots, ctx) {\n var _ref;\n\n var tag = props.tag,\n icon = props.icon,\n type = props.type,\n color = props.color,\n plain = props.plain,\n disabled = props.disabled,\n loading = props.loading,\n hairline = props.hairline,\n loadingText = props.loadingText,\n iconPosition = props.iconPosition;\n var style = {};\n\n if (color) {\n style.color = plain ? color : 'white';\n\n if (!plain) {\n // Use background instead of backgroundColor to make linear-gradient work\n style.background = color;\n } // hide border when color is linear-gradient\n\n\n if (color.indexOf('gradient') !== -1) {\n style.border = 0;\n } else {\n style.borderColor = color;\n }\n }\n\n function onClick(event) {\n if (!loading && !disabled) {\n emit(ctx, 'click', event);\n functionalRoute(ctx);\n }\n }\n\n function onTouchstart(event) {\n emit(ctx, 'touchstart', event);\n }\n\n var classes = [bem([type, props.size, {\n plain: plain,\n loading: loading,\n disabled: disabled,\n hairline: hairline,\n block: props.block,\n round: props.round,\n square: props.square\n }]), (_ref = {}, _ref[BORDER_SURROUND] = hairline, _ref)];\n\n function renderIcon() {\n if (loading) {\n return slots.loading ? slots.loading() : h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"size\": props.loadingSize,\n \"type\": props.loadingType,\n \"color\": \"currentColor\"\n }\n });\n }\n\n if (icon) {\n return h(Icon, {\n \"attrs\": {\n \"name\": icon,\n \"classPrefix\": props.iconPrefix\n },\n \"class\": bem('icon')\n });\n }\n }\n\n function renderContent() {\n var content = [];\n\n if (iconPosition === 'left') {\n content.push(renderIcon());\n }\n\n var text;\n\n if (loading) {\n text = loadingText;\n } else {\n text = slots.default ? slots.default() : props.text;\n }\n\n if (text) {\n content.push(h(\"span\", {\n \"class\": bem('text')\n }, [text]));\n }\n\n if (iconPosition === 'right') {\n content.push(renderIcon());\n }\n\n return content;\n }\n\n return h(tag, _mergeJSXProps([{\n \"style\": style,\n \"class\": classes,\n \"attrs\": {\n \"type\": props.nativeType,\n \"disabled\": disabled\n },\n \"on\": {\n \"click\": onClick,\n \"touchstart\": onTouchstart\n }\n }, inherit(ctx)]), [h(\"div\", {\n \"class\": bem('content')\n }, [renderContent()])]);\n}\n\nButton.props = _extends({}, routeProps, {\n text: String,\n icon: String,\n color: String,\n block: Boolean,\n plain: Boolean,\n round: Boolean,\n square: Boolean,\n loading: Boolean,\n hairline: Boolean,\n disabled: Boolean,\n iconPrefix: String,\n nativeType: String,\n loadingText: String,\n loadingType: String,\n tag: {\n type: String,\n default: 'button'\n },\n type: {\n type: String,\n default: 'default'\n },\n size: {\n type: String,\n default: 'normal'\n },\n loadingSize: {\n type: String,\n default: '20px'\n },\n iconPosition: {\n type: String,\n default: 'left'\n }\n});\nexport default createComponent(Button);","'use strict';\nvar $ = require('../internals/export');\nvar toInteger = require('../internals/to-integer');\nvar thisNumberValue = require('../internals/this-number-value');\nvar repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar nativeToFixed = 1.0.toFixed;\nvar floor = Math.floor;\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar FORCED = nativeToFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !fails(function () {\n // V8 ~ Android 4.3-\n nativeToFixed.call({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n // eslint-disable-next-line max-statements\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toInteger(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n var multiply = function (n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n };\n\n var divide = function (n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n };\n\n var dataToString = function () {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t;\n }\n } return s;\n };\n\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n result = dataToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n result = dataToString() + repeat.call('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat.call('0', fractDigits - k) + result\n : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CatelogItem.vue?vue&type=style&index=0&id=58dd3a22&scoped=true&lang=css&\"","import http from \"@/api/http\";\r\n\r\nconst state = {\r\n viewPointResp: Object,\r\n RelatesResp: Object\r\n}\r\n\r\nconst mutations = {\r\n setviewPointResp: (state, resp) => {\r\n state.viewPointResp = resp\r\n },\r\n relatesResp: (state, resp) => {\r\n state.RelatesResp = resp\r\n },\r\n}\r\n\r\nconst actions = {\r\n requestviewPoint({ commit }, params) {\r\n let url = '/DianJin/api/detail'\r\n return http.post(url, params).then(res => {\r\n commit('setviewPointResp', res)\r\n })\r\n },\r\n requestRelates({ commit }, params) {\r\n let url = '/DianJin/Api/Relates'\r\n return http.post(url, params).then(res => {\r\n commit('relatesResp', res)\r\n })\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions\r\n}","import '../../style/base.css';\nimport '../../info/index.css';\nimport '../index.css';","var map = {\n\t\"./comment.js\": \"f07f\",\n\t\"./follow.js\": \"d76a\",\n\t\"./video.js\": \"1c11\",\n\t\"./viewPointDetail.js\": \"bb64\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"c653\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoMask.vue?vue&type=style&index=0&id=3db0e79c&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAeCAYAAAA/xX6fAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAYdJREFUSIm91r1PFEEcxvHPATZKi7H1QuyIsaAggYTGwkBiTSAkBgyWvFWIlS0VlRG1IPwDojQ0FJdoQUFvqGiA0AINECjmNln3vGNffZLN7jy7v/lmJjPPTq1eryugCYziJ36kKegpAHuDb83ntxjGr/uKunLC6liPtWt4kaYwD7AbW+iNeedSTmke4AqGEt4ijqoADuJDwtvGRtoOsgAfClP5IOadYjZDH5mAa3gWa982YWdVAMfwLuF9FvZfJqUB9uGLsPQj/cFSVlha4AaexNrXmMJFFcAZvE54H7GfBwa1DlnajwN/b/DfGMFNXmC7EXZjU2uaTBeBdQK+15om8zgsAmsHHMRqwvuOr0Vh/wI+0pomJ8LvpxQlgaWkSVrgOOYS7z9hpyxYEriuNU2Wy4TFgQN4GvOvhDS5rAo4FvNusKBAmnRSdIgab96PMYm9KmCEET4WNvkunlcJi4AvhXPKKyUu/3bqEVLkvGpQpK7/CYuAkRpCslR5NfKevPOqdv8nJesO1XVU9s9hd2UAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY3N0YyMkQ2QjA4MjExRUE4NjU5QzNDNEFFQ0Y5NEZGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY3N0YyMkQ3QjA4MjExRUE4NjU5QzNDNEFFQ0Y5NEZGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Njc3RjIyRDRCMDgyMTFFQTg2NTlDM0M0QUVDRjk0RkYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Njc3RjIyRDVCMDgyMTFFQTg2NTlDM0M0QUVDRjk0RkYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz57Tv7ZAAAHgUlEQVR42txa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\"","var lockCount = 0;\nexport function lockClick(lock) {\n if (lock) {\n if (!lockCount) {\n document.body.classList.add('van-toast--unclickable');\n }\n\n lockCount++;\n } else {\n lockCount--;\n\n if (!lockCount) {\n document.body.classList.remove('van-toast--unclickable');\n }\n }\n}","// Utils\nimport { createNamespace, isDef } from '../utils';\nimport { lockClick } from './lock-click'; // Mixins\n\nimport { PopupMixin } from '../mixins/popup'; // Components\n\nimport Icon from '../icon';\nimport Loading from '../loading';\n\nvar _createNamespace = createNamespace('toast'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n icon: String,\n className: null,\n iconPrefix: String,\n loadingType: String,\n forbidClick: Boolean,\n closeOnClick: Boolean,\n message: [Number, String],\n type: {\n type: String,\n default: 'text'\n },\n position: {\n type: String,\n default: 'middle'\n },\n transition: {\n type: String,\n default: 'van-fade'\n },\n lockScroll: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n clickable: false\n };\n },\n mounted: function mounted() {\n this.toggleClickable();\n },\n destroyed: function destroyed() {\n this.toggleClickable();\n },\n watch: {\n value: 'toggleClickable',\n forbidClick: 'toggleClickable'\n },\n methods: {\n onClick: function onClick() {\n if (this.closeOnClick) {\n this.close();\n }\n },\n toggleClickable: function toggleClickable() {\n var clickable = this.value && this.forbidClick;\n\n if (this.clickable !== clickable) {\n this.clickable = clickable;\n lockClick(clickable);\n }\n },\n\n /* istanbul ignore next */\n onAfterEnter: function onAfterEnter() {\n this.$emit('opened');\n\n if (this.onOpened) {\n this.onOpened();\n }\n },\n onAfterLeave: function onAfterLeave() {\n this.$emit('closed');\n },\n genIcon: function genIcon() {\n var h = this.$createElement;\n var icon = this.icon,\n type = this.type,\n iconPrefix = this.iconPrefix,\n loadingType = this.loadingType;\n var hasIcon = icon || type === 'success' || type === 'fail';\n\n if (hasIcon) {\n return h(Icon, {\n \"class\": bem('icon'),\n \"attrs\": {\n \"classPrefix\": iconPrefix,\n \"name\": icon || type\n }\n });\n }\n\n if (type === 'loading') {\n return h(Loading, {\n \"class\": bem('loading'),\n \"attrs\": {\n \"type\": loadingType\n }\n });\n }\n },\n genMessage: function genMessage() {\n var h = this.$createElement;\n var type = this.type,\n message = this.message;\n\n if (!isDef(message) || message === '') {\n return;\n }\n\n if (type === 'html') {\n return h(\"div\", {\n \"class\": bem('text'),\n \"domProps\": {\n \"innerHTML\": message\n }\n });\n }\n\n return h(\"div\", {\n \"class\": bem('text')\n }, [message]);\n }\n },\n render: function render() {\n var _ref;\n\n var h = arguments[0];\n return h(\"transition\", {\n \"attrs\": {\n \"name\": this.transition\n },\n \"on\": {\n \"afterEnter\": this.onAfterEnter,\n \"afterLeave\": this.onAfterLeave\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"class\": [bem([this.position, (_ref = {}, _ref[this.type] = !this.icon, _ref)]), this.className],\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.genIcon(), this.genMessage()])]);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport Vue from 'vue';\nimport VueToast from './Toast';\nimport { isObject, isServer } from '../utils';\nimport { removeNode } from '../utils/dom/node';\nvar defaultOptions = {\n icon: '',\n type: 'text',\n // @deprecated\n mask: false,\n value: true,\n message: '',\n className: '',\n overlay: false,\n onClose: null,\n onOpened: null,\n duration: 2000,\n iconPrefix: undefined,\n position: 'middle',\n transition: 'van-fade',\n forbidClick: false,\n loadingType: undefined,\n getContainer: 'body',\n overlayStyle: null,\n closeOnClick: false,\n closeOnClickOverlay: false\n}; // default options of specific type\n\nvar defaultOptionsMap = {};\nvar queue = [];\nvar multiple = false;\n\nvar currentOptions = _extends({}, defaultOptions);\n\nfunction parseOptions(message) {\n if (isObject(message)) {\n return message;\n }\n\n return {\n message: message\n };\n}\n\nfunction isInDocument(element) {\n return document.body.contains(element);\n}\n\nfunction createInstance() {\n /* istanbul ignore if */\n if (isServer) {\n return {};\n }\n\n queue = queue.filter(function (item) {\n return !item.$el.parentNode || isInDocument(item.$el);\n });\n\n if (!queue.length || multiple) {\n var toast = new (Vue.extend(VueToast))({\n el: document.createElement('div')\n });\n toast.$on('input', function (value) {\n toast.value = value;\n });\n queue.push(toast);\n }\n\n return queue[queue.length - 1];\n} // transform toast options to popup props\n\n\nfunction transformOptions(options) {\n return _extends({}, options, {\n overlay: options.mask || options.overlay,\n mask: undefined,\n duration: undefined\n });\n}\n\nfunction Toast(options) {\n if (options === void 0) {\n options = {};\n }\n\n var toast = createInstance(); // should add z-index if previous toast has not disappeared\n\n if (toast.value) {\n toast.updateZIndex();\n }\n\n options = parseOptions(options);\n options = _extends({}, currentOptions, defaultOptionsMap[options.type || currentOptions.type], options);\n\n if (process.env.NODE_ENV === 'development' && options.mask) {\n console.warn('[Vant] Toast: \"mask\" option is deprecated, use \"overlay\" option instead.');\n }\n\n options.clear = function () {\n toast.value = false;\n\n if (options.onClose) {\n options.onClose();\n options.onClose = null;\n }\n\n if (multiple && !isServer) {\n toast.$on('closed', function () {\n clearTimeout(toast.timer);\n queue = queue.filter(function (item) {\n return item !== toast;\n });\n removeNode(toast.$el);\n toast.$destroy();\n });\n }\n };\n\n _extends(toast, transformOptions(options));\n\n clearTimeout(toast.timer);\n\n if (options.duration > 0) {\n toast.timer = setTimeout(function () {\n toast.clear();\n }, options.duration);\n }\n\n return toast;\n}\n\nvar createMethod = function createMethod(type) {\n return function (options) {\n return Toast(_extends({\n type: type\n }, parseOptions(options)));\n };\n};\n\n['loading', 'success', 'fail'].forEach(function (method) {\n Toast[method] = createMethod(method);\n});\n\nToast.clear = function (all) {\n if (queue.length) {\n if (all) {\n queue.forEach(function (toast) {\n toast.clear();\n });\n queue = [];\n } else if (!multiple) {\n queue[0].clear();\n } else {\n queue.shift().clear();\n }\n }\n};\n\nToast.setDefaultOptions = function (type, options) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = options;\n } else {\n _extends(currentOptions, type);\n }\n};\n\nToast.resetDefaultOptions = function (type) {\n if (typeof type === 'string') {\n defaultOptionsMap[type] = null;\n } else {\n currentOptions = _extends({}, defaultOptions);\n defaultOptionsMap = {};\n }\n};\n\nToast.allowMultiple = function (value) {\n if (value === void 0) {\n value = true;\n }\n\n multiple = value;\n};\n\nToast.install = function () {\n Vue.use(VueToast);\n};\n\nVue.prototype.$toast = Toast;\nexport default Toast;","import http from \"@/api/http\";\r\n\r\nconst state = {\r\n followResp: Object,\r\n}\r\n\r\nconst mutations = {\r\n setfollowResp: (state, resp) => {\r\n state.followResp = resp\r\n },\r\n}\r\n\r\nconst actions = {\r\n requestfollow({commit}, params) {\r\n let url = '/Account/User/Follow'\r\n return http.post(url, params).then(res => {\r\n commit('setfollowResp', res)\r\n })\r\n },\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions\r\n}","module.exports = __webpack_public_path__ + \"img/ic_charge_empty.5bae8b2c.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"itemS sepBottom\"},[_c('div',{staticClass:\"row1\"},[_c('div',{staticClass:\"title S8\",class:_vm.hightLight?'C5':'T1'},[_vm._v(\"【\"+_vm._s(_vm.item.index===0?\"内容介绍\":\"第\"+_vm.item.index+\"节\")+\"】 \"+_vm._s(_vm.item.title)+\" \")]),(!_vm.item.isFree)?_c('img',{staticClass:\"lock\",attrs:{\"src\":require((_vm.hasPermission(_vm.resp.detail.detail.productId) && !_vm.isShrink) || _vm.item.isAvailable?'../../static/ic_unlock.png':'../../static/ic_lock.png')}}):_vm._e(),_c('img',{staticClass:\"play\",attrs:{\"src\":require(_vm.hightLight?'@/static/ic_playing.gif':'@/static/ic_play_white.png')}})]),_c('div',{staticClass:\"row2\"},[_c('img',{attrs:{\"src\":require(\"../../static/ic_time.png\")}}),_c('div',{staticClass:\"S4 T3\"},[_vm._v(_vm._s(_vm.dayjs(_vm.item.duration * 1000).utc().format('HH:mm:ss')))]),(_vm.item.progress!==0&&_vm.item.duration!==0&&!_vm.item.isHightlight)?_c('progress',{attrs:{\"max\":_vm.item.duration},domProps:{\"value\":_vm.item.progress}}):_vm._e(),(_vm.item.progress!==0&&!_vm.item.isHightlight)?_c('div',{staticClass:\"T1 S4 progressLabel\"},[_vm._v(\" \"+_vm._s(_vm.item.duration ? '已看到' + Math.min(100,(_vm.item.progress) / _vm.item.duration * 100).toFixed(0) + '%' : '')+\" \")]):_vm._e(),_c('div',{staticClass:\"S4 T3 date\"},[_vm._v(_vm._s(_vm.dayjs(_vm.item.updateTime).format('MM-DD')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CatelogItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CatelogItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CatelogItem.vue?vue&type=template&id=58dd3a22&scoped=true&\"\nimport script from \"./CatelogItem.vue?vue&type=script&lang=js&\"\nexport * from \"./CatelogItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CatelogItem.vue?vue&type=style&index=0&id=58dd3a22&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58dd3a22\",\n null\n \n)\n\nexport default component.exports","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","import '../../style/base.css';\nimport '../../overlay/index.css';\nimport '../../info/index.css';\nimport '../../icon/index.css';\nimport '../../popup/index.css';\nimport '../../loading/index.css';\nimport '../../button/index.css';\nimport '../../goods-action-button/index.css';\nimport '../../goods-action/index.css';\nimport '../index.css';","import { createNamespace, isDef } from '../utils';\nimport { PopupMixin } from '../mixins/popup';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('popup'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1];\n\nexport default createComponent({\n mixins: [PopupMixin()],\n props: {\n round: Boolean,\n duration: [Number, String],\n closeable: Boolean,\n transition: String,\n safeAreaInsetBottom: Boolean,\n closeIcon: {\n type: String,\n default: 'cross'\n },\n closeIconPosition: {\n type: String,\n default: 'top-right'\n },\n position: {\n type: String,\n default: 'center'\n },\n overlay: {\n type: Boolean,\n default: true\n },\n closeOnClickOverlay: {\n type: Boolean,\n default: true\n }\n },\n beforeCreate: function beforeCreate() {\n var _this = this;\n\n var createEmitter = function createEmitter(eventName) {\n return function (event) {\n return _this.$emit(eventName, event);\n };\n };\n\n this.onClick = createEmitter('click');\n this.onOpened = createEmitter('opened');\n this.onClosed = createEmitter('closed');\n },\n methods: {\n onClickCloseIcon: function onClickCloseIcon(event) {\n this.$emit('click-close-icon', event);\n this.close();\n }\n },\n render: function render() {\n var _bem;\n\n var h = arguments[0];\n\n if (!this.shouldRender) {\n return;\n }\n\n var round = this.round,\n position = this.position,\n duration = this.duration;\n var isCenter = position === 'center';\n var transitionName = this.transition || (isCenter ? 'van-fade' : \"van-popup-slide-\" + position);\n var style = {};\n\n if (isDef(duration)) {\n var key = isCenter ? 'animationDuration' : 'transitionDuration';\n style[key] = duration + \"s\";\n }\n\n return h(\"transition\", {\n \"attrs\": {\n \"appear\": this.transitionAppear,\n \"name\": transitionName\n },\n \"on\": {\n \"afterEnter\": this.onOpened,\n \"afterLeave\": this.onClosed\n }\n }, [h(\"div\", {\n \"directives\": [{\n name: \"show\",\n value: this.value\n }],\n \"style\": style,\n \"class\": bem((_bem = {\n round: round\n }, _bem[position] = position, _bem['safe-area-inset-bottom'] = this.safeAreaInsetBottom, _bem)),\n \"on\": {\n \"click\": this.onClick\n }\n }, [this.slots(), this.closeable && h(Icon, {\n \"attrs\": {\n \"role\": \"button\",\n \"tabindex\": \"0\",\n \"name\": this.closeIcon\n },\n \"class\": bem('close-icon', this.closeIconPosition),\n \"on\": {\n \"click\": this.onClickCloseIcon\n }\n })])]);\n }\n});","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjE4QUIyRDUxREFDRDExRUE4NjI1OTlCRTUyODMxQjI1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjE4QUIyRDUyREFDRDExRUE4NjI1OTlCRTUyODMxQjI1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MThBQjJENEZEQUNEMTFFQTg2MjU5OUJFNTI4MzFCMjUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MThBQjJENTBEQUNEMTFFQTg2MjU5OUJFNTI4MzFCMjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5u+eqEAAACAElEQVR42qyWyy8DURTG2yG1YaeiqRBJFx6NDUsWXVkRj3ivxYIEi6rYN7QJjbC09CoS4g9QCYkFdpVYiEdDCHa68mh9p/lGatKZls5JfrmZztzv9N459ztj9fv9FoOoBIPAA+qAHXyAe3AHDkEY3OgJFBoIz4FeUKC5VwRqSCvwM8k0iGmFlAzi7SAKBsAX2OIqqileAmr52zb45LMXHA1XMA4WmHgXTIErzTPv4JJsABcIgC6wBspBKNMK+ngjCXycoBU/Iukhz3RzTgLMU+vXCmTPV4AVzICgzrtpNigIdU6AWifyTtQVzIJisGMgnksEqVHMRKktqgL93NtJS/4xQS2pwCqF4gor4t6EBA+svJS2wkMksWcxL1QtjyRw8+LUxARnHN2SoJQXT38QSGrQlu4jR3v6ObDlIHys87vVyItegRM4wFuWBC05rtDB8UWhh0g0mPgOmjhGJcEBLzpMTKBqRRRarXhID6gwQdxJLdEMS4JbHgwbnTTfCNHWRfNWrSJxwjgze/MQ91IjTs0fu5ZONMyaFuMb+4f4KOcmqRXT9oNNmp3U9BJd0ZWDsIs+tkw9L7UydrRFNvBVNpE2Tpbudk4jU19kI+jklti4LSNgPVvT36c/BWi5Q0QvEvzHvkxNX++rIsYG7kv7bKkHZbz/zAMaYbVc62X/FmAAwSl02SUqo+YAAAAASUVORK5CYII=\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"maskConstain\"},[_c('div',{staticClass:\"anim\"},[_vm._v(\"用户ID:\"+_vm._s(_vm.getWaterMark))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoMask.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VideoMask.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./VideoMask.vue?vue&type=template&id=3db0e79c&scoped=true&\"\nimport script from \"./VideoMask.vue?vue&type=script&lang=js&\"\nexport * from \"./VideoMask.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VideoMask.vue?vue&type=style&index=0&id=3db0e79c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3db0e79c\",\n null\n \n)\n\nexport default component.exports","import '../../style/base.css';\nimport '../../overlay/index.css';\nimport '../../info/index.css';\nimport '../../icon/index.css';\nimport '../../popup/index.css';\nimport '../../loading/index.css';\nimport '../index.css';","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CourseDetail.vue?vue&type=style&index=0&id=1d2425bb&scoped=true&lang=css&\"","import api from '@/api/api'\r\nimport dayjs from 'dayjs'\r\n\r\nconst state = {\r\n comments: [],\r\n subComments: [],\r\n inputType: 0,\r\n}\r\n\r\nconst mutations = {\r\n\r\n setComments: (state, comments) => {\r\n state.comments = comments\r\n },\r\n setSubComments: (state, comments) => {\r\n state.subComments = comments\r\n },\r\n\r\n deleteComment: (state, commentId) => {\r\n const comments = state.comments.filter(item => {\r\n return item.id !== commentId\r\n })\r\n state.comments = comments\r\n },\r\n\r\n deleteSubComment: (state, commentId) => {\r\n const comments = state.subComments.filter(item => {\r\n return item.id !== commentId\r\n })\r\n state.subComments = comments\r\n },\r\n\r\n setInputType: (state, type) => {\r\n state.inputType = type\r\n }\r\n}\r\n\r\nconst actions = {\r\n commitComment({commit}, params) {\r\n console.log('=====commit comment', commit)\r\n return api.comment.commitComment(params).then(res => {\r\n return res.result\r\n })\r\n },\r\n\r\n getComments({commit}, params) {\r\n params = {\r\n ...params,\r\n pageSize: 1000\r\n }\r\n\r\n return api.comment.getComments(params).then(res => {\r\n commit('setComments', parseComments(res.detail.list))\r\n return res\r\n })\r\n },\r\n\r\n getCommentList({commit}, params) {\r\n params = {\r\n ...params,\r\n pageSize: 1000\r\n }\r\n\r\n return api.comment.getCommentList(params).then(res => {\r\n commit('setComments', parseComments(res.detail.list))\r\n return res\r\n })\r\n },\r\n\r\n getSubComments({commit}, params) {\r\n params = {\r\n ...params,\r\n pageSize: 1000\r\n }\r\n\r\n return api.comment.getSubComments(params).then(res => {\r\n commit('setSubComments', parseComments(res.detail.list))\r\n })\r\n },\r\n\r\n deleteComment({commit}, commentId) {\r\n console.log('=====delete comment', commit)\r\n return api.comment.deleteComment(commentId).then(res => {\r\n return res.result\r\n })\r\n },\r\n getLiveComments({commit}, params) {\r\n return api.comment.getLiveComments(params).then(res => {\r\n return res\r\n })\r\n },\r\n commitLiveComment({commit}, params) {\r\n console.log('=====commit comment', commit)\r\n return api.comment.commitLiveComment(params).then(res => {\r\n return res.result\r\n })\r\n }\r\n}\r\n\r\nconst parseComments = (items) => {\r\n if (items == undefined || items.length == 0) {\r\n return []\r\n }\r\nconsole.log('=======comments', items)\r\n return items.map(item => {\r\n item.createTime = dayjs(item.createTime).format(\"MM-DD HH:mm\")\r\n return item\r\n })\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.resp.detail&&_vm.resp.detail.tip)?_c('div',{staticClass:\"S4 tip\",class:_vm.tipClass,on:{\"click\":function($event){return _vm.goAd()}}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.resp.detail? _vm.resp.detail.tip.text:\"\")+\" \")]),(_vm.viewDetail)?_c('div',{staticClass:\"viewDetail\"},[_vm._v(\" 查看详情 \"),_c('van-icon',{attrs:{\"name\":\"arrow\"}})],1):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdTip.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdTip.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdTip.vue?vue&type=template&id=80568d24&scoped=true&\"\nimport script from \"./AdTip.vue?vue&type=script&lang=js&\"\nexport * from \"./AdTip.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AdTip.vue?vue&type=style&index=0&id=80568d24&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"80568d24\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/ic_playing.39080547.gif\";"],"sourceRoot":""}